<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: dmux</title><link>https://news.ycombinator.com/user?id=dmux</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 22 Apr 2026 23:15:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dmux" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dmux in "Drunk post: Things I've learned as a senior engineer (2021)"]]></title><description><![CDATA[
<p>I'm not a fan of dynamic typing at all (currently maintaining a decade's old e-comm monolith written in Ruby on Rails), but instead of arguing about what bugs are caught where, I've instead switched to arguing from a position of developer experience. The _tooling_ that statically typed languages have is levels above those found in dynamic languages. Runtime errors are runtime errors, but knowing at typing-time that the shape of thing A is what thing B needs is a huge benefit.</p>
]]></description><pubDate>Wed, 22 Apr 2026 15:48:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47865337</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=47865337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47865337</guid></item><item><title><![CDATA[New comment by dmux in "Sam Altman may control our future – can he be trusted?"]]></title><description><![CDATA[
<p>This is PG's response about Sam leaving YC. It says nothing about the original motivation of offering him the position at YC.</p>
]]></description><pubDate>Wed, 08 Apr 2026 05:09:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47685549</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=47685549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47685549</guid></item><item><title><![CDATA[New comment by dmux in "Move Detroit"]]></title><description><![CDATA[
<p>And here I thought it was an initiative to get Detroiters to be more active!</p>
]]></description><pubDate>Wed, 08 Apr 2026 03:21:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47684671</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=47684671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47684671</guid></item><item><title><![CDATA[New comment by dmux in "How to get better at guitar"]]></title><description><![CDATA[
<p>>If you mess up, redo the part you messed up correctly 5 times in a row.<p>I think it may be important to note _when_ to redo this. I started off this way, but after working with a guitar teacher (a Berklee graduate), he recommended that I continue on with the song and return to the problematic parts afterwards. If you constantly stop at the problematic parts to replay them and get it right, you'll have no idea what other parts you'll have trouble with further into the song until much later. In addition to that, being able to move on and continue playing the song after making a mistake is an important skill itself. If you build that skill, it's usually only other musicians that will notice -- a regular audience won't.<p>What's your take on it?</p>
]]></description><pubDate>Wed, 08 Apr 2026 03:13:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47684601</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=47684601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47684601</guid></item><item><title><![CDATA[New comment by dmux in "Show HN: Try Gerbil Scheme in the Browser"]]></title><description><![CDATA[
<p>Great work and nice writeup. I went in wondering how you were handling instances and got my answer!</p>
]]></description><pubDate>Mon, 16 Mar 2026 14:50:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47399812</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=47399812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47399812</guid></item><item><title><![CDATA[New comment by dmux in "Ruby on Rails homepage updated for "the agentic age""]]></title><description><![CDATA[
<p>>easy for agents to write and beautiful for humans to review<p>What's left unspoken here, and something I've brought up in other threads that have mentioned Ruby + LLMs, is that they continue to struggle _comprehending_ Ruby (and Rails) style code. In a fresh project, agents writing code for humans to review is a solid approach, but when the codebase grows and the project starts suffering from the downsides of dynamic typing, you're not going to be able to lean on that LLM to aide you in refactoring.</p>
]]></description><pubDate>Sat, 07 Mar 2026 22:27:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47292071</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=47292071</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47292071</guid></item><item><title><![CDATA[New comment by dmux in "Steel Bank Common Lisp"]]></title><description><![CDATA[
<p>LispWorks and Allegro are both interesting, but I've found their IDE offerings to be very limited. I haven't used either since I was playing around with CL during Covid, but from what I recall, even the basic IDE experience of writing code was severely lacking: poor autocomplete, poor syntax highlighting, clunky interfaces. In most discussions I see about them, they're only recommended for their compilers, not for their IDE offerings.</p>
]]></description><pubDate>Tue, 24 Feb 2026 22:17:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47144073</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=47144073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47144073</guid></item><item><title><![CDATA[New comment by dmux in "Ruby on Rails and Claude Code is a *crazy unlock"]]></title><description><![CDATA[
<p>This is the perfect way to create a code-base that's incomprehensible. Claude may be good at generating Rails code, but every LLM I've tried to date has struggled immensely with parsing and understanding an existing Ruby on Rails code-base.</p>
]]></description><pubDate>Fri, 06 Feb 2026 02:11:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46908124</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46908124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46908124</guid></item><item><title><![CDATA[New comment by dmux in "Simply Scheme: Introducing Computer Science (1999)"]]></title><description><![CDATA[
<p>>...despite the protest of students...<p>I work closely with Northeastern CS students (via co-op program) and haven't heard anything but negative opinions about Racket.</p>
]]></description><pubDate>Fri, 06 Feb 2026 01:49:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46907995</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46907995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46907995</guid></item><item><title><![CDATA[New comment by dmux in "New York’s budget bill would require “blocking technology” on all 3D printers"]]></title><description><![CDATA[
<p>I wonder if you could circumvent this by adding a thin appendage to whatever it was you're printing and then just snip it off post-print.</p>
]]></description><pubDate>Wed, 04 Feb 2026 19:47:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46890681</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46890681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46890681</guid></item><item><title><![CDATA[New comment by dmux in "Painless Software Schedules (2000)"]]></title><description><![CDATA[
<p>How can breaking a task into sub-tasks that themselves are measured in hours take longer than the implementation of those features?</p>
]]></description><pubDate>Sat, 31 Jan 2026 00:15:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46831805</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46831805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46831805</guid></item><item><title><![CDATA[New comment by dmux in "Ask HN: COBOL devs, how are AI coding affecting your work?"]]></title><description><![CDATA[
<p>I’ve found LLMs to be severely underwhelming. A week or two ago I tried having both Gemini3 and GPT Codex refactor a simple Ruby class hierarchy and neither could even identify the classes that inherited from the class I wanted removed. Severely underwhelming. Describing what was wanted here boils down to minima language and they both failed.</p>
]]></description><pubDate>Mon, 19 Jan 2026 16:04:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46680491</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46680491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46680491</guid></item><item><title><![CDATA[New comment by dmux in "Let's be honest, Generative AI isn't going all that well"]]></title><description><![CDATA[
<p>I feel like I'm living in a totally different world or I'm being gaslit by LLMs when I read stuff like this and other similar comments in this thread. Do you mind  mentioning _what_ language / tech stack you're in? At my current job, we have a large Ruby on Rails codebase and just this week Gemini 2.5 and 3 struggled to even identify what classes inherited from another class.</p>
]]></description><pubDate>Wed, 14 Jan 2026 16:39:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46618269</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46618269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46618269</guid></item><item><title><![CDATA[New comment by dmux in "Code and Let Live"]]></title><description><![CDATA[
<p>> I think the future of software is going to be unimaginably dynamic.<p>>...I’m not entirely sure what that looks like yet, but things like this are a step in that direction.<p>This made me stop and think for a moment as to what this would look like as well. I'm having trouble finding it, but I think there was a post by Joe Armstrong (of Erlang) that talked about globally (as in across system boundaries, not global as in global variable) addressable functions?</p>
]]></description><pubDate>Fri, 09 Jan 2026 23:30:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46560872</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46560872</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46560872</guid></item><item><title><![CDATA[New comment by dmux in "Ruby 4.0.0"]]></title><description><![CDATA[
<p>> I believe that the benefits of static typing somewhat decrease in the web arena<p>I’ve seen this sentiment expressed numerous times and have never found it to be true in my own work (e-comm), do you mind mentioning _what_ type of domain your web apps are in?<p>Edit: or if not domain, what do you mean by “web arena”</p>
]]></description><pubDate>Thu, 25 Dec 2025 22:23:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46387407</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46387407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46387407</guid></item><item><title><![CDATA[New comment by dmux in "Django 6"]]></title><description><![CDATA[
<p>In my experience it's boiled down to the type of data you're working with. Building nested, tree-like structures and then submitting that structure to the back-end as one request is more easily done via the front-end than a bunch of back-and-forth requests followed up by a "commit" request.<p>edit: I suppose this is different concern than a true SPA, but as another sibling comment points out, its just a matter of time before routing makes its way into the front-end as well.</p>
]]></description><pubDate>Fri, 05 Dec 2025 00:11:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46155149</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46155149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46155149</guid></item><item><title><![CDATA[New comment by dmux in "Lowtype: Elegant Types in Ruby"]]></title><description><![CDATA[
<p>>These runtime typing efforts look nicer than Sorbet but, as far as I can see, you still have to have complete test coverage to trigger runtime checks if you want to spot correctness issues before you deploy into production.<p>I think you're right, and if that's the case, aren't these libraries (Lowtype, Literal) more akin to Design by Contract mechanisms?</p>
]]></description><pubDate>Tue, 02 Dec 2025 22:21:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46127751</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46127751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46127751</guid></item><item><title><![CDATA[New comment by dmux in "Fifty Shades of OOP"]]></title><description><![CDATA[
<p>Yes, you could also build and deploy a Smalltalk system, but my point is that the “build & deploy” approach (to me) seems antithetical to the message passing and late-binding paradigms. To use another example, it seems like you lose a lot of the benefits of Common Lisp via Slime (hot code reloading) if you deploy your Common Lisp app to a short-lived, ephemeral environment.</p>
]]></description><pubDate>Tue, 25 Nov 2025 01:40:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46041458</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46041458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46041458</guid></item><item><title><![CDATA[New comment by dmux in "Fifty Shades of OOP"]]></title><description><![CDATA[
<p>Regarding Message Passing and Late-binding, I think it's important to take into account that Alan Kay was working on Smalltalk -- a system that was image based; a system where you could change things as it was running. I think that message passing and late-binding are often championed but then sort of fall flat given standard deployment techniques: build & deploy (often to a ephemeral runtime / container).</p>
]]></description><pubDate>Mon, 24 Nov 2025 20:53:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46039175</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46039175</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46039175</guid></item><item><title><![CDATA[New comment by dmux in "Optimizing Ruby performance: Observations from real-world services"]]></title><description><![CDATA[
<p>Here's another thread talking about IO- vs CPU-Bound Rails apps from 10 months ago: <a href="https://news.ycombinator.com/item?id=42820419">https://news.ycombinator.com/item?id=42820419</a></p>
]]></description><pubDate>Mon, 24 Nov 2025 17:16:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46036411</link><dc:creator>dmux</dc:creator><comments>https://news.ycombinator.com/item?id=46036411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46036411</guid></item></channel></rss>