<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: ddejohn</title><link>https://news.ycombinator.com/user?id=ddejohn</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 00:35:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ddejohn" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ddejohn in "Starfling: A one-tap endless orbital slingshot game in a single HTML file"]]></title><description><![CDATA[
<p>when I first read "orbital slingshot" in the title I thought it was a game about doing gravity assists, which I think would be much more interesting and fun</p>
]]></description><pubDate>Sat, 11 Apr 2026 23:21:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47734829</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=47734829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47734829</guid></item><item><title><![CDATA[New comment by ddejohn in "Robert Redford has died"]]></title><description><![CDATA[
<p>Who is the other?</p>
]]></description><pubDate>Tue, 16 Sep 2025 16:29:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45264436</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=45264436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45264436</guid></item><item><title><![CDATA[New comment by ddejohn in "Microsoft PowerToys"]]></title><description><![CDATA[
<p>I use 12 columns so I can still do this 1/3 - 2/3 split, but other proportions as well. I tend to have a chat app on the left quarter, browser in the middle half, and a music app on the right quarter. Lots more freedom than only two zones!</p>
]]></description><pubDate>Wed, 10 Sep 2025 16:56:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45200525</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=45200525</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45200525</guid></item><item><title><![CDATA[New comment by ddejohn in "Litestar is worth a look"]]></title><description><![CDATA[
<p>Excellent post that actually gets into important details for real-world applications. I'm a huge fan of the design of Litestar.<p>> I also still think there are a lot of bad use cases for repositories and service layers that people should avoid, but that’s a digression which should probably become its own post<p>As a huge proponent of the repository pattern, I'll be looking forward to this post.</p>
]]></description><pubDate>Wed, 06 Aug 2025 20:30:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44817398</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44817398</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44817398</guid></item><item><title><![CDATA[New comment by ddejohn in "We shouldn't have needed lockfiles"]]></title><description><![CDATA[
<p>It's downright awful and I'm having a hard time imagining the author proof reading their own page and thinking "yeah, that's great".<p>As an aside, I have an article in my blog that has GIFs in it, and they're important for the content, but I'm not a frontend developer by any stretch of the imagination so I'm really at wit's end for how to make it so that the GIFs only play on mouse hover or something else. If anybody reading has some tips, I'd love to hear them. I'm using Zola static site generator, and all I've done is make minor HTML and CSS tweaks, so I really have no idea what I'm doing where it concerns frontend presentation.</p>
]]></description><pubDate>Wed, 06 Aug 2025 18:40:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44815924</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44815924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44815924</guid></item><item><title><![CDATA[New comment by ddejohn in "Design patterns you should unlearn in Python"]]></title><description><![CDATA[
<p>Completely agreed. The codebase I work on really badly abused multiple inheritance all over the place. Some of our classes are 5+ layers of inheritance deep.<p>All the code I've written since joining has used `typing.Protocol` over ABCs, simple dependency injection (i.e., no DI framework), no inheritance anywhere, and of course extensive type annotations... and our average test coverage has gone from around 6% to around 45%.<p>It's honestly baffling to see how insanely over-complicated most of the Python is that I see out in the wild, especially when you consider that like 90% of the apps out there are just CRUD apps.</p>
]]></description><pubDate>Sat, 02 Aug 2025 20:26:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44771104</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44771104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44771104</guid></item><item><title><![CDATA[New comment by ddejohn in "Ask HN: Who wants to be hired? (August 2025)"]]></title><description><![CDATA[
<p>No problem. Also, hello Denver neighbor! Cheers, best of luck.</p>
]]></description><pubDate>Fri, 01 Aug 2025 19:10:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=44761076</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44761076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44761076</guid></item><item><title><![CDATA[New comment by ddejohn in "Ask HN: Who wants to be hired? (August 2025)"]]></title><description><![CDATA[
<p>heads up, your resume link is a 404</p>
]]></description><pubDate>Fri, 01 Aug 2025 18:32:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44760621</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44760621</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44760621</guid></item><item><title><![CDATA[New comment by ddejohn in "Design patterns you should unlearn in Python"]]></title><description><![CDATA[
<p>I know, I'm just complaining about the mountain of code that does this at my company. And there is no fixing it using the article's approach or any other for that matter due to the sheer scale of the abuse.</p>
]]></description><pubDate>Fri, 01 Aug 2025 18:27:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44760559</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44760559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44760559</guid></item><item><title><![CDATA[New comment by ddejohn in "Design patterns you should unlearn in Python"]]></title><description><![CDATA[
<p>Everything in the codebase I maintain at my job is an arbitrary dict and there is no type information anywhere. It wasn't even written that long ago (dataclasses were a thing long before this codebase was written).<p>There's actually a place where the original authors subclassed dict, and dynamically generate attributes of a "data class" such that it can be used with dotted attribute access syntax or dict access syntax but the `__slots__` attribute of these classes is also generated dynamically so you don't have any auto-complete when trying the dotted attribute access. It's genuinely insane lol.</p>
]]></description><pubDate>Fri, 01 Aug 2025 17:45:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=44759957</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44759957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44759957</guid></item><item><title><![CDATA[New comment by ddejohn in "Design patterns you should unlearn in Python"]]></title><description><![CDATA[
<p>Who's it for, then?</p>
]]></description><pubDate>Fri, 01 Aug 2025 17:35:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44759817</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44759817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44759817</guid></item><item><title><![CDATA[New comment by ddejohn in "Design patterns you should unlearn in Python"]]></title><description><![CDATA[
<p>yep, the legacy codebase I maintain does a lot of this kind of stuff and has made it difficult to write unit tests in some cases due to all the code that runs at import and all the state we end up with</p>
]]></description><pubDate>Fri, 01 Aug 2025 17:34:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44759805</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44759805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44759805</guid></item><item><title><![CDATA[New comment by ddejohn in "How to Firefox"]]></title><description><![CDATA[
<p>Not having subdomains work for container assignments is a baffling design decision. It's a well-known issue and oft-requested feature that the devs seemingly have no plan to fix. It's incredibly frustrating.<p>> whenever I'm browsing in a container tab, I wish CMD-T opened a new container tab<p>Not exactly what you're looking for, but Temporary Containers (no longer maintained, fwiw) at least will open every new tab in a new temporary container that will be wiped after a configurable amount of time after closing.</p>
]]></description><pubDate>Tue, 22 Jul 2025 21:50:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=44653402</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44653402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44653402</guid></item><item><title><![CDATA[New comment by ddejohn in "My bank keeps on undermining anti-phishing education"]]></title><description><![CDATA[
<p>> Client side password hashing<p>Forgive my ignorance, but what's wrong with this one?</p>
]]></description><pubDate>Thu, 17 Jul 2025 15:34:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44594481</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44594481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44594481</guid></item><item><title><![CDATA[New comment by ddejohn in "I'm switching to Python and actually liking it"]]></title><description><![CDATA[
<p>> Wearing something shockingly ugly is a great way to not be mistaken for a deer.<p>Sure... yes the bright orange is ugly, but it's not the <i>ugliness</i> that prevents you from getting shot, it's the bright unnatural color. Other hunters aren't thinking "oh that's really ugly, it must not be something I can shoot" they're thinking "bright orange means person, I should not fire my rifle in that direction".<p>> If it wasn't, it wouldn't grab my attention so well.<p>Are you saying that if you thought the bright orange was pretty it wouldn't occur to you not to fire your gun in its direction?</p>
]]></description><pubDate>Wed, 16 Jul 2025 18:17:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=44585291</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44585291</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44585291</guid></item><item><title><![CDATA[New comment by ddejohn in "I'm switching to Python and actually liking it"]]></title><description><![CDATA[
<p>This. You also don't really need Pydantic unless you're de/serializing data from external sources. A dataclass is perfectly cromulent if you're just passing around data internally.</p>
]]></description><pubDate>Wed, 16 Jul 2025 17:49:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44585023</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44585023</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44585023</guid></item><item><title><![CDATA[New comment by ddejohn in "I'm switching to Python and actually liking it"]]></title><description><![CDATA[
<p>> It's like the bright orange garments that hunters wear, the ugliness is sort of the point.<p>Ugliness is not the point of hi-vis vests lol, the point is to not get shot by other hunters.</p>
]]></description><pubDate>Wed, 16 Jul 2025 17:35:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=44584892</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44584892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44584892</guid></item><item><title><![CDATA[New comment by ddejohn in "I'm switching to Python and actually liking it"]]></title><description><![CDATA[
<p>> Obviously I know I could name this function and feed it in, but for one-off logic like this I feel a lambda is descriptive enough and I like that it can be done in-place.<p>FWIW, you'd also have the benefit of being able to unit test your logic.</p>
]]></description><pubDate>Wed, 16 Jul 2025 17:27:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44584798</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44584798</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44584798</guid></item><item><title><![CDATA[New comment by ddejohn in "Why Did Cars Get So Hard to See Out Of?"]]></title><description><![CDATA[
<p>My first car was a 1992 Oldsmobile Cutlass Supreme S, which I got in 2010 and drove for three years before it bit the dust. It was an absolute boat but it was fun to drive, and I could see virtually 360°. I never once in the time I had it had any vision issues.<p>My next car I got in 2021 was a 2007 Prius. It has a super thick A-pillar in a really terrible spot that makes turning left quite stressful. The turning radius is amazing and I love driving what these days is considered a "compact car", but I absolutely loathe the A-pillar. I am constantly dancing in my seat to see around it, and will check both ways 4 or 5 times before crossing roads from a side street because my field of view is so limited.<p>I've always mused about whether reducing vision for the sake of crash safety actually ends up resulting in more accidents. Is it better to try to prevent accidents by improving visibility or mitigate harm in the event of an accident (which seems more and more like an inevitability these days where I live where there's virtually <i>zero</i> traffic enforcement; I see red-light runners multiple times <i>per day</i>, and a section of our city highway with 55 mph speed limit has the entire traffic stream going 75)?<p>I could talk for days about the design of modern cars in the US...</p>
]]></description><pubDate>Sun, 13 Jul 2025 16:23:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44551511</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44551511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44551511</guid></item><item><title><![CDATA[New comment by ddejohn in "Overtourism in Japan, and how it hurts small businesses"]]></title><description><![CDATA[
<p>Excellent, arigato gozaimasu!</p>
]]></description><pubDate>Sat, 12 Jul 2025 23:48:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44546231</link><dc:creator>ddejohn</dc:creator><comments>https://news.ycombinator.com/item?id=44546231</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44546231</guid></item></channel></rss>