<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: jpollock</title><link>https://news.ycombinator.com/user?id=jpollock</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 29 May 2026 16:43:01 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jpollock" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jpollock in "The four-day workweek in Australia: insights from early adopters of 100:80:100"]]></title><description><![CDATA[
<p>Glancing through the study, I'm curious about both sample bias, and the lack of formal measurement. I'm not an expert in this type of thing, not even an amateur. I'm poking holes to see what's left.<p>"Participants were identified via media reports featuring Australian firms trialling the 100:80:100 model, in addition to companies listed on recruitment sites that specialise in 4DWW jobs. In other instances, eligible organisations were recommended by the participants themselves."<p>I'd expect organisations with positive results will be the ones recommended by other participants - "talk to these people, it worked for them too!"<p>I'm also interested in whether or not organisations converted all staff to 100:80:100, or if it was optional. Is the performance driven by peer pressure?<p>Finally, the participants' measures of productivity will have significant lag time in them, so it depends on trial's length, e.g. "revenue", "profit", "csat", "projects delivered on time", "net promoter score".<p>Table 1 has "Duration", but the units are unlabelled, if it's weeks, it's less than a year, months is probably better for seeing performance changes.<p>It's an interesting qualitative study, I'd certainly like a four day work week with no change in comp.</p>
]]></description><pubDate>Sun, 24 May 2026 23:00:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48261873</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=48261873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48261873</guid></item><item><title><![CDATA[New comment by jpollock in "Incident Report: Railway Blocked by Google Cloud [resolved]"]]></title><description><![CDATA[
<p>It's not a single payment failure, it would be multiple days, possibly even a week to 10days.<p>This is why businesses should put in the effort and sign up for credit terms. Then it's an invoice, and you reduce this risk substantially.<p>Credit cards are _not_ reliable at this scale. Banks are offline all the time, cards are marked stolen, protocols change, all sorts of things that will cause flags indicating "the money can't move down that path".<p>Businesses that pay for AWS/Cloud/etc via credit cards are trying to buy reliability but put it behind a single point of failure.<p>Credit cards are not how you should be paying for business services with uptime requirements!</p>
]]></description><pubDate>Wed, 20 May 2026 21:13:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48214207</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=48214207</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48214207</guid></item><item><title><![CDATA[New comment by jpollock in "Incident Report: Railway Blocked by Google Cloud [resolved]"]]></title><description><![CDATA[
<p>There would have been efforts to contact them, but it would have been via their contact method, aka the email they set it up with.<p>Common ways this happens?  They are using a credit card to run their business with no backup payment method. Then the company's contact person is on vacation.<p>Sign up for terms. It will get you payment terms!</p>
]]></description><pubDate>Wed, 20 May 2026 02:07:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48202238</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=48202238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48202238</guid></item><item><title><![CDATA[New comment by jpollock in "An AI coding agent, used to write code, needs to reduce your maintenance costs"]]></title><description><![CDATA[
<p>Do any refactorings in separate reviews, and say things like "REFACTOR_ONLY:", with a rule that none of the code changes behavior.<p>That makes reviews a lot easier. The review starts from "nothing should be changing" and then reviewers can pattern match on that.<p>Otherwise, the reviewer is re-evaluating every line of code to make sure nothing has changed. That's really hard to do properly.<p>The version control systems I've worked with have allowed queues of changes, each one reviewed independently. As I'm developing, if I need a refactor, I go up a commit, refactor, send out for review, rebase my in progress work and continue.<p>I send out a continual stream of "CLEANUP:" "REFACTOR_ONLY:", and similar changes with the final change being a lot smaller than a big monster of a change.<p>Your reviewers will appreciate the effort.<p>Plays the metric game (if you're working in that type of org) without being evil too.</p>
]]></description><pubDate>Mon, 11 May 2026 09:22:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48092793</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=48092793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48092793</guid></item><item><title><![CDATA[New comment by jpollock in "Maybe you shouldn't install new software for a bit"]]></title><description><![CDATA[
<p>Well, I think there are two things at play here.<p>1) As org size grows, it's the team's average quality that matters (so yes, large numbers).<p>2) Even with a single team, the velocity will increase to match the acceptable level of quality.<p>Management will push the accelerator until they get too many bugs, then it will be "we need fewer outages".<p>So, in an team+environment, you end up with a constant (in time) detection rate, which basically means a constant in time injection rate.<p>If the teams' velocity increases without increasing quality, the bug injection rate (and detection rate) will increase.<p>AKA if the AI is slightly worse, but 10x faster, stop carrying the pager. :)</p>
]]></description><pubDate>Sat, 09 May 2026 07:47:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48072859</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=48072859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48072859</guid></item><item><title><![CDATA[New comment by jpollock in "Maybe you shouldn't install new software for a bit"]]></title><description><![CDATA[
<p>Yes, that is what is required. Every dependency needs an internal owner and reviewer. Every change needs to be reviewed and brought into the internal repository.<p>If no one is willing to stand up and say "yes this is safe and of acceptable quality", why use it?<p>It's a software engineering version of the professional engineering stamp.</p>
]]></description><pubDate>Fri, 08 May 2026 03:25:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48058137</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=48058137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48058137</guid></item><item><title><![CDATA[New comment by jpollock in "Maybe you shouldn't install new software for a bit"]]></title><description><![CDATA[
<p>Faults are injected into the code at a constant rate per developer. Then there's the intentional injections.<p>Auto-installing random software is the problem. It was a problem when our parents did it, why would it be a good idea for developers to do it?</p>
]]></description><pubDate>Fri, 08 May 2026 03:21:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48058118</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=48058118</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48058118</guid></item><item><title><![CDATA[New comment by jpollock in "The bottleneck was never the code"]]></title><description><![CDATA[
<p>Code you ship vs tooling you use to build the code.<p>So, the product vs everything that is needed on the way, but isn’t the core.<p>CI/CD tooling, template population…. Things you write a use once/use few script for.<p>I typically end up with a library of tools to deal with repetitive finicky tasks.</p>
]]></description><pubDate>Wed, 06 May 2026 12:31:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48035464</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=48035464</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48035464</guid></item><item><title><![CDATA[New comment by jpollock in "Laws of Software Engineering"]]></title><description><![CDATA[
<p>You are communicating with future readers of the code. The presence of ConcurrentHashMap will lead future engineers into believing the code is threadsafe. This isn't true, and believing it is dangerous.</p>
]]></description><pubDate>Tue, 21 Apr 2026 23:47:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47856471</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47856471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47856471</guid></item><item><title><![CDATA[New comment by jpollock in "All phones sold in the EU to have replaceable batteries from 2027"]]></title><description><![CDATA[
<p>A replaceable battery needs protection.  One in the device gets protection from the device.</p>
]]></description><pubDate>Mon, 20 Apr 2026 23:35:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47842572</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47842572</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47842572</guid></item><item><title><![CDATA[New comment by jpollock in "Anastasia (1997) live action reference material"]]></title><description><![CDATA[
<p>The video title is searchable on YouTube:<p>The Making of Anastasia (1997):<p><a href="https://www.youtube.com/watch?v=mWffn2clRGk" rel="nofollow">https://www.youtube.com/watch?v=mWffn2clRGk</a><p>To the discussion of live-action reference:<p><a href="https://youtu.be/mWffn2clRGk?t=941" rel="nofollow">https://youtu.be/mWffn2clRGk?t=941</a></p>
]]></description><pubDate>Tue, 14 Apr 2026 07:09:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762257</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47762257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762257</guid></item><item><title><![CDATA[New comment by jpollock in "Async Python Is Secretly Deterministic"]]></title><description><![CDATA[
<p>That's deterministic dispatch, as soon as it forks or communicates, it is non deterministic again?<p>Don't you need something like a network clock to get deterministic replay?<p>It can't use immediate return on replay, or else the order will change.<p>This makes me twitchy.  The dependencies should be better modelled, and idempotency used instead of logging and caching.</p>
]]></description><pubDate>Fri, 03 Apr 2026 20:11:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47631601</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47631601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47631601</guid></item><item><title><![CDATA[New comment by jpollock in "The Claude Code Source Leak: fake tools, frustration regexes, undercover mode"]]></title><description><![CDATA[
<p>Yes, it sets the reviewer's expectations around how much effort was spent reviewing the code before it was sent.<p>I regularly have tool-generated commits. I send them out with a reference to the tool, what the process is, how much it's been reviewed and what the expectation is of the reviewer.<p>Otherwise, they all assume "human authored" and "human sponsored". Reviewers will then send comments (instead of proposing the fix themselves). When you're wrangling several hundred changes, that becomes unworkable.</p>
]]></description><pubDate>Wed, 01 Apr 2026 00:13:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47595184</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47595184</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47595184</guid></item><item><title><![CDATA[New comment by jpollock in "Android Developer Verification"]]></title><description><![CDATA[
<p>That can have some very extreme legal ramifications.<p>Consider - it's a voip dialing client which has a requirement to provide location for E911 support.<p>If the OS vendor starts providing invalid data, it's the OS vendor which ends up being liable for the person's death.<p>e.g. <a href="https://www.cnet.com/home/internet/texas-sues-vonage-over-911-problem/" rel="nofollow">https://www.cnet.com/home/internet/texas-sues-vonage-over-91...</a><p>which is from 2005, but gives you an idea of the liability involved.</p>
]]></description><pubDate>Tue, 31 Mar 2026 04:43:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47582844</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47582844</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47582844</guid></item><item><title><![CDATA[New comment by jpollock in "We should revisit literate programming in the agent era"]]></title><description><![CDATA[
<p>Documentation rots a lot more quickly than the code - it doesn't need to be correct for the code to work. You are usually better off ignoring the comments (even more so the design document) and going straight to the code.</p>
]]></description><pubDate>Sun, 08 Mar 2026 22:09:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47302108</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47302108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47302108</guid></item><item><title><![CDATA[New comment by jpollock in "Labor market impacts of AI: A new measure and early evidence"]]></title><description><![CDATA[
<p>The last time I tried AI, I tested it with a stopwatch.<p>The group used feature flags...<p><pre><code>    if (a) {
       // new code
    } else {
       // old code
    }

    void testOff() {
       disableFlag(a);
       // test it still works
    }
    
    void testOn() {
        enableFlag(a);
        // test it still works
    }
</code></pre>
However, as with any cleanup, it doesn't happen. We have thousands of these things lying around taking up space. I thought "I can give this to the AI, it won't get bored or complain."<p>I can do one flag in ~3minutes. Code edit, pr prepped and sent.<p>The AI can do one in 10mins, but I couldn't look away. It kept trying to use find/grep to search through a huge repo to find symbols (instead of the MCP service).<p>Then it ignored instructions and didn't clean up one or the other test, left unused fields or parameters and generally made a mess.<p>Finally, I needed to review and fix the results, taking another 3-5 minutes, with no guarantee that it compiled.<p>At that point, a task that takes me 3 minutes has taken me 15.<p>Sure, it made code changes, and felt "cool", but it cost the company 5x the cost of not using the AI (before considering the token cost).<p>Even worse, the CI/CD system couldn't keep up the my individual velocity of cleaning these up, using an automated tool? Yeah, not going to be pleasant.<p>However, I need to try again, everyone's saying there was a step change in December.</p>
]]></description><pubDate>Fri, 06 Mar 2026 08:16:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47272353</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47272353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47272353</guid></item><item><title><![CDATA[New comment by jpollock in "Nobody gets promoted for simplicity"]]></title><description><![CDATA[
<p>Won't that show up in roi numbers?</p>
]]></description><pubDate>Wed, 04 Mar 2026 19:24:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47252507</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47252507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47252507</guid></item><item><title><![CDATA[New comment by jpollock in "Nobody gets promoted for simplicity"]]></title><description><![CDATA[
<p>There are definite discontinuities in there. What works for a team of 5 is different to 50 is different to 500.<p>Even just taking fault incidence rates, assuming constant injection per dev hour...</p>
]]></description><pubDate>Wed, 04 Mar 2026 19:23:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47252499</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47252499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47252499</guid></item><item><title><![CDATA[New comment by jpollock in "When AI writes the software, who verifies it?"]]></title><description><![CDATA[
<p>If the llm is able to code it, there is enough training data that youight be better off in a different language that removes the boilerplate.</p>
]]></description><pubDate>Tue, 03 Mar 2026 22:51:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47240235</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47240235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47240235</guid></item><item><title><![CDATA[New comment by jpollock in "What does " 2>&1 " mean?"]]></title><description><![CDATA[
<p>There are a couple of ways to figure out.<p>open a terminal (OSX/Linux) and type:<p><pre><code>    man dup
</code></pre>
open a browser window and search for:<p><pre><code>    man dup
</code></pre>
Both will bring up the man page for the function call.<p>To get recursive, you can try:<p><pre><code>    man man unix
</code></pre>
(the unix is important, otherwise it gives you manly men)</p>
]]></description><pubDate>Thu, 26 Feb 2026 23:52:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47174093</link><dc:creator>jpollock</dc:creator><comments>https://news.ycombinator.com/item?id=47174093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47174093</guid></item></channel></rss>