🛠️ Hacker News Tools

Showing 2941–2960 of 4495 tools from Hacker News

Last Updated
July 30, 2026 at 12:34 AM

[CLI Tool] Show HN: PNANA - A TUI Text Editor I’d like to share PNANA , a lightweight TUI editor built with C++ and FTXUI that I’ve been building for personal use and now open-sourced. It’s a minimal, fast terminal-based editor focused on simple coding and editing workflows—no bloated features, just the core functionality for terminal-centric use cases.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;Cyxuan0311&#x2F;PNANA" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Cyxuan0311&#x2F;PNANA</a><p>Key pragmatic features<p>Lightweight C++ core with FTXUI for smooth TUI rendering, fast startup and low resource usage<p>Basic but solid editing capabilities (syntax highlighting, line numbering, basic navigation)<p>Simple build process with minimal dependencies, easy to compile and run on Linux&#x2F;macOS terminals<p>Early LSP integration support for basic code completion (still polishing, but functional for common languages)<p>It’s very much an early-stage project—I built it to scratch my own itch for a minimal, self-built TUI editor and learn C++&#x2F;FTXUI along the way. There are definitely rough edges (e.g., some LSP kinks, limited customization), and it’s not meant to replace mature editors like Vim&#x2F;Nano—just a small open-source project for folks who like minimal terminal tools or want to learn TUI development with C++.<p>Any feedback, bug reports, or tiny suggestions are super welcome. I’m slowly iterating on it and would love to learn from the HN community’s insights. Thanks for taking a look!

Found: January 28, 2026 ID: 3146

[Other] Show HN: SHDL – A minimal hardware description language built from logic gates Hi, everyone!<p>I built SHDL (Simple Hardware Description Language) as an experiment in stripping hardware description down to its absolute fundamentals.<p>In SHDL, there are no arithmetic operators, no implicit bit widths, and no high-level constructs. You build everything explicitly from logic gates and wires, and then compose larger components hierarchically. The goal is not synthesis or performance, but understanding: what digital systems actually look like when abstractions are removed.<p>SHDL is accompanied by PySHDL, a Python interface that lets you load circuits, poke inputs, step the simulation, and observe outputs. Under the hood, SHDL compiles circuits to C for fast execution, but the language itself remains intentionally small and transparent.<p>This is not meant to replace Verilog or VHDL. It’s aimed at: - learning digital logic from first principles - experimenting with HDL and language design - teaching or visualizing how complex hardware emerges from simple gates.<p>I would especially appreciate feedback on: - the language design choices - what feels unnecessarily restrictive vs. educationally valuable - whether this kind of “anti-abstraction” HDL is useful to you.<p>Repo: <a href="https:&#x2F;&#x2F;github.com&#x2F;rafa-rrayes&#x2F;SHDL" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rafa-rrayes&#x2F;SHDL</a><p>Python package: PySHDL on PyPI<p>To make this concrete, here are a few small working examples written in SHDL:<p>1. Full Adder<p>component FullAdder(A, B, Cin) -&gt; (Sum, Cout) {<p><pre><code> x1: XOR; a1: AND; x2: XOR; a2: AND; o1: OR; connect { A -&gt; x1.A; B -&gt; x1.B; A -&gt; a1.A; B -&gt; a1.B; x1.O -&gt; x2.A; Cin -&gt; x2.B; x1.O -&gt; a2.A; Cin -&gt; a2.B; a1.O -&gt; o1.A; a2.O -&gt; o1.B; x2.O -&gt; Sum; o1.O -&gt; Cout; }</code></pre> }<p>2. 16 bit register<p># clk must be high for two cycles to store a value<p>component Register16(In[16], clk) -&gt; (Out[16]) {<p><pre><code> &gt;i[16]{ a1{i}: AND; a2{i}: AND; not1{i}: NOT; nor1{i}: NOR; nor2{i}: NOR; } connect { &gt;i[16]{ # Capture on clk In[{i}] -&gt; a1{i}.A; In[{i}] -&gt; not1{i}.A; not1{i}.O -&gt; a2{i}.A; clk -&gt; a1{i}.B; clk -&gt; a2{i}.B; a1{i}.O -&gt; nor1{i}.A; a2{i}.O -&gt; nor2{i}.A; nor1{i}.O -&gt; nor2{i}.B; nor2{i}.O -&gt; nor1{i}.B; nor2{i}.O -&gt; Out[{i}]; } }</code></pre> }<p>3. 16-bit Ripple-Carry Adder<p>use fullAdder::{FullAdder};<p>component Adder16(A[16], B[16], Cin) -&gt; (Sum[16], Cout) {<p><pre><code> &gt;i[16]{ fa{i}: FullAdder; } connect { A[1] -&gt; fa1.A; B[1] -&gt; fa1.B; Cin -&gt; fa1.Cin; fa1.Sum -&gt; Sum[1]; &gt;i[2,16]{ A[{i}] -&gt; fa{i}.A; B[{i}] -&gt; fa{i}.B; fa{i-1}.Cout -&gt; fa{i}.Cin; fa{i}.Sum -&gt; Sum[{i}]; } fa16.Cout -&gt; Cout; } }</code></pre>

Found: January 28, 2026 ID: 3145

[Other] Serverless backend hosting without idle costs – open-source

Found: January 28, 2026 ID: 3206

[Database] Show HN: Pinecone Explorer – Desktop GUI for the Pinecone vector database <a href="https:&#x2F;&#x2F;github.com&#x2F;stepandel&#x2F;pinecone-explorer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;stepandel&#x2F;pinecone-explorer</a>

Found: January 28, 2026 ID: 3147

[Other] Show HN: Mystral Native – Run JavaScript games natively with WebGPU (no browser) Hi HN, I&#x27;ve been building Mystral Native — a lightweight native runtime that lets you write games in JavaScript&#x2F;TypeScript using standard Web APIs (WebGPU, Canvas 2D, Web Audio, fetch) and run them as standalone desktop apps. Think &quot;Electron for games&quot; but without Chromium. Or a JS runtime like Node, Deno, or Bun but optimized for WebGPU (and bundling a window &#x2F; event system using SDL3).<p>Why: I originally started by starting a new game engine in WebGPU, and I loved the iteration loop of writing Typescript &amp; instantly seeing the changes in the browser with hot reloading. After getting something working and shipping a demo, I realized that shipping a whole browser doesn&#x27;t really work if I also want the same codebase to work on mobile. Sure, I could use a webview, but that&#x27;s not always a good or consistent experience for users - there are nuances with Safari on iOS supporting WebGPU, but not the same features that Chrome does on desktop. What I really wanted was a WebGPU runtime that is consistent &amp; works on any platform. I was inspired by deno&#x27;s --unsafe-webgpu flag, but I realized that deno probably wouldn&#x27;t be a good fit long term because it doesn&#x27;t support iOS or Android &amp; doesn&#x27;t bundle a window &#x2F; event system (they have &quot;bring your own window&quot;, but that means writing a lot of custom code for events, dealing with windowing, not to mention more specific things like implementing a WebAudio shim, etc.). So that got me down the path of building a native runtime specifically for games &amp; that&#x27;s Mystral Native.<p>So now with Mystral Native, I can have the same developer experience (write JS, use shaders in WGSL, call requestAnimationFrame) but get a real native binary I can ship to players on any platform without requiring a webview or a browser. No 200MB Chromium runtime, no CEF overhead, just the game code and a ~25MB runtime.<p>What it does: - Full WebGPU via Dawn (Chrome&#x27;s implementation) or wgpu-native (Rust) - Native window &amp; events via SDL3 - Canvas 2D support (Skia), Web Audio (SDL3), fetch (file&#x2F;http&#x2F;https) - V8 for JS (same engine as Chrome&#x2F;Node), also supports QuickJS and JSC - ES modules, TypeScript via SWC - Compile to single binary (think &quot;pkg&quot;): `mystral compile game.js --include assets -o my-game` - macOS .app bundles with code signing, Linux&#x2F;Windows standalone executables - Embedding API for iOS and Android (JSC&#x2F;QuickJS + wgpu-native)<p>It&#x27;s early alpha — the core rendering path works well &amp; I&#x27;ve tested on Mac, Linux (Ubuntu 24.04), and Windows 11, and some custom builds for iOS &amp; Android to validate that they can work, but there&#x27;s plenty to improve. Would love to get some feedback and see where it can go!<p>MIT licensed.<p>Repo: <a href="https:&#x2F;&#x2F;github.com&#x2F;mystralengine&#x2F;mystralnative" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mystralengine&#x2F;mystralnative</a><p>Docs: <a href="https:&#x2F;&#x2F;mystralengine.github.io&#x2F;mystralnative&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mystralengine.github.io&#x2F;mystralnative&#x2F;</a>

Found: January 27, 2026 ID: 3170

[Other] Nannou – A creative coding framework for Rust

Found: January 27, 2026 ID: 3167

[Other] Show HN: I built a CSV parser to try Go 1.26's new SIMD package Hey HN,<p>A CSV parser using Go 1.26&#x27;s experimental simd&#x2F;archsimd package.<p>I wanted to see what the new SIMD API looks like in practice. CSV parsing is mostly &quot;find these bytes in a buffer&quot;—load 64 bytes, compare, get a bitmask of positions. The interesting part was handling chunk boundaries correctly (quotes and line endings can split across chunks).<p>- Drop-in replacement for encoding&#x2F;csv - ~20% faster for unquoted data on AVX-512 - Quoted data is slower (still optimizing) - Scalar fallback for non-AVX-512<p>Requires GOEXPERIMENT=simd.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;nnnkkk7&#x2F;go-simdcsv" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nnnkkk7&#x2F;go-simdcsv</a><p>Feedback on edge cases or the SIMD implementation welcome.

Found: January 27, 2026 ID: 3140

[Database] Show HN: ShapedQL – A SQL engine for multi-stage ranking and RAG Hi HN,<p>I’m Tullie, founder of Shaped. Previously, I was a researcher at Meta AI, worked on ranking for Instagram Reels, and was a contributor to PyTorch Lightning.<p>We built ShapedQL because we noticed that while retrieval (finding 1,000 items) has been commoditized by vector DBs, ranking (finding the best 10 items) is still an infrastructure problem.<p>To build a decent for you feed or a RAG system with long-term memory, you usually have to put together a vector DB (Pinecone&#x2F;Milvus), a feature store (Redis), an inference service, and thousands of lines of Python to handle business logic and reranking.<p>We built an engine that consolidates this into a single SQL dialect. It compiles declarative queries into high-performance, multi-stage ranking pipelines.<p>HOW IT WORKS:<p>Instead of just SELECT <i>, ShapedQL operates in four stages native to recommendation systems:<p>RETRIEVE: Fetch candidates via Hybrid Search (Keywords + Vectors) or Collaborative Filtering. FILTER: Apply hard constraints (e.g., &quot;inventory &gt; 0&quot;). SCORE: Rank results using real-time models (e.g., p(click) or p(relevance)). REORDER: Apply diversity logic so your Agent&#x2F;User doesn’t see 10 nearly identical results.<p>THE SYNTAX: Here is what a RAG query looks like. This replaces about 500 lines of standard Python&#x2F;LangChain code:<p>SELECT item_id, description, price<p>FROM<p><pre><code> -- Retrieval: Hybrid search across multiple indexes search_flights(&quot;$param.user_prompt&quot;, &quot;$param.context&quot;), search_hotels(&quot;$param.user_prompt&quot;, &quot;$param.context&quot;) </code></pre> WHERE<p><pre><code> -- Filtering: Hard business constraints price &lt;= &quot;$param.budget&quot; AND is_available(&quot;$param.dates&quot;) </code></pre> ORDER BY<p><pre><code> -- Scoring: Real-time reranking (Personalization + Relevance) 0.5 * preference_score(user, item) + 0.3 * relevance_score(item, &quot;$param.user_prompt&quot;) </code></pre> LIMIT 20<p>If you don’t like SQL, you can also use our Python and Typescript SDKs. I’d love to know what you think of the syntax and the abstraction layer!</i>

Found: January 27, 2026 ID: 3157

[Other] Show HN: Build Web Automations via Demonstration Hey HN,<p>We’ve been building browser agents for a while. In production, we kept converging on the same pattern: deterministic scripts for the happy path, agents only for edge cases. So we built Demonstrate Mode.<p>The idea is simple: You perform your workflow once in a remote browser. Notte records the interactions and generates deterministic automation code.<p>How it works: - Record clicks, inputs, navigations in a cloud browser - Compile them into deterministic code (no LLM at runtime) - Run and deploy on managed browser infrastructure<p>Closest analog is Playwright codegen but: - Infrastructure is handled (remote browsers, proxies, auth state) - Code runs in a deployable runtime with logs, retries, and optional agent fallback<p>Agents are great for prototyping and dynamic steps, but for production we usually want versioned code and predictable cost&#x2F;behavior. Happy to dive into implementation details in the comments.<p>Demo: <a href="https:&#x2F;&#x2F;www.loom.com&#x2F;share&#x2F;f83cb83ecd5e48188dd9741724cde49a" rel="nofollow">https:&#x2F;&#x2F;www.loom.com&#x2F;share&#x2F;f83cb83ecd5e48188dd9741724cde49a</a><p>-- Andrea &amp; Lucas, Notte Founders

Found: January 27, 2026 ID: 3139

I made my own Git

Hacker News (score: 14)

[Other] I made my own Git

Found: January 27, 2026 ID: 3130

[Other] Show HN: Externalized Properties, a modern Java configuration library Externalized Properties is powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources

Found: January 27, 2026 ID: 3156

[Database] Quack-Cluster: A Serverless Distributed SQL Query Engine with DuckDB and Ray

Found: January 27, 2026 ID: 3176

[Other] ChatGPT Containers can now run bash, pip/npm install packages and download files

Found: January 26, 2026 ID: 3125

[Other] Porting 100k lines from TypeScript to Rust using Claude Code in a month

Found: January 26, 2026 ID: 3123

[Other] Show HN: Deploy backends without the hassle. An Open source alternative

Found: January 26, 2026 ID: 3124

[Other] Show HN: A small programming language where everything is a value This is a hobby project of mine that I started a few years ago to learn about programming language implementation. It was created 95% without AI, although a few recent commits include code from Gemini CLI.<p>I started out following Crafting Interpreters, but gradually branched off that until I had almost nothing left in common.<p>Tech stack: Rust, Cranelift (JIT compilation), LALRPOP (parser).

Found: January 25, 2026 ID: 3117

[CLI Tool] Show HN: Bucket – Encrypted file sharing for people who live in the terminal I built this because I am perpetually drowning in file transfer hell.<p>As a systems engineer, I am constantly moving massive files. Whether it&#x27;s getting new releases of custom ISOs to clients, downloading entire filesystems to spin up clones, or uploading massive support packages to L3.<p>I always have to get something to somebody. Usually, it&#x27;s something large that lives on a headless server. I can&#x27;t tell you how many times I&#x27;ve modified my &#x27;clone&#x27; script to tar most of a filesystem over ssh (&quot;hello --exclude, my old friend...&quot;) just to get 10GB that someone will need for two days.<p>Tedious is an understatement.<p>And the truth is, whatever I am sending, it is ephemeral. I download it, I upload it, I delete it. They download it only to delete soon after.<p>I kept wondering - why isn&#x27;t there a simpler tool that works where I spend 90% of my time -- the terminal? I wanted something that I could install quickly on whatever server I was currently connected to, and run a simple command to push to the cloud.<p>Enter Bucket – a secure, encrypted file sharing platform that works the way I do. I upload from the CLI, share with a link and unique secret, done. No browser required (unless you want it). The people you&#x27;re sharing with can simply click the link you share to download, no need for them to make an account (unless they want it).<p>What makes it different:<p>- CLI-first: Built for terminal workflows first, web UI second<p>- Encryption: End-to-end AES-256 encryption. We never see your files or your secrets. The secret generated during a push is required for the pull, keeping your data private even from us. If you lose the secret, you can&#x27;t access the file.<p>- Simple scalability: Free tier for trying it out, plans up to 250GB for serious use, enterprise coming soon.<p>- File retention: Bucket is designed for ephemeral storage. Upload things that people need <i>now</i>. Free tier keeps files for 3 days (email notifications are sent to you before they are deleted, in case you need to upload again)<p>Colleagues I have introduced this to tell me they use it every day. I know that I do.<p>Free tier gives you 3 GB to try it out - enough for most one-off transfers.<p>Here&#x27;s the workflow:<p><pre><code> $ bucket push api.bin Verifying upload... Upload complete! bID: bkdf1e848ea23e bURL: api.bucketlabs.org&#x2F;d&#x2F;bkdf1e848ea23e Secret: 9b1e15167403a88cadb7d0f4d2890856 Expires: 2026-01-28T03:15:18.277988Z </code></pre> Now you have a link for your browser-dwellers to simply click, paste the Secret and download. (go ahead, try on the link above to download the readme.md)<p>... but if the person you&#x27;re sharing with has bucket installed they simply run:<p><pre><code> $ bucket pull bkdf1e848ea23e Enter secret: ⠇ Downloading... Downloaded: api.bin </code></pre> Check your file:<p><pre><code> $ bucket list ID Filename Size Expires ---------------------------------------------------------------------- bkdf1e848ea23e api.bin 204.2 MB 2026-01-28T03:15:18.277988Z $ bucket account Account Info ------------ Subscription: free Used: 204.2 MB Quota: 3.00 GB To increase storage limits, visit: https:&#x2F;&#x2F;bucketlabs.org&#x2F;auth </code></pre> Everyone you needed to pull have the file? Go ahead and delete:<p><pre><code> $ bucket del bkdf1e848ea23e Deleted: bkdf1e848ea23e </code></pre> Built in Go. Single static binary, works anywhere. Download at bucketlabs.org

Found: January 25, 2026 ID: 3118

[DevOps] Show HN: Netfence – Like Envoy for eBPF Filters To power the firewalling for our agents so that they couldn&#x27;t contact arbitrary services, I build netfence. It&#x27;s like Envoy but for eBPF filters.<p>It allows you to define different DNS-based rules that are resolved in a local daemon to IPs, then pushed to the eBPF filter to allow traffic. By doing it this way, we can still allow DNS-defined rules, but prevent contacting random IPs.<p>There&#x27;s also no network performance penalty, since it&#x27;s just DNS lookups and eBPF filters referencing memory.<p>It also means you don&#x27;t have to tamper with the base image, which the agent could potentially manipulate to remove rules (unless you prevent root maybe).<p>It automatically manages the lifecycle of eBPF filters on cgroups and interfaces, so it works well for both containers and micro VMs (like Firecracker).<p>You implement a control plane, just like Envoy xDS, which you can manage the rules of each cgroup&#x2F;interface. You can even manage DNS through the control plane to dynamically resolve records (which is helpful as a normal DNS server doesn&#x27;t know which interface&#x2F;cgroup a request might be coming from).<p>We specifically use this to allow our agents to only contact S3, pip, apt, and npm.

Found: January 25, 2026 ID: 3113

[Other] Xmake: A cross-platform build utility based on Lua

Found: January 25, 2026 ID: 3153

[Other] Show HN: Sightline – Shodan-style search for real-world infra using OSM Data Hi HN,<p>I built *Sightline*, a Shodan-style search engine for *physical-world infrastructure*.<p>Shodan makes it easy to explore exposed internet services. Sightline applies the same idea to the real world, using OpenStreetMap as the data source.<p>You can search things like:<p>* “telecom towers in karnataka” * “power plants near mumbai” * “data centers in paris france”<p>or use structured queries:<p>* `type:telecom operator:airtel region:karnataka` * `type:data_center operator:google`<p>Sightline:<p>* uses Overpass API for querying OSM features * uses Nominatim for resolving countries, regions, and cities * avoids hardcoded geography * uses deterministic, rule-based parsing (no AI inference)<p>Repo: <a href="https:&#x2F;&#x2F;github.com&#x2F;ni5arga&#x2F;sightline" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ni5arga&#x2F;sightline</a> Try it out: <a href="https:&#x2F;&#x2F;sightline-maps.vercel.app" rel="nofollow">https:&#x2F;&#x2F;sightline-maps.vercel.app</a>

Found: January 25, 2026 ID: 3111
Previous Page 148 of 225 Next