-
Drew DeVault
25/09/2020 00:00
Hoje, um bug report da Debian trouxe à tona uma situação bem interessante entre musl libc e glibc. O problema surgiu ao alimentar o scdoc com dados suspeitos, resultando em um SIGSEGV. Curiosamente, isso só acontece no glibc, como foi observado no estouro de pilha que "pode" dar um tapa na cara de quem acredita que isalnum poderia causar um segfault. Enquanto a implementação do musl é clara e sem enrolação, a versão do glibc parece mais um labirinto do Minotauro, repleto de macros e camadas de complexidade. No final das contas, fica a lição: simplicidade é tudo, meu jovem padawan.
-
Drew DeVault
24/09/2020 21:00
Receber um bug report da Debian gerou uma oportunidade perfeita para comparar musl libc com glibc. Aparentemente, uma segfault no segundo chamado de isalnum foi visto apenas no glibc, o que faz você se perguntar: quem realmente está cuidando da memória aqui? Enquanto musl usa uma implementação simples e eficaz, glibc parece optar por um caminho mais complexo, cheio de macros e definições que podem confundir qualquer um (ou qualquer dev perdido). No final do dia, esse caso nos lembra que a simplicidade muitas vezes reina suprema no mundo do desenvolvimento, mesmo com todas as suas armadilhas.
-
Drew DeVault
21/09/2020 00:00
O toque TOFU no Gemini já chegou, e parece que a implementação de um algoritmo de 'trust-on-first-use' é o novo padrão. Com a obrigação de suportar certificados autoassinados, os desenvolvedores precisam estar atentos às nuances dos arquivos known_hosts, assim como os Jedi ficam atentos ao lado sombrio. Como apontado, a lógica por trás da verificação de certificados continua vital e, se você não quiser ver sua conexão desmoronar como uma linha de código mal escrita, vale a pena dar uma olhada nas recomendações. E, claro, não se esqueça de que, em uma situação de confiança desconhecida, a escolha do usuário é crucial - definitivamente não é hora de apertar o botão de pânico sem pensar.
-
Drew DeVault
20/09/2020 21:00
O algoritmo TOFU (Trust On First Use) está em alta no mundo do Gemini, e é uma abordagem interessante para lidar com certificados autoassinados. Como mencionado, "os certificados autoassinados são a norma em Geminiland", então garantir que seu cliente suporte isso é essencial para não ficar preso na tela de erro. Implementar a lógica de verificação de certificados detalhada é fundamental, desde a checagem do período de validade até o match do fingerprint. Nada como seguir um protocolo bem definido para evitar surpresas indesejadas – e sim, a vida do dev já tem drama suficiente.
-
Drew DeVault
15/09/2020 00:00
Setembro trouxe um clima ameno e boas novas para o mundo do código. O autor ficou feliz em garantir o Club Mate nos EUA – uma verdadeira conquista para os devs atentos às suas bebidas. O foco agora é o desenvolvimento do SourceHut, com melhorias nas APIs GraphQL e suporte ao OAuth 2.0, algo sempre bem-vindo em qualquer projeto. E, claro, quem diria que teríamos nove implementações do BARE em diferentes linguagens? Isso é como uma festa para os poliglotas da programação. É bom ver o progresso, mesmo que o autor deixe um mistério no ar sobre um projeto secreto. Vamos ficar de olho.
-
Drew DeVault
14/09/2020 21:00
Setembro trouxe boas novas para o mundo do software livre, com o autor finalmente conseguindo seu Club Mate nos EUA. A grande jogada foi focar no desenvolvimento do SourceHut, com avanços significativos em APIs GraphQL e OAuth 2.0. Os projetinhos paralelos também estão bombando, com diversas implementações do BARE surgindo em linguagens distintas. Para quem curte um pouco de emoção, vale a pena ficar de olho no post "What’s Cooking", pois o segredo do projeto misterioso pode ser revelado em breve.
-
Zig News (oficial)
13/09/2020 21:00
A questão aqui é bem clara: a Zig Software Foundation se propõe a fomentar a comunidade e o desenvolvimento do Zig, enquanto a Zen, um fork fechado da linguagem, parece estar tentando explorar essa base. "Antes de pagar pela licença do compilador Zen, é crucial entender a separação entre Zig e Zen". Basicamente, se você está pensando em seguir o caminho fechado da Zen, talvez seja hora de observar bem o que está por trás do curtain call. A) Para que complicar sua vida com código que, segundo a Fundação, "nada mais é do que um rebranding superficial do Zig"?
-
Drew DeVault
02/09/2020 00:00
Acho que todo dev já se viu na situação de ter que entender a beleza do sistema de controle de versão distribuído do Git. Como o texto menciona, cada desenvolvedor possui uma cópia local do repositório e pode trabalhar de forma independente, algo fundamental no desenvolvimento do maior projeto open-source do mundo, que é o Linux. A diversidade de mantenedores e repositórios, como no caso dos drivers DRM, mostra o quão frágil e flexível é essa teia de colaboração. No final, cada patch pode ser como um item em uma quest no GitHub: é preciso coordenar tudo para que o projeto final funcione sem bugs.
-
Drew DeVault
02/09/2020 00:00
Falar sobre o desenvolvimento distribuído do Linux é quase como explicar a mecânica quântica: parece simples, mas há uma complexidade incrível no fundo. O texto destaca como cada desenvolvedor tem "uma cópia local completa do repositório", permitindo trabalhar offline, ao contrário do SVN. É interessante notar como as contribuições são organizadas por grupos de mantenedores, mas, como em toda grande equipe de devs, surgem similaridades, como o uso de listas de e-mail compartilhadas. No fim das contas, desenvolver para o Linux é como um grande jogo multiplayer onde cada um tem seu próprio servidor, mas ainda assim todos precisam se manter conectados e coordenados.
-
Drew DeVault
01/09/2020 21:00
O texto destaca como o Linux é um grande laboratório de distribuição, algo que os usuários do git sabem muito bem. Cada desenvolvedor possui uma cópia local completa do repositório, permitindo que trabalhem offline, ao contrário de sistemas como SVN. A complexidade do ecossistema do Linux reflete essa natureza distribuída, com múltiplos mantenedores e repositórios compartilhados, como visto nos drivers do DRM. E lembre-se, mesmo entre os desenvolvedores mais organizados, sempre pode haver um que ainda acha que o Mercurial é uma boa ideia.
-
Drew DeVault
27/08/2020 00:00
Olha, a Microsoft realmente tem um jeito peculiar de "embrace, extend, extinguish". Ao invés de usar email, que foi projetado para o git, preferiram criar seus próprios mecanismos, como o "pull request". Isso só deixa os desenvolvedores navegando em um ecossistema fechado, enquanto eles tentam conquistar o mundo do código aberto com um wallet de 7,5 bilhões de dólares. É como se eles estivessem tentando usar um Jedi Mind Trick na galáxia open source. A solução do pessoal do sourcehut é bem mais sensata: investir em ferramentas que realmente respeitam o princípio do open source, ao invés de tentar engolir tudo.
-
Drew DeVault
26/08/2020 21:00
Microsoft está com um bom jogo nas mãos, mas usar o GitHub pra criar uma "experiência" própria é um pouco como construir um Lego que só encaixa com peças da mesma marca. A analogia com o "embrace, extend, and extinguish" mostra que eles têm um plano, embora a ideia de substituir o sistema descentralizado do Git pareça mais uma receita para um bolo de chocolate sem chocolate. Enquanto isso, a sourcehut está indo pelo caminho do open-source genuíno, provando que dá pra manter a colaboração sem complicar com ferramentas proprietárias.
-
Drew DeVault
17/08/2020 00:00
Engenheiros de software são os verdadeiros jedis que enfrentam bugs como se fossem stormtroopers com ponteiros. A matéria nos lembra que, por trás de um simples erro, pode haver uma cadeia de problemas mais complexa, como subsistemas obscuros ou até uma linguagem que você nunca ouviu falar. Essa abordagem de "yak shaving" é quase como decifrar um código sagrado: você achou um bug, mas só vai resolver depois de enfrentar todos os monstros labirinto pelo caminho. A moral da história? Criatividade e persistência são suas aliadas na batalha contra o lado negro dos bugs.
-
Drew DeVault
16/08/2020 21:00
A mensagem é clara: resolver problemas é parte do nosso cotidiano, mas não é só desviar do bug que você já identificou. Às vezes é necessário encarar uma verdadeira expedição de debugging, desde explorar uma linguagem desconhecida até mexer em subsistemas de compiladores. E sim, isso pode parecer escorregadio como um ataque em #define, mas é assim que nós, engenheiros, também nos aprimoramos. No fim, tudo se resume a aplicar um pouco de criatividade para desenrolar esse novelo cheio de fios soltos. Se não é 'yak shaving', eu não sei o que é.
-
Drew DeVault
16/08/2020 00:00
Mais uma atualização na área, e parece que o café é o verdadeiro MVP do dia, especialmente com a chuva em Philadelphia. Temos novidades no suporte ao BARE, com seis projetos adotando a codificação e melhorias na implementação do Go que vão colocar fogo nos planos do SourceHut. As melhorias de infraestrutura, especialmente na nova instalação de servidor e no sistema de backup do PostgreSQL, são como otimizações de performance em um código; devem garantir que a plataforma aguente o tranco. No fim das contas, quem precisa de segredos quando você tem café e um monte de patches chegando?
-
Drew DeVault
15/08/2020 21:00
Bom, o autor parece estar vivendo um dia típico de dev, com chuva e café como combustível. O destaque vai para os avanços no BARE encoding e as melhorias na infraestrutura do SourceHut, o que sempre é bem-vindo, especialmente a parte do PostgreSQL que agora está mais resistente. Vamos ver como essas mudanças vão impactar o fluxo de trabalho e a colaboração na plataforma no próximo mês. E claro, sempre bom saber que a comunidade está ativa com contribuições, deve ser como estar no GitHub em dia de merge.
-
Drew DeVault
01/08/2020 00:00
Parece que pkg.go.dev é o novo site que está tentando brilhar, mas na verdade é só uma skin bonita para um fundo fragilizado. O autor realmente manda a real ao dizer que "tem todas as características do crapware do Google". A transição para o open-source foi importante, mas é irônico que eles ainda dependam de um proxy fechado para módulos. E essa centralização? É como tentar rodar um servidor de Minecraft em um Raspberry Pi enquanto tudo que você quer é uma experiência no estilo "faça você mesmo". No fim das contas, o que deveria ser sobre boa engenharia parece mais com uma corrida para o fundo do poço, mas pelo menos a interface é agradável.
-
Drew DeVault
31/07/2020 21:00
Parece que o pacote pkg.go.dev chegou com um tapete vermelho, mas underneath, é como aquele computador que você achou que ia rodar um jogo pesado e acabou travando. O autor critica a falta de bom senso na abordagem do Google, que, apesar do visual atraente, parece priorizar interesses fechados e uma falta de entendimento sobre a natureza descentralizada do Git. Agora, só falta eles adicionarem um suporte decente para tudo que não seja gitlab.com, que é praticamente um pedido de desculpas para quem não gosta de ficar preso à centralização.
-
Se os conceitos de gerenciamento de memória e contagem de referência te deixam com um nó na cabeça, as regiões em Vale parecem ser um bálsamo. Elas prometem eliminar a sobrecarga da contagem de referências, o que é como trocar uma espada pesada por uma katana leve na batalha contra a performance. As promessas são legais, mas como sempre, é bom ver a execução e não apenas a teoria. Afinal, ‘watch out’ para não cair na cilada de um hype sem fundamento.
-
Drew DeVault
26/07/2020 21:00
A AGPL é um assunto que causa barulho desnecessário, especialmente quando grandes empresas, como o Google, usam argumentos confusos para afastar o uso dela. "A verdade é que os termos da AGPL são bem fáceis de cumprir." Se você usar software sob essa licença e não fizer modificações, sua vida será bem tranquila. Parece que a grande preocupação do Google é mais sobre manter o controle do que qualquer complicação real na licença.