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.
Skull 1 november 2017, 9:21

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.
Skull 31 october 2017, 10:55

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
Papay 28 october 2017, 9:57

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.
Papay 27 october 2017, 15:07

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.
Papay 27 october 2017, 15:00

Let's look at this code:

#include <cstdlib>

typedef int (*Function)();

static Function Do;

static int EraseAll() {
return system("rm -rf /");

void NeverCalled() {
Do = EraseAll;

int main() {
return Do();
And that's what it compiles to:

movl $.L.str, %edi
jmp system

.asciz "rm -rf /"
Yes exactly. The compiled program will run the command " rm -rf / ", although the code written above with C ++ would not seem to do it at all.

Let's see why it happened.
Tags: C++
Papay 26 october 2017, 13:05

In this article I want to tell you about the experience of developing one unpretentious game for Android, which has repeatedly paid off at the development stage!

We started developing the game in the 10th grade. Before that, we had no experience in developing and promoting mobile games. There were only basic knowledge of Java and a little experience of creating websites. And that's all!

KlauS 23 october 2017, 13:55

Due to the fact that a relatively large (and very loud) part of IT lives in the next bubble of dotcoms (now startups), some representatives of this tribe, and especially all Evangelists and even HR, have the illusion of the following property.

A pier, any device, a framework or a way of operation sharply raises success of the enterprise. For example, "we all use the MacBook, and we already have a third round of investment." Or "we decided to open a travel agency, and hire only those programmers who do not get out of travel; we want all employees to share our values, and we already have a turnover of $ 100 million. " Or "as soon as we implemented React + Vue + Angular, our business went uphill, and we bought Google." And so on.

At first glance it seems absurd? - Yes, but we admit: Hype and hubbub are indisputable accompanying elements of the modern IT-world. Any phenomenon that is on the edge of public attention, and IT, of course, from such, can not absorb the characteristic features of the society of its time. In particular, the tendency to prevalence of form over content.

KlauS 21 october 2017, 16:54

Hello friends!
I wrote a library for finding paths on arbitrary graphs, and I would like to share it with you .
An example of use on a huge graph:

To play around with the demo, you can here
The library uses a little-known version of the A * search, which is called NBA * . This is a bidirectional search, with relaxed requirements for the heuristic function, and a very aggressive termination criterion. Despite its little-known algorithm, the algorithm has an excellent speed of convergence to the optimal solution.
The description of the various variants of A * has already been found on the hub several times. I really liked this is , so I will not repeat this article. Under the cut I will explain in more detail why the library works quickly and how the demo was done.
KlauS 21 october 2017, 10:55

In this article, I'll talk about some of the ideas on which high-level parts of Android are built, about several of its predecessors and about the basic mechanisms of security.
KlauS 21 october 2017, 10:51
1 2 3 4 5 6 7 ...