What it's like to listen to code at 1000 words per minute

The story of a small tragedy and big victories of a very good developer who needs help

What it's like to listen to code at 1000 words per minute

The Far Eastern Federal University has a center for project activities - there masters and bachelors find engineering projects for themselves that already have customers, money and prospects. There are also lectures and workshops. Experienced specialists talk about modern and applied things.

One of the intensives was devoted to the use of the Docker containerization system for distributed computing and orchestration. It was attended by masters and graduate students of applied mathematics, engineering, software development and other technical areas.

The teacher was a guy with dark glasses, a trendy haircut, a scarf, outgoing and too confident - especially for a 21-year-old second-year student. His name is Evgeny Nekrasov, he entered FEFU just two years ago.

Wunderkink

“Yes, they were older and more status, but I can’t say that they were more experienced. In addition, I sometimes lectured to my classmates for our teacher. At some point, we realized that he couldn’t give me anything else on Object Oriented Programming, so from time to time I lectured for him about OOP, modern development, GitHub, and the use of version control systems.

What it's like to listen to code at 1000 words per minute

Eugene can write in Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C and Assembler. “I know JavaScript better, the rest are one level, two lower. But at the same time, I can program the controller in Rust or C ++ in an hour. I did not study these languages ​​purposefully. I studied them for the tasks that I was given. I can join any project by studying the documentation and manuals. I know the syntaxes of languages, and which one to use does not really matter. The same with frameworks and libraries - just read the documentation, and I understand how it works. Everything is determined by the subject area and the task.

Evgeny has been studying programming in a forced manner since 2013. A school computer science teacher who was completely blind got him interested in computer science. The path began with the web - HTML, JavaScript, PHP.

"I'm just curious. I sleep little - I am constantly busy with something, I read something, I study.

In 2015, Evgeniy applied for the Umnik competition to support the technical projects of young scientists from the age of eighteen. But he was not eighteen, so he failed to win the competition - but Evgeny was noticed by the local community of developers. He met Sergey Milekhin, who at that moment was organizing conferences in Vladivostok as part of the Google Developer Fest. “He invited me there, I came, listened, I liked it. The next year he came again, got to know people more and more, communicated.

Andrey Sitnik from the VLDC community began to help Evgeny with his web projects. “I needed to build a multi-threaded web socket application. I thought for a very long time how to do this in PHP, and turned to Andrey. He told me, “take node.js, npm packages that are on the Internet, and don’t rack your brains. And in general, moving open source is cool.” Therefore, I improved my English, began to read documentation and upload projects to Github.

In 2018, Evgeny already spoke at the Google Dev Fest with his reports, talked about developments in the field of accessible interfaces, upper limb prostheses, the development of neural interfaces and contactless access control systems. Now Evgeny is a second-year undergraduate student in Software Engineering, but he has already successfully completed it and is completing his final work.

“I was told to implement a data structure in a hash table. This is a standard thing that is given to everyone at the university. I got 12 thousand lines of code and a bunch of crutches,” says Eugene with a laugh, “I built a hash table and its modified structure in JavaScript to read data faster. And the teacher says: “I need you to write how it is easier for me so that I can evaluate it.” It was very annoying."

Eugene's personal projects look much more interesting. The first of these is the development of web standards for people with physical disabilities. He wants to create a resource that contains assistive technology out of the box so that visually impaired people can easily use it and have no doubt that some information will not be available to them. Eugene knows this problem well, because he lost his sight himself.

Injury

“I used to be an ordinary teenager, with all the limbs in place. In 2012, I blew up. I went out for a walk with a friend, picked up a balloon on the street, and it exploded in my hands. My right hand was torn off, my left was crippled, my eyesight was damaged, my hearing was impaired. For six months I just lay on the operating tables.

The left hand was assembled in parts, plates and knitting needles were placed. Five months later I was able to work for her.

After the injury, I didn’t see anything at all. But the doctors managed to restore light perception. I have nothing left of my eye but a shell. Inside, everything was replaced - vitreous bodies, lenses. All that is possible."

In 2013, Zhenya went to study at a correctional school for children with visual impairments. That computer science teacher who was completely blind taught him how to use the computer again. For this, special programs are used - screen readers. They access the operating systems' APIs to access the interface and change the way they manage it a bit.

Zhenya calls himself an avid Linux user, he uses Debian. Using the keyboard, he navigates through the interface elements, and the speech synthesizer voices what is happening.

“Now you will hear just space,” he tells me before turning on the program.

It sounds like a cipher or alien chatter, but in fact it is ordinary Russian or English, just a synthesizer speaks at an incredible speed for an untrained ear.

“It wasn't hard to learn. I originally worked on Windows and used the Jaws screen reader. I used it and thought, "God, how can you work at such a slow speed." I enlarged it and realized that the ears are folded into a tube. I returned it back, and gradually began to increase every week by 5-10 percent. I overclocked the synthesizer to a hundred words, then even more, more and more. Now he speaks a thousand words a minute to me.

Zhenya writes in a regular text editor - Gedit or Nano. Copies sources from github, launches the screen reader and listens to the code. To make it easy to read and understand by other developers, it uses linters and configurations throughout. But Zhenya cannot use development environments, because they are inaccessible to the blind due to their implementation.

“They are made in such a way that their window is determined by the system, and everything inside the window is not visible to the screen reader, because it cannot access it. I have now contacted JetBrains directly to try and patch some of their environments. They sent me the PyCharm sources. The IDE is based on Intellij Idea, so all changes can be applied both there and there.

Another barrier is the lack of common standards on the web. For example, we see a large heading on the page. Many developers implement it with a span tag to pull the font up to the right size, and it looks fine as a result. But since the text is not a heading for the system, the screen reader does not recognize it as a menu item, and does not allow interaction.

Zhenya easily uses the mobile version of Vkontakte, but bypasses Facebook: “VK is convenient for me, because there is a separate navigation menu list. It has elements and headings that are the semantic division of the page for me. For example, the first level heading, where my alias is indicated - I know that this is the title of the page. I know that the "message" header separates the page, and below is a list of dialogs.

Facebook promotes accessibility, but in reality everything is so bad that it is impossible to understand anything. I open it - and the program starts to hang, the page slows down terribly, everything jumps for me. There are solid buttons everywhere, and I'm like: “how do you even work with this ?!” I will use it only if I finish my client or connect a third-party.

Research

Zhenya lives in Vladivostok in an ordinary university hostel. A bathroom in the room, two closets, two beds, two tables, two shelves, a refrigerator. No special gadgets, but according to him, they are not needed. “Visual impairment does not mean that I will not be able to walk or will not find a passage. But I would be happy to equip myself with a smart home if I had consumables. I just don't have the money to buy components. For a student to spend five thousand on a fee to poke it is very unprofitable.

Zhenya lives with a girl, she helps a lot with everyday life: “spread sandwiches, pour tea, wash. So I have more time to relax and do what I love.”

For example, Zhenya has a musical group where he plays the electric guitar. He also learned after the injury. In 2016, he spent three months in a rehabilitation center, where he asked for help with a teacher's guitar. At first he played with the seam of a shirt turned inside out. Then he built a mediator.

“I took a bandage to strengthen the hand, which is used, for example, by karatekas, ripped it apart at the finger separators and pulled it over my forearm. There is a foam pad that protects the brush from damage - I darned a plectrum to it, which my brother cut out from a plastic spatula. It turned out such a long plastic tongue with which I play along the strings - by picking and fighting.

The explosion blew out his eardrums, so Zhenya cannot hear low frequencies. His guitar does not have a sixth (lowest) string, and the fifth is tuned differently. He plays mostly solo parts.

But the main occupations are development and research.

Prosthetic hand

What it's like to listen to code at 1000 words per minute

One of the projects is the development of an upper limb prosthesis with a smart control system. In 2016, Zhenya came to the person who was developing the prosthesis and began to help him with testing. In 2017, they took part in the Neurostart hackathon. In a team of three, Zhenya was programming low-level controllers. Two more - designed the models themselves and taught neural networks for the control system.

Now Zhenya took over the entire software part of the project. He uses the Myo Armband to read muscle potentials, build masks based on them, and apply neural network models from above to recognize gestures - this is what the control system is based on.

“There are eight sensors in the bracelet. They transmit potential changes to any input device. I gutted their SDK myself, decompiled everything I needed, and wrote my lib in Python to read the data. The data is, of course, not enough. Even if I put a billion sensors on my skin, it still won't be enough. The skin moves over the muscles and the data gets mixed up.”

In the future, Zhenya plans to install several sensors under the skin and in the muscles. He would try it now - but such operations are prohibited in Russia. If a surgeon implants non-certified equipment under the skin of a person, he will lose his diploma. Nevertheless, Zhenya sewed one sensor into his hand - an rfid tag, like in electronic keys, to open an intercom or any lock to which the key will be tied.

artificial eye

Together with Bogdan Shcheglov, a biochemist and biophysicist, Zhenya is working on a prototype of an artificial eye. Bogdan is engaged in 3D modeling of the eyeball and connecting all the microcircuits in a three-dimensional model with the optic nerve, Zhenya is building a mathematical model.

“We studied a ton of literature on existing analogues, technologies that were on the market and are now, and realized that image recognition is not relevant. But they learned that a matrix had previously been created for registering photons and their energy. We decided to develop a similar matrix in a reduced size, which would be able to register at least a minimal set of photons and build an electrical impulse based on them. In this way, we get rid of the intermediate layer of a clear image and its recognition - we just work directly.

The result is vision that is not quite in the classical sense. But as Zhenya says, the rest of the optic nerve should perceive the supply of electrical impulses in the same way as from a real eye. In 2018, they discussed the project with the rector of the Marine Technical University Gleb Turishchin and Skolkovo mentor Olga Velichko. They confirmed that this problem can be solved with the help of technologies that are already in the world.

“But this task is even more difficult than the development of prostheses. We cannot even conduct an experiment on frogs to check how well the retina generates impulses, how they depend on different light, which area generates more, which one less. We need funding that will allow us to rent a laboratory and hire people to decompose tasks and reduce deadlines. Plus the cost of all necessary materials. As a rule, everything depends on money.

Bureaucracy

Bogdan and Zhenya applied to Skolkovo for funding, but they were refused - only finished products with commercial potential, and not research projects at the nascent stage, get there.

For all the eccentricities in Zhenya's history, with his abilities and inspiring successes, strange bureaucratic bad luck is surprising. It is especially annoying to hear about this against the backdrop of the news. Here is another “product people need” (photo application, ad optimization or new types of chats) receives its millions of dollars in revenue and investment. But an unknown enthusiast does not know what to do with his ideas.

This year, Zhenya won a free six-month study in Austria under a partnership program between universities - but he cannot go there. To confirm the visa, you need guarantees that he has money for housing and life in Salzburg.

“Appeal to the funds did not work, because funding is only for full degree programs,” says Zhenya, “Appeal to the University of Salzburg itself too - the university does not have its own hostels and cannot help us with accommodation.

I wrote to ten foundations, and only three or four of them answered me. And they answered that my scientific degree does not suit them - they need masters and higher. My scientific achievements in the bachelor's degree are not quoted by them. If you study at a local university, you are a bachelor and are engaged in technical research, then within the framework of the university you can apply. And for a person from abroad, they, unfortunately, do not have this.

I turned to about the same number of Russian funds. In Skolkovo they told me: I'm sorry, but we work only with masters. In other funds, I was told that they do not have funding for six months, or they also work only with diploma programs, or they do not finance individuals. And from the funds of Prokhorov and Potanin they didn’t even answer me.

I received a letter from Yandex that they are doing a lot of charity work and the company has no funding right now, but they wish me all the best.

I even agreed to contract-targeted financing, which would allow me to go to study, and as a result, I would bring something for the company. But everything stops at a low level of communication. I understand what this is about. People who work on phone calls and mail simply work on documents. They see that the application has come, it can even be cool. But they will write: sorry, no, because either the application deadline has expired, or you do not fit the status. And I don’t have the opportunity to go somewhere higher to the owners of the fund, there simply aren’t such contacts.”

But posts about Zhenya's problem began to quickly spread across social networks. In the first few days, they collected about 50 rubles - out of the required 000 euros. There is not much time for training, but many people have already written to Zhenya about support. Perhaps everything will work out.

I would be glad to end this long text on the return of the hero from Austria with a powerful new experience. Or getting a grant for one of the projects, and a photo from the new laboratory. But the text stopped in the dorm room, where there are two wardrobes, two beds, two tables, two shelves, a refrigerator.

It seems to me that large professional communities are needed to help each other. Zhenya Nekrasov needs money, useful contacts, ideas, advice, anything. Let's raise our karma.

Zhenya's contacts and other important figuresEmail: [email protected]
Телефон: +7-914-968-93-21
Telegram and WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Requisites for transferring funds:
Card number: 4276 5000 3572 4382 or by phone number +7-914-968-93-21
Yandex wallet by phone number +7-914-968-93-21

Addressee: Nekrasov Evgeny

Source: habr.com

Add a comment