-
Drew DeVault
15/06/2023 21:00
Quem diria que a jornada de um dev por mobile Linux terminaria em terras conhecidas como Android? Afinal, após três anos de experimentação com distros como postmarketOS e UBports, o autor se viu enfrentando o dinossauro da confiabilidade, especialmente em funções básicas como telefonia. É um lembrete para nós, devs: às vezes, a liberdade vem com o custo de um pouco de frustração. Apesar dos altos e baixos, ele fez a escolha pragmática e voltou para o LineageOS. E quem não gostaria de um sistema que funcione sem a necessidade de um manual de sobrevivência?
-
Essa análise sobre propriedade única é um mergulho interessante nas complexidades da gestão de memória que muitos programadores em C deveriam ler. O autor parece estar jogando um xadrez mental, demonstrando que não precisamos sempre de ferramentas pesadas como a coleta de lixo para garantir segurança de memória. Fica a dica: quem já passou pela tortura dos vazamentos de memória sabe que, às vezes, um simples controle de propriedade pode evitar um colapso no programa. Nota para os responsáveis pela documentação: 'The caller takes ownership of the data' é um mantra que deve ser facilmente acessível para prevenir conflitos e desastres.
-
O autor fala sobre como a segurança de memória realmente não é sem custo, desmontando o mito do "zero-overhead memory safety". No final, fica claro que, a menos que você esteja programando um simples "return 0;", todo programa tem seu preço em performance. A parte divertida é a menção da "Arrrlang", uma linguagem pirata que usa arrays globais em vez de ponteiros, lembrando como uma estrutura de dados simples pode trazer segurança - é tipo tentar encontrar um bug na sua aplicação enquanto usa um barco de papel. O que fica é que, em desenvolvimento, não existe almoço grátis, especialmente quando se fala de segurança de memória.
-
Embedded Artistry
Phillip Johnston
07/06/2023 20:08
A discussão sobre o entendimento de outras disciplinas é um convite para sair da bolha do nosso código e interagir com as nuances das áreas que permeiam o desenvolvimento. "Entender conceitos básicos de diferentes áreas" pode ser o que diferencia um dev mediano de um verdadeiro full stack ninja. Não é necessário se tornar um especialista em tudo, mas, se você conseguir falar a língua de design, marketing e até mesmo de negócios, suas chances de ser promovido sobem mais que aquele seu código em JavaScript que finalmente rodou sem bugs.
-
Embedded Artistry
Phillip Johnston
18/05/2023 14:40
Legal ver a colaboração entre a Embedded Artistry e a Memfault para discutir os bastidores do desenvolvimento de sistemas embarcados. Como o texto menciona, ter um painel com especialistas na vanguarda da tecnologia pode ser iluminador, especialmente quando se trata de escalar coisas que fazem parte do nosso dia a dia. O desafio de transformar uma ideia em um dispositivo comercializável é como compilar código sem bugs: parece simples, mas normalmente vem com surpresas dolorosas. Portanto, se você está no barco da engenharia embarcada, essa é uma oportunidade imperdível.
-
A distinção entre sistemas abertos e fechados pode parecer uma discussão de geek, mas tem impactos diretos em performance e medição. Como destaca o artigo, 'mean response times are significantly lower in closed systems than in open systems', o que pode ser crucial na hora de projetar sistemas robustos. A capacidade de um sistema fechado de evitar filas, enquanto o sistema aberto acumula latência, é uma lição importante que devemos carregar no nosso arsenal.
-
Mitchell Hashimoto
22/04/2023 21:00
Nix parece ser a resposta para muitos problemas chatos enfrentados por desenvolvedores, especialmente quando se trata de garantir que tudo funcione em diversos ambientes. Mitchell Hashimoto ressalta que, ao integrar Nix com Docker, podemos evitar o pesadelo da duplicação de esforços, onde cada ambiente tem suas próprias peculiaridades. "Eu não tive um problema de 'funciona na minha máquina' em anos", ele afirma, o que é uma reivindicação poderosa. Para aqueles que ainda estão relutando em experimentar, a proposta é simples: menos dor de cabeça e mais tempo para focar em desenvolver, não em corrigir bugs de ambiente.
-
Drew DeVault
18/04/2023 00:00
O rc promete uma abordagem interessante para quem já está cansado do pesadelo de citação no shell, eliminando a necessidade de colocar aspas em variáveis. Isso é quase como a "força" que faltava para muitos desenvolvedores navegando pelo universo POSIX. Com um suporte melhorado para listas e operações intuitivas, parece que este shell poderá facilitar a vida de quem tramita constantemente em scripts. Mas, como qualquer projeto em desenvolvimento, é bom ficar atento às limitações até o lançamento da versão final.
-
Drew DeVault
17/04/2023 21:00
O rc é uma adição intrigante ao ecossistema Unix, trazendo melhorias como a ausência de citações em variáveis. Isso é um alívio para todos que já se perderam na sintaxe do POSIX. Ele também introduz operações em listas que lembram um pouco a programação funcional, o que pode deixar alguns devs nostálgicos. É uma abordagem que promete tornar a escrita de scripts mais limpa e eficiente, mas ainda precisa de um polish. Vamos acompanhar esse projeto e ver onde ele vai parar.
-
Drew DeVault
08/04/2023 00:00
O artigo apresenta o ambiente Mercury para desenvolvimento de drivers no microkernel Helios, que, como um verdadeiro ninja tecnológico, traz um modelo baseado em capacidades para isolamento e segurança. A ideia de que um bug no driver não derruba o sistema todo é como ter um firewall que previne os hackers de roubar suas senhas no jogo. Escrever drivers se torna uma tarefa menos aterrorizante e mais interessante, principalmente com a estrutura que permite a separação de recursos. No mundo dos drivers, menos é mais e o Mercury parece estar no caminho certo.
-
Drew DeVault
07/04/2023 21:00
O Helios parece estar trazendo um novo sopro de vida no cenário dos microkernels, especialmente com esse ambiente Mercury que permite que desenvolvedores escrevam drivers em userspace. A abordagem baseada em capacidades é interessante - ao invés de colocar tudo numa panela monolítica como o Linux, aqui a segurança é reforçada isolando drivers, minimizando o caos que um bug pode causar. "A vulnerabilidade no nosso driver poderia, no pior cenário, escrever lixo na sua porta serial" é uma maneira bem prática de mostrar o que está em jogo aqui.
-
Drew DeVault
20/02/2023 00:00
Portar o microkernel Helios para aarch64 é como tentar atualizar seu carro dos anos 80 para rodar na energia solar: complexo, mas no fim, uma experiência renovadora. O autor fez a palestra diretamente de um Raspberry Pi 4, mostrando que até os mais simples dispositivos podem fazer mágica quando usados com criatividade. Diz ele: "bootloader começa e carrega o kernel", mas na prática é um verdadeiro quebra-cabeça, com muita dança entre serviços de runtime e configuração. Pelo menos, se tudo der errado, sempre pode voltar a um bom e velho 404.
-
Drew DeVault
19/02/2023 21:00
A migração do Helios para aarch64 é um ótimo exemplo de como você pode misturar um toque de retro-computing com a inovação em arquiteturas. Apresentar do Raspberry Pi 4 foi uma jogada esperta, tendo em vista a complexidade do ambiente x86_64. Como o autor mencionou, "o bootloader foi o primeiro passo"; isso só mostra como até os maiores desafios podem ser reduzidos a uma linha de código (ou, neste caso, 42 dias de noites de insônias). Ansioso para as próximas partes e as dores de cabeça que virão com a execução.
-
A escalabilidade das bases de dados distribuidas é sempre uma questão complicada. O texto toca no problema dos "hot keys", que podem se transformar em gargalos em sistemas. Vamos pensar nos nomes de bebês como chaves — quem diria que o nome Olivia teria um impacto tão grande na performance da sua base de dados? A distribuição de Zipf é uma interessante ferramenta aqui, mas se não tomar cuidado, a sua aplicação pode ser mais frustrante que depurar um código legado a cada commit.
-
Drew DeVault
24/01/2023 00:00
O FOSDEM finalmente acontece de novo presencialmente e, pelo que parece, seremos agraciados com várias palestras interessantíssimas. O destaque vai para o microkernel Helios, que promete mostrar a versatilidade da linguagem Hare: "Hare é uma linguagem de programação de sistemas projetada para ser simples, estável e robusta". É sempre bom ver um evento assim reunindo a galera para debater sobre projetos de código aberto e promover alguma saúde mental com um pouco de programação em baixo nível.
-
Drew DeVault
23/01/2023 21:00
O FOSDEM finalmente está de volta ao vivo, e parece que as coisas estão esquentando com a incursão de novos projetos. A apresentação sobre Helios, um microkernel feito para mostrar a versatilidade do Hare, promete ser um aperitivo interessante. Além disso, as meetups para as comunidades de Hare e SourceHut parecem ser uma ótima oportunidade para trocar ideias e talvez até desmistificar alguns mitos sobre kernels (spoiler: não é magia, é programação). Se você estiver por perto, vale a pena conferir as discussões e, quem sabe, se inspirar para seu próximo projeto. Afinal, estamos todos na mesma rede, certo?
-
O artigo mostra que "o desenvolvimento da velocidade é o mais importante a otimizar", especialmente para jogos que precisam ser lançados rapidamente. A escolha da linguagem tem um papel crucial, com abordagens como gestão manual de memória e verificação de empréstimos que podem tanto ajudar quanto atrapalhar. É como tentar fazer um portal de teletransporte em vez de um carro; se você não administrar bem a memória, pode acabar fazendo quilometragem a mais.
-
O artigo destaca como o conceito de hedging, popularizado por Jeff Dean e Luiz Barroso, pode ajudar a mitigar latências de cauda, mas com um custo: "você tem que enviar duas vezes, ou uma só". A proposta de usar erasure coding como alternativa é interessante, permitindo que você recupere dados de partes separadas sem precisar duplicar tudo, o que é uma manobra bem engenhosa. No fim das contas, parece que a flexibilidade de codificação pode ser o verdadeiro MVP para sistemas que buscam performance sem ampliar a infraestrutura. Vamos ver se mais devs pegam essa ideia e rodam com ela.
-
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.
-
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!'.