-
Fly.io Blog
18/06/2024 21:00
Quando se trata de segurança na nuvem, todo dev sabe que passar por credenciais da AWS é como dar um ctrl+z no primeiro dia de trabalho. A Fly.io vem com uma alternativa que usa OIDC para criar uma relação de confiança limitada entre AWS e Fly.io, sem precisar das temidas chaves de acesso. O que significa que você pode acessar seus dados no S3 sem se preocupar em transformar sua vida em um filme de terror de segurança. Simples e eficaz – afinal, quem precisa de dramas quando seu app pode servir imagens de gatos gerados por IA com base no clima?
-
Dan Luu
15/06/2024 21:00
Este artigo destaca um ponto curioso: as reações às falhas em IA, principalmente em LLMs, são bem diferentes das reações a bugs comuns. Você pode ter um modelo que gera resultados absurdos, como transformar a foto de uma mulher asiática em uma mulher branca, e ainda assim tem gente que defende que isso não é um bug. O pessoal parece esquecer que, apesar de a IA não ter opinião, os dados que a alimentam, como as amostras de treinamento, refletem uma realidade já enviesada. No fim das contas, é o tipo de discussão que faz você questionar se estamos realmente prontos para usar IAs em Marte se não conseguimos nem lidar com as falhas na Terra.
-
A ideia de que apenas uma máquina pode atender a todas as demandas é como achar que um game de 8 bits é suficiente para rodar os lançamentos mais pesados de hoje. "Este argumento é bobo e reducionista" e realmente toca no ponto: sim, máquinas modernas são super potentes, mas isso não é desculpa para ignorar a importância de sistemas distribuídos. Disponibilidade, durabilidade e utilização são fatores que fazem qualquer dev sonhar em usar mais de uma máquina. E convenhamos, quem não gostaria de ter um sistema que não desmorona durante picos de carga?
-
Laurence Tratt
31/05/2024 07:10
Laurence Tratt faz um bom trabalho ao separar dois conceitos que muitas vezes acabam misturados na mente dos devs. Como ele destaca, "o problema de especificação circular é causado pelos designers e programadores" que não têm clareza do que realmente precisam construir, enquanto o "efeito observador" surge quando os usuários percebem que podem (ou não) usar o software de maneiras inesperadas. Resumindo, um é um dilema interno e o outro, uma surpresa externa. No fim das contas, em ambas as situações, o dev é quem sai no meio da confusão, como se estivesse tentando depurar um código que tem mais bugs do que funcionalidades.
-
Andrew Kelley (criador do Zig)
30/05/2024 00:27
O novo sistema de barra de progresso do Zig parece ter inovado na apresentação de tarefas, permitindo que processos filhos reportem seu progresso de forma mais integrada. Como o autor menciona, essa abordagem vai além das limitações do terminal, oferecendo uma experiência mais fluida. O fato de que isso ajudou a identificar um bug que estava escondido há anos só mostra o quanto melhorias estéticas podem impactar na performance e na depuração. No final das contas, é uma vitória da programação moderna.
-
Este artigo levanta um debate interessante sobre a interoperabilidade entre Rust e linguagens mais modernas, mostrando que, apesar da promessa de "chamar Rust sem amarras ou bindings", na prática, as coisas podem ser mais complicadas. Evan menciona que "novas linguagens podem acessar o ecossistema C" e, embora isso facilite a vida, sempre tem aquele porém das traduções de conceitos entre linguagens. No fim das contas, a busca por uma interoperabilidade realmente fluida continua, deixando a galera de devs em uma especie de purgatório tecnológico. A esperança persiste, especialmente com as mais de 100.000 crates disponíveis no cargo, mas seguimos com os pés no chão.
-
Drew DeVault
23/05/2024 21:00
Sabe aquele momento em que você precisa de uma pausa do trabalho sério e decide criar seu próprio sistema operacional? Pois bem, foi isso que o criador do Bunnix fez. Em apenas 27 dias, ele montou um sistema Unix-like compatível com x86_64, e se você curte um desafio, dá para testar com o ISO que ele disponibilizou. É legal ver como ele incorporou funcionalidades desde drivers até um terminal que até lembra os bons e velhos dias do DOS, mas prepare-se para um toque de nostalgia: a saída do jogo DOOM não tá funcionando como deveria. É a vida de um dev, sempre lidando com bugs.
-
Laurence Tratt
14/05/2024 08:00
Laurence Tratt provoca a reflexão sobre as suposições que temos ao criar software. Ele menciona que muito do que discutimos é superficial, como "escolha da linguagem de programação" e "convenções de nome de arquivos", sem considerar aspectos mais profundos. O que é crucial aqui é a ideia de que o software habita um espaço entre o físico e o fantasioso, mostrando que entender suas limitações é fundamental para desenvolver algo realmente bom. Se você ainda acha que a sua biblioteca preferida funciona como mágica, talvez seja a hora de uma reavaliação.
-
A nova abordagem de inferência em camadas e agrupamento promete abrir as portas para trabalhar com LLMs maiores em máquinas com pouca VRAM. A ideia de fazer stream das camadas do disco rígido é uma combinação esperta de técnicas que já foram experimentadas antes, como o fltr que permite filtrar questões em linguagem natural. Isso mostra que na tecnologia, muitas vezes, a inovação é só uma receita antiga com um novo tempero. E, convenhamos, a capacidade de fazer perguntas com mais eficiência é algo que todos os devs agradecem, especialmente quando os prazos estão apertados.
-
Em sistemas distribuídos, pequenas latências podem se transformar em horas de frustração. O artigo menciona que "a primeira coisa que eu verifico ao depurar problemas de latência... é se o TCP_NODELAY está habilitado", e isso reflete uma realidade que muitos desenvolvedores já enfrentaram. Nagle claramente tinha um ponto com seu algoritmo, mas, com essa interação problemático entre Nagle e o ACK atrasado, é como se estivéssemos tentando jantar na casa dos seus amigos que sempre atrasam a sobremesa. Por que não simplificar e deixar o TCP_NODELAY habilitado?
-
Sim, a resposta é sim. Como o autor menciona, "se você é um engenheiro de software, especialmente um que trabalha em sistemas em larga escala, sistemas distribuídos ou sistemas críticos de baixo nível, e não está usando métodos formais como parte da sua abordagem, você provavelmente está desperdiçando tempo e dinheiro." Por mais que possa parecer complicado e custoso, usar métodos formais pode economizar recursos a longo prazo ao evitar retrabalhos e tornar mudanças menos onerosas. Portanto, se você ainda está no modo 'hack e espera o melhor', talvez seja hora de considerar essa abordagem um pouco mais séria.
-
Russ Cox
02/04/2024 05:00
O artigo traz uma análise minuciosa do script shell do ataque xz, que, para quem acompanha o mundo das vulnerabilidades, é como descobrir um novo easter egg em um jogo clássico. Ele explora detalhes técnicos que são cruciais para entender como funciona essa ameaça e como preveni-la. Afinal, em segurança, é sempre melhor estar um passo à frente do que ter que correr atrás do prejuízo depois. E vamos combinar: todo dev já se sentiu preso em um loop infinito de vulnerabilidades, não é mesmo?
-
Justine Tunney
31/03/2024 21:59
Parece que o LLaMA está se tornando um verdadeiro velocista, especialmente em CPUs. Com novos kernels de multiplicação de matriz, a leitura de prompts e imagens está entre 30% e 500% mais rápida, dependendo do hardware. Essa melhora é um golpe certeiro para dispositivos ARMv8.2, Intel e AVX512, transformando o que antes era uma tartaruga em um coelho da corrida. Claro, tudo isso ainda depende de ter menos de 1.000 tokens, então quem sabe isso não vire piada no próximo stand-up.
-
Andrew Kelley (criador do Zig)
22/03/2024 17:32
Olha só, o Redis agora se chama Redict e, sinceramente, parece que a mudança de nome não é a única coisa estranha por trás do projeto. A decisão de tornar o software proprietário é a típica jogada corporativa que a comunidade de OSS não aprecia e, como bem apontado, tudo isso acontece numa busca sem sentido por lucro. Se a Redict já está funcionando bem sem grandes atualizações, é um pouco frustrante ver que alguém decidiu colocar um cadeado na porta. No final das contas, é apenas mais um lembrete de que, no mundo do software, um bom guarda florestal é tão importante quanto o código em si.
-
Fly.io Blog
11/03/2024 21:00
A Fly.io está se aventurando nas terras místicas dos containers e VMs com uma abordagem bem peculiar ao WireGuard. Eles não só o usam onde a galera normalmente optaria por HTTPS, mas o fazem de um jeito que transforma cada execução do flyctl em uma mágica de TCP/IP com seu próprio IPv6. Contudo, como todo feitiço, tem suas consequências: a confiabilidade pode ficar meio caprichosa. Como eles próprios dizem: "Foi uma decisão. Nós a possuímos". Agora, estamos aqui para ver as novas melhorias que surgiram das poções deles.
-
Fly.io Blog
06/03/2024 21:00
A Fly.io está finalmente colocando seu Kubernetes gerenciado no ar, e isso é uma boa notícia para quem curte a ideia de evitar o caos do gerenciamento de clusters. 'Deixamos você com a alegria desenfreada de implantar suas cargas de trabalho Kubernetes', eles dizem. É como ter um assistente que só lida com os detalhes chatos, enquanto você se concentra em criar o próximo grande aplicativo, sem perder a cabeça nas nuances de networking e métricas. Claro, se você ainda está se perguntando 'o que é um Kubernetes?', talvez esse beta seja a chance de finalmente desvendar esse mistério.
-
Retro Game Mechanics Explained
Retro Game Mechanics Explained
06/03/2024 18:35
O clássico Tetris do NES, que já é famoso por causar dependência, tem um detalhe curioso: quanto mais você joga, mais ele começa a apresentar falhas. A matéria explica isso ao abordar o "Limite de Velocidade de Queda" e outras peculiaridades do código. É como se a própria máquina dissesse: "Ei, dá um tempo, você não é o Neo desviando de balas aqui". No final das contas, um ótimo estudo sobre como até mesmo os jogos mais simples podem revelar segredos complexos de arquitetura.
-
Antirez (Salvatore Sanfilippo)
06/03/2024 07:52
O Raspberry Pi Pico realmente está ganhando seu espaço no coração dos desenvolvedores embarcados. E é impressionante como a falta de conectividade foi corrigida pela variante W. A questão do áudio é interessante: o uso de PWM para gerar sons não é exatamente 'pop' na balança de qualidade sonora, mas o lance de tocar um arquivo WAV sem DAC é um truque engenhoso. Usar uma alta frequência de onda quadrada para simular ondas complexas é como tentar ensinar uma máquina de café a fazer latte art – é trabalhoso, mas quando dá certo, é uma satisfação. No fim das contas, o Pico continua mostrando que pode ser bem mais do que apenas um brinquedo.
-
A ideia de criar algo novo, mesmo quando já existe uma solução no mercado, levanta a eterna questão: 'é mais vantagem construir ou adaptar o que já temos?'. O autor defende a inovação, mas com um toque de realismo—'é preciso questionar as motivações'. Estudar o custo-benefício e o potencial de oportunidades perdidas é fundamental; não adianta querer ser o próximo Elon Musk se não souber a conta da luz no final do mês. No fim, cada decisão deve ser tão bem fundamentada quanto uma boa arquitetura de software.
-
Laurence Tratt
28/02/2024 08:00
O autor Laurence Tratt traz uma visão interessante sobre daemons Unix, essas entidades misteriosas que habitam o fundo do nosso sistema como se fossem fantasmas de programação. Ele menciona "a terminologia e a ortografia estranhas", e é curioso pensar que a palavra "daemon" vem de uma folclórica referência a um demônio. Além disso, Tratt compartilha suas experiências ao manter três daemons por 15 anos, provando que até os seres mais invisíveis têm suas histórias. Para quem deseja entrar nesse mundo, vale a leitura.