À quoi ressemble l'écoute de code à 1000 mots par minute

L'histoire d'une petite tragédie et de grandes victoires d'un très bon développeur qui a besoin d'aide




L'Université fédérale d'Extrême-Orient dispose d'un centre d'activités de projet - les maîtres et les bacheliers y trouvent des projets d'ingénierie qui ont déjà des clients, de l'argent et des perspectives. Il y a aussi des conférences et des cours intensifs. Des professionnels expérimentés parlent de choses modernes et appliquées.

L'une des activités intensives était consacrée à l'utilisation du système de conteneurisation Docker pour l'informatique et l'orchestration distribuées. Des étudiants à la maîtrise et aux cycles supérieurs de mathématiques appliquées, d'ingénierie, de formation en logiciels et d'autres domaines techniques sont venus à lui.

L'enseignant était un gars à lunettes de soleil, avec une coiffure à la mode, dans un foulard, sociable et trop confiant - en particulier pour un étudiant de deuxième année de 21 ans. Son nom est Evgeny Nekrasov, il est entré dans la FEFU il y a seulement deux ans.



Enfant prodige


"Oui, ils étaient plus âgés et plus statiques, mais je ne peux pas dire qu'ils sont plus expérimentés. De plus, j'ai parfois donné des conférences à mes camarades de classe pour notre professeur. À un moment donné, nous avons réalisé qu'il ne pouvait rien me donner de plus avec la programmation orientée objet, alors j'ai régulièrement donné des conférences pour lui sur la POO, le développement moderne, GitHub et l'application des systèmes de contrôle de version. »



Eugene peut écrire en Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C ++, C et Assembler. «Je connais mieux JavaScript, le reste - un niveau, deux de moins. Mais en même temps, je peux programmer le contrôleur en Rust ou C ++ en une heure. Je n'ai pas appris ces langues à dessein. Je les ai étudiés pour les tâches qui m'ont été confiées. Je peux rejoindre n'importe quel projet en étudiant la documentation et les manuels. Je connais la syntaxe des langues et celle à utiliser n'a pas vraiment d'importance. Aussi avec les frameworks et les bibliothèques - il suffit de lire la documentation et je comprends comment cela fonctionne. Tout est déterminé par le domaine et la tâche. »

Eugene étudie intensivement la programmation depuis 2013. Le professeur d'informatique de l'école, complètement aveugle, l'intéresse à l'informatique. Le chemin a commencé avec le web - HTML, JavaScript, PHP.

«Je suis juste curieux. Je dors peu - je suis constamment occupé par quelque chose, je lis, j'étudie quelque chose. "

En 2015, Eugene a postulé au concours "Clever Man" pour soutenir des projets techniques de jeunes scientifiques de dix-huit ans. Mais il n'avait pas dix-huit ans, il n'a donc pas pu gagner le concours - mais Eugene a remarqué la communauté locale de développeurs. Il a rencontré Sergey Milekhin, qui à l'époque organisait des conférences à Vladivostok dans le cadre du Google Developer Fest. «Il m'a invité là-bas, je suis venu, j'ai écouté, j'ai aimé. L'année suivante, il est revenu, s'est familiarisé de plus en plus avec les gens, a parlé. »

Andrey Sitnik de la communauté VLDC a commencé à aider Eugene dans ses projets Web. «Je devais créer une application de traitement de socket Web multithread. J'ai longtemps réfléchi à la façon de procéder en PHP et je me suis tourné vers Andrew. Il m'a dit: "Prends node.js, les paquets npm qui sont sur Internet, et ne te fais pas de cervelle. En général, le déplacement open-source est cool. " J'ai donc tiré l'anglais, j'ai commencé à lire la documentation et à télécharger les projets sur Github. »

En 2018, Eugene a déjà parlé à Google Dev Fest avec ses rapports, a parlé des développements dans le domaine des interfaces accessibles, des prothèses des membres supérieurs, du développement des neuro-interfaces et des systèmes de contrôle d'accès sans contact. Maintenant, Eugene étudie en deuxième année d'études de premier cycle dans le domaine du «génie logiciel», mais il l'a déjà terminé avec succès et achève le travail final.

«On m'a dit d'implémenter une structure de données dans une table de hachage. C'est la chose standard que tout le monde dans une université donne. J'ai eu 12 000 lignes de code et un tas de béquilles », explique Eugene en riant,« J'ai construit une table de hachage et sa structure modifiée en JavaScript pour lire les données plus rapidement. Et le professeur dit: "J'ai besoin que tu écrives, car c'est plus facile pour moi - pour que je puisse l'apprécier." C'était très ennuyeux. "

Les projets personnels d'Eugène semblent beaucoup plus intéressants. Le premier d'entre eux est l'élaboration de normes Web pour les personnes handicapées. Il veut créer une ressource qui contient des technologies d'assistance hors de la boîte afin que les personnes ayant une déficience visuelle puissent facilement les utiliser et avoir aucun doute que certaines informations ne seront pas à leur disposition. Eugène connaît bien ce problème, car il a lui-même perdu la vue.


Blessure


«J'étais un adolescent ordinaire, avec tous les membres en place. En 2012, j'ai explosé. Je suis sorti avec un ami pour une promenade, j'ai ramassé un ballon dans la rue et il a tressailli dans mes mains. Ma main droite a été arrachée, ma gauche est estropiée, ma vision a été endommagée et mon audition a été réduite. Pendant six mois, j'étais allongé sur les tables d'opération.

La main gauche a été assemblée en plusieurs parties, a mis des assiettes et des aiguilles à tricoter. Cinq mois plus tard, j'ai pu travailler pour elle.

Après la blessure, je n'ai rien vu du tout. Mais les médecins ont réussi à restaurer la perception de la lumière. De mon œil, il ne me restait plus qu'une coquille. Tout a été remplacé à l'intérieur - corps vitreux, lentilles. Tout cela est possible. "

En 2013, Zhenya est allée étudier dans une école correctionnelle pour enfants malvoyants. Le professeur d'informatique, complètement aveugle, lui a appris à réutiliser l'ordinateur. Pour cela, des programmes spéciaux sont utilisés - lecteurs d'écran. Ils se tournent vers les API du système d'exploitation pour accéder à l'interface et modifier légèrement leur façon de gérer.

Eugene se dit un passionné de Linuxoid, il utilise Debian. À l'aide du clavier, il parcourt les éléments de l'interface et un synthétiseur vocal exprime ce qui se passe.

«Maintenant, vous n'entendrez que le cosmos», me dit-il avant d'activer le programme.



Cela ressemble à un chiffre ou à un bavardage extraterrestre, mais en réalité c'est du russe ou de l'anglais ordinaire, c'est juste que le synthétiseur parle avec une vitesse incroyable pour une audition inexpérimentée.

«Apprendre cela n'a pas été difficile. Au début, j'ai travaillé sur Windows et utilisé le programme d'accès à l'écran Jaws. Utilisé et pensé: "Seigneur, comment pouvez-vous travailler à une vitesse aussi lente." Agrandi et réalisé que les oreilles sont enroulées dans un tube. Il l'a retourné et a progressivement commencé à augmenter chaque semaine de 5 à 10%. J'ai overclocké le synthétiseur à cent mots, puis encore plus, de plus en plus. Maintenant, il me parle mille mots par minute. "

Eugene écrit dans un éditeur de texte classique - Gedit ou Nano. Il copie le code source du github, lance le lecteur d'écran et écoute le code. Pour que les autres développeurs puissent le lire et le comprendre sans problème, il utilise du linter et des configurations partout. Mais Zhenya ne peut pas utiliser l'environnement de développement, car ils ne sont pas accessibles aux aveugles en raison de leur mise en œuvre.

«Ils sont conçus de telle manière que leur fenêtre est déterminée par le système, et le lecteur d'écran ne voit pas tout à l'intérieur de la fenêtre car il n'y a pas accès. J'ai maintenant contacté JetBrains directement pour essayer de créer des correctifs dans leur environnement. Ils m'ont jeté la source de PyCharm. L'IDE est implémenté sur Intellij Idea, donc toutes les modifications peuvent être appliquées ici et là. »

Un autre obstacle est le non-respect des normes communes sur le Web. Par exemple, nous voyons un grand en-tête sur la page. De nombreux développeurs l'implémentent en utilisant la balise span pour tirer la police à la bonne taille, et en conséquence, cela semble bien. Mais comme le texte n'est pas un titre pour le système, le lecteur d'écran ne le reconnaît pas comme un élément de menu et ne permet pas l'interaction.

Eugene utilise facilement la version mobile de Vkontakte, mais contourne Facebook: «VK me convient, car il existe une liste séparée de menus de navigation. Il a des éléments et des titres qui sont pour moi une division sémantique de la page. Par exemple, le titre du premier niveau, où mon surnom est indiqué - je sais que c'est le titre de la page. Je sais que le titre du «message» divise la page, et ci-dessous est une liste de dialogues.

Facebook favorise l'accessibilité, mais en réalité tout est si mauvais que rien n'est impossible à comprendre. Je l'ouvre - et le programme commence à se figer, la page est terriblement lente, tout saute pour moi. Il y a des boutons solides partout, et je me dis: "comment puis-je travailler avec ça?!" Je ne l'utiliserai que si je termine mon client ou connecte un tiers. "


La recherche


Zhenya vit à Vladivostok dans un dortoir universitaire ordinaire. Une salle de bain dans la chambre, deux placards, deux lits, deux tables, deux étagères, un réfrigérateur. Pas de gadgets spéciaux, mais selon lui - ils ne sont pas nécessaires. «La déficience visuelle ne signifie pas que je ne peux pas marcher ou trouver un passage. Mais je pourrais et serais ravi de m'équiper d'une maison intelligente, si j'avais des fournitures. Je n'ai pas d'argent ringard pour acheter des composants. Il est très peu rentable pour un étudiant de dépenser cinq mille sur un tableau pour le pousser. "

Eugene vit avec la fille, elle aide beaucoup au quotidien: «tartiner des sandwichs, verser du thé, se laver. Par conséquent, j'ai eu plus de temps pour me détendre et faire mes choses préférées. »

Par exemple, Zhenya a un groupe de musique où il joue de la guitare électrique. Il a également appris après une blessure. En 2016, il a passé trois mois dans un centre de rééducation, où il a demandé de l'aide avec la guitare d'un professeur. Au début, il jouait avec la couture d'une chemise retournée. Puis il a construit un médiator.

«J'ai pris un pansement pour renforcer la brosse, qui est utilisée, par exemple, par les karatékas, déchirée à la place des séparateurs de doigts et tirée sur l'avant-bras. Il y a un tampon en mousse qui protège la brosse contre les dommages - j'y ai foulé un médiator que mon frère a découpé dans une spatule en plastique. Il s'est avéré une si longue langue en plastique, que je joue sur des cordes - éclatant et combattant. »

L'explosion a assommé les tympans, donc Zhenya n'entend pas les basses fréquences. Il n'y a pas de sixième corde (la plus basse) sur sa guitare, et la cinquième est réglée différemment. Il joue principalement des parties solo.

Mais les métiers principaux restent le développement et la recherche.

Bras prothétique




L'un des projets est le développement d'une prothèse de membre supérieur avec un système de contrôle intelligent. En 2016, Zhenya est venu vers un homme qui développait une prothèse et a commencé à l'aider à faire des tests. En 2017, ils ont participé au hackathon Neurostart. Dans une équipe de trois personnes, Zhenya a programmé des contrôleurs de bas niveau. Deux autres - ont conçu les modèles eux-mêmes et enseigné les réseaux de neurones pour le système de contrôle.

Maintenant, Zhenya a repris l'intégralité de la partie programme du projet. Il utilise le bracelet Myo Armband pour lire les potentiels musculaires, y construit des masques et utilise des modèles de réseau neuronal pour reconnaître les gestes d'en haut - c'est la base du système de contrôle.

«Le bracelet a huit capteurs. Ils transmettent les modifications potentielles à n'importe quel périphérique d'entrée. J'ai personnellement vidé leurs SDK, décompilé tout ce dont j'avais besoin et écrit ma bibliothèque Python pour lire les données. Bien sûr, il n'y a pas assez de données. Même si j'accroche un milliard de capteurs sur ma peau, ce n'est toujours pas suffisant. La peau se déplace sur les muscles et les données sont mitigées. »

À l'avenir, Zhenya prévoit de fixer plusieurs capteurs sous la peau et les muscles. Il essaierait maintenant - mais de telles opérations sont interdites en Russie. Si le chirurgien implante sous sa peau un équipement non certifié, il perdra son diplôme. Cependant, l'un des capteurs Zhenya a cousu dans sa main - une étiquette RFID, comme dans les clés électroniques, pour ouvrir l'interphone ou tout verrou auquel la clé sera attachée.



Oeil artificiel


En collaboration avec Bogdan Shcheglov, biochimiste et biophysicien, Eugene travaille sur un prototype d'un œil artificiel. Bogdan est engagé dans la modélisation 3D du globe oculaire et la connexion de tous les microcircuits dans un modèle tridimensionnel avec le nerf optique. Eugene construit un modèle mathématique.

«Nous avons étudié une tonne de littérature sur les analogues existants, les technologies qui étaient sur le marché et le sont maintenant, et nous avons réalisé que la reconnaissance des images n'était pas pertinente. Mais ils ont appris qu'une matrice avait été précédemment créée pour enregistrer les photons et leur énergie. Nous avons décidé de développer une matrice similaire dans une taille réduite, qui serait capable de détecter au moins un ensemble minimal de photons et de construire une impulsion électrique basée sur eux. Ainsi, nous nous débarrassons de la couche intermédiaire d'une image claire et de sa reconnaissance - nous travaillons simplement directement. "

Le résultat est une vision qui n'est pas entièrement au sens classique. Mais comme le dit Zhenya, le reste du nerf optique devrait percevoir l'apport d'impulsions électriques de la même manière que du vrai œil. En 2018, ils ont discuté du projet avec le recteur de l'Université technique maritime Gleb Turishchin et le mentor de Skolkovo Olga Velichko. Ils ont confirmé que ce problème peut être résolu à l'aide de technologies qui existent déjà dans le monde.

«Mais cette tâche est encore plus difficile que le développement de prothèses. Nous ne pouvons même pas mener une expérience sur des grenouilles pour vérifier dans quelle mesure la rétine génère des impulsions, comment elles dépendent de la lumière différente, quelle section génère plus, laquelle moins. Nous avons besoin d'un financement qui nous permettra de louer un laboratoire et d'embaucher des gens pour décomposer les tâches et réduire le temps. Plus le coût de tous les matériaux nécessaires. En règle générale, tout dépend de l'argent. »



Bureaucratie


Bogdan et Zhenya ont demandé un financement à Skolkovo mais ont été refusées - seuls les produits finis à potentiel commercial y parviennent, et non les projets de recherche au stade naissant.

Avec toute l'excentricité de l'histoire de Zhenya, avec ses capacités et ses succès inspirants, une étrange malchance bureaucratique surprend. C'est particulièrement ennuyeux d'en entendre parler dans le contexte de l'actualité. Voici un autre «produit dont les gens ont besoin» (application photo, optimisation des publicités ou nouveaux types de salons de discussion) obtient ses millions de dollars de revenus et d'investissements. Mais un passionné inconnu ne sait pas quoi faire de ses idées.

Cette année, Zhenya a remporté une étude gratuite de six mois en Autriche dans le cadre d'un programme de partenariat entre universités - mais il ne peut pas y aller. Pour confirmer un visa, vous avez besoin de garanties qu'il a de l'argent pour le logement et la vie à Salzbourg.

"L'application aux fonds n'a donné aucun résultat, parce que le financement est fourni uniquement pour les programmes de diplôme complet", dit Zhenya, "L'application à l'Université de Salzbourg elle-même n'a pas non plus ses propres auberges et ne peut pas nous aider avec notre séjour.

J'ai écrit à dix fonds, et seulement trois ou quatre d'entre eux m'ont répondu. Et ils ont répondu que mon diplôme scientifique ne leur convenait pas - ils ont besoin de maîtres et plus. Mes réalisations scientifiques dans les études de premier cycle ne sont pas citées par eux. Si vous étudiez dans une université locale, vous êtes célibataire et êtes engagé dans la recherche technique, vous pouvez demander des documents à l'université. Et pour une personne de l'étranger, malheureusement, ils n'en ont pas.

Je me suis tourné vers le même nombre de fonds russes. À Skolkovo, ils m'ont dit: je suis désolé, mais nous ne travaillons qu'avec des maîtres. D’autres fondations m’ont dit qu’elles n’ont pas de financement pendant six mois, soit qu’elles travaillent uniquement avec des programmes menant à un diplôme, soit qu’elles ne financent pas de particuliers. Et avec les fonds de Prokhorov et Potanin, ils ne m'ont même pas répondu.

J'ai reçu une lettre de Yandex disant qu'ils sont engagés dans une grande œuvre caritative et que l'entreprise n'a pas de financement maintenant, mais ils me souhaitent tout le meilleur.

J'ai même accepté un financement ciblé par contrat, ce qui me permettrait de ne plus apprendre et, par conséquent, j'apporterais quelque chose pour l'entreprise. Mais tout s'arrête à un faible niveau de communication. Je comprends à quoi cela est lié. Les personnes qui travaillent sur les appels téléphoniques et le courrier - travaillent simplement sur des documents. Ils voient que l'application est arrivée, ça peut même être cool. Mais ils écriront: désolé, non, car soit la candidature est expirée, soit vous n'êtes pas éligible au statut. Et je n'ai pas la possibilité d'aller quelque part plus haut auprès des propriétaires du fonds, je n'ai tout simplement pas de tels contacts. "

Mais les articles sur le problème de Zhenya ont commencé à diverger rapidement sur les réseaux sociaux. Au cours des premiers jours, ils ont collecté environ 50 000 roubles - sur les 12 000 euros nécessaires. Il n'y a pas beaucoup de temps pour la formation, mais beaucoup écrivent déjà sur leur soutien à Zhenya. Peut-être que tout ira bien.


Je serais heureux de terminer ce long texte sur le retour du héros d'Autriche avec une nouvelle expérience puissante. Ou pour recevoir une subvention pour l'un des projets, et une photo d'un nouveau laboratoire. Mais le texte s'est arrêté dans un dortoir, où il y a deux placards, deux lits, deux tables, deux étagères, un réfrigérateur.

Il me semble que de grandes communautés professionnelles sont nécessaires pour s'entraider. L'épouse Nekrasov a besoin d'argent, de contacts utiles, d'idées, de conseils, de tout. Augmentons notre karma.

Contacts Zhenya et autres personnalités importantes
e-mail: evgeniy@nekrasov.pw
Tél: + 7-914-968-93-21
Télégramme et WhatsApp: + 7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Détails pour le transfert de fonds:
Numéro de carte: 4276 5000 3572 4382 ou par téléphone + 7-914-968-93-21
Portefeuille Yandex par numéro de téléphone + 7-914-968-93-21

Addressee: Nekrasov Evgeny

UPD: Eugene a lancé une campagne de crowdfunding sur GoFundMe

Source: https://habr.com/ru/post/fr461469/


All Articles