The best Hacker News stories from Show from the past week
Latest posts:
Show HN: Immersive Gaussian Splat experience of Sutro Tower, San Francisco
Show HN: Immersive Gaussian Splat experience of Sutro Tower, San Francisco
Show HN: Subtrace – Wireshark for Docker Containers
Hey HN, we built Subtrace (<a href="https://subtrace.dev">https://subtrace.dev</a>) to let you see all incoming and outgoing requests in your backend server—like Wireshark, but for Docker containers. It comes with a Chrome DevTools-like interface.
Check out this video: <a href="https://www.youtube.com/watch?v=OsGa6ZwVxdA" rel="nofollow">https://www.youtube.com/watch?v=OsGa6ZwVxdA</a>, and see our docs for examples:
<a href="https://docs.subtrace.dev">https://docs.subtrace.dev</a>.<p>Subtrace lets you see every request with full payload, headers, status code, and latency details. Tools like Sentry and OpenTelemetry often leave out these crucial details, making prod debugging slow and annoying. Most of the time, all I want to see are the headers and JSON payload of real backend requests, but it's impossible to do that in today's tools without excessive logging, which just makes everything slower and more annoying.<p>Subtrace shows you every backend request flowing through your system. You can use simple filters to search for the requests you care about and inspect their details.<p>Internally, Subtrace intercepts all network-related Linux syscalls using Seccomp BPF so that it can act as a proxy for all incoming and outgoing TCP connections. It then parses HTTP requests out of the proxied TCP stream and sends them to the browser over WebSocket. The Chrome DevTools Network tab is already ubiquitous for viewing HTTP requests in the frontend, so we repurposed it to work in the browser like any other app (we were surprised that it's just a bunch of TypeScript).<p>Setup is just one command for any Linux program written in any language.<p>You can use Subtrace by adding a `subtrace run` prefix to your backend server startup command. No signup required. Try for yourself: <a href="https://docs.subtrace.dev">https://docs.subtrace.dev</a>
Show HN: Subtrace – Wireshark for Docker Containers
Hey HN, we built Subtrace (<a href="https://subtrace.dev">https://subtrace.dev</a>) to let you see all incoming and outgoing requests in your backend server—like Wireshark, but for Docker containers. It comes with a Chrome DevTools-like interface.
Check out this video: <a href="https://www.youtube.com/watch?v=OsGa6ZwVxdA" rel="nofollow">https://www.youtube.com/watch?v=OsGa6ZwVxdA</a>, and see our docs for examples:
<a href="https://docs.subtrace.dev">https://docs.subtrace.dev</a>.<p>Subtrace lets you see every request with full payload, headers, status code, and latency details. Tools like Sentry and OpenTelemetry often leave out these crucial details, making prod debugging slow and annoying. Most of the time, all I want to see are the headers and JSON payload of real backend requests, but it's impossible to do that in today's tools without excessive logging, which just makes everything slower and more annoying.<p>Subtrace shows you every backend request flowing through your system. You can use simple filters to search for the requests you care about and inspect their details.<p>Internally, Subtrace intercepts all network-related Linux syscalls using Seccomp BPF so that it can act as a proxy for all incoming and outgoing TCP connections. It then parses HTTP requests out of the proxied TCP stream and sends them to the browser over WebSocket. The Chrome DevTools Network tab is already ubiquitous for viewing HTTP requests in the frontend, so we repurposed it to work in the browser like any other app (we were surprised that it's just a bunch of TypeScript).<p>Setup is just one command for any Linux program written in any language.<p>You can use Subtrace by adding a `subtrace run` prefix to your backend server startup command. No signup required. Try for yourself: <a href="https://docs.subtrace.dev">https://docs.subtrace.dev</a>
Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
Hi HN, we’re Sam, Shane, and Abhi, and we’re building Mastra (<a href="https://mastra.ai">https://mastra.ai</a>), an open-source JavaScript SDK for building agents on top of Vercel’s AI SDK.<p>You can start a Mastra project with `npm create mastra` and create workflow graphs that can suspend/resume, build a RAG pipeline and write evals, give agents memory, create multi-agent workflows, and view it all in a local playground.<p>Previously, we built Gatsby, the open-source React web framework. Later, we worked on an AI-powered CRM but it felt like we were having to roll all the AI bits (agentic workflows, evals, RAG) ourselves. We also noticed our friends building AI applications suffering from long iteration cycles: they were getting stuck debugging prompts, figuring out why their agents called (or didn’t call) tools, and writing lots of custom memory retrieval logic.<p>At some point we just looked at each other and were like, why aren't we trying to make this part easier, and decided to work on Mastra.<p>Demo video: <a href="https://www.youtube.com/watch?v=8o_Ejbcw5s8" rel="nofollow">https://www.youtube.com/watch?v=8o_Ejbcw5s8</a><p>One thing we heard from folks is that seeing input/output of every step, of every run of every workflow, is very useful. So we took XState and built a workflow graph primitive on top with OTel tracing. We wrote the APIs to make control flow explicit: `.step()` for branching, `.then()` for chaining, and `.after()` for merging. We also added .`.suspend()/.resume()` for human-in-the-loop.<p>We abstracted the main RAG verbs like `.chunk()`, `embed()`, `.upsert(),’ `.query()`, and `rerank()` across document types and vector DBs. We shipped an eval runner with evals like completeness and relevance, plus the ability to write your own.<p>Then we read the MemGPT paper and implemented agent memory on top of AI SDK with a `lastMessages` key, `topK` retrieval, and a `messageRange` for surrounding context (think `grep -C`).<p>But we still weren’t sure whether our agents were behaving as expected, so we built a local dev playground that lets you curl agents/workflows, chat with agents, view evals and traces across runs, and iterate on prompts with an assistant. The playground uses a local storage layer powered by libsql (thanks Turso team!) and runs on localhost with `npm run dev` (no Docker).<p>Mastra agents originally ran inside a Next.js app. But we noticed that AI teams’ development was increasingly decoupled from the rest of their organization, so we built Mastra so that you can also run it as a standalone endpoint or service.<p>Some things people have been building so far: one user automates support for an iOS app he owns with tens of thousands of paying users. Another bundled Mastra inside an Electron app that ingests aerospace PDFs and outputs CAD diagrams. Another is building WhatsApp bots that let you chat with objects like your house.<p>We did (for now) adopt an Elastic v2 license. The agent space is pretty new, and we wanted to let users do whatever they want with Mastra but prevent, eg, AWS from grabbing it.<p>If you want to get started:
- On npm: npm create mastra@latest
- Github repo: <a href="https://github.com/mastra-ai/mastra">https://github.com/mastra-ai/mastra</a>
- Demo video: <a href="https://www.youtube.com/watch?v=8o_Ejbcw5s8" rel="nofollow">https://www.youtube.com/watch?v=8o_Ejbcw5s8</a>
- Our website homepage: <a href="https://mastra.ai">https://mastra.ai</a> (includes some nice diagrams and code samples on agents, RAG, and links to examples)
- And our docs: <a href="https://mastra.ai/docs">https://mastra.ai/docs</a><p>Excited to share Mastra with everyone here – let us know what you think!
Show HN: Cot: a Rust web framework for lazy developers
Show HN: Scripton – Python IDE with built-in realtime visualizations
Hey HN, Scripton (<a href="https://scripton.dev" rel="nofollow">https://scripton.dev</a>) is a Python IDE built for fast, interactive visualizations and exploratory programming — without the constraints of notebooks.<p>Why another Python IDE? Scripton hopes to fill a gap in the Python development ecosystem by being an IDE that:<p>1. Focuses on easy, fast, and interactive visualizations (and exposes rich JS plotting libraries like Observable Plot and Plotly directly to Python)
2. Provides a tightly integrated REPL for rapid prototyping and exploration
3. Is script-centric (as opposed to, say, notebook-style)<p>A historical detour for why these 3 features: Not so long ago (ok, well, maybe over a decade ago...), the go-to environment for many researchers in scientific fields would have been something like MATLAB. Generating multiple simultaneous visualizations (potentially dynamic) directly from your scripts, rapidly prototyping in the REPL, all without giving up on writing regular scripts. Over time, many switched over to Python but there wasn't an equivalent environment offering similar capabilities. IPython/Jupyter notebooks eventually became the de facto replacement. And while notebooks are great for many things (indeed, it wasn't uncommon for folks to switch between MATLAB and Mathematica Notebooks), they do make certain trade-offs that prevent them from being a full substitute.<p>Inner workings:<p>- Implemented in C++ (IDE <-> Python IPC), Python, TypeScript (UI), WGSL (WebGPU-based visualizations)<p>- While the editor component is based off Monaco, the IDE is not a vscode fork and was written from scratch. Happy to chat about the trade-offs if anyone's interested<p>- Uses a custom Python debugger written from scratch (which enables features like visualizing intermediate outputs while paused in the debugger)<p>Scripton's under active development (currently only available for macOS but Linux and Windows support is planned). Would love for you to try it out and share your thoughts! Since this is HN, I’m also happy to chat about its internals.
Show HN: Live-updating version of the 'What a week, huh?' meme
As a fun evening project, I made a live-updating version of the 'What a week, huh?' meme (based on a panel from The Adventures of Tintin comics [1]).<p>There's a page for every timeframe:<p>- 'What a day': <a href="https://tintin.dlazaro.ca/day" rel="nofollow">https://tintin.dlazaro.ca/day</a><p>- 'What a week': <a href="https://tintin.dlazaro.ca/week" rel="nofollow">https://tintin.dlazaro.ca/week</a><p>- 'What a month': <a href="https://tintin.dlazaro.ca/month" rel="nofollow">https://tintin.dlazaro.ca/month</a><p>- 'What a year': <a href="https://tintin.dlazaro.ca/year" rel="nofollow">https://tintin.dlazaro.ca/year</a><p>Current time is determined by a Cloudflare Worker using the request IP (not logged or stored). No JavaScript is sent to the browser.<p>[1] <a href="https://knowyourmeme.com/memes/what-a-week-huh" rel="nofollow">https://knowyourmeme.com/memes/what-a-week-huh</a>
Show HN: Air traffic control radio and chill music for focus
Show HN: Air traffic control radio and chill music for focus
Show HN: Kreuzberg – Modern async Python library for document text extraction
I'm excited to showcase Kreuzberg!<p>Kreuzberg is a modern Python library built from the ground up with async/await, type hints, and optimized I/O handling.<p>It provides a unified interface for extracting text from documents (PDFs, images, office files) without external API dependencies.<p>Key technical features:
- Built with modern Python best practices (async/await, type hints, functional-first)
- Optimized async I/O with anyio for multi-loop compatibility
- Smart worker process pool for CPU-bound tasks (OCR, doc conversion)
- Efficient batch processing with concurrent extractions
- Clean error handling with context-rich exceptions<p>I built this after struggling with existing solutions that were either synchronous-only, required complex deployments, or had poor async support. The goal was to create something that works well in modern async Python applications, can be easily dockerized or used in serverless contexts, and relies only on permissive OSS.<p>Key advantages over alternatives:
- True async support with optimized I/O
- Minimal dependencies (much smaller than alternatives)
- Perfect for serverless and async web apps
- Local processing without API calls
- Built for modern Python codebases with rigorous typing and testing<p>I Would love feedback!<p>The library is MIT licensed and open to contributions.<p>Here is the repo: <a href="https://github.com/Goldziher/kreuzberg">https://github.com/Goldziher/kreuzberg</a><p>Staring is caring
Show HN: Kreuzberg – Modern async Python library for document text extraction
I'm excited to showcase Kreuzberg!<p>Kreuzberg is a modern Python library built from the ground up with async/await, type hints, and optimized I/O handling.<p>It provides a unified interface for extracting text from documents (PDFs, images, office files) without external API dependencies.<p>Key technical features:
- Built with modern Python best practices (async/await, type hints, functional-first)
- Optimized async I/O with anyio for multi-loop compatibility
- Smart worker process pool for CPU-bound tasks (OCR, doc conversion)
- Efficient batch processing with concurrent extractions
- Clean error handling with context-rich exceptions<p>I built this after struggling with existing solutions that were either synchronous-only, required complex deployments, or had poor async support. The goal was to create something that works well in modern async Python applications, can be easily dockerized or used in serverless contexts, and relies only on permissive OSS.<p>Key advantages over alternatives:
- True async support with optimized I/O
- Minimal dependencies (much smaller than alternatives)
- Perfect for serverless and async web apps
- Local processing without API calls
- Built for modern Python codebases with rigorous typing and testing<p>I Would love feedback!<p>The library is MIT licensed and open to contributions.<p>Here is the repo: <a href="https://github.com/Goldziher/kreuzberg">https://github.com/Goldziher/kreuzberg</a><p>Staring is caring
Show HN: Transform your codebase into a single Markdown doc for feeding into AI
CodeWeaver is a command-line tool designed to weave your codebase into a single, easy-to-navigate Markdown document. It recursively scans a directory, generating a structured representation of your project's file hierarchy and embedding the content of each file within code blocks. This tool simplifies codebase sharing, documentation, and integration with AI/ML code analysis tools by providing a consolidated and readable Markdown output.
Show HN: SQL Noir – Learn SQL by solving crimes
I built SQL Noir, an interactive detective game that challenges you to solve mysteries using real SQL queries. It’s fully open source, designed to give you a practical and immersive way to learn SQL while engaging with a narrative-driven mystery.
Show HN: I made my own OS from scratch because I was bored
I've wanted to make my own OS since I started programming. Now, 5 years later, I did it (kind of).<p>Sure, it is really basic, has very little functionality, but I made it and I'm proud of that. Oh, and I'm just 16 btw.
Show HN: Game Bub – open-source FPGA retro emulation handheld
Hey HN,<p>Over the past ~1.5 years, I built an open-source FPGA retro emulation handheld that can play Game Boy, Game Boy Color, and Game Boy Advance cartridges. To my knowledge, there isn't an existing open-source FPGA emulator that can play physical cartridges like this.<p>One of my main goals was to do all of the pieces myself, and be able to understand every component of it, so I designed my own PCB, wrote the firmware, wrote a Game Boy and Game Boy Advance emulator for the FPGA (using the Chisel HDL), and designed a 3D-printed case.<p>I detailed the design and development process in the linked post. It's quite long, but there are a lot of pictures and videos.<p>Code and design files available on GitHub: <a href="https://github.com/elipsitz/gamebub">https://github.com/elipsitz/gamebub</a>, and an overview of the architecture: <a href="https://github.com/elipsitz/gamebub/blob/handheld/docs/architecture.md">https://github.com/elipsitz/gamebub/blob/handheld/docs/archi...</a>
Show HN: HTML visualization of a PDF file's internal structure
Hi,
I've just finished a rebuild of this function and added a lot of new features: info, page index, minimap, inverted index,...
I think it may be useful for inspection, debugging or just as a learning resource showcasing the PDF file format.
This is a pet project and I would be happy to receive some feedback!
Regards
Show HN: FlashSpace – fast, open-source, macOS Spaces replacement
I've recently launched a new open-source project aimed at enhancing the experience of switching between Spaces/workspaces on macOS. The built-in Spaces feature is often slow and unfriendly. This project is designed to boost your productivity :). Enjoy!
Show HN: FlashSpace – fast, open-source, macOS Spaces replacement
I've recently launched a new open-source project aimed at enhancing the experience of switching between Spaces/workspaces on macOS. The built-in Spaces feature is often slow and unfriendly. This project is designed to boost your productivity :). Enjoy!
Show HN: Play with real quantum physics in your browser
I wanted to make the simplest app to introduce myself and others to quantum computing.<p>Introducing, Schrödinger's Coin. Powered by a simple Hadamard gate[0] on IBM quantum, with this app you can directly interact with a quantum system to experience true randomness.<p>Thoughts? Could you see any use cases for yourself of this? Or, does it inspire any other ideas of yours? Curious what others on HN think!<p>[0] <a href="https://en.wikipedia.org/wiki/Quantum_logic_gate#Hadamard_gate" rel="nofollow">https://en.wikipedia.org/wiki/Quantum_logic_gate#Hadamard_ga...</a>