The best Hacker News stories from Show from the past week
Latest posts:
Show HN: Now I Get It – Translate scientific papers into interactive webpages
Understanding scientific articles can be tough, even in your own field. Trying to comprehend articles from others? Good luck.<p>Enter, Now I Get It!<p>I made this app for curious people. Simply upload an article and after a few minutes you'll have an interactive web page showcasing the highlights. Generated pages are stored in the cloud and can be viewed from a gallery.<p>Now I Get It! uses the best LLMs out there, which means the app will improve as AI improves.<p>Free for now - it's capped at 20 articles per day so I don't burn cash.<p>A few things I (and maybe you will) find interesting:<p>* This is a pure convenience app. I could just as well use a saved prompt in Claude, but sometimes it's nice to have a niche-focused app. It's just cognitively easier, IMO.<p>* The app was built for myself and colleagues in various scientific fields. It can take an hour or more to read a detailed paper so this is like an on-ramp.<p>* The app is a place for me to experiment with using LLMs to translate scientific articles into software. The space is pregnant with possibilities.<p>* Everything in the app is the result of agentic engineering, e.g. plans, specs, tasks, execution loops. I swear by Beads (<a href="https://github.com/steveyegge/beads" rel="nofollow">https://github.com/steveyegge/beads</a>) by Yegge and also make heavy use of Beads Viewer (<a href="https://news.ycombinator.com/item?id=46314423">https://news.ycombinator.com/item?id=46314423</a>) and Destructive Command Guard (<a href="https://news.ycombinator.com/item?id=46835674">https://news.ycombinator.com/item?id=46835674</a>) by Jeffrey Emanuel.<p>* I'm an AWS fan and have been impressed by Opus' ability to write good CFN. It still needs a bunch of guidance around distributed architecture but way better than last year.
Show HN: Terminal Phone – E2EE Walkie Talkie from the Command Line
TerminalPhone is a single, self-contained Bash script that provides anonymous, end-to-end encrypted voice and text communication between two parties over the Tor network. It operates as a walkie-talkie: you record a voice message, and it is compressed, encrypted, and transmitted to the remote party as a single unit. You can also send encrypted text messages during a call. No server infrastructure, no accounts, no phone numbers. Your Tor hidden service .onion address is your identity.
Show HN: Respectify – A comment moderator that teaches people to argue better
My partner, Nick Hodges, and I, David Millington, have been on the Internet for a very long time -- since the Usenet days. We’ve seen it all, and have long been frustrated by bad comments, horrible people, and discouraging discussions. We've also been around places where the discussion is wonderful and productive. How to get more of the latter and less of the former?<p>Current moderation tools just seem to focus on deletion and banning. Wouldn’t it be helpful to encourage productive discussion and <i>teach</i> people how to discuss and argue (in the debate sense) better?<p>A year ago we started building Respectify to help foster healthy communication. Instead of just deleting bad-faith comments, we suggest better, good-faith ways to say what folks are trying to say. We help people avoid: * Logical fallacies (false dichotomy, strawmen, etc.) * Tone issues (how others will read the comment) * Relevance to the actual page/post topic * Low-effort posts * Dog whistles and coded language<p>The commenter gets an explanation of what's wrong and a chance to edit and resubmit. It's moderation + education in one step. We want, too, to automate the entire process so the site owner can focus on content and not worry about moderation at all. And over time, comment by comment, quietly coach better thinking.<p>Our main website has an interactive demo: <a href="https://respectify.ai" rel="nofollow">https://respectify.ai</a>. As the demo shows, the system is completely tunable and adjustable, from "most anything goes" to "You need to be college debate level to get by me".<p>We hope the result is better discussions and a better Internet. Not too much to ask, eh?<p>We love the kind of feedback this group is famous for and hope you will supply some!
Show HN: enveil – hide your .env secrets from prAIng eyes
Show HN: Moonshine Open-Weights STT models – higher accuracy than WhisperLargev3
I wanted to share our new speech to text model, and the library to use them effectively. We're a small startup (six people, sub-$100k monthly GPU budget) so I'm proud of the work the team has done to create streaming STT models with lower word-error rates than OpenAI's largest Whisper model. Admittedly Large v3 is a couple of years old, but we're near the top the HF OpenASR leaderboard, even up against Nvidia's Parakeet family. Anyway, I'd love to get feedback on the models and software, and hear about what people might build with it.
Show HN: X86CSS – An x86 CPU emulator written in CSS
Show HN: Steerling-8B, a language model that can explain any token it generates
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: 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: 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
Show HN: A native macOS client for Hacker News, built with SwiftUI
Hey HN! I built a native macOS desktop client for Hacker News and I'm open-sourcing it under the MIT license.<p>GitHub: <a href="https://github.com/IronsideXXVI/Hacker-News" rel="nofollow">https://github.com/IronsideXXVI/Hacker-News</a><p>Download (signed & notarized DMG, macOS 14.0+): <a href="https://github.com/IronsideXXVI/Hacker-News/releases" rel="nofollow">https://github.com/IronsideXXVI/Hacker-News/releases</a><p>Screenshots: <a href="https://github.com/IronsideXXVI/Hacker-News#screenshots" rel="nofollow">https://github.com/IronsideXXVI/Hacker-News#screenshots</a><p>I spend a lot of time reading HN — I wanted something that felt like a proper Mac app: a sidebar for browsing stories, an integrated reader for articles, and comment threading — all in one window. Essentially, I wanted HN to feel like a first-class citizen on macOS, not a website I visit.<p>What it does:<p>- Split-view layout — stories in a sidebar on the left, articles and comments on the right, using the standard macOS NavigationSplitView pattern.<p>- Built-in ad blocking — a precompiled WKContentRuleList blocks 14 major ad networks (DoubleClick, Google Syndication, Criteo, Taboola, Outbrain, Amazon ads, etc.) right in the WebKit layer. No extensions needed. Toggleable in settings.<p>- Pop-up blocking — kills window.open() calls. Also toggleable.<p>- HN account login — full authentication flow (login, account creation, password reset). Session is stored in the macOS Keychain, and cookies are injected into the WebView so you can upvote, comment, and submit stories while staying logged in.<p>- Bookmarks — save stories locally for offline access. Persisted with Codable serialization, searchable and filterable independently.<p>- Search and filtering — powered by the Algolia HN API. Filter by content type (All, Ask, Show, Jobs, Comments), date range (Today, Past Week, Past Month, All Time), and sort by hot or recent.<p>- Scroll progress indicator — a small orange bar at the top tracks your reading progress via JavaScript-to-native messaging.<p>- Auto-updates via Sparkle with EdDSA-signed updates served from GitHub Pages.<p>- Dark mode — respects system appearance with CSS and meta tag injection.<p>Tech details for the curious:<p>The whole app is ~2,050 lines of Swift across 16 files. It uses the modern @Observable macro (not the old ObservableObject/Published pattern), structured concurrency with async/await and withThrowingTaskGroup for concurrent batch fetching, and SwiftUI throughout — no UIKit/AppKit bridges except for the WKWebView wrapper via NSViewRepresentable.<p>Two APIs power the data: the official HN Firebase API for individual item/user fetches, and the Algolia Search API for feeds, filtering, and search. The Algolia API is surprisingly powerful for this — it lets you do date-range filtering, pagination, and full-text search that the Firebase API doesn't support.<p>CI/CD:<p>The release pipeline is a single GitHub Actions workflow (467 lines) that handles the full macOS distribution story: build and archive, code sign with Developer ID, notarize with Apple (with a 5-retry staple loop for ticket propagation delays), create a custom DMG with AppleScript-driven icon positioning, sign and notarize the DMG, generate an EdDSA Sparkle signature, create a GitHub Release, and deploy an updated appcast.xml to GitHub Pages.<p>Getting macOS code signing and notarization working in CI was honestly the hardest part of this project. If anyone is distributing a macOS app outside the App Store via GitHub Actions, I'm happy to answer questions — the workflow is fully open source.<p>The entire project is MIT licensed. PRs and issues welcome: <a href="https://github.com/IronsideXXVI/Hacker-News" rel="nofollow">https://github.com/IronsideXXVI/Hacker-News</a><p>I'd love feedback — especially on features you'd want to see. Some ideas I'm considering: keyboard-driven navigation (j/k to move between stories), a reader mode that strips articles down to text, and notification support for replies to your comments.
Show HN: Micasa – track your house from the terminal
micasa is a terminal UI that helps you track home stuff, in a single SQLite file. No cloud, no
account, no subscription. Backup with cp.<p>I built it because I was tired of losing track of everything in notes apps, and "I'll remember
that"s. When do I need to clean the dishwasher filter? What's the best quote for a complete
overhaul of the backyard. Oops, found some mold behind the trim, need to address that ASAP. That
sort of stuff.<p>Another reason I made micasa was to build a (hopefully useful) low-stakes personal project where
the code was written entirely by AI. I still review the code and click the merge button, but 99%
of the programming was done with an agent.<p>Here are some things I think make it worth checking out:<p>- Vim-style modal UI. Nav mode to browse, edit mode to change. Multicolumn sort, fuzzy-jump to
columns, pin-and-filter rows, hide columns you don't need, drill into related records (like
quotes for a project). Much of the spirit of the design and some of the actual design choices
is and are inspired by VisiData. You should check that out too.
- Local LLM chat. Definitely a gimmick, but I am trying preempt "Yeah, but does it AI?"-style
conversations. This is an optional feature and you can simply pretend it doesn't exist. All
features work without it.
- Single-file SQLite-based architecture. Document attachments (manuals, receipts, photos) are
stored as BLOBs in the same SQLite database. One file is the whole app state. If you think
this won't scale, you're right. It's pretty damn easy to work with though.
- Pure Go, zero CGO. Built on Charmbracelet for the TUI and GORM + go-sqlite for the database.
Charm makes pretty nice TUIs, and this was my first time using it.<p>Try it with sample data:
go install github.com/cpcloud/micasa/cmd/micasa@latest && micasa --demo<p>If you're insane you can also run micasa --demo --years 1000 to generate 1000 years worth of
demo data. Not sure what house would last that long, but hey, you do you.
Show HN: I wrote a technical history book on Lisp
The book page links to a blog post that explains how I got about it (and
has a link to sample content), but the TL&DR is that I could not find
a lot of books that were on "our" history _and_ were larded with technical
details. So I set about writing one, and some five years later I'm happy
to share the result. I think it's one of the few "computer history" books that has tons of code, but correct me if I'm wrong (I wrote this both to tell a story and to learn :-)).<p>My favorite languages are Smalltalk and Lisp, but as an Emacs user, I've been
using the latter for much longer and for my current projects, Common Lisp is a better fit, so I call myself "a Lisp-er" these days. If people like what I did,
I do have plans to write some more (but probably only after I retire, writing next to a full-time job is heard). Maybe on Smalltalk, maybe on computer networks - two topics close to my heart.<p>And a shout-out to Dick Gabriel, he contributed some great personal memories about the man who started it all, John McCarthy.
Show HN: AsteroidOS 2.0 – Nobody asked, we shipped anyway
Hi HN,
After roughly 8 years of silently rolling 1.1 nightlies, we finally tagged a proper stable 2.0 release.
We built this because wrist-sized Linux is genuinely fun to hack on, and because a handful of us think it's worth keeping capable hardware alive long after manufacturers move on. Smartwatches don't really get old — the silicon is basically the same as it was a decade ago. We just keep making it useful for us.<p>No usage stats, no tracking, no illusions of mass adoption. The only real signal we get is the occasional person who appears in our Matrix chat going "hey, it booted on my watch from 2014 and now it's usable again" — and that's plenty.<p>Privacy is non-negotiable: zero telemetry, no cloud, full local control. Longevity is the other half: we refuse to let good hardware become e-waste just because support ended.
On the learning side, it's been one of the best playgrounds: instant feedback on your wrist makes QML/Qt, JavaScript watchfaces and embedded Linux feel tangible. The community is small and kind — perfect for people who want to learn open-source dev without gatekeeping.<p>Technically we're still pragmatic: libhybris + older kernels on most devices since it just works, but we've already mainlined rinato (Samsung Gear 2) and sparrow (ASUS ZenWatch 2) — rinato even boots with a usable UI. That's the direction we're pushing toward.<p>Repo: <a href="https://github.com/AsteroidOS" rel="nofollow">https://github.com/AsteroidOS</a>
Install images & docs: <a href="https://asteroidos.org" rel="nofollow">https://asteroidos.org</a>
2.0 demo video : <a href="https://www.youtube.com/watch?v=U6FiQz0yACc" rel="nofollow">https://www.youtube.com/watch?v=U6FiQz0yACc</a>
Announcement post: <a href="https://asteroidos.org/news/2-0-release/" rel="nofollow">https://asteroidos.org/news/2-0-release/</a><p>Questions, port requests, mentoring offers, criticism, weird ideas — all welcome. We do this because shaping a tiny, open wearable UX and infrastructure is oddly satisfying, and because Linux on the wrist still feels like a playground worth playing in.<p>Cheers, the AsteroidOS Team
Show HN: Free alternative to Wispr Flow, Superwhisper, and Monologue
Show HN: Jemini – Gemini for the Epstein Files
Related: <i>Show HN: JeffTube</i> - <a href="https://news.ycombinator.com/item?id=47030797">https://news.ycombinator.com/item?id=47030797</a>
Show HN: Microgpt is a GPT you can visualize in the browser
very much inspired by karpathy's microgpt of the same name. it's (by default) a 4000 param GPT/LLM/NN that learns to generate names. this is sorta an educational tool in that you can visualize the activations as they pass through the network, and click on things to get an explanation of them.
Show HN: Knock-Knock.net – Visualizing the bots knocking on my server's door