1 Punkte von GN⁺ 3 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • Wie im Sinne von Software is Joy wird hier gefragt, welches Side Project euch bei eurer bisherigen Arbeit am meisten Freude gemacht hat, und darum gebeten, es zu teilen.

1 Kommentare

 
GN⁺ 3 시간 전
Lobste.rs-Meinungen
  • mw: Die über 200 AWS-Services bauen zwar auf rund zehn Kerndiensten wie EC2, Lambda, S3, DynamoDB, KMS und IAM auf, darunter gibt es aber noch weitere Basisdienste, die nicht extern angeboten werden.
    Ich implementiere Dinge wie Root-Key- und Zertifikatsverwaltung, ein Konfigurations-Repository für das Mapping der Deployment-Infrastruktur und Identitätsverwaltung selbst mit minimalen Abhängigkeiten, damit nichts zirkulär von etwas anderem abhängt. Spannend ist auch, alles so zu bauen, dass ein einzelner Node die gesamte erwartete Last bewältigt statt auf massive Skalierung zu setzen.

    • samcat116: Mich würde interessieren, was diese Basisdienste konkret sind.
    • nick4: Mit französischer Pâtisserie bin ich noch Anfänger, aber die Zubereitung von Gâteau Basque hat mir viel Spaß gemacht. Ich habe ein Rezept aus einem Buch verwendet, aber auch https://www.seriouseats.com/gateau-basque-recipe-6823020 sieht ziemlich gut aus.
  • theisaaczone: Ich habe in Go eine Web-API zum Pingen von Serverlisten gebaut, die die Spielerzahl von Minecraft-Servern abfragt und als JSON zurückgibt. Technisch ist sie weder besonders komplex noch groß, aber ich bin stolz darauf, dass sie problemlos 1 bis 2 Millionen Requests pro Monat verarbeitet.
    Kürzlich habe ich sie zudem so umgeschrieben, dass außer der Standardbibliothek alle Abhängigkeiten entfernt wurden; ich mag Projekte mit so kleinem Umfang.

    • dijit: Es gibt auch ein Plugin, das den Minecraft-Status als Prometheus-Target exportiert. Das ist das einzige Plugin, das ich auf meinem Server nutze, und es ist ziemlich nützlich.
  • miguno: Unter den klassischen Roguelikes mag ich Sil-Q am liebsten. Es zeichnet sich durch eine werkgetreue Umsetzung von Tolkiens Welt, ausgefeilte Kämpfe und Stealth sowie kurze, intensive Runs von 30 bis 60 Minuten aus; man könnte es als Dungeon-Heist-Spiel im Ersten Zeitalter von Mittelerde oder als „Angband: Black Ops“ beschreiben.
    Dieses Jahr habe ich zusammen mit dem ursprünglichen Entwickler Quirk und dem Tileset-Künstler MicroChasm das eingeschlafene Projekt wiederbelebt. Wir haben den Code modernisiert, drei Jahre lang bekannte Bugs behoben, Distributionen für Win/Mac/Linux erstellt und Gameplay, Usability, Dokumentation und Website verbessert.
    Es war mein erstes C-Projekt, und das Aufräumen von bis zu 40 Jahre altem Code für Amiga, NeXT, SGI, DEC Alpha und RISC OS sowie von vier verschiedenen hausgemachten Grafikschichten fühlte sich an, als würde ich durch die verlassenen Minen von Moria irren. Ich habe außerdem einige Tests zu einer Codebasis hinzugefügt, die vorher gar keine hatte; Details stehen unter https://github.com/sil-quirk/sil-q/releases/tag/v1.5.1-beta1
    Es ist ein kleines Spiel in einem Nischengenre, aber die neue Beta wurde 900-mal heruntergeladen, und in einer Zeit voller schnell weggeworfener Vibe-Coding-Erzeugnisse ist es tröstlich, ein Open-Source-Spiel mit langer Tradition zu pflegen.

  • DustyFuzzy: Seit 2021 baue ich eine private Website zum Archivieren von Adult-Content. Ich habe URL-Import, Tags und eine Glicko-2-Rangberechnung anhand der Duellergebnisse zweier Einträge implementiert und bin dabei von Python auf .NET Core umgestiegen.
    Jetzt, da es fast 70.000 Dateien sind, macht es auch Spaß, naiv geschriebenen O(n²)-Code zu optimieren.

    • icefox: Mich würde interessieren, wie sich .NET Core bei längerer Nutzung bewährt hat. An C#/F# habe ich gute Erinnerungen, und es scheint leicht zu sein, auch außerhalb von Windows eine konsistente CLI-Umgebung zu schaffen, aber Microsoft scheint in den letzten fünf Jahren Richtung und Tooling mehrfach geändert zu haben, daher bin ich beim langfristigen Ausblick unsicher.
  • alterae: Ich habe ein Kommandozeilen-Tool gebaut, das zufällige Elemente aus einer Liste auswählt, und benutze es erstaunlich oft. Die Manpage ist länger als der Source Code, und das Schreiben hat wirklich Spaß gemacht.

    • bitshift: Mich würde interessieren, wie du es nutzt. Ich verwende oft shuf -n, wenn ich große Dateien oder Listen sampeln will; das ist nützlich, um die Zusammensetzung von Requestern grob zu erfassen, ohne das komplette Request-Log zu lesen.
  • fazalmajid: Seit 2004 nutze ich einen selbstgebauten RSS-Reader und habe dieses Jahr zum Lernen meine Python-Version eigenhändig in Rust neu geschrieben. Die Performance hat sich stark verbessert, weil die Lock-Contention bei SQLite-Schreibsperren verschwunden ist, die zuvor durch die langsame Textverarbeitung in Python entstand.
    Die neue Version https://github.com/fazalmajid/rTemboz hat zwar noch nicht vollen Funktionsgleichstand, bietet aber auch Features, die es vorher nicht gab. Es ist meine meistgenutzte App, mit der ich lobste.rs lese und Popkulturrauschen herausfiltere; die Priorisierung meiner Feeds selbst zu kontrollieren statt Facebook, Google oder Apple zu überlassen, bedeutet, Souveränität und Unabhängigkeit zu bewahren.

  • lcamtuf: Am meisten Spaß macht mir nicht Software, sondern am Computer vorbei greifbare Dinge zu bauen. Projekte wie die Voltmeter-Uhr und der Panelmeter-Rechner sind Beispiele dafür.
    Nach über 15 Jahren Schreiben über Computersicherheit habe ich testweise einen Blog begonnen, der meine Arbeit gar nicht behandelt, und dort über Grundlagen der Mathematik, algorithmische Kuriositäten und Elektronik geschrieben. Was als Versuch begann zu prüfen, ob sich Leser außerhalb der Branche erreichen lassen, hat sich im Zeitalter der LLMs in eine Art abstrakte Kunst verwandelt.

    • colindean: Ich habe angefangen, Grundtechniken zu lernen, indem ich mit Mehl, Salz, Hefe und Wasser Brot backe. Ich habe mit Zutatenverhältnissen, Mehlsorten und dem Zeitpunkt für Kräuter und Gewürze experimentiert, und bisher ist die Kombination aus Rosmarin und Knoblauchsalz am besten.
      Statt Modernist Bread zu lesen, entdecke ich die Geheimnisse lieber selbst. Softwareprojekte habe ich zwei Jahre lang aufgeschoben und stattdessen etwa 75 % von zwei Häusern eigenhändig renoviert; dabei habe ich eine neue Wertschätzung für unter Entwicklern seltene praktische Fähigkeiten gewonnen – und für Handwerker, die zurückrufen und pünktlich erscheinen.
  • op: Sämtliche Pixel-Art auf https://oppi.li/art wurde in einem selbstgeschriebenen 1-Bit-Pixel-Art-Editor erstellt, den ich in Rust gebaut habe. Er enthält ein eingebettetes Lisp für Konfiguration und Skripte, und ich habe ihn nur für mich selbst gebaut, um 2D-Rasteralgorithmen zu lernen; veröffentlicht habe ich ihn nicht.
    Ohne Deadlines oder feste Ziele daran zu arbeiten, macht deutlich mehr Spaß.

  • ombredog: Konzentriert sich darauf, die Struktur von Servo und Rust-Fuzzing zu verstehen. Hat auf macOS auch eine Demo zum Austauschen von Funktionszeigern mit dyld gebaut und will Proof-of-Concept-Code veröffentlichen, der zeigt, wie bösartige Funktionen paketiert werden und wie man sie zur Laufzeit findet.
    Es ist noch ein frühes Stadium, und die Aufmerksamkeit wird oft von vorbereiteten Fuzzern wie dem Fuzzilli-Build von Ladybird abgelenkt, aber es hat die Motivation geweckt, Systemsprachen zu schreiben. Geplant ist auch ein CLI zum Herunterladen von Tools in Zig, das auf Codeberg bei noblenote veröffentlicht werden soll

  • luhker: Hat für die Band-Website eine auf Web Components basierende, unnötig ausgefeilte Sample-Pad-, Sequencer- und Effektketten-Implementierung gebaut, damit Samples abgespielt werden, die niemand hören will. Das CSS ist etwas kaputt, aber man kann das deklarative Effektketten-Markup sehen: https://strahlenkeller.de/endlager/

  • zknd: Baut ein codegenerierungsbasiertes Framework, das Produktivität auf Framework-Niveau liefern soll, dabei aber Go-Idiome beibehält. Es ist befriedigend zu sehen, wie mehrere Ideen zu konsistenter Software zusammenfinden.
    Arbeitet außerdem an Firmware für einen E-Book-Reader in Rust

  • krig: Hat Gram von den aufgegebenen cocoa/objc-Crates auf objc2 migriert. Es hat Monate gedauert, weil viel Dokumentation gelesen werden musste, um die Nutzungsmuster der neuen Abstraktionen zu verstehen, und weil es mehrere Fehlversuche gab; nebenbei wurden aber auch die Rendering- und Text-Schichten von Mac und Linux mit wgpu und cosmic-text vereinheitlicht.
    Relevante Links sind https://gram-editor.com, https://docs.rs/objc2/latest/objc2/, https://wgpu.rs/, https://github.com/pop-os/cosmic-text

  • z3bra: Das Projekt mit dem meisten Spaß war cyber hunt. Es ist eine schatzsucheartige Herausforderung, bei der unter seltsamen Einschränkungen Probleme gelöst werden, denen man im echten Leben nie begegnen würde, und dafür verschiedenste Tools, Setups und Code entstehen.
    Enthalten sind unter anderem das Berechnen eines 5GiB-Argon2id-Hashes, das Entwickeln eines Game-Boy-Spiels, die statische Verarbeitung von Security-Cookies nur mit relayd(8) und ein VPN-Proxy mit der neuen Authentifizierungsmethode von ssh(1). Es ist das größte Projekt, dessen Vorbereitung ein Jahr gedauert hat; das erste Kapitel lässt sich allein im Web in etwa 20 Minuten erleben, danach wird es allmählich schwieriger

  • jbert: Wollte ein einfaches Compile-Target bauen und schrieb dafür eine Registermaschine, die dann zu einem Z80-Emulator wurde und sich weiter zu einem ZX-Spectrum-Emulator entwickelte. Es wurden Validierungscode und mehrere Spiele aus den 1980ern ausgeführt; das Design war überraschend einfach und unterhaltsam: GitHub

  • marx314: Betreibt auf einem Raspberry Pi 4 als Heimserver Pi-hole, Domoticz, Immich self hosted photo gallery, SmokePing, http2sonos, Mealie, WireGuard, Tor und mehr.
    Dazu kommen ein PHP/nginx-Container für alte Webgeräte, ein Kindle zur Anzeige von Wetter- und Airthings-Wave-Informationen, ein altes iPad für Rezepte sowie SMS für wichtige Benachrichtigungen und Signal-Skripte für sonstige Hinweise. Wenn die Arbeit im Unternehmen politisch wird, ist das wie eine meditative Rückkehr zu technischen Problemen.

    • tclancy: Betreibt etwas Ähnliches und fragt, warum Domoticz gewählt wurde. Home Assistant war frustrierend, weil man unzureichend dokumentierte YAML-Variablen konfigurieren muss, ohne überhaupt echten Code zu schreiben, und dann hoffen soll, dass das Format beim Speichern nicht kaputtgeht
  • aspizu: Das größte und populärste Projekt ist eine in Rust geschriebene Programmiersprache, die in Scratch-Blöcke kompiliert: https://github.com/aspizu/goboscript
    Sie wird seit Jahren entwickelt und gewartet und wurde von Python auf Rust migriert. Damit werden in Scratch technisch erstaunliche Projekte wie Physik-Engines und Raytracing möglich

  • jjude: Fast alle Side Projects machen Spaß, aber entscheidend ist, wie lange die Begeisterung anhält. Meistens endete es nach etwa sechs Monaten; am längsten lief der nicht monetarisierte Blog https://jjude.com, und beim Schreiben wurde viel gelernt.
    Dieses Jahr wird gelernt, wie man mit AI baut, und dafür SophAI https://www.sophai.app/radars entwickelt. Dabei werden Materialien aus mehreren Bereichen verbunden und schriftlich zusammengeführt; beim ständigen Feinschliff an kleinen Features und Quellen werden AI-Tools und Entwicklungsweisen gelernt und zugleich die eigene Neugier befriedigt

  • hwj: Hat die Firmware der eZ430 Chronos-Armbanduhr in Assembler geschrieben und entwickelt gerade einen Forth-Compiler in OCaml. Das Design einer eigenen Programmiersprache liegt derzeit auf Eis

  • einacio: Schreibt in PHP einen SMTP-Server, um Postfix auf dem Server zu ersetzen, und arbeitet gern daran, weil das Protokoll leicht zugänglich ist. Dabei wird der Entwicklungsprozess gestreamt, um auch Twitch zu lernen, und später soll noch ein Bot entstehen

  • spc476: Parst mit Lua und LPeg Formeln, verarbeitet Operatorpräzedenz mit dem Shunting Yard algorithm und erzeugt danach 6809-8-Bit-CPU-Code.
    Wenn beide Seiten eines Ausdrucks Literale sind, wird auch eine einfache Optimierung angewendet und bereits beim Kompilieren gerechnet; außerdem kommt ein seit Jahren mit Freude entwickelter eigener 6809-Assembler zum Einsatz

  • heavyrain266: Lernt, wie man zu Projekten beiträgt, von denen viele abhängen, etwa dem Odin-Compiler. Angefangen wurde mit kleinen Änderungen für mehr DirectX-Funktionalität und Win32-io_uring-Unterstützung, dann ging es zu weniger glamourösen Aufgaben wie dem Entfernen von zwei unbetreuten Zielplattformen und Verbesserungen bei der Erkennung von LLVM-Installationen unter OpenBSD.
    Ziel ist es, die Wartung in den kommenden zehn Jahren einfacher zu machen. Im Gegensatz dazu stieß jeder Versuch, in den letzten acht Jahren sinnvoll zur Rust-Toolchain beizutragen, auf unternehmensartige Hürden wie RFCs, Klassifizierungs-Bots, Reviews, abgestufte Zielplattformen und häufige Merge-Konflikte

  • pcaisse: Mit Abstand das zufriedenstellendste Projekt war die US-Sprachkarte https://languagemap.us/. Ich habe viel zu viel Zeit in Datenbereinigung, Bash-Skripte, die Anpassung der Kartenoptik und Betriebsautomatisierung gesteckt, bin mit dem Ergebnis aber sehr zufrieden.
    Es braucht praktisch keine Wartung, und die AWS-Kosten liegen bei unter 1 Dollar im Monat.

  • LesleyLai: Mein Lieblingsprojekt ist immer das, an dem ich gerade arbeite, und im Moment ist das der Vulkan-Renderer. Ich setze auf eine modulare Struktur, damit sich auf derselben Codebasis leicht neue Grafikexperimente starten lassen.

  • Jan200101: Beim Bau eines Ersatzes für das nicht mehr gepflegte h5ai habe ich auch gelernt, wie man FastCGI implementiert. Es war zugleich spannend und hart und hat mir ein tiefes Verständnis dafür vermittelt, wie das Web funktioniert.

  • mariusor: Ich habe einen Audio-Scrobbler-User-Daemon für MPRIS-Player in C geschrieben. Es ist ein kleines Projekt, das ich seit Langem nutze und das den Wiedergabeverlauf in ListenBrainz·Last.fm·Libre.fm speichert.

  • zanlib: Ich implementiere gern Lisp neu und habe dafür evalexpr in JavaScript, lispex in Elixir und das JS-Full-Stack-Formular-basierte isolisp gebaut. Es ist eine einfache Aufgabe, die man an einem halben Nachmittag erledigen kann, aber das Erfolgsgefühl ist groß.

  • shrike: Ich habe einen RSS-Feed-Anreicherer gebaut, der dürftigen RSS-Feeds Open-Graph-Daten, Empfehlungs- und Kommentarzahlen sowie den vollständigen Inhalt abgeschnittener Artikel hinzufügt, und das Ergebnis dann per OPML in FreshRSS importiert.
    Ein anderes Projekt ist ein angepasster IRC-Client mit Client-Server-Architektur. Die meiste Verarbeitung übernimmt ein einzelner autoritativer Server, mit dem sich Web-, TUI- und SwiftUI-Clients verbinden.

  • pepesza: Es hat mir großen Spaß gemacht, eine Bibliothek für elliptische-Kurven-Kryptografie in Erlang von Grund auf zu implementieren. Als ich dann noch KZG-Commitments ergänzt habe, stieg die Komplexität sprunghaft an.

  • banna: Ich habe eine Spielzeug-Befehlssatzarchitektur entworfen und auch einen Beitrag dazu geschrieben; meine aktuelle Arbeit ist branch. Ich schreibe Teile von C in Zig neu und überlege, wie sich Datenbewegungen im Inneren eines virtuellen Computers visualisieren lassen.
    Mit TISC erforsche ich mechanischen Minimalismus. Ich denke darüber nach, wie Änderungen auf echter Hardware umgesetzt würden, und verwerfe sie, wenn es zu viele bewegliche Teile gibt oder die Komplexität nur in eine andere Abstraktionsebene verschoben wird. Am meisten Spaß macht gerade, dass es eher ein Gedankenexperiment als eine fertige Implementierung ist.

  • ramones: Ich habe begonnen, eine kleine Schach-Engine in Rust zu bauen, und mochte daran, dass es in jeder Richtung etwas zu lernen gibt. Es gibt endlos viele Optionen: Spezifikationen wie PGN und FEN, Algorithmen aus dem Chess-Engine-Wiki, verschiedenste Datenstrukturen einschließlich Bit-Flags und mehr.

  • icefox: Es hat mir großen Spaß gemacht, einen n-Körper-Physiksimulator mit raylib zu bauen und ihn dann auf die SDL3-GPU-Bibliothek zu migrieren. Bald standen statt der Physik eher Grafik-Engine- und Shader-Experimente im Mittelpunkt, aber es blieb trotzdem spannend.
    Zufällig habe ich auch einen Monat lang Fanfiction zu Katalepsis geschrieben. Ohne mir über langweilige Dinge wie Setting und Figurenentwicklung Gedanken zu machen und stattdessen einfach drei Figuren und eine schlechte Idee in einen Raum zu werfen, hat mir das Romanschreiben wieder Spaß gemacht.

  • kghose: Am stärksten in Erinnerung geblieben ist mir https://github.com/kghose/moulick. Ich konnte die Einschränkungen des Embedded-Programmierens erleben und die Freude daran, dass ein kleines Gerät, das man in der Hand halten kann, tatsächlich funktioniert.
    Das nächste Traumprojekt ist ein Embedded-LLM-Gerät — wer hat als Kind schließlich nicht von einem eigenen Roboter als Begleiter geträumt?

  • brn: Am zufriedenstellendsten sind https://bewcloud.com und https://uruky.com, die meine Familie und ich bis heute täglich nutzen. Uruky ist ein relativ neues Projekt, und Expenses in bewCloud ist eine Weiterentwicklung einer Ausgabenverwaltungs-App-Familie, die ich seit 2008 entwickle und veröffentliche.

  • 3digitdev: Ich habe ein kleines CLI-Konvertierungstool gebaut, das Zwischenablage-Inhalte übernimmt, JSON formatiert, zwischen JSON·TOML·YAML konvertiert, Zeitangaben und Emojis aus aus Slack·Discord kopierten Nachrichten entfernt, Base64-Konvertierungen durchführt und mehr.
    Ich habe es vor einigen Jahren geschrieben, und es läuft noch heute fast täglich problemlos — das freut mich jedes Mal, wenn ich es benutze. Eine weitere spaßige Arbeit, zu der ich immer wieder zurückkehre, ist eine Web-App für Typenvorteile und Teamzusammenstellung, die ich gebaut habe, als ich von Pokémon Sword/Shield besessen war.

  • fbegyn: Es ist schwer, nur eins auszuwählen, aber ich arbeite gern an Dingen, die reale Probleme lösen. Dazu gehören 3D-Druck für eine Halterung eines Solarpanels für eine Glühbirne, Kochen, wegen Platzmangels frustrierende Holzarbeit und tc_exporter, die einzige Software mit echten Nutzern; und die Liste wächst weiter.

  • motet-a: Ich habe eine Web-App gebaut, in der Musiker Probenmitschnitte hochladen und teilen können. Es ist ein Nischendienst, der eher einem nur für Audio und nur privat nutzbaren YouTube ähnelt; es sind nur einige Dutzend Nutzer, aber ihre Zahl wächst stetig.