Show stories

Show HN: F32 – An Extremely Small ESP32 Board
pegor about 24 hours ago

Show HN: F32 – An Extremely Small ESP32 Board

As part of a little research and also some fun I decided to try my hand at seeing how small of an ESP32 board I can make with functioning WiFi.

github.com
110 14
Summary
avaliosdev 3 days ago

Show HN: My hobby OS that runs Minecraft

Astral OS, a newly launched operating system, has announced support for running Minecraft on its platform. This integration aims to provide a seamless and optimized Minecraft experience for users of the Astral OS ecosystem.

astral-os.org
41 4
Summary
vire00 5 days ago

Show HN: A game where you invest into startups from history

StartupGambit.com provides insights and advice for entrepreneurs, covering topics such as fundraising, business strategy, and growth hacking. The site features articles written by experienced founders and industry experts to help startups navigate the challenges of building a successful business.

startupgambit.com
4 0
Summary
Show HN: Tangent – Security log pipeline powered by WASM
ethanblackburn about 3 hours ago

Show HN: Tangent – Security log pipeline powered by WASM

Hi HN! We’re Ethan and Danny, the authors of Tangent (https://github.com/telophasehq/tangent), a Rust-based log pipeline where all normalization, enrichment, and detection logic runs as WASM plugins.

We kept seeing the same problems in the OCSF (https://ocsf.io) community: 1) Schemas change constantly. Large companies have whole teams dedicated to keeping vendor→OCSF mappings up to date. 2) There’s no shared library of mappings, so everyone recreates the same work. 3) Writing mappers is tedious, repetitive work. 4) Most pipelines use proprietary DSLs that are hard to share and hard for tools/LLMs to generate.

Tangent takes a different approach: no DSLs – mappings and enrichments are just normal code compiled to WASM, shareable plugins – we maintain a community library (https://github.com/telophasehq/tangent-plugins), interoperability – we can run other engines’ DSLs (e.g., Bloblang) inside WASM for easy migration, full flexibility – plugins can validate schemas, call external APIs (https://github.com/telophasehq/tangent/blob/main/examples/en...), or perform complex transforms (https://github.com/telophasehq/tangent-plugins/blob/main/zee...).

Here's an example Python transformation plugin to drop all fields from a log except `message`:

  import json
  
  from typing import List
  
  from wit_world.imports import log
  
  # `log.Logview` is Tangent's zero-copy JSON accessor type.
  
  def process_logs(self, logs: List[log.Logview]) -> bytes:
  
      out = bytearray()
  
      for lv in logs:
  
          msg = lv.get("msg")
  
          value = msg.value if msg is not None else ""
  
          out.extend(json.dumps({"message": value}).encode() + b"\n")
  
      return bytes(out)
We have plenty more examples in the repo.

Because plugins are just Go/Python/Rust, LLMs can create new mappers with ease. For example, I asked:

  Generate a mapper from AWS Security Hub Finding to OCSF
and only had to make a few minor tweaks. (https://github.com/telophasehq/tangent-plugins/blob/main/aws...)

Performance-wise, a 16-core Amazon Linux box processes ~480 MB/s end-to-end (TCP → Rust-WASM transform → sink) on ~100-byte JSON logs. The CLI includes tooling to scaffold, test, and benchmark plugins locally. Here's a deep dive into how we are able to get this performance: https://docs.telophasehq.com/runtime.

We’d love to get your feedback! What do you think?

github.com
9 0
Summary
Show HN: MCP Traffic Analysis Tool
o4isec 3 days ago

Show HN: MCP Traffic Analysis Tool

The article discusses the MCP-Shark project, an open-source platform that enables researchers to develop, test, and deploy machine learning models for underwater shark detection and tracking. It highlights the project's focus on leveraging computer vision and deep learning techniques to support marine conservation efforts.

github.com
19 0
Summary
pyramation about 1 hour ago

Show HN: Supabase-Test – Fast Isolated Postgres DBs for Testing Supabase RLS

Hi HN — we've built a testing framework for Supabase that spins up fast, isolated Postgres databases for each test case. It’s designed to make RLS policies easy to validate with real database state, without global test fixtures or mock auth.

Features: - Instant isolated Postgres DBs per test - Automatic rollback after each test - RLS-native testing with `.setContext()` for auth simulation - Flexible seeding (SQL, CSV, JSON, JS) - Works with Jest, Mocha, and any async test runner - CI-friendly (runs cleanly in GitHub Actions)

We also published example projects and a free set of tutorials: https://launchql.com/learn/supabase

Package: https://www.npmjs.com/package/supabase-test

Source + full test suite: https://github.com/launchql/supabase-test-suite

Happy to answer questions and get feedback, cheers :)

npmjs.com
8 1
dfworks about 2 hours ago

Show HN: Search London StreetView panoramas by text

Inspired by All Text in NYC (https://alltext.nyc) by Yufeng Zhang I thought I would replicate something similar for London.

A searchable tool that lets you explore text captured across Google Street View imagery in London; shop signs, posters, graffiti, van numbers etc

london.publicinsights.uk
2 1
Show HN: Chrome Store–featured extension that writes X replies via DOM observers
shashankshukla about 5 hours ago

Show HN: Chrome Store–featured extension that writes X replies via DOM observers

Hi HN,

A couple of months ago I posted an early version of this Chrome extension. Since then I’ve refined it, fixed a bunch of stability issues, and it was recently featured on the Chrome Web Store’s “Featured” section, which was a nice surprise.

What the extension does: – Detects the active tweet or thread directly in the browser – Collects relevant context (parent tweet, author info, thread shape) – Formats a prompt and sends it to the OpenAI API – Inserts the generated reply straight into Twitter’s native reply box

All of this happens inside the X.com DOM, without storing any user data.

Technical bits: – Uses MutationObserver to track X.com’s constantly changing DOM – Handles dynamically inserted tweet nodes, shadow DOM, and thread expansions – Debounces context extraction to avoid unnecessary re-runs – Simulates native input events to inject the reply so it feels built-in – Avoids backend state; everything is read client-side except the final API call

Challenges: – X.com changes UI structure often, so selectors break unpredictably – Preventing duplicate injections when the DOM re-renders – Keeping prompt size small enough for fast generation – Reducing overhead so the extension doesn’t slow down the page

Recent improvements: – More stable tweet/thread detection – Better context selection logic – Cleaner UI in the reply popup – Small performance fixes and race-condition fixes

Chrome Store page: https://chromewebstore.google.com/detail/xinsightai-ai-reply...

Would appreciate feedback from people who’ve built browser extensions or dealt with X.com’s DOM patterns. Happy to discuss any details.

xinsight.me
4 0
gusowen 2 days ago

Show HN: I made a down detector for down detector

After down detector went down with the rest of the internet during the Cloudflare outage today I decided to build a robust, independent tool which checks if down detector is down. Enjoy!!

downdetectorsdowndetector.com
559 161
Show HN: Awesome J2ME
catstor about 9 hours ago

Show HN: Awesome J2ME

An awesome list about Java platform Micro edition(J2ME). Documentation, academic papers, tutorials, communities, IDEs, SDKs, emulators, apps, video games. J2ME is a Java specification designed for old keypad phones and PDAs. MIDP, which is built upon CLDC, is used to create Midlets, which have `.jad` or `.jar` extension, and run on platforms like old keypad phones, Symbian and PDAs. MIDP is supported till Java ME SDK 3.4.

github.com
63 47
Summary
Show HN: RowboatX – open-source Claude Code for everyday automations
segmenta 2 days ago

Show HN: RowboatX – open-source Claude Code for everyday automations

Claude Code is great, but it’s focused on coding. The missing piece is a native way to build and run custom background agents for non-code tasks. We built RowboatX as a CLI tool modeled after Claude Code that lets you do that. It uses the file system and unix tools to create and monitor background agents for everyday tasks, connect them to any MCP server for tools, and reason over their outputs.

Because RowboatX runs locally with shell access, the agents can install tools, execute code, and automate anything you could do in a terminal with your explicit permission. It works with any compatible LLM, including open-source ones.

Our repo is https://github.com/rowboatlabs/rowboat, and there’s a demo video here: https://youtu.be/cyPBinQzicY

For example, you can connect RowboatX to the ElevenLabs MCP server and create a background workflow that produces a NotebookLM-style podcast every day from recent AI-agent papers on arXiv. Or you can connect it to Google Calendar and Exa Search to research meeting attendees and generate briefs before each event.

You can try these with: `npx @rowboatlabs/rowboatx`

We combined three simple ideas:

1. File system as state: Each agent’s instruction, memory, logs, and data are just files on disk, grepable, diffable, and local. For instance, you can just run: grep -rl '"agent":"<agent-name>"' ~/.rowboat/runs to list every run for a particular workflow.

2. The supervisor agent: A Claude Code style agent that can create and run background agents. It predominantly uses Unix commands to monitor, update, and schedule agents. LLMs handle Unix tools better than backend APIs [1][2], so we leaned into that. It can also probe any MCP server and attach the tools to the agents.

3. Human-in-the-loop: Each background agent can emit a human_request message when needed (e.g. drafting a tricky email or installing a tool) that pauses execution and waits for input before continuing. The supervisor coordinates this.

I started my career over a decade ago building spam detection models at Twitter, spending a lot of my time in the terminal with Unix commands for data analysis [0] and Vowpal Wabbit for modeling. When Claude Code came along, it felt familiar and amazing to work with. But trying to use it beyond code always felt a bit forced. We built RowboatX to bring that same workflow to everyday tasks. It is Apache-2.0 licensed and easily extendable.

While there are many agent builders, running on the user's terminal enables unique use cases like computer and browser automation that cloud-based tools can't match. This power requires careful safety design. We implemented command-level allow/deny lists, with containerization coming next. We’ve tried to design for safety from day one, but we’d love to hear the community’s perspective on what additional safeguards or approaches you’d consider important here.

We’re excited to share RowboatX with everyone here. We’d love to hear your thoughts and welcome contributions!

[0] https://web.stanford.edu/class/cs124/kwc-unix-for-poets.pdf [1] https://arxiv.org/pdf/2405.06807 [2] https://arxiv.org/pdf/2501.10132

github.com
123 40
Summary
gardnr about 23 hours ago

Show HN: OctoDNS, Tools for managing DNS across multiple providers

After the major outages from AWS and Cloudflare, I began wondering how to make my own services more resilient.

Using nameservers from different providers is doable but a bit tricky to manage. OctoDNS helps automate keeping the zones synced so AWS, Cloudflare, etc. are all serving the same information.

In an age of centralized infrastructure, we can exploit the capabilities from the origins of the decentralized internet.

octodns.readthedocs.io
24 2
Summary
random_moonwalk 8 days ago

Show HN: I built a synth for my daughter

The article discusses the author's decision to build a custom synthesizer for their young daughter, focusing on the educational and bonding benefits of introducing her to music and electronics at an early age.

bitsnpieces.dev
1,267 209
Summary
Show HN: DNS Benchmark Tool – Compare and monitor resolvers
ovo101 1 day ago

Show HN: DNS Benchmark Tool – Compare and monitor resolvers

I built a CLI to benchmark DNS resolvers after discovering DNS was adding 300ms to my API requests.

v0.3.0 just released with new features: compare: Test single domain across all resolvers top: Rank resolvers by latency/reliability/balanced monitor: Continuous tracking with threshold alerts

1,400+ downloads in first week.

Quick start: pip install dns-benchmark-tool dns-benchmark compare --domain google.com

CLI stays free forever. Hosted version (multi-region, historical tracking, alerts) coming Q1 2026.

GitHub: https://github.com/frankovo/dns-benchmark-tool Feedback: https://forms.gle/BJBiyBFvRJHskyR57

Built with Python + dnspython. Open to questions and feedback!

github.com
50 27
Summary
Show HN: CTON: JSON-compatible, token-efficient text format for LLM prompts
daviducolo about 12 hours ago

Show HN: CTON: JSON-compatible, token-efficient text format for LLM prompts

CTON is an open-source, command-line tool that converts various data formats, including JSON, YAML, XML, and CSV, into each other. It provides a simple and efficient way to transform data between different structures, making it useful for data processing and integration tasks.

github.com
8 1
Summary
Show HN: Browser-based interactive 3D Three-Body problem simulator
jgchaos 2 days ago

Show HN: Browser-based interactive 3D Three-Body problem simulator

Features include:

  - Several preset periodic orbits: the classic Figure-8, plus newly discovered 3D solutions from Li and Liao's recent database of 10,000+ orbits (https://arxiv.org/html/2508.08568v1)
  - Full 3D camera controls (rotate/pan/zoom) with body-following mode
  - Force and velocity vector visualization
  - Timeline scrubbing to explore the full orbital period
The 3D presets are particularly interesting. Try "O₂(1.2)" or "Piano O₆(0.6)" from the Load Presets menu to see configurations where bodies weave in and out of the orbital plane. Most browser simulators I've seen have been 2D.

Built with Three.js. Open to suggestions for additional presets or features!

trisolarchaos.com
239 111
Show HN: Guts – convert Golang types to TypeScript
emyrk 2 days ago

Show HN: Guts – convert Golang types to TypeScript

github.com
101 30
Show HN: Wasda – Experience transformer attention as music
kinders about 9 hours ago

Show HN: Wasda – Experience transformer attention as music

I built Wasda, a tiny experiment to turn transformer attention into a playable musical instrument. Each token in the sequence becomes a piano note, and you can see the attention arcs between tokens while you listen. Temperature controls the “improvisation” of the model, and you can solo individual attention heads — for example, I’ve found temp ~1.7 with one head selected gives surprisingly relaxing patterns.

github.com
3 0
Summary
Show HN: Lamina – A compiler backend that is not LLVM or Cranelift
skuldnorniern about 10 hours ago

Show HN: Lamina – A compiler backend that is not LLVM or Cranelift

Recently, I've been working on Lamina, a compiler infrastructure that generates native assembly for multiple architectures without relying on LLVM or Cranelift. It's designed for building compilers for new languages, educational projects, and any projects that can utilize a custom syntax of code generation.

Instead of depending on external backends, Lamina provides a complete pipeline from a single SSA based IR directly to the supported target's assembly generation. The IR is readable, also provides a IRBuilder API that is easy to use via programmatic construction.

For better management of the code generation process, in the future, it will use a new pipeline IR -> MIR -> native assembly with the optimization passes.

Key features: - Direct code generation: IR -> assembly/machine code without LLVM/Cranelift - SSA based IR: single assignment form optimized for analysis and optimization passes - MIR based codegen(experimental): new intermediate representation with register allocation and advanced optimizations - IRBuilder API: fluent interface for building modules, functions, blocks, and control flow - Readable IR: easy to debug and lower than high level languages - Zero external backend dependencies: simplified builds and transparent pipeline while being faster to build

Optimization passes (experimental MIR flow only): - Control flow: CFG simplification, jump threading, branch optimization - Loop optimizations: loop fusion, loop invariant code motion, loop unrolling - Code motion: copy propagation, common subexpression elimination, constant folding - Function optimizations: inlining, tail call optimization - Arithmetic: strength reduction, peephole optimizations

Performance: On a 256×256 matrix multiplication benchmark (300 runs), Lamina's experimental MIR-based codegen (which includes all optimization passes) generates code comparable to C/C++/Rust (within 1.8x) and faster than Java, Go, JavaScript, and Python. The experimental MIR based flow's result is much faster than the IR-> Assembly based codegen.

Written in Rust (2024 edition), Current Version 0.0.7. Optional nightly features available for SIMD, atomic placeholders, and experimental targets.

github.com
3 0
cjlooi about 10 hours ago

Show HN: Interactive research papers (a big step up from ArXiv HTML)

I’ve been frustrated with PDFs and found arXiv HTML lacking, so I built a fully interactive paper reader.

Features: • Hover references, citations, equations • Light/dark mode • Auto-generated dependency graphs for definitions/lemmas/theorems • Table of contents that syncs with scroll • Highlighting + annotations • “Copy raw LaTeX” anywhere

Featured paper: Video models are zero-shot learners and reasoners (Veo 3) https://www.sciencestack.ai/arxiv/2509.20328v2

sciencestack.ai
7 5
Show HN: Parqeye – A CLI tool to visualize and inspect Parquet files
kaushiksrini 3 days ago

Show HN: Parqeye – A CLI tool to visualize and inspect Parquet files

I built a Rust-based CLI/terminal UI for inspecting Parquet files—data, metadata, and row-group-level structure—right from the terminal. If someone sent me a Parquet file, I used to open DuckDB or Polars just to see what was inside. Now I can do it with one command.

Repo: https://github.com/kaushiksrini/parqeye

github.com
161 35
Summary
Show HN: ESPectre – Motion detection based on Wi-Fi spectre analysis
francescopace 3 days ago

Show HN: ESPectre – Motion detection based on Wi-Fi spectre analysis

Hi everyone, I'm the author of ESPectre.

This is an open-source (GPLv3) project that uses Wi-Fi signal analysis to detect motion using CSI data, and it has already garnered almost 2,000 stars in two weeks.

Key technical details:

- The system does NOT use Machine Learning, it relies purely on Math. — Runs in real-time on a super affordable chip like the ESP32. - It integrates seamlessly with Home Assistant via MQTT.

github.com
208 50
Summary
nomarv 3 days ago

Show HN: A subtly obvious e-paper room air monitor

In the cold season we tend to keep the windows closed. The air gets "stale": humidity often rises above 60 %, which can harm our wellbeing and promote mould. At the same time the CO₂ level in the air increases, which impacts our ability to concentrate.

So I built a room air monitor that stays unobtrusive as long as everything is in the green zone, but becomes deliberately noticeable once thresholds are exceeded. For my personal love of statistics I also visualise the measurements in a clear dashboard.

nicolin-dora.ch
64 28
Summary
Show HN: Long Courrier – A custom web player for a 1h Barber Beats mix
Mateleo about 11 hours ago

Show HN: Long Courrier – A custom web player for a 1h Barber Beats mix

The article discusses the Monosky, a unique single-person electric vehicle designed for urban mobility. It highlights the Monosky's compact size, maneuverability, and environmental-friendly electric powertrain, making it a potential solution for congested city transportation.

monosky.mateo-siam.com
2 0
Summary
nl 1 day ago

Show HN: Vibe Prolog

Like a lot of people I got the $250 Claude Code credit and didn't use it up.

I decided to try to use it up over the weekend using (mostly) my phone and vibe coded a Prolog interpreter.

Now I'm seeing how far I can push it.

github.com
27 4
Summary
Show HN: Marimo VS Code extension – Python notebooks built on LSP and uv
manzt 1 day ago

Show HN: Marimo VS Code extension – Python notebooks built on LSP and uv

Hi HN! We're excited to release our VS Code/Cursor extension for marimo [1], an open-source, reactive Python notebook.

This extension provides a native experience for working with marimo notebooks, a long-requested feature that we’ve worked hard to get right.

An LSP-first architecture

The core of our extension is a marimo notebook language server (marimo-lsp [2]). As far as we know, it’s the first notebook runtime to take this approach. The Language Server Protocol (LSP) [3] offers a small but important set of notebook-related capabilities that we use for document and kernel syncing; everything else is handled through custom actions and messages.

By building on LSP, we aim to create a path to expose marimo capabilities in additional environments (beyond VS Code/Cursor). The notebook features in LSP are still limited, but as the protocol evolves, we’ll be able to shift more functionality out of the extension and into the language server, making it available to a wider range of editors and tools. For example, this could enable:

- structural edits to notebook documents (e.g., adding or removing cells) [4]

- editor hover information that reflects the live runtime values of variables

Deep uv integration with PEP 723

Because marimo notebooks are plain Python files, we adopt PEP 723-style inline metadata [5] to describe a notebook’s environment. Tools such as uv already support this format: they read the metadata block, build or update the corresponding environment, and run the script inside it.

The marimo CLI already integrates with uv in "sandbox" mode [6] to manage an isolated environment defined by PEP 723 metadata for a single notebook. In the extension, our uv-based “sandbox controller” manages multiple notebooks: each notebook gets its own isolated, cached environment. The controller keeps the environment aligned with the dependencies declared in the file and can update that metadata automatically when imports are missing.

uv normally syncs such environments whenever you run a script, ensuring it matches the dependencies declared in its metadata; we apply this concept at the cell level so the environment stays in sync whenever cells run. The same cached uv environment is reused if you run the notebook as a script via uv (e.g., uv run notebook.py).

—-------

This work has been a complete rewrite, and we're grateful to the community for early feedback. While VS Code and the LSP support a subset of notebook features, the ecosystem has been shaped heavily by Jupyter, and we’ve had to work around some assumptions baked into existing APIs. We’ve been coordinating with the VS Code team and hope our work can help broaden the conversation—pushing the LSP notebook model forward and making room for runtimes that aren’t Jupyter-based.

We'd love to hear your thoughts!

[1] https://marimo.io

[2] https://github.com/marimo-team/marimo-lsp

[3] https://microsoft.github.io/language-server-protocol/

[4] https://github.com/microsoft/vscode-languageserver-node/issu...

[5] https://peps.python.org/pep-0723/

[6] https://docs.marimo.io/guides/package_reproducibility/

github.com
58 5
Summary
Show HN: Continuous Claude – run Claude Code in a loop
anandchowdhary 5 days ago

Show HN: Continuous Claude – run Claude Code in a loop

Continuous Claude is a CLI wrapper I made that runs Claude Code in an iterative loop with persistent context, automatically driving a PR-based workflow. Each iteration creates a branch, applies a focused code change, generates a commit, opens a PR via GitHub's CLI, waits for required checks and reviews, merges if green, and records state into a shared notes file.

This avoids the typical stateless one-shot pattern of current coding agents and enables multi-step changes without losing intermediate reasoning, test failures, or partial progress.

The tool is useful for tasks that require many small, serial modifications: increasing test coverage, large refactors, dependency upgrades guided by release notes, or framework migrations.

Blog post about this: https://anandchowdhary.com/blog/2025/running-claude-code-in-...

github.com
163 60
Summary
Show HN: Reproducible Dotfiles with Nix Flakes
momeemt about 14 hours ago

Show HN: Reproducible Dotfiles with Nix Flakes

This is my reproducible dotfiles setup built with Nix flakes. I'm currently working on integrating Terraform and Kubernetes to manage services and clusters as IaC. Feedback or suggestions are welcome.

github.com
2 0
Summary
3nt3 9 days ago

Show HN: Reversing a Cinema Camera's Peripherals Port

The article explores the process of reversing the communication protocol used by the FS7 camera system, providing insights into the technical implementation and potential applications for developers and enthusiasts in the field of camera control and automation.

3nt3.de
47 2
Summary
Show HN: PrinceJS – 19,200 req/s Bun framework in 2.8 kB (built by a 13yo)
lilprince1218 3 days ago

Show HN: PrinceJS – 19,200 req/s Bun framework in 2.8 kB (built by a 13yo)

Hey HN,

I'm 13, from Nigeria, and I just released PrinceJS — the fastest web framework for Bun right now.

• 19,200 req/s (beats Hono/Elysia/Express) • 2.8 kB gzipped • Tree-shakable (cache, AI, email, cron, SSE, queue, test, static...) • Zero deps. Zero config.

Built in < 1 week. No team. Just me and Bun.

Try it: `bun add princejs` GitHub: https://github.com/MatthewTheCoder1218/princejs Docs: https://princejs.vercel.app

Brutal feedback welcome. What's missing?

– @Lil_Prince_1218

princejs.vercel.app
150 69
Summary