The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Interactive Common Lisp: An Enhanced REPL
I created this because sometimes I want more than rlwrap but less than emacs. icl aims to hit that middle sweet spot.<p>It's a terminal application with context-aware auto-complete, an interactive object inspector, auto-indentation, syntax colouring, persistent history, and much more. It uses sly to communicate with the child lisp process and aims to be compatible with any sly-supporting implementation. I hope others find it useful!
Show HN: Sqlit – A lazygit-style TUI for SQL databases
I work mostly in the terminal but found myself constantly switching to bloated GUIs like SSMS only for the simple task of browsing tables and run queries. And I didn't find Existing SQL TUIs intuitive, having to read documentation to learn keybindings and CLI flags to connect. Given I had recently switched to linux, I found myself using vs code's sql database extension. Something was awfully wrong.<p>I wanted something like lazygit for databases – run it, connect, and query and frankly just make it enjoyable to access data.<p><pre><code> Sqlit is a keyboard-driven SQL TUI with:
- Context-based keybindings (always visible)
- Neovim-like interface with normal and insert mode for query editing
- Browse databases, tables, views, stored procedures
- Adapters for SQL Server, SQLite, PostgreSQL, Turso & more
- SSH tunneling support
- Themes (Tokyo Night, Nord, Gruvbox etc.)
Inspired by lazygit, neovim and lazysql. Built with Python/Textual.
</code></pre>
Feedback welcome – especially on which adapters to prioritize next. My vision of sqlit is to make a tool that makes it easy to connect and query data, and to do that, and that thing only, really well.<p><a href="https://github.com/Maxteabag/sqlit" rel="nofollow">https://github.com/Maxteabag/sqlit</a>
Show HN: Sqlit – A lazygit-style TUI for SQL databases
I work mostly in the terminal but found myself constantly switching to bloated GUIs like SSMS only for the simple task of browsing tables and run queries. And I didn't find Existing SQL TUIs intuitive, having to read documentation to learn keybindings and CLI flags to connect. Given I had recently switched to linux, I found myself using vs code's sql database extension. Something was awfully wrong.<p>I wanted something like lazygit for databases – run it, connect, and query and frankly just make it enjoyable to access data.<p><pre><code> Sqlit is a keyboard-driven SQL TUI with:
- Context-based keybindings (always visible)
- Neovim-like interface with normal and insert mode for query editing
- Browse databases, tables, views, stored procedures
- Adapters for SQL Server, SQLite, PostgreSQL, Turso & more
- SSH tunneling support
- Themes (Tokyo Night, Nord, Gruvbox etc.)
Inspired by lazygit, neovim and lazysql. Built with Python/Textual.
</code></pre>
Feedback welcome – especially on which adapters to prioritize next. My vision of sqlit is to make a tool that makes it easy to connect and query data, and to do that, and that thing only, really well.<p><a href="https://github.com/Maxteabag/sqlit" rel="nofollow">https://github.com/Maxteabag/sqlit</a>
Show HN: Sqlit – A lazygit-style TUI for SQL databases
I work mostly in the terminal but found myself constantly switching to bloated GUIs like SSMS only for the simple task of browsing tables and run queries. And I didn't find Existing SQL TUIs intuitive, having to read documentation to learn keybindings and CLI flags to connect. Given I had recently switched to linux, I found myself using vs code's sql database extension. Something was awfully wrong.<p>I wanted something like lazygit for databases – run it, connect, and query and frankly just make it enjoyable to access data.<p><pre><code> Sqlit is a keyboard-driven SQL TUI with:
- Context-based keybindings (always visible)
- Neovim-like interface with normal and insert mode for query editing
- Browse databases, tables, views, stored procedures
- Adapters for SQL Server, SQLite, PostgreSQL, Turso & more
- SSH tunneling support
- Themes (Tokyo Night, Nord, Gruvbox etc.)
Inspired by lazygit, neovim and lazysql. Built with Python/Textual.
</code></pre>
Feedback welcome – especially on which adapters to prioritize next. My vision of sqlit is to make a tool that makes it easy to connect and query data, and to do that, and that thing only, really well.<p><a href="https://github.com/Maxteabag/sqlit" rel="nofollow">https://github.com/Maxteabag/sqlit</a>
Show HN: Sub-microsecond (890 ns) trading execution research system
I am sharing a research-grade, open-source trading execution framework that achieves a median end-to-end decision latency of 890 nanoseconds on commodity hardware.<p>The project is designed for education, systems research, and latency instrumentation, not for live trading. It focuses on understanding exactly where every nanosecond goes in a trading execution path.<p>Key features:<p>- Kernel-bypass networking: Direct userspace access to NICs via custom drivers, 20-50 ns RX latency
- Lock-free SPSC/MPSC queues: Zero-copy architecture
- SIMD feature extraction: About 40 ns per update using AVX-512
- Deterministic replay: Bit-identical execution paths, SHA-256 verified
- Nanosecond-level metrics: Full audit logs and performance dashboard<p>Technical stack: C++17 and Rust, NUMA-aware memory allocation, cache-line alignment, inline assembly for hot paths.<p>The framework is modular, allowing experimentation with different NIC drivers, feature extraction pipelines, or order-flow models such as Hawkes processes or Avellaneda-Stoikov logic. Everything is open source and documented.<p>Links:<p>Live demo: <a href="https://submicro.krishnabajpai.me/" rel="nofollow">https://submicro.krishnabajpai.me/</a>
Source code: <a href="https://github.com/krish567366/submicro-execution-engine" rel="nofollow">https://github.com/krish567366/submicro-execution-engine</a>
Bare-metal NIC drivers: <a href="https://baremetalnic.krishnabajpai.me/" rel="nofollow">https://baremetalnic.krishnabajpai.me/</a><p>I would welcome feedback from anyone working on low-latency systems, networking, or HFT research.<p>Some questions for discussion:<p>- Which part of the execution path is typically hardest to optimize?
- What measurement techniques do you trust for sub-microsecond systems?<p>This project is for research and educational purposes only. It does not connect to exchanges or execute real trades. It is intended as a sandbox for understanding ultra-low-latency execution.<p>I am happy to answer questions about methodology, performance, or design trade-offs.
Show HN: Cordon – Reduce large log files to anomalous sections
Cordon uses transformer embeddings and density scoring to identify what's semantically unique in log files, filtering out repetitive noise.<p>The core insight: a critical error repeated 1000x is "normal" (semantically dense). A strange one-off event is anomalous (semantically isolated).<p>Outputs XML-tagged blocks with anomaly scores. Designed to reduce large logs as a form of pre-processing for LLM analysis.<p>Architecture: <a href="https://github.com/calebevans/cordon/blob/main/docs/architecture.md" rel="nofollow">https://github.com/calebevans/cordon/blob/main/docs/architec...</a><p>Benchmark: <a href="https://github.com/calebevans/cordon/blob/main/benchmark/results/README.md" rel="nofollow">https://github.com/calebevans/cordon/blob/main/benchmark/res...</a><p>Trade-offs: intentionally ignores repetitive patterns, uses percentile-based thresholds (relative, not absolute).
Show HN: Dograh – an OSS Vapi alternative to quickly build and test voice agents
Hi HN, I have been building voice agents for sometime now. I was earlier automating parts of visa processing, and we needed real-time, multilingual voice calling.<p>I assumed the hard work was just wiring LiveKit/Pipecat + STT/TTS + an LLM. It wasn’t.<p>Even with solid OSS (Pipecat/LiveKit), we still had to do a lot of plumbing- variable extraction, tracing, testing etc and any workflow changes required constant redeploys.<p>We eventually realized we’d spent more time building infrastructure than building the actual agents. Everything felt custom. We hit every possible pain with Pipecat and VAPI style systems.<p>So we built Dograh - a fully open-source voice agent framework that includes all the boring, painful pieces by default.<p>What’s different:<p>- Pipecat-based engine, but forked - custom event model, and concurrency fixes<p>- One-click start template generated by an LLM Agent for a quick get start template for any use case<p>- Drag-and-drop visual agent builder for quick iteration (the thing we wished existed earlier)<p>- Variable extraction layer (name/order/date/etc.) baked into the LLM loop<p>- Built in Telephony integration (Twilio/ Vonage/ Vobiz/ Cloudonix)<p>- Multilingual support end-to-end<p>- Select any LLM TTS STT (add their credits, if any)<p>- AI-to-AI call testing: automatically stress-test an agent before shipping (still a work in progress- so patchy as of now)<p>- Fully Open Source<p>It's built and maintained by YC alumni / exit founders who got tired of rebuilding the same plumbing.<p>Why we open-sourced it:
We kept feeling that the space was drifting toward closed SaaS abstractions (VAPI, Retell). Those are good for demos, but once you need data controls, privacy or self/offline deployment, you end up stuck. We wanted a stack where you can see every part, fork it, self-host it, and patch it as needed.<p>Try it:<p>- Repo: <a href="https://github.com/dograh-hq/dograh" rel="nofollow">https://github.com/dograh-hq/dograh</a><p>This spins up a basic multilingual agent with everything pre-wired.<p>Who this is for:<p>- If you are looking for self hosting a Vapi like platform for Data Privacy etc.<p>- Anyone trying to build production-grade voice agents without reinventing audio plumbing.<p>- If you’ve tried to glue STT→LLM→TTS manually, you probably know the exact pain this is built for<p>Happy to answer technical questions, show the architecture, or hear how we can improve the product.
Show HN: Open-source customizable AI voice dictation built on Pipecat
Tambourine is an open source, fully customizable voice dictation system that lets you control STT/ASR, LLM formatting, and prompts for inserting clean text into any app.<p>I have been building this on the side for a few weeks. What motivated it was wanting a customizable version of Wispr Flow where I could fully control the models, formatting, and behavior of the system, rather than relying on a black box.<p>Tambourine is built directly on top of Pipecat and relies on its modular voice agent framework. The back end is a local Python server that uses Pipecat to stitch together STT and LLM models into a single pipeline. This modularity is what makes it easy to swap providers, experiment with different setups, and maintain fine-grained control over the voice AI.<p>I shared an early version with friends and recently presented it at my local Claude Code meetup. The response was overwhelmingly positive, and I was encouraged to share it more widely.<p>The desktop app is built with Tauri. The front end is written in TypeScript, while the Tauri layer uses Rust to handle low level system integration. This enables the registration of global hotkeys, management of audio devices, and reliable text input at the cursor on both Windows and macOS.<p>At a high level, Tambourine gives you a universal voice interface across your OS. You press a global hotkey, speak, and formatted text is typed directly at your cursor. It works across emails, documents, chat apps, code editors, and terminals.<p>Under the hood, audio is streamed from the TypeScript front end to the Python server via WebRTC. The server runs real-time transcription with a configurable STT provider, then passes the transcript through an LLM that removes filler words, adds punctuation, and applies custom formatting rules and a personal dictionary. STT and LLM providers, as well as prompts, can be switched without restarting the app.<p>The project is still under active development. I am working through edge cases and refining the UX, and there will likely be breaking changes, but most core functionality already works well and has become part of my daily workflow.<p>I would really appreciate feedback, especially from anyone interested in the future of voice as an interface.
Show HN: I wrote a book – Debugging TypeScript Applications (in beta)
Show HN: 100 Million splats, a whole town, rendered in M2 MacBook Air
Written natively from scratch in Metal and Swift. Build for AirVis app.
Show HN: 100 Million splats, a whole town, rendered in M2 MacBook Air
Written natively from scratch in Metal and Swift. Build for AirVis app.
Show HN: I Ching simulator with accurate Yarrow Stalk probabilities
I built this because I wanted a digital I Ching that honors the original math, rather than just Math.random().<p>Technical detail for the curious:<p>The simulation follows the traditional Yarrow Stalk algorithm (Da Yan). The core of this algorithm relies on modulo-4 arithmetic on the stalks remaining after a random split.<p>To make it physically realistic, I used a Box-Muller transform to simulate the user splitting the stalks with a Gaussian distribution (since humans naturally tend to split near the middle), rather than a uniform random split.<p>I was worried this 'human bias' might skew the modulo probabilities, so I ran a 1-million-run Monte Carlo simulation to verify.<p>The Result: The remainders [0,1,2,3] still emerged with a near-perfect 25% distribution (deviation < 0.05%).<p>So, the app simulates the physics of human imperfection while preserving the mathematical perfection of the probability distribution (where Old Yin is 1/16).<p>Stack: Next.js + Tailwind css<p>Happy to answer any questions about the math or the hexagrams!
Show HN: I Ching simulator with accurate Yarrow Stalk probabilities
I built this because I wanted a digital I Ching that honors the original math, rather than just Math.random().<p>Technical detail for the curious:<p>The simulation follows the traditional Yarrow Stalk algorithm (Da Yan). The core of this algorithm relies on modulo-4 arithmetic on the stalks remaining after a random split.<p>To make it physically realistic, I used a Box-Muller transform to simulate the user splitting the stalks with a Gaussian distribution (since humans naturally tend to split near the middle), rather than a uniform random split.<p>I was worried this 'human bias' might skew the modulo probabilities, so I ran a 1-million-run Monte Carlo simulation to verify.<p>The Result: The remainders [0,1,2,3] still emerged with a near-perfect 25% distribution (deviation < 0.05%).<p>So, the app simulates the physics of human imperfection while preserving the mathematical perfection of the probability distribution (where Old Yin is 1/16).<p>Stack: Next.js + Tailwind css<p>Happy to answer any questions about the math or the hexagrams!
Show HN: I designed my own 3D printer motherboard
3D printing is such a fascinating field of technology, so a couple months ago, I decided to take a deep dive and learn how they actually work!<p>This took me to one of my very first PCB projects, a small, cheap, 3D printer motherboard. While it's not the most cutting edge board, I learned a lot and I fully documented my process designing it (<a href="https://github.com/KaiPereira/Cheetah-MX4-Mini/blob/master/JOURNAL.md" rel="nofollow">https://github.com/KaiPereira/Cheetah-MX4-Mini/blob/master/J...</a>), so other people can learn from my mistakes!<p>It runs off of an STM32H743 MCU, has 4 TMC stepsticks with UART/SPI configurations, sensorless/endstop homing, thermistor and fan ports, parallel, serial and TFT display connectors, bed and heater outputs and USB-C/SD Card printing, all in a small 80x90mm form factor with support for Marlin and Klipper!<p>Because it's smaller and cheaper than a typical motherboard, you can use it for smaller/more affordable printers, and other people can also reference the journal if they're making their own board!<p>If I were to make a V2, I would probably clean up the traces/layout of the PCB, pay more attention to trace size, stitching and fills, BOM optimize even further, and add another motor driver or two to the board. I also should've payed a bit more attention to how much current I would be drawing, and also the voltage ratings, because some of the parts are under-rated for the power.<p>I'm still actively refining it and fixing up some of the mistakes, but I plan on using this board to make a tiny foldup 3D printer I can bring to hackathons and 3D print on the go!<p>The project is fully open source, and journaled, so if you'd like to check it out it's on GitHub (<a href="https://github.com/KaiPereira/Cheetah-MX4-Mini" rel="nofollow">https://github.com/KaiPereira/Cheetah-MX4-Mini</a>)!<p>I absolutely loved making this project and I'd love to hear what you guys would want to see in a V2!
Show HN: I designed my own 3D printer motherboard
3D printing is such a fascinating field of technology, so a couple months ago, I decided to take a deep dive and learn how they actually work!<p>This took me to one of my very first PCB projects, a small, cheap, 3D printer motherboard. While it's not the most cutting edge board, I learned a lot and I fully documented my process designing it (<a href="https://github.com/KaiPereira/Cheetah-MX4-Mini/blob/master/JOURNAL.md" rel="nofollow">https://github.com/KaiPereira/Cheetah-MX4-Mini/blob/master/J...</a>), so other people can learn from my mistakes!<p>It runs off of an STM32H743 MCU, has 4 TMC stepsticks with UART/SPI configurations, sensorless/endstop homing, thermistor and fan ports, parallel, serial and TFT display connectors, bed and heater outputs and USB-C/SD Card printing, all in a small 80x90mm form factor with support for Marlin and Klipper!<p>Because it's smaller and cheaper than a typical motherboard, you can use it for smaller/more affordable printers, and other people can also reference the journal if they're making their own board!<p>If I were to make a V2, I would probably clean up the traces/layout of the PCB, pay more attention to trace size, stitching and fills, BOM optimize even further, and add another motor driver or two to the board. I also should've payed a bit more attention to how much current I would be drawing, and also the voltage ratings, because some of the parts are under-rated for the power.<p>I'm still actively refining it and fixing up some of the mistakes, but I plan on using this board to make a tiny foldup 3D printer I can bring to hackathons and 3D print on the go!<p>The project is fully open source, and journaled, so if you'd like to check it out it's on GitHub (<a href="https://github.com/KaiPereira/Cheetah-MX4-Mini" rel="nofollow">https://github.com/KaiPereira/Cheetah-MX4-Mini</a>)!<p>I absolutely loved making this project and I'd love to hear what you guys would want to see in a V2!
Show HN: I designed my own 3D printer motherboard
3D printing is such a fascinating field of technology, so a couple months ago, I decided to take a deep dive and learn how they actually work!<p>This took me to one of my very first PCB projects, a small, cheap, 3D printer motherboard. While it's not the most cutting edge board, I learned a lot and I fully documented my process designing it (<a href="https://github.com/KaiPereira/Cheetah-MX4-Mini/blob/master/JOURNAL.md" rel="nofollow">https://github.com/KaiPereira/Cheetah-MX4-Mini/blob/master/J...</a>), so other people can learn from my mistakes!<p>It runs off of an STM32H743 MCU, has 4 TMC stepsticks with UART/SPI configurations, sensorless/endstop homing, thermistor and fan ports, parallel, serial and TFT display connectors, bed and heater outputs and USB-C/SD Card printing, all in a small 80x90mm form factor with support for Marlin and Klipper!<p>Because it's smaller and cheaper than a typical motherboard, you can use it for smaller/more affordable printers, and other people can also reference the journal if they're making their own board!<p>If I were to make a V2, I would probably clean up the traces/layout of the PCB, pay more attention to trace size, stitching and fills, BOM optimize even further, and add another motor driver or two to the board. I also should've payed a bit more attention to how much current I would be drawing, and also the voltage ratings, because some of the parts are under-rated for the power.<p>I'm still actively refining it and fixing up some of the mistakes, but I plan on using this board to make a tiny foldup 3D printer I can bring to hackathons and 3D print on the go!<p>The project is fully open source, and journaled, so if you'd like to check it out it's on GitHub (<a href="https://github.com/KaiPereira/Cheetah-MX4-Mini" rel="nofollow">https://github.com/KaiPereira/Cheetah-MX4-Mini</a>)!<p>I absolutely loved making this project and I'd love to hear what you guys would want to see in a V2!
Show HN: A pager
Hello HN,<p>I basically don't use notifications for anything. The noise is too much. Slack is too loud. Email is too slow. But sometimes you do need a note in your face.<p>I found myself missing 1990s pagers. I wanted a digital equivalent - something that does one thing: beep until I ack it.<p>So I built UDP-7777.<p>Concept:<p>- <i>0% Cloud:</i> It listens on UDP Port 7777. No accounts, no central servers. You don't need Tailscale/ZeroTier/WG/etc, it's just easy for device sets.<p>- <i>CAPCODES:</i> It maps your IP address (LAN or Tailscale) to a retro 10-digit "CAPCODE" that looks like a phone number (e.g., (213) 070-6433 for loopback).<p>- <i>Minimalism:</i> Bare-bones interface. Just a box, a few buttons, and a big red blinker.<p>The Tech:<p>It's a single binary written in Go (using Fyne). It implements "burst fire" UDP (sending packets 3x) to ensure delivery without the handshake overhead of TCP.<p>New in v2.2.7:<p>- <i>Frequency Tuning:</i> Bind specifically to your Tailscale/ZeroTier interface.<p>- <i>Squelch:</i> Optional shared-secret keys to ignore unauthorized packets.<p>- <i>Heartbeat:</i> Visual/Audio alerts that persist until you physically click ACK.<p>I built this for anyone looking to cut through the noise—DevOps teams handing off the "on-call IP", or deep-work focus where you only want interruptions from a
high-trust circle.<p>I'd love to hear your thoughts on the IP-to-Phone-Number mapping logic (it's purely visual, but I'm really into it).<p>Site & Binaries (Signed for Mac/Win): <a href="https://udp7777.com" rel="nofollow">https://udp7777.com</a>
Show HN: A pager
Hello HN,<p>I basically don't use notifications for anything. The noise is too much. Slack is too loud. Email is too slow. But sometimes you do need a note in your face.<p>I found myself missing 1990s pagers. I wanted a digital equivalent - something that does one thing: beep until I ack it.<p>So I built UDP-7777.<p>Concept:<p>- <i>0% Cloud:</i> It listens on UDP Port 7777. No accounts, no central servers. You don't need Tailscale/ZeroTier/WG/etc, it's just easy for device sets.<p>- <i>CAPCODES:</i> It maps your IP address (LAN or Tailscale) to a retro 10-digit "CAPCODE" that looks like a phone number (e.g., (213) 070-6433 for loopback).<p>- <i>Minimalism:</i> Bare-bones interface. Just a box, a few buttons, and a big red blinker.<p>The Tech:<p>It's a single binary written in Go (using Fyne). It implements "burst fire" UDP (sending packets 3x) to ensure delivery without the handshake overhead of TCP.<p>New in v2.2.7:<p>- <i>Frequency Tuning:</i> Bind specifically to your Tailscale/ZeroTier interface.<p>- <i>Squelch:</i> Optional shared-secret keys to ignore unauthorized packets.<p>- <i>Heartbeat:</i> Visual/Audio alerts that persist until you physically click ACK.<p>I built this for anyone looking to cut through the noise—DevOps teams handing off the "on-call IP", or deep-work focus where you only want interruptions from a
high-trust circle.<p>I'd love to hear your thoughts on the IP-to-Phone-Number mapping logic (it's purely visual, but I'm really into it).<p>Site & Binaries (Signed for Mac/Win): <a href="https://udp7777.com" rel="nofollow">https://udp7777.com</a>
Show HN: A pager
Hello HN,<p>I basically don't use notifications for anything. The noise is too much. Slack is too loud. Email is too slow. But sometimes you do need a note in your face.<p>I found myself missing 1990s pagers. I wanted a digital equivalent - something that does one thing: beep until I ack it.<p>So I built UDP-7777.<p>Concept:<p>- <i>0% Cloud:</i> It listens on UDP Port 7777. No accounts, no central servers. You don't need Tailscale/ZeroTier/WG/etc, it's just easy for device sets.<p>- <i>CAPCODES:</i> It maps your IP address (LAN or Tailscale) to a retro 10-digit "CAPCODE" that looks like a phone number (e.g., (213) 070-6433 for loopback).<p>- <i>Minimalism:</i> Bare-bones interface. Just a box, a few buttons, and a big red blinker.<p>The Tech:<p>It's a single binary written in Go (using Fyne). It implements "burst fire" UDP (sending packets 3x) to ensure delivery without the handshake overhead of TCP.<p>New in v2.2.7:<p>- <i>Frequency Tuning:</i> Bind specifically to your Tailscale/ZeroTier interface.<p>- <i>Squelch:</i> Optional shared-secret keys to ignore unauthorized packets.<p>- <i>Heartbeat:</i> Visual/Audio alerts that persist until you physically click ACK.<p>I built this for anyone looking to cut through the noise—DevOps teams handing off the "on-call IP", or deep-work focus where you only want interruptions from a
high-trust circle.<p>I'd love to hear your thoughts on the IP-to-Phone-Number mapping logic (it's purely visual, but I'm really into it).<p>Site & Binaries (Signed for Mac/Win): <a href="https://udp7777.com" rel="nofollow">https://udp7777.com</a>
Show HN: Cargo-rail: graph-aware monorepo tooling for Rust; 11 deps