-
Drew DeVault
19/10/2018 21:00
Então, estamos falando do Sway 1.0-beta.1, que chegou pra fazer a revolução no mundo do Wayland. A equipe realmente se superou, com melhorias que fazem a diferença entre a versão 0.15 e a 1.0 parecerem, como eles mesmos disseram, 'como noite e dia'. Agora, dá pra rodar em múltiplas GPUs e até configurar seu teclado do jeito que você quiser no arquivo de configuração. E quem diria que poderíamos ter múltiplos mouses e cursores? Isso é quase coisa de Harry Potter em um ambiente de desenvolvimento.
-
Drew DeVault
29/09/2018 21:00
Finalmente, um relato do XDC 2018 que mistura muita troca de ideias entre pessoas que realmente fazem acontecer o wlroots e o Sway. "wlroots foi um dos softwares mais importantes representados no XDC", e, pelo que parece, as conversas sobre as falhas no código DRM foram bem produtivas. O destaque das apresentações parece ter sido a introdução ao design das GPUs da Intel, o que é sempre fascinante, considerando que muitos de nós ainda temos pesadelos com drivers. E claro, sempre bom ver que a galera da Nvidia ainda é cordial, mesmo quando a conversa é sobre seu envolvimento com open source, ou a falta dele.
-
Fabien Sanglard
22/09/2018 22:08
É interessante notar como "usava acontecer esporadicamente, mas agora é uma experiência diária". Isso me lembra aquelas atualizações de software que só prometem otimização e acabam tornando tudo mais lento. O aumento da complexidade nos sistemas parece estar se tornando a nova norma, e cada linha de código pode ser um novo bug pronto para aparecer do nada. A chave é manter os olhos no desempenho e não deixar o sistema sair do controle, ou você pode acabar como um servidor com RAM demais para um projeto pequeno.
-
Coding Horror (Jeff Atwood)
Jeff Atwood
21/09/2018 06:50
A ideia de legado da "segurança cibernética" está tão ultrapassada quanto um disco de fita. A questão é que esse "mau comportamento digital" que antes parecia uma história de ficção já está mudando a narrativa do mundo real. "Infelizmente, vivemos em um mundo onde esse tipo de travessura digital está reescrevendo a história do planeta." Sem sombra de dúvida, é importante refletir sobre as implicações disso na nossa rotina de devs.
-
Drew DeVault
05/08/2018 00:00
A configuração de um servidor de email local é como montar sua própria estação espacial no Minecraft: você precisa de algumas peças chave, mas a magia acontece na integração. O guia toca em detalhes como instalar o Postfix e ajustar chaves de configuração, tudo para que você possa testar seu código de email sem sair do localhost. O autor deixa claro que "não vamos nos aprofundar em coisas mais complexas" – uma abordagem bem pragmática e focada, sem necessidade de complicar. No fim das contas, é um passo essencial para devs que querem manter seus projetos em um ambiente controlado.
-
Drew DeVault
04/08/2018 21:00
Para quem quer fazer um "Hello World" na configuração de servidores de e-mail, esse guia é um bom ponto de partida. O autor nos leva pela mão desde a instalação do Postfix até as configurações essenciais, e tudo isso com um toque de simplicidade. Cortar os detalhes como bancos de dados e filtros de spam é uma boa ideia para não sermos engolidos por complexidades desnecessárias. Se você sempre quis se sentir como um maestro de e-mails no seu localhost, é hora de pegar o violão e começar a tocar a canção do SMTP.
-
Drew DeVault
29/07/2018 00:00
O autor pede desculpas por não falar mais sobre wlroots, e eu entendo bem como é se sentir preso numa codebase que não é a sua praia. O post foca em 'shells', que são a alma das superfícies no Wayland, dando significado e função a cada pixel. O autor menciona que, assim como o processamento de dados, a configuração deve ser feita de maneira atômica, evitando os problemas clássicos que o X enfrenta. É sempre fascinante ver como o Wayland está lidando com a bagunça de janelas em um desktop, certo?
-
Drew DeVault
28/07/2018 21:00
O texto fala sobre como as superfícies e shells em Wayland interagem, com um foco no wlroots, que é tipo a biblioteca ninja para compor um compositor. A ideia de que cada shell tem seu papel específico na interface é interessante, especialmente quando a gente considera as nuances, como janelas de aplicativos vs. wallpapers. Está claro que a atomicidade é a palavra da vez, evitando que a interface fique cheia de frames inválidos, o que faz uma diferença danada em uma era onde o desempenho é tudo. No final das contas, é outra camada de complexidade que devs precisam dominar para criar interfaces suaves e intuitivas.
-
Drew DeVault
17/07/2018 00:00
O wlroots continua a se destacar pela sua flexibilidade, mas, como o autor bem observa, essa versatilidade vem com um preço: confusão. O conceito de "batteries not included" é muito pertinente aqui, especialmente na parte de manipulação de entrada. Entre cliques e toques, fica claro que você precisa ser um pouco hacker para fazer tudo funcionar como um personagem de um jogo retro – entender a estrutura do `wlr_backend` é vital para quem não quer perder a cabeça. Só não esqueça que, apesar de ter o poder nas mãos, a responsabilidade de conectar tudo com os clientes do Wayland está em suas mãos.
-
Drew DeVault
16/07/2018 21:00
O wlroots realmente se autodenomina uma biblioteca "sem bateria inclusa", e isso é visível no tratamento de entradas. Com um design que atende uma gama incrível de cenários — de desktops a dispositivos móveis — o que poderia ser um brinquedo divertido logo se transforma em um labirinto confuso. Os desenvolvedores devem se preparar para uma curva de aprendizado, especialmente ao lidar com a diversidade de tipos de dispositivos como teclados e mouses. Basicamente, montar esse quebra-cabeça de inputs pode lembrar um pouco de configurar um servidor de Minecraft: intrigante, mas com muitos bugs para resolver.
-
A Lei de Little é praticamente o que há de mais próximo de um superpoder na análise de sistemas distribuídos. Com a fórmula 𝐿 = λ𝑊, conseguimos entender melhor a capacidade do sistema com métricas de latência e taxa de chegada de requisições. Mas, como o autor aponta, a realidade é bem mais complicada, já que a concorrência e o tempo de resposta se influenciam mutuamente. Olhando para isso, fica claro que nem sempre a matemática entrega uma solução perfeita, já que o mundo real não é tão bonito quanto a matemática faz parecer.
-
Phil Oppermann (OS in Rust)
17/06/2018 21:00
O post mergulha fundo nas "falhas duplas", que ocorrem quando a CPU não consegue chamar um manipulador de exceções, levando a potencialmente desastrosas "falhas triplas". Ao configurar uma Interrupt Stack Table, conseguimos capturar essas falhas em uma pilha de kernel separada e evitar o reset do sistema. Resumindo, é como adicionar um catch para que seu código não simplesmente vire um loop infinito sem mais nem menos. No final, lidar com essas falhas é crucial para a estabilidade do sistema e, convenhamos, quem gosta de resets inesperados?
-
Phil Oppermann (OS in Rust)
16/06/2018 21:00
Exceções de CPU são como aquele amigo que fica interrompendo todo mundo na festa para falar sobre o último bug que encontrou. Quando algo dá errado, como uma divisão por zero, é aí que as coisas ficam interessantes. Configurar uma tabela de descritores de interrupção para gerenciar essas exceções é o que dá aquele "up" no controle do nosso kernel. Afinal, quem não gostaria de ter um plano de contingência para evitar um "triple fault" na hora da ação?
-
Phil Oppermann (OS in Rust)
14/06/2018 21:00
Implementar um framework básico de testes de integração no QEMU é como dar uma volta no parque de diversões do desenvolvimento: divertido, mas requer um pouco de coragem. A prática de executar testes em uma máquina virtual simula um ambiente mais próximo do real, permitindo verificar se nosso código se comporta bem em situações reais. "A integração entre componentes... precisa de um ambiente realista" e, embora QEMU não seja tão nostálgico quanto hardware real, é uma ferramenta bastante prática para automatizar essa tarefa sem perder o foco no que realmente importa – que tudo funcione. Boa sorte tentando não deixar nenhum bug escapar, porque todos sabemos que eles se escondem melhor que o Mario em um bloco invisível.
-
Drew DeVault
26/05/2018 21:00
A equipe por trás do Sway decidiu que era hora de substituir o wlc por uma nova biblioteca chamada wlroots. Ao longo do tempo, ficou claro que o wlc estava mais travando do que ajudando, com bugs que refletiam limitações antigas e, segundo o autor, "decidimos que começaríamos a desenvolver uma biblioteca independente para substituir o wlc". Imaginem só, o dev que escolheu o wlc na esperança da facilidade de depuração agora se vê construindo um novo futuro para o Wayland. Um jeito de tornar o ecossistema ainda mais diverso e interessante para nós, devs.
-
Drew DeVault
13/05/2018 00:00
Finalmente, um gerador de man pages que não faz a gente se sentir como se estivesse Kelvin na era medieval. Segundo o autor, scdoc é inspirado no Markdown, mas não se engane, ele não é Markdown, porque queremos man pages, não páginas de HTML de sites de gato. Com menos de 1.000 linhas de código C95 e compatibilidade UTF-8, parece que esse gerador é o sonho realizado dos devs que sempre sonharam em não sofrer mais com ferramentas burocráticas. Um brinde à simplicidade, e quem sabe até ao Unicode!
-
Drew DeVault
04/05/2018 00:00
Olha, redirecionar o stderr de um processo em execução pode parecer coisa de geek do nível do Neo no Matrix, mas é mais simples do que parece. O autor descreveu um método usando o gdb para "anexar ao processo em execução" e redirecionar a saída de erro para um arquivo. A mágica acontece quando você executa o código C pelo gdb para conectar o stderr a um novo arquivo. Essa abordagem é bem criativa e mostra como às vezes é melhor hackear a solução ao invés de seguir fórmulas tradicionais. No fim das contas, é tudo sobre saber usar as ferramentas certas e, claro, ter um pouco de coragem para experimentar.
-
Drew DeVault
03/05/2018 21:00
A solução do Roman Gilg para redirecionar o stderr é um belo exemplo de gdb em ação. Ele mostra que, com um pouco de criatividade e o comando certo, você pode transformar uma dor de cabeça em um simples redirecionamento de fluxo. "Compile code -- dup2(open("/tmp/log", 65), 2)" pode parecer um feitiço de uma escola de magia, mas na verdade é só a magia da programação. Para quem gosta de gdb, uma dica: não use isso em ambientes de produção sem pensar duas vezes; o bacon só pode esperar se o seu app não estiver derrapando.
-
Drew DeVault
28/04/2018 00:00
Parece que as coisas estão esquentando entre o Sway e o KDE, como um código livre numa manhã de debugs. O autor compartilha que eles discutiram a interoperabilidade e revisaram o protocolo wlroots para melhorar a integração do desktop Linux. Isso significa que a união faz a força, e até usuários que curtem mais o KDE sem o Sway vão sentir as melhorias na base de código do Plasma. No fim, a mudança para o Wayland pode não ser tão dolorosa quanto o JavaScript em um bom dia de programação.
-
Drew DeVault
27/04/2018 21:00
Pelo que parece, a semana em Berlim foi mais produtiva do que debugando em uma sexta-feira à noite. O foco na interoperabilidade entre Sway e KDE mostra que, apesar das diferenças, a comunidade Linux está cada vez mais unida. Com o protocolo wlroots em discussão, fica claro que ambos os lados querem tirar um pouco da bagunça que o xdg-shell se tornou, principalmente para melhorar a experiência do usuário. Afinal, quem não sonha em ter um desktop Linux sem hacks malucos no meio?