Jak to jest słuchać kodu z szybkością 1000 słów na minutę

Historia małej tragedii i wielkich zwycięstw bardzo dobrego dewelopera, który potrzebuje pomocy

Jak to jest słuchać kodu z szybkością 1000 słów na minutę

Na Dalekowschodnim Uniwersytecie Federalnym znajduje się centrum działań projektowych - tam mistrzowie i licencjaci znajdują projekty inżynieryjne, które mają już klientów, pieniądze i perspektywy. Odbywają się tam także wykłady i intensywne kursy. Doświadczeni specjaliści mówią o rzeczach nowoczesnych i stosowanych.

Jeden z intensywnych kursów poświęcony był wykorzystaniu systemu konteneryzacji Docker do obliczeń rozproszonych i orkiestracji. Wzięli w nim udział studenci studiów magisterskich i magisterskich z matematyki stosowanej, inżynierii, tworzenia oprogramowania i innych dziedzin technicznych.

Nauczycielem był chłopak w ciemnych okularach, z modną fryzurą, z szalikiem, towarzyski i zbyt pewny siebie – zwłaszcza jak na 21-letnią studentkę drugiego roku. Nazywa się Evgeny Nekrasov, wstąpił do FEFU zaledwie dwa lata temu.

Wunderkind

„Tak, byli starsi i mieli większy status, ale nie mogę powiedzieć, że byli bardziej doświadczeni. Poza tym czasami dawałem wykłady kolegom z klasy dla naszego nauczyciela. W pewnym momencie zdaliśmy sobie sprawę, że nie może mi powiedzieć nic więcej na temat programowania obiektowego, więc od czasu do czasu pouczałem go o OOP, nowoczesnym programowaniu, GitHubie i wykorzystaniu systemów kontroli wersji.

Jak to jest słuchać kodu z szybkością 1000 słów na minutę

Evgeniy potrafi pisać w Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C i Assembler. „Znam JavaScript lepiej, reszta jest o poziom lub dwa niżej. Ale jednocześnie mogę zaprogramować kontroler w Rust lub C++ w ciągu godziny. Nie uczyłam się tych języków celowo. Studiowałem je pod kątem zadań, które mi przydzielono. Mogę dołączyć do dowolnego projektu, zapoznając się z dokumentacją i instrukcjami. Znam składnię języków i to, którego z nich użyję, nie ma większego znaczenia. Podobnie jest z frameworkami i bibliotekami - wystarczy przeczytać dokumentację i już wiem jak to działa. Wszystko zależy od tematu i zadania.”

Evgeniy intensywnie studiuje programowanie od 2013 roku. Informatyką zainteresował się całkowicie niewidomy nauczyciel informatyki w szkole średniej. Ścieżka zaczęła się od sieci - HTML, JavaScript, PHP.

"Jestem po prostu ciekawy. Nie śpię dużo - ciągle jestem czymś zajęty, coś czytam, czegoś się uczę.

W 2015 roku Evgeniy zgłosił się do konkursu „Umnik” mającego na celu wsparcie projektów technicznych młodych naukowców powyżej osiemnastego roku życia. Ale nie miał osiemnastu lat, więc nie udało mu się wygrać konkursu - ale Jewgienij został zauważony przez lokalną społeczność programistów. Poznał Siergieja Milechina, który w tym momencie organizował konferencje we Władywostoku w ramach Google Developer Fest. „Zaprosił mnie tam, przyjechałem, wysłuchałem, podobało mi się. W następnym roku przyjechałem ponownie, coraz lepiej poznawałem ludzi, komunikowałem się.”

Andrey Sitnik ze społeczności VLDC zaczął pomagać Evgeniyowi w jego projektach internetowych. „Musiałem zbudować wielowątkową aplikację wykorzystującą gniazdo sieciowe. Bardzo długo myślałem, jak to zrobić w PHP i zwróciłem się do Andreya. Powiedział mi: „Weź pakiety node.js, npm, które są w Internecie i nie załamuj sobie głowy. Ogólnie rzecz biorąc, przeniesienie open source jest fajne.” Poprawiłem więc swój angielski, zacząłem czytać dokumentację i publikować projekty na GitHubie.

W 2018 roku Evgeniy wygłaszał już prezentacje na Google Dev Fest, opowiadając o rozwoju w dziedzinie dostępnych interfejsów, protez kończyn górnych, rozwoju interfejsów neuronowych i bezdotykowych systemów kontroli dostępu. Teraz Evgeniy jest na drugim roku studiów licencjackich z inżynierii oprogramowania, ale ukończył je już z sukcesem i kończy swoją ostatnią pracę.

„Polecono mi zaimplementować strukturę danych w tabeli skrótów. To standardowa rzecz, którą otrzymują wszyscy na uniwersytecie. Skończyło się na 12 tysiącach linii kodu i kilku kulach” – śmieje się Evgeniy. „Zbudowałem tablicę mieszającą i jej zmodyfikowaną strukturę w JavaScript, aby szybciej czytać dane. A nauczyciel mówi: „Chcę, żebyś napisał, co jest dla mnie łatwiejsze, żebym mógł to ocenić”. To było bardzo denerwujące.”

Osobiste projekty Evgeniy wyglądają znacznie ciekawiej. Pierwszym z nich jest opracowanie standardów internetowych dla osób niepełnosprawnych fizycznie. Chce stworzyć zasób zapewniający gotowe technologie wspomagające, tak aby osoby z wadami wzroku mogły z nich łatwo korzystać bez obawy, że przeoczą jakieś informacje. Jewgienij dobrze zna ten problem, ponieważ sam stracił wzrok.

Obrażenia

„Kiedyś byłem zwyczajnym nastolatkiem ze wszystkimi kończynami na miejscu. W 2012 roku wysadziłam się w powietrze. Poszedłem z kolegą na spacer, podniosłem z ulicy butlę, która eksplodowała mi w rękach. Moja prawa ręka została oderwana, lewa ręka została okaleczona, mój wzrok został uszkodzony, a mój słuch został uszkodzony. Przez sześć miesięcy po prostu leżałam na stołach operacyjnych.

Lewą rękę zmontowano w częściach, zainstalowano talerze i igły. Po pięciu miesiącach mogłem dla niej pracować.

Po kontuzji w ogóle nic nie widziałem. Ale lekarzom udało się przywrócić percepcję światła. Z mojego oka nie pozostało nic oprócz muszli. Wszystko w środku zostało wymienione – ciała szkliste, soczewki. Wszystko jest możliwe."

W 2013 roku Żenia poszła na naukę do szkoły poprawczej dla dzieci z wadą wzroku. Ten nauczyciel informatyki, który był zupełnie niewidomy, nauczył go na nowo obsługiwać komputer. W tym celu wykorzystywane są specjalne programy – czytniki ekranu. Uzyskują dostęp do interfejsów API systemu operacyjnego, aby uzyskać dostęp do interfejsu i nieznacznie zmienić sposób, w jaki są kontrolowane.

Zhenya nazywa siebie zagorzałym użytkownikiem Linuksa; używa Debiana. Za pomocą klawiatury porusza się po elementach interfejsu, a syntezator mowy podpowiada, co się dzieje.

„Teraz usłyszysz tylko przestrzeń” – mówi mi przed włączeniem programu.

Brzmi to jak kod lub rozmowa obcych, ale w rzeczywistości jest to zwykły rosyjski lub angielski, po prostu syntezator mówi z niesamowitą prędkością dla niewprawnego ucha.

„Nauczenie się tego nie było trudne. Na początku pracowałem na Windowsie i korzystałem z czytnika ekranu Jaws. Użyłem go i pomyślałem: „Panie, jak możesz pracować przy tak małej prędkości”. Powiększyłem obraz i zdałem sobie sprawę, że uszy były zwinięte w rurkę. Zwróciłem go i stopniowo zacząłem zwiększać go o 5-10 procent co tydzień. Przyspieszałem syntezator do stu słów, potem jeszcze więcej i tak w kółko. Teraz mówi tysiąc słów na minutę.

Zhenya pisze w zwykłym edytorze tekstu - Gedit lub Nano. Kopiuje źródła z Githuba, uruchamia czytnik ekranu i nasłuchuje kodu. Aby zapewnić łatwość odczytania i zrozumienia przez innych programistów, w całym tekście używa lintersów i konfiguracji. Ale Zhenya nie może korzystać ze środowisk programistycznych, ponieważ są one niedostępne dla niewidomych ze względu na ich wdrożenie.

„Są wykonane w taki sposób, że ich okno jest rozpoznawane przez system, a czytnik ekranu nie widzi wszystkiego, co jest w oknie, bo nie ma do niego dostępu. Skontaktowałem się teraz bezpośrednio z firmą JetBrains, aby spróbować wprowadzić poprawki do ich środowisk. Wysłali mi źródła PyCharm. IDE jest zaimplementowane na Intellij Idea, więc wszelkie zmiany można zastosować zarówno tam, jak i tam.”

Kolejną barierą jest brak przestrzegania powszechnych standardów sieciowych. Na przykład widzimy duży nagłówek na stronie. Wielu programistów wdraża to za pomocą znacznika span, aby zawęzić czcionkę do pożądanego rozmiaru, i ostatecznie wygląda dobrze. Ponieważ jednak tekst nie jest tytułem dla systemu, czytnik ekranu nie rozpoznaje go jako elementu menu i nie pozwala na interakcję.

Żenia z łatwością korzysta z mobilnej wersji VKontakte, ale unika Facebooka: „VK jest dla mnie wygodny, ponieważ ma osobną listę menu nawigacyjnych. Zawiera elementy i nagłówki, które dla mnie stanowią semantyczny podział strony. Np. nagłówek pierwszego poziomu, w którym jest wskazany mój nick - wiem, że to jest tytuł strony. Wiem, że nagłówek „wiadomości” dzieli stronę, a poniżej znajduje się lista dialogów.

Facebook promuje dostępność, ale tak naprawdę wszystko jest tak złe, że nie da się niczego zrozumieć. Otwieram - i program zaczyna się zawieszać, strona strasznie wolno chodzi, wszystko mi skacze. Wszędzie są wszystkie przyciski, a ja myślę: „Jak w ogóle z tym pracować?!”. Użyję go tylko wtedy, gdy skończę mojego klienta lub podłączę stronę trzecią. ”

badania

Żenia mieszka we Władywostoku w zwykłym akademiku uniwersyteckim. W pokoju znajduje się łazienka, dwie szafy, dwa łóżka, dwa stoły, dwie półki, lodówka. Żadnych specjalnych gadżetów, ale według niego nie są one potrzebne. „Wada wzroku nie oznacza, że ​​nie będę mogła chodzić lub nie znajdę sposobu. Ale mógłbym i chętnie wyposażyłbym się w inteligentny dom, gdybym miał materiały eksploatacyjne. Po prostu nie mam pieniędzy na zakup podzespołów. Dla studentki wydawanie pięciu tysięcy na czesne tylko po to, żeby ją wkurzyć, jest bardzo nieopłacalne.

Żenia mieszka z dziewczyną, pomaga w domu na wiele sposobów: „rozkładaj kanapki, nalewaj herbatę, pranie. Dzięki temu miałam więcej czasu na relaks i robienie rzeczy, które kocham”.

Na przykład Zhenya ma grupę muzyczną, w której gra na gitarze elektrycznej. Nauczył się także po kontuzji. W 2016 roku spędził trzy miesiące w ośrodku rehabilitacyjnym, gdzie poprosił nauczyciela o pomoc z gitarą. Na początku bawiłam się szwem koszuli wywróconym na lewą stronę. Następnie zbudowałem mediator.

„Wziąłem bandaż na wzmocnienie ręki, którym posługują się np. karatekowie, rozciąłem go w miejscach rozstania palców i naciągnąłem na przedramię. Znajduje się tam piankowa podkładka chroniąca pędzel przed uszkodzeniem - doszyłam do niej wykałaczkę, którą mój brat wyciął mi z plastikowej szpatułki. Okazało się, że to taki długi plastikowy język, którego używam do gry na strunach – szarpania i brzdąkania”.

Eksplozja rozerwała mu bębenki w uszach, więc Żeńka nie słyszy niskich częstotliwości. Jego gitara nie ma szóstej (najniższej) struny, a piąta jest nastrojona inaczej. Gra głównie partie solowe.

Jednak głównymi działaniami pozostają rozwój i badania.

Proteza ramienia

Jak to jest słuchać kodu z szybkością 1000 słów na minutę

Jednym z projektów jest opracowanie protezy kończyny górnej z inteligentnym systemem sterowania. W 2016 roku Żenia przyszła do osoby opracowującej protezę i zaczęła pomagać jej w testach. W 2017 roku wzięli udział w hackatonie Neurostart. W trzyosobowym zespole Zhenya programował sterowniki niskiego poziomu. Dwóch kolejnych samodzielnie skonstruowało modele i nauczyło sieci neuronowych na potrzeby systemu sterowania.

Teraz Zhenya przejęła całą część oprogramowania związaną z projektem. Wykorzystuje opaskę Myo Armband do odczytywania potencjałów mięśni, buduje na ich podstawie maski i nanosi na nie modele sieci neuronowych w celu rozpoznawania gestów – na tym zbudowany jest system sterowania.

„Bransoletka ma osiem czujników. Przesyłają potencjalne zmiany do dowolnego urządzenia wejściowego. Własnymi rękami wypatroszyłem ich SDK, zdekompilowałem wszystko, co było potrzebne i napisałem własną bibliotekę w Pythonie do odczytu danych. Oczywiście nie ma wystarczających danych. Nawet jeśli umieścimy na skórze miliard czujników, to i tak nie wystarczy. Skóra przesuwa się po mięśniach i dane ulegają pomieszaniu”.

W przyszłości Zhenya planuje zainstalować kilka czujników pod skórą i mięśniami. Spróbowałby tego teraz – ale w Rosji takie operacje są zabronione. Jeśli chirurg wszczepi komuś pod skórę niecertyfikowany sprzęt, utraci dyplom. Jednak Żeńka wszył sobie w dłoń jeden czujnik – znacznik RFID, podobnie jak w kluczach elektronicznych, służący do otwierania domofonu lub dowolnego zamka, z którym będzie powiązany klucz.

sztuczne oko

Razem z Bogdanem Szczeglowem, biochemikiem i biofizykiem, Żeńka pracuje nad prototypem sztucznego oka. Bogdan zajmuje się modelowaniem 3D gałki ocznej i połączeniem wszystkich mikroukładów w trójwymiarowy model z nerwem wzrokowym, Żenia buduje model matematyczny.

„Przestudiowaliśmy mnóstwo literatury na temat istniejących analogów, technologii, które były na rynku i są obecnie, i zdaliśmy sobie sprawę, że rozpoznawanie obrazu nie ma znaczenia. Dowiedzieliśmy się jednak, że wcześniej stworzono matrycę do rejestrowania fotonów i ich energii. Postanowiliśmy opracować podobną matrycę w zmniejszonych rozmiarach, która byłaby w stanie zarejestrować przynajmniej minimalny zestaw fotonów i zbudować na ich podstawie impuls elektryczny. W ten sposób pozbywamy się pośredniej warstwy wyraźnego obrazu i jego rozpoznania – po prostu pracujemy bezpośrednio.”

Rezultatem będzie wizja, która nie jest całkiem w klasycznym sensie. Ale jak mówi Żenia, pozostała część nerwu wzrokowego musi odbierać impulsy elektryczne w taki sam sposób, jak prawdziwe oko. W 2018 roku projekt omawiali z rektorem Politechniki Morskiej Glebem Turishchinem i mentorką Skołkowa Olgą Velichko. Potwierdzili, że problem ten można rozwiązać wykorzystując technologie, które już istnieją na świecie.

„Ale to zadanie jest jeszcze trudniejsze niż opracowanie protetyki. Nie możemy nawet przeprowadzić eksperymentu na żabach, aby sprawdzić, jak dobrze siatkówka generuje impulsy, jak zależą one od innego światła, który obszar generuje więcej, a który mniej. Potrzebujemy środków finansowych, które pozwolą nam wynająć laboratorium i zatrudnić ludzi do rozkładania zadań i skracania terminów. Plus koszt wszystkich niezbędnych materiałów. Z reguły wszystko rozbija się o pieniądze.”

Biurokracja

Bogdan i Żenia wystąpili do Skołkowa o dofinansowanie, ale dostali odmowę – trafiają tam tylko gotowe produkty z potencjałem komercyjnym, a nie projekty badawcze na wczesnym etapie.

Pomimo całej oryginalności historii Żeńki, pomimo jego zdolności i inspirujących sukcesów, zaskakujący jest dziwny biurokratyczny pech. Szczególnie denerwujące jest słuchanie o tym na tle wiadomości. Oto kolejny „produkt, którego ludzie potrzebują” (aplikacja do zdjęć, optymalizacja reklam lub nowe typy czatów), który generuje wielomilionowe przychody i inwestycje. Ale nieznany entuzjasta nie wie, co zrobić ze swoimi pomysłami.

W tym roku Żenia wygrała bezpłatne sześciomiesięczne studia w Austrii w ramach programu partnerskiego między uniwersytetami, ale nie może tam pojechać. Do potwierdzenia wizy potrzebne są gwarancje, że ma pieniądze na mieszkanie i życie w Salzburgu.

„Apelowanie do funduszy nie przyniosło rezultatów, ponieważ finansowanie jest przyznawane tylko na pełne programy dyplomowe” – mówi Zhenya. „Apelowanie do samego Uniwersytetu w Salzburgu też nie przyniosło rezultatu – uniwersytet nie ma własnych akademików i nie może nam pomóc w zakwaterowaniu.

Napisałem do dziesięciu funduszy i odpowiedziały mi tylko trzy lub cztery. Co więcej, odpowiedzieli, że mój stopień naukowy im nie odpowiada – potrzebują magistra i wyższego. Moje osiągnięcia naukowe na studiach licencjackich nie są przez nich cenione. Jeśli studiujesz na lokalnej uczelni, masz tytuł licencjata i zajmujesz się badaniami technicznymi, możesz aplikować na uczelni. Ale dla osoby z zagranicy niestety tego nie mają.

Skontaktowałem się z mniej więcej taką samą liczbą rosyjskich funduszy. W Skołkowie powiedzieli mi: przepraszam, ale współpracujemy tylko z mistrzami. Inne fundacje powiedziały mi, że nie mają środków na sześć miesięcy, albo pracują tylko nad programami dyplomowymi, albo nie finansują osób fizycznych. A fundacje Prochorowa i Potanina nawet mi nie odpowiedziały.

Otrzymałem list od Yandex, że prowadzą wielką działalność charytatywną, a firma obecnie nie ma funduszy, ale życzą mi wszystkiego najlepszego.

Zgodziłem się nawet na finansowanie kontraktowe, dzięki któremu będę mógł wyjechać na studia, a co za tym idzie, przywiozę coś dla firmy. Ale wszystko kończy się na niskim poziomie komunikacji. Rozumiem, o co tu chodzi. Osoby pracujące przy rozmowach telefonicznych i poczcie pracują po prostu według dokumentów. Widzą, że przyszła aplikacja, może być nawet fajna. Ale napiszą: przepraszam, nie, bo albo upłynął okres składania wniosków, albo nie kwalifikujesz się zgodnie ze swoim statusem. Ale nie mam możliwości dotarcia gdzieś wyżej niż właściciele funduszu, po prostu nie mam takich kontaktów.”

Jednak posty o problemie Żeńki zaczęły szybko rozprzestrzeniać się w sieciach społecznościowych. W ciągu pierwszych dni zebraliśmy około 50 000 rubli z wymaganych 12 000 euro. Nie ma zbyt wiele czasu na przygotowania, ale wiele osób już pisze do Zhenyi w sprawie wsparcia. Być może wszystko się ułoży.

Chętnie zakończę ten długi tekst o powrocie bohatera z Austrii nowym i mocnym doświadczeniem. Albo otrzymanie grantu na jeden z projektów i zdjęcie z nowego laboratorium. Ale tekst zatrzymał się w pokoju w akademiku, gdzie są dwie szafy, dwa łóżka, dwa stoły, dwie półki i lodówka.

Wydaje mi się, że potrzebne są duże środowiska zawodowe, aby sobie nawzajem pomagać. Żona Niekrasowa potrzebuje pieniędzy, przydatnych kontaktów, pomysłów, porad, czegokolwiek. Podnieśmy naszą karmę.

Kontakty Żeńki i inne ważne postacieE-mail: [email chroniony]
Телефон: +7-914-968-93-21
Telegram i WhatsApp: +7-999-057-85-48
githubie: github.com/Ravino
vk.com: vk.com/ravino_doul

Dane do przelewu środków:
Numer karty: 4276 5000 3572 4382 lub numer telefonu +7-914-968-93-21
Portfel Yandex według numeru telefonu +7-914-968-93-21

Adresat: Niekrasow Jewgienij

Źródło: www.habr.com

Dodaj komentarz