<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: fiddlerwoaroof</title><link>https://news.ycombinator.com/user?id=fiddlerwoaroof</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 19:56:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=fiddlerwoaroof" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by fiddlerwoaroof in "LLMs corrupt your documents when you delegate"]]></title><description><![CDATA[
<p>My experience mostly matches this: I think of a piece of development work having three phases:<p>1. Prototype
2. Initial production implementation
3. Hardening<p>My experience with LLMs is that they solve “writer’s block” problems in the prototyping phase at the expense of making phases 2+3 slower because the system is less in your head. They also have a mixed effect on ongoing maintenance: small tasks are easier but you lose some of the feel of the system.</p>
]]></description><pubDate>Sat, 09 May 2026 17:35:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48076686</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=48076686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48076686</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Tailscale's new macOS home"]]></title><description><![CDATA[
<p>You can hold command and drag the icons under the notch to make the invisible ones eventually show</p>
]]></description><pubDate>Thu, 02 Apr 2026 22:38:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47621109</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47621109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47621109</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "VisiCalc Reconstructed"]]></title><description><![CDATA[
<p>This might be programmer-brain, but I find sqlite is pretty nice for things people would use a spreadsheet for. It’s a little bit higher friction, but when I started designing a Improv-like terminal spreadsheet a while ago, I eventually realized I was just reinventing databases.</p>
]]></description><pubDate>Fri, 20 Mar 2026 20:33:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47460228</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47460228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47460228</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Malus – Clean Room as a Service"]]></title><description><![CDATA[
<p>“assuming a controlled access road without pedestrian traffic”</p>
]]></description><pubDate>Fri, 13 Mar 2026 09:23:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47362214</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47362214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47362214</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Malus – Clean Room as a Service"]]></title><description><![CDATA[
<p>The Cayenne would not be safer going 35 instead of 40 "regardless of all other variables": it's statistically safer to go closer to the flow of traffic because you're then "at rest" with respect to other drivers (assuming a controlled access road without pedestrian traffic).  If the speed limit is 55 and the flow of traffic is 70–80 (as is the case with the Beltway around DC, despite automated enforcement), then going 55 is more dangerous than "speeding".  The issue with 100% enforcement is every law assumes certain circumstances or variables and the real world is infinitely more complex than any set of variables that can reasonably be foreseen by law (and laws that attempt to foresee as many variables as possible are more complicated and, consequently, harder for normal people to apply, which is another reason for latitude in enforcement).</p>
]]></description><pubDate>Fri, 13 Mar 2026 06:58:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47361428</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47361428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47361428</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Shall I implement it? No"]]></title><description><![CDATA[
<p>Yeah, mine to which I find really annoying</p>
]]></description><pubDate>Fri, 13 Mar 2026 04:21:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47360662</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47360662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47360662</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Nobody ever got fired for using a struct"]]></title><description><![CDATA[
<p>I've done this sort of thing or worked with people doing it.  The concept is simple, actually executing can take months.</p>
]]></description><pubDate>Sat, 07 Mar 2026 05:57:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47284907</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47284907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47284907</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Nobody ever got fired for using a struct"]]></title><description><![CDATA[
<p>I’m not justifying the design but splitting a table with several billion rows is not a trivial task, especially when ORMs and such are involved. Additionally, it’s easier to get work scheduled to ship a feature than it is to convince the relevant players to complete the swing.</p>
]]></description><pubDate>Fri, 06 Mar 2026 16:47:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47277433</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47277433</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47277433</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Nobody ever got fired for using a struct"]]></title><description><![CDATA[
<p>Normalization is possible but not practical in a lot of cases: nearly every “legacy” database I’ve seen has at least one table that just accumulates columns because that was the quickest way to ship something.<p>Also, normalization solves a problem that’s present in OLTP applications: OLAP/Big Data applications generally have problems that are solved by denormalization.</p>
]]></description><pubDate>Fri, 06 Mar 2026 05:21:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47271194</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47271194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47271194</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "I'm reluctant to verify my identity or age for any online services"]]></title><description><![CDATA[
<p>> the effort and cost to download an ad-blocker that automatically removes the prompt to accept/deny entirely is practically zero<p>It's only zero if you don't need to interact with sites that break when you're running an adblocker.  I run an ad-blocker nearly continuously, but there are all sorts of sites where I have to disable it in order to use the actual functionality of the site (and these are frequently sites I _have_ to interact with).</p>
]]></description><pubDate>Tue, 03 Mar 2026 17:27:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47235696</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47235696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47235696</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Parse, Don't Validate and Type-Driven Design in Rust"]]></title><description><![CDATA[
<p>Yes</p>
]]></description><pubDate>Thu, 26 Feb 2026 07:30:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47163001</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47163001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47163001</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Parse, Don't Validate and Type-Driven Design in Rust"]]></title><description><![CDATA[
<p>Coalton ( <a href="https://coalton-lang.github.io" rel="nofollow">https://coalton-lang.github.io</a> ) is the sort of thing I like: a Haskell-style language hosted inside a very dynamic one with good interop.</p>
]]></description><pubDate>Sun, 22 Feb 2026 01:06:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47106977</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47106977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47106977</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Parse, Don't Validate and Type-Driven Design in Rust"]]></title><description><![CDATA[
<p>Yeah, there's something of a tension between the Perlis quote "It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures" and Parse, don't validate.<p>The way I've thought about it, though, is that it's possible to design a program well either by encoding your important invariants in your types or in your functions (especially simple functions).  In dynamically typed languages like Clojure, my experience is that there's a set of design practices that have a lot of the same effects as "Parse, Don't Validate" without statically enforced types. And, ultimately, it's a question of mindset which style you prefer.</p>
]]></description><pubDate>Sat, 21 Feb 2026 20:54:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47104641</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47104641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47104641</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "MuMu Player (NetEase) silently runs 17 reconnaissance commands every 30 minutes"]]></title><description><![CDATA[
<p>I'm not sure why "954 partners" is surprising: log10(954) is between 2 and 3 so, if you assume Soundcloud uses at least 10 SaaS products to manage data (AWS, Snowflake, Datadog, etc. this number is definitely a low estimate). And then you assume each of those entities process the data through 10 partners of various kinds, it only takes 3 steps out to get 1,000.</p>
]]></description><pubDate>Fri, 20 Feb 2026 18:57:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47092247</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=47092247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47092247</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Simplifying Vulkan one subsystem at a time"]]></title><description><![CDATA[
<p>I've had a couple outages due to major version upgrades: the worst was the major version update that introduced systemd, but I don't think I've ever irreparably lost a box.  The main reason I like nixos now is:<p>1) nix means I have to install a lot fewer packages globally, which prevents accidentally using the wrong version of a package in a project.<p>2) I like having a version controlled record of what my systems look like (and I actually like the nix language)</p>
]]></description><pubDate>Tue, 10 Feb 2026 22:24:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46967821</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=46967821</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46967821</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Simplifying Vulkan one subsystem at a time"]]></title><description><![CDATA[
<p>Over time I evolved to Debian testing for the base system and nix for getting precise versions of tools, which worked fairly well. But, I just converted my last Debian box to nixos</p>
]]></description><pubDate>Tue, 10 Feb 2026 19:24:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46965419</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=46965419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46965419</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Drug trio found to block tumour resistance in pancreatic cancer in mouse models"]]></title><description><![CDATA[
<p>I think you could mitigate some of the problems by making the drug company pay for the treatment before approval.</p>
]]></description><pubDate>Thu, 29 Jan 2026 23:56:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46818696</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=46818696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46818696</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Convert potentially dangerous PDFs to safe PDFs"]]></title><description><![CDATA[
<p>Genius did something like this to prove that Google was stealing lyrics from them: <a href="https://www.pcmag.com/news/genius-we-caught-google-red-handed-stealing-lyrics-data" rel="nofollow">https://www.pcmag.com/news/genius-we-caught-google-red-hande...</a>?</p>
]]></description><pubDate>Thu, 22 Jan 2026 06:32:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46715975</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=46715975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46715975</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Sacrificing accessibility for not getting web scraped"]]></title><description><![CDATA[
<p>Gemini (3.0 Thinking) solves it too.</p>
]]></description><pubDate>Sun, 14 Dec 2025 18:41:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46265559</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=46265559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46265559</guid></item><item><title><![CDATA[New comment by fiddlerwoaroof in "Programmers and software developers lost the plot on naming their tools"]]></title><description><![CDATA[
<p>I strongly disagree with this: calling your thing that serves webhooks “webhooks” or “webhook-service” sounds nice and neat when you’re looking in a repo list but you immediately impose a tax on everyone in the org: now everyone in a conversation has to distinguish between “webhooks” as the proper name of a particular service and “webhooks” as the name of a particular pattern. Multiply this by all the various components of a modern software ecosystem, and you turn your companies infrastructure into a private language piecemeal and, what’s worse, it’s a private languages outsiders and newcomers think they understand and so they often take much longer to discover what the actual services are.</p>
]]></description><pubDate>Fri, 12 Dec 2025 07:06:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46241600</link><dc:creator>fiddlerwoaroof</dc:creator><comments>https://news.ycombinator.com/item?id=46241600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46241600</guid></item></channel></rss>