Best of LobstersSeptember 2025

  1. 1
    Article
    Avatar of lobstersLobsters·37w

    You Don't Need Animations

    Animations should serve a clear purpose rather than being added for decoration. Key considerations include frequency of use (high-frequency interactions should avoid animations), speed (UI animations should stay under 300ms), and user goals. Examples demonstrate how purposeful animations can explain features, provide feedback, or improve perceived performance, while unnecessary animations can slow down workflows and frustrate users.

  2. 2
    Article
    Avatar of lobstersLobsters·37w

    If I hear "design pattern" one more time, I'll go mad

    A critical examination of design patterns in software development, arguing that many patterns are overcomplicated names for simple programming concepts. The author contends that patterns like Command (which is just a function) and Strategy (which is just an interface) create unnecessary cognitive overhead and that developers naturally arrive at these solutions through iterative design without needing formal pattern terminology. The piece advocates for focusing on underlying principles rather than memorizing pattern names, suggesting that good architecture emerges from composing language features to solve problems rather than following prescribed patterns.

  3. 3
    Article
    Avatar of lobstersLobsters·34w

    Don't even consider starting with Microsoft

    A software developer compares Microsoft 365 to Google Workspace after switching companies, highlighting numerous UX issues and architectural problems. Key complaints include Outlook's email-based meeting system, the confusing SharePoint/OneDrive relationship, overlapping functionality across apps, and limitations with group management. The author argues Microsoft's products suffer from legacy baggage and poor integration between old and new systems, making them unnecessarily complex compared to Google's cloud-native approach.

  4. 4
    Article
    Avatar of lobstersLobsters·37w

    NixOS is the endgame of distrohopping

    NixOS represents the ultimate Linux distribution for experienced users seeking reproducible, declarative system management. The author chronicles their journey from Arch Linux through various distributions to NixOS, highlighting how it solves fundamental problems like configuration drift, dependency hell, and the "works on my machine" issue. NixOS offers immutable infrastructure, safe rollbacks, and mathematical guarantees about system state through pure functional package management. While not recommended for beginners due to its abstraction of low-level Linux concepts, it provides unparalleled control and reproducibility for managing multiple servers and development environments.

  5. 5
    Article
    Avatar of lobstersLobsters·34w

    Rio Terminal

    Rio Terminal is a modern, high-performance terminal application built with Rust that supports 24-bit true color, image display through Sixel and iTerm2 protocols, font ligatures, screen splits, and RetroArch shaders. It runs cross-platform on Windows, macOS, Linux, and FreeBSD, offering advanced rendering capabilities and customization options for developers seeking a feature-rich terminal experience.

  6. 6
    Article
    Avatar of lobstersLobsters·36w

    Wrongthink/posts/all-you-need-is-ssh/

    SSH can replace many complex home server solutions for file sharing, media streaming, and remote administration. Using tools like mpv with SFTP, scp, rsync, and LibreOffice's remote file access, you can accomplish most home server tasks without additional web-based abstractions or paid services. The approach emphasizes simplicity and minimalism over feature-rich but maintenance-heavy alternatives.

  7. 7
    Article
    Avatar of lobstersLobsters·34w

    Checkboxes that kill your product

    Firefox ships with numerous settings that can completely break the browser experience for users, including options to disable images, JavaScript, SSL/TLS, and navigation toolbars. These dangerous checkboxes exist due to historical reasons and design-by-committee decisions. The author argues that features used by less than 2% of users should be moved to add-ons rather than exposed in main settings, as they can render the browser unusable and harm the product's reputation when accidentally triggered by regular users.

  8. 8
    Article
    Avatar of lobstersLobsters·37w

    basecamp/once-campfire

    Campfire is an open-source web-based chat application built by Basecamp that supports multiple rooms, direct messages, file attachments, search, notifications, and bot integrations. It's designed as a single-tenant solution with Docker deployment support, including built-in SSL, caching, and background job processing. The application can be configured with environment variables for SSL domains, Web Push notifications via VAPID keys, and error reporting through Sentry.

  9. 9
    Article
    Avatar of lobstersLobsters·36w

    Many Hard Leetcode Problems are Easy Constraint Problems

    Demonstrates how constraint solvers like MiniZinc can elegantly solve complex algorithmic problems that typically require advanced programming techniques. Shows practical examples including the coin change problem, stock trading optimization, and histogram rectangle finding, highlighting how constraint programming offers a more declarative approach to mathematical optimization problems compared to traditional algorithmic solutions.

  10. 10
    Article
    Avatar of lobstersLobsters·34w

    Linus Torvalds and the Supposedly “Garbage Code”

    A detailed analysis of Linus Torvalds' criticism of a RISC-V kernel contribution, examining the technical merits of helper functions versus explicit bit manipulation code. The author argues that proper helper functions with type casting and bit masking are safer and more maintainable than inline expressions, demonstrating correct implementations in both C macros and C++ constexpr functions.