Milyen érzés kódot hallgatni 1000 szó per perc sebességgel

Egy tehetséges fejlesztő kis tragédiáinak és nagy győzelmeinek története, aki segítségre szorul

Milyen érzés kódot hallgatni 1000 szó per perc sebességgel

A Távol-Keleti Szövetségi Egyetemen van egy projektfejlesztési központ - itt a mesterképzéses és alapdiplomás hallgatók olyan mérnöki projekteket találnak, amelyeknek már vannak megrendelőik, pénzük és jövőjük. Emellett előadásokat és intenzív kurzusokat is tartanak. Tapasztalt szakemberek beszélnek a modern és alkalmazott témákról.

Az egyik intenzív kurzus a Docker konténerizációs rendszer alkalmazásáról szólt elosztott számítástechnikai és orchestration feladatokhoz. Rá a mesterképzéses és doktori hallgatók jöttek, akik alkalmazott matematikát, mérnöki tudományokat, szoftverfejlesztést és más műszaki területeket tanulnak.

Az oktató egy sötét szemüveget viselő fiatal, divatos frizurával, sálban, aki társaságkedvelő és rendkívül magabiztos - különösen egy másodéves, 21 éves hallgatóhoz képest. A neve Jevgenyij Nekraszov, mindössze két éve jelentkezett a DVFУ-ba.

Zseni

„Igen, idősebbek és rangosabbak voltak, de nem mondhatom, hogy tapasztaltabbak is. Ezen kívül néha én tartottam előadásokat a csoporttársaimnak a mi oktatónk helyett. Egy idő után rájöttünk, hogy nem tud már semmit tanítani az Objektumorientált Programozásról, ezért időnként én tanítottam helyette az OOP-ról, a modern fejlesztésről, a GitHub-ról és a verziókezelő rendszerek alkalmazásáról.”

Milyen érzés kódot hallgatni 1000 szó per perc sebességgel

Jevgenyij tud programozni Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C és Assembler nyelveken. „A JavaScriptet jobban ismerem, a többivel egy-két szinttel gyengébben bánok. De ezt leszámítva, egy vezérlő programot Rustban vagy C++-ban egy óra alatt meg tudok írni. Ezeket a nyelveket nem tanultam célirányosan. Azokat tanultam, amelyekkel a rám szabott feladatok foglalkoztak. Bármelyik projektbe be tudok kapcsolódni, ha elolvashatom a dokumentációt és a kézikönyveket. Ismerem a nyelvek szintaxisait, és hogy melyiket használom, az nem különösebben számít. Ugyanez a keretrendszerekre és könyvtárakra is igaz - elég, ha elolvasom a dokumentációt, és értem, hogyan működik. Mindig a szakterület és a feladat határozza meg a dolgot.”

Jevgenyij 2013 óta sürgetve tanulmányozza a programozást. A vak informatika tanára felkeltette az érdeklődését a számítástechnika iránt. Az út a weboldalakkal indult - HTML, JavaScript, PHP.

„Csak érdekel. Keveset alszom - folyamatosan elfoglalt vagyok, valamit olvasok, tanulmányozok.”

2015-ben Jevgenyij pályázott a „Zseni” versenyre, amely támogatja fiatal tudósok technikai projektjeit, akik tizennyolc évesek. De neki még nem volt tizennyolc, így nem tudott nyerni a versenyen — de Jevgenyit észrevette a helyi fejlesztői közösség. Megismerkedett Szergely Milehin-nel, aki éppen konferenciákat szervezett Vlagyivosztokban a Google Developer Fest keretében. "Meghívott oda, elmentem, hallgattam, tetszett. A következő évben újra elmentem, egyre több emberrel ismerkedtem meg, beszélgettem".

Andrej Szitnyik a VLDC közösségből segíteni kezdett Jevgenyijnek a webes projektjeiben. "Szükségem volt egy többszálú alkalmazás felépítésére a webszerver kapcsolat feldolgozására. Hosszú ideig gondolkodtam azon, hogyan lehetne ezt megoldani PHP-ban, és Andrejhez fordultam. Azt mondta, 'használj node.js-t, az interneten elérhető npm csomagokat, és ne törd a fejed. Egyébként a nyílt forráskódú dolgokat támogatni menő'. Ezért fejlesztettem az angolomat, elkezdtem dokumentációkat olvasni és kitettem projekteket a GitHubra."

2018-ban Jevgenyij már a Google Dev Fest-en beszélt saját előadásain, ahol a hozzáférhető interfészek, a felső végtagok protézisei, a neurointerfészek fejlesztése és a kontaktus nélküli hozzáférési rendszerek munkáiról beszélt. Jelenleg Jevgenyij a második bájkaláról tanul a 'Szoftverfejlesztés' szakon, de már sikeresen befejezte, és most írja a záró munkáját.

"Azt mondták, hogy valósítsam meg az adatstruktúrát hash táblában. Ez egy standard dolog, amit mindenki kap az egyetemen. Nekem 12 ezer sor kód és sok workaround jött össze" – mondja Jevgenyij nevetve, – "Felépítettem egy hash táblát és annak módosított struktúráját JavaScript-ben, hogy gyorsabban lehessen beolvasni az adatokat. Az oktatóm azt mondja: 'szükségem van arra, hogy leírd, hogyan tudod ezt egyszerűbben megcsinálni — hogy ezt értékelni tudjam'. Nagyon bosszantó volt."

Jevgenyij személyes projektjei sokkal érdekesebbek. Az egyik az, hogy webes szabványokat dolgozzon ki mozgáskorlátozott emberek számára. Azt szeretné, hogy egy olyan forrást hozzon létre, amely dobozból való asszisztív technológiát tartalmaz, hogy a látássérült emberek könnyen tudják használni és ne kétségeskedjenek abban, hogy bármilyen információ elérhetetlen lesz számukra. Jevgenyij jól ismeri ezt a problémát, mivel ő maga is elvesztette a látását.

Sérülés

„Régebben egy átlagos tinédzser voltam, minden végtagom a helyén. 2012-ben robbantottam. Kimentem egy barátommal sétálni, találtam egy palackot az utcán, és az a kezembe robbant. A jobb csuklómat elszakította, a balot megsebesítette, a látásom károsodott, a hallásom csökkent. Fél éven keresztül csak műtéti asztalakon feküdtem.

A bal csuklómat darabokra szedték, lemezeket és tüskéket tettek bele. Öt hónap elteltével tudtam használni.

A balesetem után egyáltalán nem láttam. De az orvosoknak sikerült visszaállítaniuk a fényérzékelést. Az ötletemből nem maradt más, csak a burok. Bent mindent kicseréltek — üvegtestek, lencsék. Minden, ami lehetséges.”

2013-ban Zseni iskolába ment, amely a látáscsökkentésű gyermekek számára készült. Az a számítástechnikai tanár, aki teljesen vak volt, újra megtanította neki, hogyan használja a számítógépet. Ehhez speciális programokat használnak — képernyőolvasókat. Ezek API-hívásokat használnak az operációs rendszerekhez, hogy hozzáférjenek a felhasználói felülethez, és egy kicsit megváltoztassák az irányítás módját.

Zseni elmondja, hogy igazi Linux-rajongó, Debian-t használ. A billentyűzettel mozog az interfész elemei között, és a beszédszintetizátor felolvassa, ami történik.

„Most hallani fogod a valóságot”, mondja nekem, mielőtt elindítja a programot.

Ez olyan, mint egy titkos kód vagy idegen nyelv, de valójában egy egyszerű orosz vagy angol nyelv, csak a szintetizátor hihetetlen sebességgel beszél a nem képzett fülnek.

„Ezt megtanulni nem volt nehéz. Kezdetben Windows alatt dolgoztam és a Jaws képernyőolvasót használtam. Használgattam és gondoltam, „úristen, hogyan lehet ilyen lassú sebességgel dolgozni.” Fokozatosan megnöveltem a sebességet minden héten 5–10 százalékkal. A szintetizátort ezer szóra pörgettem fel, majd még többre, és még többre. Most már ezer szót mond el egy perc alatt.”

Zseni egy sima szövegszerkesztőben dolgozik — Gedit vagy Nano. Forráskódokat másol GitHubról, elindítja a képernyőolvasót, és hallgatja a kódot. Hogy más fejlesztők problémamentesen olvashassák és érthessék, széleskörűen használ lintereket és konfigurációkat. De Zseni nem tud integrált fejlesztőkörnyezetet használni, mert azok a megvalósításuk miatt nem elérhetőek a vakok számára.

„Olyan módon készültek, hogy az ablakukat a rendszer határozza meg, és minden, ami az ablakon belül van, a képernyőolvasó számára láthatatlan, mert nem tud hozzáférni. Jelenleg közvetlenül a JetBrains-szel léptem kapcsolatba, hogy megpróbáljunk néhány javítást bevezetni a fejlesztőikbe. Elküldték nekem a PyCharm forráskódját. Az IDE az IntelliJ Idea-ra épül, tehát minden változtatás alkalmazható ott is, és itt is.”

Egy másik akadály a weben a közös szabványok be nem tartása. Például egy nagy cím látható az oldalon. Sok fejlesztő a span tag segítségével valósítja meg, hogy a betűtípus a kívánt méretre nőjön, és ennek eredményeként ez normálisan néz ki. De mivel a szöveg nem címsor a rendszer számára, a képernyőolvasó nem ismeri fel menüelemként, és nem engedi az interakciót.

Zseni könnyen használja a mobil verziót a VKontakte-on, de elkerüli a Facebookot: „A VK nekem kényelmes, mert van külön navigációs menülista. Abban olyan elemek és címek vannak, amelyek számomra a lap szemantikai felosztását jelentik. Például az első szintű cím, ahol a becenevem szerepel — tudom, hogy ez az oldal címe. Tudom, hogy a „Üzenetek” cím elválasztja az oldalt, és alatta a párbeszédek listája található.”

A Facebook hirdeti a hozzáférhetőséget, de a valóságban annyira rossz, hogy semmit sem lehet érteni. Megnyitom — és a program elkezd akadozni, az oldal borzasztóan lassú, minden ugrál. Mindenhol gombok vannak, és én meg kérdezem: „Hogy lehet ezzel dolgozni?!” Csak akkor fogom használni, ha javítok a kliensen vagy külső megoldásokat csatlakoztatok.”

Kutatások

Zseni Vlagyivosztokban él egy átlagos egyetemista kollégiumban. A szobában fürdőszoba, két szekrény, két ágy, két asztal, két polc, hűtőszekrény található. Nincsenek különleges kütyük, de elmondása szerint — ezekre nincs is szüksége. „A látásromlás nem jelenti azt, hogy nem tudok járni vagy nem találok átjárót. De talán szívesen felszerelnék egy okosotthont, ha lennének rá anyagi forrásaim. Egyszerűen nincs pénzem alkatrészekre költeni. Egy diáknak öt ezer forintot áldozni egy lapra, hogy csak megnyomogassa — ez nagyon nem éri meg.”

Zseni a barátnőjével él, aki sokat segít a mindennapi életben: „kenyérre való krémet kenni, teát tölteni, mosni. Ezért több időm maradt a pihenésre és a kedvenc hobbijaimra.”

Például Zseniának van egy zenekara, ahol elektromos gitáron játszik. Ezt szintén a sérülése után tanulta meg. 2016-ban három hónapot töltött egy rehabilitációs központban, ahol segíteni kérte a gitártémájú tanárt. Eleinte a kabátujjával játszott, ami kifordítva volt. Aztán készített egy pengetőt.

„Vettem egy csuklótámaszt, ami például a karateban használt, a hüvelykujjak szétválasztásánál levágva, és feltettem a félkarra. Van benne egy szivacsos párna, amely védi a csuklót a sérülésektől — ehhez erősítettem hozzá a pengetőt, amelyet a testvérem vágott ki egy műanyag spatulából. Így lett egy hosszú műanyag nyelvem, amivel a húrokon játszom — pengetéssel és ütögetéssel.”

A robbanás szétszakította a dobhártyákat, ezért Zseniának nem hallja az alacsony frekvenciákat. A gitárján nincs hatodik (a legalacsonyabb) húr, és az ötödik is másképp van hangolva. Főleg szólókat játszik.

De a fő tevékenységek a fejlesztés és a kutatás.

Kézprotézis

Milyen érzés kódot hallgatni 1000 szó per perc sebességgel

Az egyik projekt az okos vezérlőrendszerrel ellátott felső végtagok protézisének kifejlesztése. 2016-ban Zseniához fordult, aki a protézis fejlesztésével foglalkozott, és segítséget kért a teszteléshez. 2017-ben részt vettek a „Neurostart” hackathonon. A három fős csapatban Zseniá a low-level kontrollereket programozta. A másik két fő pedig magukat a modelleket tervezte meg és tanította a neurális hálózatokat a vezérlőrendszerhez.

Jelenleg Zseniá átvette a projekt teljes programozási részét. A Myo Armband karkötőt használja az izmok potenciáljának leolvasására, maszkokat épít ezek alapján, és neurális hálózati modelleket alkalmaz a gesztusok felismerésére, amelyen alapul a vezérlőrendszer.

„A karkötőben nyolc érzékelő található. Ezek a potenciálváltozásokat bármilyen bemeneti eszköznek továbbítják. Én saját kezűleg hajtottam végre az SDK-ját, dekompiláltam mindent, amire szükség volt, és írtam a saját Python könyvtáromat az adatok leolvasásához. Persze, az adatok hiányoznak. Még ha egy milliárd érzékelőt is felteszek a bőrre, akkor is kevés lesz. A bőrfelület elmozdul az izmok felett, és az adatok keverednek.”

A jövőben Zseni tervez több érzékelőt beültetni a bőre alá és az izmaiba. Már most megpróbálná, de Oroszországban tiltanak az ehhez hasonló műtétek. Ha egy sebész nem tanúsított berendezést ültet be valakinek a bőre alá, elveszíti a diplomáját. Mindazonáltal egy érzékelőt Zseni a karjába varrt — egy rfid-jelölőt, mint az elektronikus kulcsoknál, hogy kinyissa a kaput vagy bármilyen zárat, amelyhez kulcsot csatoltak.

Mesterséges szem

Zseni Bogdan Shcheglovval, biokémikussal és biofizikussal dolgozik egy mesterséges szem prototípusán. Bogdan a szemet körülvevő 3D modellek kidolgozásával és az összes áramkör háromdimenziós modelljének összekapcsolásával foglalkozik a látóideggel, míg Zseni matematikai modellt épít.

„Több tonnányi irodalmat tanulmányoztunk a létező analógokkal és a piacon lévő, valamint most létező technológiákkal kapcsolatban, és rájöttünk, hogy a képek azonosítása nem aktuális. Viszont felfedeztük, hogy korábban készítettek egy mátrixot a fotonok és energiájuk regisztrálására. Úgy döntöttünk, hogy kifejlesztünk egy hasonló, kisebb méretű mátrixot, amely legalább a minimális fotonszámot képes regisztrálni, és azok alapján elektromos impulzust képezni. Így megszabadulunk a tiszta kép közvetítő rétegétől és az azonosítástól — egyszerűen közvetlenül dolgozunk.”

Ennek eredményeként a látás nem egészen a klasszikus értelemben fog kialakulni. De ahogy Zseni mondja, a látóideg maradékának úgy kell felfogni az elektromos impulzusok adását, mint a valódi szemét. 2018-ban a tengerészeti műszaki egyetem rektorával, Gleb Turishin kell, és a Skolkovo mentorával, Olga Velichko-val beszélgették a projektet. Ők megerősítették, hogy ezt a feladatot olyan technológiák segítségével lehet megoldani, amelyek már rendelkezésre állnak a világban.

„De ez a feladat még nehezebb, mint a protézisek kifejlesztése. Még kísérletet sem tudunk végezni békákkal, hogy ellenőrizzük, mennyire hatékonyan generálja az impulzusokat a retina, hogyan függenek ezek a különböző fényektől, mely terület generálja a többet, melyik kevesebbet. Finanszírozásra van szükség, amely lehetővé tenné számunkra, hogy laboratóriumot béreljünk és embereket alkalmazzunk a feladatok lebontására és a határidők csökkentésére. Plusz kiadások minden szükséges anyagra. Általában minden a pénzen áll vagy bukik.”

Bürokrácia

Bogdannak és Zsenyának a Szkolkovohoz kellett fordulnia finanszírozásért, de elutasítást kaptak - csak azokat a kész termékeket fogadják el, amelyek kereskedelmi potenciállal rendelkeznek, nem pedig a születésük fázisában lévő kutatási projekteket.

Mindezek fényében, Zseni különös története és inspiráló sikerei mellett - meglepő a furcsa bürokratikus szerencsétlensége. Erről különösen bosszantó hallani a hírek tükrében. Íme, egy újabb "az emberek számára szükséges termék" (fotós alkalmazás, reklámoptimalizálás vagy új típusú chatprogramok) millió dolláros bevételt és befektetést kap. Ezzel szemben egy ismeretlen lelkesedő nem tudja, mit kezdjen az ötleteivel.

Idén Zseni ingyenes féléves képzést nyert Ausztriában az egyetemek közötti partnerségi program keretében - de nem tud elutazni. A vízuma megerősítéséhez garanciák szükségesek, hogy van pénze a bécsi lakhatásra és megélhetésre.

"A támogatásokhoz való fordulás nem hozott eredményt, mert a finanszírozás csak a teljes diploma programokra vonatkozik" - mondja Zseni, - "A salzburgi egyetemhez intézett megkeresés is haszontalan - az egyetemnek nincsenek kollégiumai, és nem tud segíteni a lakhatásban.

Tíz alapítványhoz írtam, és közülük csak három vagy négy válaszolt. Mégpedig azt válaszolták, hogy a tudományos fokozatom nem megfelelő számukra - mesterképzésre és afeletti végzettségre van szükségük. Az én tudományos munkám az alapképzés során nem számít náluk. Ha helyi egyetemista vagy, alapszakos hallgatóként technikai kutatásokkal foglalkozol, akkor az egyetemen belül benyújthatod a pályázatodat. Külföldi számára sajnos nincs ilyen lehetőségük.

Körülbelül ennyi orosz alapítványhoz is fordultam. A Szkolkovo-ban azt mondták: sajnálom, de csak mesterekkel dolgozunk. Más alapítványok azt mondták, hogy nincs finanszírozásuk fél évre, vagy csak diplomás programokkal foglalkoznak, vagy nem finanszíroznak magánszemélyeket. A Prokhorov és a Potanin alapítványokból pedig még válasz sem érkezett.

A Yandex-től érkezett egy levél, hogy ők nagy jótékonysági tevékenységeket folytatnak, és jelenleg nincs finanszírozásuk, de a legjobbakat kívánják nekem.

Még a célzott szerződéses finanszírozásra is hajlandó lettem volna, ami lehetővé tette volna, hogy elmenjek tanulni, és a végén hoznék valamit a cégnek. De minden megakad a kommunikáció alacsony szintjén. Értem, hogy ez mivel függ össze. Az emberek, akik telefonhívásokkal és e-mailekkel foglalkoznak, egyszerűen csak a dokumentumok alapján dolgoznak. Látják, hogy érkezett egy kérelem, lehet, hogy még nagyszerű is. De azt írják: sajnálom, nem, mert vagy lejárt a kérelem határideje, vagy nem felelsz meg a státusznak. Nincs lehetőségem, hogy elérjem a alapítvány tulajdonosait, egyszerűen nincsenek ilyen kapcsolataim.

De a Zseni problémájáról szóló posztok gyorsan elkezdtek terjedni a közösségi médiában. Az első néhány nap alatt körülbelül 50 000 rubelt gyűjtöttünk össze — a szükséges 12 000 euróból. Kicsi az idő a gyűjtésre, de Zseni már sokan írnak a támogatásról. Lehet, hogy sikerül.

Örülnék, ha ezt a hosszú szöveget a hős hazatérésével zárhatnám Ausztriából, új, erőteljes tapasztalatokkal. Vagy egy projekt alapítványi támogatásának megkapásával és egy fotóval az új laboratóriumból. De a szöveg megállt egy kollégiumi szobában, ahol két szekrény, két ágy, két asztal, két polc, és egy hűtőszekrény van.

Úgy érzem, hogy nagy szakmai közösségekre van szükség, hogy segítsük egymást. Zseni Nekrasovnak szüksége van pénzre, hasznos kapcsolatokra, ötletekre, tanácsokra, bármire. Emeljük fel a karmánkat.

Zseni kapcsolatai és egyéb fontos számoke-mail: evgeniy@nekrasov.pw
Telefon: +7-914-968-93-21
Telegram és WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Pénz átutalási adatok:
Kártyaszám: 4276 5000 3572 4382 vagy a telefonszámon: +7-914-968-93-21
Yandex pénztárca telefonszámmal: +7-914-968-93-21

Címzett: Nekrasov Evgeniy

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster