The best Hacker News stories from Show from the past day
Latest posts:
Show HN: A geometric analysis of Chopin's Prelude No. 4 using 3D topology
OP here.<p><pre><code> This is a geometric decoding of Chopin's Prelude No. 4.
I built a 3D music midi visualizer ( https://github.com/jimishol/cholidean-harmony-structure ) and realized that standard music theory couldn't explain the shapes I was seeing. So, I developed the Umbilic-Surface Grammar to map the topology of the harmony.
This document demonstrates that the prelude's tension isn't random, but a rigorous conflict between 'Gravity' (Station Shifts) and 'Will' (Pivots).
I am looking for feedback on the logic—specifically from anyone with a background in topology or music theory. Does this geometric proof hold up?</code></pre>
Show HN: WARN Firehose – Every US layoff notice in one searchable database
Hi HN,<p>I built WARN Firehose because I was frustrated trying to track layoff data across the US. The WARN Act requires companies with 100+ employees to file public notices 60 days before mass layoffs — but the data is scattered across 50 state websites with different formats, broken links, and no API.<p>WARN Firehose scrapes every state workforce agency daily and normalizes the data into a single database going back to 1988. It now has 131,000+ notices covering 14 million workers.<p>*What you can do:*<p>- Browse interactive charts and data tables (no account needed): <a href="https://warnfirehose.com/data" rel="nofollow">https://warnfirehose.com/data</a>
- Drill into any state, city, company, or industry: <a href="https://warnfirehose.com/data/layoffs" rel="nofollow">https://warnfirehose.com/data/layoffs</a>
- Query the REST API (free tier: 100 calls/day): <a href="https://warnfirehose.com/docs" rel="nofollow">https://warnfirehose.com/docs</a>
- Export in CSV, JSON, NDJSON, Parquet, or JSON-LD
- Set up webhooks for real-time alerts on new filings<p>*Who uses this:*<p>- Journalists breaking layoff stories before press releases
- Quant funds using WARN filings as an alternative data signal (filings happen ~60 days before layoffs)
- Recruiters sourcing from displaced talent pools
- Researchers studying labor market dynamics
- Workforce development boards doing rapid response planning<p>*Tech stack:* Python/FastAPI, SQLite, scrapers for all 50 states, static HTML generation for SEO pages, Claude Haiku for AI analysis, deployed on EC2.<p>Free tier is genuinely useful (100 API calls/day, dashboard access, charts). Paid plans start at $19/mo for full historical data and bulk exports.<p>Would love feedback on the API design, data quality, or anything else. Happy to answer questions.
Show HN: Babyshark – Wireshark made easy (terminal UI for PCAPs)
Hey all, I built babyshark, a terminal UI for PCAPs aimed at people who find Wireshark powerful but overwhelming.<p>The goal is “PCAPs for humans”:
Overview dashboard answers what’s happening + what to click next<p>Domains view (hostnames first) → select a domain → jump straight to relevant flows
(works even when DNS is encrypted/cached by using observed IPs from flows)<p>Weird stuff view surfaces common failure/latency signals (retransmits/out-of-order hints, resets, handshake issues, DNS failures when visible)<p>From there you can drill down: Flows → Packets → Explain (plain-English hints) / follow stream<p>Commands:
Offline: babyshark --pcap capture.pcap<p>Live (requires tshark): babyshark --list-ifaces then babyshark --live en0<p>Repo + v0.1.0 release: <a href="https://github.com/vignesh07/babyshark" rel="nofollow">https://github.com/vignesh07/babyshark</a><p>Would love feedback on UX + what “weird detectors” you’d want next.
Show HN: Sowbot – Open-hardware agricultural robot (ROS2, RTK GPS)
Sowbot is an open-hardware agricultural robot designed to close the "prototype gap" that kills most agri-robotics startups and research projects — the 18+ months spent on drivers, networking, safety watchdogs, and UI before you can even start on the thing you actually care about.<p>The hardware is built around a stackable 10×10cm compute module with two ARM Cortex-A55 SBCs — one for ROS 2 navigation/EKF localisation, one dedicated to vision/YOLO inference — connected via a single ethernet cable.<p>Centimetre-level positioning via dual RTK GNSS, CAN bus for field comms, and real-time motor control via ESP32 running Lizard firmware.<p>Everything — schematics, PCB layouts, firmware — is under open licences.
The software stack runs on RoSys/Field Friend (for teams who want fast iteration) or DevKit ROS (for teams already in the ROS ecosystem). The idea is that a lab in one country can reproduce another lab's experiment by sharing a Docker image.<p>Current status: the Open Core brain is largely fabricated, the full-size Sowbot body has a detailed BOM but isn't yet assembled, and we have two smaller dev platforms (Mini and Pico) in various stages of testing.<p>We're a small volunteer team and we're looking for contributors — hardware, ROS, firmware, docs, whatever you can offer.<p>The best place to start is our Discord: <a href="https://discord.gg/SvztEBr4KZ" rel="nofollow">https://discord.gg/SvztEBr4KZ</a> — we have a weekly call if you'd prefer to just show up and chat.<p>GitHub: <a href="https://github.com/Agroecology-Lab/feldfreund_devkit_ros/tree/caatinga-dev" rel="nofollow">https://github.com/Agroecology-Lab/feldfreund_devkit_ros/tre...</a>
Show HN: AI Timeline – 171 LLMs from Transformer (2017) to GPT-5.3 (2026)
Interactive timeline of every major Large Language Model. Filterable by open/closed source, searchable, 54 organizations tracked.
Show HN: PgDog – Scale Postgres without changing the app
Hey HN! Lev and Justin here, authors of PgDog (<a href="https://pgdog.dev/">https://pgdog.dev/</a>), a connection pooler, load balancer and database sharder for PostgreSQL. If you build apps with a lot of traffic, you know the first thing to break is the database. We are solving this with a network proxy that works without requiring application code changes or database migrations.<p>Our post from last year: <a href="https://news.ycombinator.com/item?id=44099187">https://news.ycombinator.com/item?id=44099187</a><p>The most important update: we are in production. Sharding is used a lot, with direct-to-shard queries (one shard per query) working pretty much all the time. Cross-shard (or multi-database) queries are still a work in progress, but we are making headway.<p>Aggregate functions like count(), min(), max(), avg(), stddev() and variance() are working, without refactoring the app. PgDog calculates the aggregate in-transit, while transparently rewriting queries to fetch any missing info. For example, multi-database average calculation requires a total count of rows to calculate the original sum. PgDog will add count() to the query, if it’s not there already, and remove it from the rows sent to the app.<p>Sorting and grouping works, including DISTINCT, if the columns(s) are referenced in the result. Over 10 data types are supported, like, timestamp(tz), all integers, varchar, etc.<p>Cross-shard writes, including schema changes (CREATE/DROP/ALTER), are now atomic and synchronized between all shards with two-phase commit. PgDog keeps track of the transaction state internally and will rollback the transaction if the first phase fails. You don’t need to monkeypatch your ORM to use this: PgDog will intercept the COMMIT statement and execute PREPARE TRANSACTION and COMMIT PREPARED instead.<p>Omnisharded tables, a.k.a replicated or mirrored (identical on all shards), support atomic reads and writes. That’s important because most databases can’t be completely sharded and will have some common data on all databases that has to be kept in-sync.<p>Multi-tuple inserts, e.g., INSERT INTO table_x VALUES ($1, $2), ($3, $4), are split by our query rewriter and distributed to their respective shards automatically. They are used by ORMs like Prisma, Sequelize, and others, so those now work without code changes too.<p>Sharding keys can be mutated. PgDog will intercept and rewrite the update statement into 3 queries, SELECT, INSERT, and DELETE, moving the row between shards. If you’re using Citus (for everyone else, Citus is a Postgres extension for sharding databases), this might be worth a look.<p>If you’re like us and prefer integers to UUIDs for your primary keys, we built a cross-shard unique sequence, directly inside PgDog. It uses the system clock (and a couple other inputs), can be called like a Postgres function, and will automatically inject values into queries, so ORMs like ActiveRecord will continue to work out of the box. It’s monotonically increasing, just like a real Postgres sequence, and can generate up to 4 million numbers per second with a range of 69.73 years, so no need to migrate to UUIDv7 just yet.<p><pre><code> INSERT INTO my_table (id, created_at) VALUES (pgdog.unique_id(), now());
</code></pre>
Resharding is now built-in. We can move gigabytes of tables per second, by parallelizing logical replication streams across replicas. This is really cool! Last time we tried this at Instacart, it took over two weeks to move 10 TB between two machines. Now, we can do this in just a few hours, in big part thanks to the work of the core team that added support for logical replication slots to streaming replicas in Postgres 16.<p>Sharding hardly works without a good load balancer. PgDog can monitor replicas and move write traffic to a promoted primary during a failover. This works with managed Postgres, like RDS (incl. Aurora), Azure Pg, GCP Cloud SQL, etc., because it just polls each instance with “SELECT pg_is_in_recovery()”. Primary election is not supported yet, so if you’re self-hosting with Patroni, you should keep it around for now, but you don’t need to run HAProxy in front of the DBs anymore.<p>The load balancer is getting pretty smart and can handle edge cases like SELECT FOR UPDATE and CTEs with INSERT/UPDATE statements, but if you still prefer to handle your read/write separation in code, you can do that too with manual routing. This works by giving PgDog a hint at runtime: a connection parameter (-c pgdog.role=primary), SET statement, or a query comment. If you have multiple connection pools in your app, you can replace them with just one connection to PgDog instead. For multi-threaded Python/Ruby/Go apps, this helps by reducing memory usage, I/O and context switching overhead.<p>Speaking of connection pooling, PgDog can automatically rollback unfinished transactions and drain and re-sync partially sent queries, all in an effort to preserve connections to the database. If you’ve seen Postgres go to 100% CPU because of a connection storm caused by an application crash, this might be for you. Draining connections works by receiving and discarding rows from abandoned queries and sending the Sync message via the Postgres wire protocol, which clears the query context and returns the connection to a normal state.<p>PgDog is open source and welcomes contributions and feedback in any form. As always, all features are configurable and can be turned off/on, so should you choose to give it a try, you can do so at your own pace. Our docs (<a href="https://docs.pgdog.dev">https://docs.pgdog.dev</a>) should help too.<p>Thanks for reading and happy hacking!
Show HN: TLA+ Workbench skill for coding agents (compat. with Vercel skills CLI)
Show HN: Elecxzy – A lightweight, Lisp-free Emacs-like editor in Electron
Hi HN. I am a programmer from Japan who loves Emacs. I am building elecxzy. It is a free (zero-cost), lightweight, Emacs-like text editor for Windows.<p>I designed it to be comfortable and ready to use immediately, without a custom init.el. Here is a quick overview:<p>- Provides mouse-free operation and classic Emacs keybindings for essential tasks (file I/O, search, split windows, syntax highlighting).<p>- Drops the Lisp execution engine entirely. This keeps startup and operation lightweight.<p>- Solves CJK (Chinese, Japanese, Korean) IME control issues natively on Windows.<p>I never managed to learn Lisp. I just copy-pasted snippets to maintain my init.el. However, I loved the Emacs keybindings. I loved operating an editor entirely without a mouse. I wanted an editor I could just open and use immediately. Also, standard Emacs binaries for Windows often have subtle usability issues for CJK users.<p>So, I thought about whether I could build an Emacs-like text editor using Electron, the same framework as VS Code.<p>Building an editor inside a browser engine required thinking a lot about what NOT to build. To make it feel native, I had to navigate DOM limitations. I learned that intentionally dropping complex features improves rendering speed. For example, I skipped implementing "word wrap." For syntax highlighting, I did not use a full AST parser. Instead, I used strict "line-by-line" parsing. The highlight colors for multi-line comments are occasionally incorrect, but it is practically unproblematic and keeps the editor fast.<p>Under the hood, to bypass browser limitations and handle large files smoothly, I implemented a virtual rendering (virtual scrolling) system. For text management and Undo/Redo, I use a custom Piece Table. I built a custom KeyResolver for Emacs chords. I also used koffi to call Win32 APIs directly for precise IME control.<p>I respect Windows Notepad as one of the most widely used text editors. However, in my daily work or coding tasks, I often felt it lacked certain features. On the other hand, I found VS Code too heavy just to write a quick memo. Even with extensions, it never quite gave me that native Emacs flow. I do not want to replace Notepad, VS Code, or Emacs. If users want rich extensions and heavy customization, I believe they should use Emacs or VS Code. My goal is to fill the gap between them—to build a "greatest common denominator" editor for people who just want an Emacs-like environment on Windows without the setup.<p>It is still in alpha (so it might not work perfectly), but you can test it on Windows by downloading the zip from the GitHub releases, extracting it, and running elecxzy.exe. For screenshots, basic usage, and keybindings, please check the README on the GitHub project page.<p>I am looking for feedback: Is there a demand for a zero-config, Lisp-free, "Notepad-like" Emacs-style editor? What are the minimum standard features required to make it useful? I would love to hear your technical insights.
Show HN: 3D Mahjong, Built in CSS
Show HN: 3D Mahjong, Built in CSS
Show HN: Local-First Linux MicroVMs for macOS
Shuru is a lightweight sandbox that spins up Linux VMs on macOS using Apple's Virtualization.framework. Boots in about a second on Apple Silicon, and everything is ephemeral by default. There's a checkpoint system for when you do want to persist state, and sandboxes run without network access unless you explicitly allow it.
Single Rust binary, no dependencies.
Built it for sandboxing AI agent code execution, but it works well for anything where you need a disposable Linux environment.
Show HN: Local-First Linux MicroVMs for macOS
Shuru is a lightweight sandbox that spins up Linux VMs on macOS using Apple's Virtualization.framework. Boots in about a second on Apple Silicon, and everything is ephemeral by default. There's a checkpoint system for when you do want to persist state, and sandboxes run without network access unless you explicitly allow it.
Single Rust binary, no dependencies.
Built it for sandboxing AI agent code execution, but it works well for anything where you need a disposable Linux environment.
Show HN: CIA World Factbook Archive (1990–2025), searchable and exportable
A structured archive of CIA World Factbook data spanning 1990–2025.
It currently includes:
36 editions
281 entities
~1.06M parsed fields
full-text + boolean search
country/year comparisons
map/trend/ranking analysis views
CSV/XLSX/PDF export
The goal is to preserve long-horizon public-domain government data and make cross-year analysis practical.
Live: <a href="https://cia-factbook-archive.fly.dev" rel="nofollow">https://cia-factbook-archive.fly.dev</a>
About/method details: <a href="https://cia-factbook-archive.fly.dev/about" rel="nofollow">https://cia-factbook-archive.fly.dev/about</a>
Data source is the CIA World Factbook (public domain).
Not affiliated with the CIA or U.S. Government.
Show HN: CIA World Factbook Archive (1990–2025), searchable and exportable
A structured archive of CIA World Factbook data spanning 1990–2025.
It currently includes:
36 editions
281 entities
~1.06M parsed fields
full-text + boolean search
country/year comparisons
map/trend/ranking analysis views
CSV/XLSX/PDF export
The goal is to preserve long-horizon public-domain government data and make cross-year analysis practical.
Live: <a href="https://cia-factbook-archive.fly.dev" rel="nofollow">https://cia-factbook-archive.fly.dev</a>
About/method details: <a href="https://cia-factbook-archive.fly.dev/about" rel="nofollow">https://cia-factbook-archive.fly.dev/about</a>
Data source is the CIA World Factbook (public domain).
Not affiliated with the CIA or U.S. Government.
Show HN: Agent Passport – OAuth-like identity verification for AI agents
Hi HN,<p>I built Agent Passport, an open-source identity verification layer for AI agents. Think "Sign in with Google, but for Agents."<p>The problem: AI agents are everywhere now (OpenClaw has 180K+ GitHub stars, Moltbook had 2.3M agent accounts), but there's no standard way for agents to prove their identity. Malicious agents can impersonate others, and skill/plugin marketplaces have no auth layer. Cisco's security team already found data exfiltration in third-party agent skills.<p>Agent Passport solves this with:
- Ed25519 challenge-response authentication (private keys never leave the agent)
- JWT identity tokens (60-min TTL, revocable)
- Risk engine that scores agents 0-100 (allow/throttle/block)
- One-line verification for apps: `const result = await passport.verify(token)`<p>It's fully open source (MIT), runs on free tiers ($0/month), and has a published npm SDK.<p>GitHub: <a href="https://github.com/zerobase-labs/agent-passport" rel="nofollow">https://github.com/zerobase-labs/agent-passport</a>
Docs: <a href="https://github.com/zerobase-labs/agent-passport/blob/main/docs/INTEGRATION.md" rel="nofollow">https://github.com/zerobase-labs/agent-passport/blob/main/do...</a>
Live demo: <a href="https://agent-passport.vercel.app" rel="nofollow">https://agent-passport.vercel.app</a><p>Built this because I kept seeing the same security gap in every agent platform. Happy to answer questions about the architecture or the agent identity problem in general.
Show HN: PIrateRF – Turn a $20 Raspberry Pi Zero into a 12-mode RF transmitter
I built a software-defined radio transmission platform that runs on a Raspberry Pi Zero W. It spawns its own WiFi hotspot and serves a web UI — connect from any device and you have a portable RF signal generator with 12 transmission modes: FM broadcasting with RDS, FT8, RTTY, FSK, POCSAG paging, Morse code, SSTV image transmission, voice cloning via live mic, spectrum painting, IQ replay, carrier wave, and frequency sweeps.<p>Everything runs through a browser interface. Upload audio files, type messages, configure frequencies, and transmit. The Pi's GPIO pin does the actual RF generation via rpitx — no external radio hardware needed.<p>Written in Go with a real-time WebSocket frontend. Includes a preset system, playlist builder, and multi-device support (connect multiple phones/laptops to the AP and share control).<p>Without an antenna the signal barely reaches 5 meters, which makes it perfect for indoor experimentation and learning about RF protocols without causing interference. All my testing was done indoors with no antenna attached.<p>Built this because I wanted a single portable tool to experiment with every common RF transmission mode without hauling around expensive SDR equipment.<p>Pre-built SD card image available if you want to skip the build process.<p>GitHub: <a href="https://github.com/psyb0t/piraterf" rel="nofollow">https://github.com/psyb0t/piraterf</a>
Blog post: <a href="https://ciprian.51k.eu/piraterf-turning-a-20-raspberry-pi-zero-into-an-rf-tx-swiss-army-knife/" rel="nofollow">https://ciprian.51k.eu/piraterf-turning-a-20-raspberry-pi-ze...</a>
Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust
The goal is to have a pixel, mod-friendly perfect recreation of Wolfenstein 3D in Rust.
Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust
The goal is to have a pixel, mod-friendly perfect recreation of Wolfenstein 3D in Rust.
Show HN: Llama 3.1 70B on a single RTX 3090 via NVMe-to-GPU bypassing the CPU
Hi everyone, I'm kinda involved in some retrogaming and with some experiments I ran into the following question: "It would be possible to run transformer models bypassing the cpu/ram, connecting the gpu to the nvme?"<p>This is the result of that question itself and some weekend vibecoding (it has the linked library repository in the readme as well), it seems to work, even on consumer gpus, it should work better on professional ones tho
Show HN: Llama 3.1 70B on a single RTX 3090 via NVMe-to-GPU bypassing the CPU
Hi everyone, I'm kinda involved in some retrogaming and with some experiments I ran into the following question: "It would be possible to run transformer models bypassing the cpu/ram, connecting the gpu to the nvme?"<p>This is the result of that question itself and some weekend vibecoding (it has the linked library repository in the readme as well), it seems to work, even on consumer gpus, it should work better on professional ones tho