-
Drew DeVault
12/05/2022 00:00
Parabéns ao Rust por se juntar ao time dos gerenciadores de pacotes que esqueceram de colocar um display de segurança na porta de entrada. Não é novidade vermos esses gerenciadores, como npm e PyPI, fraquejando na segurança com práticas que parecem ter saído de um script de comédia. O que precisa ser aprendido aqui é que, assim como num código bem estruturado, revisão e segurança são fundamentais antes de justificar a publicação "sem revisão". Afinal, será que já não temos problemas suficientes para resolver?
-
Drew DeVault
11/05/2022 21:00
Parabéns ao Rust por entrar no clube não tão seleto de gerenciadores de pacotes vulneráveis. O que impressiona é ver que o problema não é exclusivo do npm; 'Cargo: rustdecimal ships with malicious code' é só uma das várias falhas em gerenciadores que não fazem uma revisão adequada. O ideal seria que esses ambientes organizassem um processo de revisão e aprimorassem a confiança entre a fonte e o usuário, assim como os gerenciadores de pacotes de distribuições Linux. Uma mudança de mentalidade é necessária, ou ficaremos apenas celebrando vitórias de Pirro na segurança.
-
Drew DeVault
09/05/2022 00:00
Implementar um agente SSH em Hare é como tentar fazer uma receita de bolo sem ter o livro de receitas: você vai precisar de muito mais do que apenas boa vontade. O autor destaca que o código é "incompleto, não auditado" e, honestamente, isso é um alerta vermelho piscando. A parte interessante é a engenharia reversa da chave privada OpenSSH, que é um tipo de receita que não é compartilhada no livro, então tenha cuidado antes de sair cozinhando código por aí.
-
Drew DeVault
08/05/2022 21:00
O blog traz uma abordagem interessante sobre a implementação de um agente SSH do zero na linguagem Hare. O autor destaca a complexidade de trabalhar com criptografia, mencionando que "a vida e o bem-estar de seus usuários podem depender" da habilidade dele para aplicar essas rotinas corretamente. E, claro, sempre bom lembrar: mexer com chaves SSH é tipo jogar Tetris em modo difícil; uma peça fora do lugar e a segurança vai por água abaixo. Além disso, a necessidade de trabalhar com o formato privado de chave OpenSSH mostra que o desenvolvimento de software é, muitas vezes, uma viagem de reverse-engineering e paciência.
-
Fabien Sanglard
04/05/2022 21:00
O "USB Cheat Sheet" do Fabien Sanglard é um verdadeiro salva-vidas para quem já ficou perdido no labirinto das velocidades e especificações USB. Nada pior do que investigar um "bug" que não existe por causa de um termo confuso, não é mesmo? Com uma tabelinha dessas, dá pra entender melhor as diferenças entre as gerações e surpreender os amigos com seu conhecimento, ou pelo menos, evitar confusões no próximo projeto. Afinal, quem não gostaria de ser o Yoda das conexões USB?
-
Vale 0.2 Beta está trazendo uma adição interessante com as Funções Conceito, que tornam a definição de restrições em parâmetros menos dolorosa. Agora, com 'func calcDamage(&T, &T)int', você pode criar funções genéricas sem ter que recorrer ao extenso uso de traits como em Rust ou interfaces em Java. Isso pode ser um baita alívio para quem prefere simplicidade ao estilo funcional, semelhante ao que o C++ faz com sua cláusula 'requires'. No fim das contas, talvez o Vale tenha encontrado uma maneira de fazer conceitos se parecerem menos com um quebra-cabeça de Lego e mais como uma brincadeira de criança.
-
Esse avanço com os genericos constantes em Vale é um verdadeiro divisor de águas. Agora, podemos passar não só tipos, mas também inteiros e booleanos como parâmetros, tornando a vida de nós, devs, muito mais fácil – menos código repetido e mais flexibilidade. A introdução do operador spread em tempo de compilação nos oferece um leque de opções para metaprogramação que já fazia falta, semelhante ao que temos em C++ e Rust. E essa ideia de utilizar funções variádicas zero-custo é bem legal, quase como um mágico puxando coelhos da cartola.
-
Drew DeVault
25/04/2022 00:00
Finalmente, a ‘linguagem de programação secreta’ chegou! Com um nome que evoca um personagem de Alice no País das Maravilhas, será que esta linguagem vai nos levar a um buraco de coelho cheio de possibilidades? O blog do Hare é bem direto e promete novidades interessantes, mas será que ela vai resolver nossos problemas ou apenas criar novos? Vamos acompanhar para ver se o Hare se destaca ou se vai ser apenas mais um no meio da floresta de linguagens.
-
Drew DeVault
24/04/2022 21:00
Finalmente, a linguagem de programação Hare saiu do modo stealth e decidiu dar as caras. Com promessas de ser simples e eficiente, parece que o criador estava mais para um mestre-ninja das linguagens do que propriamente um dev comum. O blog menciona que você pode dar uma olhada em suas funcionalidades e não se esqueça de conferir se ela realmente vai ser o que todos esperam – ou apenas mais uma linguagem que vai acabar no canto da prateleira virtual. Em resumo, digna de um teste se você estiver cansado do mesmo velho café de sempre, ou seja, linguagens mainstream.
-
Este texto do Evan Ovadia explora o custo e o benefício de se alterar a sintaxe em linguagens de programação, especificamente com a mudança no Vale. Ele destaca que, em vez de usar let e let mut, agora eles adotaram um jeito onde a declaração de variável e a atribuição se tornam um pouco mais intuitivas. Claro, todo dev já ficou preso no looping de sinônimos e semânticas confusas antes, então, essa mudança promete facilitar a vida. Ao final, parece que os números mostram que deveríamos dar mais atenção às declarações do que às atribuições, algo que vai em linha com a experiência de muitos de nós.
-
Drew DeVault
15/04/2022 00:00
Parece que abril não foi muito gentil com nosso amigo, que enfrentou o pesadelo de pagar impostos em dois países. No entanto, o que realmente interessa é o avanço no projeto Himitsu, um sistema de armazenamento secreto que promete facilitar a vida de quem vive no comando da linha de comando. Criado em uma nova linguagem que o dev resolveu desenvolver para contornar as limitações da anteriores, é uma prova de que, às vezes, criar sua própria ferramenta é o caminho mais do que certo — como um cientista louco que finalmente achou a fórmula do sucesso. Aguardo ansioso o blog post explicando como funciona, porque esse segredo com certeza vale um repo no GitHub.
-
Drew DeVault
14/04/2022 21:00
O mês teve suas agruras, como "o pior" momento de filing taxes em dois países, mas a luta continua! O projeto Himitsu, uma mistura de armazenamento secreto e funcionalidade de agente SSH, surge da mente criativa que criou uma nova linguagem para implementá-lo. Ao invés de ficar atolado em linhas de código em C, ele conseguiu reduzir pela metade o tamanho e o tempo de desenvolvimento. Por enquanto, o projeto é promissor e mantém um ar de mistério, esperando uma revelação mais completa quando a linguagem estiver disponível. Afinal, quem não gosta de um bom projeto open-source com um toque de espionagem?
-
O autor explora como até mesmo métodos numéricos básicos podem desvelar insights interessantes para design de sistemas. Ele destaca a importância de ferramentas formais, como P e TLA+, que ajudam não só a garantir que 'nada de ruim acontece', mas também a medir questões práticas, como latência e custos operacionais. A ideia de usar 'simulações simples' é intrigante, principalmente para quem deseja validar hipóteses sem entrar na complexidade dos métodos formais. E convenhamos, qualquer um que já pegou fila em estação de esqui entende como pequenos modelos podem esclarecer grandes dúvidas sobre eficiência.
-
Dan Luu
05/04/2022 21:00
Parece que a Wave, com sua arquitetura simples de CRUD e um monólito em Python sobre Postgres, está provando que menos é mais. É impressionante ver um modelo que, embora considerado "básico", consegue escalar e manter o foco na entrega de valor real aos usuários. A crítica ao excesso de complexidade em conferências de tecnologia é válida; quem precisa de microserviços quando um monólito está funcionando bem? Como dizem por aí, só porque algumas ferramentas novas estão na moda, não significa que você precisa usar todas elas, especialmente se um simples padrão de arquitetura faz o trabalho.
-
O autor traz à tona um dilema clássico em desenvolvimento de jogos: "Não crie um motor de jogo, crie um jogo". O que ele fez? Um motor de jogo e uma nova linguagem chamada Vale, tudo enquanto tentava manter o foco no projeto original. Isso é um verdadeiro caso de yak shaving, onde o desvio se torna a aventura. No final, ele encontrou satisfação ao usar sua própria criação no desafio de roguelike, o que serve como um lembrete de que até as distrações podem levar a novas descobertas.
-
Drew DeVault
01/04/2022 00:00
Olha só, uma nova ferramenta para quem gosta de misturar tecnologia com nostalgia: o git correio-sapo. Agora dá pra imprimir commits e enviar pelo correio, como se estivéssemos nos anos 90 e não apenas procrastinando com o GitHub. O texto dizia que "código de revisão nunca foi tão fácil" – só não esquece de incluir um envelope devolutivo e um selinho. Mas calma, isso tudo era uma pegadinha de abril, então não se apresse para comprar o papel especial. O autor até flertou com a ideia em Perl, mas parece que o entusiasmo não rendeu bouquet.
-
Drew DeVault
31/03/2022 21:00
Olha só, a ideia do git snail-mail é meio como se a gente estivesse no século passado tentando codificar em papel, mas com um toque de humor nerd. A proposta de "imprimir commits" e mandar por correio é bem engraçada, mas parece que o projeto foi cancelado antes de ganhar vida. Afinal, quem precisaria disso quando se pode fazer tudo digital e de forma mais prática? É uma boa piada para a comunidade, mas para o desenvolvimento real fica a dúvida: quando vamos parar de levar ideias de volta ao papel?
-
Referências fracas são um território nebuloso na programação, e esse post explora as diferentes magias que cada linguagem usa. As reações dos desenvolvedores, como "Isso é horrível" sobre o Obj-C, mostram que até mesmo os mais experientes precisam de mapa e bússola nessa selva. O mais interessante é a nova abordagem do Vale, que visa ser rápido, seguro e fácil de usar, cão ou gato brigando entre si para descobrir o caminho. Parece que as referências fracas são o novo Pokémon, sempre evoluindo e surpreendendo. Na dúvida, se perder for um caminho, que seja um caminho seguro.
-
Drew DeVault
29/03/2022 00:00
A discussão sobre infraestrutura para softwares livres é tão fundamental quanto a escolha entre uma pizza de pepperoni ou uma de brócolis. O autor observa que 'rely on these platforms to provide infrastructure for your FOSS project is a mistake', e não poderia estar mais certo. Usar plataformas proprietárias como GitHub pode parecer prático no início, mas acaba jogando no lixo a credibilidade do seu projeto em favor do apetite voraz das grandes corporações. A luta é desigual, e escolher um fornecedor livre é uma verdadeira declaração de indie na era do blockbuster. No fim das contas, cada escolha que fazemos pode ser um loop infinito ou o start de um novo jogo.
-
Drew DeVault
28/03/2022 21:00
A escolha da infraestrutura para projetos de software livre pode ser mais crítica do que parece. "Quando seu projeto FOSS escolhe usar uma plataforma não livre, você dá um voto de confiança oficial em nome do seu projeto." Isso significa que você está ajudando a fortalecer o monopólio das plataformas proprietárias. Em vez de dar seu apoio a gigantes como GitHub, vale a pena considerar alternativas como Codeberg, que, apesar de menos conhecidas, poderiam beneficiar seu projeto e o ecossistema FOSS. No fim das contas, essa escolha pode fazer uma diferença real na competição entre o software livre e os grandes nomes do mercado.