HNHacker News
TopNewBestAskShowJobs

wbadart

80 karma · joined February 1, 2021

submissionscomments
wbadart··on A better SQL in 11 lines of code
Cool! That's both unsurprising, given the apparent similarities, but also a little surprising, since Alloy is built on relational algebra, which you're very careful to distinguish from TAR in your paper. (Great read, btw!)
wbadart··on A better SQL in 11 lines of code
The core relation composition operator reminds me of Alloy's dot-join operator [1]. Wondering if anyone can comment on the differences, theoretical or practical?

[1]: https://practicalalloy.github.io/chapters/structural-topics/...

wbadart··on How to Exist
My favorite recent read on the topic was from Brett Devereaux: https://acoup.blog/2025/08/22/collections-life-work-death-an...

TL;DR: whether farming takes all your waking hours depends on the size of your lands and household

wbadart··on Who's afraid of Chinese models?
Seems like most popular harnesses, including codex and Claude code, support Agent Skills (an open spec for skill formatting/ organization): https://agentskills.io/clients

Which is to say, this isn't really a lock-in/ stickiness vector (unless maybe the wording itself of a skill is hyper-optimized for a specific model)

wbadart··on A Practical Guide to SSH Tunnels: Local and Remote Port Forwarding
I never pass up an opportunity to recommend the Cyber Plumber's Handbook: https://github.com/opsdisk/the_cyber_plumbers_handbook

Goes over similar content as TFA, in perhaps a little more depth. Indispensable sysadmin knowledge.

wbadart··on It's hard to justify buying a Framework 12
I'm stuck with macOS at work and these have also been the most painful parts of the experience for me. Luckily, I recently found Rectangle[0] and InstantSpaceSwitcher[1]. The former gives keyboard based arranging (though not focus; still just use cmd+tab for that) while the latter gives instant transitions between virtual desktops (including shortcuts for navigating directly to a target, rather than sliding over sequentially).

[0]: https://github.com/rxhanson/Rectangle

[1]: https://github.com/jurplel/InstantSpaceSwitcher

Recent discussion on the latter: https://news.ycombinator.com/item?id=47708818

wbadart··on Moving away from Tailwind, and learning to structure my CSS
Great writeup!

Lately I've been enjoying Open Props[0]. It's a library of CSS props/ variables that helps structure a design system. I like it because it's CSS-first, so like OP experienced moving off TW, I've learned more CSS, and it works with the browser not against it. It also provides some sane defaults for anyone less interested in fiddling with precise cosmetics.

[0]: https://open-props.style/

wbadart··on Migrating my web analytics from Matomo to Umami
https://www.goatcounter.com/help/logfile

> - There will be more bot requests.

> - Some data won’t be available: screen sizes, page titles.

> - It won’t disambiguate to canonical paths from <link rel="canonical">; i.e. /page and /page?x=y will show up as two different paths.

wbadart··on HTTP Caching, a Refresher
Great write up!

Wanted to highlight MDN's HTTP caching guide[0] that OP links in the conclusion. It's written at a higher level than the underlying reference material and has been a great resource I've turned to several times in the last few years.

[0]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Cac...

wbadart··on Time to start de-Appling
I think that's what Silence was (for SMS): https://f-droid.org/packages/org.smssecure.smssecure/
wbadart··on Show HN: In a single HTML file, an app to encourage my children to invest
OP, love the idea, and cool to see a useful PWA!

One note: I noticed when opening the installed PWA in airplane mode, styles didn't load. You might be interested in this article on PWA caching from MDN:

https://developer.mozilla.org/en-US/docs/Web/Progressive_web...

wbadart··on Open source projects could sell SBOM fragments
Software bill of materials

https://www.cisa.gov/sbom

wbadart··on Ask HN: Spending Tracking Tools
I've faced this as well. One of the big sources of "mess" for me in a years-long ledger is inconsistencies in account naming. I get around this with a big block of alias that rename accounts to use my newer, preferred conventions (without having to comb through possibly hundreds of postings to update by hand).

I also went through a couple file organization schemes and have (tentatively) settled on file-per-month since that leads to a nice cadence where setting up the new monthly file coincides with paying bills and is a good time to do any necessary account reconciliation.

wbadart··on A story on home server security
You might like ZeroTier[0]. Similar solution to Tailscale but supports email registration.

[0]: https://www.zerotier.com/

wbadart··on Ask HN: Spending Tracking Tools
+1

While I don't think this approach meets OP's requirements (they seem to be looking for something a little more turn-key), I hope other readers of this thread will fall down this rabbit hole.

I'm now in my 5th year of tracking every penny in and out of my life with hledger[0], with a mostly manual approach. Some benefits:

- as noted by a spreadsheet user, it adds friction to spending money, which has curbed frivolous/ unplanned expenses for me (and double entry accounting makes it impossible for money to "disappear")

- if you subscribe to Files over Apps[1] hledger and its ilk (beancounter, gnu cash) are hands down your most mature, stable options

- I've learned a great deal about accounting and how money works in general

- the reports I can generate from my ledger give me a decent starting point at tax time

Happy accounting!

[0]: https://hledger.org/index.html

[1]: https://stephango.com/file-over-app

wbadart··on Distributed Erlang
As I understand it, Erlang inherited its arity notation from Prolog (which early versions of Erlang were implemented in).

https://en.m.wikipedia.org/wiki/Erlang_(programming_language...

wbadart··on "Begin disabling installed extensions still using Manifest V2 in Chrome stable"
I thought this was a cool idea, so I looked around for existing implementations and found https://github.com/barre/privaxy

Been a while since the last commit, so I'm not sure if it's maintained, but I might try adding it (or something similar) to my pihole.

wbadart··on Ledger
My favorite part of the (extensive) Haskell API is `Hledger.Cli.Script` [0]. It re-exports all the most commonly used functions and data types, meaning you're just one import away from everything you need to get started.

[0]: https://hackage.haskell.org/package/hledger-1.32.3/docs/Hled...

wbadart··on The Unix-Haters Handbook (1994) [pdf]
I knew of Don Norman from reading The Design of Everyday Things a few years ago; funny to see his name pop up here!

Searching around to make sure it's the same Norman, I came to find out that he wrote an article, The truth about Unix: The user interface is horrid, 7 years before DoET came out (which is confirmed in the Forward)! Had no idea he was on this scene.

wbadart··on Sci-fi mag pauses submissions amid flood of AI-generated short stories
I think that 500 figure isn't the total number of submissions, but rather the number of _people_ who Clarkesworld banned for plagiarism/ submitting AI-generated content.
wbadart··on Microfeatures I'd like to see in more languages
In Haskell, if all the functions in the pipeline are pure, I'd probably write that as

    wood
    & measure 12
    & cut 40 WZ
    & sand 220
    & paint Red
See https://hackage.haskell.org/package/base-4.17.0.0/docs/Data-...
wbadart··on FastAPI framework, high perf, easy to learn, fast to code, ready for production
Re #1, I haven't used it before but there is https://github.com/tiangolo/full-stack-fastapi-postgresql

Looks like it includes the kind of admin dashboard you'd get with Django.