🛠️ All DevTools
Showing 1621–1640 of 4338 tools
Last Updated
April 26, 2026 at 04:00 AM
[CLI Tool] Show HN: Skouriasmeno Papaki – S3 transfer tool, up to 12x faster than AWS-CLI
I ported JustHTML from Python to JavaScript with Codex CLI and GPT-5.2 in hours
Hacker News (score: 91)[Other] I ported JustHTML from Python to JavaScript with Codex CLI and GPT-5.2 in hours
Show HN: A community-curated list of BYOC (Bring Your Own Cloud) vendors
Show HN (score: 9)[Other] Show HN: A community-curated list of BYOC (Bring Your Own Cloud) vendors Hi HN,<p>I’m from the team at Nuon. While building in the Bring Your Own Cloud (BYOC) space, we realized there wasn't a centralized, community-driven resource like awesome-selfhosted.net for managed software that lives in the customer's VPC.<p>We hope software vendors will open a PR and add their BYOC offerings.
Chat-tails: Throwback terminal chat, built on Tailscale
Hacker News (score: 37)[Other] Chat-tails: Throwback terminal chat, built on Tailscale
Show HN: Deterministic PCIe Diagnostics for GPUs on Linux
Hacker News (score: 10)[Other] Show HN: Deterministic PCIe Diagnostics for GPUs on Linux I built a small Linux tool to deterministically verify GPU PCIe link health and bandwidth.<p>It reports: - Negotiated PCIe generation and width - Peak Host→Device and Device→Host memcpy bandwidth - Sustained PCIe TX/RX utilization via NVML - A rule-based verdict derived from observable hardware data only<p>This exists because PCIe issues (Gen downgrades, reduced lane width, risers, bifurcation) are often invisible at the application layer and can’t be fixed by kernel tuning or async overlap.<p>Linux-only: it relies on sysfs and PCIe AER exposure that Windows does not provide.
Show HN: I built the fastest RSS reader in Zig
Show HN (score: 25)[Other] Show HN: I built the fastest RSS reader in Zig Well, I certainly tried. I had to, because it has a certain quirk inspired by "digital minimalism."<p>The quirk is that it only allows you to fetch new articles once per day (or X days).<p>Why? Let me explain...<p>I want my internet content to be like a boring newspaper. You get it in the morning, and you read the whole thing while sipping your morning coffee, and then you're done! No more new information for today. No pings, no alerts, peace, quiet, zen, etc.<p>But with that, I needed it to be able to fetch all articles from my hundreds of feeds in one sitting. This is where Zig and curl optimisations come in. I tried to do all the tricks in the book. If I missed something, let me know!<p>First off, I'm using curl multi for the network layer. The cool thing is it automatically does HTTP/2 multiplexing, which means if your feeds are hosted on the same CDN it reuses the same connection. I've got it configured to handle 50 connections total with up to 6 per host, which seems to be the sweet spot before servers start getting suspicious. Also, conditional GETs. If a feed hasn't changed since last time, the server just says "Not Modified" and we bail immediately.<p>While curl is downloading feeds, I wouldn't want CPU just being idle so the moment curl finishes downloading a single feed, it fires a callback that immediately throws the XML into a worker thread pool for parsing. The main thread keeps managing all the network stuff while worker threads are chewing through XML in parallel. Zig's memory model is perfect for this. Each feed gets its own ArenaAllocator, which is basically a playground where you can allocate strings during parsing, then when we're done, we just nuke the entire arena in one go.<p>For parsing itself, I'm using libexpat because it doesn't load the entire XML into memory like a DOM parser would. This matters because some podcast feeds especially are like 10MB+ of XML. So with smart truncation we download the first few X mb's (configurable), scan backwards to find the last complete item tag, cut it there, and parse just that. Keeps memory usage sane even when feed sizes get massive.<p>And for the UI I just pipe everything to the system's "less" command. You get vim navigation, searching, and paging for free. Plus I'm using OSC 8 hyperlinks, so you can actually click links to open them on your browser. Zero TUI framework needed. I've also included OPML import/export and feed groups as additional features.<p>The result: content from hundreds of RSS feeds retrieved in matter of seconds, and peace of mind for the rest of the day.<p>The code is open source and MIT licensed. If you have ideas on how to make it even faster or better, comment below. Feature requests and other suggestions are also welcome, here or GitHub.
The GitHub Actions control plane is no longer free
Hacker News (score: 183)[Other] The GitHub Actions control plane is no longer free
GitHub will begin charging for self-hosted action runners on March 2026
Hacker News (score: 185)[Other] GitHub will begin charging for self-hosted action runners on March 2026
Show HN: Ducktape – a tiny HTTP/2 wrapper around DuckDB's Appender API
Show HN (score: 7)[Other] Show HN: Ducktape – a tiny HTTP/2 wrapper around DuckDB's Appender API Hi HN! I’m an engineer at Artie where we do real-time data replication.<p>We were adding MotherDuck as a destination and the first version just used DuckDB’s Go driver directly. It worked great on my machine… until we wired it into our Transfer service (<a href="https://github.com/artie-labs/transfer" rel="nofollow">https://github.com/artie-labs/transfer</a>).<p>Because the driver requires CGO, our cross-compiles to amd64 and arm64 started failing, we lost our easy static binaries, and our Docker images had to pull in C toolchains and system libraries just to support one dependency. We tried isolating the CGO bits in a separate module, but it still caused CI failures and forced us to rewrite chunks of our build pipeline. At that point it was clear we didn’t want CGO anywhere near our main service.<p>So I built ducktape: a tiny standalone microservice that wraps DuckDB’s Appender API behind HTTP/2 streams. Clients stream NDJSON over HTTP/2, and ducktape appends directly into DuckDB on the other side. No CGO in the main codebase, and we keep our cross-platform, pure-Go build story.<p>The overhead was surprisingly low in benchmarks: ~757 MiB/sec over HTTP/2 vs ~848 MiB/sec in-process — about 90% of native performance but over the network.<p>ducktape is open source and MIT licensed: <a href="https://github.com/artie-labs/ducktape" rel="nofollow">https://github.com/artie-labs/ducktape</a><p>I’d love feedback, especially if you’ve tackled CGO isolation differently or have ideas to squeeze out more performance!
AIsbom – open-source CLI to detect "Pickle Bombs" in PyTorch models
Hacker News (score: 41)[CLI Tool] AIsbom – open-source CLI to detect "Pickle Bombs" in PyTorch models
Gh-actions-lockfile: generate and verify lockfiles for GitHub Actions
Hacker News (score: 30)[Other] Gh-actions-lockfile: generate and verify lockfiles for GitHub Actions
Biscuit is a specialized PostgreSQL index for fast pattern matching LIKE queries
Hacker News (score: 17)[Database] Biscuit is a specialized PostgreSQL index for fast pattern matching LIKE queries
Show HN: Misata – synthetic data engine using LLM and Vectorized NumPy
Show HN (score: 9)[Other] Show HN: Misata – synthetic data engine using LLM and Vectorized NumPy Hey HN, I’m the author.<p>I built Misata because existing tools (Faker, Mimesis) are great for random rows but terrible for relational or temporal integrity. I needed to generate data for a dashboard where "Timesheets" must happen after "Project Start Date," and I wanted to define these rules via natural language.<p>How it works: LLM Layer: Uses Groq/Llama-3.3 to parse a "story" into a JSON schema constraint config.<p>Simulation Layer: Uses Vectorized NumPy (no loops) to generate data. It builds a DAG of tables to ensure parent rows exist before child rows (referential integrity).<p>Performance: Generates ~250k rows/sec on my M1 Air.<p>It’s early alpha. The "Graph Reverse Engineering" (describe a chart -> get data) is experimental but working for simple curves.<p>pip install misata<p>I’d love feedback on the simulator.py architecture—I’m currently keeping data in-memory (Pandas) which hits a ceiling at ~10M rows. Thinking of moving to DuckDB for out-of-core generation next. Thoughts?
Rust GCC backend: Why and how
Hacker News (score: 160)[Other] Rust GCC backend: Why and how
Show HN: Open-source Markdown research tool written in Rust – Ekphos
Hacker News (score: 17)[CLI Tool] Show HN: Open-source Markdown research tool written in Rust – Ekphos Hi! I just made an obsdian alternative in terminal after searching for an Obsidian like TUI and got nothing. So I built one myself.
A proof of concept of a semistable C++ vector container
Hacker News (score: 17)[Other] A proof of concept of a semistable C++ vector container
VS Code deactivates IntelliCode in favor of the paid Copilot
Hacker News (score: 23)[Other] VS Code deactivates IntelliCode in favor of the paid Copilot
CleanTextLab
Product Hunt[Other] Clean up messy text and formats in seconds - free text tools Free developer tools for clean text and data: JSON formatter, URL/Base64 tools, regex tester, case converter, remove duplicates, and more. Client-side processing (works offline) and privacy-focused. Try now!
NexaSDK for Mobile
Product Hunt[API/SDK] Easiest solution to deploy multimodal AI to mobile NexaSDK for Mobile lets developers use the latest multimodal AI models fully on-device on iOS & Android apps with Apple Neural Engine and Snapdragon NPU acceleration. In just 3 lines of code, build chat, multimodal, search, and audio features with no cloud cost, complete privacy, 2x faster speed and 9Ă— better energy efficiency.