<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: smashedtoatoms</title><link>https://news.ycombinator.com/user?id=smashedtoatoms</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 28 May 2026 15:47:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=smashedtoatoms" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by smashedtoatoms in "Anthropic Claude Max $200/mo: They claim 99% uptime, I calculated 84% Loss: $780"]]></title><description><![CDATA[
<p>Isn't it our responsibility to own our dependencies?  I get this is frustrating, but if your client deliverables hinge on your $200 subscription to meet, you need to figure out some redundancy.<p>The need to reimburse for time down, but not for lost revenue/opportunity. That's our responsibility, as builders, to plan for.</p>
]]></description><pubDate>Wed, 04 Feb 2026 12:56:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46885277</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=46885277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46885277</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Electron-based apps cause system-wide lag on macOS 26 Tahoe"]]></title><description><![CDATA[
<p>As a dev, if you use a private method, you've just taken ownership of the problem. I suggested to you in our contract not to do it, and that it would likely not be supported, and you did it anyway. Fix your shit, common software or not.</p>
]]></description><pubDate>Thu, 25 Sep 2025 22:39:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45380160</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=45380160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45380160</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "The Theatre of Pull Requests and Code Review"]]></title><description><![CDATA[
<p>I'm editing this to be nicer. I'm really trying to be nicer. Consider the possibility you're not the only one in the codebase and that the git history might provide the why to the code's what.</p>
]]></description><pubDate>Thu, 25 Sep 2025 12:15:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=45371910</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=45371910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45371910</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Sequoia backs Zed"]]></title><description><![CDATA[
<p>Ugh, ok. I just want an editor.</p>
]]></description><pubDate>Thu, 21 Aug 2025 11:52:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44971605</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=44971605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44971605</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "The Best Line Length"]]></title><description><![CDATA[
<p>j/k</p>
]]></description><pubDate>Tue, 12 Aug 2025 12:36:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=44875455</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=44875455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44875455</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "The Best Line Length"]]></title><description><![CDATA[
<p>Worst. PR. Ever.</p>
]]></description><pubDate>Tue, 12 Aug 2025 12:35:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44875445</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=44875445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44875445</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Evolving OpenAI's Structure"]]></title><description><![CDATA[
<p>Is there a sport where the actual sport is moving goalposts?</p>
]]></description><pubDate>Mon, 05 May 2025 23:34:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=43900428</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=43900428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43900428</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Carlos Slim cancels Starlink orders"]]></title><description><![CDATA[
<p>Prove it</p>
]]></description><pubDate>Tue, 11 Mar 2025 11:24:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=43331351</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=43331351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43331351</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Software development topics I've changed my mind on"]]></title><description><![CDATA[
<p>My man!</p>
]]></description><pubDate>Thu, 06 Feb 2025 12:21:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=42961671</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=42961671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42961671</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Why Tracebit is written in C#"]]></title><description><![CDATA[
<p>Fair... too fair for HN. ;)</p>
]]></description><pubDate>Sat, 01 Feb 2025 13:46:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42898234</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=42898234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42898234</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Why Tracebit is written in C#"]]></title><description><![CDATA[
<p>All that said, you .NET folks need to let your patterns die in a fire. Modern C# doesn't require any of this crap anymore. Use functions. They're great. The world of nouns is behind us.</p>
]]></description><pubDate>Sat, 01 Feb 2025 06:02:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=42896080</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=42896080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42896080</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Why Tracebit is written in C#"]]></title><description><![CDATA[
<p>I'd have written this exact comment two years ago. After two years using C# and .NET in anger, I'd pick it for almost any project. It's better than Python, Ruby, Go, Elixir, Typescript, Etc. and better than Rust unless you absolutely must squeeze every ounce of performance out of something, and even then, sometimes C# is better.<p>I know it's not cool, but I spend very little time on distracting stupid shit in C#.  No other ecosystem does it as well as .NET.  It seems like such a low bar, yet almost no one can get over it.<p>I sit down to program for what feels like 30 minutes in a moment of inspiration, and I look up and it's been 5 hours and I got more done than I was expecting.  Every other language often has me dealing with some distraction having nothing to do with the actual problem I'm hoping to solve, and sometimes robbing me of the desire to solve the problem at all.<p>Other languages drive me to mess with my editor config, because it's more fun than trying to convince my environment that a business problem is more important to solve than why some dependency that was importing fine a week ago is now broken.  Other languages have me trying to get AI to build me something I've built before without typing any code.  C# wants me to ship something quickly that works and it wants to help me do it. It's a remarkable ecosystem, and it makes it really hard to put up with the hoops the others make me jump through. 5/5, would .NET again.</p>
]]></description><pubDate>Sat, 01 Feb 2025 06:00:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=42896076</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=42896076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42896076</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Context should go away for Go 2 (2017)"]]></title><description><![CDATA[
<p>Yeah, .NET developers have been passing CancellationTokens around in the places where they have needed them for 15 years. The tokens are basically invisible until their existence emerges when someone decides they want to cancel a long-running API call or something. At that point, they are plumbed as deeply as seems fit for the problem at hand and then hardly thought about ever again.  CancellationTokens are generally a delightful pattern, especially when the language allows sensible defaults.</p>
]]></description><pubDate>Tue, 21 Jan 2025 22:47:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=42786126</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=42786126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42786126</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Nation-scale Matrix deployments will fail using the community version of Synapse"]]></title><description><![CDATA[
<p>"It's not exactly making me feel valued as a community member"<p>Neither is not getting paid for work/services.  If one works hard on things and can't pay their bills, that's unsustainable.  Why is developer time worth nothing to other developers?  If you can write it and host it, do it. If you can't, and the folks that can charge for it, hand over your credit card so they can continue to do it. Or watch it die when they have to abandon it to make a living writing code for someone that will pay for it I guess.<p>No one owes us their time and effort for nothing.</p>
]]></description><pubDate>Sun, 19 Jan 2025 01:26:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=42752834</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=42752834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42752834</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Distributed Transactions at Scale in Amazon DynamoDB (2023)"]]></title><description><![CDATA[
<p>I came here for the bad takes, and I have not been disappointed. Dynamo slays when you know your access patterns and need consistent performance and no operations requirements. Turns out, that's the case most of the time. Think about it as application state instead of a db. It's not key-value like Redis. GSIs with compound keys allow access to data across multiple dimensions on virtually unlimited data with consistent performance.  Its weakness is querying data across dimensions you didn't plan on. If you need that regularly, it sucks. If you need that once in awhile, write a migration.</p>
]]></description><pubDate>Wed, 15 Jan 2025 13:46:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=42710661</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=42710661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42710661</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Apple stuck the Mac mini power button on the bottom"]]></title><description><![CDATA[
<p>It makes me wonder if they're intended to be rack mounted on their sides with half a dozen others.</p>
]]></description><pubDate>Wed, 30 Oct 2024 03:57:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41991841</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=41991841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41991841</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "We shrunk our Javascript monorepo git size"]]></title><description><![CDATA[
<p>People act like managing lots of git repos is hard, then run into monorepo problems requiring them to fix esoteric bugs in C that have been in git for a decade, all while still arguing monorepos are easy and great and managing multiple repos is complicated and hard.<p>It's like hammering a nail through your hand, and then buying a different hammer with a softer handle to make it hurt less.</p>
]]></description><pubDate>Sun, 27 Oct 2024 14:06:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=41962723</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=41962723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41962723</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Kanban vs. Scrum: What's the difference?"]]></title><description><![CDATA[
<p>This article is the what, but it is missing the why.  I'm supremely biased against scrum, so basically ignore what I am saying if you're a fan of it. Fundamentally, Kanban is pull-based, and Scrum is push-based. That's the difference.<p>Scrum spends time determining how long things will take, and then attempts push it into a schedule via story pointing and other ceremony where people pretend they're not guessing how long thing will take by using points and t-shirt sizes and anything other  than time to guess how much they can get done in some arbitrary amount of time. Then devs do what they were going to do anyway, and everyone slaps each other on the back because they're measuring the success they're having. It's a dream for people who like to count things and build check lists and check them off. Its success has little to do with the process and much to do with the team's ability to gather requirements and do their job. It's ideal for contract gigs where it's as important to track how much time it takes you to do things as it is to actually do things.<p>In Kanban you put what you want to do in a list, and pull the things from the list in order as you complete them. If customers need things quicker, you change the order of things in the list while communicating to them what will slip and what will accelerate. They take as long as they take (because that's how the world works, yes, even in scrum), but with 100% less ceremony and pointless coordination. Kanban is about constantly managing constraints and eliminating waste. You don't need to strictly measure how long things are taking. You pay attention when things don't move off the board, and modify resourcing in whatever way will get things unstuck. It's less fun because you don't get to pretend you know how long something will take, but it's more fun because you get to be an adult professional instead of a servant to the processes of people who don't actually build things.<p>This is somewhat tongue-in-cheek, but in my career I've never seen switching to pull-based patterns make things worse, and I've often seen them make things better, including morale. It doesn't seem like it will work, but in practice there are so many efficiencies gained in pull-based processes that it usually ends up being faster and feeling better while doing it.</p>
]]></description><pubDate>Thu, 04 Jul 2024 19:32:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=40877426</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=40877426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40877426</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "My favorite Erlang program (2013)"]]></title><description><![CDATA[
<p>The clustering is what makes it feel so different, and what makes it such a compelling runtime for certain types of problems.<p>It's not an accident that large distributed chat programs or MQ systems are often written in erlang. From inside the code, writing a distributed system feels the same as working on one node.<p>With go, you can't do channels to a go process running on a different server without significantly changing the language. In erlang, you don't notice because that's just how it works.<p>Write an app that runs on two nodes and sends updates to all clients via websockets. In erlang, you just write it. In EVERY other language, you're loading a non-idiomatic library and probably running an MQ cluster or using an MQ service... probably written in erlang.</p>
]]></description><pubDate>Thu, 07 Sep 2023 12:09:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=37417763</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=37417763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37417763</guid></item><item><title><![CDATA[New comment by smashedtoatoms in "Man spends entire career mastering crappy codebase"]]></title><description><![CDATA[
<p>This checks out.</p>
]]></description><pubDate>Thu, 03 Aug 2023 12:59:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=36985280</link><dc:creator>smashedtoatoms</dc:creator><comments>https://news.ycombinator.com/item?id=36985280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36985280</guid></item></channel></rss>