The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Pg-typesafe – Strongly typed queries for PostgreSQL and TypeScript
Throughout my career, I tried many tools to query PostgreSQL, and in the end, concluded that for what I do, the simplest is almost always the best: raw SQL queries.<p>Until now, I typed the results manually and relied on tests to catch problems. While this is OK in e.g., GoLang, it is quite annoying in TypeScript. First, because of the more powerful type system (it's easier to guess that updated_at is a date than it is to guess whether it's nullable or not), second, because of idiosyncrasies (INT4s are deserialised as JS numbers, but INT8s are deserialised as strings).<p>So I wrote pg-typesafe, with the goal of it being the less burdensome: you call queries exactly the same way as you would call node-pg, and they are fully typed.<p>It's very new, but I'm already using it in a large-ish project, where it found several bugs and footguns, and also allowed me to remove many manual type definitions.
Show HN: VectorNest responsive web-based SVG editor
I’ve just released VectorNest — an open-source, browser-based SVG editor.<p>If you have an SVG and need quick edits (paths, alignment, small fixes, animations, LLM assistance) without installing software, this is for you.<p>Try the demo: <a href="https://ekrsulov.github.io/vectornest/" rel="nofollow">https://ekrsulov.github.io/vectornest/</a>
GitHub repo: <a href="https://github.com/ekrsulov/vectornest" rel="nofollow">https://github.com/ekrsulov/vectornest</a><p>Feedback, issues and contributions are welcome.
Show HN: CEL by Example
Show HN: Rebrain.gg – Doom learn, don't doom scroll
Hi HN,<p>I built <a href="https://rebrain.gg" rel="nofollow">https://rebrain.gg</a>. It's a website which is intended to help you learn new things.<p>I built it for two reasons:<p>1. To play around with different ways of interacting with a LLM. Instead of a standard chat conversation, the LLM returns question forms the user can directly interact with (and use to continue the conversation with the LLM).<p>2. Because I thought it would be cool to have a site dedicated to interactive educational content instead of purely consuming content (which I do too much).<p>An example of a (useful-for-me) interactive conversation is: <a href="https://rebrain.gg/conversations/6" rel="nofollow">https://rebrain.gg/conversations/6</a>. In it I'm learning how to use the `find` bash command. (Who ever knew to exclude a directory from a look-up you need to do `find . -path <path> -exclude -o <what you want to look for>`, where `-o` stands for "otherwise"!)<p>Still very early on, so interested in and open to any feedback.<p>Thanks!
Show HN: I'm launching a LPFM radio station
I've been working on creating a Low Power FM radio station for the east San Fernando Valley of Los Angeles. We are not yet on the broadcast band but our channel will be 95.9FM and our range can been seen on the homepage of our site.<p>KPBJ is a freeform community radio station. Anyone in the area is encouraged to get a timeslot and become a host. We make no curatorial decisions. Its sort of like public access or a college station in that way.<p>This month we launched our internet stream and on-boarded about 60 shows. They are mostly music but there are a few talk shows. We are restricting all shows to monthly time slots for now but this will change in the near future as everyone gets more familiar with the systems involved.<p>All shows are pre-recorded until we can raise the money to get a studio.<p>We have a site secured for our transmitter but we need to fundraise to cover the equipment and build out costs. We will be broadcasting with 100W ERP from a ridgeline in the Verdugos at about 1500ft elevation. The site will need to be off grid so we will need to install a solar system with battery backup. We are planning to sync the station to the transmit site with 802.11ah.<p>I've built all of our web infrastructure using Haskell, NixOS, Terraform, and HTMX: <a href="https://github.com/solomon-b/kpbj.fm" rel="nofollow">https://github.com/solomon-b/kpbj.fm</a><p>This is a pretty substantial project involving a bunch of social and technical challenges and a shoe string budget. I'm feel pretty confident we will pull it off and make it a high impact local radio station.<p>The station is managed by a 501c3 non-profit we created. We are actively seeking fundraising, especially to get our transmit site up and running. If you live in the area or want to contribute in any way then please reach out!
Show HN: Echo, an iOS SSH+mosh client built on Ghostty
Show HN: I built a tool to un-dumb Claude Code's CLI output (Local Log Viewer)
Hi HN,<p>I built this because I got tired of the Claude Code CLI hiding details from me.<p>Recent updates have replaced critical output with summaries like "Read 3 files" or "Edited 2 files". To see what actually happened, I was forced to use `--verbose`, which floods the terminal with unreadable JSON and system prompts.<p>I wanted a middle ground: *Full observability without the noise.*<p>`claude-devtools` is a local Electron app that tails the session logs in `~/.claude/` to reconstruct the execution trace in real-time.<p>*Unlike wrappers, it solves the visibility gap in your native terminal workflow:*
1. *Real Diffs:* It shows inline diffs (red/green) the moment files are edited, instead of just a checkmark.
2. *Context Forensics:* It breaks down token usage by File vs Tool Output vs Thinking (so you know exactly why your context window is full).
3. *Agent Trees:* It visualizes sub-agent execution paths which are usually interleaved and confusing in the CLI.<p>It’s 100% local, and works with the logs already on your machine. No API keys required.<p>Repo: <a href="https://github.com/matt1398/claude-devtools" rel="nofollow">https://github.com/matt1398/claude-devtools</a>
(Screenshots and diff viewer demo are in the README)
Show HN: Scanned 1927-1945 Daily USFS Work Diary
My great-grandfather Reuben P. Box was a US Forest Ranger in Northern California, and I've got his daily work diary from 1927-1945, through the depression, WWII, Conservation Corps, and lots of forest fires. I've scanned the entire thing, had Claude help with transcription, indexing, and web site building, and put the whole thing here:<p><a href="https://forestrydiary.com/" rel="nofollow">https://forestrydiary.com/</a><p>This is one of those projects I've sat on for years, but with Claude and Mistral helping with the handwriting recognition, and even helping me write a custom scanning app that would auto scan each page and put it into a database as I assembled everything.<p>As far as I know, this is the only US Forestry Diary that has been fully scanned in and published. I understand that there are other diaries in some collections, but none have been scanned in. I hope this helps somebody. Please let me know if it does.<p>This is the sort of project Claude and AI can help with - A personal project that sits on the shelf forever, but now a reasonable project that can be published in my spare time. I'm not trying to earn money on this, but just improving our knowledge and history just a little bit.
Show HN: Glitchy camera – a circuit-bent camera simulator in the browser
Fun little side project I built after learning about circuit bending in cameras for intentional glitch effect. It is browser based camera toy where you "rewire" CCD pin pairs, turn knobs to get different glitch artefacts in real time to capture as photos. I had fun learning to simulate different pin modes - channel split, hue/phase shifts, horizontal clock delays, colour kill etc.<p>Here are some photos taken: <a href="https://glitchycam.com/gallery" rel="nofollow">https://glitchycam.com/gallery</a><p>I intentionally leaned towards skeuomorphic design for nostalgia. I miss the days where I'd spend hours making a button to look like a physical button. Here I chose to make it look like a "good enough" Teenage Engineering device UI.<p>I tested/used GPT-5.3-Codex to build this from scratch, since there was a lot of hype around it on X. Maybe I wasn’t using it right, but I found it needed a lot of code cleanup at every step and a lot of hand holding along the way. It missed details/nuances and didn't land the skeuomorphic buttons or the interaction polish. It mostly helped with boilerplate where there wasn't much thinking/detailing. It did give a basic starting point for the effect calculations, but didn't really move the needle on the details.<p>Please give it a go and let me know what you think - your photos and video never leave your browser (you can download them if you choose to). Everything is processed locally in your browser (works offline), nothing is uploaded or seen by anyone.
Show HN: Glitchy camera – a circuit-bent camera simulator in the browser
Fun little side project I built after learning about circuit bending in cameras for intentional glitch effect. It is browser based camera toy where you "rewire" CCD pin pairs, turn knobs to get different glitch artefacts in real time to capture as photos. I had fun learning to simulate different pin modes - channel split, hue/phase shifts, horizontal clock delays, colour kill etc.<p>Here are some photos taken: <a href="https://glitchycam.com/gallery" rel="nofollow">https://glitchycam.com/gallery</a><p>I intentionally leaned towards skeuomorphic design for nostalgia. I miss the days where I'd spend hours making a button to look like a physical button. Here I chose to make it look like a "good enough" Teenage Engineering device UI.<p>I tested/used GPT-5.3-Codex to build this from scratch, since there was a lot of hype around it on X. Maybe I wasn’t using it right, but I found it needed a lot of code cleanup at every step and a lot of hand holding along the way. It missed details/nuances and didn't land the skeuomorphic buttons or the interaction polish. It mostly helped with boilerplate where there wasn't much thinking/detailing. It did give a basic starting point for the effect calculations, but didn't really move the needle on the details.<p>Please give it a go and let me know what you think - your photos and video never leave your browser (you can download them if you choose to). Everything is processed locally in your browser (works offline), nothing is uploaded or seen by anyone.
Show HN: I taught LLMs to play Magic: The Gathering against each other
I've been teaching LLMs to play Magic: The Gathering recently, via MCP tools hooked up to the open-source XMage codebase. It's still pretty buggy and I think there's significant room for existing models to get better at it via tooling improvements, but it pretty much works today. The ratings for expensive frontier models are artificially low right now because I've been focusing on cheaper models until I work out the bugs, so they don't have a lot of games in the system.
Show HN: I taught LLMs to play Magic: The Gathering against each other
I've been teaching LLMs to play Magic: The Gathering recently, via MCP tools hooked up to the open-source XMage codebase. It's still pretty buggy and I think there's significant room for existing models to get better at it via tooling improvements, but it pretty much works today. The ratings for expensive frontier models are artificially low right now because I've been focusing on cheaper models until I work out the bugs, so they don't have a lot of games in the system.
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: 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: 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: Lightwave – Real-time notes app, 3.5 years of hand-rolled JavaScript
Hi HN!<p>I've been building this solo for about three and a half years. I kept trying every new project/notes tool (Notion, Asana, Trello, etc.) and always ended up back in a plain text file. I wanted something that felt like a text editor on first touch but could grow into real structure when you needed it.<p><a href="https://lightwave.so" rel="nofollow">https://lightwave.so</a> (desktop only)<p>The tech stack is Laravel, MySQL, Redis, and hand-rolled JavaScript on the client. No frameworks like React/Vue/etc. ~270 lines of jQuery (out of 80k+ total LOC) for a few legacy DOM utilities, plus IndexedDB for local persistence. Real-time collaboration uses a hybrid approach: HTTP/2 POST for resilient ops + WebSockets via Laravel Reverb for live cursors, presence, and edits.<p>This is a pre-release stress test, not a launch. Lightwave will be a paid product. Right now I'm opening it up because no amount of solo testing replicates getting punched in the mouth by real traffic.<p>The link above has a button to create a test account in 1 click.<p>Known rough edges: the cursor and selection system are built from scratch (like VS Code, not a contenteditable wrapper), so there's a lot of surface area. Some keyboard shortcuts may be missing. Desktop only, accessibility not yet implemented. I'm shipping fixes in real time.<p>There's a "Submit Bug or Feedback" button inside the app if something breaks. Happy to answer any questions about the architecture, or anything else.<p>Some highlights:<p>- Paste markdown in, get native blocks. Copy blocks out, get markdown back.<p>- Hierarchical document, structure. Hierarchichal file manager.<p>- Live collab with shared cursors, selection, and presence.<p>- Code blocks with syntax highlighting. LaTeX math blocks.<p>- Full data export: markdown, JSON, and attachments. No lock-in.<p>- Full undo/redo with cursor restoration.
Show HN: Maths, CS and AI Compendium
Hey HN, I don’t know who else has the same issue, but:<p>Textbooks often bury good ideas in dense notation, skip the intuition, assume you already know half the material, and get outdated in fast-moving fields like AI.<p>Over the past 7 years of my AI/ML experience, I filled notebooks with intuition-first, real-world context, no hand-waving explanations of maths, computing and AI concepts.<p>In 2024, a few friends used these notes to prep for interviews at DeepMind, OpenAI, Nvidia etc. They all got in and currently perform well in their roles. So I'm sharing.<p>This is an open & unconventional textbook covering maths, computing, and artificial intelligence from the ground up. For curious practitioners seeking deeper understanding, not just survive an exam/interview.<p>To ambitious students, an early careers or experts in adjacent fields looking to become cracked AI research engineers or progress to PhD, dig in and let me know your thoughts.
Show HN: Wildex – Pokémon Go for real wildlife
Dear HN,<p>My wife and I both love nature and have always wanted a Pokémon go style app, to collect and learn about different species we find.<p>All the usual species identifying apps were didn’t feel fun enough, so we designed and built one together!<p>Would love for you guys to give it a try and share any thoughts you have.
Show HN: Wildex – Pokémon Go for real wildlife
Dear HN,<p>My wife and I both love nature and have always wanted a Pokémon go style app, to collect and learn about different species we find.<p>All the usual species identifying apps were didn’t feel fun enough, so we designed and built one together!<p>Would love for you guys to give it a try and share any thoughts you have.