-
Joel on Software
Joel Spolsky
19/12/2022 10:01
Falar sobre o Block Protocol é como apreciar uma boa atualização em seu framework favorito: sempre há algo novo para discutir. Desde os anos 90, a web tem servido como um grande repositório de documentos legíveis, mas esse novo protocolo promete evoluir o jeito como interagimos com o conteúdo online. Se você está em busca de um mundo mais interconectado, talvez seja hora de aprimorar suas habilidades, porque o futuro parece promissor. Como dizem os devs, 'time is code' e o desenvolvimento não para.
-
Fabien Sanglard
15/12/2022 21:00
Parece que o Fabien está tendo uma daquelas noites épicas com o Linux, onde a única solução é colocar a capa de ‘detetive da tecnologia’ e investigar por horas. Ele se deparou com um SSD que funciona como um gato de Schrödinger: conectado, mas sem ser montado. “Quando eu posso, eu vou de Thunderbolt”, diz ele, mas parece que nessa vez o Thunderbolt fez questão de deixar o Fabien na mão. Atualizações de kernel e truques com dmesg podem ser a chave para superar essa batalha contra o hardware, mas é triste ver um dev tão desesperado por um simples backup. O clássico ‘foi por isso que eu não queria USB’ nunca teve tanto peso.
-
O autor traz à tona a ideia de que as famosas "regras práticas" que aprendemos nem sempre são verdadeiras ou úteis. Frases como "hardware é grátis, desenvolvedores são caros" se tornam perigosas quando tiradas de contexto. O insight mais relevante é que uma boa heurística pode facilitar nossa vida em design e desenvolvimento, mas só se soubermos quando e como aplicá-las. Um pouco de raciocínio quantitativo pode transformar essas verdades acumuladas em ferramentas eficazes para o dia a dia.
-
Fabien Sanglard
14/12/2022 21:00
Fabien Sanglard está se mostrando um verdadeiro herói da documentação. Ele revisou e corrigiu os problemas apontados em seus livros, como um desenvolvedor que conserta bugs em tempo recorde. A atualização traz versões fresquinhas dos seus clássicos sobre motores de jogos, incluindo "Game Engine Black Book: Wolfenstein 3D v2.2" e "Game Engine Black Book: DOOM v1.2". É sempre bom ver um autor que valoriza o feedback dos leitores e ainda entrega qualidade.
-
Zig News (oficial)
07/12/2022 17:13
O pessoal do Zig decidiu dar tchau para sua implementação em C++, trocando 80 mil linhas de código legado por um novo motor em Zig que traz metade do peso e o dobro da eficiência. Como bem pontuado, implementar novos recursos nas duas bases era um verdadeiro pesadelo, especialmente com a divergência crescente entre elas. Usar WebAssembly para simplificar tudo faz sentido, mas parece que para muitos isso é como entender a trama de um filme de Christopher Nolan sem legendas.
-
A AWS lançou o Lambda Snapstart, que utiliza snapshots de VM para reduzir os tempos de cold start das funções Lambda. Isso é especialmente útil para aquelas funções que gastam muito tempo com inicializações pesadas. Como eles mencionaram, isso transformará a complexidade de inicializar N sandboxes de O(N) para O(1). Essa mudança pode simplificar a vida dos devs e deixar o código mais eficiente, como um Jedi que já começa a luta com seu sabre de luz ligado, em vez de perdendo tempo na inicialização.
-
Drew DeVault
26/11/2022 00:00
O autor revisita a geração de código em Hare, apresentando melhorias desde seu último post. Ele destaca a introdução de strings::template na biblioteca padrão, que facilita a criação de interfaces de comunicação entre processos. É uma abordagem interessante que mostra como um DSL pode simplificar a tarefa de geração de código – algo que muitas vezes parece mais complexo em sistemas operacionais. Basicamente, é usar o Python como referência para deixar a vida dos desenvolvedores menos dolorosa e mais divertida. O código gerado tem um visual que, se fosse um meme, diria: 'Mãe, olha o que eu fiz!'.
-
Drew DeVault
25/11/2022 21:00
Focar em geração de código nunca foi tão interessante, e o autor mostra como é possível gerar interfaces de comunicação interprocessos no seu sistema operacional. O uso de "strings::template" na biblioteca padrão do Hare, inspirado no Python, é um toque elegante que torna a tarefa mais acessível. Como mencionado, "gerar código começa com o ponto de entrada", o que é uma mensagem clara para quem lida com DSLs. Essa abordagem traz relevância prática para o desenvolvimento, equilibrando teoria e aplicação.
-
O manifesto de 1998 que veio do coração de Seattle, quando as vendas da Amazon estavam começando a desafiar a lógica, é como abrir uma cápsula do tempo tech. Eles percebiam que a forte ligação entre aplicações e modelagem de dados estava tornando tudo mais complicado do que um código com um bug oculto. A solução? Um modelo de arquitetura em camadas, quase como uma fatia de bolo bem definida, onde cada camada pode evoluir sem causar um colapso geral. O mais curioso é que, além da arquitetura, eles destacam a necessidade de uma mudança cultural, porque só mudar o diagrama é tão eficaz quanto tentar rodar uma aplicação Java às 3 da manhã sem café.
-
Fabien Sanglard
21/11/2022 21:00
Parece que a versão impressa de "O Livro do CP-System" finalmente chegou para atender os fãs dos clássicos da Capcom. Com 240 páginas coloridas, é um verdadeiro mergulho no hardware e software que fez jogos como Street Fighter II acontecerem. Enquanto o autor destaca que a qualidade da impressão da TheBookPatch supera a da Amazon, fica a dica para aqueles que vivem buscando aquela sensação vintage: nem sempre o digital é o melhor. Então, se você está no time que ainda ama o cheiro de papel, pode garantir sua cópia.
-
O autor começa com uma analogia do kraken, mas logo percebe que os verdadeiros monstros são os códigos hash não determinísticos. Essa questão de não determinismo no compilador é como um bug de sistema: quando você acha que resolveu, ele volta como um zumbi. Para quem já mexeu com C++ e Rust, isso deve dar calafrios, porque um compilador que não se comporta de forma previsível é o tipo de coisa que transforma o sonho em pesadelo. Vamos torcer para nossos códigos não nos deixarem na mão na hora do deployment, porque debugging já é difícil o suficiente sem esses horrores twittroll.
-
Antirez (Salvatore Sanfilippo)
04/11/2022 15:46
Falar de listas encadeadas é como lembrarmos de como nossas primeiras experiências de programação nos moldaram. O autor defende que, muito além de serem vistas como mero meme de entrevista, "as listas encadeadas mostram ao programador novato conceitos fundamentais sobre espaço e tempo na computação". Elas ensinam sobre como a adição de elementos funciona em tempo constante, além de explorar propriedades como a composabilidade. Se você já trabalhou com estruturas de dados em projetos sérios, sabe que subestimar listas encadeadas pode ser um erro tão grande quanto tentar usar bubble sort em produção.
-
Drew DeVault
27/10/2022 00:00
Este post nos apresenta o primeiro driver de espaço de usuário para o Helios, um driver serial, que é como aquele amigo que sempre volta para a conversa depois de um tempo fora de moda. A implementação utilizando um tarball é um lembrete elegante de que até o mais simples dos protocolos pode ter suas nuances, especialmente quando falamos de comunicação entre sistemas. A promessa de cobrir a API de threading em espaço de usuário ficou para uma próxima vez, mas quem precisa disso quando você pode brincar com drivers e bootloaders?
-
Drew DeVault
26/10/2022 21:00
Neste post, estamos vendo a implementação de um driver serial em espaço de usuário para o sistema Helios. O autor menciona, com um toque de humor, que "estritamente falando, isso deveria ser 'notas de hacking de OS em Hare'"—um típico caso onde a nomenclatura é apenas a ponta do iceberg. É interessante notar como um driver serial, embora considerado 'fora de moda', ainda tem sua utilidade em projetos como este. O uso de um tarball para o initramfs mostra que o autor não tem medo de manter as coisas simples e funcionais. Um belo exemplo de como conceitos antigos ainda têm um espaço em novas tecnologias, não é mesmo?
-
No mundo da latência, todos já sentimos aquele momento em que o sistema parece sair de férias. O artigo em questão, "Nudge: Stochastically Improving upon FCFS", propõe uma abordagem interessante para melhorar a latência da cauda, que é basicamente como dar um empurrãozinho na fila. O que me impressiona é que, mesmo com tantos algoritmos sofisticados, a maioria ainda depende do FCFS. E esse Nudge quer trocá-lo por pequenas prioridades em trabalhos menores sem desmerecer o bom e velho FCFS. E aí, vale a pena experimentar ou é só mais um truque de mágica?
-
Drew DeVault
18/10/2022 00:00
A implementação de senhas únicas baseadas em tempo (TOTP) é realmente uma abordagem segura para autenticação de dois fatores. Como o texto destaca, "é muito mais fácil de implementar do que SMS" e com um pouco de código, você elimina uma série de vulnerabilidades — quem precisa lidar com códigos SMS que nunca chegam? Além disso, você não vai precisar pagar por um serviço de SMS. É quase como escolher entre usar um disco rígido do tamanho de um planeta ou um SSD que cabe na palma da sua mão. Então, amigos devs, vamos colocar esse TOTP no ar e deixar as desculpas de lado.
-
Drew DeVault
17/10/2022 21:00
O TOTP realmente brilha quando a segurança é prioridade. O artigo nos lembra que gerar senhas de uso único baseadas em tempo é muito mais seguro que SMS, além de ser fácil de implementar. Com apenas algumas linhas de código em praticamente qualquer linguagem, é uma solução prática que evita preocupações com phishing e SIM swapping. Então, se você ainda não implementou, talvez seja hora de atualizar seu login e deixar o passado pra trás.
-
Drew DeVault
15/10/2022 00:00
Parece que outubro foi um mês de reprogramação geral, mas não a que você pode estar pensando. O Helios deu um salto quântico na sua arquitetura com um novo scheduler e uma API de usuários completamente repaginada. "A separação de preocupações" é a nova mantra do kernel, e quem diria que um page fault poderia se transformar numa festa? Se tudo isso funcionar como planejado, talvez a Helios consiga uma balança equilibrada entre diversão e funcionalidade, como um bom nerd jogando Jenga com códigos.
-
Drew DeVault
14/10/2022 21:00
Nesse mês de descanso, o autor fez um leve desvio para o lado divertido da programação, trazendo melhorias significativas para o Helios. As adições como suporte a endereços IPv6 e melhorias no decodificador UTF-8 mostram que apesar do foco em diversão, o trabalho sério não foi esquecido. O novo módulo uapi promete uma separação mais limpa das responsabilidades no kernel, o que é sempre uma boa notícia. E quem não gosta de um bom sistema de threads melhorado? Parece que Helios está se preparando para brilhar com toda sua complexidade e funcionalidade.
-
Drew DeVault
12/10/2022 00:00
Ah, o ffmpeg, esse canivete suíço da multimídia. É incrível como ele transforma qualquer tarefa de áudio e vídeo em algo quase trivial, tipo rodar o "hello world". O autor menciona que, após uma hora de tinkering e leitura de man pages, pôde criar uma configuração funcional para streaming de jogos. Isso me lembra o poder do ffmpeg: muitas vezes ele é o super-herói não celebrado nos bastidores da criação de conteúdo. No fim das contas, quem precisa de várias ferramentas quando uma só é capaz de dar conta do recado?