Daily Show HN

Upvote0

Show HN for June 1, 2026

18 items
71

Prela – Purely Algebraic Relation Combinators #

github.com favicongithub.com
13 comments1:26 PMView on HN
Prela is an embedded query language based on Tarski's Algebra of Relations. Its queries are concise, clear, and fast. It is implemented by shallow embedding in a host programming language: Prela operators are regular functions in the host. The implementation follows continuation-passing style which compiles to efficient columnar execution.
40

DepsGuard – one command to harden NPM/pnpm/yarn/bun/uv configs #

github.com favicongithub.com
6 comments4:58 PMView on HN
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 (https://news.ycombinator.com/item?id=47878158 and https://news.ycombinator.com/item?id=48156360) but never actually did a Show HN for the tool itself.

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.

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.

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.

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.

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.

If you want to try it: cargo install depsguard, or brew/apt/winget/scoop, all in the README.

https://github.com/arnica/depsguard (full settings table and FAQ at depsguard.com)

Is this an overkill that could have been a shell script? Probably yes (but I wanted windows support, why not).

Did it save someone from a supply chain attack? Also probably yes.

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.

36

Textile – A desktop app for weaving together bits of text #

gettextile.app favicongettextile.app
21 comments6:54 PMView on HN
Hi all,

I'm excited to show off Textile, a desktop app I recently built.

Textile can combine bits of text using various inputs, such as commands on your computer, the contents of your clipboard, and hard-coded strings that you provide. It lets you carefully build up and modify a dynamic string, step by step, until it's exactly how you need it. The saved steps can then be executed on demand, with the click of a button or using a keyboard shortcut.

I built Textile because I was often constructing complicated, dynamic URLs from various sources that all existed on my computer. I got tired of manually switching between different apps, copying and pasting various chunks of text, and assembling them all together somewhere. I've also found Textile to be quite useful as a kind of repository for obscure bits of static text, such as ½ and other fraction characters, when I can't be bothered to remember their built-in keyboard combinations.

I also built Textile because I wanted to learn Electron, although I expect there will be some gnashing of teeth about this here. :) I think desktop development is quite interesting, in part because it doesn't require me, the developer, to pay for an API server and database in the cloud. The app itself is both the UI and the "server," and the local drive is effectively the "database." I knows this trades away syncing with the cloud but, on the other hand, there's something nice about knowing that your files are on your drive and not on somebody else's server.

I realize that something like Textile may already exist, and may have much more functionality but, again, I wanted to learn. I must say that multi-sequence keyboard shortcuts are hard, and there are cases that don't work right in Textile. I feel vulnerable admitting that my approach has much room for improvement!

For what it's worth, I did not use an LLM to write any code for Textile (although I did ask many questions of an LLM, as an alternative to Googling).

Textile is open source, free to use, and does not require sign up, email, phone, or other such barriers. Try it and let me know what you think!

(Note: I don't have access to hardware running Windows or Linux, so Textile is only available for macOS at the moment.)

15

Mqtt Broker for 10 Years #

github.com favicongithub.com
1 comments8:42 PMView on HN
Intended for 10-year (plus hopefully) deployment lifetime on $10-30 of silicon. The kind of thing you screw to a wall, plug in, and walk away from for a decade. No telemetry, no phone-home updates, no external dependencies. Storage decisions get a sanity checked against NVS wear... a write-per-PUBLISH would shred the flash in months, so the retained store and in tables that stay in PSRAM.

Its heavily written with AI and borrowed a lot of visuals from Tasmota. Not for production use yet (been currently running it for a month with great results!)

10

Having fun making mini static site apps #

joeheyming.github.io faviconjoeheyming.github.io
0 comments5:02 AMView on HN
I've been having a blast making multiple mini apps that run in the browser. I've been trying to see how far I can go without having a backend and relying on other services. I wrote these for fun and wanted to know what folks think.