-
Fabien Sanglard
30/04/2020 21:00
O artigo revisita um clássico: o Raytracer do cartão de visita de Andrew Kensler. Com um código compacto e engenhoso, ele demonstrou que menos pode ser mais, embora a performance sempre seja um fator a ser considerado. Fabien Sanglard decide mexer na mágica e, com algumas otimizações e o uso de CUDA, reduz o tempo de execução de 101 mil milissegundos para meros 150 milissegundos. No fim das contas, é uma incrível demonstração de como a computação gráfica ainda consegue nos surpreender, mesmo quando a "beleza" reside na simplicidade do código.
-
Antirez (Salvatore Sanfilippo)
30/04/2020 10:33
O mundo do caching está em festa com a chegada do Redis 6.0.0. Entre as principais novidades, a remodelação no *client side caching* que agora desistiu dos slots e apostou mais nos nomes das chaves. Isso deve facilitar a vida da galera que vive desacelerando o servidor com requisições desnecessárias. Além disso, com melhorias no ACL e suporte a logs de violação, a administração de permissões ficou mais simples. No geral, parece que essa versão trouxe um pacote considerável de melhorias sem perder a essência do Redis: agilidade e leveza.
-
Drew DeVault
21/04/2020 21:00
O texto aborda as dores de cabeça que todos enfrentamos quando nossos dados desaparecem, como a falência de empresas e a falha de hard drives. É interessante notar a diferença entre armazenamento frio e quente, sendo o primeiro uma espécie de cofre digital, enquanto o segundo está sempre na ativa, como um servidor em plena carga. O autor menciona a confiabilidade das hard drives em comparação com microSDs, que parecem mais suscetíveis a falhas, especialmente sob pressão. No fim, a redundância via RAID é destacada como uma ótima solução, oferecendo um ganho extra de segurança que todo dev deveria considerar.
-
Fabien Sanglard
20/04/2020 21:00
Revisitar como "Stunt Island" foi programado em 1992 é como abrir um livro de receitas de tecnologia vintage. O que impressiona é a criatividade para criar um mundo de acrobacias antes da era dos gráficos 3D que conhecemos hoje. Isso nos lembra que, mesmo no que parece um jogo simples, há uma complexidade digna do algoritmo de um chef de cozinha. Essas histórias sempre são uma boa pedida para quem curte o lado mais artesanal do desenvolvimento.
-
Drew DeVault
20/04/2020 00:00
Usar o aerc como cliente de email e integrar com o git send-email é o tipo de hack que faz um dev sorrir, especialmente se ele for fã de eficiência no fluxo de trabalho. O autor compartilha algumas dicas práticas para manusear patches, como o uso do keybinding "ga" para aplicar alterações, que parece mais uma mágica de programação do que uma tarefa mundana. Adicionar um toque pessoal ao agradecer os colaboradores é sempre uma boa prática — afinal, ninguém quer ser apenas mais um commit no repositório.
-
Drew DeVault
19/04/2020 21:00
Configurar o aerc para lidar com patches via git é como criar um cheat code para o seu fluxo de trabalho. O autor mostra como ele usa keybindings personalizados para tornar essa interação mais fluida, como o "ga" que encaminha mensagens para o git am - 3, tratando conflitos com a delicadeza de um programador em uma jam session. E a parte do ‘thanks’ personalizada? Um toque de finesse digno de um desenvolvedor que sabe que, mesmo na rotina chata, um pouco de agradecimento pode fazer a diferença. Se você ainda não está usando o aerc, talvez seja a hora de considerar.
-
Drew DeVault
15/04/2020 00:00
Mais um mês, mais um status update; parece que estamos presos em um loop de tempo como no melhor estilo "Groundhog Day". O autor menciona que está progredindo em seu livro sobre Wayland e que a seção de entrada finalmente está finalizada. E enquanto joga no modo "debugging" com seu projeto secreto e melhorias no SourceHut, a implementação de GraphQL promete ser um upgrade empolgante em relação ao REST — porque, convenhamos, às vezes é melhor ficar com menos "REST" e mais "action". Se tudo der certo, quem sabe no próximo update a gente não tenha uma prévia do novo design?
-
Drew DeVault
14/04/2020 21:00
Mais uma atualização de status? O tempo realmente voa quando você está em casa, né? O pessoal do Wayland está fazendo progressos, com o capítulo de entrada do livro pronto e melhorias na implementação do wlroots, que está expandindo use-cases. Destaque para a migração para GraphQL no SourceHut, que promete ser um upgrade significativo em relação ao REST. E quem diria que um teaser de código poderia ser tão intrigante, com um printf e alocação básica que fazem o coração do dev bater mais forte?
-
Drew DeVault
06/04/2020 00:00
Essa abordagem de trabalhar quase exclusivamente no branch master pode parecer uma heresia para muitos, mas o autor tem suas justificativas. Ele menciona que "reduz meu tempo de inicialização a zero", o que é um ponto forte. No entanto, enquanto o método pode ser eficiente para alguns, intercalar tarefas no master pode gerar confusão em equipes maiores, igual a sobrecarregar a pasta de downloads. O charme do git está em suas branches leves, mas cada dev tem seu jeito de usar a ferramenta, afinal, a liberdade é uma das maiores virtudes da programação.
-
Drew DeVault
05/04/2020 21:00
Esse desenvolvedor claramente decidiu que branch é para quem gosta de organização, mas ele prefere a liberdade caótica de trabalhar no master. Com isso, ele elimina a dor de cabeça de alternar entre branches e resolve conflitos de uma só vez. "Eu sei que branches leves são um dos recursos principais do git, mas eu realmente não lhes dou muita atenção". É uma abordagem arriscada, mas passando pela rebazeação, ele faz parecer que o caos está perfeitamente sob controle.
-
Três anos e 200 mil palavras depois, o autor finalmente lançou "Crafting Interpreters". Ele mesmo se compara a alguém que acaba de sair de uma tempestade, onde a paixão por linguagens de programação o levou a abandonar seu primeiro livro. Um clássico caso de burnout criativo, bem típico de quem mergulha fundo na programação e acaba virando um Hermione da vida real, sempre ansioso para compartilhar conhecimento. Agora, com centenas de críticas positivas e traduções espalhadas, parece que a viagem valeu a pena.
-
Phil Oppermann (OS in Rust)
31/03/2020 21:00
As atualizações deste mês no blog Writing an OS in Rust estão mais organizadas que a estrutura de uma árvore binária. O foco principal foi o post sobre Async/Await, uma implementação que promete facilitar a vida de devs, como um debugger que se comporta. Também tivemos algumas melhorias nos crates, como a nova funcionalidade no x86_64 para controlar interrupções — sempre útil, especialmente quando a sua animação em pixel está prestes a travar. E não vamos esquecer das contribuições da galera para corrigir typos, que são como bugs invisíveis nos seus códigos.
-
Phil Oppermann (OS in Rust)
26/03/2020 21:00
Este post mergulha no mundo do multitasking cooperativo e na feature async/await do Rust. A forma como o Rust lida com o Future trait e a transformação em máquina de estados é algo que faz até um dev C# ficar com um leve sorriso no rosto. Adicionar suporte a async/await em um kernel, criando tarefas assíncronas, é tipo colocar um turbo no seu carro, só que com código. No final das contas, se você já ficou preso em callbacks, vai reconhecer que essa abordagem pode ser um verdadeiro divisor de águas.
-
Drew DeVault
24/03/2020 21:00
O autor aqui é o verdadeiro MacGyver das rodovias, provando que ser prático é uma arte. Optar por uma caminhonete velha, como uma 1984 Dodge D250, é quase como usar um sistema operacional retro: simplicidade e eficiência em vez de complicações modernas. O uso de "solvespace" para criar uma nova peça é o tipo de nerditude que a gente respeita, garantir que a janela da caminhonete não se transforme em uma palhaçada enquanto dirige é uma conquista. No final das contas, quem precisa de um carro novo se você pode imprimir suas soluções em 3D?
-
Andrew Kelley (criador do Zig)
24/03/2020 11:39
O `zig cc` realmente vem para desafiar a hegemonia do C no mundo da programação de sistemas. Como bem dito, ele suporta as mesmas opções que o Clang, que por sua vez, também é compatível com as opções do GCC. Isso é um pouco como aquele personagem secundário que, de repente, se torna o protagonista da história. E, pelo que parece, ele vai muito bem onde Clang e GCC falham, provando ser uma opção bastante válida. Quem diria que encilhar uma nova linguagem poderia ser tão funcional?
-
Após dois anos de aprendizado, o autor parece ter encontrado seu lugar no mundo do Rust. Trabalhando em código sensível à segurança e performance, ele destaca a usabilidade do sistema de tipos e a abordagens de concorrência da linguagem. A comparação com Go é interessante, já que Rust tem ganhado espaço nesse nicho de pequenos programas de alto desempenho, mas a luta com o compilador ainda é uma parte do dia a dia. No fim, ele é cauteloso: Rust não é a solução mágica, mas é uma escolha cada vez mais frequente para projetos que exigem robustez e segurança.
-
Ruslan Spivak
Ruslan Spivak
19/03/2020 09:45
Mais uma camada na complexidade dos intérpretes, e agora estamos falando de chamadas de procedimentos aninhadas. Isso é como escrever um código tão bem que até o seu debugger fica confuso. A frase de Feynman, 'O que eu não consigo criar, eu não entendo', é um lembrete martelando na cabeça de cada dev: entender é o primeiro passo para dominar. Afinal, se você não consegue fazer o que quer, provavelmente não sabe nem por onde começar.
-
Drew DeVault
13/03/2020 00:00
O GitHub decidiu mexer na interface de notificações e, pelo que parece, isso não agradou muito. O artigo menciona que a nova UI pode parecer poderosa à primeira vista, mas ao que tudo indica, "a nova interface é muito mais difícil de escanear rapidamente". É tipo mudar de um console de comando super eficiente para uma interface gráfica que parece ter sido desenhada por um estagiário em seu primeiro dia. O problema da visibilidade e organização acaba tirando a fluidez do trabalho, o que pode deixar os devs mais perdidos do que tentando debugar uma aplicação sem logs.
-
Dan Luu
10/03/2020 21:00
É curioso notar que, em muitas empresas bilionárias, o blog pessoal de um desenvolvedor pode ter mais tráfego que o blog corporativo da própria empresa. Afinal, com tantos engenheiros talentosos por aí, como essas empresas conseguem criar conteúdo tão desinteressante? O autor levanta a questão da falta de um bom processo de aprovação, que poderia garantir que histórias envolventes e experiências reais de engenharia fossem publicadas, em vez de publicidade mal feita e 'fluff' sem conteúdo. O cenário atual é definitivamente uma oportunidade perdida para as empresas atraírem mais talentos e compartilharem conhecimento de maneira autêntica.
-
Drew DeVault
06/03/2020 21:00
O senador Bob Casey levou uma bronca de um expert em tecnologia sobre o apoio ao EARN IT Act, que, segundo a carta, não só falha em proteger as crianças como ameaça as nossas liberdades civis. O autor argumenta que "pedir para provedores resolverem ou pararem de usar criptografia é como tentar fazer os devs entenderem os requisitos de um projeto legado", ou seja, um esforço que só pode terminar em desastre. Resumindo, quebrar a criptografia de ponta a ponta não é a resposta e, no fim das contas, a solução está na investigação e na proteção dos direitos civis, e não em atacar a tecnologia.