-
Dan Luu
11/07/2019 21:00
Falar de arquivos é como discutir como o Sandman deveria ser incrível, mas, na verdade, a realidade é que eles são uma fonte infinita de dores de cabeça. O depoimento traz uma boa reflexão sobre o preconceito dos devs em relação a sistemas de arquivos, e como a abstração do kernel nem sempre é tão brilhante quanto se imagina. Olhando os comentários do Reddit, fica claro que muitos não percebem que cada sistema de arquivos pode ter suas particularidades e bugs, na verdade, é o tipo de situação que faria um dev querer quebrar uma chave de fenda em um teclado. No final das contas, manipular arquivos pode ser mais intricado do que parece e uma boa dose de atenção é necessária para evitar catástrofes.
-
Phil Oppermann (OS in Rust)
05/07/2019 21:00
Esse post é tipo aquele "eu juro que vou fazer a pizza" que você escuta em um bar, mas só sai uma coxinha no final. O autor estava focado em finalizar o post sobre alocação de heap, mas decidiu fazer um spin-off sobre designs de alocadores, porque sim, porque a vida de dev deve ter seus próprios plot twists. Além disso, as pequenas atualizações nos crates x86_64 e bootloader são aquelas correções essenciais que mantêm a festa rolando. Clássico do universo dev: nunca é apenas um simples "atualizar".
-
Drew DeVault
01/07/2019 00:00
Quando se fala de IRC e suas limitações, é interessante notar que essas lacunas "são a essência da sua simplicidade". Discutir a adição de novos recursos pode ser tão arriscado quanto implementar uma atualização sem testar, e isso poderia transformar um espaço simples em uma confusão. Manter todos em um mesmo nível dentro das limitações do IRC não só mantém a plataforma fluida, mas também evita que usuários com máquinas antigas ou sistemas operacionais exóticos fiquem de fora. No fim do dia, o que importa é a comunicação, não é mesmo?
-
Drew DeVault
30/06/2019 21:00
O debate sobre o IRC e suas limitações é sempre pertinente. A falta de recursos como imagens incorporadas e mensagens encadeadas pode parecer um atraso tecnológico, mas, segundo o autor, isso cria uma base comum e simples para todos os usuários. No fim das contas, essa "degradação graciosa" evita experiências desiguais que podem confundir e até prejudicar usuários com hardware antigo ou necessidades específicas. Afinal, dependendo do seu cliente, até a formatação de texto pode ser um pesadelo.
-
Phil Oppermann (OS in Rust)
25/06/2019 21:00
Esse post traz um avanço interessante ao adicionar suporte para alocação na heap ao núcleo. Ele apresenta como o verificador de empréstimos do Rust previne erros comuns de alocação enquanto implementa a interface básica de alocação. Agora, com "todos os tipos de alocação e coleta do crate alloc embutido" disponíveis, o núcleo fica mais robusto, o que é como passar do nível 1 para 10 em um jogo de RPG, só que aqui o mana dele é a memória. Para quem gosta de dev em código aberto, a oportunidade de colaborar no GitHub é um bônus e tanto.
-
Redundância é igual a aquele código legado que só complica sua vida. Como Andrew Certain destacou, pode ser que adicionar duas NICs não resolva um problema se isso criar mais complexidade do que solução. Para um sistema de replicação, é fundamental garantir que a complexidade adicional não diminua a disponibilidade. Então, da próxima vez que pensar em redundância, lembre-se: simplicidade pode ser a chave para um sistema mais robusto.
-
Assistindo à série Chernobyl, fica claro que, sem uma cultura de segurança sólida, operadores estão fadados ao fracasso. A HBO retrata Dyatlov como alguém que ignorou avisos críticos de sua equipe, mas, no fundo, o acidente foi resultado de um sistema com falhas de design e práticas operacionais carentes. Como bem observado, "não havia evidências de que operar o reator em modo perigoso fosse proibido". No fim das contas, o culpado é um mix de decisões erradas e um desenho de reator que faria até o melhor dev ficar nervoso.
-
Drew DeVault
02/06/2019 21:00
Depois de um desenvolvimento mais lento que uma conexão dial-up, o aerc finalmente chegou à versão 0.1.0, e parece que agora está a todo vapor. Se você é fã do mutt, aerc promete uma experiência mais rápida e um sistema de atalhos inspirado no vim, o que é uma combinação perfeita para quem vive com a linha de comando. E vamos combinar, quem não gostaria de escrever e-mails enquanto procrastina jogando nethack? Definitivamente, vale a pena conferir esse novo cliente e apoiar o desenvolvedor, seja com código ou doações.
-
Phil Oppermann (OS in Rust)
02/06/2019 21:00
O post faz uma boa reflexão sobre como a correria da vida acadêmica pode impactar o desenvolvimento de projetos open-source. Embora não tenha havido grandes novidades, as pequenas atualizações no blog 'Writing an OS in Rust' são iguais a patches de segurança: muitas vezes, são essas melhorias sutis que garantem que tudo continue funcionando. É interessante notar movimentações como a inclusão do Rustup na imagem do Azure Pipelines, o que simplifica a vida para quem está tentando configurar o ambiente. Em tempo de desenvolvimento, cada detalhe conta.
-
Drew DeVault
14/05/2019 21:00
Parece que a revolução do email não tem data para parar. A introdução de ferramentas de revisão baseadas na web em lists.sr.ht está transformando a experiência de patches - como um GitHub mas com o charme do email. O legal é que todo o processo ocorre sem que os participantes precisem fazer algo diferente, facilitando a vida de quem prefere o web. E no universo do aerc, finalmente temos suporte para compor emails, o que é um passo bem-vindo. E quem diria que um terminal poderia ser seu editor de texto preferido? Isso é o que eu chamo de 'devs unindo forças com boas práticas', só faltou uma integração com o forno da pizza para completar.
-
Drew DeVault
01/05/2019 00:00
Wio é uma proposta interessante para quem curte a estética do Plan 9 e a flexibilidade do Wayland. Como o autor menciona, ele é um compositor baseado em wlroots que traz um visual semelhante ao Rio, rodando cada aplicativo em seu próprio compositor aninhado. A ideia de "cada janela ocupando a janela pai" é um toque legal, lembrando como alguns jogos antigos brincavam com as janelas. No entanto, ainda há bastante trabalho para tornar o Wio totalmente compatível com Rio, como o gerenciamento de arquivos que vai além do básico. Se você manja de código e tem interesse, a comunidade está chamando com "...ajuda de usuários que estejam interessados em melhorar Wio".
-
A discussão sobre coordenação em sistemas de nuvem é tão essencial quanto manter a bateria do seu laptop cheia. Muitos sistemas são projetados para evitar coordenação entre clusters, mas como o artigo aponta, isso pode levar a surpresas desagradáveis durante falhas correlacionadas. "Se sistemas são projetados para coordenar durante o tratamento de falhas, isso pode resultar em explosões repentinas de coordenação e tráfego" — e, claro, ninguém quer ficar na fila do atendimento ao cliente quando a nuvem entra em colapso. A lição aqui é clara: o planejamento cuidadoso é o nome do jogo, ou você pode acabar com suas estruturas de coordenação caindo como um castle em um game de cartas mal jogado.
-
Phil Oppermann (OS in Rust)
30/04/2019 21:00
O mês foi agitado para quem está acompanhando a série de "Writing an OS in Rust". A reescrita do sistema de build do bootloader para um linking adequado mostra que até os desenvolvedores mais dedicados têm que lidar com os desafios de manter a compatibilidade, como mencionado nas mudanças de versão: "Essas (breaking) mudanças foram lançadas como versão 0.5.0". Saindo do Netlify para o Github Pages, eles estão mantendo os custos na linha, então cada centavo conta. Afinal, quem nunca teve um projeto que quase quebra o banco?
-
Drew DeVault
23/04/2019 00:00
Parabéns ao Jente Hidskes pelo lançamento do Cage! Este compositor Wayland para quiosques traz uma abordagem interessante ao permitir executar uma única aplicação em tela cheia e sair quando ela fecha. Ao combinar isso com o backend RDP do wlroots, você pode ter uma experiência de desktop remoto praticamente igualando a execução local. É uma solução que pode não ser prática para o dia a dia, mas definitivamente se encaixa naquele nicho de "hacks legais" que todo dev ama explorar. Dica: vale a pena dar uma olhada no Cage e pensar em outras aplicações que você poderia criar!
-
Drew DeVault
22/04/2019 21:00
O Cage é uma adição interessante ao mundo dos compositores Wayland, especialmente para quem tem aplicações que precisam rodar em modo quiosque. Ele basicamente entrega uma sessão leve que se despede quando o app fecha, o que é bem útil. Embora não seja a solução perfeita para quem espera transparência de rede, a combinação com o RDP abre várias possibilidades legais. É um hack bacana e uma prova de que sempre há um jeito de fazer as coisas no mundo dev. E, claro, parabéns ao Jente Hidskes pela iniciativa.
-
Drew DeVault
15/04/2019 00:00
Parece que o calor em Filadélfia não é a única coisa que está aumentando; o projeto aerc2 está bombando com nova funcionalidade. Agora ele consegue ler e-mails e até faz algumas gambiarras visuais, como highlights e rendering de HTML. E, vamos ser sinceros, quem não quer um terminal que lembre o vim em suas keybindings? Isso é pura magia do sistema. Ah, e não esqueçam de dar uma olhada no git-send-email.io, que está como uma mão na roda para todos nós devs que amamos um fluxo de trabalho bem organizado, no estilo open-source, claro.
-
Construir sistemas distribuídos é como tentar gerenciar uma festa com mais de mil convidados: é difícil, caro e todo mundo tem uma ideia diferente de como as coisas devem funcionar. A boa notícia é que há uma montanha de recursos disponíveis, desde papers acadêmicos até blogs que simplificam essas informações. Se você quer mesmo dominar isso, a prática é o caminho — implementar algoritmos como Paxos ou Raft pode ser uma maneira eficiente de aprender (e deixar o seu código mais interessante do que qualquer história do Tio Ben). No fim das contas, nada melhor do que aprender com os erros, então prepare-se para algumas falhas... e muito café.
-
Drew DeVault
25/03/2019 00:00
Comparar Rust e C é como comparar um sabre de luz e um cacetete. O autor menciona que "Rust é um substituto decente para C++" e isso faz sentido, considerando que ambos têm uma complexidade que pode deixar até o Jedi mais experiente confuso. E enquanto C é um "esperto" de portabilidade, com sua capacidade de rodar em quase tudo, Rust ainda tem um longo caminho a percorrer. No final das contas, para muitos programadores de sistemas, o que importa é a simplicidade e funcionalidade, não as novidades brilhantes que acabam complicando mais do que resolvendo.
-
Drew DeVault
24/03/2019 21:00
A comparação entre Rust e C é interessante. O autor coloca que "Go é o resultado de programadores de C projetando uma nova linguagem, e Rust é o resultado de programadores de C++", o que já dá uma boa ideia das intenções por trás de cada linguagem. Rust pode ser brilhante para quem adora a complexidade do C++, mas não é a escolha ideal para o desenvolvimento que prioriza estabilidade e simplicidade como C. Afinal, um programador de sistemas não quer mais recursos reluzentes, mas sim aquilo que realmente funcione sem uma linha de manual.
-
Antirez (Salvatore Sanfilippo)
22/03/2019 12:10
O novo recurso 'Streams' do Redis é um verdadeiro divisor de águas na forma como lidamos com dados em tempo real, mas é hora de desmistificá-lo. É fácil cair na armadilha de pensar que ele é só uma alternativa ao Kafka, mas isso é uma simplificação perigosa. Como o autor aponta, Streams "podem ser usados para modelar dezenas de problemas diferentes", o que mostra que a estrutura é muito mais flexível do que parece à primeira vista. É bem como transformar um simples arquivo CSV em algo robusto; o Redis está nos oferecendo um verdadeiro upgrade na gestão de dados.