<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: andrewaylett</title><link>https://news.ycombinator.com/user?id=andrewaylett</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 29 Sep 2026 07:08:51 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=andrewaylett" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by andrewaylett in "Sonnet 5.5"]]></title><description><![CDATA[
<p>A human can produce far more code than a human can understand, too, but pre-LLM we always viewed someone overwhelming their colleagues like that as being <i>bad</i> at their job.</p>
]]></description><pubDate>Mon, 28 Sep 2026 21:54:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=49884962</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49884962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49884962</guid></item><item><title><![CDATA[New comment by andrewaylett in "Claude Cowork and chat are now one Claude"]]></title><description><![CDATA[
<p>That's "chaotic" rather than "non-deterministic".</p>
]]></description><pubDate>Sat, 19 Sep 2026 09:59:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49765029</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49765029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49765029</guid></item><item><title><![CDATA[New comment by andrewaylett in "You can run Git on object storage if you re-make packfiles"]]></title><description><![CDATA[
<p>`git update-server-info` is your friend; it generates the auxiliary files needed to allow clients to make range requests against packs.<p>For example: <a href="https://andrewaylett.github.io/rgitweb/" rel="nofollow">https://andrewaylett.github.io/rgitweb/</a> is a repository viewer that runs against a static git repo.  It doesn't care what you're storing the pack <i>in</i>, just that the data is there to make the right range requests.</p>
]]></description><pubDate>Sat, 19 Sep 2026 09:31:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=49764866</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49764866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49764866</guid></item><item><title><![CDATA[New comment by andrewaylett in "Claude Cowork and chat are now one Claude"]]></title><description><![CDATA[
<p>LLMs are inherently deterministic.  The way everyone <i>deploys</i> LLMs leads to non-deterministic results, but there's nothing† stopping providers from offering deterministic evaluation if they choose.<p>All the sources of randomness are under the control of the provider, even if today's deployment structures mean providers introduce extra randomness due to the concurrent nature of the evaluation.  Serialise the computation, feed it from a pRNG, and you have a fully deterministic result.  But providers don't <i>want</i> to offer a deterministic result, and especially not one as fragile, expensive, and inefficient as a full serialisation would be.<p>†: For variants of "nothing" that include cost and deployment challenges.</p>
]]></description><pubDate>Wed, 16 Sep 2026 20:30:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=49732561</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49732561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49732561</guid></item><item><title><![CDATA[New comment by andrewaylett in "Open Source Durable Objects for Postgres"]]></title><description><![CDATA[
<p>In my mind, slop is when the output is longer than the context provided by the user -- there's text, but there's no content.<p>Where LLMs can be really actually quite useful, is situations where you have a lot of context and want to distil it.  That's what I think happened here: the author has a lot of information to convey, and the LLM-generated output is relatively information-dense.<p>Unfortunately there's no objective measure for information density of an arbitrary piece of text.</p>
]]></description><pubDate>Fri, 11 Sep 2026 22:50:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=49666500</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49666500</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49666500</guid></item><item><title><![CDATA[New comment by andrewaylett in "Open Source Durable Objects for Postgres"]]></title><description><![CDATA[
<p>AI, but I'm not sure about "slop".  There <i>is</i> actual content in there, for all it's written by an LLM.</p>
]]></description><pubDate>Thu, 10 Sep 2026 12:15:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49642489</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49642489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49642489</guid></item><item><title><![CDATA[New comment by andrewaylett in "Lake Ontario ("Lake America")"]]></title><description><![CDATA[
<p>It seems that there are 363,123 `official_name:<i>` tags in OSM [1], and the discussion thread hints that at least </i>some* of them are due to naming disputes.  Given (according to the thread) no-one actually renders the tag on their maps, using that tag in this case seems like a good policy.<p>[1]: <a href="https://taginfo.openstreetmap.org/keys/official_name#overview" rel="nofollow">https://taginfo.openstreetmap.org/keys/official_name#overvie...</a></p>
]]></description><pubDate>Tue, 01 Sep 2026 12:20:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49520977</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49520977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49520977</guid></item><item><title><![CDATA[New comment by andrewaylett in "Creepy Crawlies"]]></title><description><![CDATA[
<p>Now deployed here: <a href="https://andrewaylett.github.io/rgitweb/" rel="nofollow">https://andrewaylett.github.io/rgitweb/</a> with a copy of its own repository to explore.</p>
]]></description><pubDate>Mon, 31 Aug 2026 10:34:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49508046</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49508046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49508046</guid></item><item><title><![CDATA[New comment by andrewaylett in "Creepy Crawlies"]]></title><description><![CDATA[
<p>Just for fun, because I could, I vibed up a `cgit` replacement that runs entirely in the browser -- point it at a git repo where you've run `git update-server-info` and it'll load files as if it's starting to clone the repo, using range requests and browser caching to avoid actually loading more data than necessary for the view you've requested.<p>I'm certainly not saying you should use this code, but it's a proof of concept for avoiding the CPU overhead of cgit rendering by loading the data on the client.<p>It cost me £8.27 of Fable use (from the free credits I've been given) and 56% of my five hour quota on a $20/month Pro plan.  There's no server logic, it's 1.3MB of minified JS and CSS and (while I'm <i>absolutely not</i> suggesting anyone try to use it) it basically works: <a href="https://github.com/andrewaylett/rgitweb" rel="nofollow">https://github.com/andrewaylett/rgitweb</a><p>This is a one-shot, my prompt set the expectation that I'd be able to load resources using CORS but (not entirely unreasonably) the Git hosts I've tried don't set CORS headers.<p>Shared more because I was pleasantly surprised at how cheap and easy this was -- and with a repo link because talking about it without sharing the link would be a bit crass.</p>
]]></description><pubDate>Sun, 30 Aug 2026 23:04:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=49503708</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49503708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49503708</guid></item><item><title><![CDATA[New comment by andrewaylett in "Brits would quite like their private messages to stay private"]]></title><description><![CDATA[
<p>Which was, procedurally, the correct course of action: the referendum <i>was</i> non-binding, because the UK's constitution only allows for non-binding referendums.  Parliament is sovereign, whether you and I like it or not (and I'm generally ambivalent about it).<p>Given one of the major themes of the leave campaign was "restoring parliamentary sovereignty", it's darkly ironic that leave also campaigned against parliament actually using that sovereignty, and indeed came closer than anyone else (including the EU) to restricting parliamentary sovereignty.</p>
]]></description><pubDate>Sun, 30 Aug 2026 11:19:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49497694</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49497694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49497694</guid></item><item><title><![CDATA[New comment by andrewaylett in "Asus Bike Booster"]]></title><description><![CDATA[
<p>There's a big difference between an "ebike" and an electric motorbike.<p>Ebikes are pedal assist, power limited, and limited to only assist up to a certain speed.  You can go as fast as you're able, but if you're above (commonly) 25km/h the motor won't help you.  They're allowed anywhere you're allowed a non-assisted bicycle.<p>Electric motorbikes may be limited by the manufacturer in order to achieve a certain license class, but once you get past the low power classes, they're only as limited as their petrol cousins.  They're only allowed on roads.<p>Any middle ground, including things that look like bicycles but don't require the rider to peddle, fall either into the "electric motorbike" category or into the "not roadworthy" category.  Riding them without a proper license, insurance, and equipment is illegal.<p>Somewhat unfortunately, much of the press seems to want to class the non-roadworthy motorised vehicles as a special case of "ebike" rather than the general case of "motorbike".<p>(And to your first point: yes there are speed limits but it's fairly common for cars and motorbikes to be <i>able</i> to go much faster than the limit.  In first gear, even, for motorbikes.)</p>
]]></description><pubDate>Sun, 16 Aug 2026 21:46:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=49324038</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49324038</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49324038</guid></item><item><title><![CDATA[New comment by andrewaylett in "Stacked PRs are now live on GitHub"]]></title><description><![CDATA[
<p>GitHub will now maintain approval if a rebase doesn't result in a changed diff.  Small things :P.</p>
]]></description><pubDate>Fri, 31 Jul 2026 21:03:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49128487</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49128487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49128487</guid></item><item><title><![CDATA[New comment by andrewaylett in "We Gave GPT 5.6 Sol a Real Business. It Lied, Spammed, and Lost $447"]]></title><description><![CDATA[
<p>If you're going to give an LLM a tool that lets it send emails, set it up so you can <i>read the emails before releasing them</i>.<p>It's not the LLM that spammed, it's the people who set up the LLM.</p>
]]></description><pubDate>Thu, 30 Jul 2026 22:36:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49116749</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49116749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49116749</guid></item><item><title><![CDATA[New comment by andrewaylett in "Stacked PRs are now live on GitHub"]]></title><description><![CDATA[
<p>Indeed.  But lots of people have never even <i>heard</i> of Gerrit :P.<p>And the implementation feels very much like it sits in the UI layer, rather than further down the stack.<p>I'm not trying to claim stacking PRs in this way is the <i>best</i> way (it's not).  But it does add an extra affordance for those who want it without burdening those who don't with the need to understand why someone would prefer it.<p>And there are also plenty of ways that people have been working around GitHub's (and to a lesser extent, git's) lack of tooling for working on changes in this way.  I'm sure they have customers clamouring for the feature; whether they'll be happy with what they get remains to be seen.<p>(Very happy jujutsu user here, my tooling makes it really easy to create stacked commits with a stable identifier that maps really easily to branches and then onwards to running `gh stack`, but what GitHub have delivered is <i>definitely</i> still lacking)</p>
]]></description><pubDate>Thu, 30 Jul 2026 22:24:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=49116653</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49116653</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49116653</guid></item><item><title><![CDATA[New comment by andrewaylett in "Stacked PRs are now live on GitHub"]]></title><description><![CDATA[
<p>They don't.  But reviewing individual commits in the GitHub UI is hard.<p>A set of stacked PRs is <i>exactly the same</i> as a line of commits.  The only difference is the UI, but the UI is the important bit here because <i>lack</i> of UI is what's stopping folk from doing that today.<p>Even when I've developed my changes as a stack of commits, I'll feed them to my team one commit (and one PR) at a time so they're easier to review — and I discovered that GitHub had turned on stacked commits UI because for one particular project I'd manually created a set of PRs in advance (with the right bases) and GitHub offered to create a stack out of them.</p>
]]></description><pubDate>Thu, 30 Jul 2026 19:27:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49114547</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49114547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49114547</guid></item><item><title><![CDATA[New comment by andrewaylett in "Netflix employee fired for sharing personal details in retreat trust exercise"]]></title><description><![CDATA[
<p>Any claims are irrelevant to the inherent adversarial nature of the role, which comes from the authority they wield.<p>Edit: which also means you're not <i>wrong</i>, if you've got claims that trigger damage control then HR are <i>even less</i> your friend.</p>
]]></description><pubDate>Tue, 28 Jul 2026 13:37:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=49083684</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49083684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49083684</guid></item><item><title><![CDATA[New comment by andrewaylett in "Netflix employee fired for sharing personal details in retreat trust exercise"]]></title><description><![CDATA[
<p>Even <i>if</i> the people working in HR genuinely want to do the right thing for the employees, and company policies support them doing that, interactions with HR are inherently adversarial.<p>The people within HR may be friendly, they've probably got friends :).  It can be a very people-oriented role.  But they are incapable of being <i>your</i> friend when you're interacting with them in their role as representative for the company.<p>I greatly appreciate my employer's HR folk, they're really lovely, very good at their jobs, and want to help.  But if I have to have a formal meeting with them, I would definitely bring along my union rep.</p>
]]></description><pubDate>Tue, 28 Jul 2026 10:03:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49081674</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49081674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49081674</guid></item><item><title><![CDATA[New comment by andrewaylett in "Htmx 4.0, the first JavaScript library to release exclusively on the Game Boy"]]></title><description><![CDATA[
<p>OK, while the fix was pretty easy (stopping wrapping static content in Suspense), actually getting it deployed was delayed :P.  But it's fixed now.</p>
]]></description><pubDate>Mon, 27 Jul 2026 23:00:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=49076675</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49076675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49076675</guid></item><item><title><![CDATA[New comment by andrewaylett in "Htmx 4.0, the first JavaScript library to release exclusively on the Game Boy"]]></title><description><![CDATA[
<p>Indeed.  And the amusing/disappointing/frustrating thing is: my next.js site <i>works if you turn off JS</i>.  Links are server-rendered as links, HTML is server-rendered as HTML.  If you visit one of the tools that run on the client then <i>they</i> won't work, but the pages that could be static content?  They're static content.<p>Or at least they were, until I started using cache components the other week, and I'd not noticed they'd regressed.  That's frustrating.  Give me a few minutes...</p>
]]></description><pubDate>Sun, 26 Jul 2026 22:16:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49062989</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49062989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49062989</guid></item><item><title><![CDATA[New comment by andrewaylett in "Why do you suck at juggling now?"]]></title><description><![CDATA[
<p>This works whether or not what you're working on is <i>supposed</i> to be magic.</p>
]]></description><pubDate>Wed, 22 Jul 2026 17:16:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=49010106</link><dc:creator>andrewaylett</dc:creator><comments>https://news.ycombinator.com/item?id=49010106</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49010106</guid></item></channel></rss>