I really liked the discussion thread on Quora.com: What is the hardest part about learning to program? All 87 responses I did not read, but liked, I singled out a separate article of 10 items. It's a free retelling of the opinions of many different people. If readers are interested, I will continue.
1. The difference between high standards and their low skillsIn the article "No one talks about it to newcomers" tells about the common problem of people engaged in creative or intellectual work. Programming is a complex subject, and usually for it are capable, ambitious and prone to perfectionism people. At the initial stage, they will not work well. Accustomed to a high bar, they will be upset. The inner voice will constantly whisper: "You never will, it's better to leave this matter." At such moments, think that your self-criticism is a sign of your extraordinary nature, and believe that you will overcome this "incompetent period".
As for the extraordinary advantages of programming, here they are:
<i> Whatever your dragon told you, he lied. Dragons are deceitful. You do not know what awaits you on the other side. <Tgsri>Not so long ago on Habr a post was published under the name "<a rel="nofollow" href="https://habrahabr.ru/company/infopulse/blog/338812/"> How can the function never called be called? <Tgsrcut>". The conclusion from the article is simple: in the case of undefined behaviour, the compiler has the right to take any actions, even if they are completely unexpected. However, I was interested in the very mechanism of this optimization. The result of my small research I want to share with the distinguished community of the hubra.
Michael Swanvik. "The daughter of an iron dragon"
The group of researchers found serious shortcomings in the WPA2 protocol, which provides protection for all modern Wi-Fi networks. An attacker who is in the victim's area can use these shortcomings using Key Reinstallation Attacks. Attackers can use this new attack method to read information that was previously considered to be encrypted.
UPD: the post was updated with partial details of the attack and the list of vendor updates.
What "circle" is perceived as the most "round"?
Our eyes are a rather strange organ, which, often, deceives us. But if you know the features of human visual perception, then you can create a more understandable and clean design. Typographers are not the only ones who use optical tricks in creating readable and harmonious looking fonts. This knowledge is also useful to interface designers who organize communication between the user and the machine.
How to create visually proportional icons, correctly arrange objects of different shapes and perform an ideal rounding of corners. In the post there are more than 50 images.
A story about the sense of vision, the perception of frames and the refresh rate, motion blur and television screens.
IntroductionYou could hear the term frames per second (FPS), and that 60 FPS is really a good reference for any animation. But most console games go for 30 FPS, and movies are usually recorded on 24 FPS, so why should we aim for 60 FPS?
Frames ... per second?
The early days of filmmaking
The shooting of the 1950 Hollywood film Julius Caesar with Charlton Heston
When the first cinematographers began to make films, many discoveries were made not by a scientific method, but by trial and error. The first cameras and projectors were manually controlled, and the film was very expensive - so expensive that when trying to shoot, they tried to use the smallest possible frame rate, just to save the film. This threshold was usually between 16 and 24 FPS.
Hello, Habr! Today I want to tell you how you can change your face in a photo, using a rather complex pile from several generative neural networks and not only. Fashionable applications recently to turn themselves into a lady or grandfather work simpler, because the neural networks are slow, and the quality that can be obtained by classical methods of computer vision, and so good. Nevertheless, the proposed method seems to me very promising. Under the cut will be a little code, but a lot of pictures, links and personal experience working with GAN'ami.
Are the primes scattered over the numerical axis like wind-dispersed seeds? Of course not: simplicity is not a matter of chance, but the result of elementary arithmetic. A number is simple if and only if no smaller positive integer except one does not divide it whole.
Here on Habré there was a correspondence about uneducated youth and the student and teacher spoke. Well, obviously there is something missing - namely, the opinion of the extreme in this process - the employer. This post we wrote in just two hours, because it boiled over the previous years. And this will not be a sterilized and verified article, but a cry of the soul.
The road to good work is always difficult and requires effort
One evening, after reading Jeffrey Friedla , I realized that, even with all the available documentation, there are a lot of tricks under itself. All people are too different. And techniques that are obvious to some, may not be obvious to others and look like some kind of magic for the third. By the way, I already described several such moments here .
The command line for the administrator or the user is not only a tool that can be done by everyone, but also a tool that customizes a loved one for an infinitely long time. Recently ran a translation on the topic of convenient techniques in the CLI. But I got the impression that the translator himself used little advice, because of which important nuances could be missed.
Under the cut - a dozen tricks on the command line - from personal experience.
Before the release of Firefox Quantum, there is less time left. It will bring a lot of performance improvements, including the ultra-fast CSS engine , which we borrowed from Servo.
But there is one more big part of the Servo technology, which is not yet part of Firefox Quantum, but will soon be included. This is WebRender, part of the Quantum Render project.
WebRender is known for its exceptional speed. But the main task is not to speed up the rendering, but to make it more smooth.
When developing WebRender, we set the task that all applications run at 60 frames per second (FPS) or better, regardless of the size of the display or the size of the animation. And it worked. Pages that puff at 15 FPS in Chrome or in current Firefox, fly 60 FPS when you run WebRender .
How does WebRender do it? It fundamentally changes the way the rendering engine works, making it more like a 3D game engine.