<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: sgarland</title><link>https://news.ycombinator.com/user?id=sgarland</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 28 May 2026 13:56:37 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sgarland" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sgarland in "The Eternal Sloptember"]]></title><description><![CDATA[
<p>I know you said “mostly,” but wood is a huge outlier. It’s too heterogeneous to be accurately worked by machines at the level of accuracy that truly fine craftsmanship demands. To be clear, I’m talking about the level where a single chair can cost $20K, and represents hundreds of hours of labor. My FIL is at that level, and the stuff he makes is <i>insane</i>. The market for it is of course tiny, and I’d wager most of his buyers don’t even appreciate the attention to detail he puts into it, but yeah - there are no machines that I’m aware of that can feel perturbations at the sub-mm level and adjust the tool head on the fly, but he can.<p>This may simply be due to a lack of demand, but regardless, I assure you that machine-produced furniture can’t touch human-produced at the apex of fine craftsmanship.</p>
]]></description><pubDate>Mon, 25 May 2026 22:02:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48272485</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48272485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48272485</guid></item><item><title><![CDATA[New comment by sgarland in "BambuStudio has been violating PrusaSlicer AGPL license since their fork"]]></title><description><![CDATA[
<p>I stumbled across Voron and was immediately hooked. I have a Bambu X2D, and while it is quite nice, the frustration of "I don't have access to X" is very real. There are a ton of things I want to do involving automation, recording data about print runs, benchmarking changes, etc. and the hoops to jump through to get that data out of a Bambu printer is intolerable.<p>I fully intend to spec and build a 2.4 in the near future.</p>
]]></description><pubDate>Sat, 23 May 2026 23:37:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48252698</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48252698</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48252698</guid></item><item><title><![CDATA[New comment by sgarland in "Two computers, one monitor, zero fiddling (2025)"]]></title><description><![CDATA[
<p>I have had exact opposite experience WRT display technologies. I normally use USB-C <-> DP, but they are far more finicky than HDMI. I only use the former because the hub I have for my Mac doesn’t do 4K@120 Hz over HDMI.<p>EDIT: sorry, the reason is because the monitor has HDMI 2.0, so <i>it</i> can’t do 4K@120 Hz over HDMI. Otherwise, I’d use the Mac’s native HDMI port and be done with it.</p>
]]></description><pubDate>Tue, 19 May 2026 12:43:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48192548</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48192548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48192548</guid></item><item><title><![CDATA[New comment by sgarland in "Two computers, one monitor, zero fiddling (2025)"]]></title><description><![CDATA[
<p>My Acer Predator can disable that option. The downside is specifically for MacOS, the Mac often gives up trying to sync before the monitor has finished its side of things, and since the Acer has a non-configurable, extremely short auto-power-off, so the two get into a death loop.</p>
]]></description><pubDate>Tue, 19 May 2026 12:40:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48192526</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48192526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48192526</guid></item><item><title><![CDATA[New comment by sgarland in "Prolog Basics Explained with Pokémon"]]></title><description><![CDATA[
<p>It would, but it forces the requirement of DISTINCT. With the original, if there were declared PKs (pokemon_name is fine for the main table, with a composite for others), the semi-join (EXISTS) would eliminate the need for DISTINCT entirely.<p>I think. Doing this in my head, but you could verify it trivially with SQLite or any other RDBMS.</p>
]]></description><pubDate>Sun, 17 May 2026 17:42:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48171155</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48171155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48171155</guid></item><item><title><![CDATA[New comment by sgarland in "GitLab announces workforce reduction and end of their CREDIT values"]]></title><description><![CDATA[
<p>Alas, I’ve learned that while everyone wants to hire them to fix their hideously fucked systems, they really don’t enjoy being told that their systems are, in fact, hideously fucked. They’d much prefer you quietly put out fires while biting your tongue about how they aren’t actually fixing any root causes.</p>
]]></description><pubDate>Tue, 12 May 2026 00:18:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48102557</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48102557</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48102557</guid></item><item><title><![CDATA[New comment by sgarland in "GitLab announces workforce reduction and end of their CREDIT values"]]></title><description><![CDATA[
<p>They did it <i>better.</i> I’ve never met anyone who has used both GitLab CI and GitHub Actions and thought they were remotely equivalent.</p>
]]></description><pubDate>Tue, 12 May 2026 00:13:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48102496</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48102496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48102496</guid></item><item><title><![CDATA[New comment by sgarland in "GitLab announces workforce reduction and end of their CREDIT values"]]></title><description><![CDATA[
<p>> Great engineers are problem solvers and builders who care about system design, distributed systems, reasoning through failures, safely integrating new capability into critical systems, and making decisions under ambiguity.<p>Yes, and the people who are all-in on agentic AI are, in practically every example I’ve seen, not that. They’re the jackasses giving Claude root access to their prod DB and then writing a blog post about how much they’ve learned from their mistake.</p>
]]></description><pubDate>Tue, 12 May 2026 00:10:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48102475</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48102475</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48102475</guid></item><item><title><![CDATA[New comment by sgarland in "GitLab announces workforce reduction and end of their CREDIT values"]]></title><description><![CDATA[
<p>…this is GitLab, not GitHub.</p>
]]></description><pubDate>Tue, 12 May 2026 00:07:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48102460</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48102460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48102460</guid></item><item><title><![CDATA[New comment by sgarland in "PyInfra 3.8.0"]]></title><description><![CDATA[
<p>Sure - but it’s easier to spot and squash. Banning the use of the command and shell modules eliminates a majority of spaghetti / idempotency footguns.</p>
]]></description><pubDate>Thu, 07 May 2026 18:41:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48053145</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48053145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48053145</guid></item><item><title><![CDATA[New comment by sgarland in "PyInfra 3.8.0"]]></title><description><![CDATA[
<p>> It seems to me that infra management is inherently suited to declarative logic. I'm pragmatic enough to understand why SWEs with little infra experience might prefer an imperative approach, but I tend to think you should pick one or the other and stick to it.<p>Yep. IMO, imperative is definitely easier to reason about, and it’s what most programming languages are designed around, but it is absolutely the wrong approach for infrastructure. There are too many things that can go wrong that you may or may not have designed for. Declarative _is_ the state.</p>
]]></description><pubDate>Mon, 04 May 2026 19:16:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48013587</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48013587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48013587</guid></item><item><title><![CDATA[New comment by sgarland in "PyInfra 3.8.0"]]></title><description><![CDATA[
<p>Never heard of this before. In looking through docs, honestly it looks like Ansible, but for people who don’t know Ansible, and with way more footguns. The fact that you can import any existing Python library means you’re now relying on those libraries to not introduce bugs, or throw an exception in the middle of an operation, etc.<p>I despise YAML, but I can appreciate that it makes it harder to introduce imperative logic, and it forces you to stay on the paved path - which is very well-tested.</p>
]]></description><pubDate>Mon, 04 May 2026 15:26:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48009892</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=48009892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48009892</guid></item><item><title><![CDATA[New comment by sgarland in "I Got Sick of Remembering Port Numbers"]]></title><description><![CDATA[
<p>And don’t forget to quote your port assignments and version strings.</p>
]]></description><pubDate>Fri, 01 May 2026 13:41:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47974717</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=47974717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47974717</guid></item><item><title><![CDATA[New comment by sgarland in "I Got Sick of Remembering Port Numbers"]]></title><description><![CDATA[
<p>This is the best example of Poe’s Law I’ve ever seen. Well done…?</p>
]]></description><pubDate>Fri, 01 May 2026 13:36:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47974658</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=47974658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47974658</guid></item><item><title><![CDATA[New comment by sgarland in "UAE to leave OPEC"]]></title><description><![CDATA[
<p>Years ago I had found his channel and liked it, and then some video (I don’t remember the title or even subject at this time) came up on a subject I happened to know quite a bit about. He got to some point in an explanation, bungled it, and then hand-waved it away, saying the details were unimportant.<p>Stopped caring about anything he had to say after that, and I also then realized that there was a an entire genre of “person with no actual expertise reads Wikipedia articles and explains them with good lighting and high production quality.”</p>
]]></description><pubDate>Tue, 28 Apr 2026 23:00:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47942018</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=47942018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47942018</guid></item><item><title><![CDATA[New comment by sgarland in "An update on GitHub availability"]]></title><description><![CDATA[
<p>It is, but everyone is entitled to beliefs. Anecdotally, I feel the same way. Everywhere I’ve been, there has always been a legacy monolith that was stable as a rock, with dozens of new microservices scattered around it in an attempt to exit the monolith. The microservices have never once been stable. People fail to take the most basic things into consideration, like “you can’t have Consistency and Availability when everything is a network call.”<p>I’m sure survivor bias is at play here, but when I look through the older code bases - especially the data model - it’s an entirely different world than the newer stuff, and it’s clear which of the two was written by people who understand systems.</p>
]]></description><pubDate>Tue, 28 Apr 2026 12:41:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47933742</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=47933742</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47933742</guid></item><item><title><![CDATA[New comment by sgarland in "Pgbackrest is no longer being maintained"]]></title><description><![CDATA[
<p>We just piped the backups through pigz for compression; rapidgzip also exists for parallelized decompression (or any other compression algorithm you’d like to use, of course).</p>
]]></description><pubDate>Tue, 28 Apr 2026 00:21:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47928956</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=47928956</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47928956</guid></item><item><title><![CDATA[New comment by sgarland in "Pgbackrest is no longer being maintained"]]></title><description><![CDATA[
<p>I've used barman on somewhat large-ish DBs (30+ TB), and had no complaints with it. I am a DBRE, if that holds any weight.</p>
]]></description><pubDate>Mon, 27 Apr 2026 12:28:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47920713</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=47920713</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47920713</guid></item><item><title><![CDATA[New comment by sgarland in "Agentic AI systems violate the implicit assumptions of database design"]]></title><description><![CDATA[
<p>If it’s an incident, it’s usually manually run after review, with an audience. If it isn’t, it’s run as a script that goes through normal PR review.</p>
]]></description><pubDate>Mon, 27 Apr 2026 04:34:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47917729</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=47917729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47917729</guid></item><item><title><![CDATA[New comment by sgarland in "An AI agent deleted our production database. The agent's confession is below"]]></title><description><![CDATA[
<p>To be fair, to delete an RDS / Aurora DB, you have to either pass it a final snapshot identifier (which does not disappear with the DB), or tell it to skip the final snapshot. They give you every possible warning about what’s going to happen.</p>
]]></description><pubDate>Sun, 26 Apr 2026 19:24:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47913124</link><dc:creator>sgarland</dc:creator><comments>https://news.ycombinator.com/item?id=47913124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47913124</guid></item></channel></rss>