Meu ano de 2021

Portuguese
Author

Ítalo Epifânio

Published

January 3, 2022

Uma revisão do meu ano de 2021. Pra mim foi um ano de tirar o mofo de algumas paredes: sai de um kitnet para um apartamento com dois quartos (um só pra escritório :) ), mudei de emprego, adotei um novo projeto open source.

Eventos

Participei de poucos eventos em 2021. Como desenvolvedor PHP eu tentei ajudar a organizar o PHPeste, mas infelizmente o evento não saiu do papel. Realizar um evento online é muito mais complicado, todo o meu respeito a quem fez acontecer!

Como participante eu estive na Python Nordeste e Python Brasil.

Na Python Nordeste eu só consegui ver os keynotes, tanto o da Ana Paula, quanto o da Clara Nobre. Foram duas palestras importantes pra discutir comunidade e inclusão.

Na Python Brasil eu participei mais ativamente, vi todos os Keynotes, partipei de mesa de conversa e das sprints. Vi a palestra da Débora Azevedo sobre a Python Software Foundation e aprendi bastante sobre a organização por trás do Python. Participei da sprint do Querido Diário e adicionei o crawler para o diário municipal da minha cidade natal Pau dos Ferros/RN.

Hacktoberfest

O crawler do Querido Diário foi uma das minhas contribuições pro Hacktoberfest. Foi minha quinta participação no evento.

Além do Querido Diário, contribui também para o WireUI, o projeto de um amigo que disponibiliza inputs customizáveis e simples para uso com o Laravel e Livewire (olhem e roubem o template de documentação dele, lindão!).

Explorações

  • Adotei o querido diário como projeto open source. Sugeri adicionar o projeto a disciplina de ciências de dados da UFRN e estou ajudando dois grupos a trabalharem com o projeto.
  • Como desenvolvedor PHP fiz umas coisinhas bem legais:
    • Ajudei a fazer várias refatorações em um projeto legado do trabalho, saindo de pouco mais de 100 testes pra mais de 450 em menos de 05 meses
    • Desenvolvi uma funcionalidade super legal de geolocalização. Um vendedor podia atender/visualizar/interagir com clientes de acordo com sua localização e áreas assignadas a ele (que eram desenhadas sob um mapa). Isso merece um post, tá no meu roadmap :p
    • Desenvolvi um sistema de workflow com regras lógicas de and/or que permitia gerentes criarem fluxos como: se um cliente tivesse seu status atualizado para “esperando design” uma nova task para os designers era criada; ou se um cliente tivesse o seu pagamento aprovado um sms era enviado a ele.
  • Virei um pesquisador e programador Python, hehe, e estou ajudando a desenvolver o Ipyannotator um anotador que ajuda a construir o arcabouço para projetos de machine learning em notebooks jupyter. Fazem dois meses que estou no projeto, mas já fiz umas coisinhas bem legais.
    • Aprendi muito sobre desenvolvimento para notebooks jupyter. Principalmente sobre a biblioteca nbdev que permite a construção de bibliotecas python utilizando “programação letrada”. Além das bibliotecas de desenvolvimento de interfaces gráficas para notebooks jupyter: ipycanvas, ipywidgets.
    • Refatorei todo o sistema de anotação para diminuir o acoplamento dos anotadores. Isso resultou em uma nova camada de estados para cada um dos anotadores. A solução é bem legal, usa o Pydantic para validação dos dados e o PyPubSub para o sistema de eventos GUI.
    • Se você se interessar pelo projeto eu desenvolvi também um tutorial mostrando como um construir um novo anotador para ele.
  • Na faculdade eu:
    • Compliquei desenvolvi uma arquitetura para comunicação entre um sistema web e um sistema de câmeras para controle e gerenciamento de filas do RU. A ideia é que câmeras tiram fotos a cada 30 segundos e atualizam o sistema que: processa o nível da fila, descarta a imagem e envia as informações para uma API. Essa API permite que os alunos visualizem o quão cheia tá a fila do RU naquele momento.
    • Aprendi sobre RMI e Middlewares. Como prova de conceito de middlewares utilizei o sistema Fiware para desenvolver uma aplicação que permitia que canais de TV cadastrassem seus filmes (com o gênero de filme), usuários de TV se registrassem para receber notificação de algum gênero de filme e fosse notificado minutos antes do filme começar.
    • Desenvolvi algumas soluções pro jogo dos 8 números.
    • Aprendi bastante sobre tópicos de especificação e verificação de programas usando o Maude e Atelier B.
    • Implementei o algoritmo Dsatur para a coloração de grafos e defini que queria trabalhar com isso no TCC.
    • Iniciei o TCC.