Como é ouvir código a 1000 palavras por minuto

A história de uma pequena tragédia e grandes vitórias de um desenvolvedor muito bom que precisa de ajuda




A Universidade Federal do Extremo Oriente possui um centro para atividades de projeto - lá mestres e solteiros encontram projetos de engenharia para si mesmos, que já têm clientes, dinheiro e perspectivas. Há também palestras e intensivos. Profissionais experientes falam sobre coisas modernas e aplicadas.

Um dos intensivos foi dedicado ao uso do sistema de contêiner Docker para computação distribuída e orquestração. Mestres e estudantes de pós-graduação em matemática aplicada, engenharia, treinamento de software e outras áreas técnicas vieram a ele.

O professor era um cara de óculos escuros, com um penteado moderno, um lenço, sociável e muito confiante - especialmente para uma aluna do segundo ano de 21 anos. O nome dele é Evgeny Nekrasov, ele entrou na FEFU apenas dois anos atrás.



Prodígio infantil


"Sim, eles eram mais velhos e com status, mas não posso dizer que eles são mais experientes. Além disso, às vezes dava palestras aos meus colegas de classe para nosso professor. Em algum momento, percebemos que ele não poderia me dar mais nada com a Programação Orientada a Objetos, então eu periodicamente lecionava para ele sobre OOP, desenvolvimento moderno, GitHub e aplicação de sistemas de controle de versão ".



Eugene pode escrever em Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C ++, C e Assembler. “Conheço JavaScript melhor, o resto - um nível, dois a menos. Mas, ao mesmo tempo, posso programar o controlador em Rust ou C ++ em uma hora. Não aprendi essas línguas de propósito. Estudei-os para as tarefas que me foram dadas. Eu posso participar de qualquer projeto estudando a documentação e os manuais. Conheço a sintaxe dos idiomas e qual deles usar realmente não importa. Também com estruturas e bibliotecas - basta ler a documentação e entendo como ela funciona. Tudo é determinado pela área de assunto e pela tarefa. ”

Eugene estuda intensivamente programação desde 2013. O professor de ciência da computação da escola, que era completamente cego, o interessou em ciência da computação. O caminho começou com a web - HTML, JavaScript, PHP.

Estou apenas curioso. Durmo pouco - estou constantemente ocupado com alguma coisa, lendo, estudando alguma coisa. ”

Em 2015, Eugene se inscreveu no concurso "Homem Inteligente" para apoiar projetos técnicos de jovens cientistas a partir dos dezoito anos de idade. Mas ele não tinha dezoito anos e não pôde vencer a competição - mas Eugene percebeu a comunidade local de desenvolvedores. Ele conheceu Sergey Milekhin, que na época organizava conferências em Vladivostok como parte do Google Developer Fest. “Ele me convidou para lá, eu vim, escutei, gostei. No ano seguinte, ele voltou, tornou-se cada vez mais familiarizado com as pessoas, conversou. ”

Andrey Sitnik, da comunidade VLDC, começou a ajudar Eugene em seus projetos na web. “Eu precisava criar um aplicativo de processamento de soquete da Web com vários threads. Pensei por muito tempo em como fazer isso em PHP e me virei para Andrew. Ele me disse: "pegue o node.js, os pacotes npm que estão na Internet e não desanime. Em geral, mover código-fonte aberto é legal. ” Então, comecei a ler o inglês e comecei a ler a documentação e a carregar os projetos no Github. ”

Em 2018, Eugene já falou no Google Dev Fest com seus relatórios, falou sobre desenvolvimentos no campo de interfaces acessíveis, próteses das extremidades superiores, o desenvolvimento de neuro-interfaces e sistemas de controle de acesso sem contato. Agora Eugene está estudando no segundo ano de graduação na área de “Engenharia de Software”, mas já o concluiu com êxito e está concluindo o trabalho final.

“Disseram-me para implementar uma estrutura de dados em uma tabela de hash. Essa é a coisa padrão que todo mundo em uma universidade dá. Consegui 12 mil linhas de código e um monte de muletas ”, diz Eugene, rindo.“ Criei uma tabela de hash e sua estrutura modificada em JavaScript para ler os dados mais rapidamente. E o professor diz: "Preciso que você escreva, pois é mais fácil para mim - para que eu possa apreciá-lo". Foi muito chato. "

Os projetos pessoais de Eugene parecem muito mais interessantes. O primeiro deles é o desenvolvimento de padrões da web para pessoas com deficiência. Ele deseja criar um recurso que contenha tecnologia assistiva pronta para uso, para que pessoas com deficiência visual possam usá-las facilmente e não tenham dúvidas de que algumas informações não estarão disponíveis para elas. Eugene conhece bem esse problema, porque ele mesmo perdeu a visão.


Lesão


“Eu costumava ser um adolescente comum, com todos os membros no lugar. Em 2012, fiquei impressionado. Saí com um amigo para passear, peguei um balão na rua e ele puxou minhas mãos. Minha mão direita foi arrancada, minha esquerda foi prejudicada, minha visão foi danificada e minha audição reduzida. Por meio ano, fiquei deitado nas mesas de operação.

A mão esquerda foi montada em partes, colocou pratos e agulhas de tricô. Cinco meses depois, pude trabalhar para ela.

Após a lesão, eu não vi nada. Mas os médicos conseguiram restaurar a percepção da luz. Do meu olho, eu não tinha mais nada além de uma concha. Tudo foi substituído por dentro - corpos vítreos, lentes. Tudo isso é possível.

Em 2013, Zhenya foi estudar em uma escola correcional para crianças com deficiência visual. O professor de ciência da computação, que era completamente cego, ensinou-o a usar o computador novamente. Para isso, são utilizados programas especiais - leitores de tela. Eles recorrem às APIs do sistema operacional para obter acesso à interface e alterar ligeiramente a maneira como gerenciam.

Eugene se chama um ávido Linuxoid, ele usa o Debian. Usando o teclado, ele percorre os elementos da interface e um sintetizador de voz exprime o que está acontecendo.

"Agora você ouvirá apenas o cosmos", ele me diz antes de ligar o programa.



Parece uma cifra ou uma conversa alienígena, mas, na realidade, é russo ou inglês comum, é só que o sintetizador fala com uma velocidade incrível para uma audição sem treinamento.

“Aprender isso não foi difícil. No começo, trabalhei no Windows e usei o programa de acesso à tela do Jaws. Usado e pensado: "Senhor, como você pode trabalhar em uma velocidade tão lenta"? Ampliado e percebi que as orelhas estão enroladas em um tubo. Ele devolveu e gradualmente começou a aumentar a cada semana de 5 a 10 por cento. Eu fiz um overclock do sintetizador em cem palavras, depois ainda mais, mais e mais. Agora ele fala comigo mil palavras por minuto.

Eugene escreve em um editor de texto comum - Gedit ou Nano. Ele copia o código fonte do github, inicia o leitor de tela e ouve o código. Para que outros desenvolvedores possam ler e entender sem problemas, ele usa o linter e as configurações em todos os lugares. Mas Zhenya não pode usar o ambiente de desenvolvimento, porque eles não são acessíveis aos cegos por causa de sua implementação.

“Eles são feitos de tal maneira que sua janela é determinada pelo sistema, e o leitor de tela não vê tudo dentro da janela porque não pode acessar. Agora entrei em contato diretamente com o JetBrains para tentar fazer algumas correções no ambiente. Eles me jogaram a fonte do PyCharm. O IDE é implementado no Intellij Idea, para que todas as alterações possam ser aplicadas ali e ali. ”

Outra barreira é a não conformidade com padrões comuns na web. Por exemplo, vemos um cabeçalho grande na página. Muitos desenvolvedores o implementam usando a tag span para puxar a fonte para o tamanho certo e, como resultado, parece bem. Mas como o texto não é um cabeçalho para o sistema, o leitor de tela não o reconhece como um item de menu e não permite a interação.

Eugene usa facilmente a versão móvel do Vkontakte, mas ignora o Facebook: “O VK é conveniente para mim, porque há uma lista separada de menus de navegação. Tem elementos e títulos que são a divisão semântica da página para mim. Por exemplo, o título do primeiro nível, onde meu apelido é indicado - eu sei que esse é o título da página. Eu sei que o título da “mensagem” divide a página e abaixo está uma lista de diálogos.

O Facebook promove a acessibilidade, mas, na realidade, tudo é tão ruim que nada é impossível de entender. Eu abro - e o programa começa a congelar, a página está muito lenta, tudo está pulando para mim. Existem botões sólidos em todos os lugares e eu sou como: "como faço para trabalhar com isso?!" Só o utilizarei se terminar meu cliente ou conectar um terceiro ".


Pesquisa


Zhenya vive em Vladivostok, em um dormitório universitário comum. Uma casa de banho no quarto, dois armários, duas camas, duas mesas, duas prateleiras, uma geladeira. Não há aparelhos especiais, mas de acordo com ele - eles não são necessários. “Deficiência visual não significa que não consigo andar ou encontrar uma passagem. Mas eu poderia e teria prazer em me equipar com uma casa inteligente, se eu tivesse suprimentos. Não tenho dinheiro brega para comprar componentes. É muito inútil para um aluno gastar cinco mil em um quadro para cutucá-lo. "

Eugene mora com a garota, ela ajuda muito no dia a dia: “espalhe sanduíches, sirva chá, lave. Portanto, tive mais tempo para relaxar e fazer minhas coisas favoritas. ”

Por exemplo, Zhenya tem um grupo de música onde ele toca guitarra. Ele também aprendeu após uma lesão. Em 2016, ele passou três meses em um centro de reabilitação, onde pediu ajuda com o violão de um professor. A princípio, ele brincou com a costura de uma camisa virada do avesso. Então ele construiu uma palheta.

“Peguei um curativo para fortalecer o pincel, que é usado, por exemplo, pelos karatekas, rasgou nos lugares dos separadores de dedos e puxei o antebraço. Há uma almofada de espuma que protege a escova contra danos - pulo nela, que meu irmão cortou com uma espátula de plástico. Foi uma língua de plástico tão longa, que eu toco em cordas - rebentando e lutando. ”

A explosão atingiu os tímpanos, então Zhenya não escuta as baixas frequências. Não há sexta (menor) corda no violão, e a quinta é afinada de maneira diferente. Ele toca principalmente partes solo.

Mas as principais ocupações continuam sendo o desenvolvimento e a pesquisa.

Braço protético




Um dos projetos é o desenvolvimento de uma prótese de membro superior com um sistema de controle inteligente. Em 2016, Zhenya procurou um homem que estava desenvolvendo uma prótese e começou a ajudá-lo nos testes. Em 2017, eles participaram do hackathon Neurostart. Em uma equipe de três pessoas, Zhenya programou controladores de baixo nível. Dois outros - projetaram os próprios modelos e ensinaram redes neurais para o sistema de controle.

Agora Zhenya assumiu a parte do programa inteiro do projeto. Ele usa o bracelete Myo Armband para ler potenciais musculares, cria máscaras neles e usa modelos de redes neurais para reconhecer gestos de cima - essa é a base do sistema de controle.

“A pulseira tem oito sensores. Eles transmitem alterações em potencial para qualquer dispositivo de entrada. Pessoalmente, estripou seus SDKs, descompilei tudo o que precisava e escrevi minha biblioteca Python para ler os dados. Obviamente, não há dados suficientes. Mesmo se eu pendurar um bilhão de sensores na minha pele, ainda não é suficiente. A pele se move sobre os músculos e os dados são misturados. ”

No futuro, Zhenya planeja consertar vários sensores sob a pele e os músculos. Ele tentaria agora - mas essas operações são proibidas na Rússia. Se o cirurgião implantar equipamentos não certificados sob sua pele, ele perderá seu diploma. No entanto, um dos sensores que Zhenya costurou na mão - uma etiqueta RFID, como nas chaves eletrônicas, para abrir o interfone ou qualquer trava na qual a chave será amarrada.



Olho artificial


Juntamente com Bogdan Shcheglov, bioquímico e biofísico, Eugene está trabalhando em um protótipo de um olho artificial. Bogdan está envolvido na modelagem 3D do globo ocular e na conexão de todos os microcircuitos em um modelo tridimensional com o nervo óptico. Eugene está construindo um modelo matemático.

“Estudamos uma tonelada de literatura sobre análogos existentes, as tecnologias que estavam no mercado e estão agora, e percebemos que o reconhecimento de imagens não é relevante. Mas eles descobriram que uma matriz havia sido criada anteriormente para registrar fótons e sua energia. Decidimos desenvolver uma matriz semelhante em um tamanho reduzido, capaz de detectar pelo menos um conjunto mínimo de fótons e criar um impulso elétrico baseado neles. Assim, nos livramos da camada intermediária de uma imagem clara e de seu reconhecimento - apenas trabalhamos diretamente ".

O resultado é uma visão que não é inteiramente no sentido clássico. Mas, como diz Zhenya, o restante do nervo óptico deve perceber o suprimento de impulsos elétricos da mesma maneira que no olho real. Em 2018, eles discutiram o projeto com o reitor da Universidade Técnica Marinha Gleb Turishchin e a mentora de Skolkovo, Olga Velichko. Eles confirmaram que esse problema pode ser resolvido com a ajuda de tecnologias que já existem no mundo.

“Mas essa tarefa é ainda mais difícil que o desenvolvimento de próteses. Não podemos nem realizar um experimento com sapos para verificar quão bem a retina gera impulsos, como eles dependem de luz diferente, qual seção gera mais e qual menos. Precisamos de financiamento que nos permita alugar um laboratório e contratar pessoas para decompor tarefas e reduzir o tempo. Além do custo de todos os materiais necessários. Como regra, tudo depende de dinheiro. ”



Burocracia


Bogdan e Zhenya solicitaram financiamento a Skolkovo, mas foram recusados ​​- apenas produtos acabados com potencial comercial chegam lá, e não projetos de pesquisa no estágio inicial.

Com toda a excentricidade da história de Zhenya, com suas habilidades e sucessos inspiradores, uma estranha sorte burocrática de má sorte surpreende. É especialmente irritante ouvir sobre isso no contexto das notícias. Aqui está outro "produto que as pessoas precisam" (aplicativo de fotos, otimização de anúncios ou novos tipos de salas de bate-papo) recebe milhões de dólares em receita e investimento. Mas um entusiasta desconhecido não sabe o que fazer com suas idéias.

Este ano, Zhenya venceu um estudo gratuito de seis meses na Áustria sob um programa de parceria entre universidades - mas ele não pode ir para lá. Para confirmar um visto, você precisa de garantias de que ele tem dinheiro para morar e viver em Salzburgo.

“A inscrição nos fundos não deu nenhum resultado, porque o financiamento é fornecido apenas para programas completos de diploma", diz Zhenya. “A inscrição na própria Universidade de Salzburgo também não possui albergues próprios e não pode nos ajudar com a nossa estadia.

Escrevi para dez fundos e apenas três ou quatro deles me responderam. E eles responderam que meu diploma científico não lhes convém - eles precisam de mestres e superiores. Minhas realizações científicas nos estudos de graduação não são citadas por eles. Se você está estudando em uma universidade local, é bacharel e está envolvido em pesquisas técnicas, pode solicitar documentos na universidade. E para uma pessoa do exterior, infelizmente, eles não têm isso.

Voltei-me para o mesmo número de fundos russos. Em Skolkovo, eles me disseram: desculpe, mas trabalhamos apenas com mestres. Outras fundações me disseram que não têm financiamento por seis meses, ou trabalham apenas com programas de diploma ou não financiam indivíduos. E dos fundos de Prokhorov e Potanin eles nem me responderam.

Recebi uma carta da Yandex de que eles estão envolvidos em uma grande caridade e que a empresa não tem financiamento agora, mas eles me desejam tudo de bom.

Até concordei em financiar contratos, o que me permitiria desaprender e, como resultado, traria algo para a empresa. Mas tudo para em um nível baixo de comunicação. Eu entendo o que isso está conectado. Pessoas que trabalham em telefonemas e e-mails - apenas trabalham em documentos. Eles veem que o aplicativo chegou, pode até ser legal. Mas eles escreverão: desculpe, não, porque o aplicativo expirou ou você não é elegível para o status. E não tenho a oportunidade de ir a um lugar mais alto em relação aos donos do fundo, simplesmente não tenho esses contatos ".

Mas as postagens sobre o problema de Zhenya começaram a divergir rapidamente nas redes sociais. Nos primeiros dias, eles levantaram cerca de 50.000 rublos - dos necessários 12.000 euros. Não há muito tempo para treinamento, mas muitos já escrevem sobre seu apoio a Zhenya. Talvez tudo dê certo.


Eu ficaria feliz em terminar este longo texto sobre o retorno do herói da Áustria com uma nova e poderosa experiência. Ou para receber uma subvenção para um dos projetos e uma fotografia de um novo laboratório. Mas o texto parou em um dormitório, onde há dois armários, duas camas, duas mesas, duas prateleiras, uma geladeira.

Parece-me que são necessárias grandes comunidades profissionais para se ajudarem. A esposa Nekrasov precisa de dinheiro, contatos úteis, idéias, conselhos, qualquer coisa. Vamos aumentar o nosso karma.

Contatos Zhenya e outras figuras importantes
e-mail: evgeniy@nekrasov.pw
Telefone: + 7-914-968-93-21
Telegrama e WhatsApp: + 7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Detalhes para a transferência de fundos:
Número do cartão: 4276 5000 3572 4382 ou pelo número de telefone + 7-914-968-93-21
Carteira Yandex pelo número de telefone + 7-914-968-93-21

Destinatário do acto: Nekrasov Evgeny

UPD: Eugene lançou uma campanha de crowdfunding no GoFundMe

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


All Articles