<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: dkersten</title><link>https://news.ycombinator.com/user?id=dkersten</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 02 Jun 2026 01:56:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dkersten" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dkersten in "Python 3.15: features that didn't make the headlines"]]></title><description><![CDATA[
<p>Only briefly for fun (and OCaml too but very long ago). F# does seem like a language I feel I could really like, though.<p>I’ve tinkered a little in Gleam and Elixir too. Elixir was incredibly enjoyable, and Gleam is a wonderful language that I wish I could work with more, but I don’t really have a use case for it and nobody will pay me to write it…<p>Back in 2009, I also spent a few months playing with Factor (before switching to Clojure because despite Clojure being niche, Factor was even more so). It was an interesting and somewhat mind bending experience.</p>
]]></description><pubDate>Sun, 24 May 2026 22:57:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48261842</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48261842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48261842</guid></item><item><title><![CDATA[New comment by dkersten in "Python 3.15: features that didn't make the headlines"]]></title><description><![CDATA[
<p>Haha thanks. Funny thing is, I’ve been a long time Python fan, learning it in 2001 and using it extensively for a long time. But then I learned Clojure, Typescript, and recently Rust and I’ve found Python to be quite flawed. But it sure does have a cult following.</p>
]]></description><pubDate>Fri, 22 May 2026 07:41:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48233119</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48233119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48233119</guid></item><item><title><![CDATA[New comment by dkersten in "Python 3.15: features that didn't make the headlines"]]></title><description><![CDATA[
<p>Deleted from the current head/trunk of the repo, ie the deployed code.<p>Deleting "from my codebase" doesn't imply deleting it from history or backups. Just that the code isn't present for future edits or deployments.<p>The way you're talking, it sounds like you never delete code from your codebase. Do you just comment it out when you change a line to something else or replace a function with a new one? Just add new files?</p>
]]></description><pubDate>Thu, 21 May 2026 15:12:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48224152</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48224152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48224152</guid></item><item><title><![CDATA[New comment by dkersten in "Python 3.15: features that didn't make the headlines"]]></title><description><![CDATA[
<p>Not the most important thing, but it certainly helps.</p>
]]></description><pubDate>Thu, 21 May 2026 15:10:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48224104</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48224104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48224104</guid></item><item><title><![CDATA[New comment by dkersten in "Python 3.15: features that didn't make the headlines"]]></title><description><![CDATA[
<p>Typescript wins in terms of training data IMHO, by which I mean that the training data is large enough that AI does great with TS, and the language is (IMHO) superior to Python in many ways.<p>I personally now use a mixture of Typescript and Rust for most things, including AI coding. Its been working quite well. (AI doesn't handle Rust as well as TS, in that the code isn't quite idiomatic, but it does ok)</p>
]]></description><pubDate>Thu, 21 May 2026 13:12:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48222087</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48222087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48222087</guid></item><item><title><![CDATA[New comment by dkersten in "Python 3.15: features that didn't make the headlines"]]></title><description><![CDATA[
<p>> You deleted them (never delete anything, isn't this what modern VCS is all about?)<p>The person said: "deleted 100k+ lines this year already moving them to faster languages"<p>Are you saying that when you move code to another language/rewrite in another language, you leave the original languages code in your repo?<p>They didn't say they deleted it from their git history. I delete code all the time (doesn't mean its "gone", just that its not in my git head).</p>
]]></description><pubDate>Thu, 21 May 2026 13:09:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48222048</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48222048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48222048</guid></item><item><title><![CDATA[New comment by dkersten in "Tennessee man jailed 37 days for Trump meme wins settlement after lawsuit"]]></title><description><![CDATA[
<p>But one European countries legal system also doesn’t constitute “most European legal systems”.</p>
]]></description><pubDate>Wed, 20 May 2026 19:05:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48212500</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48212500</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48212500</guid></item><item><title><![CDATA[New comment by dkersten in "How fast is N tokens per second really?"]]></title><description><![CDATA[
<p>It’s GLM 4.7, GPT OSS 120B, or llama 3.1 8B so not exactly the latest or best models.<p>But GLM is good enough for many small tasks, certainly enough to get a taste for Cerebras’ high speeds!<p>[edit: actually that’s just their general models, I can’t see what Cerebras code offers. It was Qwen-coder when it launched but I don’t know what it is now. I think GLM 4.7 but I’m not completely sure]</p>
]]></description><pubDate>Wed, 20 May 2026 18:35:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48212064</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48212064</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48212064</guid></item><item><title><![CDATA[New comment by dkersten in "How fast is N tokens per second really?"]]></title><description><![CDATA[
<p>For small enough tasks with tight enough workflows, you can have it right now. Ie if you can constrain the task to work well with GPT OSS 120B/llama 3.3/qwen 3, then you can get upwards of 600 TPS on groq and up to 3k TPS on Cerebras.<p>Those models aren’t comparable to Opus, or even weaker models like MiniMax, but for certain task (focused context and prompts, strict workflows, single purpose requests) you absolutely can use these models and get insane speeds.</p>
]]></description><pubDate>Wed, 20 May 2026 18:31:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48212008</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48212008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48212008</guid></item><item><title><![CDATA[New comment by dkersten in "When can the C++ compiler devirtualize a call?"]]></title><description><![CDATA[
<p>Fair enough. I didn’t mean to push Rust, which is why I removed the last statement from my original comment. I was really just trying to make an observation that devirtualisation isnt something I need to think about in Rust (you could make an argument that dynamic should be the default and C++ got it right, and it would be an interesting, but different, discussion). I thought that was interesting, as a language design enthusiast.<p>In the OP, there are ten test cases. Some devirtualise. One only on clang, another only on GCC. In Rust, polymorphism is always "devirtualised" unless I say "no, actually, make this dyn", and in many cases, that's actually perfectly fine. It feels like the rational default, you only pay for the dynamic support when you need it. I don't dislike C++, but sometimes it gets exhausting having to remember all the situations where the compiler might do this or that, or I have to write far more complex code via templates or other techniques to get the behavior I want (sure, its been made easier with recent C++ versions, I admit I'm still on C++20 and even then not all of it; originally because compiler support was patchy, now because I just haven't used C++ as much lately). Its that difference that I thought was interesting.</p>
]]></description><pubDate>Tue, 19 May 2026 09:04:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48190993</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48190993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48190993</guid></item><item><title><![CDATA[New comment by dkersten in "When can the C++ compiler devirtualize a call?"]]></title><description><![CDATA[
<p>I feel like it’s still missing the point. In a discussion about devitalisation, I thought it was interesting that it’s not something that you have to think about in Rust, while in C++ you do.</p>
]]></description><pubDate>Tue, 19 May 2026 08:39:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48190792</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48190792</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48190792</guid></item><item><title><![CDATA[New comment by dkersten in "When can the C++ compiler devirtualize a call?"]]></title><description><![CDATA[
<p>I don’t see how that’s relevant when discussing specific language features or semantics, nor how it’s relevant to what I said about Rusts static polymorphism. Nobody is claiming C and C++ didn’t make great contributions or that they aren’t still heavily used.</p>
]]></description><pubDate>Tue, 19 May 2026 08:31:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48190728</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48190728</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48190728</guid></item><item><title><![CDATA[New comment by dkersten in "When can the C++ compiler devirtualize a call?"]]></title><description><![CDATA[
<p>In C++, you can’t have an interface without virtual unless you jump through hoops.<p>In rust, you can have traits without dyn.<p>That is, static polymorphism is the default in rust, while in c++ you must jump through hoops for it (eg, see the excellent EnTT’s static polymorphism companion library).</p>
]]></description><pubDate>Tue, 19 May 2026 08:27:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48190702</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48190702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48190702</guid></item><item><title><![CDATA[New comment by dkersten in "When can the C++ compiler devirtualize a call?"]]></title><description><![CDATA[
<p>I’ve been programming C++ on and off for over 20 years and have had my moments where I’ve checked on godbolt to make sure classes got devirtualised.<p>This year, I’ve finally taken the plunge to properly learn Rust (I’ve used it for little things over the years, but never for anything particularly extensive) and one thing that jumped out at me is that you don’t need to think about it, because Rust makes it explicit: everything is statically known unless you explicitly ask for it to be virtual.<p>[edit: since it wasn’t clear, I mean polymorphism in rust is static by default while in c++ static polymorphism requires relying on the compiler or using templates, otherwise polymorphism is via virtual]<p>It’s was a little annoying at first because some things don’t just work automatically, but once I got used to it, it was wonderful to never have to think about when the compiler might do something. You also don’t need dynamism most of the time.<p>I still like tinkering in C++, but I do find you need to know too much about compiler heuristics.</p>
]]></description><pubDate>Tue, 19 May 2026 07:29:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48190356</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48190356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48190356</guid></item><item><title><![CDATA[New comment by dkersten in "The last six months in LLMs in five minutes"]]></title><description><![CDATA[
<p>While I certainly like parentheses highlighting and rainbow parentheses, I've programmed Clojure without syntax highlighting and while it’s not as nice as it would be with, it’s fine.<p>I’ve also written C++ and Java in Notepad long ago. Not ideal, but hardly a problem.</p>
]]></description><pubDate>Tue, 19 May 2026 07:22:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48190313</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48190313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48190313</guid></item><item><title><![CDATA[New comment by dkersten in "Reimagining the mouse pointer for the AI era"]]></title><description><![CDATA[
<p>> listening to people talk drives my crazy.<p>People have so many verbal tics and filler words too. Anthropic’s Dario says “you know” after every third word, for example.<p>Or they meander around unrelated/unimportant details.</p>
]]></description><pubDate>Wed, 13 May 2026 07:02:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48118703</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48118703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48118703</guid></item><item><title><![CDATA[New comment by dkersten in "I'm going back to writing code by hand"]]></title><description><![CDATA[
<p>> Far and away most programmers today write significantly worse code than LLMs<p>Your experience with LLMs do not match my own. Not to say that I haven’t experienced terrible human written code where I’ve wondered what the author could possibly have been thinking, but overall, I still find LLM written code to be on the poor side.<p>Like, the code itself is ok, but the wider picture reasoning and abstractions are bad. It also makes really dumb decisions far too often. Or doggedly shoehorns its first idea in no matter how badly it fits.</p>
]]></description><pubDate>Tue, 12 May 2026 23:32:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48115952</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48115952</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48115952</guid></item><item><title><![CDATA[New comment by dkersten in "Software engineering may no longer be a lifetime career"]]></title><description><![CDATA[
<p>Ah… that’s a reasonable point. Yes, the difference between a high-trust team and what you described is night and day. I suppose for those situations there’s a much bigger incentive to just throw AI at it, which explains why the big corporates love AI.</p>
]]></description><pubDate>Tue, 12 May 2026 07:07:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48105154</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48105154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48105154</guid></item><item><title><![CDATA[New comment by dkersten in "I'm going back to writing code by hand"]]></title><description><![CDATA[
<p>That doesn’t conflict with my statement.<p>Before: One person writes the code (and likely understands it thoroughly), another person reviews the code to spot obvious mistakes or shortcomings. Now: AI writes  the code, a person reviews it to spot obvious mistakes or shortcomings.<p>In the before case, you have a person who has a deeper understanding of the code and in the AI case, you don’t, instead you have even more code to review.<p>When a competent programmer is writing the code, the human written code tends to be higher quality too. So it’s not just about review quantity but the quality of code being reviewed. Some people claim the AI writes great code, but that just hasn’t been my experience yet (at least with the models I’ve tried, including Opus). They still make ridiculously bad decisions regularly.</p>
]]></description><pubDate>Tue, 12 May 2026 07:02:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48105125</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48105125</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48105125</guid></item><item><title><![CDATA[New comment by dkersten in "I'm going back to writing code by hand"]]></title><description><![CDATA[
<p>Agreed. Reviewing code takes so much longer and is far more exhausting than writing it, and you still don’t understand the logic as well or intuitively as you would if you write it.</p>
]]></description><pubDate>Mon, 11 May 2026 18:37:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48098895</link><dc:creator>dkersten</dc:creator><comments>https://news.ycombinator.com/item?id=48098895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48098895</guid></item></channel></rss>