-
Drew DeVault
16/05/2022 00:00
Finalmente, o segredo do Hare não é mais um mistério. Agora, os desenvolvedores podem testar essa nova linguagem que promete desdarera vários projetos empacados. "Helios" e "Himitsu" são exemplos de como a linguagem está sendo utilizada para criar um micro-kernel e um sistema de armazenamento seguro, respectivamente. No fundo, é como se tivéssemos um novo amigo geek com uma caixa de ferramentas cheia e a promessa de ajudar em projetos que estavam esperando a hora certa para serem desenvolvidos.
-
Drew DeVault
15/05/2022 21:00
Parece que a linguagem de programação Hare finalmente saiu do modo "invisível". Com projetos como Helios, Himitsu e btqd na fila, dá até para sentir um leve cheiro de novas revoluções. O Helios, por exemplo, se propõe a ser um micro-kernel que já entrou em userspace, o que é um avanço e tanto. E quem sabe, com a promessa de um melhor gerenciamento de segredos no Himitsu, a gente não consegue organizar nossas senhas em 2022, ao invés de deixar tudo em um post-it?
-
Drew DeVault
14/05/2022 00:00
O ioctl é, basicamente, aquele amigo no seu projeto que sempre faz um pouco de tudo, mas acaba confundindo todo mundo. O texto menciona que a linguagem Hare precisa de uma forma de definir números ioctl sem macros, já que as macros são como aqueles stickers de qualidade duvidosa que encontramos na internet; divertidos, mas nem sempre úteis. Usar geração de código é uma solução interessante, mas espero que isso não se torne o novo meme das comunidades de desenvolvimento, caso contrário, a prosa vai ficar estranha.
-
Drew DeVault
13/05/2022 21:00
O conceito de ioctl é uma daquelas ideias que faz você se perguntar "o que estavam pensando?". Ele parece mais um canto da cozinha do que uma solução eficiente. A nova linguagem Hare, apresentada como uma forma de "fugir" desse problema de forma mais organizada, tem seu charme, mas a falta de macros pode deixar os devs procurando as chaves de casa: "Como eu implementei isso em C mesmo?". Vamos ver se o gerador de código consegue simplificar a vida nessa briga de syscalls.
-
Simplicidade é uma busca legítima, mas a verdade é que nem sempre podemos confiar em soluções simplistas. "Por que eu preciso de criptografia quando posso simplesmente esconder o conteúdo das minhas comunicações?" – essa é a tentativa de um desenvolvedor que subestima os desafios do mundo real. Afinal, um sistema que parece simples pode desmoronar rapidamente ao enfrentar problemas de concorrência ou segurança. No fim das contas, a simplicidade não deve ser absoluta, mas sim contextual, como diria Einstein: "o que é simples, mas não mais simples".
-
O autor explora como até mesmo métodos numéricos básicos podem desvelar insights interessantes para design de sistemas. Ele destaca a importância de ferramentas formais, como P e TLA+, que ajudam não só a garantir que 'nada de ruim acontece', mas também a medir questões práticas, como latência e custos operacionais. A ideia de usar 'simulações simples' é intrigante, principalmente para quem deseja validar hipóteses sem entrar na complexidade dos métodos formais. E convenhamos, qualquer um que já pegou fila em estação de esqui entende como pequenos modelos podem esclarecer grandes dúvidas sobre eficiência.
-
Referências fracas são um território nebuloso na programação, e esse post explora as diferentes magias que cada linguagem usa. As reações dos desenvolvedores, como "Isso é horrível" sobre o Obj-C, mostram que até mesmo os mais experientes precisam de mapa e bússola nessa selva. O mais interessante é a nova abordagem do Vale, que visa ser rápido, seguro e fácil de usar, cão ou gato brigando entre si para descobrir o caminho. Parece que as referências fracas são o novo Pokémon, sempre evoluindo e surpreendendo. Na dúvida, se perder for um caminho, que seja um caminho seguro.
-
Drew DeVault
15/03/2022 00:00
Este mês, o foco foi na construção de um kernel e na criação de um decodificador PNG, que já decodificou 77 dos 161 vetores de teste. Como foi mencionado, a implementação de um manipulador de interrupções e backtraces traz um toque interessante, principalmente para quem já riu com "segfaults". Uma abordagem bem sólida que demonstra as qualidades da linguagem. E quem não ama um bom desafio de gerenciamento de memória? Parece que o autor está seguindo a receita ideal para um software robusto, misturando insights técnicos com uma pitada de criatividade.
-
Drew DeVault
14/03/2022 21:00
Olhando para as últimas novidades, o protagonista do mês é o desenvolvimento de um kernel. A construção de um manipulador de interrupções e backtraces é um fator crucial que pode fazer a diferença na depuração e na eficiência do sistema. A nova biblioteca de decodificador PNG, que já lida com 77 dos 161 vetores de teste, é uma demonstração convincente do potencial da linguagem. É um trabalho que faz a ligação direta entre teoria e prática, e quem não gosta de um bom gerenciamento de memória, não é mesmo?
-
Drew DeVault
13/03/2022 00:00
A jornada de criar uma linguagem de programação é como compilar um código em um RPG: há muitos bugs a corrigir e quests a completar. O autor menciona que, embora o projeto esteja em um estado semi-privado, já conta com 30 contribuições e 3.029 commits. Isso pode parecer uma vaquinha de código, mas é impressionante como a equipe se sente responsável pelo desenvolvimento, cada um ajudando a ajustar a estrutura como se estivessem na fase beta de um jogo. A questão é, será que esse segredo vai resultar em uma novidade interesante ou acabar talvez como um projeto de final de graduação?
-
Drew DeVault
12/03/2022 21:00
A criação de uma linguagem de programação é uma jornada ousada, quase como tentar codificar um jogo em 8 bits sem bugs. O autor menciona que, apesar de tudo estar em um "estado semi-privado", a comunidade que se formou é pequena, mas bem unida: "Só os contribuidores, não usuários ou curiosos." Isso aponta para um desenvolvimento mais focado e, aparentemente, menos barulho desnecessário. Fazer mudanças enquanto a comunidade é fechada facilita a colaboração, mas será que essa estratégia vai escalar quando mais gente entrar na jogada?
-
Se você está lidando com tentativas de conexão e não sabe se deve fazer retries ou não, a sugestão do autor é bem válida: usar disjuntores para quebrar tentativas e manter o tráfego normal intacto. Assim, "a carga nos serviços sobrecarregados não aumenta ainda mais". A comparação entre as abordagens é intrigante, especialmente quando você percebe que um balde de tokens pode fazer maravilhas em situações de alta falha. É como programar uma função que só vai rodar se a outra não falhar, mas com um toque de gambiarra.
-
Drew DeVault
19/02/2022 00:00
A Plaid parece ter decidido que a segurança digital é apenas uma sugestão. Por que checar o domínio ou o ícone de TLS quando você pode simplesmente deixar os usuários digitarem suas credenciais bancárias em um form que, claramente, não é da sua instituição financeira? "Shame on you Plaid" resume bem a indignação, e honestamente, essa abordagem de "move fast and break laws" não deve ser comemorada. O que aconteceu com os anos de educação em segurança digital? Parece que as promessas de ética em tech estão se esvaindo junto com essa prática duvidosa.
-
Os disjuntores realmente têm seu lugar no arsenal de um dev, mas como qualquer ferramenta, tudo depende do problema que você está tentando resolver. Se você não sabe exatamente qual é a questão, adicionar um disjuntor pode ser como usar um clipe de papel para consertar um carro; pode dar certo, mas provavelmente não vai. Como o Martin Fowler diz, o trunfo é evitar falhas em cascata, mas lembre-se: tudo na vida tem seu limite, até mesmo a paciência do seu sistema.
-
Mitchell Hashimoto
09/02/2022 21:00
O artigo apresenta uma análise detalhada do tokenizador do Zig, que é a primeira etapa no pipeline de um compilador. É interessante notar que ele transforma a sintaxe em uma sequência de tokens, mas sem se preocupar se esses tokens têm algum significado semântico. Isso é responsabilidade do parser na próxima fase. E o mais legal? O tokenizador do Zig não faz alocações na memória, o que é uma característica valiosa em programação de sistemas. É como cozinhar com um orçamento limitado: você aprende a fazer mágica sem gastar uma fortuna em ingredientes.
-
Dan Luu
01/02/2022 21:00
É fascinante como a sabedoria de bar pode ser bem rasa às vezes. O autor observa que em círculos sociais, muitos discutem solucoes mirabolantes para problemas complexos, como a construção de um concorrente do Google, sem entender a fundo os subproblemas envolvidos. Isso lembra aqueles devs que acham que podem resolver tudo só com um conhecimento superficial, tipo pegar um atalho no Git e acabar criando um merge conflict monumental. Uma reflexão interessante para a galera que acha que basta um pouco de conhecimento para ser especialista.
-
Dan Luu
01/02/2022 21:00
Esse levantamento é um bom lembrete de que a história dos incidentes em tech é rápida em se perder, especialmente quando temos 12 SEVs, 6 deles classificados como os mais graves, atribuídos a problemas de cache. É interessante notar que, como diz o texto, "ganchos horrendamente exagerados" são mais lembrados do que a realidade. Se a gente não coletar e analisar esses dados, vai acabar garantido que as versões distorcidas se tornem as verdades populares. No final das contas, entender os padrões de falhas como essas pode ajudar a evitar desastres futuros, ou pelo menos garantir que a próxima thread viral não seja apenas uma obra de ficção.
-
Drew DeVault
28/01/2022 00:00
Um post que promete uma espiada nas entranhas de uma nova linguagem de programação de sistemas, focando na implementação de um parser de tipos de mídia. O autor menciona que ‘a especificação não é boa’, o que é um eufemismo que até um desenvolvedor em modo debugger entenderia. O código com 250 linhas parece oferecer uma solução prática, e eu mal consigo esperar para ver como essa linguagem vai lidar com as armadilhas do RFC 2045, especialmente com aquele ‘folding’. No final, parece que estamos apenas tentando fazer com que a dança das vírgulas e dos caracteres faça sentido. Vamos ver até onde essa jornada nos leva.
-
Drew DeVault
27/01/2022 21:00
Parece que a equipe da nova linguagem de programação está mergulhando de cabeça no fascinante mundo dos tipos MIME. A proposta de "implementar um parser para tipos de mídia” e mapear esses tipos para extensões de arquivo é uma tarefa bem interessante, especialmente considerando a confusão das especificações geradas por RFCs. O código de 250 linhas, embora enxuto, promete evitar as armadilhas do 'folding' – uma escolha sensata, já que menos é mais quando se trata de torturar strings. E aí, quem se habilita a testar essa brincadeira?
-
Drew DeVault
17/01/2022 21:00
A ideia da Pine64 de fornecer hardware acessível à comunidade FOSS é inegavelmente interessante, mas fica claro que eles precisam ajustar as prioridades. "...Pine64 mesmos contribuem sem mão de obra nessas áreas de foco" e isso resulta em uma desintegração do ecossistema que poderia ser mais coeso. Se ao invés de financiar distros fragmentadas, a empresa investisse em, por exemplo, suporte a drivers e uma pilha de telefonia robusta, todos sairíamos ganhando. No fim, um telefone funcional é bem mais importante do que um visual impressionante, mas eles parecem estar mais preocupados com a festa do que com o convite.