<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: cespare</title><link>https://news.ycombinator.com/user?id=cespare</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 22 Aug 2026 01:48:06 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cespare" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by cespare in "Felony charges for citizen deleting phone data at US Border"]]></title><description><![CDATA[
<p>This defeatism is unhelpful. I'll not simply surrender the country that I love, thanks.</p>
]]></description><pubDate>Fri, 21 Aug 2026 21:10:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49393833</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=49393833</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49393833</guid></item><item><title><![CDATA[New comment by cespare in "Park by Robot at London Gatwick Airport"]]></title><description><![CDATA[
<p>The parent is wondering about parking in the bay, before the robot picks it up.</p>
]]></description><pubDate>Sun, 26 Jul 2026 15:30:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49059133</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=49059133</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49059133</guid></item><item><title><![CDATA[New comment by cespare in "I rewrote PostHog's SQL parser, 70x faster, while barely looking at the code"]]></title><description><![CDATA[
<p>> We didn't write this parser by hand because, at least pre-AI-coding, parsers were extremely difficult to maintain. Writing one without AI would have taken months [...]<p>> Instead, we use ANTLR, a state-of-the-art, open source parser generator.<p>I don't agree with this (pre-AI-coding) take. Hand-rolled parsers are much easier to write well and maintain than people think. They also tend to be much faster and produce much better errors than parser generators. I guess if the language you're trying to parse is, say, C++, then you're going to have a miserable time (probably no matter what). But an SQL parser is very doable. (I say this as the author and maintainer of an in-house SQL dialect thingy at work.)<p>What makes building and maintaining a hand-written parser such a tractable task is:<p>- The code size can be large, but you can start with a core of a few well-chosen abstractions and then you add lots of parsing code for various language constructs but it's all kind of orthogonal and doesn't add compounding complexity as you go.
- It's just about the most testable kind of code there is. You can cover all the various corner cases with tests and really lock in the behavior so that you can very confidently make changes. One approach I like is to make zillions of tiny test files in the target language accompanied by some golden representation of the AST.<p>And of course, as the author found out, these properties make writing a parser a really good task for AI coding, too. These tools are very, very good at generating a bunch of new code based on existing abstractions and covering it with lots of test cases.<p>So I agree with where they ended up, just not where they started :)</p>
]]></description><pubDate>Thu, 25 Jun 2026 03:21:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48668425</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=48668425</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48668425</guid></item><item><title><![CDATA[New comment by cespare in "Kirkland Roundabouts"]]></title><description><![CDATA[
<p>I live a couple of blocks away from this Kirkland roundabout and I drive through it very often -- almost every time I go anywhere. Overall, I like it. My average traversal through the roundabout, for just about any source/destination, seems a bit faster than the pre-roundabout infrastructure and much faster than the temporary so-many-stoplights configuration they had for the past year or two.</p>
]]></description><pubDate>Wed, 17 Jun 2026 04:43:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48565768</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=48565768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48565768</guid></item><item><title><![CDATA[New comment by cespare in "US Government directive to suspend access to Fable 5 and Mythos 5"]]></title><description><![CDATA[
<p>AFAICT this is not talking about Glasswing stuff. They are saying that they were sent a demonstration of Fable 5 being used/abused in some specific way that led to the "discovery" of some minor, already-known vuln, and that other models can find it too. IOW, they're claiming that the USG's complaint is baseless and dumb.</p>
]]></description><pubDate>Sat, 13 Jun 2026 01:20:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48511356</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=48511356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48511356</guid></item><item><title><![CDATA[New comment by cespare in "Efficient String Compression for Modern Database Systems"]]></title><description><![CDATA[
<p>This scheme reminds me of smaz (<a href="https://github.com/antirez/smaz" rel="nofollow">https://github.com/antirez/smaz</a>) but with dynamically generated dictionaries.</p>
]]></description><pubDate>Mon, 02 Feb 2026 05:23:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46852730</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=46852730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46852730</guid></item><item><title><![CDATA[New comment by cespare in "Notepad++ hijacked by state-sponsored actors"]]></title><description><![CDATA[
<p>Skirt too short, in other words?<p>I'm going to place the blame on the party committing the crimes, not the person exercising free expression.</p>
]]></description><pubDate>Mon, 02 Feb 2026 04:19:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46852353</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=46852353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46852353</guid></item><item><title><![CDATA[New comment by cespare in "Things I don't like in configuration languages"]]></title><description><![CDATA[
<p>Personally, I like configuration languages that don't let you "go nuts" in the first place.</p>
]]></description><pubDate>Mon, 17 Nov 2025 19:34:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45957273</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=45957273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45957273</guid></item><item><title><![CDATA[New comment by cespare in "Ask HN: How to deal with long vibe-coded PRs?"]]></title><description><![CDATA[
<p>It is 1995. You get an unsolicited email with a dubious business offer. Upon reflection, you decide it's not worth consideration and delete it. No need to wonder how it was sent to you; that doesn't need to influence the way you handle it.<p>No. We need spam filters for this stuff. If it isn't obvious to you yet, it will be soon. (Or else you're one of the spammers.)</p>
]]></description><pubDate>Tue, 04 Nov 2025 06:01:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45807809</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=45807809</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45807809</guid></item><item><title><![CDATA[New comment by cespare in "GitHub Community Discussions: Past year's top 2 requests are to disable Copilot"]]></title><description><![CDATA[
<p>I had to sort by "Top: last year" to see two Copilot-related issues at the top.<p>They are:<p>- <a href="https://github.com/orgs/community/discussions/159749" rel="nofollow">https://github.com/orgs/community/discussions/159749</a><p>- <a href="https://github.com/orgs/community/discussions/169148" rel="nofollow">https://github.com/orgs/community/discussions/169148</a></p>
]]></description><pubDate>Mon, 08 Sep 2025 04:25:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45164622</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=45164622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45164622</guid></item><item><title><![CDATA[New comment by cespare in "To be a better programmer, write little proofs in your head"]]></title><description><![CDATA[
<p>I really identify with this way of thinking. One domain where it is especially helpful is writing concurrent code. For example, if you have a data structure that uses a mutex, what are the invariants that you are preserving across the critical sections? Or when you're writing a lock-free algorithm, where a proof seems nearly required to have any hope of being correct.</p>
]]></description><pubDate>Tue, 15 Jul 2025 18:27:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=44574349</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=44574349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44574349</guid></item><item><title><![CDATA[New comment by cespare in "Student rocket group shatters amateur space record"]]></title><description><![CDATA[
<p>I was trying to understand how an altitude of 470,000 ft compares to other things, so I looked up a few numbers.<p>470k feet is 143 km. The altitude record for an air-breathing aircraft is 38 km. There are some very low earth orbit satellites that orbit in the sub-200 km range (<a href="https://en.wikipedia.org/wiki/Very_low_Earth_orbit" rel="nofollow">https://en.wikipedia.org/wiki/Very_low_Earth_orbit</a>). The ISS orbits at about 400 km and typical LEO is 800 km. ICBMs have an apogee altitude of 1000 km or more.<p>(Of course, the energy required to get up to some altitude is only a small fraction of the energy required to get into orbit at that altitude. <a href="https://what-if.xkcd.com/58/" rel="nofollow">https://what-if.xkcd.com/58/</a> is a relevant read.)</p>
]]></description><pubDate>Tue, 03 Dec 2024 07:46:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=42303862</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=42303862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42303862</guid></item><item><title><![CDATA[The Tool Cache Manifesto]]></title><description><![CDATA[
<p>Article URL: <a href="https://ctrl-c.us/posts/tool-cache">https://ctrl-c.us/posts/tool-cache</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41443188">https://news.ycombinator.com/item?id=41443188</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 04 Sep 2024 08:25:51 +0000</pubDate><link>https://ctrl-c.us/posts/tool-cache</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=41443188</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41443188</guid></item><item><title><![CDATA[New comment by cespare in "Robots on Lake Michigan beaches to prevent drownings"]]></title><description><![CDATA[
<p><a href="https://archive.is/Kal3q" rel="nofollow">https://archive.is/Kal3q</a></p>
]]></description><pubDate>Mon, 24 Jun 2024 19:31:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=40779736</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=40779736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40779736</guid></item><item><title><![CDATA[New comment by cespare in "Waymo outperforms comparable human benchmarks over 7M+ miles"]]></title><description><![CDATA[
<p>I guess to me it seems like common sense that a system that has substantially fewer crashes also has substantially fewer deaths. Maybe we can't make definitive statements about the expected number of deaths yet, but I think the most reasonable best guess with the information we have is that waymo deaths will be much lower.<p>The alternative requires a scenario where waymo is especially likely to get into fatal accidents while being very good at avoiding non-fatal ones, right? Seems far-fetched.</p>
]]></description><pubDate>Thu, 21 Dec 2023 21:12:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38727016</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=38727016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38727016</guid></item><item><title><![CDATA[New comment by cespare in "Application-specific terminals"]]></title><description><![CDATA[
<p>I've done this for a few years as well. I use a terminal+tmux for most work including quickly editing files here and there but for some reason when I get to "proper" focus-mode programming my brain just wants a separate "application" to look at. And usually the terminal is on my secondary monitor while the "editor" terminal is full-screen on the main monitor.<p>I used to gvim but realized that I was getting almost no benefit (and occasionally the differences between gvim and my terminal caused minor annoyances).<p>Two things I do that help in this regard:<p>I use a tweaked config for the "editor" instance of the terminal that has a slightly different background color from my main terminal. This keeps them separate in my mind.<p>I use dedicated shortcuts for focusing each application I use (browser, terminal, slack, etc) and the "editor" terminal has its own shortcut. (The --class flag that the post mentions kitty has would be pretty helpful in this regard. My terminal doesn't have that so my shortcuts are based on title, which works well enough most of the time.)</p>
]]></description><pubDate>Wed, 20 Sep 2023 17:35:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=37587130</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=37587130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37587130</guid></item><item><title><![CDATA[New comment by cespare in "Can Dell’s 6K monitor beat their 8K monitor?"]]></title><description><![CDATA[
<p>I don't think I'm in any of those groups.<p>I own a variety of monitors and can easily tell the difference between 60hz and 120hz. All things being equal, I of course prefer 120hz (or 165hz as some of my gaming monitors support).<p>I also own monitors at resolutions from 1440p to 4k.<p>For doing work (programming, where I'm mostly looking at text), resolution makes a <i>huge</i> difference. I only do coding on high DPI screens and I would upgrade to 5k or 6k or 8k displays if I were confident that my hardware and OS would support them well. (TFA was very helpful in that respect.) In these settings, high refresh rate makes only a marginal difference to my experience.<p>For gaming, refresh rate makes a much bigger difference, and resolution makes a somewhat smaller difference -- my hardware can't reasonably drive many of the games I play at 4k or higher anyway. So I just use cheaper, lower-resolution monitors that operate at high refresh rates for gaming.<p>Someday I guess I'll just be able to spend $300 for an 8k monitor at 240hz and then I won't have to make this kind of choice. (In fact, in the several years since I last bought gaming hardware I think the options for high-refresh-rate 4k monitors have gotten much better; I might use 4k for gaming if I were buying today.)<p>But for now, I'll always pick resolution over refresh rate for doing work, and it's not because I can't tell the difference.</p>
]]></description><pubDate>Mon, 03 Jul 2023 23:55:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=36580410</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=36580410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36580410</guid></item><item><title><![CDATA[New comment by cespare in "European parliament VP taken into custody"]]></title><description><![CDATA[
<p>Seems intentional. "The trick is not [ignoring the bad thing]".</p>
]]></description><pubDate>Sat, 10 Dec 2022 18:10:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=33935002</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=33935002</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33935002</guid></item><item><title><![CDATA[New comment by cespare in "Physical buttons outperform touchscreens in new cars, test finds"]]></title><description><![CDATA[
<p>Well that's partly sampling bias. You're not likely to own a Tesla if you hate the touch controls. My wife and I went through the car buying process this year and test drove a Model Y. I was pretty meh on the touch interface and my wife hated it. We ended up with a non-Tesla EV.</p>
]]></description><pubDate>Wed, 17 Aug 2022 21:29:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=32501959</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=32501959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32501959</guid></item><item><title><![CDATA[New comment by cespare in "Negative dentries, 20 years later"]]></title><description><![CDATA[
<p>My conclusion at the time was that it was not, strictly speaking, a bug. It seemed to be a sharp edge that was WAI.<p>Considering it again now, I <i>do</i> think it's essentially a bug, but it seems to be a known thing at this point. What I described is the same issue addressed by this unmerged patch: <a href="https://lkml.org/lkml/2017/9/18/739" rel="nofollow">https://lkml.org/lkml/2017/9/18/739</a> (see discussion here: <a href="https://lwn.net/Articles/814535/" rel="nofollow">https://lwn.net/Articles/814535/</a>). And it's mentioned in the article in this HN link:<p>> Those dentries still take up valuable memory, and they can create other problems (such as soft lockups) as well.</p>
]]></description><pubDate>Thu, 14 Apr 2022 01:03:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=31022266</link><dc:creator>cespare</dc:creator><comments>https://news.ycombinator.com/item?id=31022266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31022266</guid></item></channel></rss>