1 pontos por GN⁺ 2 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Seguindo o espírito de Software is Joy, é uma pergunta pedindo que você compartilhe o projeto paralelo em que mais se divertiu trabalhando até hoje

1 comentários

 
GN⁺ 2 시간 전
Comentários no Lobste.rs
  • mw: Os cerca de 200 serviços da AWS são construídos sobre uns 10 serviços centrais, como EC2, Lambda, S3, DynamoDB, KMS e IAM, mas por baixo deles há outros serviços de base que não são oferecidos externamente.
    Estou implementando diretamente, com dependências mínimas, coisas como gerenciamento de chaves raiz e certificados, um repositório de configurações para mapear a infraestrutura de implantação e gerenciamento de identidade, de modo que não dependam de nada e não haja dependências circulares. Também é divertido fazer tudo rodar em um único nó para lidar com toda a carga prevista, em vez de escalar em larga escala.

    • samcat116: Tenho curiosidade sobre o que são exatamente esses serviços de base.
    • nick4: Ainda sou iniciante em confeitaria francesa, mas gostei do processo de fazer gâteau basque. Usei a receita de um livro, mas https://www.seriouseats.com/gateau-basque-recipe-6823020 também parece bem boa.
  • theisaaczone: Criei em Go uma API web de ping para lista de servidores que consulta o número de pessoas conectadas a um servidor Minecraft e retorna isso em JSON. Não é tecnicamente complexo nem grande, mas dá orgulho ver que ela lida sem problemas com 1 a 2 milhões de requisições por mês.
    Recentemente reescrevi tudo para remover todas as dependências além da biblioteca padrão, e gosto de projetos com escopo pequeno assim.

    • dijit: Também existe um plugin que exporta o status do Minecraft como alvo de coleta do Prometheus. É o único plugin que uso no meu servidor e é bastante útil.
  • miguno: Entre os roguelikes tradicionais, Sil-Q é meu favorito. Ele se destaca pela recriação fiel do universo de Tolkien, por combate e furtividade refinados e por partidas curtas e intensas de 30 a 60 minutos; dá para descrevê-lo como um jogo de invasão de masmorras na Primeira Era da Terra-média, ou “Angband: Black Ops”.
    Este ano, em colaboração com o desenvolvedor original Quirk e o artista do tileset MicroChasm, revivi o projeto que estava adormecido. Modernizei o código, corrigi bugs conhecidos ao longo de três anos, criei distribuições para Win/Mac/Linux e trabalhei em melhorias de jogabilidade, usabilidade, documentação e site.
    Foi meu primeiro projeto em C, e organizar código de até 40 anos para Amiga, NeXT, SGI, DEC Alpha e RISC OS, além de quatro camadas gráficas próprias diferentes, foi como vagar pelas minas abandonadas de Moria. Também adicionei alguns testes a uma base de código que não tinha teste nenhum; mais detalhes estão em https://github.com/sil-quirk/sil-q/releases/tag/v1.5.1-beta1.
    É um joguinho de nicho, mas a nova versão beta teve 900 downloads, e em uma época cheia de resultados de programação por vibe que logo serão abandonados, cuidar de um jogo open source de longa linhagem é reconfortante.

  • DustyFuzzy: Desde 2021 venho criando um site pessoal para armazenar conteúdo adulto. Implementei importação de URLs, tags e ranqueamento Glicko-2 usando resultados de duelos entre dois itens, e migrei de Python para .NET Core.
    Com os arquivos chegando perto de 70 mil, também ficou divertido otimizar código O(n²) escrito de forma ingênua.

    • icefox: Tenho curiosidade sobre como foi usar .NET Core por bastante tempo. Tenho boas lembranças de C#/F# e parece que seria fácil criar um ambiente de CLI consistente mesmo fora do Windows, mas a Microsoft parece ter mudado de direção e de ferramentas várias vezes nos últimos cinco anos, então não tenho tanta confiança nas perspectivas de longo prazo.
  • alterae: Criei uma ferramenta de linha de comando que escolhe um item aleatório de uma lista, e a uso com frequência surpreendente. A página de manual é mais longa que o código-fonte, e o processo de escrevê-la também foi realmente divertido.

    • bitshift: Tenho curiosidade sobre como você a usa. Costumo usar shuf -n para amostrar arquivos ou listas grandes, e isso é útil para ter uma ideia aproximada da composição dos solicitantes sem ler todo o log de requisições.
  • fazalmajid: Uso um leitor de RSS feito por mim desde 2004 e, neste ano, como exercício de aprendizado, reescrevi manualmente a versão em Python para Rust. A contenção de bloqueios de escrita no SQLite causada pelo processamento lento de texto em Python desapareceu, gerando uma grande melhora de desempenho.
    A nova versão, https://github.com/fazalmajid/rTemboz, ainda não tem paridade completa de recursos, mas também ganhou funções que antes não existiam. É o app que mais uso, para ler lobste.rs e filtrar ruído de cultura pop; controlar diretamente a prioridade dos meus feeds em vez de depender de Facebook, Google e Apple é uma forma de preservar soberania e independência.

  • lcamtuf: O mais divertido não é software, mas sair do computador e fazer objetos tangíveis com as mãos. Projetos como o relógio com voltímetro e a calculadora com medidor de painel são exemplos.
    Depois de escrever sobre segurança de computadores por mais de 15 anos, comecei como experimento um blog que não trata de trabalho, escrevendo sobre fundamentos da matemática, curiosidades de algoritmos e eletrônica. O que era um teste para ver se eu conseguiria atrair leitores de fora do setor virou uma espécie de arte abstrata na era dos LLMs.

    • colindean: Comecei a aprender técnicas básicas assando pão com farinha, sal, fermento e água. Experimentei proporções de ingredientes, tipos de farinha e o momento de adicionar ervas e especiarias; até agora, a melhor combinação é alecrim e sal de alho.
      Em vez de ler Modernist Bread, estou descobrindo os segredos por conta própria. Deixei projetos de software de lado por dois anos e reformei eu mesmo cerca de 75% de duas casas, ganhando habilidades práticas raras entre pessoas de tecnologia e um novo respeito por empreiteiros que respondem ao contato e aparecem na hora marcada.
  • op: Todo o pixel art em https://oppi.li/art foi feito em um editor de pixel art de 1 bit que criei em Rust. Ele traz um Lisp embutido para configurações e scripts; fiz só para mim, para aprender algoritmos de rasterização 2D, e nunca o publiquei.
    Trabalhar sem prazos nem metas fixas torna tudo muito mais divertido.

  • ombredog: Está focado em entender a estrutura do Servo e fuzzing em Rust. Também criou uma demonstração de troca de ponteiros de função usando dyld no macOS, e pretende publicar um código de prova de conceito que mostra como uma função maliciosa é empacotada e como encontrá-la em runtime
    Ainda está em estágio inicial e frequentemente se distrai com fuzzers já prontos, como o build do Fuzzilli no Ladybird, mas ganhou motivação para escrever em uma linguagem de sistemas. Também planeja criar uma CLI em Zig para baixar ferramentas e colocá-la no noblenote no Codeberg

  • luhker: Implementou de forma exageradamente sofisticada, com base em Web Components, um sample pad, sequenciador e cadeia de efeitos para tocar samples que ninguém vai querer ouvir no site da banda. O CSS está um pouco quebrado, mas dá para ver a marcação declarativa da cadeia de efeitos: https://strahlenkeller.de/endlager/

  • zknd: Está criando um framework baseado em geração de código para oferecer produtividade em nível de framework mantendo os idioms de Go. É satisfatório ver várias ideias se encaixarem em um software coerente
    Também está desenvolvendo em Rust o firmware de um leitor de e-books

  • krig: Migrou o Gram dos crates cocoa/objc abandonados para objc2. Levou meses, lendo muita documentação e falhando várias vezes para entender os padrões de uso da nova abstração, mas, como efeito colateral, unificou as camadas de renderização e texto no Mac e no Linux com wgpu e cosmic-text
    Os links relacionados são https://gram-editor.com, https://docs.rs/objc2/latest/objc2/, https://wgpu.rs/ e https://github.com/pop-os/cosmic-text

  • z3bra: O projeto mais divertido foi cyber hunt. É um desafio em formato de caça ao tesouro em que se resolvem problemas que você não encontraria na vida real, sob restrições estranhas, criando várias ferramentas, configurações e códigos
    Inclui calcular um hash Argon2id de 5 GiB, criar um jogo de Game Boy, lidar estaticamente com cookies seguros usando apenas relayd(8), um proxy VPN usando um novo método de autenticação do ssh(1), entre outros. Foi o maior projeto, levou um ano para preparar, e o primeiro capítulo pode ser experimentado em cerca de 20 minutos só pela web; depois vai ficando cada vez mais difícil

  • jbert: Ao escrever uma máquina de registradores para criar um alvo de compilação simples, acabou virando um emulador de Z80, que depois evoluiu para um emulador de ZX Spectrum. Rodou código de verificação e vários jogos dos anos 1980, e o design se mostrou surpreendentemente simples e divertido: GitHub

  • marx314: Opera em um servidor doméstico Raspberry Pi 4 Pi-hole, Domoticz, Immich self hosted photo gallery, SmokePing, http2sonos, Mealie, WireGuard, Tor e outros
    Também tem um contêiner PHP/nginx para dispositivos web antigos, um Kindle que exibe informações do clima e do Airthings Wave, um iPad antigo para receitas, SMS para alertas importantes e scripts do Signal para outras notificações. Quando o trabalho na empresa fica político, é como uma meditação para se reconectar com problemas técnicos

    • tclancy: Opera algo parecido e tem curiosidade sobre por que você escolheu o Domoticz. O Home Assistant foi frustrante porque, sem escrever código de verdade, é preciso configurar variáveis YAML mal documentadas e torcer para que o formato não quebre no processo de salvar
  • aspizu: Seu maior e mais popular projeto é uma linguagem de programação que compila para blocos do Scratch, escrita em Rust: https://github.com/aspizu/goboscript
    Desenvolveu e manteve o projeto por anos e o migrou de Python para Rust. Com isso, tornou possível criar no Scratch projetos tecnicamente impressionantes, como motores de física e ray tracing

  • jjude: Quase todos os projetos paralelos são divertidos, mas o ponto central é por quanto tempo a paixão se mantém. Em geral terminaram em cerca de 6 meses, e o que durou mais foi o blog sem receita https://jjude.com; aprendeu muito escrevendo
    Este ano, enquanto aprendia a construir com IA, desenvolveu o SophAI https://www.sophai.app/radars. Ele conecta materiais de várias áreas e os sintetiza em texto; no processo de refinar continuamente pequenos recursos e fontes, aprendeu sobre ferramentas de IA e formas de desenvolvimento e também satisfez sua curiosidade

  • hwj: Escreveu o firmware do relógio de pulso eZ430 Chronos em assembly e está desenvolvendo um compilador Forth em OCaml. O projeto de sua própria linguagem de programação está pausado no momento

  • einacio: Está escrevendo um servidor SMTP em PHP para substituir o Postfix no servidor, e tem sido divertido porque o protocolo é acessível. Também está aprendendo Twitch transmitindo o processo de desenvolvimento e pretende criar bots mais adiante

  • spc476: Com Lua e LPeg, parseia expressões, trata a precedência de operadores usando o Shunting Yard algorithm e então gera código para CPU 6809 de 8 bits
    Também aplicou uma otimização simples que calcula durante a compilação quando os dois lados da expressão são literais, e usou my own 6809 assembler, que desenvolveu com diversão ao longo de anos

  • heavyrain266: Está aprendendo a contribuir para um projeto do qual muita gente depende, como o compilador Odin. Começou com pequenas mudanças para ampliar recursos de DirectX e suporte a Win32 io_uring, depois passou para trabalhos menos chamativos, como remover duas plataformas-alvo sem manutenção e melhorar a descoberta da instalação do LLVM no OpenBSD
    Quer facilitar a manutenção pelos próximos 10 anos. Em contraste, nos últimos 8 anos, sempre que tentou contribuir de forma significativa para a toolchain do Rust, esbarrou em barreiras corporativas como RFCs, bots de triagem, revisão, plataformas-alvo por níveis e conflitos de merge frequentes

  • pcaisse: De longe, o projeto mais satisfatório foi o Mapa de Línguas dos EUA https://languagemap.us/. Passei tempo demais na limpeza de dados, scripts Bash, ajustes da aparência do mapa e automação da operação, mas fiquei muito satisfeito com o resultado
    Não exige nenhuma manutenção, e o custo na AWS fica abaixo de US$ 1 por mês

  • LesleyLai: Meu favorito é sempre o projeto em que estou trabalhando no momento, e agora é um renderizador Vulkan. A ideia é buscar uma estrutura modular para facilitar o início de novos experimentos gráficos na mesma base de código

  • Jan200101: Ao criar um programa para substituir o h5ai, cuja manutenção foi interrompida, também aprendi como implementar FastCGI. Foi um trabalho divertido e difícil ao mesmo tempo, que me deu uma compreensão profunda de como a web funciona

  • mariusor: Criei em C um daemon de scrobbling de áudio para players MPRIS. É um pequeno projeto que uso há muito tempo e que salva o histórico de reprodução no ListenBrainz, Last.fm e Libre.fm

  • zanlib: Gosto de reimplementar Lisp, então criei o evalexpr em JavaScript, o lispex em Elixir e o isolisp, baseado em formulários e full-stack em JS. É uma tarefa simples que dá para fazer em uma tarde, mas dá uma grande sensação de realização

  • shrike: Criei um enriquecedor de feeds RSS que adiciona dados Open Graph, número de recomendações e comentários, e o conteúdo completo de posts truncados a feeds RSS ruins, e importo o resultado no FreshRSS como OPML
    Outro projeto é um cliente IRC personalizado com arquitetura cliente-servidor. A maior parte do processamento fica a cargo de um único servidor autoritativo, ao qual se conectam clientes web, TUI e SwiftUI

  • pepesza: Foi muito divertido implementar do zero, em Erlang, uma biblioteca de criptografia de curvas elípticas. Quando continuei até compromissos KZG, a complexidade aumentou drasticamente

  • banna: Criei uma arquitetura de conjunto de instruções de brinquedo e também escrevi um post relacionado; o trabalho mais recente está em branch. Reescrevi parte do C em Zig e estou pensando em como visualizar a movimentação de dados dentro da máquina virtual
    Com o TISC, exploro o minimalismo mecânico. Considero como uma mudança seria implementada em uma máquina real e desisto se houver peças móveis demais ou se a complexidade for apenas empurrada para outra camada de abstração. No momento, o mais divertido é que ele parece mais um experimento mental do que uma implementação

  • ramones: Comecei a criar um pequeno motor de xadrez em Rust e gostei do fato de que há algo a aprender em qualquer direção. Há infinitas opções: especificações como PGN e FEN, algoritmos da wiki de motores de xadrez, várias estruturas de dados, incluindo flags de bits, e muito mais

  • icefox: Foi muito divertido criar um simulador de física de n corpos com raylib e depois migrá-lo para a biblioteca SDL3 GPU. Logo o foco passou a ser mais o motor gráfico e experimentos com shaders do que a física, mas continuou divertido
    Por acaso, também passei um mês escrevendo uma fanfic de Katalepsis. Sem me preocupar com elementos tediosos como ambientação e desenvolvimento de personagens, bastou colocar três personagens e uma má ideia em uma sala para escrever ficção voltar a ser divertido

  • kghose: O trabalho em https://github.com/kghose/moulick é o que mais ficou na memória. Aproveitei as restrições da programação embarcada e a alegria de ver um pequeno dispositivo que dá para segurar na mão realmente funcionando
    Meu próximo projeto dos sonhos é um dispositivo LLM embarcado; afinal, quem nunca sonhou na infância com um robô de estimação?

  • brn: Os mais satisfatórios são https://bewcloud.com e https://uruky.com, que minha família e eu ainda usamos todos os dias. O Uruky é um projeto relativamente recente, e o Expenses do bewCloud é a evolução de uma linhagem de apps de gerenciamento de despesas que venho criando e publicando desde 2008

  • 3digitdev: Criei uma pequena ferramenta CLI de conversão que recebe o conteúdo da área de transferência e organiza JSON, converte entre JSON, TOML e YAML, remove horários e emojis de mensagens copiadas do Slack e do Discord, faz conversões Base64 etc.
    Escrevi isso há alguns anos e até hoje funciona sem problemas quase todos os dias, então fico contente sempre que uso. Um web app de combinação de tipos e montagem de equipe que fiz quando estava viciado em Pokémon Sword/Shield também é um projeto divertido ao qual continuo voltando

  • fbegyn: É difícil escolher só um, mas gosto de trabalhos que resolvem problemas reais. Há impressão 3D para um suporte de painel solar para lâmpadas, culinária, marcenaria frustrante por falta de espaço, o tc_exporter, que é o único software com usuários reais, e a lista continua crescendo

  • motet-a: Criei um app web para músicos enviarem e compartilharem gravações de ensaios. É um serviço de nicho, quase um YouTube somente de áudio e somente privado; tem algumas dezenas de usuários, mas segue crescendo de forma constante