<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Show HN</title><link>https://news.ycombinator.com/shownew</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 01 Jun 2026 17:09:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/show" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: DepsGuard – one command to harden NPM/pnpm/yarn/bun/uv configs]]></title><description><![CDATA[
<p>I kept seeing every npm/pnpm/yarn/bun/uv supply chain post end with the same advice (set a minimum release age, turn off install scripts), and while I know cooldowns are "controversial", they do work. But even if you convince people that they should set cooldowns, it seems many don't end up following through, not sure why, maybe because it means hand-editing five config files in five formats with five different time units, or perhaps the "it won't happen to me" syndrome (or "I'll do it later, it seems complicated" where it's actually very simple). So I created a tool that checks what you have set and fixes it for you. I looked for an existing one first and couldn't find it. It started as a small weekend project and turned into a small research project on the nuances of cooldowns across package managers. Not a proof of P vs NP, but a small convenience that can save you and your loved ones from the next supply chain attack. I've raised this in a couple of HN threads since (<a href="https://news.ycombinator.com/item?id=47878158">https://news.ycombinator.com/item?id=47878158</a> and <a href="https://news.ycombinator.com/item?id=48156360">https://news.ycombinator.com/item?id=48156360</a>) but never actually did a Show HN for the tool itself.<p>If you know how to edit your ~/.npmrc, which settings apply to npm vs pnpm, and which one wants minutes vs days vs seconds, you probably don't need this. But if you vibe code and just want a one click fix (or you have a PhD in CS from Stanford, ex-FAANG, started 3 YC companies, now work at Anthropic, and still just want a one click fix), read on.<p>DepsGuard is a single Rust binary, no runtime deps, MIT. Run depsguard and it scans your user-level and repo-level configs, shows a table of what is and isn't set, you pick what to change, hit d for the diff, and apply. It writes a timestamped backup first and depsguard restore rolls it back. depsguard scan is read-only if you just want the report.<p>The settings are the simple ones that work: min-release-age / minimumReleaseAge (npm, pnpm, yarn, bun, and uv all name it differently and use days vs minutes vs seconds, which is half of why doing this by hand is annoying), ignore-scripts, and on newer pnpm block-exotic-subdeps, trust-policy: no-downgrade, and strict-dep-builds. It also handles Renovate and Dependabot cooldowns.<p>The whole thing is a bet on timing. The malicious @bitwarden/cli 2026.4.0 was up ~19 hours and got 334 installs. axios was pulled in ~3h, ua-parser-js in hours, node-ipc in days. A 7-day gate means your installer never resolves any of those, they're gone before the window even opens. It does nothing for the slow ones (event-stream sat 2+ months), and it's not SCA, it won't scan your existing lockfile for known CVEs, that's a different layer.<p>Disclosure: I'm a co-founder and CTO at Arnica (a commercial appsec startup) and built this because putting the same recommendations on each blog post felt like yelling at the clouds. It's free and MIT, no account, no telemetry. I'm also not the only one who had the idea (didn't know at the time), cooldowns.dev does the cooldown part across more ecosystems with a shell helper and is worth a look. DepsGuard covers fewer ecosystems but adds the other settings and the diff/backup/restore flow.<p>If you want to try it: cargo install depsguard, or brew/apt/winget/scoop, all in the README.<p><a href="https://github.com/arnica/depsguard" rel="nofollow">https://github.com/arnica/depsguard</a> (full settings table and FAQ at depsguard.com)<p>Is this an overkill that could have been a shell script? Probably yes (but I wanted windows support, why not).<p>Did it save someone from a supply chain attack? Also probably yes.<p>Do I know personally someone that without it wouldn't have bothered changing their settings after repeatedly asking, but eventually did it when I gave them depsguard? Absolutely yes.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48359478">https://news.ycombinator.com/item?id=48359478</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 16:58:52 +0000</pubDate><link>https://github.com/arnica/depsguard</link><dc:creator>eranation</dc:creator><comments>https://news.ycombinator.com/item?id=48359478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48359478</guid></item><item><title><![CDATA[Show HN: A desktop app for manual QA testing and evidence gathering]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/adriandomc/qastor">https://github.com/adriandomc/qastor</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48359305">https://news.ycombinator.com/item?id=48359305</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 16:47:05 +0000</pubDate><link>https://github.com/adriandomc/qastor</link><dc:creator>adriandomc</dc:creator><comments>https://news.ycombinator.com/item?id=48359305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48359305</guid></item><item><title><![CDATA[Show HN: CurateKit: modern del.icio.us with custom domain, team and email digest]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.curatekit.com/">https://www.curatekit.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48359209">https://news.ycombinator.com/item?id=48359209</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 16:39:46 +0000</pubDate><link>https://www.curatekit.com/</link><dc:creator>wenbin</dc:creator><comments>https://news.ycombinator.com/item?id=48359209</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48359209</guid></item><item><title><![CDATA[Show HN: Tok - A Claude Code token counter (no ANTHROPIC_API_KEY required)]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/samjoch/tok">https://github.com/samjoch/tok</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358986">https://news.ycombinator.com/item?id=48358986</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 16:23:55 +0000</pubDate><link>https://github.com/samjoch/tok</link><dc:creator>samjoch</dc:creator><comments>https://news.ycombinator.com/item?id=48358986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358986</guid></item><item><title><![CDATA[Show HN: Valdr - Valkey/Redis in safe Rust, passes >99% of Valkey test suite]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/ianm199/valdr">https://github.com/ianm199/valdr</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358983">https://news.ycombinator.com/item?id=48358983</a></p>
<p>Points: 2</p>
<p># Comments: 2</p>
]]></description><pubDate>Mon, 01 Jun 2026 16:23:47 +0000</pubDate><link>https://github.com/ianm199/valdr</link><dc:creator>ianm218</dc:creator><comments>https://news.ycombinator.com/item?id=48358983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358983</guid></item><item><title><![CDATA[Show HN: Get new long-tail keywords in your inbox every week]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.longtailkeyword.io">https://www.longtailkeyword.io</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358951">https://news.ycombinator.com/item?id=48358951</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 16:22:12 +0000</pubDate><link>https://www.longtailkeyword.io</link><dc:creator>onion92</dc:creator><comments>https://news.ycombinator.com/item?id=48358951</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358951</guid></item><item><title><![CDATA[Show HN: A multi-carrier shipping rate aggregator for the EU]]></title><description><![CDATA[
<p>Article URL: <a href="https://jetsend.eu/en-es">https://jetsend.eu/en-es</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358791">https://news.ycombinator.com/item?id=48358791</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 16:11:08 +0000</pubDate><link>https://jetsend.eu/en-es</link><dc:creator>jetsend</dc:creator><comments>https://news.ycombinator.com/item?id=48358791</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358791</guid></item><item><title><![CDATA[Show HN: Canvascript – Canvas prints of source code]]></title><description><![CDATA[
<p>Hi HN.
I made a small store of canvas prints of source code. Eight prints at launch — Section 11 of the Bitcoin whitepaper, the BAILOUT/POODOO restart handlers from Apollo 11's Lunar Module flight software, Linus Torvalds' first Git commit, the original CERN webpage, the K&R Hello World, Adam Back's 3-line RSA Perl, the Jaromil fork bomb, and the Erudil Perl camel.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358697">https://news.ycombinator.com/item?id=48358697</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 16:05:03 +0000</pubDate><link>https://canvascript.com/</link><dc:creator>EOdOW</dc:creator><comments>https://news.ycombinator.com/item?id=48358697</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358697</guid></item><item><title><![CDATA[Show HN: VS Extension to Track GH Copilot Usage Creds]]></title><description><![CDATA[
<p>Been working on this VS code extension in preparation for the usage based billing change. Hoping this will help me be more mindful of my credits.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358285">https://news.ycombinator.com/item?id=48358285</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 15:36:54 +0000</pubDate><link>https://marketplace.visualstudio.com/items?itemName=TokenystCopilot.tokenyst-copilot</link><dc:creator>herrj</dc:creator><comments>https://news.ycombinator.com/item?id=48358285</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358285</guid></item><item><title><![CDATA[Show HN: Data Leak Prevention inside the n8n execution graph.]]></title><description><![CDATA[
<p>Article URL: <a href="https://npmjs.com/package/n8n-nodes-privent">https://npmjs.com/package/n8n-nodes-privent</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358251">https://news.ycombinator.com/item?id=48358251</a></p>
<p>Points: 17</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 01 Jun 2026 15:34:59 +0000</pubDate><link>https://npmjs.com/package/n8n-nodes-privent</link><dc:creator>methreeves</dc:creator><comments>https://news.ycombinator.com/item?id=48358251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358251</guid></item><item><title><![CDATA[Show HN: WorkInProcess – an image studio that runs in the browser tab]]></title><description><![CDATA[
<p>Article URL: <a href="https://workinprocess.app/">https://workinprocess.app/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358232">https://news.ycombinator.com/item?id=48358232</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 15:33:53 +0000</pubDate><link>https://workinprocess.app/</link><dc:creator>Moeflon</dc:creator><comments>https://news.ycombinator.com/item?id=48358232</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358232</guid></item><item><title><![CDATA[Show HN: Gridiculous, my homebrew Game Boy Advance logic puzzle collection]]></title><description><![CDATA[
<p>I'm a huge fan of logic puzzles and retro gaming, so I decided to merge those two and take a shot at building a Game Boy Advance game using Butano.<p>My collection includes games inspired by four puzzle games: Picross, Slitherlink, Akari, and Binario. Every puzzle is procedurally generated, and I made sure to exclude any that aren't solvable through step-by-step forward logic. (guessing is never required)<p>If you enjoy logic puzzles, be sure to check it out! Any feedback or advice would be amazing too.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48358006">https://news.ycombinator.com/item?id=48358006</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 15:19:29 +0000</pubDate><link>https://oofinsprouts.itch.io/gridiculous</link><dc:creator>goache</dc:creator><comments>https://news.ycombinator.com/item?id=48358006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48358006</guid></item><item><title><![CDATA[Show HN: Funnel – Find a convesion leak on any landing page in 30 seconds]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.funnel.fyi">https://www.funnel.fyi</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48357986">https://news.ycombinator.com/item?id=48357986</a></p>
<p>Points: 1</p>
<p># Comments: 2</p>
]]></description><pubDate>Mon, 01 Jun 2026 15:18:24 +0000</pubDate><link>https://www.funnel.fyi</link><dc:creator>crimeacs</dc:creator><comments>https://news.ycombinator.com/item?id=48357986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357986</guid></item><item><title><![CDATA[Show HN: FormProxy – form back end for AI-generated pages – MCP Ready]]></title><description><![CDATA[
<p>I kept running into the same problem building with AI code tools: the generated HTML looks great, but the <form> has no backend. You either reach for Formspree, write a serverless function, or ship it broken.<p>FormProxy wires it up in one step. Drop a page URL, get a POST endpoint, and submissions route to Slack, webhooks, or Google Sheets. (Google Sheets is currently unreliable — waiting on Google's OAuth app review, which is taking longer than expected. Webhook and Slack are production-ready.)<p>The angle I'm most interested in: there's an MCP skill so LLMs can provision the form endpoint themselves during code generation. Claude or GPT-4 can call FormProxy mid-session, inject the action URL into the HTML it's writing, and the page ships with a working form — no manual wiring.<p>Happy to be challenged on: why not just Formspree, how the MCP skill actually works in practice, and what the right pricing model is for this. I've been going back and forth on per-submission vs. per-endpoint.<p>formproxy.com — free tier available.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48357884">https://news.ycombinator.com/item?id=48357884</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 15:09:46 +0000</pubDate><link>https://www.formproxy.com/</link><dc:creator>gagan2020</dc:creator><comments>https://news.ycombinator.com/item?id=48357884</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357884</guid></item><item><title><![CDATA[Show HN: Json2vec – build/train/deploy models with nested data structures]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/json2vec/json2vec">https://github.com/json2vec/json2vec</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48357711">https://news.ycombinator.com/item?id=48357711</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 15:00:08 +0000</pubDate><link>https://github.com/json2vec/json2vec</link><dc:creator>granthamctaylor</dc:creator><comments>https://news.ycombinator.com/item?id=48357711</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357711</guid></item><item><title><![CDATA[Show HN: MigraDiff – migra fork with AI migration generation for Postgres]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/leochong/migradiff">https://github.com/leochong/migradiff</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48357624">https://news.ycombinator.com/item?id=48357624</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 14:54:55 +0000</pubDate><link>https://github.com/leochong/migradiff</link><dc:creator>lateos-ai</dc:creator><comments>https://news.ycombinator.com/item?id=48357624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357624</guid></item><item><title><![CDATA[Show HN: Paid or Played? – a simple recoupment calculator for music artists]]></title><description><![CDATA[
<p>I built a small tool for artists to understand when a music deal actually starts paying them.<p>You enter the advance, marketing/video costs, other recoupable expenses, royalty rate, and revenue scenario. The tool shows how much the label needs to make before the artist starts seeing new master royalties.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48357616">https://news.ycombinator.com/item?id=48357616</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 14:54:02 +0000</pubDate><link>https://paid-or-played.vercel.app/</link><dc:creator>lorenzosch</dc:creator><comments>https://news.ycombinator.com/item?id=48357616</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357616</guid></item><item><title><![CDATA[Show HN: Climbing Grade Converter]]></title><description><![CDATA[
<p>Outside of programming, my main hobby is rock climbing. Because the grading systems used to communicate difficulty vary depending on climbing discipline and country, I often find myself needing to convert grades when reading climbing content online. Several tools for this already exist, but I wasn't entirely happy with any of them so I decided to build my own.<p>I focused on making my converter as fast, clean, and easy to use as possible. It's a simple one-page utility hosted on my blog that currently supports V-Scale, Font, YDS, and French. The blog is built with astro and the converter itself is built with vue.<p>Feedback welcome, especially from fellow climbers.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48357443">https://news.ycombinator.com/item?id=48357443</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 14:39:08 +0000</pubDate><link>https://kylev.dev/climbing-grade-converter/</link><dc:creator>citrus1330</dc:creator><comments>https://news.ycombinator.com/item?id=48357443</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357443</guid></item><item><title><![CDATA[Show HN: Fregata – a macOS native port of Frigate NVR]]></title><description><![CDATA[
<p>Article URL: <a href="https://fregata.app/">https://fregata.app/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48357311">https://news.ycombinator.com/item?id=48357311</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 01 Jun 2026 14:27:53 +0000</pubDate><link>https://fregata.app/</link><dc:creator>nulledy</dc:creator><comments>https://news.ycombinator.com/item?id=48357311</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357311</guid></item><item><title><![CDATA[Show HN: 2-command CLI to give AI agents structured data retrieval on PostgreSQL]]></title><description><![CDATA[
<p>AI agents need structured data, not similarity search. Graph DBs are expensive, vector stores are fuzzy.<p>Lithium is a storage engine on PostgreSQL ltree. Hierarchical, versioned, scoped queries. Two commands:<p>npx @lithium-ai/kit init<p>claude mcp add lithium -- npx @lithium-ai/kit serve<p>Your agents get tools to navigate, store, and retrieve structured data on your existing Postgres.<p>Open source, MIT.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48357212">https://news.ycombinator.com/item?id=48357212</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Jun 2026 14:21:21 +0000</pubDate><link>https://github.com/0xJaksun/lithium-core</link><dc:creator>0xJaksun</dc:creator><comments>https://news.ycombinator.com/item?id=48357212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357212</guid></item></channel></rss>