Si është të dëgjosh kodin me shpejtësi 1000 fjalë në minutë

Historia e një tragjedie të vogël dhe fitoreve të mëdha të një zhvilluesi shumë të mirë, i cili ka nevojë për ndihmë

Si është të dëgjosh kodin me shpejtësi 1000 fjalë në minutë

Në Universitetin Federal të Dajnevostokut ka një qendër për aktivitet projektues — aty masterët dhe bachelorët gjejnë projekte inxhinierike, të cilat tashmë kanë klientë, para dhe perspektiva. Aty zhvillohen gjithashtu leksione dhe intensive. Specialistët e trajnuar flasin për gjëra moderne dhe praktike.

Një nga intensive ishte e dedikuar për aplikimin e sistemit të kontejnerizimit Docker për computim të shpërndarë dhe orkestrim. Në të morën pjesë masterët dhe doktorantët e matematikës praktike, inxhinierisë, përgatitjes së softuerit dhe fushave të tjera teknike.

Mësuesi ishte një djalë me syze të errëta, me një stil moderne flokësh, me shall, i komunikueshëm dhe shumë i sigurt — veçanërisht për një student 21-vjeçar në vitin e dytë. Ai quhet Evgeny Nekrasov, ai nisi studimet në Dajnevostok vetëm dy vjet më parë.

Wunderkind

«Po, ndonëse ata ishin më të vjetër dhe më të njohur, nuk mund të them se ishin më me përvojë. Përveç kësaj, ndonjëherë unë mbaja leksione për shokët e mi të grupit në vend të instruktorit tonë. Në një moment, kuptuam se ai nuk mund të më jepte më asgjë për Programimin Objektiv, prandaj herë pas here mbaja leksione për OOP, zhvillimin modern, GitHub dhe përdorimin e sistemeve të kontrollit të versioneve».

Si është të dëgjosh kodin me shpejtësi 1000 fjalë në minutë

Evgeni mund të shkruajë në Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C dhe Assembler. «JavaScript e njoh më mirë, të tjerat janë një apo dy nivele më poshtë. Por mund të programoj një kontrollues në Rust ose C++ për një orë. Nuk i kam mësuar këto gjuhë me qëllim. I kam studiuar për detyrat që më janë dhënë. Mund të integrohem në çdo projekt duke studiuar dokumentacionin dhe manualet. E di sintaksën e gjuhëve dhe cila duhet të përdoret nuk ka shumë rëndësi. Po ashtu me framework-et dhe bibliotekat — mjafton të lexoj dokumentacionin dhe kuptoj se si funksionon. Çdo gjë përcaktohet nga fusha e aplikimit dhe detyra».

Evgeni ka filluar të studiojë programimin në mënyrë intensive që nga viti 2013. Një mësues shkollor iinformatikës, që kishte qenë plotësisht i verbër, e tërhequr nga shkencat kompjuterike. Rrugëtimi filloi me uebin — HTML, JavaScript, PHP.

„Më intereson thjesht. Flijoj pak gjumë — gjithmonë jam i angazhuar me diçka, lexoj, studioj.”

Në vitin 2015, Evgeni aplikoi në konkursin „Umnik” për mbështetje teknike të projekteve të rinjve shkencëtarë mbi tetëmbëdhjetë vjeç. Por ai nuk kishte mbushur tetëmbëdhjetë, prandaj nuk arriti të fitonte në konkurs — përkundrazi, Evgenin e vuri re komuniteti lokal i zhvilluesve. Ai u njoh me Sergey Milekhinin, i cili atëherë organizonte konferenca në Vladivostok si pjesë e Google Developer Fest. „Ai më ftoi atje, shkova, dëgjova, më pëlqeu. Vitin tjetër erdha përsëri, u njoh më shumë me njerëz dhe bisedova.”

Andi Sitnik nga bashkësia VLDC filloi të ndihmojë Evgenin me projektet e tij të uebit. «Më duhej të ndihmoja një aplikacion me shumë procese për përpunimin e soketeve të uebit. Kam menduar gjatë se si ta bëj këtë në PHP dhe iu drejtova Andit. Ai më tha, 'merr node.js, paketat npm që gjenden në internet, dhe mos u shqetëso. Dhe në përgjithësi, të zhvillosh me kod të hapur është shkëlqim'. Prandaj, përmirësova anglishten time, fillova të lexoj dokumentacionin dhe të publikoj projekte në GitHub.»

Në vitin 2018, Evgeni ka folur tashmë në Google Dev Fest me prezantimet e tij, duke folur për zhvillimet në fushën e ndërfaqeve të accesueshme, protezave të ekstremiteteve të sipërme, zhvillimin e neurointerfazëve dhe sistemeve të kontrollit për qasje pa kontakt. Tani, Evgeni është në vitin e dytë të studimeve të bachelorit në drejtimin 'Inxhinieri Softuerike', por tashmë e ka përfunduar me sukses dhe po përfundon punimin përfundimtar.

«Më thanë të realizoja një strukturë të dhënash në një tabelë hash. Kjo është një gjë standarde që i jepet të gjithëve në universitet. Arrita të shkruaj 12 mijë rreshta kod dhe shumë 'zgjidhje'», thotë Evgeni me humor, «Ndërsa kam ndërtuar një tabelë hash dhe strukturën e saj të ndryshuar në JavaScript për të lexuar më shpejt të dhënat. Dhe profesori thotë: 'Më duhet ta shkruash, siç do të ishte më e lehtë për mua — për ta vlerësuar'. Ishte shumë e shqetësueshme».

Projektet personale të Evgenit duken shumë më interesante. Projekti i tij i parë është zhvillimi i standardeve të uebit për njerëzit me aftësi të kufizuara fizike. Ai dëshiron të krijojë një burim që përmban teknologji asistive nga kutia, në mënyrë që njerëzit me probleme shikimi të mund t'i përdorin ato lehtësisht dhe të mos kenë dyshime se ndonjë informacion do t'u mbetet i paarritshëm. Evgeni e njeh mirë këtë problem, sepse ai ka humbur vetë shikimin.

Lëndimi

Dikur isha një adoleshent i zakonshëm, me të gjitha gjymtyrët e mia në vend. Në vitin 2012, u plagos. Dola për një shëtitje me një mik, gjetëm një kanister në rrugë dhe ai shpërtheu në duar të mia. Më shkoi dora e djathtë, dora e majtë u plagos, ndjeva humbje të shikimit dhe dëgjimit. Për gjashtë muaj, thjesht qëndrova në tavolinat e operacionit.

Dora e majtë u rindërtua me pjesë, vendosën pllaka dhe spirale. Pas pesë muajsh, arrita të punoj me të.

Pas lëndimit, nuk shihja asgjë. Por mjekët arritën të rikthenin ndjenjën e dritës. Nga syri im nuk kishte mbetur asgjë përveç membranës. Brenda gjithçka u zëvendësua — trupat e qelqit, kristalet. Të gjitha që ishte e mundur.

Në vitin 2013, Zhenya filloi të mësojë në një shkollë korrigjuese për fëmijët me probleme vizuale. Ai mësues informate që ishte plotësisht i verbër, e mësoi atë si të përdorte kompjuterin përsëri. Për këtë përdoren programe speciale — skrinriderë. Ato qasen në API-në e sistemeve operative për të marrë qasje në ndërfaqe dhe për të ndryshuar paksa mënyrën e menaxhimit.

Zhenya e quanë i pasionuar pas linuksit, ai përdor Debian. Me anë të tastierës ai lëviz në elementet e ndërfaqes, ndërsa sintetizuesi i zërit lexon atë që po ndodh.

«Tani do të dëgjosh thjesht kozmike», - më thotë ai para se të aktivizojë programin.

Kjo tingëllon si një kod apo bisedë jashtëtokësore, por në të vërtetë është thjesht një gjuhë normale ruse ose angleze, vetëm se sintetizuesi flet me një shpejtësi të pabesueshme për veshin e pakësuar.

«Të mësosh këtë nuk ishte e vështirë. Në fillim punoja në Windows dhe përdorja programin e leximit të ekranit Jaws. E përdorja dhe mendohesha, 'o Zot, si mund të punosh me një shpejtësi kaq të ngadalshme'. E rritëm dhe kuptova që veshët filluan të përkulin. E ktheva mbrapsht, dhe gradualisht fillova të rris çdo javë me 5-10 përqind. E kam rritur sintetizuesin në njëqind fjalë, pastaj edhe më shumë, më shumë dhe më shumë. Tani ai më flet një mijë fjalë në minutë.»

Zhenya shkruan në një redaktor të zakonshëm teksti — Gedit ose Nano. Ai kopjon burimet nga GitHub, nis një lexues ekranin dhe dëgjon kodin. Që të mund të lexojnë dhe kuptojnë pa probleme të tjerë zhvillues, ai përdor gjithmonë linters dhe konfigurime. Por Zhenya nuk mund të përdorë mjedise zhvillimi, sepse ato nuk janë të aksesueshme për njerëzit e verbër për shkak të mënyrës së implementimit të tyre.

«Ato janë krijuar në një mënyrë që dritarja e tyre përcaktohet nga sistemi, dhe gjithçka brenda dritares — lexuesi i ekranit nuk e sheh, sepse nuk ka qasje. Unë kam kontaktuar drejtpërdrejt me JetBrains për të përpjekur të bëj disa patch-e në mjediset e tyre. Ata më dërguan burimet e PyCharm. IDE është e implementuar në IntelliJ IDEA, prandaj të gjitha ndryshimet do të mund të aplikohen edhe atje, edhe këtu».

Një pengesë tjetër është mosrespektimi i standardeve të zakonshme në web. Për shembull, ne shohim në faqe një titull të madh. Shumë zhvillues e realizojnë atë me etiketën span, për të rritur madhësinë e shkrimit, dhe si rezultat duket normale. Por duke qenë se teksti nuk është një titull për sistemin, lexuesi i ekranit nuk e njeh atë si një element menu, dhe nuk lejon të ndërveprohet.

Zheni e lehtë të përdorë versionin celular të "Vkontakte", por eviton Facebook-un: "VK për mua është e përshtatshme, sepse ka një listë të veçantë të menusë për navigimin. Aty janë elementët dhe titujt që përfaqësojnë ndarje semantike të faqes. Për shembull, titulli i nivelit të parë, ku është emri im i përdoruesit — e di që ky është titulli i faqes. E di që titulli ‘mesazhet’ ndan faqen, dhe poshtë ka një listë dialogësh."

Facebook-u propogon aksesin, megjithatë në realitet është kaq keq saqë asgjë nuk kuptohet. E hap atë — dhe programi fillon të ngecë, faqja ngadalësohet shumë, çdo gjë lëviz përherë. Kudo ka vetëm butona, dhe unë mendoj: ‘si mund të punoj me këtë?!’ Do ta përdor vetëm nëse ta kompletoj klientin tim ose të lidh një palë të tretë."

Studimet

Zhenya jeton në Vladivostok në një konvikt universitar të zakonshëm. Ka banjo në dhomë, dy dollapë, dy krevate, dy tavolina, dy rafte, frigorifer. Asnjë pajisje speciale, por sipas tij — nuk janë të nevojshme. "Dëmtimi i shikimit nuk do të thotë që nuk mund të ec ose nuk do të gjej kalimin. Por ndoshta do ta kisha ndihmuar veten me një shtëpi të zgjuar, po të kisha burime. Thjesht nuk kam para për të blerë komponente. Për një student, shpenzimi i pesë mijë për një bord vetëm për ta provuar — është shumë i pakët."

Zhenya jeton me një vajzë, ajo ndihmon shumë në punët e shtëpisë: "të bëjë sandviçë, të vërë çaj, të lajë rrobat. Prandaj, kam më shumë kohë për t'u çlodhur dhe për të bërë atë që më pëlqen."

Për shembull, Zhenya ka një grup muzikor ku luan në gitarë elektrike. E ka mësuar pas lëndimit. Në 2016 ai kaloi tre muaj në një qendër rehabilitimi, ku kërkoi ndihmë me gitarën nga një mësues. Në fillim luante me një gjilpërë xhinse të kthyer në të kundërt. Pastaj kreu një piskatore.

Mora një bandazh për forcimin e dorës, që përdoren, për shembull, karateistët, e kam prerë në vendet e ndarjes së gishtave dhe e kam vënë në parakrah. Ka një jastëk pehmashi, i cili mbroh dorën nga dëmtimet — për të, kam qëndisur një mediatur, që vëllai im e ka prerë nga një spatul plastik. Kështu kam marrë një gjuhë të gjatë plastike, me të cilën luaj në tela — duke e goditur dhe duke bërë akorde.

Shkalla e zërit e ka çarë membranat e veshëve, prandaj Zhenja nuk dëgjon frekuencat e ulëta. Në gitare të tij nuk ka telin e gjashtë (teli më i ulët), dhe teli i pestë është i rregulluar ndryshe. Ai luan kryesisht pjesët solistike.

Por aktivitetet kryesore mbeten zhvillimi dhe hulumtimi.

Proteza e dorës

Si është të dëgjosh kodin me shpejtësi 1000 fjalë në minutë

Një nga projektet është zhvillimi i një proteze për ekstremitetet e sipërme me një sistem të mençur menaxhimi. Në vitin 2016, Zhenja iu drejtua një personi që merrej me zhvillimin e protezave dhe filloi t'i ndihmojë atij me testimin. Në vitin 2017, ata morën pjesë në hackathonin 'Neurostart'. Në ekipin e tre personave, Zhenja programoi kontrolluesit e nivelit të ulët. Dy të tjerë konstruktuan vetë modelet dhe mësuan rrjete neuronale për sistemin e menaxhimit.

Aktualisht, Zhenya ka marrë përsipër tërë pjesën programore të projektit. Ai përdor brendin Myo Armband për të lexuar potencialet e muskujve, ndërton maska mbi to dhe aplikon modelet e rrjeteve nervore për njohjen e gjesteve — kjo është ajo që e mbështet sistemin e kontrollit.

«Brendi ka tetë sensorë. Ata transmetojnë ndryshimet e potencialeve në çdo pajisje hyrëse. E kam rimbushur SDK-në e tij vetë, kam dekompiluara gjithçka që është e nevojshme, dhe kam shkruar librarinë time në Python për të lexuar të dhënat. Sigurisht, të dhënat janë të pamjaftueshme. Edhe sikur të vendos një miliard sensorë në lëkurë, përsëri nuk do të mjaftonin. Sipërfaqja e lëkurës lëviz mbi muskujt dhe të dhënat përzihen».

Në të ardhmen, Zhenya planifikon të vendosë disa sensorë nën lëkurë dhe në muskuj. Ai do ta provonte këtë tashmë — por në Rusi janë të ndaluara operacione të tilla. Nëse kirurgët implantojnë pajisje të paqartifikuara nën lëkurën e një personi, do të humbin diplomën. Megjithatë, një sensor Zhenya e ka mbyllur në dorë — një etiketë rfid, si në çelësat elektronikë, për të hapur portën e hyrjes ose çdo çelës tjetër me të cilin çelësi do të jetë i lidhur.

Syri artificial

Së bashku me Bogdan Shcheglov, biohemiistin dhe biofizikantin, Zhenya po punon mbi një prototip të syrit artificial. Bogdan merret me modelimin 3D të globit të syrit dhe lidhjen e të gjitha mikroçipave në modelin tri-dimensional me nervin optic, ndërsa Zhenya po ndërtan një model matematikor.

«Ne hulumtuam një sasi të madhe literaturë në lidhje me analogët ekzistues, teknologjitë që ishin në treg dhe që janë tani, dhe kuptuam se njohja e imazheve nuk është e rëndësishme. Përkundrazi, mësuam se më parë ishte krijuar një matricë për regjistrimin e fotoneve dhe energjisë së tyre. Vendosëm të zhvillojmë një matricë të ngjashme në një përmasë më të vogël, e cila do të ishte në gjendje të regjistronte të paktën një grup minimal fotonash dhe, mbi këtë bazë, të ndërlidhte një impuls elektrik. Kështu ne heqim një shtresë ndërmjetëse të imazhit të qartë dhe njohjen e tij — ne thjesht punojmë direkt.»

Si përfundim do të rezultojë një të parë jo krejtësisht në kuptimin klasik. Por siç thotë Zhenya, pjesa e mbetur e nervit optik duhet të percepëjë ngarkesat elektrike siç bënë syri i vërtetë. Në vitin 2018, ata diskutuan projektin me rektorin e Universitetit Teknik Detar, Gleb Turishin dhe mentorin e Skolkovo, Olga Velichko. Ata konfirmuan se ky problem mund të zgjidhet me teknologjitë që ekzistojnë tashmë në botë.

«Por ky problem është edhe më i komplikuar se zhvillimi i protezave. Ne nuk mund të kryejmë madje eksperimente në breshkat për të provuar sa cilësore gjeneron retinën impulsat, si varen ato nga ndriçimi i ndryshëm, cilat zona gjenerojnë më shumë dhe cilat më pak. Nevojitet financim që do të na lejonte të merrnim një laborator dhe të punësonim njerëz për të dekompozuar detyrat dhe për të shkurtuar kohët. Përveç kostove për të gjitha materialet e nevojshme. Si zakonisht, gjithçka varet nga paratë».

Burokracia

Bogdan dhe Zhenya i janë drejtuar Skolkovo për financim, por kanë marrë një refuzim — atje pranohet vetëm produkte të gatshme me potencial komercial, jo projekte kërkimore në fazën fillestare.

Pavarësisht nga jashtzakonshmëria në historinë e Zhenjës, për aftësitë e tij dhe sukseset inspiruese — çudit një fatkeqësi burokratike e çuditshme. Kjo është veçanërisht e pakëndshme për t'u dëgjuar në sfondin e lajmeve. Ja, një «produkt i nevojshëm për njerëzit» (aplikacion për foto, optimizimi i reklamave ose lloje të reja bisedash) merr miliona dollarë të ardhura dhe investime. Ndërsa një entuziast i panjohur nuk di çfarë të bëjë me idetë e tij.

Këtë vit, Zhenja fitoi një stazh të lirë për gjashtë muaj në Austri përmes një programi partneriteti midis universiteteve — por nuk mund të shkojë atje. Për të konfirmuar vizën, nevojiten garanci që ai ka para për strehim dhe jetë në Salzburg.

«Kërkesa në fonde nuk dha rezultate, sepse financimi bëhet vetëm për programet e plota të diplomës», thotë Zhenja, «Kërkesa në vetë universitetin e Salzburgut gjithashtu — universiteti nuk ka diohshime dhe nuk mund të na ndihmojë me strehimin.»

Kam shkrova në dhjetë fonde, dhe prej tyre më përgjigjën vetëm tri ose katër. Madje më thanë se diploma ime nuk i përshtatet — ata duan master dhe më lart. Arsyetimet e mia shkencore në Bachelor nuk njihen nga ta. Nëse je student në një universitet vendas, je Bachelor dhe merresh me kërkime teknike, atëherë brenda universitetit mund të dorëzosh dokumentet. Por për një person nga jashtë, fatkeqësisht, kjo mundësi nuk ekziston.

I kam drejtuar një numër të ngjashëm fondeve ruse. Në Skolkovo më thanë: më fal, por ne punojmë vetëm me masterë. Në fonde të tjera më thanë se nuk kanë financim për gjashtë muaj, ose punojnë vetëm me programe diplomimi, ose nuk financojnë individë fizikë. Ndërsa nga fondet e Prokhorov dhe Potanin, nuk mora asnjë përgjigje.

Nga Yandex kam marrë një letër që thotë se ata merreshin me bamirësi të madhe dhe kompania aktualisht nuk ka financim, por më uruan për të mirat më të mira.

I even agreed to contract-targeted funding that would allow me to study abroad, and as a result, I would bring something back for the company. But everything stops due to low communication levels. I understand what this is related to. People who work with phone calls and emails only handle documents. They see that an application has come in, it might even be great. But they'll write: sorry, no, because either the application deadline has passed, or you don't qualify. And I have no way to get to the fund owners, I simply don't have those contacts.

But posts about Zhenya's problem quickly started spreading on social media. In the first few days, about 50,000 rubles were raised — out of the needed 12,000 euros. There isn't much time for collection, but many are already writing to Zhenya offering support. Perhaps everything will work out.

I would be happy to finish this long text with the hero's return from Austria with a new powerful experience. Or with receiving a grant for one of the projects and a photo from the new lab. But the text stops in the dorm room, where there are two wardrobes, two beds, two desks, two shelves, and a refrigerator.

Mendoj se komunitetet e mëdha profesionale janë të nevojshme për të ndihmuar njëri-tjetrin. Zhena Nekrasov ka nevojë për para, kontakte të dobishme, ide, këshilla, gjithçka që është e nevojshme. Le të ngrisim karmën tonë.

Kontaktet e Zhena dhe numra të tjerë të rëndësishëme-mail: evgeniy@nekrasov.pw
Telefoni: +7-914-968-93-21
Telegram dhe WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Detajet për transferimin e fondeve:
Numri i kartës: 4276 5000 3572 4382 ose nëpërmjet numrit të telefonit +7-914-968-93-21
Portofoli Yandex me numrin e telefonit +7-914-968-93-21

Adresati: Nekrasov Evgeny

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster