<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: wbadart</title><link>https://news.ycombinator.com/user?id=wbadart</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 30 May 2026 21:23:33 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=wbadart" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by wbadart in "It's hard to justify buying a Framework 12"]]></title><description><![CDATA[
<p>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).<p>[0]: <a href="https://github.com/rxhanson/Rectangle" rel="nofollow">https://github.com/rxhanson/Rectangle</a><p>[1]: <a href="https://github.com/jurplel/InstantSpaceSwitcher" rel="nofollow">https://github.com/jurplel/InstantSpaceSwitcher</a><p>Recent discussion on the latter: <a href="https://news.ycombinator.com/item?id=47708818">https://news.ycombinator.com/item?id=47708818</a></p>
]]></description><pubDate>Sat, 30 May 2026 16:18:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48337867</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=48337867</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48337867</guid></item><item><title><![CDATA[New comment by wbadart in "Moving away from Tailwind, and learning to structure my CSS"]]></title><description><![CDATA[
<p>Great writeup!<p>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.<p>[0]: <a href="https://open-props.style/" rel="nofollow">https://open-props.style/</a></p>
]]></description><pubDate>Sat, 16 May 2026 18:45:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48162681</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=48162681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48162681</guid></item><item><title><![CDATA[New comment by wbadart in "Migrating my web analytics from Matomo to Umami"]]></title><description><![CDATA[
<p><a href="https://www.goatcounter.com/help/logfile" rel="nofollow">https://www.goatcounter.com/help/logfile</a><p>> - There will be more bot requests.<p>> - Some data won’t be available: screen sizes, page titles.<p>> - 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.</p>
]]></description><pubDate>Sat, 27 Dec 2025 05:18:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46399352</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=46399352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46399352</guid></item><item><title><![CDATA[New comment by wbadart in "HTTP Caching, a Refresher"]]></title><description><![CDATA[
<p>Great write up!<p>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.<p>[0]: <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Cac...</a></p>
]]></description><pubDate>Wed, 24 Dec 2025 16:13:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46376787</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=46376787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46376787</guid></item><item><title><![CDATA[New comment by wbadart in "Time to start de-Appling"]]></title><description><![CDATA[
<p>I think that's what Silence was (for SMS): <a href="https://f-droid.org/packages/org.smssecure.smssecure/" rel="nofollow">https://f-droid.org/packages/org.smssecure.smssecure/</a></p>
]]></description><pubDate>Tue, 11 Nov 2025 01:17:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45883004</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=45883004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45883004</guid></item><item><title><![CDATA[New comment by wbadart in "Show HN: In a single HTML file, an app to encourage my children to invest"]]></title><description><![CDATA[
<p>OP, love the idea, and cool to see a useful PWA!<p>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:<p><a href="https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Caching" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/Progressive_web...</a></p>
]]></description><pubDate>Fri, 31 Oct 2025 15:51:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45773454</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=45773454</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45773454</guid></item><item><title><![CDATA[We rewrote OpenFGA in pure Postgres]]></title><description><![CDATA[
<p>Article URL: <a href="https://getrover.substack.com/p/how-we-rewrote-openfga-in-pure-postgres">https://getrover.substack.com/p/how-we-rewrote-openfga-in-pure-postgres</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45661547">https://news.ycombinator.com/item?id=45661547</a></p>
<p>Points: 52</p>
<p># Comments: 13</p>
]]></description><pubDate>Tue, 21 Oct 2025 20:52:44 +0000</pubDate><link>https://getrover.substack.com/p/how-we-rewrote-openfga-in-pure-postgres</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=45661547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45661547</guid></item><item><title><![CDATA[New comment by wbadart in "Open source projects could sell SBOM fragments"]]></title><description><![CDATA[
<p>Software bill of materials<p><a href="https://www.cisa.gov/sbom" rel="nofollow">https://www.cisa.gov/sbom</a></p>
]]></description><pubDate>Mon, 17 Feb 2025 17:38:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43081409</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=43081409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43081409</guid></item><item><title><![CDATA[New comment by wbadart in "Ask HN: Spending Tracking Tools"]]></title><description><![CDATA[
<p>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).<p>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.</p>
]]></description><pubDate>Mon, 06 Jan 2025 17:05:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=42612428</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=42612428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42612428</guid></item><item><title><![CDATA[New comment by wbadart in "A story on home server security"]]></title><description><![CDATA[
<p>You might like ZeroTier[0]. Similar solution to Tailscale but supports email registration.<p>[0]: <a href="https://www.zerotier.com/" rel="nofollow">https://www.zerotier.com/</a></p>
]]></description><pubDate>Mon, 06 Jan 2025 04:29:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=42607677</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=42607677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42607677</guid></item><item><title><![CDATA[New comment by wbadart in "Ask HN: Spending Tracking Tools"]]></title><description><![CDATA[
<p>+1<p>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.<p>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:<p>- 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")<p>- if you subscribe to Files over Apps[1] hledger and its ilk (beancounter, gnu cash) are hands down your most mature, stable options<p>- I've learned a great deal about accounting and how money works in general<p>- the reports I can generate from my ledger give me a decent starting point at tax time<p>Happy accounting!<p>[0]: <a href="https://hledger.org/index.html" rel="nofollow">https://hledger.org/index.html</a><p>[1]: <a href="https://stephango.com/file-over-app" rel="nofollow">https://stephango.com/file-over-app</a></p>
]]></description><pubDate>Sun, 05 Jan 2025 19:11:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=42604145</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=42604145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42604145</guid></item><item><title><![CDATA[New comment by wbadart in "Distributed Erlang"]]></title><description><![CDATA[
<p>As I understand it, Erlang inherited its arity notation from Prolog (which early versions of Erlang were implemented in).<p><a href="https://en.m.wikipedia.org/wiki/Erlang_(programming_language)#History" rel="nofollow">https://en.m.wikipedia.org/wiki/Erlang_(programming_language...</a></p>
]]></description><pubDate>Tue, 03 Dec 2024 16:37:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=42308103</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=42308103</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42308103</guid></item><item><title><![CDATA[New comment by wbadart in ""Begin disabling installed extensions still using Manifest V2 in Chrome stable""]]></title><description><![CDATA[
<p>I thought this was a cool idea, so I looked around for existing implementations and found <a href="https://github.com/barre/privaxy">https://github.com/barre/privaxy</a><p>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.</p>
]]></description><pubDate>Sat, 12 Oct 2024 23:00:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=41823479</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=41823479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41823479</guid></item><item><title><![CDATA[New comment by wbadart in "Ledger"]]></title><description><![CDATA[
<p>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.<p>[0]: <a href="https://hackage.haskell.org/package/hledger-1.32.3/docs/Hledger-Cli-Script.html" rel="nofollow">https://hackage.haskell.org/package/hledger-1.32.3/docs/Hled...</a></p>
]]></description><pubDate>Sun, 25 Feb 2024 00:31:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=39496457</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=39496457</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39496457</guid></item><item><title><![CDATA[New comment by wbadart in "The Unix-Haters Handbook (1994) [pdf]"]]></title><description><![CDATA[
<p>I knew of Don Norman from reading The Design of Everyday Things a few years ago; funny to see his name pop up here!<p>Searching around to make sure it's the same Norman, I came to find out that he wrote an article, <i>The truth about Unix: The user interface is horrid</i>, 7 years before DoET came out (which is confirmed in the Forward)! Had no idea he was on this scene.</p>
]]></description><pubDate>Wed, 29 Nov 2023 22:10:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=38465995</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=38465995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38465995</guid></item><item><title><![CDATA[New comment by wbadart in "Sci-fi mag pauses submissions amid flood of AI-generated short stories"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Tue, 21 Feb 2023 22:49:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=34888829</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=34888829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34888829</guid></item><item><title><![CDATA[New comment by wbadart in "Microfeatures I'd like to see in more languages"]]></title><description><![CDATA[
<p>In Haskell, if all the functions in the pipeline are pure, I'd probably write that as<p><pre><code>    wood
    & measure 12
    & cut 40 WZ
    & sand 220
    & paint Red
</code></pre>
See <a href="https://hackage.haskell.org/package/base-4.17.0.0/docs/Data-Function.html#v:-38-" rel="nofollow">https://hackage.haskell.org/package/base-4.17.0.0/docs/Data-...</a></p>
]]></description><pubDate>Fri, 06 Jan 2023 04:01:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=34270803</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=34270803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34270803</guid></item><item><title><![CDATA[New comment by wbadart in "FastAPI framework, high perf, easy to learn, fast to code, ready for production"]]></title><description><![CDATA[
<p>Re #1, I haven't used it before but there is <a href="https://github.com/tiangolo/full-stack-fastapi-postgresql" rel="nofollow">https://github.com/tiangolo/full-stack-fastapi-postgresql</a><p>Looks like it includes the kind of admin dashboard you'd get with Django.</p>
]]></description><pubDate>Mon, 01 Feb 2021 22:57:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=25995290</link><dc:creator>wbadart</dc:creator><comments>https://news.ycombinator.com/item?id=25995290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25995290</guid></item></channel></rss>