<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: haroldl</title><link>https://news.ycombinator.com/user?id=haroldl</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 17 Sep 2026 13:20:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=haroldl" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by haroldl in "Training a 4B model to produce 81% faster query plans than Postgres"]]></title><description><![CDATA[
<p>You create formulas to estimate the cost of running a given query plan. Use statistics collected about the tables (e.g. how many rows) to try to be accurate. The topic is "Cost Based Optimization".</p>
]]></description><pubDate>Thu, 17 Sep 2026 00:25:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=49734906</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=49734906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49734906</guid></item><item><title><![CDATA[Cybertruck Rusting? That's Normal]]></title><description><![CDATA[
<p>Article URL: <a href="https://autobuyersguide.com/cybertruck-rusting-thats-actually-normal/">https://autobuyersguide.com/cybertruck-rusting-thats-actually-normal/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43737430">https://news.ycombinator.com/item?id=43737430</a></p>
<p>Points: 37</p>
<p># Comments: 2</p>
]]></description><pubDate>Sat, 19 Apr 2025 16:24:51 +0000</pubDate><link>https://autobuyersguide.com/cybertruck-rusting-thats-actually-normal/</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=43737430</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43737430</guid></item><item><title><![CDATA[New comment by haroldl in "Client libraries are better when they have no API?"]]></title><description><![CDATA[
<p>Person 1 adds code that uses this with Pandas. Person 2 sees the csvbase:// URIs and copy/pastes them to use with some other library Foozle that uses URIs and it works because Foozle also happens to use fsspec. Foozle migrates off of fsspec to some other filesystem wrapper. 3 years later, after persons 1 and 2 have left the company, person 3 bumps the version of Foozle the project uses and suddenly tests are failing because they can't resolve csvbase:// URIs,  but the Foozle release notes say nothing about removing support for csvbase:// URIs.</p>
]]></description><pubDate>Wed, 10 Apr 2024 15:47:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=39992028</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=39992028</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39992028</guid></item><item><title><![CDATA[New comment by haroldl in "January 1, 2024 is Public Domain Day"]]></title><description><![CDATA[
<p>The opening of the animation has the phrase “A Mickey Mouse Sound Cartoon” on screen. IANAL but I saw on the news that this means the character’s name and old-style likeness are fair game for new content by anybody.</p>
]]></description><pubDate>Sun, 31 Dec 2023 18:27:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=38826228</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=38826228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38826228</guid></item><item><title><![CDATA[New comment by haroldl in "Purely Functional Data Structures (1996) [pdf]"]]></title><description><![CDATA[
<p>The most common point is that they're safe to share between threads making parallel algorithms easier to invent, understand, and implement correctly.<p>You can also safely re-use sub-structures without performing a deep copy. For example, if you want to keep a sub-tree around for later you can do that in O(1) time because it's safe to keep a reference to it. If it is a mutable tree you don't know what's going to happen to it so you need to do a deep copy of the entire sub-tree you're holding on to. This can save a lot on memory allocation and copying depending on your use case.</p>
]]></description><pubDate>Tue, 30 May 2023 16:59:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=36127308</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=36127308</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36127308</guid></item><item><title><![CDATA[New comment by haroldl in "Ask HN: Do you recall any book or course that made a topic finally click?"]]></title><description><![CDATA[
<p>I think starting with Standard ML is a good idea. It is the core of ocaml and really highlights the differences with other approaches to programming. I went from SML to ocaml to Haskell.</p>
]]></description><pubDate>Mon, 14 Nov 2022 18:38:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=33598765</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=33598765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33598765</guid></item><item><title><![CDATA[New comment by haroldl in "An Intuition for Lisp Syntax (2020)"]]></title><description><![CDATA[
<p>I've been using Java since version 1.1 and I've seen features added that required a new version of the language spec to go through committee and get implemented before we got to use them where you could just add these features yourself at the top of any Lisp file and then immediately start using them. For example consider the try-with-resources [0] syntax sugar. So instead of thinking "I never actually ran into a need for them", think of new language features that you have started using: those are the kinds of things you could've added yourself.<p>Also look at any kind of code-gen tooling like parser generators or record specifications like Protocol Buffers as examples of what you could do within the language.<p>[0] <a href="https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html" rel="nofollow">https://docs.oracle.com/javase/tutorial/essential/exceptions...</a></p>
]]></description><pubDate>Mon, 29 Aug 2022 05:03:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=32634960</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=32634960</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32634960</guid></item><item><title><![CDATA[New comment by haroldl in "We are all nerds: The literary works of Neal Stephenson"]]></title><description><![CDATA[
<p>It's clear he <i>can</i> do it: the ending of Anathem ties up everything very neatly and it is hard for me to imagine any major events happening in the characters' lifetimes that would rival the plot arc they've been through.</p>
]]></description><pubDate>Sun, 28 Aug 2022 18:00:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=32630450</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=32630450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32630450</guid></item><item><title><![CDATA[New comment by haroldl in "We are all nerds: The literary works of Neal Stephenson"]]></title><description><![CDATA[
<p>I feel that his novels are becoming more and more mainstream friendly, and Termination Shock is my suggestion. The world is very similar to our own, set in the near future (versus The Diamond Age) of our planet (versus Anathem) and is very relatable.<p>My other suggestions would be REAMDE for people who are into action movies or spy novels, or the first half of Seveneves for space nerds.</p>
]]></description><pubDate>Sun, 28 Aug 2022 17:55:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=32630405</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=32630405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32630405</guid></item><item><title><![CDATA[New comment by haroldl in "Investors bought a quarter of US homes sold last year"]]></title><description><![CDATA[
<p>A large enough increase in supply could cause property values to level off while also increasing the vacancy rate for rental properties. I think the idea is that those circumstances would make real estate no longer attractive as an investment.</p>
]]></description><pubDate>Tue, 23 Aug 2022 19:49:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=32570470</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=32570470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32570470</guid></item><item><title><![CDATA[New comment by haroldl in "Meta is raising the price of the Quest 2 to 400 USD"]]></title><description><![CDATA[
<p>Apple is big enough to make it happen and there are plenty of iOS game devs out there to make it a success.</p>
]]></description><pubDate>Tue, 26 Jul 2022 18:38:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=32242133</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=32242133</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32242133</guid></item><item><title><![CDATA[New comment by haroldl in "Ask HN: What are some cool but obscure data structures you know about?"]]></title><description><![CDATA[
<p>In a Scrabble AI coding contest I discovered the GADDAG which is like a trie but indexes all of the words forwards and backwards from any starting point within the words.<p><a href="https://en.wikipedia.org/wiki/GADDAG#:~:text=A%20GADDAG%20is%20a%20data,%22hook%20into%22%20existing%20words" rel="nofollow">https://en.wikipedia.org/wiki/GADDAG#:~:text=A%20GADDAG%20is...</a>.</p>
]]></description><pubDate>Fri, 22 Jul 2022 03:26:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=32188149</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=32188149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32188149</guid></item><item><title><![CDATA[New comment by haroldl in "Hardening the registers: A cascading failure of edge induced fault tolerance"]]></title><description><![CDATA[
<p>This was really interesting both in exploring the architecture of a retail system and looking at how systems fail. Better to read about it and learn than to live it.<p>I'd call it a 4 hour outage because the initial "recovery" was a result of cashiers manually typing in prices for items. Then when load decreased and they discovered that scanning items worked again the problem came right back.<p>Maybe returning 404 for both a cache miss and a "there's no endpoint at this path" error is an issue too. For other status codes there's a distinction between temporary and permanent failure; e.g. 301 versus 302. It would've been good to use HTTP 400 Bad Request for the misconfigured URL and 404 for a cache miss.<p>In the 10% of stores with the early roll out of the config change the cache hit rate went to 0 right away, and that started 12 days before the outage. Alerts on cache hit rates and per-store alerts would've caught that.<p>Then there were 4 days where traffic to the main inventory micro-service in the data center jumped 3x which took it to what appears to be 80% of capacity. Load testing to know your capacity limits and alerts when you near that limit would've called out the danger.<p>Then during the outage when services slowed down due to too many requests they were taken out of rotation for failing health checks. Applying back pressure/load shedding could have kept those servers in active use so that the system could keep up.</p>
]]></description><pubDate>Thu, 23 Jun 2022 15:04:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=31850095</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=31850095</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31850095</guid></item><item><title><![CDATA[New comment by haroldl in "EndBASIC"]]></title><description><![CDATA[
<p>I worked on a C project where we counted 14 different hash table implementations done for different key/value data types strewn through the code.</p>
]]></description><pubDate>Wed, 08 Jun 2022 04:24:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=31663170</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=31663170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31663170</guid></item><item><title><![CDATA[Provocateur Copyrights a Magic: The Gathering Deck]]></title><description><![CDATA[
<p>Article URL: <a href="https://pluralistic.net/2021/08/14/angels-and-demons/#owning-culture">https://pluralistic.net/2021/08/14/angels-and-demons/#owning-culture</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=28189702">https://news.ycombinator.com/item?id=28189702</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 15 Aug 2021 15:48:06 +0000</pubDate><link>https://pluralistic.net/2021/08/14/angels-and-demons/#owning-culture</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=28189702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28189702</guid></item><item><title><![CDATA[New comment by haroldl in "Tips to prevent adoption of your API"]]></title><description><![CDATA[
<p>One reason for tests to hit a real external API is if you're using a "record and replay" test framework to capture the interactions so that you can run the tests against the recorded data quickly later. But because the API calls you make change (and the external implementation changes) you need to re-record from time to time.<p>This strikes a balance where 99% of the time you are making calls that never leave the process for fast testing, but can validate against the real implementation as needed.</p>
]]></description><pubDate>Wed, 16 Jun 2021 17:34:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=27531194</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=27531194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27531194</guid></item><item><title><![CDATA[New comment by haroldl in "2022 Ford F-150 Lightning"]]></title><description><![CDATA[
<p>There is no picture of the entry level model; it says "coming soon". Since the Ford F-150 usually costs a lot to upgrade to 4 full-size doors and a navigation computer, I'm wondering if that will be the case here too. Near the bottom of the page it looks like you have to upgrade two levels to the "Lariat" configuration to get that 15.5 inch touchscreen.</p>
]]></description><pubDate>Fri, 21 May 2021 14:52:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=27234774</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=27234774</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27234774</guid></item><item><title><![CDATA[New comment by haroldl in "You need to be able to run your system"]]></title><description><![CDATA[
<p>In the spirit of the article, I think that the approach would be to ask your partners to provide a sandbox/test environment that your sandbox/test environment can interact with, or test accounts in production at least.</p>
]]></description><pubDate>Fri, 26 Feb 2021 00:12:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=26270066</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=26270066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26270066</guid></item><item><title><![CDATA[New comment by haroldl in "Modeling a Wealth Tax"]]></title><description><![CDATA[
<p>He is not modeling the threshold below which wealth is not taxed. The wealth tax being proposed in California is 0.4% on amounts over $30MM, so the lifetime percentage taken by the government on a $30MM stock cash-out via the proposed wealth tax would be 0%.<p>So the proposal boils down to $30MM tax free, and then 21.4% on the amount over that. But you're also likely to invest that money making, say, 7%. So your return each year on the first $30MM is 7.0% and is 6.6% on the rest after paying this tax.</p>
]]></description><pubDate>Tue, 18 Aug 2020 17:40:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=24201668</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=24201668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24201668</guid></item><item><title><![CDATA[New comment by haroldl in "Crema Coffee in San Jose Closes Due to ADA Lawsuit"]]></title><description><![CDATA[
<p>Sounds like other fixes were needed:<p>"Crema Coffee owner June Tran said bringing her 100-year-old building up to code would cost $100,000."</p>
]]></description><pubDate>Tue, 04 Feb 2020 02:05:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=22231648</link><dc:creator>haroldl</dc:creator><comments>https://news.ycombinator.com/item?id=22231648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22231648</guid></item></channel></rss>