Best of LobstersJanuary 2026

  1. 1
    Article
    Avatar of lobstersLobsters·19w

    I Replaced Redis with PostgreSQL (And It's Faster)

    PostgreSQL can replace Redis for caching, pub/sub, job queues, and sessions using UNLOGGED tables, LISTEN/NOTIFY, SKIP LOCKED, and JSONB. While PostgreSQL is 50-158% slower per operation (0.1-1ms difference), it eliminates network hops between databases, reduces infrastructure costs by ~$100/month, simplifies operations, and guarantees transactional consistency. The approach works best for small-to-medium apps with simple caching needs but isn't suitable for high-throughput scenarios (100k+ ops/sec) or applications requiring Redis-specific data structures like sorted sets or HyperLogLog.

  2. 2
    Article
    Avatar of lobstersLobsters·17w

    Why there’s no European Google?

    Europe hasn't produced tech giants like Google or Facebook, but has created fundamental infrastructure that powers the modern internet. The World Wide Web (HTTP/HTML), Linux, Git, Mastodon, VLC, and LibreOffice are all European inventions released as open source common goods rather than privatized for profit. European success is measured by long-term contribution to humanity rather than short-term wealth creation, with technologies designed to benefit everyone through copyleft licensing. This approach has produced lasting infrastructure that will outlive any individual company.

  3. 3
    Article
    Avatar of lobstersLobsters·18w

    The Incredible Overcomplexity of the Shadcn Radio Button

    Modern UI libraries like Shadcn and Radix add significant complexity to simple HTML radio buttons, requiring multiple dependencies, hundreds of lines of React code, and several kilobytes of JavaScript. These libraries rebuild radio buttons from scratch using buttons with ARIA attributes instead of native HTML inputs, despite the fact that radio buttons can be easily styled with basic CSS techniques like `appearance: none`, pseudo-elements, and pseudo-classes. This overcomplexity violates ARIA best practices, increases cognitive load, and degrades performance for a feature browsers have supported natively for 30 years.

  4. 4
    Article
    Avatar of lobstersLobsters·18w

    Stop using MySQL in 2026, it is not true open source

    MySQL's development has significantly declined under Oracle's stewardship, with commit activity dropping sharply in 2025 and staff reductions announced. Oracle conducts all development behind closed doors, rejecting community contributions and treating MySQL as open source only by license, not practice. Technical issues have plagued recent releases, including data corruption bugs, performance regressions of 15%, and difficult upgrade paths. Oracle published 123 CVEs in 2025 with minimal transparency compared to MariaDB's 8. Migration to MariaDB is straightforward for most applications, offering true open source development with active community participation. Major platforms like Wikipedia and 57% of WordPress sites already use MariaDB.

  5. 5
    Article
    Avatar of lobstersLobsters·19w

    What Happened To WebAssembly

    WebAssembly is actively used in production by companies like Figma, Cloudflare, and Godot, primarily as a compilation target that bridges language ecosystems. Its strength lies in security guarantees enabling sub-millisecond spinup times and safe execution of untrusted code, plus portability allowing C++/Rust libraries to run in browsers. Performance is comparable to JavaScript in browsers, with trade-offs in binary size and boundary crossing costs. Most developers encounter it transparently through library dependencies rather than directly, which contributes to the perception that "nothing happened" despite significant real-world adoption and ongoing standardization efforts.

  6. 6
    Article
    Avatar of lobstersLobsters·18w

    Bevy 0.18

    Bevy 0.18 introduces major rendering improvements including procedural atmosphere occlusion affecting PBR shading, customizable atmospheric scattering for diverse environments, and significant enhancements to the Solari raytraced renderer. The release adds font variations with variable weights, strikethroughs, underlines, and OpenType features. UI improvements include automatic directional navigation for gamepads/keyboards, new widgets (Popover, MenuPopup), and fullscreen material support for post-processing. Developer experience gains include cargo feature collections for selective compilation, first-party camera controllers, glTF extension support, safe mutable component access, and easy screenshot/video recording capabilities.

  7. 7
    Article
    Avatar of lobstersLobsters·19w

    PostgreSQL 18 RETURNING Enhancements: A Game Changer for Modern Applications

    PostgreSQL 18 introduces enhanced RETURNING clause capabilities with OLD and NEW aliases, allowing developers to capture both before and after states of data in INSERT, UPDATE, DELETE, and MERGE operations within a single atomic statement. This eliminates the need for separate SELECT queries, complex triggers, or application-level change tracking. The feature is particularly powerful for MERGE operations, enabling sophisticated upsert patterns with complete visibility into what changed. Practical examples demonstrate building audit trails, tracking inventory changes, and comparing values without additional database round trips or trigger overhead.

  8. 8
    Article
    Avatar of lobstersLobsters·19w

    How I use Jujutsu

    Jujutsu (JJ) is a version control system that uses Git as a backend but offers a different mental model. Unlike Git, JJ has no staging area—changes are automatically tracked, and you create commits first, then fill them with changes. The workflow emphasizes easy manipulation of commits through commands like rebase, squash, split, and edit. JJ maintains an immutable operation log that enables safe experimentation with undo/redo capabilities. It uses bookmarks instead of branches and integrates seamlessly with Git remotes, allowing teams to use Git while individuals use JJ. The author shares their most-used commands, custom configurations, and workflow patterns developed over three months of daily use.

  9. 9
    Article
    Avatar of lobstersLobsters·17w

    Your App Subscription Is Now My Weekend Project · Roberto Selbach

    AI-assisted coding ("vibecoding") now enables developers to replace paid subscription apps with custom weekend projects. The author built three personal tools—a dictation app (Jabber), a screen recorder (Reel), and a Hugo blog editor (Hugora)—to replace $29/month in subscriptions, despite having no prior macOS or Swift experience. While these projects aren't production-ready, they demonstrate how AI has made app development accessible enough to create personalized alternatives to commercial software. This shift suggests standalone apps are becoming commoditized features rather than sustainable products.

  10. 10
    Article
    Avatar of lobstersLobsters·20w

    Why I switched away from Zig to C3

    A developer shares their journey from Zig to C3, a newer systems programming language. C3 offers C-like syntax with modern features including temporary allocators via @pool, flexible module systems similar to C++ namespaces, interfaces with dynamic dispatch, contracts for pre/post-conditions, and methods on types. The author highlights both strengths (better ergonomics than Zig for C programmers, powerful type system) and quirks (const enums for C compatibility, confusing optional/result terminology, file/pipe handling issues). Includes practical code examples and links to active C3 projects being developed.

  11. 11
    Article
    Avatar of lobstersLobsters·20w

    How Github monopoly is destroying the open source ecosystem

    A university professor teaching open source strategies discovered that 237 out of 238 students contributed to GitHub-hosted projects despite being taught about alternatives like GitLab, Codeberg, and Sourcehut. After being temporarily blocked from GitHub while grading, the professor realized students weren't just choosing GitHub projects—they couldn't imagine looking elsewhere. The centralization has made non-GitHub projects invisible to new developers. The solution: requiring students to contribute to projects they actually use rather than randomly browsing GitHub.

  12. 12
    Article
    Avatar of lobstersLobsters·17w

    So, why should GNOME support server side decorations?

    Server side decorations (SSD) allow the desktop environment to draw application titlebars, while client side decorations (CSD) let apps draw their own. GNOME only supports CSD, causing issues: many apps handle CSD poorly, requiring workarounds like libdecor that provide neither integration nor customization; non-GNOME apps feel less native; users on other desktops want SSD respected on GNOME apps; and the lack of xdg-decoration protocol support increases Linux desktop fragmentation. While GNOME argues SSD is out of spec, the protocol is adopted by every other production compositor. The proposed solution: GNOME should implement SSD for apps that request it while keeping CSD for GNOME apps, and allow other desktops to optionally force SSD on GNOME apps.