Best of LobstersMarch 2026

  1. 1
    Article
    Avatar of lobstersLobsters·11w

    Claude is an Electron App because we’ve lost native

    Responding to a question about why Claude uses Electron instead of native code, the author argues the real reason isn't LLM limitations but that native development no longer offers meaningful advantages. Native APIs are painful to use, OS vendors discourage native development, UI consistency has collapsed (even Apple's guidelines feel arbitrary), deep OS integration rarely matters in practice, and performance gains are theoretical since companies rarely prioritize them regardless of stack. The author laments the decline of native but concludes the core problem is a lack of care, not the choice of Electron specifically.

  2. 2
    Article
    Avatar of lobstersLobsters·11w

    Rust zero-cost abstractions vs. SIMD

    A full-text search query on turbopuffer was taking 220ms instead of the expected ~50ms. Profiling revealed that over 60% of runtime was spent in a merge iterator, not in BM25 ranking. The root cause: Rust's zero-cost iterator abstraction, while compiling each individual call efficiently, prevented the compiler from vectorizing or unrolling across calls due to the recursive nature of `next()`. The fix was a classic database technique — batched iterators — where `next_batch()` fills an array of 512 KV pairs at once, giving the compiler a tight inner loop it can auto-vectorize with SIMD. The result: the benchmark dropped from 6.5ms to 110μs (60× faster), and the production query latency fell from 220ms to 47ms. The key lesson: 'zero-cost' means the abstraction compiles away per call, not that it has no effect on the compiler's ability to optimize across calls.

  3. 3
    Article
    Avatar of lobstersLobsters·9w

    kdwarn: Introducing pgtui, a Postgres TUI client

    pgtui is a Postgres TUI client written in Rust that lets users interact with a PostgreSQL database from the terminal. Built with ratatui, sqlx, and the toml crate, it supports browsing relations, paginated data viewing, sorting, filtering with WHERE clauses, inserting and editing records via a terminal editor, deleting records, multi-column primary key support, and managing multiple database connections. The project originated from the idea of writing content in TOML/markdown and storing it in a database.

  4. 4
    Article
    Avatar of lobstersLobsters·11w

    The real cost of random I/O

    PostgreSQL's `random_page_cost` has been set to 4.0 by default for ~25 years, but experiments on modern SSDs show the actual cost ratio of random vs. sequential I/O is closer to 25-35x, not 4x. This means the planner picks suboptimal plans (sequential scan instead of index scan) for selectivities between 0.2% and 2.2%. Setting `random_page_cost` to ~30 aligns cost estimates with actual durations. However, lowering the value can still be justified in OLTP workloads with high cache hit rates, where random I/O avoids expensive full table scans. A complicating factor is that prefetching (which benefits sequential and bitmap scans but not index scans) interacts with `random_page_cost` in non-obvious ways, and the current cost model ignores prefetching entirely. Proposed improvements include separating non-I/O costs from `random_page_cost`, better cache statistics, and incorporating prefetching into the cost model.

  5. 5
    Article
    Avatar of lobstersLobsters·9w

    Unix philosophy is dead! Long live... something else?

    A personal essay questioning the validity and practical applicability of the Unix philosophy in modern computing. The author argues that the Unix philosophy is a loosely defined myth with multiple conflicting interpretations, that real-world tools like cat and curl already violate its tenets, and that it was never designed for GUI-based or non-technical users. The piece broadens into a critique of how open-source software has become corporatized and lost its rebellious hacker spirit, how UI design has trended toward oversimplification that harms power users, and how developers wrongly seek universal solutions to inherently diverse problems. The author concludes with a personal set of pragmatic virtues encouraging nuanced thinking, variety, and challenging the status quo rather than blindly following any single philosophy.

  6. 6
    Article
    Avatar of lobstersLobsters·9w

    Related UI elements should not appear unrelated

    Browser UI design has trended toward visually detached, floating elements that obscure the relationship between related components. Using Firefox and Chrome tab designs across different eras as examples, the evolution from clearly connected tabs (where the active tab visually merges with its content window) to today's floating bubble aesthetic is critiqued. The Firefox Nova redesign is highlighted as an extreme case where tabs, address bars, and content windows all appear as separate, unrelated elements. A simple suggestion is offered: keep the active tab visually connected to its content while letting inactive tabs float.

  7. 7
    Article
    Avatar of lobstersLobsters·10w

    blog dot information dash superhighway dot net

    A personal essay reflecting on the importance of truly understanding software systems rather than treating them as black boxes. Drawing on a career journey from fumbling with BASIC and DOS in the 90s to eventually embracing deep comprehension as a core skill, the author argues that the instinct to avoid understanding—to just poke at things until they work—is ultimately far harder than committing to learning how things actually function. The author pushes back on Gerald Sussman's famous observation that modern programming is just 'doing basic science on foreign libraries,' contending that open source has made understanding vastly more accessible than in the closed-source 90s. A concrete Android layout bug story illustrates how reading source code beats endless experimentation. The central thesis: understanding is the most powerful tool a programmer can have, and it only gets more valuable over time.

  8. 8
    Article
    Avatar of lobstersLobsters·8w

    The Death of Character in Game Console Interfaces

    A nostalgic critique of how game console interfaces have lost their unique character and identity over time. Starting with the Xbox Series S feeling indistinguishable from Windows 11, the piece traces the rich UI heritage of consoles like the Nintendo Wii, GameCube, original Xbox, PlayStation 2/3/Vita, and Xbox 360 — each with distinct visual identities, ambient sounds, and interactive flourishes. The argument is that the shift toward flat minimalism in the eighth and ninth console generations stripped away the soul of these interfaces, driven by enshittification, ad placement priorities, and a race to safe, generic design. The author mourns that modern console UIs are interchangeable and optimized for commerce rather than experience.