<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: bradfitz</title><link>https://news.ycombinator.com/user?id=bradfitz</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Jul 2026 13:08:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=bradfitz" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by bradfitz in "Old and new apps, via modern coding agents"]]></title><description><![CDATA[
<p>This post inspired me to have Claude port my 30 year old high school German Java applet game to Javascript, complete with a faked git history:<p><a href="https://github.com/bradfitz/koffer#der-verloren-koffe" rel="nofollow">https://github.com/bradfitz/koffer#der-verloren-koffe</a><p>Play online at <a href="https://bradfitz.github.io/koffer/js/" rel="nofollow">https://bradfitz.github.io/koffer/js/</a><p>So neat seeing ~30 year old code come back alive.</p>
]]></description><pubDate>Sun, 12 Jul 2026 18:18:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48883197</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=48883197</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48883197</guid></item><item><title><![CDATA[New comment by bradfitz in "We scaled PgBouncer to 4x throughput"]]></title><description><![CDATA[
<p>Yeah, I remember writing epoll libraries for Perl (<a href="https://metacpan.org/pod/Sys::Syscall" rel="nofollow">https://metacpan.org/pod/Sys::Syscall</a>, first out 2005-08-01) doing raw system calls because libc on the distros of the time (at least Debian) didn't have epoll support yet.<p>So in 2005 I didn't expect Postgres to do super well here, but it's 21 years later and we're still pgbouncin'. It's just kinda sad.</p>
]]></description><pubDate>Sun, 12 Jul 2026 03:32:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48878029</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=48878029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48878029</guid></item><item><title><![CDATA[New comment by bradfitz in "We scaled PgBouncer to 4x throughput"]]></title><description><![CDATA[
<p>In other words, it's still super heavy if it's forking a process per connection.<p>I find it ridiculous that PgBouncer even needs to exist. Postgres should be doing this.</p>
]]></description><pubDate>Sun, 12 Jul 2026 00:50:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48877280</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=48877280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48877280</guid></item><item><title><![CDATA[New comment by bradfitz in "We scaled PgBouncer to 4x throughput"]]></title><description><![CDATA[
<p>I'm 46 now. I remember being shocked at Postgres's heavy connection model when I was 23.<p>I gather things haven't improved since?</p>
]]></description><pubDate>Sat, 11 Jul 2026 20:41:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48875651</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=48875651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48875651</guid></item><item><title><![CDATA[New comment by bradfitz in "Hunting a 16-year-old SQLite WAL bug with TLA+"]]></title><description><![CDATA[
<p>We found it at Tailscale and bought an enterprise support contract from SQLite to debug it for us. Worth every penny.<p>We should probably blog about it.</p>
]]></description><pubDate>Sat, 04 Jul 2026 02:46:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48782221</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=48782221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48782221</guid></item><item><title><![CDATA[New comment by bradfitz in "Fox to buy Roku"]]></title><description><![CDATA[
<p>2008? I had the Roku HD1000 [1]. :)<p>My email search:<p>"Welcome to the "Roku-tech" mailing list" ... "Tue, Dec 2, 2003, 10:48 AM"<p>Not sure how I ended up on the mailing list a month before their product was released. There must've been buzz about it for a few months before release.<p>[1] <a href="https://photos.app.goo.gl/bMGBqm4mTmfUNJG39" rel="nofollow">https://photos.app.goo.gl/bMGBqm4mTmfUNJG39</a></p>
]]></description><pubDate>Mon, 15 Jun 2026 18:33:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48545245</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=48545245</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48545245</guid></item><item><title><![CDATA[New comment by bradfitz in "Understanding Singleflight in Go"]]></title><description><![CDATA[
<p>I wrote that library originally for dl.google.com: <a href="https://go.dev/talks/2013/oscon-dl.slide#1" rel="nofollow">https://go.dev/talks/2013/oscon-dl.slide#1</a><p>I then open sourced it in Jan 2013 in what was then named Camlistore (now Perkeep) in <a href="https://github.com/perkeep/perkeep/commit/6f9f0bdda9c9c1f14783812e9ccfc789968af43" rel="nofollow">https://github.com/perkeep/perkeep/commit/6f9f0bdda9c9c1f147...</a>
d<p>And later I put it in <a href="https://pkg.go.dev/github.com/golang/groupcache/singleflight" rel="nofollow">https://pkg.go.dev/github.com/golang/groupcache/singleflight</a> (groupcache was written for dl.google.com)<p>And a private copy in Go's net package in Jun 2013: <a href="https://github.com/golang/go/commit/61d3b2db6292581fc07a3767ec23ec94ad6100d1" rel="nofollow">https://github.com/golang/go/commit/61d3b2db6292581fc07a3767...</a><p>It later moved to golang.org/x/net, and later to the Go standard library (well, internal: <a href="https://pkg.go.dev/internal/singleflight" rel="nofollow">https://pkg.go.dev/internal/singleflight</a>)<p>We now even have a copy with generics in Tailscale's tree at <a href="https://pkg.go.dev/tailscale.com/util/singleflight" rel="nofollow">https://pkg.go.dev/tailscale.com/util/singleflight</a><p>So many variants of that code :)</p>
]]></description><pubDate>Tue, 19 May 2026 00:52:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48187913</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=48187913</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48187913</guid></item><item><title><![CDATA[New comment by bradfitz in "Apple Silicon and Virtual Machines: Beating the 2 VM Limit (2023)"]]></title><description><![CDATA[
<p>IIRC, that's only for Linux guests that can nest. macOS can only one level deep. That is: you can't have a macOS guest (running on the Apple hardware host) make its own macOS guest.</p>
]]></description><pubDate>Sun, 12 Apr 2026 15:30:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47740891</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=47740891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47740891</guid></item><item><title><![CDATA[New comment by bradfitz in "Americans are destroying Flock surveillance cameras"]]></title><description><![CDATA[
<p>Oh no.</p>
]]></description><pubDate>Mon, 23 Feb 2026 19:54:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47127823</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=47127823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47127823</guid></item><item><title><![CDATA[New comment by bradfitz in "Windows Notepad App Remote Code Execution Vulnerability"]]></title><description><![CDATA[
<p>I can’t tell you how relieving it is to hear somebody else complain about this. This has been my pet peeve for ages.</p>
]]></description><pubDate>Wed, 11 Feb 2026 14:21:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46975269</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46975269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46975269</guid></item><item><title><![CDATA[New comment by bradfitz in "Show HN: A 45x45 Connections Puzzle To Commemorate 2025=45*45"]]></title><description><![CDATA[
<p>Well, this has sucked up a couple days of my free time so far... :)</p>
]]></description><pubDate>Thu, 01 Jan 2026 01:03:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46450136</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46450136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46450136</guid></item><item><title><![CDATA[New comment by bradfitz in "OpenSCAD is kinda neat"]]></title><description><![CDATA[
<p>I find myself using OpenSCAD regularly to 3D print little things for the house. (Most recently: hooks to attach Christmas lights to our roof deck's glass walls)<p>And when something gets too trick, ChatGPT is amazing at writing in it. Often it nails the whole design in the first try, like <a href="https://bsky.app/profile/bradfitz.com/post/3maelwomyw22n" rel="nofollow">https://bsky.app/profile/bradfitz.com/post/3maelwomyw22n</a> to mask off certain Raspberry Pi pins to make reassembly of projects easier later.</p>
]]></description><pubDate>Sat, 20 Dec 2025 18:29:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46338353</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46338353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46338353</guid></item><item><title><![CDATA[New comment by bradfitz in "History LLMs: Models trained exclusively on pre-1913 texts"]]></title><description><![CDATA[
<p>I seem to recall reading that as a kid too, but I can't find it now. I keep finding references to "Encyclopedia Brown, Boy Detective" about a Civil War sword being fake (instead of a Great War one), but with the same plot I'd remembered.</p>
]]></description><pubDate>Fri, 19 Dec 2025 01:14:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46321149</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46321149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46321149</guid></item><item><title><![CDATA[New comment by bradfitz in "Go-boot: bare metal Go UEFI boot manager"]]></title><description><![CDATA[
<p>I've been idly following this stuff on & off for years, but I never saw proving a point "instead of using Rust" as one of the motivations of the project. Was that ever stated anywhere?</p>
]]></description><pubDate>Thu, 18 Dec 2025 21:21:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46318932</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46318932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46318932</guid></item><item><title><![CDATA[New comment by bradfitz in "Texas is suing all of the big TV makers for spying on what you watch"]]></title><description><![CDATA[
<p>Until they start using Sidewalk/LPWAN type things automatically instead of your home WiFi.</p>
]]></description><pubDate>Thu, 18 Dec 2025 21:00:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46318658</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46318658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46318658</guid></item><item><title><![CDATA[New comment by bradfitz in "GPT-5.2"]]></title><description><![CDATA[
<p>I had to go look that up! I assume that's <a href="https://en.wikipedia.org/wiki/The_Feeling_of_Power" rel="nofollow">https://en.wikipedia.org/wiki/The_Feeling_of_Power</a> ? (Not a janitor, but "a low grade Technician"?)</p>
]]></description><pubDate>Thu, 11 Dec 2025 20:50:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46236959</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46236959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46236959</guid></item><item><title><![CDATA[New comment by bradfitz in "Booting Linux in QEMU and Writing PID 1 in Go to Illustrate Kernel as Program"]]></title><description><![CDATA[
<p>Related, I gave a 6 minute lightning talk about writing tests in Go that use the test binary itself as the PID 1 under an emulated Linux in QEMU:<p><a href="https://docs.google.com/presentation/d/1rAAyOTCsB8GLbMgI0CAbn69r6EVWL8j3DPl4qc0sSlc/edit?slide=id.p#slide=id.p" rel="nofollow">https://docs.google.com/presentation/d/1rAAyOTCsB8GLbMgI0CAb...</a><p><a href="https://www.youtube.com/watch?v=69Zy77O-BUM" rel="nofollow">https://www.youtube.com/watch?v=69Zy77O-BUM</a></p>
]]></description><pubDate>Thu, 11 Dec 2025 17:46:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46234567</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46234567</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46234567</guid></item><item><title><![CDATA[New comment by bradfitz in "DNS LOC Record (2014)"]]></title><description><![CDATA[
<p>How many of those additional 1,643 were a result of your 2014 blog post? :)</p>
]]></description><pubDate>Sat, 29 Nov 2025 17:32:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46089251</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=46089251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46089251</guid></item><item><title><![CDATA[New comment by bradfitz in "AirPods libreated from Apple's ecosystem"]]></title><description><![CDATA[
<p>I assume it's intentional, playing on "libre" (as in libre software, not just gratis software)</p>
]]></description><pubDate>Sun, 16 Nov 2025 01:27:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45941971</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=45941971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45941971</guid></item><item><title><![CDATA[New comment by bradfitz in "Perkeep – Personal storage system for life"]]></title><description><![CDATA[
<p>I'm a co-author of tsidp, btw. You don't need tsidp with a Tailscale-native app: you already know the identity of the peer. tsidp is useful for bridging from Tailscale auth to something that's unaware of Tailscale.</p>
]]></description><pubDate>Wed, 12 Nov 2025 17:02:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=45902608</link><dc:creator>bradfitz</dc:creator><comments>https://news.ycombinator.com/item?id=45902608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45902608</guid></item></channel></rss>