HN Morning Brief — 6 April 2026


A fresh batch from the Hacker News front page: a lightweight VS Code rewrite, Switzerland’s fiber dominance explained, a brutally honest account of building with AI, and a 40 KB C64 game that puts modern 240 GB titles to shame.

Tech Tools & Projects

SideX — A Tauri-Based Port of Visual Studio Code

SideX strips VS Code’s Electron shell and replaces it with Tauri, using a Rust backend and the OS-native webview. Over 5,600 TypeScript files from VS Code’s source have been ported, with zero Electron imports remaining. The core editor, file explorer, integrated terminal, basic Git, themes, and native menus all work, though the project is explicitly early-release — many features aren’t there yet. The target is 200 MB RAM, a fraction of standard VS Code’s footprint.

HN Discussion: Commenters compared SideX to existing lightweight editors and questioned whether extension compatibility would survive the architectural shift. Several noted that Tauri’s native webview approach introduces platform-specific rendering differences that could cause subtle bugs. The ambition drew both enthusiasm and skepticism about whether a small team can maintain parity with VS Code’s extension ecosystem.

Gemma 4 on iPhone

Google’s Gemma 4 model running natively on iPhone hardware, performing inference entirely on-device with no cloud dependency. The app demonstrates that current-generation phone silicon can handle models of this size for interactive use.

HN Discussion: The thread focused on Apple’s Neural Engine and its constraints for running arbitrary models compared to the GPU. Several commenters debated practical use cases for a local phone LLM versus simply using a cloud API, while others pointed out the privacy advantage of never sending data off-device.

An Open-Source 240-Antenna Array to Bounce Signals Off the Moon

MoonRF (formerly open.space) is building an open-source digital phased array for Earth-Moon-Earth communication — the kind of thing that previously required massive dish antennas and expensive equipment. Their kit uses 4-antenna SDR tiles operating in the C-band (4.9–6 GHz), designed to be arrayed up to 240 elements. The hardware is expected to ship in July 2026.

HN Discussion: Ham radio operators were excited about the prospect of accessible EME communication. Questions arose about the realistic link budget for bouncing signals off the Moon with small arrays and whether the phased-array beamforming could compensate for the path loss. Some skepticism about the shipping timeline for hardware this ambitious.

Show HN: I Made a YouTube Search Form with Advanced Filters

A standalone YouTube search tool offering granular filtering options that YouTube’s own interface either buries or doesn’t expose — duration ranges, upload date, exact match, sort orders, and more. Built as a simple web form that constructs the right YouTube search URLs.

HN Discussion: Users appreciated the tool for finding specific content that YouTube’s recommendation-driven interface makes difficult to locate. Several commenters noted YouTube’s deliberate trend toward hiding search sophistication in favor of algorithmic recommendations, and shared workarounds they’d been using.

Show HN: Real-Time AI on an M3 Pro with Gemma E2B

A project demonstrating real-time multimodal AI — audio and video input, voice output — running entirely on an M3 Pro laptop using Google’s Gemma E2B model. The implementation shows that consumer Apple Silicon can handle the inference demands of a continuous audio/video pipeline without cloud offloading.

HN Discussion: The thread was sparse, with commenters primarily asking about latency numbers and comparing the approach to similar experiments with other models. One commenter noted the importance of the M-series unified memory architecture for making this feasible.

LÖVE: 2D Game Framework for Lua

LÖVE is a mature cross-platform 2D game development framework that pairs Lua scripting with C++ performance. Notably, the breakout indie hit Balatro was built with it — and ships with its entire unobfuscated Lua source. The framework provides audio, physics, graphics, and input APIs while keeping the developer experience minimal: drag a zip onto the executable and it runs.

HN Discussion: The revelation that Balatro ships readable source code drew considerable interest, with commenters checking the game’s probability implementations and finding them correct. Several people noted that the long-awaited version 12.0 still hasn’t shipped despite active development. Lua’s simplicity and the elegance of its C implementation were widely praised, with nostalgic stories about using LÖVE for early game projects.

Show HN: Gemma Gem — AI Model Embedded in a Browser, No API Keys, No Cloud

A Chrome extension that loads Google’s Gemma 4 (2B parameters) through WebGPU in an offscreen document, giving the model tools to interact with any webpage: read content, take screenshots, click elements, type text, scroll, and execute JavaScript. A chat overlay appears on every page, with a thinking mode that displays chain-of-thought reasoning. Everything runs locally.

HN Discussion: Commenters discussed the security implications of giving a local model JavaScript execution capability and browser-level access to every page. Performance varied significantly depending on GPU — WebGPU support is still uneven across hardware. Several people compared it to browser-based assistants that rely on cloud APIs, noting the privacy tradeoff versus capability.

Sheets: Spreadsheets in Your Terminal

A terminal-based spreadsheet application with Vim keybindings, bringing the core spreadsheet experience to the command line. It supports formulas, cell references, and basic formatting within the terminal’s character grid.

HN Discussion: The thread quickly became a nostalgia tour for terminal spreadsheets past — VisiCalc, Lotus 1-2-3, Quattro Pro. Commenters pointed to sc-im and teapot as more established alternatives in the same space. The Vim bindings were the most-appreciated feature, and one commenter noted that all spreadsheets originally ran in terminals anyway.

Show HN: Modo — Open-Source Alternative to Kiro, Cursor, and Windsurf

Modo is an open-source, MIT-licensed AI IDE built on the Void editor (itself a VS Code fork). Its distinguishing feature is a structured pipeline: prompts generate requirements, then a design document, then task breakdowns, and finally code. Specs are stored as markdown files in .modo/specs/, giving the AI context a persistent, reviewable structure rather than relying solely on conversation history.

HN Discussion: Commenters debated whether the plan-first approach genuinely produces better results or just adds latency. Some compared it to Cursor’s existing spec and memory features, questioning what Modo adds beyond the explicit requirements/design/tasks decomposition. The fact that it’s MIT-licensed and hackable was seen as a genuine advantage over closed-source competitors.

The media scraper gallery-dl announced it’s migrating from GitHub to Codeberg following a DMCA takedown notice from FAKKU, LLC. The project, which downloads images and media from various web platforms, had its repository targeted over extractors for specific sites.

HN Discussion: A lively debate about whether DMCA notices apply to tools that merely access publicly available content, with some arguing the takedowns are unlawful. Commenters discussed Codeberg’s stance on DMCA under German law, noting it could still face legal pressure. Several people suggested Radicle and other decentralized git platforms as more takedown-resistant alternatives. The discussion touched on broader concerns about platform dependence for open-source projects.

Running Gemma 4 Locally with LM Studio’s New Headless CLI and Claude Code

A practical walkthrough of using LM Studio’s headless CLI to run Google’s Gemma 4 model locally, then connecting it as a backend for Claude Code’s coding agent. The tutorial covers setup, configuration, and the performance tradeoffs of running a mixture-of-experts model on consumer hardware.

HN Discussion: A key clarification emerged: MoE models don’t actually save VRAM, since all expert weights must remain loaded in memory — the architecture only reduces computation per forward pass. Some commenters noted that expert offloading to CPU RAM can help fit larger MoE models in constrained GPU memory. A few users reported that Gemma 4 would get stuck in infinite loops when used with Claude Code, while other models like Qwen 3.5 worked fine.

A Tail-Call Interpreter in (Nightly) Rust

Matt Keeter implemented a bytecode interpreter using Rust’s new become keyword for guaranteed tail calls (available in nightly Rust). The resulting VM outperforms both his previous Rust implementation using a traditional dispatch loop and his hand-coded ARM64 assembly. The key insight is that tail-call dispatch gives the CPU’s instruction cache and branch predictor a tight, predictable loop to work with. WASM performance regressed 1.2–3.7× due to tail-call limitations in V8 and JavaScriptCore.

HN Discussion: Several commenters expressed surprise that an interpreter loop can beat direct code, with detailed explanations pointing to instruction cache efficiency and branch prediction as the reasons. One commenter described building a similar tail-call interpreter targeting WASM and having to write custom wasm-opt passes to prevent V8 from inlining bytecode handlers and shooting itself in the foot. The Go protobuf parser’s similar VM-based approach was cited as another example of the pattern.


Web & Infrastructure

Why Switzerland Has 25 Gbit Internet and America Doesn’t

Switzerland offers 25 Gbit/s symmetric residential fiber through Init7 — dedicated, not shared with neighbors — while the US and Germany struggle to deliver 1 Gbit. The article argues that neither pure deregulation (the US approach) nor over-regulation (Germany’s) explains the gap. Instead, Switzerland’s model combines strong infrastructure oversight with mandated open-access fiber, creating genuine competition among service providers over shared physical infrastructure.

HN Discussion: A Swiss commenter clarified that fiber isn’t actually available everywhere in Switzerland — rollout has been slow in rural and older buildings. A French commenter detailed France’s 90% FTTH coverage and its own messy “mutualisation points” where ISPs physically plug and unplug subscriber connections. Several Americans shared stories of municipal fiber projects and how incumbent ISPs only rolled out fiber when a competitor like Google Fiber threatened to enter their market — then stopped once the threat receded. The discussion repeatedly returned to how US state laws banning municipal fiber entrench incumbents.

We Replaced Node.js with Bun for 5x Throughput

Trigger.dev profiled their Firestarter service — a long-poll connection broker that holds thousands of idle HTTP connections — and found it CPU-bound. The 5× improvement came in stages: replacing an overengineered SQLite query engine with a composite-key Map doubled throughput, swapping Zod validation for plain if checks doubled it again, and Bun’s compiled executable eliminated cold-start overhead. They also discovered and reported a memory leak in Bun’s HTTP handling of unresolved promises, which Bun has since fixed.

HN Discussion: Multiple commenters called the headline misleading, noting that most of the speedup came from replacing SQLite and Zod — not from Bun’s runtime itself. One developer pointed out that Node.js now has SEA (Single Executable Application) mode, and Deno offers similar compiled-binary functionality with potentially smaller output. The observation that replacing a generic query engine with a purpose-built data structure was the real win resonated widely.

Signals, the Push-Pull Based Algorithm

An interactive article explaining the push-pull algorithm underlying reactive signals — the primitive now used by Angular, Solid, Preact, and most modern frontend frameworks. The piece walks through how signals propagate changes through a dependency graph, balancing push-based updates (immediate notification) with pull-based evaluation (lazy computation).

HN Discussion: A commenter noted that Flapjax (2008) was arguably the first JavaScript implementation of this pattern. Another pointed out the article didn’t address glitch-freedom — the guarantee that intermediate inconsistent states aren’t observable during propagation. Several people praised the article’s interactive reading experience, with its guided walkthrough of the code path, as an example of how dynamic media can be more than simulated print.


AI & Tech Policy

Eight Years of Wanting, Three Months of Building with AI

Lalit Maganti spent eight years wanting to build proper SQLite developer tools (formatters, linters, editor extensions) but never found the motivation to tackle the intersection of hard and tedious work. Over ~250 hours across three months, using AI coding agents, he shipped syntaqlite. The honest post details what went right (rapid prototyping, massive initial acceleration) and what went wrong (spaghetti codebase from vibe-coding, false confidence from 500+ AI-generated tests, eventual decision to scrap the prototype and rebuild with closer architectural oversight).

HN Discussion: Widely praised as one of the most balanced accounts of AI-assisted coding on HN. Commenters identified with the “vibe-code a prototype, then throw it away and rebuild properly” pattern. A dissenting voice argued that code quality matters less as AI tools improve — that the world is moving toward disposable single-user apps where maintainability is irrelevant. Others pushed back on that, pointing out that even with AI, understanding your own codebase remains essential for iterative development. The testing discussion was particularly lively: AI-generated tests create a false sense of coverage because neither humans nor AI are creative enough to anticipate the edge cases that actually matter.

Caveman: Why Use Many Token When Few Token Do Trick

A Claude Code “skill” that instructs the model to respond in caveman-speak — short, terse outputs with no preamble or filler. The README claims roughly 75% fewer output tokens. The author later clarified this targets visible completion text (explanations, disclaimers, pleasantries), not the model’s internal reasoning tokens, and acknowledged the 75% figure comes from informal testing, not a rigorous benchmark.

HN Discussion: The author showed up in the thread to narrow the claims and admit the need for proper benchmarks. A substantive discussion emerged about whether constraining an LLM’s output language reduces its reasoning capacity — one commenter theorized that model layers can either reason about what to say or how to say it, but not both at full capacity simultaneously. The RISC-vs-CISC analogy was invoked: maybe simple, terse tokens are like reduced instruction sets — less expressive per token but faster and more predictable. Others simply enjoyed the joke, with one commenter writing their entire response in caveman-speak.


Security & Privacy

Employers Use Your Personal Data to Figure Out the Lowest Salary You’ll Accept

Employers increasingly access salary history databases — most notably Equifax’s “The Work Number” — to determine candidates’ current and past compensation, then calibrate offers accordingly. The data is collected through payroll processors without explicit employee consent and sold back to employers running background checks.

HN Discussion: Commenters quickly surfaced the opt-out mechanism at The Work Number’s employee data freeze page, but expressed disgust that freezing your own data requires uploading driver’s licenses, pay stubs, and utility bills to Equifax — the same company behind the 2017 breach of 147 million records. The irony of giving Equifax more data to stop them from sharing your data was not lost on anyone. Several people noted that employment contracts requiring pay secrecy coexist uneasily with employers buying that same data through third parties.


Business & Industry

In Japan, the Robot Isn’t Coming for Your Job

Japan’s 2.5% unemployment rate means the country faces a labor shortage, not a job-displacement problem. The article examines how Japan is deploying robotics and automation not to cut headcount but to fill positions that literally cannot be staffed — from convenience stores to Shinkansen cleaning crews. The cultural context matters: Japan has less of the Luddite anxiety common in Western tech discourse, and public-private partnerships actively commercialize automation for social infrastructure.

HN Discussion: A heated debate about whether Japan’s ~18% labor non-participation rate (which includes students, retirees, and homemakers) could be tapped with better incentives, or whether the real bottleneck is demographic. Commenters pointed out that Japan supplements its workforce with guest workers from Southeast Asia under conditions some compared to Gulf-state labor programs. Others shared firsthand accounts of Japanese restaurants where robots now deliver food and tablets handle ordering and payment, with small human-staffed shops still thriving on atmosphere.


History & Science

Microsoft Hasn’t Had a Coherent GUI Strategy Since Petzold

Jeffrey Snover — the creator of PowerShell — traces Microsoft’s GUI framework chaos from the clear, singular era of Charles Petzold’s Win32 programming through WinForms, WPF, Silverlight, WinRT, UWP, WinUI, MAUI, and beyond. Each transition promised to be the definitive answer, and each was eventually abandoned or marginalized. Snover argues that Microsoft’s inability to commit to a single GUI stack has done lasting damage to its developer ecosystem.

HN Discussion: The thread was heavy with developer war stories spanning decades of Microsoft framework migrations. Many agreed with Snover’s diagnosis, though some noted that Apple hasn’t been perfectly consistent either (Carbon → Cocoa → SwiftUI). The broader consensus was that Microsoft’s enterprise customers and backward-compatibility commitments make clean breaks nearly impossible, trapping the company in accretive layers. Web technologies won by default, several commenters argued, because HTML/CSS/JS is the one stack Microsoft can’t deprecate.

The 1987 Game “The Last Ninja” Was 40 Kilobytes

Foone’s tweet highlights that The Last Ninja, a 1987 Commodore 64 game with isometric graphics, multiple locations, and a memorable soundtrack by Ben Daglish, fit in 40 KB. For comparison, Call of Duty: Modern Warfare 3 weighs in at 240 GB — roughly six million times larger. The short video clip demonstrating the game is itself about 300× the size of the original game.

HN Discussion: Commenters unpacked why this works: C64 games were closer to programs than datasets, with logic and procedural generation standing in for stored assets. The concept of “process intensity” — Chris Crawford’s term for computation-over-storage — was cited. Several people shared memories of Ben Daglish’s soundtrack and linked to live performances. A developer noted that a production service they work on uses gigabytes of memory for what would be a few megabytes in a compact representation, drawing the parallel to modern software bloat.

Usenet Archives

A searchable archive of historical Usenet posts, providing access to decades of early internet discussions that predate the web. The archive covers technical newsgroups, hobbyist communities, and the kind of long-form discussion that characterized pre-commercial internet culture.

HN Discussion: The thread was tinged with nostalgia, with commenters lamenting that the decentralized, user-controlled Usenet was replaced by ad-driven centralized platforms. One person noted they still run their own NNTP server. The consensus was that Usenet’s distributed architecture made it resilient in ways that Reddit or Twitter cannot match, though the discoverability and moderation challenges that led to its decline were also acknowledged.

Artemis II Crew See First Glimpse of Far Side of Moon [Video]

BBC footage from NASA’s Artemis II mission showing the crew’s first visual encounter with the far side of the Moon. The video captures the moment the spacecraft’s trajectory brings the lunar far side into view — a perspective only a handful of humans have ever seen in person.

HN Discussion: Commenters reflected on the contrast between this being a routine orbital mission and the extraordinary fact that most of humanity has never seen the Moon’s far side directly. Some discussed the technical details of the cameras and transmission, while others simply expressed awe at the milestone.


Academic & Research

Show HN: I Built a Tiny LLM to Demystify How Language Models Work

GuppyLM is a ~9 million parameter language model built from scratch in about 130 lines of PyTorch. Trained on 60,000 synthetic conversations, it runs on a free Google Colab T4 in five minutes and generates text in the persona of a small fish. The project is explicitly educational: every component — data generation, tokenizer, architecture, training loop, and inference — is laid out so that someone who can run a Jupyter notebook can understand how an LLM works end to end.

HN Discussion: Commenters appreciated the project’s pedagogical clarity, noting that stripping away the engineering complexity of production LLMs makes the transformer architecture comprehensible. Some asked about the quality of the 60K synthetic dataset and whether training on synthetic data introduces specific biases. The project was compared favorably to Andrej Karpathy’s “nanoGPT” as another small-scale educational model.

Computational Physics, 2nd Edition (2025)

Mark Newman’s updated textbook teaches computational physics using Python, covering numerical methods, simulation, and data analysis for physics students. The second edition modernizes examples and expands coverage. The book is designed for undergraduates who have completed introductory physics but may have no programming background.

HN Discussion: Former students of Newman’s course at Michigan praised both the book and the teaching. Commenters suggested alternatives: Sussman and Wisdom’s Structure and Interpretation of Classical Mechanics for a more theoretical approach, and Richard Fitzpatrick’s computational physics PDF for a more applied curriculum. One person noted that in 2026, numerical programming in C — which some chapters reference — feels dated when Python with NumPy makes matrix multiplication trivial. Another recommended Numerical Recipes for those wanting more rigor.


System Administration

Case Study: Recovery of a Corrupted 12 TB Multi-Device Pool

A detailed GitHub issue documents the recovery of a severely corrupted 12 TB BTRFS multi-device pool. A hard power cycle during a commit left inconsistent metadata blocks across the filesystem. The author built approximately 14 custom C tools — reportedly with assistance from Claude Code — to diagnose and repair the damage. The writeup includes constructive gap analysis for BTRFS recovery tooling.

HN Discussion: Several commenters were skeptical of the writeup itself, noting it reads like LLM-generated text and questioning whether the scenario is real or synthetic. The core technical concern was more fundamental: how could a single power cycle corrupt multiple metadata blocks in a copy-on-write filesystem that should be resilient to exactly this kind of failure? BTRFS’s production-readiness was debated once again, with one commenter quipping “please don’t be BTRFS” before clicking through. Despite the controversy, the technical achievement of using custom C tools to recover data from a corrupted filesystem drew grudging respect.


Other

Winners of the 2026 Kokuyo Design Awards

Spoon & Tamago’s coverage of the annual Japanese stationery design competition. Winners include a weighted pen set that changes the writing experience by mass, a notebook with colored edges for visual indexing, an origami-based packaging system, and a “vague pen” that produces faint, smudged lines to encourage ambiguous thinking.

HN Discussion: Some commenters found the designs pretentious — particularly the “vague pen,” which one person noted is functionally identical to broad felt markers that artists have used for decades as part of their rough-in process. Others called out the article’s prose as AI-generated, though a defender noted the site has written in this style for years. The colored-edge notebook and weighted pen received genuine interest as practical products.

Music for Programming

A curated collection of music mixes specifically selected for programming sessions. Each mix is assembled to support sustained concentration — typically ambient, electronic, or instrumental — with brief descriptions of why each selection works for focused work.

HN Discussion: The thread became an impromptu survey of what developers actually listen to while coding. ABBA’s entire discography (~3 hours) was a popular choice: consistently good enough not to skip, not so good that it demands attention, and untainted by distracting movie associations. Aphex Twin, Boards of Canada, and film soundtracks (Social Network, Mr. Robot, The Matrix) all received nominations. The key tension was vocals versus instrumentals: several commenters can’t tolerate any lyrics while coding, while others found certain vocal music ideal for flow states.

The Mechanics of Steins;Gate (2023) [PDF]

A technical analysis paper dissecting the narrative and mechanical systems underlying Steins;Gate, the acclaimed visual novel and anime about time travel via microwave-modified phone messages. The document examines how the story’s branching paths and convergence mechanics create its distinctive tension.

HN Discussion: Fans of the series were surprised and delighted to find it discussed on HN. The conversation quickly shifted to the broader Science Adventure (SciADV) universe, with one commenter writing an extensive guide to the visual novel series and recommending the Committee of Zero fan translation and engine reimplementation project. A key debate: whether the anime adaptation is worth watching. Purists argued that the visual novels’ multiple routes and pacing can’t be compressed into a linear format, while others defended the anime as excellent in its own right. El Psy Kongroo.

One Ant for $220: The New Frontier of Wildlife Trafficking

BBC investigation into the booming trade in exotic ants, with individual specimens of rare species commanding prices upwards of $220. The trade operates through online marketplaces and social media, with collectors in Europe and Asia driving demand for species from tropical regions. Wildlife trafficking enforcement has historically focused on larger animals, leaving the insect trade largely unregulated.

HN Discussion: The thread was sparse, with commenters expressing surprise at the price point and drawing parallels to other niche collecting markets.