Best of Hacker NewsNovember 2025

  1. 1
    Article
    Avatar of hnHacker News·24w

    The (lazy) Git UI You Didn't Know You Need

    Lazygit is a terminal-based Git UI that enhances productivity through consistency, discoverability, and interactivity. The tool maintains Git CLI terminology while providing visual guidance for operations like interactive rebasing, cherry-picking, and commit patching. Its vim-style keybindings enable quick workflows (e.g., amending and force-pushing in 5 keystrokes), while interactive prompts prevent mistakes and teach better Git patterns. The TUI approach delivers speed and portability without overwhelming users, making complex operations like splitting commits or selective line resets significantly simpler than traditional CLI or GUI alternatives.

  2. 2
    Article
    Avatar of hnHacker News·25w

    Why we migrated from Python to Node.js

    A startup rewrote their backend from Python/Django to Node.js/Express one week after launch due to Python's async limitations. The team struggled with Django's incomplete async support, colored functions problem, and the need for constant sync/async conversions. Despite losing Django's ergonomic ORM, they gained 3x throughput, unified their codebase with their existing Node worker service, and improved code maintainability. The three-day migration was driven by concerns about scalability and code quality rather than immediate load issues.

  3. 3
    Article
    Avatar of hnHacker News·24w

    Pikaday

    Most forms don't need JavaScript date pickers. Native HTML date/time inputs handle accessibility, performance, and internationalization automatically. For better usability, consider separate inputs for day/month/year, select dropdowns for limited options, or masked inputs with validation. Complex calendar widgets lead to more errors and accessibility issues. Keep forms simple by using native browser features and basic HTML elements that are easier to use and test.

  4. 4
    Article
    Avatar of hnHacker News·25w

    Send this article to your friend who still thinks the cloud is a good idea

    A developer shares their experience moving projects from AWS to bare-metal servers with Hetzner, achieving 10x cost savings and 2x performance improvement. The piece argues that cloud services like AWS charge excessive markups (10x-100x) compared to renting or buying servers directly, and that most small-to-medium businesses don't need expensive managed cloud services. It challenges common fears about server management, suggesting that with modern tools like AI assistants, managing Linux servers is accessible and cost-effective for most developers.

  5. 5
    Article
    Avatar of hnHacker News·24w

    Snapchat/Valdi: Valdi is a cross-platform UI framework that delivers native performance without sacrificing developer velocity.

    Valdi is an open-source cross-platform UI framework from Snapchat that compiles TypeScript components directly to native iOS, Android, and macOS views without web views or JavaScript bridges. Battle-tested in Snap's production apps for 8 years, it features automatic view recycling, instant hot reload, full VSCode debugging, and flexible integration with existing native codebases. The framework includes a C++ layout engine, worker thread support, native animations, and type-safe bindings between TypeScript and platform-specific code.

  6. 6
    Article
    Avatar of hnHacker News·24w

    Meta just killed native WhatsApp on Windows 11, now it opens WebView, uses 1GB RAM all the time

    Meta replaced the native WhatsApp Windows 11 app with a WebView2-based version that loads web.whatsapp.com in a container. The new version consumes 1-2GB RAM compared to the native app's 100-300MB, exhibits sluggish performance, and has notification issues. The change reverses years of investment in native development, moving from Electron to UWP and now back to a web wrapper. Users will eventually be forced to upgrade as Meta plans to phase out the native version.

  7. 7
    Article
    Avatar of hnHacker News·23w

    Why I Don't Need a Steam Machine

    A humorous personal reflection on Valve's newly announced Steam Machine console. The author lists 22 reasons why they don't need the device—from being a retro gamer who doesn't need the power, to already having too many gaming devices, to preferring physical games over digital—only to conclude they're buying one anyway despite all the rational arguments against it.

  8. 8
    Article
    Avatar of hnHacker News·24w

    A modern static site generator

    Zensical is a new open-source static site generator built by the Material for MkDocs team to overcome MkDocs' technical limitations and supply chain risks. Built from scratch with a differential build engine (ZRX) and featuring a modern design, blazing-fast client-side search (Disco), and 4-5x faster rebuild times, Zensical maintains compatibility with existing mkdocs.yml configurations and Markdown files. The project introduces a professional offering called Zensical Spark for enterprise users, transitions away from GitHub Sponsors, and places Material for MkDocs into maintenance mode. Future development includes a module system, component system, and CommonMark support with a Rust-based parser.

  9. 9
    Article
    Avatar of hnHacker News·23w

    Hans-Halverson/brimstone: New JavaScript engine written in Rust

    Brimstone is a new JavaScript engine built from scratch in Rust that implements over 97% of the ECMAScript specification. It features a bytecode VM inspired by V8's Ignition, a compacting garbage collector, custom RegExp and parser engines, and nearly all builtin objects. The project supports all ES2024 features and stage 4 proposals except SharedArrayBuffer and Atomics. While not production-ready, it can execute JavaScript files and includes comprehensive testing with test262 integration.

  10. 10
    Article
    Avatar of hnHacker News·23w

    Think in Math. Write in Code.

    Programming languages are implementation tools, not thinking tools. Mathematical reasoning provides a flexible, constraint-free medium for solving computational problems before writing code. The article argues that steps like problem understanding and solution design should happen in mathematical terms first, allowing developers to focus on optimal implementation choices afterward. It demonstrates how mathematical abstraction enables multiple perspectives on the same concept (unlike rigid code abstractions), delays representation decisions until requirements are clear, and helps identify hidden assumptions through formal definitions and proofs.

  11. 11
    Article
    Avatar of hnHacker News·24w

    Collaboration sucks

    Excessive collaboration slows down product development and reduces team effectiveness. The key is empowering individual ownership where one person drives decisions while selectively gathering specific feedback. Default to shipping code over discussing it, tag specific people for targeted input rather than broadcasting requests, and provide feedback after shipping instead of creating approval bottlenecks. Teams should actively reduce unnecessary collaboration by identifying clear owners and trusting them to execute independently.

  12. 12
    Article
    Avatar of hnHacker News·23w

    The Grafana trust problem

    An experienced engineer shares their journey with Grafana's observability stack, detailing how frequent architectural changes, deprecations, and increasing complexity have eroded trust. Starting with simple Loki/Prometheus setups, they've witnessed rapid product churn—Grafana Agent deprecated within 2-3 years, OnCall discontinued, and Mimir 3.0 now requiring Kafka. The constant restructuring, incompatibilities with Prometheus Operator standards, and career-driven development pace make it difficult to maintain stable monitoring infrastructure. While acknowledging the technical quality of Grafana products, the author questions their long-term viability and considers alternatives like the kube-prometheus-stack with Thanos.

  13. 13
    Article
    Avatar of hnHacker News·25w

    Internet Archive’s legal fights are over, but its founder mourns what was lost

    The Internet Archive recently archived its trillionth webpage and was designated a federal depository library, but founder Brewster Kahle reflects on the cost of recent copyright battles. Legal fights forced the removal of over 500,000 books from the Open Library, though the organization survived and currently faces no major lawsuits. Despite the setbacks to its digital library mission, Kahle continues moving forward with new initiatives while the Wayback Machine remains operational after nearly 25 years.

  14. 14
    Article
    Avatar of hnHacker News·24w

    YouTube Goes Bonkers, Removes Windows 11 Bypass Tutorials, Claims 'Risk of Physical Harm'

    YouTube removed two tutorial videos from tech creator CyberCPU Tech showing how to install Windows 11 with a local account and bypass hardware requirements, citing risk of physical harm. Both videos received community guidelines strikes, and appeals were denied within minutes. YouTube later restored the videos, claiming human reviewers made the initial decisions. The incident highlights ongoing issues with platform moderation systems incorrectly flagging legitimate technical content while actual spam goes undetected.

  15. 15
    Article
    Avatar of hnHacker News·24w

    What the hell have you built.

    A reminder to developers about the dangers of over-engineering. Building complex systems with minimal users (often mostly test accounts) defeats the purpose. Good architecture should be explainable without convoluted diagrams. The key principle: start with simple solutions and only introduce complexity when there's concrete evidence it's necessary.

  16. 16
    Article
    Avatar of hnHacker News·23w

    When did people favor composition over inheritance?

    Explores the historical origins and context of the "favor composition over inheritance" principle from the Gang of Four's Design Patterns book. Examines the three-page discussion that led to this aphorism, including the white-box versus black-box reuse distinction, language-specific considerations in Smalltalk and Java, and the compile-time versus runtime trade-offs. References Barbara Liskov's earlier work on subtypes and polymorphism, highlighting that composition and inheritance aren't the only options—first-class procedures offer a third alternative that the simplified aphorism overlooks.

  17. 17
    Article
    Avatar of hnHacker News·25w

    This Month in Ladybird

    Ladybird browser engine merged 217 PRs in October, achieving over 90% Web Platform Tests pass rate—a milestone for iOS alternative browser eligibility. Major updates include HTTP disk caching, audio/video synchronization with multi-track support, Trusted Types DOM integration, XPath evaluation support via libxml2, and CSS Typed OM progress. Performance improvements span JavaScript string operations, object property access, and rendering optimizations. WebGL enhancements fixed Google Maps Globe View issues and improved buffer support. The project added pinch-to-zoom on macOS, accessibility DevTools, CSS gradient improvements, and achieved first successful runs on Windows with Gamepad API support.

  18. 18
    Article
    Avatar of hnHacker News·21w

    Introducing the New Runbook Execution Engine

    Atuin Desktop v0.2.0 introduces a completely redesigned runbook execution engine that makes developer workflows persistent, reproducible, and reliable. The new architecture moves execution from TypeScript to Rust, introduces passive and active context types, enables template usage everywhere including self-referential variables, and persists state across app restarts. Key changes include removing global context, improving variable handling, and separating stdout from stderr in script outputs. This foundation enables future features like CLI-based execution, improved serial execution, secrets management, and markdown-based runbooks.

  19. 19
    Article
    Avatar of hnHacker News·23w

    Zigbook – Learn the Zig Programming Language

    Zigbook is an open-source, comprehensive guide to learning Zig programming language. It features 61 chapters with project-based learning and real-world examples, emphasizing not just syntax but a fundamental shift in thinking about software development.

  20. 20
    Article
    Avatar of hnHacker News·23w

    The Pragmatic Programmer: 20th Anniversary Edition

    A comprehensive review of the 20th anniversary edition of 'The Pragmatic Programmer' by Dave Thomas and Andrew Hunt. The book covers fundamental software engineering principles including taking responsibility, DRY (Don't Repeat Yourself), orthogonality, design by contract, decoupling, concurrency, testing, requirements gathering, and team practices. Updated with modern topics like security and concurrency, it replaces dated technology references with contemporary examples. The review highlights key tips throughout the book, such as 'Always Use Version Control,' 'Provide Options, Don't Make Lame Excuses,' and 'Refactor Early, Refactor Often.' While primarily aimed at beginners, the book offers valuable insights for senior developers mentoring juniors and those without formal CS education.

  21. 21
    Article
    Avatar of hnHacker News·24w

    Modular Monolith and Microservices: Modularity is what truly matters

    Modularity is the fundamental principle in software architecture, independent of whether you choose a monolith or microservices. The article explores five implementation strategies ranging from simple modular monoliths (modules as folders) to full microservices, emphasizing that good module separation based on domain understanding should drive architectural decisions, not the other way around. Key insight: start simple with a modular monolith and only increase complexity when justified by specific needs like resource optimization or team scaling. The author advocates for constrained microservices (microliths) that prohibit synchronous inter-service calls during request handling, reducing distributed system complexity while maintaining deployment independence.

  22. 22
    Article
    Avatar of hnHacker News·22w

    What They Don't Tell You About Maintaining an Open Source Project

    A developer shares lessons learned from maintaining Kaneo, an open-source kanban board. Key insights include: documentation is never finished and requires constant iteration based on user feedback; support requests reveal unexpected use cases and edge cases; feature requests require careful evaluation against project scope; database migrations are high-stakes operations requiring extensive testing; and managing contributions involves balancing appreciation with architectural consistency. The piece emphasizes that maintenance work exceeds initial development effort, requires setting boundaries while staying helpful, and that engaged users become collaborators who improve the project through bug reports and contributions.

  23. 23
    Article
    Avatar of hnHacker News·23w

    PrinceJS — Fastest Bun Framework (19,200 req

    PrinceJS is a new web framework for Bun runtime claiming 19,200 req/s performance, positioning itself as 21% faster than Elysia and 106% faster than Express. The framework features tree-shakable imports, TypeScript support with Zod validation, built-in middleware for CORS, logging, and rate limiting, plus utilities for caching, email sending, file uploads, cron jobs, and OpenAPI documentation generation. The project is notably developed by a 13-year-old developer from Nigeria.

  24. 24
    Article
    Avatar of hnHacker News·22w

    Rust is a disappointment

    A critical examination of Rust's design tradeoffs, arguing that it fails to meaningfully improve upon C++ despite its promises. The author identifies four core issues: extremely slow compilation by design, complexity comparable to C++ without legacy justification, prioritization of memory safety over reliability (leading to crashes), and poor performance with mutable shared state. While acknowledging C++'s numerous flaws, the piece contends that Rust's borrow checker and ownership model create impractical development experiences, particularly for GUI applications, databases, and stateful services. The conclusion positions Rust as mediocre but viable for specific use cases like static site generators and parsers with immutable data flows.

  25. 25
    Article
    Avatar of hnHacker News·24w

    WICG/email-verification-protocol: verified autofill

    A proposed web standard for verifying email addresses without sending verification emails or leaving the current page. The protocol uses DNS delegation, SD-JWT tokens with key binding, and browser mediation to enable mail domains to delegate verification to an issuer. The browser requests a token from the issuer using authentication cookies, verifies it, and provides it to the web application. This approach enhances privacy by preventing issuers from learning which applications users are accessing, while eliminating the friction of traditional email verification flows that cause user drop-off.