-
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.
-
No design de sistemas distribuídos, separar a arquitetura em planos de controle e de dados é fundamental. "Reconhecendo as diferenças nos requisitos entre esses dois papéis" é um ponto que não dá pra ignorar. Enquanto o plano de dados deve estar sempre ativo para atender as requisições, o plano de controle lida com a lógica que pode se dar ao luxo de falhar temporariamente. No fundo, mesmo um monólito nunca é 100% monolítico; sempre há um algum nível de separação entre armazenamento e lógica de negócio, afinal, a vida de um dev nunca foi fácil.
-
Drew DeVault
18/02/2019 00:00
Olha, essa discussão sobre generics em Go parece uma batalha de titãs, com galera de várias linguagens se unindo para criticar. Mas o autor faz uma observação bem pertinente: o que parece ser uma ‘falta’ é, na verdade, uma escolha consciente do Go em manter a simplicidade. Com poucos recursos e bem pensados, Go consegue evitar muitas armadilhas que linguagens como C++ têm. Portanto, antes de sair apedrejando a linguagem, talvez seja bom parar e pensar se realmente precisaria daqueles recursos que está esperando!
-
Drew DeVault
10/02/2019 01:00
Wayland está de volta à berlinda e, pelo visto, as confusões a respeito dele também. O autor, que além de manter o wlroots se destaca no desenvolvimento do compositor sway, aponta que "a arte de odiar o Wayland se tornou uma atividade de culto". Um ponto interessante é a crítica à segurança, mostrando que um keylogger que utiliza LD_PRELOAD não significa que o Wayland é vulnerável, mas sim que qualquer app que permite isso já é um problema. No final das contas, sempre tem espaço para nuances e melhorias nos protocolos, então vale a pena acompanhar o que está por vir.
-
Drew DeVault
09/02/2019 23:00
É sempre bom ver uma análise clara sobre tantos mitos que cercam o Wayland, especialmente quando a comunidade parece mais dividida que os fãs de Star Wars e Star Trek. Por exemplo, a ideia de que "Wayland não é mais seguro" devido a um keylogger ignora que qualquer sistema pode ser comprometido se o atacante já tiver acesso. E essa questão das capturas de tela... Wayland não é o vilão aqui; ele é só conservador em sua abordagem, deixando espaço para extensões. No final, é preciso entender que enquanto Wayland pode não fazer tudo, ele também não é o monstro que muitos pintam.
-
Drew DeVault
30/01/2019 01:00
David Lord, um dos mantenedores do Flask, perguntou sobre o sr.ht e como é construído com Flask, e o autor aproveitou para explicar seu raciocínio. Parece que ele tem um vínculo forte com o Flask, já que tem um histórico de pelo menos 15 aplicações usando o framework. Ele elogia a flexibilidade do Flask em comparação com frameworks mais pesados como Django, destacando que "se receber toda a pia da cozinha, eu gostaria de mudar alguns detalhes". No final das contas, ele encontrou um jeito eficaz de unir mini-serviços com uma arquitetura que permite que os usuários escolham apenas o que precisam, e ainda assim, há espaço para suas críticas construtivas sobre a configuração do Flask.
-
Phil Oppermann (OS in Rust)
13/01/2019 23:00
A paginação é um esquema clássico de gerenciamento de memória, e este post faz uma boa introdução ao tema. Fico impressionado como ele aborda desde a necessidade de isolamento de memória, até como a tabela de páginas multilível funciona na arquitetura x86_64. "Memory Protection" é apenas uma parte do quebra-cabeça; a verdadeira mágica acontece quando conseguimos lidar com a fragmentação da memória. Enquanto isso, seguimos esperando pelo dia em que a gestão de memória não seja mais um problema no nosso sistema.
-
Drew DeVault
16/02/2018 23:00
Este primeiro artigo da série toca em um ponto chave: a construção de um compositor Wayland do zero. O autor, que é o mantenedor do sway, destaca que "wlroots é uma ferramenta poderosa, mas densa e difícil de entender". Para os devs que têm um bom domínio de C, o artigo promete desmistificar essa complexidade. E o melhor: por trás do código e das structs, existe um esforço colaborativo que busca apoio em crowdfunding para um hackathon. Tudo isso mostra que, no mundo do dev, além da técnica, a comunidade é fundamental.
-
Drew DeVault
27/01/2018 01:00
O debate sobre quem deve cuidar das decorações das janelas no Wayland nunca morre, e Sway está aqui para lembrar que não há um consenso como alguns querem fazer parecer. Com declarações como "[decorações do servidor] não (e nunca) funcionarão no Wayland", fica claro que há um certo exagero por parte do GNOME. Os problemas com CSD são reais e não devem ser ignorados, como a falta de uma aparência consistente entre os clientes. Sway, KDE e outros estão dispostos a colaborar para encontrar uma solução, mas parece que a balança não está pesando para o lado da discussão produtiva.
-
Drew DeVault
26/01/2018 23:00
O debate sobre quem deve cuidar das decorações das janelas no Wayland esquentou de novo. O autor critica a posição do GNOME, que parece dar a entender que o assunto já está resolvido, mas na verdade ainda gera controvérsia, especialmente com problemas como "no consistent look and feel" entre os clientes. Além disso, a afirmação do GNOME de que "[decorações do lado do servidor] não funcionam (e nunca funcionarão) no Wayland" é problematizada. Sway e KDE estão, na verdade, buscando uma solução colaborativa, mostrando que a briga ainda não acabou. Nada como um bom debate nerd sobre janelas, não é mesmo?
-
Andrew Kelley (criador do Zig)
03/01/2018 06:23
Em dezembro de 2017, Zig fez algumas mudanças interessantes, como a possibilidade de especificar o tipo de tag para enums. Agora, fica mais fácil organizar enums em structs compactos e, nossa, quem não ama um bom enum bem controlado? A limitação de conversão de enum para um inteiro arbitrário também é uma jogada que promete acabar com as confusões na hora da leitura do código. As atualizações de unions também são bacanas, permitindo mais flexibilidade, mas parece que a equipe está mantendo um controle rígido sobre como os desenvolvedores interagem com elas. É sempre bom ver melhorias que visam deixar o código mais claro e seguro.
-
Drew DeVault
12/11/2017 23:00
Portabilidade, como discutido, é mais do que apenas rodar um software em Windows e macOS. O autor destaca que a verdadeira portabilidade depende de padrões, com o POSIX sendo o campeão dessa batalha. Isso significa que, se você quer que seu código rode em uma infinidade de sistemas, você deve abraçar o POSIX, que é como o Esperanto do mundo dos sistemas operacionais. Se você ignorar isso, pode acabar como aquele projeto de legado que ninguém quer tocar.
-
Dan Luu
08/11/2017 23:00
Mudanças de UI que quebram a memória muscular são como tentar ensinar um gato a usar a caixa de correio. Recentemente, o Zulip decidiu brincar com a lógica dos usuários e trocou o ctrl + enter para enviar mensagens, causando uma avalanche de mensagens mal formuladas. É curioso como um pequeno ajuste pode fazer os usuários se sentirem meio que ‘dumb’ em vez de simplesmente mal orientados. Isso é um lembrete de que, assim como na física, a resistência à mudança na UI pode ser uma força poderosa contra os padrões de usabilidade esperados.
-
Drew DeVault
08/10/2017 21:00
Saiu a versão 0.15-rc1 do sway, que é como se fosse o último beta antes do grande lançamento 1.0. Basicamente, após essa versão, a equipe vai focar na migração para o wlroots, um novo sistema que promete ser mais eficiente do que seu antecessor, wlc. Com wlroots, o sway vai ter mais flexibilidade para lidar com as demandas de compositing, o que é ótimo para quem vive pedindo recursos que antes eram limitados. Obviamente, como em todo projeto open source, o trabalho em equipe está em alta, e os colaboradores estão fazendo a mágica acontecer mais rápido do que a luz do Flash.
-
Antirez (Salvatore Sanfilippo)
02/10/2017 12:12
A introdução dos streams no Redis promete tapar alguns buracos na modelagem de dados. O autor reconhece que outras estruturas, como listas e conjuntos ordenados, têm suas limitações, especialmente quando se fala em aplicações como séries temporais. É interessante ver que, após a introdução dos módulos no Redis 4.0, os usuários começaram a criar suas próprias soluções para problemas que o Redis ainda não resolvia. Como ele mesmo diz, a solução não é simplesmente inventar algo novo, mas sim refinar o que já existe, o que é sempre uma abordagem sensata. Vamos acompanhar como isso se desenvolve e se os streams realmente trarão a flexibilidade prometida.
-
Drew DeVault
12/09/2017 21:00
Hacker News é um ótimo lugar para discutir tecnologia, mas como qualquer festa nerd, a moderação precisa de um toque sutil. O autor coleta dados para entender como os moderadores agem; afinal, ‘nem todo herói usa capa’. Eles podem editar títulos, enterrar posts problemáticos e até usar ferramentas automatizadas para manter a ordem. É interessante perceber que a remoção de um post é menos frequente que a sua ‘morte’ simbólica, ou seja, o famoso ‘killing’. Esse estudo mostra que até o campo da moderação precisa de algoritmos e estratégias bem pensadas.
-
Drew DeVault
07/09/2017 21:00
A complexidade está se tornando uma epidemia e é o verdadeiro chefe final do design de software. O artigo critica ferramentas que prometem simplificar, mas muitas vezes só aumentam a confusão. Como menciona, "a adição de dependências é falível" e, no fim, você pode acabar preso em uma arquitetura que mais parece um labirinto do que uma solução. Simplificar deve ser a palavra de ordem, principalmente com o hipe pelas atualizações constantes que só tornam tudo mais lento e complicado.
-
Fabien Sanglard
06/09/2017 22:08
Depois de três anos de trabalho árduo, o "Game Engine Black Book" sobre o icônico Wolfenstein 3D finalmente saiu do forno. Com 316 páginas repletas de cores e conhecimento técnico, ele divide a jornada pelas entranhas da engine e as ferramentas da id Software, que, convenhamos, são praticamente relíquias da cultura dev. É um prato cheio para quem quer entender como esses motores de jogo moldaram o que vemos hoje, além de um lembrete de que até os maiores projetos têm suas tempestades. Se você está fazendo um curso sobre desenvolvimento de jogos ou só quer aprender, vale a pena conferir.
-
Fabien Sanglard
06/08/2017 22:08
Se você já ficou intrigado com como o Wolfenstein 3D rodava tão liso em um PC que parecia ter mais limitações que o Windows 95, o livro 'Game Engine Black Book' é sua nova bíblia. Como o autor menciona, "a engenharia por trás disso é pura mágica" – ou seja, muita matemática e algumas gambiarras. O foco nas ilustrações é bem interessante, porque, convenhamos, não é todo dia que você vê um 386 sendo tratado como uma diva das plataformas de jogos. Para quem quer entender como se faz milagre com poucos recursos, vale a pena conferir.
-
Antirez (Salvatore Sanfilippo)
28/02/2017 08:08
A discussão sobre o programador 10x sempre gera debates acalorados na comunidade: 'não existe' versus 'existem até os 100x'. A verdade é que programar é mais sobre design do que uma simples linearidade de execução. Quando um programador domina tanto o design quanto a implementação, ele realmente pode alcançar resultados surpreendentes. Mas em ambientes rígidos, a "mágica" dos 10x fica bem mais limitada; afinal, como correr 10 vezes mais rápido que outro corredor?