Best of LobstersFebruary 2026

  1. 1
    Article
    Avatar of lobstersLobsters·12w

    Git in Postgres

    An exploration of storing git repositories inside PostgreSQL instead of the filesystem. The author built gitgres, a ~2,000-line C library implementing libgit2's object and ref database backends against Postgres via libpq. The git data model maps to just two tables (objects and refs), enabling SQL queries that join commit history with application data like issue trackers. The post argues this approach could simplify self-hosted forge deployments (targeting Forgejo/Gitea) by eliminating the split between a Postgres-backed web app and filesystem-based bare repos, enabling unified backups with pg_dump, row-level security for multi-tenancy, and NOTIFY-based push events. Storage overhead from lack of delta compression is acknowledged as a real trade-off, but the author argues operational simplicity outweighs it for small instances.

  2. 2
    Article
    Avatar of lobstersLobsters·13w

    Death to Scroll Fade!

    A developer rant against the ubiquitous 'scroll fade' web design trend, where page elements fade in as they scroll into view. The author argues it's tacky, often demanded last-minute by stakeholders, and raises real concerns: accessibility issues for users with vestibular disorders, cognitive overload, cross-platform inconsistency, and negative impact on Core Web Vitals like LCP. The post crowdsources practical arguments to push back against scroll fade requests, while humorously suggesting developers collectively pretend the technique is now illegal.

  3. 3
    Article
    Avatar of lobstersLobsters·14w

    How I built Fluxer, a Discord-like chat app

    A 22-year-old Swedish developer shares the 5-year journey of building Fluxer, an open-source Discord alternative. The platform uses Erlang/OTP for real-time messaging (inspired by Discord's architecture), Cassandra for write-heavy workloads, and TypeScript for the backend. Self-hosters can use SQLite instead. The project is AGPLv3-licensed with a freemium hosted instance, accepts donations, and offers paid support. Federation is in development. The author discusses technical decisions, LLM usage for mechanical tasks, challenges with native apps vs Electron, and the goal of staying bootstrapped without VC funding.

  4. 4
    Article
    Avatar of lobstersLobsters·15w

    Microsoft Has Killed Widgets Six Times. Here's Why They Keep Coming Back.

    Windows widgets have been implemented and killed six times since 1997, each iteration failing due to performance, security, screen space, or engagement issues. Active Desktop crashed systems, Vista Sidebar consumed too much screen space, Windows 7 gadgets had catastrophic security flaws, Windows 8 Live Tiles disrupted workflow, and early Windows 11 attempts felt invasive. The current Widget Board uses declarative Adaptive Cards with native WinUI 3 rendering, eliminating code execution vulnerabilities while maintaining interactivity. Every architectural constraint in today's platform exists as a direct response to a specific past failure.

  5. 5
    Article
    Avatar of lobstersLobsters·14w

    Thanks for All the Frames: Rust GUI Observations

    Tritium, a legal word processor, abandoned its migration from egui to Slint after four weeks at 45% completion. The team discovered that all Rust GUI frameworks depend on winit, which has a macOS delegation bug affecting file opening. Rather than rewrite their battle-tested rendering pipeline during rapid industry change, they chose to patch around winit issues and refactor egui code into a cleaner architecture. The article explores immediate vs retained mode GUIs, performance tradeoffs, and the risks of framework migrations in the current Rust desktop ecosystem.

  6. 6
    Article
    Avatar of lobstersLobsters·15w

    java sucks

    A detailed critique of Java from 1997-2000, written during the development of Mozilla's Grendel project. While praising Java's automatic memory management and superiority over C/C++, the author catalogs extensive frustrations with the language design (lack of closures, primitive types not being objects, broken finalization), the standard library (inadequate file I/O, missing utilities), and Sun's conflation of four distinct things under the Java name (language, library, VM, security model). The piece argues that Sun's insistence on bundling everything together hindered Java's adoption as a native-compiled language alternative to C++.