Imagem não literal, mas quase.

Eu tava de férias, né. Como era de se esperar, foi difícil ter um instante aqui e outro ali. Mas tava saindo um livro de visitas. Um projetinho bem anos 90, com uma roupagem dos tempos quase atuais – com a licença poética de não usar uma linguagem tão da hora e do momento.

Mas tinha de quase tudo um pouco ali; captcha do Cloudflare para coibir spam, uma API caprichadinha para receber e ter um gerenciadorzinho, com JWT configurado bonitinho, refresh token

Tinha um design usando (ainda que fosse overkill, mas a ideia era entender mesmo) Clean Architecture, CQRS, tudo refinadinho. Usei até MongoDB, que nunca tinha mexido.

Criei um Dockerfile, criei um docker-compose.yml, e o mais importante: criei um docker-compose.yml que funcionou muito bem. Ele segurava as variáveis de ambiente que o backend usava, e fez tudo certinho. Rodava junto com o MongoDB e até um Manager enquanto não fazia o frontend.

Francamente, tava legal. Dava pra usar para começar a ter um mini-portifólio. Pelo menos eu podia mostrar que consigo desembolar esse tipo de coisa, ainda que não esteja trabalhando com isso agora.

Fiz a documentação inicial no README, conferi se podia usar a GNU AGPLv3, fiz uma página com um exemplo da parte do envio das mensagens pro livro. Tava pronto pra publicar no repositório.

Mas aí eu pensei, não, vou só adicionar logging primeiro. “Vai ser legal deixar um Serilog pronto, mesmo que com um sink só pra arquivo. Qualquer coisa coloca um sink pro Seq e adiciona ele no docker-compose.yml.”

O castigo vem de bicicleta.

Eu tinha considerado várias vezes manter uma instância do Forgejo aqui no meu servidor, e espelhar as coisas no Github. Me permitiria não ter muita cerimônia pra salvar o que eu quisesse. Mas protelei.

Eu pensei várias vezes na estratégia que devia tomar pra começar um backup mais extensivo e automático de coisinhas jogadas em trocentas pastas pelos discos. Ou, finalmente, centralizar tudo e então replicar. Mas protelei.

O SSD onde estavam todos os projetos que ainda não tinham repositório externo, uma quantidade difícil de saber de dados que podem ou não ser importantes – porque a minha memória continua sendo um lixo – e a maioria das aplicações e definições de aplicações, foi pro saco.

Levei para uma empresa de recuperação de dados, identificaram que foi o controlador, e vai dar um custo insano. SE der certo. Se não der certo, vai ser só um terço de insanidade pela tentativa.

Agora eu nem sei por onde recomeçar, pois francamente ainda estou atônito. As coisas que já estavam sem gosto, agora estão intragáveis.

Façam backup, pessoas. Especialmente se você acha que dividir dados entre discos para reduzir danos resolve por um tempo. Nem era meu SSD mais antigo ou mais usado.

Agora é ficar olhando pras feridas, sem saber como lamber.

Pela enésima vez nos vemos recomeçando.

Só que agora, depois de décadas de árdua contestação das regras arcanas de outrora da FAPESP, que mantém o Registro.br, finalmente sou o detentor de um domínio que almejava desde a infância.

O de agora.

A última vez que lembro ter pesquisado, o domínio era de um squatter – pois se procurarmos na Wayback Machine não encontramos nada. E antes disso, nem era possível que uma mera pessoa física como eu pudesse ter um .com.br. Já tive o .net.br por um tempo, que por motivos insanos era mais permissivo que o .com.br. Exigiam CNPJ e o caramba – documentação e mais documentação. A flexibilização disso é um fenômeno que chegou com penoso atraso, e a interface de gerenciamento do Registro.br é péssima. Ainda bem que pelo menos funciona fazer essas coisas pelo Cloudflare.

Mas como nada é fácil para o cidadão, .com.br é um dos domínios que o Cloudflare não atua como registrar. Assim como o .moe. Então ele só atua como DNS e cache mesmo.

Mas eu confesso que vou sentir falta do .moe. É uma decisão difícil.


Cotti.moe – uma breve eulogia


Foi uma disputa de prioridades entre o que me define e o que eu desejava. Certamente o charme da leviandade do .moe é a minha cara, ter que explicar o conceito é menos.


Mas a minha criança interior, ironicamente, queria a pomposidade que o .com.br proporcionava (na falta do .com, que hoje em dia é de uma marca de café, e da última vez que vi à venda custava a bagatela de pelo menos 50 mil dólares).


Inclusive a questão do nome foi um dos principais motivos para minha escolha na época do Homestead ao invés do gigante Geocities. Outra foi o espaço, 8 megabytes ao invés de uns… 5? Aí tão pedindo pra lembrar muito. Um simples subdomínio no 8m.com (que agora é controlado por um squatter chinês, que tristeza a queda do Homestead), ao invés das 3 ou 4 subpastas no Geocities. Estamos falando aqui de 1999, quando opções de redirecionamento como o cjb.net e o .tk ainda reinavam – ao custo de pop-ups. Opções menos invasivas eram muito bem-vindas, e lembro do Homestead ser mais tranquilo que o Geocities, que também tinha pop-ups.


Mas onde eu estava? Na vontade de ter um domínio e tal. Isso. Eu tive, não necessariamente nessa ordem, .biz, .net.br, .moe e agora .com.br. Talvez algum outro…? Realmente nem lembro mais. Faz parte também da minha década perdida, então já viu né.


Mas foi divertido. Passei por diferentes serviços de VPS, cada um comigo fazendo mais caquinha que o outro. Passei a ter o famoso email próprio, ainda que gerenciado por fora. Enquanto eu ainda for dono dele, vai redirecionar qualquer coisa pra cá, mas tenho medo dele virar bolor – ou pior, um squatter comprar. Hoje tem de tudo…


Mas se pá ainda tem espaço para projetos que com alguma certeza não devem ficar por aqui. Vai saber…

Até lá, você me acha aqui. Quer um email mais fácil que felipe@cotti.com.br?

Imortal em meus versos, Cotti.moe

Coisas que eu não vou conseguir entender tão cedo, parte 935612198

Por que StreamReader e StreamWriter não se dão bem com métodos de extensão…?

Fiquei uma semana empacado nessa bagaça. Acabou que uma ideia quase tão boa quanto – de criar um par de callbacks pra cuidar de serializar e desserializar as mensagens de uma Pipe – funciona direitinho e posso usar a lasanha de tipos que eu bolei.

Light