<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: dkubb</title><link>https://news.ycombinator.com/user?id=dkubb</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 12 Oct 2026 00:45:03 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dkubb" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dkubb in "Five months treating bugs like patients and coding agents like a medical team"]]></title><description><![CDATA[
<p>> When issues were decomposed into a DAG, sibling issues would often defer work that they thought that their sibling(s) would handle, and that work sometimes just got dropped.<p>Could you structure the DAG so that after each node that contains the work, you have one dependent node that verifies each distinct requirement was implemented as expected?<p>This way if a single requirement is dropped the system alerts you rather than it being silently dropped.<p>It makes sense intuitively that if a task has nothing that depends on it the LLM might accidentally attempt to drop it (even purposefully as an optimization).</p>
]]></description><pubDate>Sun, 11 Oct 2026 06:40:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=50040345</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=50040345</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50040345</guid></item><item><title><![CDATA[New comment by dkubb in "Allow me to get to know you, mistakes and all"]]></title><description><![CDATA[
<p>The emdash and ellipsis used to be my bread and butter.<p>I just hope the LLMs don’t come for parenthesis for aside comments.</p>
]]></description><pubDate>Sun, 15 Mar 2026 19:41:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47391097</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=47391097</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47391097</guid></item><item><title><![CDATA[New comment by dkubb in "A few random notes from Claude coding quite a bit last few weeks"]]></title><description><![CDATA[
<p>You could probably combat this somewhat with a skill that references to examples of the code you don't want and the code you do. And then each time you tell it to correct the code you ask it to put that example into the references.<p>You then tell your agent to always run that skill prior to moving on. If the examples are pattern matchable you can even have the agent write custom lints if your linter supports extension or even write a poor man’s linter using ast-grep.<p>I usually have a second session running that is mainly there to audit the code and help me add and adjust skills while I keep the main session on the task of working on the feature. I've found this far easier to stay engaged than context switching between unrelated tasks.</p>
]]></description><pubDate>Wed, 28 Jan 2026 16:52:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46797924</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=46797924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46797924</guid></item><item><title><![CDATA[New comment by dkubb in "Writing a good Claude.md"]]></title><description><![CDATA[
<p>I can totally understand where you are coming from with this comment. It does feel a bit frustrating that people are rediscovering things that were written in books 30/40/50 years ago.<p>However, I think this is awesome for the industry. People are rediscovering basic things, but if they didn't know about the existing literature this is a perfect opportunity to refer them to it. And if they were aware, but maybe not practicing it, this is a great time for the ideas to be reinforced.<p>A lot of people, myself included, never really understand which practices are important or not until we were forced to work on a system that was most definitely not written with any good practices in mind.<p>My current view of agentic coding is that it's forcing an entire generation of devs to learn software project management <i>or</i> drowning under the mountain of debt an LLM can produce. Previously it took much longer to feel the weight of bad decisions in a project but an LLM allows you to speed-run this process in a few weeks or months.</p>
]]></description><pubDate>Mon, 01 Dec 2025 18:55:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46111417</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=46111417</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46111417</guid></item><item><title><![CDATA[New comment by dkubb in "Spec-Driven Development: The Waterfall Strikes Back"]]></title><description><![CDATA[
<p>I think that might be the key here.<p>All those small micro decisions, discussions, and dead ends can be recorded and captured by the AI. If you do something that doesn’t make sense given past choices, it can ask you.<p>Gradually, over time, it can gather more and more data that only lives in your brain at the time you’re building. It’s only partially captured by git commits but mostly lost to time.<p>Now, when you change code, the system can say, “Jim wrote that 5 years ago for this reason. Is the reason not valid anymore?”. You might get this on a good code review, but probably not. And definitely not if Jim left 2 years ago.</p>
]]></description><pubDate>Sat, 15 Nov 2025 15:19:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=45937995</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=45937995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45937995</guid></item><item><title><![CDATA[New comment by dkubb in "Stop writing CLI validation. Parse it right the first time"]]></title><description><![CDATA[
<p>The three most common things I think about when coding are DAGs, State Machines and parsing. The latter two come up all the time in regexps which I probably write at least once a day, and I’m always thinking about state transitions and dependencies.</p>
]]></description><pubDate>Sat, 06 Sep 2025 22:18:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45153402</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=45153402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45153402</guid></item><item><title><![CDATA[New comment by dkubb in "I'm dialing back my LLM usage"]]></title><description><![CDATA[
<p>A lot of the time they are selling themselves as influencers on the subject. It’s often a way to get views or attention that they can use in the future.</p>
]]></description><pubDate>Wed, 02 Jul 2025 15:53:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44445260</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=44445260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44445260</guid></item><item><title><![CDATA[New comment by dkubb in "I read all of Cloudflare's Claude-generated commits"]]></title><description><![CDATA[
<p>I love having generated code in the same repo as the generator because with every commit I can regenerate the code and compare it to make sure it stays in sync. Then it forms something similar to a golden tests where if something unexpected changes it gets noticed on review.</p>
]]></description><pubDate>Sat, 07 Jun 2025 21:03:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=44212648</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=44212648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44212648</guid></item><item><title><![CDATA[New comment by dkubb in "Why Cline Doesn't Index Your Codebase (and Why That's a Good Thing)"]]></title><description><![CDATA[
<p>I wonder if the more we use LLMs the more our written patterns will begin to match them. Those of us who work with them the most are likely to be affected earliest.</p>
]]></description><pubDate>Tue, 27 May 2025 18:18:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=44109359</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=44109359</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44109359</guid></item><item><title><![CDATA[New comment by dkubb in "ArkType: Ergonomic TS validator 100x faster than Zod"]]></title><description><![CDATA[
<p>I don’t know too much about about the TS ecosystem but do these new systems you talk about do it via a “Smart Constructor”? That is the pattern I typically use to solve this problem in Haskell and Rust code.</p>
]]></description><pubDate>Sat, 12 Apr 2025 18:44:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43666942</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=43666942</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43666942</guid></item><item><title><![CDATA[New comment by dkubb in "How we applied fuzzing techniques to cURL"]]></title><description><![CDATA[
<p>I once found a confirmed bug in SQLite one time, and it’s the highlight of all my OSS bug reports.<p>Interestingly enough I found it while fuzz testing a query builder and cross testing it against PostgreSQL, MySQL and an in-memory filtering engine I wrote.</p>
]]></description><pubDate>Sat, 02 Mar 2024 00:08:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=39568425</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=39568425</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39568425</guid></item><item><title><![CDATA[New comment by dkubb in "The Ultimate Guide to PostgreSQL Data Change Tracking"]]></title><description><![CDATA[
<p>Has anyone ever implemented a schema where you define a view to return the latest instance of each resource, and it maps INSERT, UPDATE and DELETE to an append only table underneath?<p>I’ve done some of this with an event sourcing system, but not the query rewriting. All my reads use the “latest view”, but the app uses functions to write to the underlying scheme rather than doing “simple” DML.<p>I wondered if keeping the  storage as append only under the hood would keep the app layer simple.</p>
]]></description><pubDate>Sat, 24 Feb 2024 17:19:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=39493242</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=39493242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39493242</guid></item><item><title><![CDATA[New comment by dkubb in "Amazon lays off hundreds in Alexa division"]]></title><description><![CDATA[
<p>Its usually leadership who are the problem if a whole department is failing. If they started firing from the top down they'd eventually reach competent people who stayed with the department out of loyalty or because they felt responsibile to hold things together. Seems such a waste to fire those people too.</p>
]]></description><pubDate>Fri, 17 Nov 2023 19:42:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=38309021</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=38309021</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38309021</guid></item><item><title><![CDATA[New comment by dkubb in "Git rebase, what can go wrong"]]></title><description><![CDATA[
<p>I think the point the GP message is making is that, prior to review/merge you extract atomic commits from your WIP that tell a clear, concise story of how the change was made. The reviewer has less built up context so by chunking it like this they can step through each commit one at a time.<p>IMHO the expectation is that each commit would 100% pass CI, so if you decided to extract some commits and merge that early you can. This is especially useful when a 6 commit PR is reviewed, and the first 3 commits are fine but there is more feedback on the last three. The reviewer can split the first 3 good ones out, get them merged and whittle down the PR to the remaining three. The subsequent follow up will be less.<p>IME team velocity goes up with this too, and it encourages small and easy to review commits like a Remove to be extracted and merged early.<p>Since PRs are always as large or larger than commits, I would much rather have a specific commit flagged than have to wade through the whole  PR diff. If the PR is not familiar to me, I want to increase my effectiveness narrowing down the cause, so I can fix it faster.</p>
]]></description><pubDate>Tue, 07 Nov 2023 07:15:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=38174066</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=38174066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38174066</guid></item><item><title><![CDATA[New comment by dkubb in "HVM updates: simplifications, finally runs on GPUs, 80x speedup on RTX 4090"]]></title><description><![CDATA[
<p>This might be a dumb question, but is it possible to take something like WASM and make it run on HVM?</p>
]]></description><pubDate>Sun, 08 Oct 2023 02:07:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=37807238</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=37807238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37807238</guid></item><item><title><![CDATA[New comment by dkubb in "Pgroll: zero-downtime, reversible schema migrations for Postgres"]]></title><description><![CDATA[
<p>I mentally change schema to namespace when thinking about the postgresql feature.</p>
]]></description><pubDate>Tue, 03 Oct 2023 20:29:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=37757116</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=37757116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37757116</guid></item><item><title><![CDATA[New comment by dkubb in "Goodbye integers, hello UUIDv7"]]></title><description><![CDATA[
<p>If it helps anyone, at work, I open sourced the UUID v7 postgresql function that I wrote: <a href="https://github.com/Betterment/postgresql-uuid-generate-v7">https://github.com/Betterment/postgresql-uuid-generate-v7</a><p>We've seen some amazing benefits, especially around improving the speed of batch inserts.</p>
]]></description><pubDate>Mon, 02 Oct 2023 17:16:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=37741298</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=37741298</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37741298</guid></item><item><title><![CDATA[New comment by dkubb in "ElonJet Is Now Suspended"]]></title><description><![CDATA[
<p>> billionaires tend to get more hate because they simply have more negative impact<p>Not just billionaires, the specific type of billionaire that seeks out fame.<p>There are plenty of billionaires with names you'd not recognize.</p>
]]></description><pubDate>Wed, 14 Dec 2022 17:03:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=33986376</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=33986376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33986376</guid></item><item><title><![CDATA[New comment by dkubb in "Delta CEO wants U.S. to put unruly passengers on 'no-fly' list"]]></title><description><![CDATA[
<p>Also, why don't they share the lists with each other? They don't need government help to do this.<p>If there are privacy issues then they could just share a list of hashes and if someone's legal name hashes to something on the list then you deny them.</p>
]]></description><pubDate>Sat, 05 Feb 2022 16:45:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=30222892</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=30222892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30222892</guid></item><item><title><![CDATA[New comment by dkubb in "Legal Drafting and Computer Programming"]]></title><description><![CDATA[
<p>Reading this code I can't help but try to evaluate it in my head.<p>Question: is there a bug for the assignment of party_not_at_fault? Would you want party2 to be selected if the condition is true?<p>Other languages I've used have the first part be the true branch, and the other the false branch.</p>
]]></description><pubDate>Sat, 25 Dec 2021 07:52:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=29681351</link><dc:creator>dkubb</dc:creator><comments>https://news.ycombinator.com/item?id=29681351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29681351</guid></item></channel></rss>