<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: patrickthebold</title><link>https://news.ycombinator.com/user?id=patrickthebold</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 18 Apr 2026 10:26:10 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=patrickthebold" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by patrickthebold in "Where did my taxes go?"]]></title><description><![CDATA[
<p>Somewhat off topic, but I've always wanted to know _who_ gets my tax dollars more than what they were spent on. For example, a middle class salary to someone building bombs in Ohio is different than a wealthy investor who owns shares in some educational company that provides standardized tests to local public schools.</p>
]]></description><pubDate>Wed, 15 Apr 2026 17:25:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47782262</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=47782262</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47782262</guid></item><item><title><![CDATA[New comment by patrickthebold in "GitHub Stacked PRs"]]></title><description><![CDATA[
<p>I'm not sure I follow your workflow exactly. If PR B is merged, then I'd expect PR A to already be merged (I'd normally branch off of A to make B.)<p>That said, after the squash merge of A and git fetch origin, you want something like git rebase --update-refs --onto origin/main A C (or whatever the tip of the chain of branches is)<p>The --update-refs will make sure pr B is in the right spot. Of course, you need to (force) push the updated branches. AFAICT the gh command line tool makes this a bit smoother.</p>
]]></description><pubDate>Tue, 14 Apr 2026 00:10:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47759611</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=47759611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47759611</guid></item><item><title><![CDATA[New comment by patrickthebold in "Combinators"]]></title><description><![CDATA[
<p>It helps if you click the link of the operator(s) under TinyAPL. For example Blackbird goes to <a href="https://tinyapl.rubenverg.com/docs/primitive/atop" rel="nofollow">https://tinyapl.rubenverg.com/docs/primitive/atop</a><p>Which seems to be function composition and some extra rules about if there's 1 or 2 arguments, so the 2 arguments go to G and F is applied as a single argument function. Anyway if you click on a few of these an look at the red text in the upper right it's fairly clear what it's doing.</p>
]]></description><pubDate>Tue, 31 Mar 2026 21:23:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47593642</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=47593642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47593642</guid></item><item><title><![CDATA[New comment by patrickthebold in "Rob Pike’s Rules of Programming (1989)"]]></title><description><![CDATA[
<p>Reminds me of this quote which I recently found and like:<p>> look, I'm sorry, but the rule is simple:
if you made something 2x faster, you might have done something smart
if you made something 100x faster, you definitely just stopped doing something stupid<p><a href="https://x.com/rygorous/status/1271296834439282690" rel="nofollow">https://x.com/rygorous/status/1271296834439282690</a></p>
]]></description><pubDate>Wed, 18 Mar 2026 16:18:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47427657</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=47427657</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47427657</guid></item><item><title><![CDATA[New comment by patrickthebold in "A case for Go as the best language for AI agents"]]></title><description><![CDATA[
<p>Yes, I really wanted to post the comment and I (wrongly) thought this post got blocked by my procrastination setting. Apologies for the noise.</p>
]]></description><pubDate>Mon, 02 Mar 2026 22:03:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47224804</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=47224804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47224804</guid></item><item><title><![CDATA[New comment by patrickthebold in "A case for Go as the best language for AI agents"]]></title><description><![CDATA[
<p>I happen to just stumble across this article <a href="https://felixbarbalet.com/simple-made-inevitable-the-economics-of-language-choice-in-the-llm-era/" rel="nofollow">https://felixbarbalet.com/simple-made-inevitable-the-economi...</a> extolling the virtues of Clojure. It specifically calls out Go for not being simple in the ways that matter for LLMs.<p>I've no idea myself, I just thought it was interesting for comparison.</p>
]]></description><pubDate>Mon, 02 Mar 2026 19:16:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47222683</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=47222683</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47222683</guid></item><item><title><![CDATA[New comment by patrickthebold in "Sabotaging Bitcoin"]]></title><description><![CDATA[
<p>This is interesting to think about: For gold I'd say the demand is coming from both industries and from people who want it as a store of value. If it was only used as an industrial chemical, then surely the price would drop because there would be less demand.<p>Some bitcoin advocates will talk about how useful it is as a currency, and I wonder how much bitcoin is actually used for purposes other then to hope you can sell it to someone else for more than you paid.</p>
]]></description><pubDate>Wed, 31 Dec 2025 05:10:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46441517</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=46441517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46441517</guid></item><item><title><![CDATA[New comment by patrickthebold in "When 1+1+1 Equals 1"]]></title><description><![CDATA[
<p>I'd be good to give an example of where the 'only if' doesn't apply. If only to clear up the confusion.</p>
]]></description><pubDate>Tue, 18 Nov 2025 21:34:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45972440</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=45972440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45972440</guid></item><item><title><![CDATA[New comment by patrickthebold in "The last-ever penny will be minted today in Philadelphia"]]></title><description><![CDATA[
<p>of course 9.99...(repeating) is mathematically 10, so I have a hard time being against allowing that.</p>
]]></description><pubDate>Wed, 12 Nov 2025 21:12:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45906771</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=45906771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45906771</guid></item><item><title><![CDATA[New comment by patrickthebold in "The last-ever penny will be minted today in Philadelphia"]]></title><description><![CDATA[
<p>Half a quarter.</p>
]]></description><pubDate>Wed, 12 Nov 2025 21:09:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45906731</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=45906731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45906731</guid></item><item><title><![CDATA[New comment by patrickthebold in "The last-ever penny will be minted today in Philadelphia"]]></title><description><![CDATA[
<p>Is gas sold as a whole penny amounts in those locations? Where I am it's always something and 9/10ths of a cent.</p>
]]></description><pubDate>Wed, 12 Nov 2025 20:56:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45906543</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=45906543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45906543</guid></item><item><title><![CDATA[New comment by patrickthebold in "How the cochlea computes (2024)"]]></title><description><![CDATA[
<p>I think I might be missing something basic, but if you actually wanted to do a Fourier transform on the sound hitting your ear, wouldn't you need to wait your entire lifetime to compute it? It seems pretty clear that's not what is happening, since you can actually hear things as they happen.</p>
]]></description><pubDate>Thu, 30 Oct 2025 19:57:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45764582</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=45764582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45764582</guid></item><item><title><![CDATA[New comment by patrickthebold in "New Mexico is first state in US to offer universal child care"]]></title><description><![CDATA[
<p>I agree.<p>Ideally we could just increase the tax credits so it's large enough to cover the childcare expenses (and other necessities), and let the families decide what is best. And yes, some people are going to do a bad job taking care of their kids and spend the money on something else. But my understanding is that it generally works well to just give people money, rather than pay for specific things.</p>
]]></description><pubDate>Tue, 09 Sep 2025 15:22:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45183226</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=45183226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45183226</guid></item><item><title><![CDATA[New comment by patrickthebold in "Amazon has mostly sat out the AI talent war"]]></title><description><![CDATA[
<p>One thought I had recently: Their shareholders are probably mostly the same people. So why even compete?</p>
]]></description><pubDate>Mon, 01 Sep 2025 23:22:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45097494</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=45097494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45097494</guid></item><item><title><![CDATA[New comment by patrickthebold in "Show HN: I was curious about spherical helix, ended up making this visualization"]]></title><description><![CDATA[
<p>Just a thought: Make the velocity of the path constant. There should be some way to take a derivative an set it to a constant and solve for z. ( or really reparameterize the curve t' = f(t)) so the velocity is constant.<p>Actually, now that I think about it, choosing z = c * t is kind of both influencing how the path is parameterized as well as the path carved out on the sphere.</p>
]]></description><pubDate>Wed, 20 Aug 2025 18:20:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=44964630</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=44964630</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44964630</guid></item><item><title><![CDATA[New comment by patrickthebold in "The Useless UseCallback"]]></title><description><![CDATA[
<p>I happen to also have thought about this. Effects would listen to the global state and if needed do their side effect and update the state. As a type it's just State -> State, with an implicit side effect.<p>As an example: Say the user clicks a button to submit a form, clicking the button updates the local state to include something like `status: 'SUBMIT_REQUESTED'` then you make the request conditionally, and update the state to `status: 'IN_PROGRESS'`.<p>It might become a mess, but the point is to do no side effects based on any events, all effects happen conditionally based on the state. My hope is the forces you to actually track everything you should be tracking in your state object.</p>
]]></description><pubDate>Tue, 29 Jul 2025 23:02:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=44729258</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=44729258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44729258</guid></item><item><title><![CDATA[New comment by patrickthebold in "The Useless UseCallback"]]></title><description><![CDATA[
<p>I've been toying with an idea of a pattern. I'm curious as to if it has a name. I'll write a blog post once I have an app using it. In the meantime, it's (roughly):<p><pre><code>  - No Hooks.
  - Don't try to sync any state. E.g. keep a dom element as the source of truth but provide access to it globally, let's call this external state.
  - Keep all other state in one (root) immutable global object.
  - Make a tree of derived state coming from the root state and other globally available state. (These are like selectors and those computations should memoized similar to re-select)
  - Now imagine at any point in time you have another tree; the dom tree. If you try to make the state tree match to dom tree you get prop drilling. 
  - Instead, flip the dom tree upside down and the leaves get their data out of the memoized global state. 
  - Parent components never pass props to children, the rendered children are passed as props to the parent. 
</code></pre>
You end up with a diamond with all state on the top and the root of the dom tree on the bottom.<p>One note, is that the tree is lazy as well as memoized, there's potentially many computations that don't actually need to be computed at all at any given time.<p>You need something like Rx to make an observable of the root state, some other tools to know when the external state changes. Some memoization library, and the react is left with just the dom diffing, but at that point you should swap out to a simpler alternative.</p>
]]></description><pubDate>Mon, 28 Jul 2025 23:55:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=44717289</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=44717289</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44717289</guid></item><item><title><![CDATA[New comment by patrickthebold in "The death of partying in the USA"]]></title><description><![CDATA[
<p>Reminds me of the Jonathan Richman classic: <a href="https://www.youtube.com/watch?v=Y6Pg9IGgQpY" rel="nofollow">https://www.youtube.com/watch?v=Y6Pg9IGgQpY</a></p>
]]></description><pubDate>Wed, 09 Jul 2025 22:03:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44515159</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=44515159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44515159</guid></item><item><title><![CDATA[New comment by patrickthebold in "Converting a Git repo from tabs to spaces (2016)"]]></title><description><![CDATA[
<p>Is .git-blame-ignore-revs what you are looking for?</p>
]]></description><pubDate>Fri, 02 May 2025 13:48:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43869722</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=43869722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43869722</guid></item><item><title><![CDATA[New comment by patrickthebold in "Numbering should start at zero (1982)"]]></title><description><![CDATA[
<p>The reminds me of the pain I felt seeing how the blacktop was painted at the local elementary school:<p>They had a 6 x 6 grid with 26 letters, then the digits 1-9, then an extra X to fill in the space left over. :facepalm:</p>
]]></description><pubDate>Fri, 21 Mar 2025 20:55:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=43440736</link><dc:creator>patrickthebold</dc:creator><comments>https://news.ycombinator.com/item?id=43440736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43440736</guid></item></channel></rss>