What is it like listening to code at 1000 words per minute
The story of a small tragedy and big victories of a very good developer who needs help
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 intensives. Experienced professionals talk about modern and applied things.
One of the intensives was dedicated to using the Docker containerization system for distributed computing and orchestration. Masters and graduate students of applied mathematics, engineering, software training and other technical areas came to him. ')
The teacher was a guy in sunglasses, with a fashionable hairstyle, in a scarf, sociable and too confident - especially for a 21-year-old second-year student. His name is Evgeny Nekrasov, he entered the FEFU only two years ago.
Child prodigy
“Yes, they were older and statusier, but I can’t say that they are more experienced. In addition, I sometimes gave lectures to my classmates for our teacher. At some point, we realized that he couldn’t give me anything more on Object Oriented Programming, so I periodically lectured for him about OOP, modern development, GitHub, and application of version control systems. ”
Eugene can write in Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C ++, C and Assembler. “I know JavaScript better, the rest - one level, two lower. But at the same time I can program the controller in Rust or C ++ in an hour. I did not learn these languages ​​purposefully. I studied them for the tasks that they set for me. I can join any project by studying the documentation and manuals. I know the syntax of languages, and which one to use does not really matter. Also with frameworks and libraries - just read the documentation, and I understand how it works. Everything is determined by the subject area and the task. ”
Eugene has been studying programming since 2013. The school computer science teacher, who was completely blind, interested him in computer science. The path began with the web - HTML, JavaScript, PHP.
"I'm just curious. I sleep a little - I’m constantly busy with something, reading something, studying. ”
In 2015, Eugene applied for the contest "Clever Man" to support technical projects of young scientists from eighteen years old. But he was not eighteen, so he could not win the competition - but Eugene noticed the local community of developers. He met with Sergey Milekhin, who at that time 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, became more and more acquainted with people, talked. ”
Andrey Sitnik from the VLDC community began to help Eugene with his web projects. “I needed to build a multithreaded web socket processing application. I thought for a long time how to do this in PHP, and turned to Andrew. He told me, “take node.js, the npm packages that are on the Internet, and don’t rack your brains. In general, moving open-source is cool. ” Therefore, I pulled up English, began to read the documentation and upload the projects to Github. ”
In 2018, Eugene already spoke at Google Dev Fest with his reports, talked about developments in the field of accessible interfaces, prostheses of the upper extremities, the development of neural interfaces and contactless access control systems. Now Eugene is studying in the second year of undergraduate studies in the field of “Software Engineering”, but has already successfully completed it and is completing the final work.
“I was told to implement a data structure in a hash table. This is the standard thing that everyone in a university gives. 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, as it is easier for me - so that I can appreciate 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 disabilities. He wants to create a resource containing assistive technology out of the box so that people with visual impairments can easily use them and have no doubt that some information will be inaccessible 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 was blown up. He went out with a friend for a walk, picked up a balloon on the street, and he jerked in my hands. My right hand was torn off, my left was crippled, my vision was damaged, and my hearing was reduced. For half a year I was just lying on the operating tables.
The left hand was assembled in parts, put plates and knitting needles. Five months later, I was able to work for her.
After the injury, I did not see anything at all. But doctors managed to restore light perception. From my eye I had nothing left but a shell. Everything was replaced inside - vitreous bodies, lenses. All that is possible. ”
In 2013, Zhenya went to study at a correctional school for children with visual impairments. The computer science teacher, who was completely blind, taught him to use the computer again. For this, special programs are used - screen readers. They turn to the operating system APIs to gain access to the interface and slightly change the way they manage.
Eugene calls himself an avid Linuxoid, he uses Debian. Using the keyboard, he moves through the interface elements, and a speech synthesizer voices what is happening.
“Now you will hear just the cosmos,” he tells me before turning on the program.
It sounds like a cipher or an alien chatter, but in fact it’s the usual Russian or English language, just the synthesizer speaks with incredible speed for untrained hearing.
“Learning this was not difficult. At first, I worked on Windows and used the Jaws screen access program. Used and thought, “Lord, how can you work at such a slow speed.” Enlarged and realized that the ears are curled into a tube. He returned it, 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 to me a thousand words per minute. ”
Eugene writes in a regular text editor - Gedit or Nano. It copies the source code from the github, launches the screen reader and listens to the code. So that other developers can read and understand it without problems, he uses linter and configurations everywhere. But Zhenya can not use the development environment, because they are not accessible to the blind because of their implementation.
“They are made in such a way that their window is determined by the system, and everything inside the window cannot be seen by the screen reader because it cannot be accessed. I have now contacted JetBrains directly to try and make some patches in their environment. They threw me the source of PyCharm. The IDE is implemented on Intellij Idea, so all the changes can be applied there and there. ”
Another barrier is non-compliance with common standards on the web. For example, we see a large heading on the page. Many developers implement it using the span tag to pull the font to the right size, and as a result, it looks fine. 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.
Eugene easily uses the mobile version of Vkontakte, but bypasses Facebook: “VK is convenient for me, because there is a separate list of navigation menus. It has elements and headings that are semantic division of the page for me. For example, the title of the first level, where my nickname is indicated - I know that this is the title of the page. I know that the title of the “message” divides the page, and below is a list of dialogs.
Facebook is promoting accessibility, but in reality everything is so bad that it’s impossible to understand anything. I open it - and the program starts to freeze, the page is terribly slow, everything jumps at me. There are solid buttons everywhere, and I’m like: “how do I work with this ?!” I’ll use it only if I finish my client or connect a third-party one. ”
Research
Zhenya lives in Vladivostok in an ordinary university dormitory. 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 cannot walk or find a passage. But I could and would gladly equip myself with a smart home, if I had supplies. I have no corny money to buy components. It’s very unprofitable for a student to spend five thousand on a board to poke it. ”
Eugene lives with the girl, she helps a lot in everyday life: “spread sandwiches, pour tea, wash. Therefore, I had more time to relax and do my favorite things. ”
For example, Zhenya has a music group where he plays an electric guitar. He also learned after an 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 pick.
“I took a bandage to strengthen the brush, which is used, for example, by karatekas, tore in the places of the finger separators and pulled on the forearm. There is a foam pad that protects the brush from damage - I tread a pick on it, which my brother cut out of a plastic spatula. It turned out such a long plastic tongue, which I play on strings - busting and fighting. ”
The explosion knocked out the eardrums, so Zhenya does not hear the low frequencies. There is no sixth (lowest) string on his guitar, and the fifth is tuned differently. He plays mainly solo parts.
But the main occupations remain development and research.
Prosthetic arm
One of the projects is the development of an upper limb prosthesis with an intelligent control system. In 2016, Zhenya came to a man who was developing a prosthesis and began to help him with testing. In 2017, they took part in the neurostart hackathon. In a team of three people, Zhenya programmed low-level controllers. Two others - designed the models themselves and taught neural networks for the control system.
Now Zhenya has taken over the entire program part of the project. He uses the Myo Armband bracelet to read muscle potentials, builds masks on them and uses neural network models to recognize gestures from above - this is the basis of the control system.
“The bracelet has eight sensors. They transmit potential changes to any input device. I personally gutted their SDK, decompiled everything I needed, and wrote my own python to read the data. Of course, there is not enough data. Even if I hang a billion sensors on my skin, it’s still not enough. The skin moves over the muscles and the data is mixed. ”
In the future, Zhenya plans to fix several sensors under the skin and muscles. He would try it now - but such operations are prohibited in Russia. If the surgeon implantes uncertified equipment under his skin, he will lose his diploma. However, one of the sensors, Zhenya sewed it into his hand - an RFID-tag, as in electronic keys, to open the intercom or any lock to which the key will be tied.
Artificial eye
Together with Bogdan Shcheglov, a biochemist and biophysicist, Eugene is working on a prototype of an artificial eye. Bogdan is engaged in 3D-modeling of the eyeball and the connection of all microcircuits in a three-dimensional model with the optic nerve. Eugene is building a mathematical model.
“We studied a ton of literature on existing analogues, the technologies that were on the market and are now, and realized that recognizing images is not relevant. But they learned that a matrix had been previously created for registering photons and their energy. We decided to develop a similar matrix in a reduced size, which would be able to detect at least a minimal set of photons and build an electrical impulse based on them. Thus, 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 entirely in the classical sense. But as Zhenya says, the remainder of the optic nerve should perceive the supply of electrical impulses in the same way as from the real eye. In 2018, they discussed the project with the rector of the Marine Technical University Gleb Turishchin and the Skolkovo mentor Olga Velichko. They confirmed that this problem can be solved with the help of technologies that already exist in the world.
“But this task is even more difficult than the development of prostheses. We can’t even conduct an experiment on frogs to check how well the retina generates impulses, how they depend on different light, which section generates more, which less. We need funding that will allow us to rent a laboratory and hire people to decompose tasks and reduce time. Plus the cost of all the necessary materials. As a rule, everything depends on money. ”
Bureaucracy
Bogdan and Zhenya turned to Skolkovo for funding but were refused - only finished products with commercial potential get there, and not research projects at the nascent stage.
With all the eccentricity in the history of Zhenya, with his abilities and inspiring successes, a strange bureaucratic bad luck surprises. It’s especially annoying to hear about it against the background of news. Here's another “product people need” (photo app, ad optimization or new types of chat rooms) gets 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 a visa, you need guarantees that he has money for housing and life in Salzburg.
“Applying to the funds did not give any results, because financing is provided only for full diploma programs,” says Zhenya. “Applying to the University of Salzburg itself also does not have its own hostels and cannot help us with our stay.
I wrote to ten funds, 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 undergraduate studies are not quoted by them. If you study at a local university, you are a bachelor and are engaged in technical research, then you can apply for a university. 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 only work with masters. Other foundations told me that they do not have funding for six months, either they only work with diploma programs, or they don’t finance individuals. And from the funds of Prokhorov and Potanin they did not even answer me.
I received a letter from Yandex that they are engaged in great charity and the company does not have funding now, but they wish me all the best.
I even agreed to contract-targeted financing, which would allow me to go unlearn, 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 connected with. People who work on phone calls and mail - just 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 has expired, or you are not eligible for the status. And I don’t have the opportunity to go somewhere higher to the owners of the fund, there simply are no such contacts. ”
But posts about Zhenya’s problem began to quickly diverge on social networks. In the first few days they raised about 50,000 rubles - of the required 12,000 euros. There is not much time for training, but many already write about their support for Zhenya. Perhaps it will work out. I would be happy to finish this long text on the return of the hero from Austria with a new powerful experience. Or on receiving a grant for one of the projects, and a photograph from a new laboratory. But the text stopped in a dorm room, where there are two cabinets, two beds, two tables, two shelves, a refrigerator.
It seems to me that large professional communities are needed to help each other. Wife Nekrasov needs money, useful contacts, ideas, advice, anything. Let's raise our karma.
Details for the transfer of 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