-
Drew DeVault
09/06/2017 21:00
Wayland está se mostrando a nova sensação na pilha gráfica do Linux, mas aqui a gente vai além do superficial. Ao invés de ficar só na estética do gráfico, o foco é como esse protocolo funciona nos bastidores. Os desenvolvedores devem prestar atenção nas APIs e eventos que esses recursos oferecem, porque, como sempre no mundo da tecnologia, é nos detalhes que a mágica acontece. Com a abordagem correta, é possível criar aplicações super eficientes, algo que todo programador adora descobrir. Melhor não deixar o Wayland apenas como mais uma buzzword na sua lista de tarefas.
-
Drew DeVault
05/06/2017 00:00
O post fala sobre uma abordagem para reduzir o uso de ponteiros void* em C, usando múltiplas definições de structs como uma solução alternativa aos generics. Como menciona, é uma técnica que pode resolver alguns problemas, mas tem suas limitações, como a complicação que causou no wlroots. No fim das contas, é um lembrete de que, às vezes, é preciso quebrar a cabeça mais do que gostaria para uma solução que seja mais clara e menos propensa a dores de cabeça de manutenção. Nada como uma boa briga com LTO para fazer a gente repensar as escolhas de design.
-
Drew DeVault
04/06/2017 21:00
O post discute uma abordagem alternativa às generics em C, com a utilização de múltiplas definições de structs para lidar com tipos genéricos. É interessante, mas o autor ressalta que essa estratégia pode ser problemática, especialmente com LTO, como aconteceu no caso do wlroots. No fim das contas, é uma solução criativa, mas que pode deixar alguns devs batendo a cabeça na parede. Sempre bom lembrar que a implementação pode variar conforme a necessidade de cada backend.
-
Drew DeVault
11/05/2017 00:00
Ah, a maravilhosa arte de trocar senhas, que pode ser tão prazerosa quanto limpar o fundo de um vetor no Java. Este post fala sobre o 'pass-rotate', que parece ser o herói de que precisamos quando a CloudFlare libera informações sensíveis como se fossem dados de um jogo de RPG. Ferramenta útil que promete facilitar a vida de quem tem que mudar senhas em múltiplos sites, economizando horas preciosas. Afinal, quem tem tempo de sobra para fazer clickbait com troca de senhas? Não deixe de conferir a lista de provedores suportados e talvez até contribuir com a sua própria integração. Vamos fazer do mundo digital um lugar mais seguro, um código de cada vez.
-
Drew DeVault
10/05/2017 21:00
No mundo em que as senhas são tão seguras quanto o papel toalha em uma festa, a ferramenta pass-rotate surge como uma mão na roda para quem quer evitar mais uma maratona de trocas de senhas. Em vez de perder horas trocando cada senha uma por uma, basta usar um script que se comporta como o youtube-dl, mas para senhas. E o melhor é que ele até se conecta direto ao seu gerenciador de senhas, o que faz do processo algo quase como um cheat code para a segurança online. Mas cuidado: é sempre bom lembrar que o seu TOTP não é um Troféu de Tapete, ele precisa ser guardado a sete chaves.
-
Drew DeVault
05/05/2017 00:00
Se você já se pegou insatisfeito com as distros Linux disponíveis, a saga desse desenvolvedor vai ressoar com você. Ele decidiu que, em vez de se contentar com o "bloat" e as limitações, o melhor seria construir sua própria distro, chamada agunix. O processo parece mais complexo que configurar uma waterfall em um projeto Agile, mas ele tem uma visão clara: "Um sistema Linux é qualquer coisa que inicializa a partir do kernel Linux". Fica a dica para quem está ressentido: é uma jornada gratificante – se você não se perder nas dependências primeiro.
-
Drew DeVault
04/05/2017 21:00
A ideia de criar sua própria distro Linux, como o agunix, é uma jornada interessante e cheia de frustrações. Como o autor menciona, "nenhuma delas alinhou completamente com meus desejos", é um reflexo do que muitos devs sentem ao explorar as distros populares. O processo de bootstrapping é um desafio que separa os meros usuários dos verdadeiros guerreiros do código. É ótimo ver iniciativas que buscam atender necessidades específicas da comunidade sem o peso excessivo das escolhas convencionais.
-
Drew DeVault
29/04/2017 00:00
O desenvolvimento do Sway parece estar mais vivo do que muitas das minhas plantas. "Sway 0.12 adicionou suporte ao redshift e layouts de partição de espaço binário", e a versão 0.13.0 está a caminho prometendo suporte a drivers proprietários da NVIDIA. Com 21,446 linhas de código de 81 autores, o projeto tem evoluído com a ajuda da comunidade, mostrando que o trabalho em equipe é essencial, seja em um código ou em um jogo multiplayer. E quem diria que ter um bounty de $1,200 atraindo talentos para o desenvolvimento poderia ser uma estratégia tão eficaz?
-
Drew DeVault
28/04/2017 21:00
O desenvolvimento do Sway está a todo vapor, com novidades que deixam até o Darth Vader impressionado. “Sway 0.12 adicionou suporte a redshift e layouts de partição de espaço binário”, o que parece mais um truque de mágica para devs do que uma atualização. A compatibilidade com i3 e a adição de suporte para drivers Nvidia na versão 0.13.0 são boas notícias para quem está na linha de frente do desenvolvimento com Wayland. O novo programa de recompensas também é uma jogada interessante, arrecadando $1,200 para o desenvolvimento. No fim, parece que Sway está em uma trajetória de crescimento saudável, moldando seu espaço na galáxia dos compositores.
-
Drew DeVault
13/04/2017 00:00
CVE-2016-10229 é uma daquelas vulnerabilidades que fazem você olhar para a tela e pensar: "por que eu não verifiquei isso antes?" O uso do MSG_PEEK em chamadas recv permite que o tráfego UDP execute código arbitrário, o que não é exatamente algo que você quer no seu servidor. Muitos estão subestimando isso, mas o fato de que softwares como nginx e curl podem ser afetados merece uma atenção especial. É hora de dar aquele update, porque, como sempre, ‘atualizações são o novo preto’ no mundo da segurança.
-
Drew DeVault
12/04/2017 21:00
CVE-2016-10229 é o tipo de vulnerabilidade que faz você reconsiderar suas escolhas de programação. O MSG_PEEK, embora muitos considerem uma feature obscura, é usado por softwares bem populares como nginx e curl. Isso levanta uma bandeira vermelha para quem acha que essa vulnerabilidade pode passar batido. Se você ainda não atualizou seu kernel, é melhor fazer isso agora. Como dizem por aí, é melhor prevenir do que remediar, especialmente quando a segurança está em jogo.
-
Drew DeVault
15/03/2017 00:00
C é como aquele canivete suíço no mundo da programação: poderoso, mas é preciso saber como usá-lo sem sair cortando os dedos. Doug Gwyn diz que "Unix não foi projetado para te impedir de fazer coisas estúpidas", mas quando se trata de C, um pouco de disciplina não faz mal a ninguém. Manter a legibilidade e a simplicidade do código é crucial; escrever algo que um novato consiga entender vale mais do que mostrar suas habilidades de ninja do código. E lembre-se: sempre cuide do seu código como se fosse uma arma carregada. Melhor prevenir do que remediar, certo?
-
Drew DeVault
14/03/2017 21:00
A frase de Doug Gwyn resume bem: "Unix não foi projetado para te impedir de fazer besteiras", e isso vale totalmente para C. A força dessa linguagem vem acompanhada de uma responsabilidade que poucos desenvolvedores levantam a mão para assumir. O ponto sobre manter o código compreensível é fundamental; nada de malabarismos. Como ele diz, "escreva o código como se a pessoa que o mantivesse fosse você, do ano passado". E, verdade seja dita, evitar magia e manter a simplicidade é um mantra que todos os devs poderiam adotar como segunda natureza.
-
Drew DeVault
22/02/2017 00:00
Então, temos um desenvolvedor com grandes planos para uma nova toolchain chamada cozy, que é como tentar construir a própria Estrela da Morte quando já temos a Aliança Rebelde de GCC e LLVM. O foco é em "facilidade de escrita" e "portabilidade", o que soa bem promissor, mas será que dá pra viver na prática longe das magias profundas de outros compiladores? E o cara começa com uma sintaxe que mistura ini e YAML, o que pode ser tanto uma bênção quanto uma maldição, dependendo de quão confortável você se sente com o formato. Vamos acompanhar essa jornada, porque, afinal, quem não gosta de um projeto ambicioso na área de C?
-
Drew DeVault
21/02/2017 21:00
Parece que temos um desenvolvedor determinado em criar sua própria toolchain C, a cozy. Ele está apostando que, "compiladores não deveriam ser mágica profunda". Eu gosto da ideia de um projeto onde construir novas arquiteturas seja "um projeto de fim de semana" – enquanto alguns de nós ainda estamos lutando para compilar nosso próprio código, ele já está projetando specs que parecem mais human-friendly. Vamos acompanhar o progresso e ver se esse objetivo ambicioso se torna realidade, porque se ele conseguir fazer tudo isso, a vida dos devs ficará bem mais fácil.
-
Drew DeVault
30/01/2017 01:00
C é um clássico que sempre terá seu lugar, mesmo com suas imperfeições. O autor ressalta que "C prefere ser conservadora com novas funcionalidades" e que, embora outras linguagens como Rust e Go tenham suas vantagens, C continua firme como minha preferida por sua simplicidade e estabilidade. O fato de que "um especialista em C poderia prever aproximadamente o código assembly produzido" mostra como essa linguagem mantém a conexão com a máquina de uma maneira que muitos novos frameworks parecem ignorar. No final das contas, C é como aquele velho computador que não precisa de atualizações para rodar seus jogos favoritos – simples e eficaz.
-
Drew DeVault
29/01/2017 23:00
C é como aquele carro clássico: tem suas marcas, mas você ainda quer dirigir. Embora linguagens como Rust e Go estejam fazendo melhorias, não vejo C sendo aposentado tão cedo, principalmente porque ele traz simplicidade e previsibilidade. O autor observa que, "C prefere ser conservador com novos recursos", o que na prática significa menos surpresas para o dev. No fim das contas, C continua sendo uma escolha sólida para quem valoriza controle, estabilidade e uma relação quase íntima com o hardware.
-
Drew DeVault
13/01/2017 01:00
A polêmica em torno do str do Python 3 parece um daqueles debates nerds acalorados sobre a ordem do Jedi e dos Sith. O autor esclarece que "Python 2 strings are broken, and Python 3 strings are sane"; e é bem por aí. Se você ainda está confundindo bytes com strings, é hora de dar uma lida no manual e descer do seu grão de areia. Não subestime o poder do Unicode – seus strings agradecem e seu código também.
-
Drew DeVault
12/01/2017 23:00
Esse texto desmistifica uma das brigas mais antigas da comunidade Python: a ideia de que o gerenciamento de strings no Python 3 é 'quebrado'. O autor destaca que o problema real é que muitos ainda tratam bytes como strings, o que é um erro clássico - lembrando da famosa frase: 'a bytes is not a string'. Se você pegar um tempo para realmente entender como funciona, vai perceber que o Python 3 traz uma gestão de strings muito mais saudável do que o seu antecessor. Vamos parar de gerar flamewars desnecessárias e aprender de uma vez por todas.
-
Drew DeVault
06/01/2017 01:00
O autor traz uma abordagem interessante sobre como a contribuição em projetos open source pode ser mais direta do que muitos pensam. "Se você quer algo mudado, envie um patch" resume bem a autonomia necessária. É uma chamada para que os usuários não esperem pelos desenvolvedores, mas sim tomem a iniciativa de resolver seus próprios problemas. No final, a mensagem é clara: a zona de conforto é a verdadeira vilã do aprendizado. E quem sabe, sua solução pode ser a próxima adição ao projeto que todos estavam esperando.