Good day, dear habravchane. Recently, I saw some interesting and useful tools / libraries / events that I want to share with Habr.

An invaluable resource for many experienced and novice programmers. This project contains a set of brief manuals on several dozen programming languages, where the characteristic features of each of them are very succinctly stated. Understanding the basic principles, of course, simplifies familiarity with the syntax and speeds up time until the first results appear, with a new and different way of describing your thoughts. I am glad that many materials have been translated into Russian.
')
By the way, there is still
Hyperpolyglot , where the differences between tools and programming languages ​​in tables are clearly shown.

A masterpiece library for designing diagrams with lots of examples and a huge API. What is in Joint:
- Various elements: rectangles, circles, ovals, image, arbitrary shapes.
- The ability to bind items to each other
- Magnets - Special Linking Links
- Serialization / deserialization of data from / to JSON
- Sophisticated event model
- Zoom support
- Adaptation for touching devices
- MVC architecture, plugin system and much more.

In principle, the essence of this project is already clear from the name - the automation of Git work using NodeJS. It works correctly on Windows, Mac, Linux and supports IO.js.
var Git = require("nodegit"); var getMostRecentCommit = function(repository) { return repository.getBranchCommit("master"); }; var getCommitMessage = function(commit) { return commit.message(); }; Git.Repository.open("nodegit") .then(getMostRecentCommit) .then(getCommitMessage) .then(function(message) { console.log(message); });

It seems that just recently I was learning how to bring sounds to the browser and there were 3 ways: Flash, Java applet and the wonderful <bgsoung> tag. Now JavaScript is driving everyone, and Wavesurfer.js based on Web Audio API coolly draws sound waves.
var wavesurfer = Object.create(WaveSurfer); wavesurfer.init({ container: document.querySelector('#wave'), waveColor: 'violet', progressColor: 'purple' }); wavesurfer.on('ready', function () { wavesurfer.play(); }); wavesurfer.load('example/media/demo.mp3');
Cool effect that mimics the human behavior in correspondence.

Western thoughts or what would translate to Habré:
They say and show domestic IT resources:
Finally:
- HTML / CSS
- Javascript
- Passport.js is an excellent library for working with authentication.
- Lodash.js is a serious competitor for Underscore.js.
- react-primer-draft - developments of the project based on React and the newly created Primer (see above).
- Fastdom - eliminates distortion of the layout when loading.
- iframe-resizer is a convenient way to resize a frame.
- Reapp - next gen hybrid apps.
- ExcelJS - Excel Workbook Manager.
- essential-react - template for the React project.
- angular-yandex-map is a module for working with Yandex maps with Angular.js.
- JSON API is a standard for building APIs in JSON.
- Php
- php-facedetection - defines human faces in images.
- Polr is a minimalistic and modular "reference abbreviation."
- Baun is another simple and flexible CMS.
- Python
- Ruby
- Go
- miscellanea
- Let's Encrypt
- Pterosaur - Firefox plugin that provides Vim support in your favorite browser.
- ArchieML is a markup language from the developers of The New York Times.
- Duet is a cool Mac app that makes your iPad a second screen.
For help in preparing the material I express my
deep gratitude to Alexander Maslov
drakmail .
Friends backenders! I think everyone knows that I am doing my compilations entirely on altruism. I always went through a bunch of websites to make it always convenient to work. And at one point I decided to share the material found. Over time, collections have gained some popularity and significantly expanded in terms of content. From now on, I will clearly structure the “Finally” block so that people do not have to look for what they need. In order for the sections not to be bare and always filled with relevant information, I need your help. And the problem is not only in time, but also in competence. In terms of backend, I am rather a theorist than a practitioner.
Pkhshshnik,
rubist , pythonist,
goschik , if you already monitor GitHub Trending, Reddit, HackerNews or Twitter in search of interesting and useful things on your topic, if you find it definitely has value, but does not deserve the attention of the whole post, if it's not difficult for you once a week / in two weeks, depending on the material to share a pair of kilobytes of reference mass, then write me in a personal or any social. network from profile. Scribble in the main section as desired. The name or contacts of volunteers in each post will be indicated.
Previous selection (Issue 40)I apologize for any typos. If you notice a problem - please write in a personal.
Thank you all for your attention.