Die Geschichte einer kleinen Tragödie und großer Erfolge eines sehr guten Entwicklers, der Hilfe braucht

An der Fernöstlichen Föderalen Universität gibt es ein Zentrum für Projektaktivitäten – dort finden Master- und Bachelor-Studenten Ingenieurprojekte, die bereits Auftraggeber, Geld und Perspektiven haben. Außerdem finden dort Vorlesungen und Intensivkurse statt. Erfahrene Fachleute berichten über moderne und anwendbare Themen.
Einer der Intensivkurse widmete sich der Anwendung des Containerisierungssystems Docker für verteilte Berechnungen und Orchestrierung. Dazu kamen Master- und Doktoranden der angewandten Mathematik, Ingenieurwissenschaften, Softwareentwicklung und anderer technischer Bereiche.
Dozent war ein Junge mit dunklen Sonnenbrillen, modischem Haarschnitt und Schal, gesellig und viel zu selbstbewusst — besonders für einen 21-jährigen Studenten im zweiten Studienjahr. Er heißt Jewgeni Nekrasow, er ist vor zwei Jahren an die DWFU gekommen.
Wunderkind
„Ja, sie waren älter und hatten mehr Status, aber ich kann nicht sagen, dass sie erfahrener waren. Außerdem habe ich manchmal selbst Vorlesungen für meine Kommilitonen als Vertretung unseres Dozenten gehalten. Irgendwann haben wir festgestellt, dass er mir nichts mehr über objektorientierte Programmierung beibringen kann, deshalb habe ich gelegentlich Vorlesungen über OOP, moderne Entwicklung, GitHub und den Einsatz von Versionskontrollsystemen gehalten.“

Jewgeni kann in Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C und Assembler programmieren. „JavaScript kenne ich besser, die anderen Sprachen beherrsche ich ein bis zwei Stufen darunter. Aber ich kann einen Controller in Rust oder C++ in einer Stunde programmieren. Ich habe diese Sprachen nicht gezielt gelernt. Ich habe sie in Hinblick auf die Aufgaben, die mir gestellt wurden, gelernt. Ich kann mich in jedes Projekt einarbeiten, indem ich die Dokumentation und Manuals lese. Ich kenne die Syntax der Sprachen, und welche genau ich nutzen soll, ist nicht entscheidend. Das Gleiche gilt für Frameworks und Bibliotheken – wenn ich die Dokumentation lese, verstehe ich, wie es funktioniert. Alles wird durch das Themenfeld und die Aufgabe bestimmt.“
Jewgeni lernt Programmieren seit 2013 intensiv. Ein Informatiklehrer, der völlig blind war, interessierte ihn für Computerwissenschaften. Der Weg begann mit dem Web – HTML, JavaScript, PHP.
„Es interessiert mich einfach. Ich schlafe wenig – bin ständig beschäftigt, lese und lerne etwas.“
Im Jahr 2015 beantragte Jewgeni den Wettbewerb „Umnik“ zur Unterstützung technischer Projekte junger Wissenschaftler ab 18 Jahren. Da er jedoch noch nicht 18 Jahre alt war, konnte er den Wettbewerb nicht gewinnen - aber die lokale Entwicklergemeinschaft bemerkte ihn. Er lernte Sergej Milechin kennen, der zu diesem Zeitpunkt Konferenzen in Wladiwostok im Rahmen des Google Developer Fest organisierte. „Er lud mich ein, ich ging hin, hörte zu, es hat mir gefallen. Im nächsten Jahr kam ich wieder, lernte immer mehr Leute kennen und sprach mit ihnen.“
Andrej Sitnik aus der Gemeinschaft VLDC begann, Jewgeni bei seinen Webprojekten zu helfen. „Ich musste eine Multithread-Anwendung zur Verarbeitung von Websockets erstellen. Ich habe lange darüber nachgedacht, wie ich das auf PHP umsetzen kann, und wandte mich an Andrej. Er sagte mir: „Nimm node.js, die npm-Pakete, die es im Internet gibt, und zerbrich dir nicht den Kopf. Und es ist sowieso cool, Open Source voranzutreiben.“ Also verbesserte ich mein Englisch, begann die Dokumentationen zu lesen und stellte Projekte auf GitHub ein.“
Im Jahr 2018 hielt Jewgeni bereits Vorträge auf dem Google Dev Fest, sprach über Entwicklungen im Bereich barrierefreier Schnittstellen, Prothesen für obere Extremitäten, die Entwicklung von Neurointerfaces und Systeme für berührungslosen Zugriff. Jetzt studiert Jewgeni im zweiten Jahr des Bachelor-Studiums in der Fachrichtung „Software-Engineering“ und hat es bereits erfolgreich abgeschlossen und schreibt seine Abschlussarbeit.
„Man sagte mir, ich solle eine Datenstruktur in einer Hash-Tabelle implementieren. Das ist eine Standardaufgabe, die allen an Universitäten gestellt wird. Am Ende waren es 12.000 Zeilen Code und eine Menge Hacks“, sagt Jewgeni lachend, „Ich habe eine Hash-Tabelle und deren modifizierte Struktur in JavaScript erstellt, um Daten schneller auszulesen. Und der Dozent sagt: „Ich brauche, dass du das so schreibst, dass es mir leichter fällt - damit ich es bewerten kann.“ Das war wirklich frustrierend.“
Viel interessanter sind die persönlichen Projekte von Jewgeni. Eines seiner ersten Projekte ist die Entwicklung von Webstandards für Menschen mit körperlichen Einschränkungen. Er möchte eine Ressource schaffen, die assistive Technologie „out of the box“ bereitstellt, damit Menschen mit Sehbehinderungen diese Technologien einfach nutzen können und sich keine Sorgen machen müssen, dass ihnen Informationen nicht zugänglich sind. Jewgeni kennt dieses Problem gut, da er selbst sein Augenlicht verloren hat.
Verletzung
„Früher war ich ein ganz normaler Teenager, mit allen Gliedmaßen an ihrem Platz. 2012 wurde ich verletzt. Ich ging mit einem Freund spazieren, fand eine Gasflasche auf der Straße, und sie explodierte in meinen Händen. Dabei wurde mir das rechte Handgelenk abgerissen, das linke verletzt, ich verlor das Augenlicht und meine Hörfähigkeit wurde beeinträchtigt. Ein halbes Jahr lang lag ich einfach auf den Operationsstühlen.
Das linke Handgelenk wurde aus Einzelteilen zusammengesetzt, Platten und Drähte wurden eingesetzt. Nach fünf Monaten konnte ich damit arbeiten.
Nach der Verletzung konnte ich überhaupt nichts sehen. Aber den Ärzten gelang es, mein Lichtempfinden wiederherzustellen. Von meinem Auge blieb mir nichts außer der Hülle. Alles Innere wurde ersetzt – Glaskörper, Linse. Alles, was möglich war.
2013 ging Genja zur Schule für Kinder mit Sehbehinderungen. Der Informatiklehrer, der völlig blind war, brachte ihm bei, den Computer neu zu bedienen. Dazu werden spezielle Programme genutzt – Screenreader. Sie greifen auf die API der Betriebssysteme zu, um Zugang zur Benutzeroberfläche zu erhalten und die Steuerung etwas zu verändern.
Genja bezeichnet sich als leidenschaftlicher Linux-Nutzer, er verwendet Debian. Mit der Tastatur navigiert er durch die Elemente der Benutzeroberfläche, und der Sprachsynthesizer gibt das Geschehen wieder.
„Jetzt hörst du einfach das Allererstaunlichste“, sagt er mir, bevor er das Programm startet.
Das klingt wie ein Code oder außerirdisches Geschwätz, ist aber eigentlich ganz normales Russisch oder Englisch, nur spricht der Synthesizer mit einer für ungeübte Ohren unglaublichen Geschwindigkeit.
„Es war nicht schwer, das zu lernen. Am Anfang arbeitete ich unter Windows und verwendete das Screenreader-Programm Jaws. Ich nutzte es und dachte: „Gott, wie kann man mit so langsamer Geschwindigkeit arbeiten." Ich stellte es höher ein und bemerkte, dass meine Ohren fast abdrehten. Ich stellte es zurück und begann langsam jede Woche um 5–10 Prozent zu steigern. Ich beschleunigte den Synthesizer auf hundert Wörter, dann mehr, und noch mehr. Jetzt spricht er mit mir eintausend Wörter pro Minute.“
Genja schreibt in einem normalen Texteditor – Gedit oder Nano. Er kopiert den Quellcode von GitHub, startet den Screenreader und hört den Code. Damit andere Entwickler ihn problemlos lesen und verstehen können, verwendet er überall Linter und Konfigurationen. Aber Genja kann keine Entwicklungsumgebungen nutzen, weil sie für Blinde aufgrund ihrer Implementierung nicht zugänglich sind.
„Sie sind so konzipiert, dass ihr Fenster vom System erkannt wird, während alles, was innerhalb des Fensters liegt, vom Screenreader nicht erfasst wird, da dieser keinen Zugriff darauf hat. Ich habe mich direkt mit JetBrains in Verbindung gesetzt, um zu versuchen, einige Patches für ihre Umgebungen bereitzustellen. Sie haben mir den Quellcode von PyCharm geschickt. Die IDE basiert auf IntelliJ IDEA, sodass alle Änderungen sowohl dort als auch dort angewendet werden können.“
Ein weiteres Hindernis ist die Nichteinhaltung allgemeiner Standards im Web. Zum Beispiel sehen wir auf der Seite eine große Überschrift. Viele Entwickler setzen sie mit dem span-Tag um, um die Schriftgröße anzupassen, und das sieht im Ergebnis gut aus. Da der Text jedoch für das System kein Header ist, erkennt ihn der Screenreader nicht als Menüpunkten und lässt keine Interaktion zu.
Zhenya nutzt die mobile Version von „VKontakte“ problemlos, meidet jedoch Facebook: „VK ist für mich bequem, weil es eine separate Liste der Navigationsmenüs gibt. Dort befinden sich Elemente und Überschriften, die eine semantische Trennung der Seite für mich darstellen. Zum Beispiel weiß ich, dass die erste Ebene des Headers, in der mein Pseudonym angegeben ist, der Titel der Seite ist. Ich weiß, dass die Überschrift „Nachrichten“ die Seite unterteilt und darunter die Liste der Dialoge folgt.
Facebook propagiert Barrierefreiheit, aber in der Praxis ist alles so schlecht, dass man nichts verstehen kann. Ich öffne es — und das Programm beginnt zu hängen, die Seite verzögert sich furchtbar, alles springt herum. Überall nur Knöpfe, und ich denke: „Wie soll ich überhaupt damit umgehen?“ Ich werde es nur nutzen, wenn ich meinen Client fertigstelle oder etwas Drittes anschließe.“
Forschungen
Zhenya lebt in Wladiwostok in einem normalen Universitätswohnheim. Das Badezimmer ist im Zimmer, zwei Schränke, zwei Betten, zwei Tische, zwei Regale, ein Kühlschrank. Keine speziellen Geräte, aber seiner Meinung nach werden sie auch nicht benötigt. „Eine Sehbehinderung bedeutet nicht, dass ich nicht laufen oder den Weg finden kann. Aber ich würde vielleicht aus Freude ein Smart Home für mich einrichten, wenn ich das nötige Material hätte. Ich habe einfach kein Geld, um Komponenten zu kaufen. Für einen Studenten ist es sehr unrentabel, fünf Tausend auszugeben, nur um das Board auszuprobieren.“
Zhenya lebt mit seiner Freundin zusammen, die ihm im Alltag sehr hilft: „Butterbrote schmieren, Tee einschenken, Wäsche waschen. Deshalb habe ich mehr Zeit für Entspannung und meine Lieblingsbeschäftigungen.“
Zum Beispiel hat Zhenya eine Musikgruppe, in der er E-Gitarre spielt. Er hat auch nach seiner Verletzung gelernt. 2016 verbrachte er drei Monate in einem Rehabilitationszentrum, wo er um Hilfe mit der Gitarre bei einem Lehrer bat. Zunächst spielte er mit dem umgedrehten Kragen eines Hemdes. Dann baute er sich einen Plektrum.
„Ich habe einen Verband zur Stabilisierung des Handgelenks verwendet, wie ihn zum Beispiel Karatekämpfer nutzen, und habe ihn an den Trennstellen der Finger aufgeschnitten und um den Unterarm gezogen. Dort gibt es ein Schaumstoffkissen, das das Handgelenk vor Verletzungen schützt – daran habe ich das Plektrum befestigt, das mein Bruder aus einem Plastikspatel ausgeschnitten hat. So entstand eine lange plastische Zunge, mit der ich auf den Saiten spiele – mit Zupfen und Schlagen.“
Die Explosion hat das Trommelfell beschädigt, deshalb hört Zhenya keine tiefen Frequenzen. An seiner Gitarre fehlt die sechste (tiefste) Saite, und die fünfte ist anders gestimmt. Er spielt hauptsächlich Soloparts.
Aber die Hauptbeschäftigungen bleiben Entwicklung und Forschung.
Handprothese
Eines der Projekte ist die Entwicklung einer Prothese für die oberen Gliedmaßen mit einem intelligenten Steuerungssystem. 2016 kam Zhenya zu einem Menschen, der an der Entwicklung der Prothese arbeitete und half ihm bei den Tests. 2017 nahmen sie am Hackathon „Neurostart“ teil. In einem Team von drei Personen programmierte Zhenya die Low-Level-Controller. Die anderen beiden konstruierten die Modelle selbst und trainierten neuronale Netzwerke für das Steuerungssystem.Jetzt hat Zhenya den gesamten Softwareteil des Projekts übernommen. Er verwendet das Myo Armband zur Erfassung von Muskelpotentialen, erstellt auf dieser Grundlage Masken und wendet dann Modelle neuronaler Netzwerke zur Gestenerkennung an – darauf basiert das Steuerungssystem.
„Im Armband sind acht Sensoren. Sie übertragen die Änderungen der Potenziale an jedes Eingabegerät. Ich habe das SDK von Hand bearbeitet, alles, was nötig war, dekompiliert und meine Bibliothek in Python zur Datenerfassung geschrieben. Es fehlt natürlich an Daten. Selbst wenn ich eine Milliarde Sensoren auf die Haut klebe, wird es immer noch nicht ausreichen. Die Haut bewegt sich über den Muskeln, und die Daten mischen sich.“
In der Zukunft plant Zhenja, mehrere Sensoren unter der Haut und im Muskelgewebe zu verankern. Er würde das schon jetzt ausprobieren — aber in Russland sind solche Eingriffe verboten. Wenn ein Chirurg unzertifizierte Geräte in die Haut eines Menschen implantiert, verliert er sein Diplom. Dennoch hat Zhenja einen Sensor in die Hand eingenäht — ein rfid-Tag, wie in elektronischen Schlüsseln, um die Gegensprechanlage oder jedes Schloss zu öffnen, an das der Schlüssel gebunden ist.
Künstliches Auge
Gemeinsam mit Bogdan Shcheglov, einem Biochemiker und Biophysiker, arbeitet Zhenja an einem Prototyp für ein künstliches Auge. Bogdan beschäftigt sich mit der 3D-Modellierung des Augapfels und verbindet alle Mikroschaltungen in einem 3D-Modell mit dem Sehnerv, während Zhenja ein mathematisches Modell erstellt.
„Wir haben einen Haufen Literatur zu bestehenden Analogien und Technologien, die auf dem Markt waren und sind, studiert und festgestellt, dass die Bilderkennung nicht aktuell ist. Stattdessen haben wir erfahren, dass zuvor eine Matrix zur Registrierung von Photonen und deren Energie entwickelt wurde. Wir haben beschlossen, eine ähnliche Matrix in verkleinertem Maßstab zu entwickeln, die in der Lage wäre, zumindest eine minimale Anzahl von Photonen zu registrieren und auf deren Basis elektrische Impulse zu erzeugen. Damit schaffen wir den Zwischenlayer eines klaren Bildes und dessen Erkennung ab — wir arbeiten einfach direkt.“
Am Ende wird es eine Sicht geben, die nicht ganz dem klassischen Verständnis entspricht. Doch wie Zhenja sagt, sollte der Rest des Sehnervs die Abgabe elektrischer Impulse genauso wahrnehmen wie die von einem echten Auge. Im Jahr 2018 diskutierten sie das Projekt mit dem Rektor der Seefahrtausbildung Gleb Turishchin und der Mentorin von Skolkovo, Olga Velichko. Diese bestätigten, dass diese Aufgabe mit Hilfe der Technologien, die bereits weltweit existieren, gelöst werden kann.
„Aber diese Aufgabe ist noch komplizierter als die Entwicklung von Prothesen. Wir können nicht einmal ein Experiment an Fröschen durchführen, um zu überprüfen, wie gut die Netzhaut Impulse generiert, wie sie von unterschiedlichem Licht abhängen, welcher Bereich mehr und welcher weniger generiert. Wir benötigen Finanzierung, die es uns ermöglicht, ein Labor zu mieten und Leute einzustellen, um die Aufgaben zu dekomponieren und die Fristen zu verkürzen. Außerdem fallen Kosten für alle notwendigen Materialien an. In der Regel läuft alles auf Geld hinaus.“
Bürokratie
Bogdan und Zhenya haben sich an Skolkovo um eine Finanzierung gewandt, aber eine Ablehnung erhalten – dort kommen nur marktfähige Produkte in Frage, nicht Forschungsprojekte in der Anfangsphase.
Trotz der Ungewöhnlichkeit in der Geschichte von Zhenya, seiner Fähigkeiten und inspirierenden Erfolge – überrascht das seltsame bürokratische Unglück. Es ist besonders ärgerlich, dies im Kontext der Nachrichten zu hören. Hier ist wieder ein „Produkt, das die Menschen brauchen“ (eine Foto-App, Werbung-Optimierung oder neue Arten von Chats), das Millionen von Dollar Umsatz und Investitionen erzielt. Und hier ist ein unbekannter Enthusiast, der nicht weiß, was er mit seinen Ideen anfangen soll.
In diesem Jahr hat Zhenya ein kostenloses halbjähriges Studium in Österreich im Rahmen eines Partnerschaftsprogramms zwischen Hochschulen gewonnen – kann aber nicht dorthin fahren. Um ein Visum zu bestätigen, benötigt man Garantien, dass er Geld für Unterkunft und Lebensunterhalt in Salzburg hat.
„Die Anfrage bei den Fonds hatte kein Ergebnis, da die Finanzierung nur für vollständige Diplomprogramme erfolgt“, sagt Zhenya, „die Anfrage an die Universität Salzburg ebenfalls – die Hochschule hat keine eigenen Wohnheime und kann uns nicht bei der Unterkunft helfen.
Ich habe an zehn Fonds geschrieben, und nur drei oder vier haben mir geantwortet. Dabei antworteten sie, dass mein akademischer Abschluss für sie nicht geeignet sei – sie benötigen Masterabsolventen und darüber hinaus. Meine wissenschaftlichen Arbeiten aus dem Bachelorstudium werden dort nicht anerkannt. Wenn du an einer örtlichen Universität studierst, bist du Bachelor und beschäftigst dich mit technischen Forschungen, kannst du innerhalb der Hochschule deine Unterlagen einreichen. Für jemanden aus dem Ausland gibt es leider so etwas nicht.
Ich habe mich auch an ungefähr ebenso viele russische Fonds gewandt. In Skolkovo wurde mir gesagt: tut mir leid, aber wir arbeiten nur mit Masterabsolventen. In anderen Fonds wurde mir gesagt, dass sie keine Finanzierung für ein halbes Jahr haben, oder sie arbeiten ebenfalls nur mit Diplomprogrammen, oder sie finanzieren keine Privatpersonen. Und von den Fonds von Prokhorov und Potanin habe ich nicht einmal eine Antwort erhalten.
Von Yandex erhielt ich einen Brief, dass sie sich um große Wohltätigkeit bemühen und das Unternehmen zurzeit keine Finanzierung hat, aber sie wünschen mir alles Gute.
Ich war sogar bereit, eine zweckgebundene Finanzierung zu akzeptieren, die es mir ermöglichen würde, eine Ausbildung zu absolvieren, und am Ende würde ich etwas für das Unternehmen mitbringen. Aber alles scheitert an einem niedrigen Kommunikationsniveau. Ich verstehe, woran das liegt. Die Leute, die mit Telefonanrufen und E-Mails arbeiten, sind einfach nur mit Dokumenten beschäftigt. Sie sehen, dass ein Antrag eingegangen ist, der sogar gut sein könnte. Aber sie schreiben: Entschuldigung, nein, weil entweder die Frist abgelaufen ist oder du nicht dem Status entsprichst. Ich habe keine Möglichkeit, zu den Fondsinhabern hochzukommen, es gibt einfach keine entsprechenden Kontakte.
Aber die Beiträge über Shchenas Problem begannen sich schnell in den sozialen Medien zu verbreiten. In den ersten Tagen wurden etwa 50.000 Rubel gesammelt – von den benötigten 12.000 Euro. Es bleibt wenig Zeit für die Sammelaktion, aber viele schreiben bereits Shchena ihre Unterstützung. Vielleicht wird alles klappen.
Ich wäre froh, diesen langen Text mit der Rückkehr des Helden aus Österreich mit einer neuen, wertvollen Erfahrung zu beenden. Oder mit der Erzielung eines Stipendiums für eines der Projekte und einem Foto aus dem neuen Labor. Aber der Text blieb im Raum des Wohnheims stehen, wo es zwei Schränke, zwei Betten, zwei Tische, zwei Regale und einen Kühlschrank gibt.
Ich denke, große professionelle Gemeinschaften sind nötig, um sich gegenseitig zu helfen. Shchena Nekrasov braucht Geld, nützliche Kontakte, Ideen, Ratschläge, alles, was irgendwie helfen könnte. Lassen Sie uns unsere Karma heben.
Kontaktdaten von Shchena und andere wichtige Informationene-mail: evgeniy@nekrasov.pw
Telefon: +7-914-968-93-21
Telegram und WhatsApp: +7-999-057-85-48
github:
vk.com: vk.com/ravino_doul
Bankverbindung für die Überweisung von Mitteln:
Kartennummer: 4276 5000 3572 4382 oder unter der Telefonnummer +7-914-968-93-21
Yandex Geldbörse unter der Telefonnummer +7-914-968-93-21
Empfänger: Jewgeni Nekrasov
Quelle: habr.com

