<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: rdw</title><link>https://news.ycombinator.com/user?id=rdw</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 08:18:49 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rdw" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by rdw in "What async promised and what it delivered"]]></title><description><![CDATA[
<p>Once you write enough code, you'll realize you need synchronization primitives for async code as well.  In pretty much the same cases as threaded code.<p>You can't always choose to write straight code.  What you're trying to do may require IO, and then that introduces concurrency, and the need for mutual exclusion or notification.<p>Examples: If there's a read-through cache, the cache needs some sort of lock inside of it.  An async webserver might have a message queue.<p>The converse is also true.  I've been writing some multithreaded code recently, and I don't want to or need to deal with mutexes, so, I use other patterns instead, like thread locals.<p>Now, for sure the async equivalents look and behave a lot better than the threaded ones.  The Promise static methods (any, all, race, etc) are particularly useful.  But, you could implement that for threads.  I believe that this convenience difference is more due to modernity, of the threading model being, what 40, 50, 60 years old, and given a clean-ish slate to build a new model, modern language designers did better.<p>But it raises the idea: if we rethought OS-level preemptible concurrency today (don't call it threads!), could we modernize it and do better even than async?</p>
]]></description><pubDate>Sat, 25 Apr 2026 22:22:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47905170</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=47905170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47905170</guid></item><item><title><![CDATA[New comment by rdw in "The quality of AI-assisted software depends on unit of work management"]]></title><description><![CDATA[
<p>In the area I live, houses are often built one complete room at a time, over many years.  They start out as a single-room shack, then the owner builds extensions as they have children or money.  Often, they build a porch, and then decades later wall up the porch and turn it into a room of some kind.<p>I kind of like this analogy because it does help us reason about the situation.  The one-room shack is basically an MVP; a hacky result that just does one thing and probably poorly, but it is useful enough to justify its own existence.  The giant mansion built from detailed architectural plans seems like a waterfall  process for an enterprise application, doesn't it?<p>There are many advantages to building a house one room at a time. You get something to house you quickly and cheaply.  When you build each extension, you have a very good idea of how it will be most useful because you know your needs well.  You are more capable of taking advantage of sales (my neighbor collects construction overstock for free/cheap and starts building something once he has enough quantity to do so). It's more "agile".  The resulting houses are beautiful in their own bespoke ways.  They last a long time, too.<p>The downsides are that the services and structure are a hodgepodge of eras and necessity.  If you're competent, you can avoid problems in your own work, but you may have to build on shoddy "legacy" work.  You spend more of your time in a state of construction, and it may be infeasible to undertake a whole-house project like running ethernet to every room.<p>It's all tradeoffs.  I think it does in many cases make sense to build a house in this way, and it likewise makes sense to build software this way.  It depends on the situation.</p>
]]></description><pubDate>Fri, 19 Sep 2025 02:09:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=45297236</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=45297236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45297236</guid></item><item><title><![CDATA[New comment by rdw in "US Intel"]]></title><description><![CDATA[
<p>"We should do something to preserve leading-edge chip manufacturing in the US.  This is Something, therefore we should do it."</p>
]]></description><pubDate>Tue, 26 Aug 2025 20:26:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45031909</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=45031909</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45031909</guid></item><item><title><![CDATA[New comment by rdw in "“The Bitter Lesson” is wrong. Well sort of"]]></title><description><![CDATA[
<p>The bitter lesson is becoming misunderstood as the world moves on.  Unstated yet core to it is that AI researchers were historically attempting to build an understanding of human intelligence.  They intended to, piece-by-piece, assemble a human brain and thus be able to explain (and fix) our own biological ones.  Much like can be done with physical simulations of knee joints.  Of course, you can also use that knowledge to create useful thinking machines, because you understand it well enough to be able to control it.  Much like how we have many robotic joints.<p>So, the bitter lesson is based on a disappointment that you're building intelligence without understanding why it works.</p>
]]></description><pubDate>Sun, 20 Jul 2025 18:51:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=44628133</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=44628133</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44628133</guid></item><item><title><![CDATA[New comment by rdw in "Scaffold Level Editor"]]></title><description><![CDATA[
<p>Thanks, Max!  I've personally never been able to wrap my head around BSP; I appreciate your diagrams explaining everything, and I am optimistic about the new engine.  It's crazy how much faster it can be; really drives home how much extra stuff Unreal is doing that your game may not need.</p>
]]></description><pubDate>Mon, 07 Apr 2025 22:29:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616642</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=43616642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616642</guid></item><item><title><![CDATA[New comment by rdw in "Classic card game Dominion is getting a scary good new AI (2021)"]]></title><description><![CDATA[
<p>Article is from 2021, but the game launched today.</p>
]]></description><pubDate>Thu, 01 Feb 2024 23:03:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=39222779</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=39222779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39222779</guid></item><item><title><![CDATA[Classic card game Dominion is getting a scary good new AI (2021)]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.polygon.com/22440924/dominion-app-neural-network-ai-release-date-price">https://www.polygon.com/22440924/dominion-app-neural-network-ai-release-date-price</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39222778">https://news.ycombinator.com/item?id=39222778</a></p>
<p>Points: 5</p>
<p># Comments: 4</p>
]]></description><pubDate>Thu, 01 Feb 2024 23:03:50 +0000</pubDate><link>https://www.polygon.com/22440924/dominion-app-neural-network-ai-release-date-price</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=39222778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39222778</guid></item><item><title><![CDATA[New comment by rdw in "Sony just spilled confidential Playstation information because of a Sharpie"]]></title><description><![CDATA[
<p>It's a very risky industry.  It's quite likely to sink a ton of money into a game and earn very little back, basically wasting everything.  Game series that consistently make revenue are even rarer so they're extremely coddled while they last, though it is expected that eventually they will die, too.  The rare successes cover the costs of the common failures.</p>
]]></description><pubDate>Wed, 28 Jun 2023 20:46:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=36512353</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=36512353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36512353</guid></item><item><title><![CDATA[Tech Breakdown: Collision Sliding]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.littlepolygon.com/posts/sliding/">https://blog.littlepolygon.com/posts/sliding/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34988787">https://news.ycombinator.com/item?id=34988787</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 01 Mar 2023 21:46:00 +0000</pubDate><link>https://blog.littlepolygon.com/posts/sliding/</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=34988787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34988787</guid></item><item><title><![CDATA[New comment by rdw in "Can everyone shut the f*** up about AI"]]></title><description><![CDATA[
<p>It's a lot like the VR hype cycle of the past 5 years.  Maybe there will be more of an actual change from the AI stuff, though.</p>
]]></description><pubDate>Mon, 27 Feb 2023 23:20:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=34963446</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=34963446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34963446</guid></item><item><title><![CDATA[New comment by rdw in "Builder's Remedy goes into effect in many California cities tomorrow"]]></title><description><![CDATA[
<p>I used to believe this and then I got into the area.  It depends on the area of course but it turns out that the cost of the house is quite significant.  House construction costs are $200-500 per square foot, putting even a medium-sized house at around a quarter of a million dollars.  When you look at the costs of empty plots of land versus similar plots of land with houses on them, you'll see that the housed plots of land cost the same as the empty plots plus the construction costs of a similar-sized house.  In the areas where I looked, the costs of the house dominated, such that the land value is about 20% of the total value of the plot.  Even the variance that occurs at that level can be further explained by the value of potential future plots of land on the space -- a plot of land that has one house but could hold a second (for whatever reason) is more valuable than an otherwise-identical plot that can only support one house.</p>
]]></description><pubDate>Tue, 31 Jan 2023 22:04:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=34602928</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=34602928</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34602928</guid></item><item><title><![CDATA[New comment by rdw in "Godot 4.0 beta 16: Initial .NET 7 support"]]></title><description><![CDATA[
<p>It has more to do with how game engines are built, making embeddability be the most important criteria.<p>Most game engines are written as a large chunk of C++ code that runs each frame's timing, and the big subsystems like physics, particles, sound, and the scenegraph.  All the important engineers will be dedicated to working on this engine and it behaves like a framework. The "game logic" is generally considered to be a minority of the code, and because less-technical people generally author it, it gets written in a higher-level "scripting" language.<p>This creates some serious constraints on that language.  It must be possible to call into the scripts from the main engine and the overhead must be low.  The scripts often have to make calls into the data structures of the main engine (e.g. for physics queries) and the overhead of that should be low as well.  It should also be possible to control the scripting language's GC because the main engine is pretty timing-sensitive.  Memory consumption is pretty important as well.<p>All these requirements point towards two implementations specifically: Lua (and LuaJIT), and Mono.  Those two runtimes go out of their way to make it easy and fast to embed.  A third option which a lot of engines pick is to write their own scripting language where they control everything about it.  Any other language you can think of (with the possible exceptions of Haxe) will have some major hurdle that prevents easy embedding.  The fact that you can compile multiple languages to Mono bytecode pushes some folks in that direction; if you're planning to write a lot of code in the scripting engine (not all of them do! See: Unreal) that's nice flexibility to have.</p>
]]></description><pubDate>Fri, 27 Jan 2023 20:58:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=34551768</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=34551768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34551768</guid></item><item><title><![CDATA[New comment by rdw in "Reference count, don't garbage collect"]]></title><description><![CDATA[
<p>You're right, and it's got more layers than that.  C# does have value types, which are not boxed, and using them judiciously can avoid garbage.  However, they are a more recent addition to the language (which started as a lame Java clone), and so the standard library tends to not know about them.  Really trivial operations will allocate hundreds of bytes of garbage for no good reason.  Example: iterating over a Dictionary.  Or, IIRC, getting the current time.  They've been cleaning up these functions to not create garbage over tiem, of course, but it's never fast enough for my taste and leads to some truly awful workarounds.</p>
]]></description><pubDate>Sat, 30 Jul 2022 02:54:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=32283900</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=32283900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32283900</guid></item><item><title><![CDATA[New comment by rdw in "Asus put out like 40 models of a laptop called the “Eee PC” (2021)"]]></title><description><![CDATA[
<p>I had one, and I wrote a lot of code on it.  There was pretty much nothing else on the market that could do web browsing in that portable of a form factor, and at that price point.    Steve was somewhat right to worry about them -- in an alternate history they would have taken over as the dominant form of computing, creating a whole evolutionary tree of tiny laptops, converged with keyboarded mobile phones, at all price points and build qualities.<p>The 11" Air I got to replace the Eee was much better in every single way.  One note is that the thin-and-long of the Air was much more portable than the chunky but stubbier Eee.  It just fits better into the kinds of bags we all have.  The thinness wars started then.</p>
]]></description><pubDate>Fri, 29 Jul 2022 02:00:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=32272344</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=32272344</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32272344</guid></item><item><title><![CDATA[New comment by rdw in "We don't have a hundred biases, we have the wrong model"]]></title><description><![CDATA[
<p>Yes, I've heard this said many times about sales people.  If they're not visibly wasting money, people are reluctant to hire them because they either aren't good (and thus have no money to waste), or won't be hungry (because they've saved the money they earned by not wasting it).  So conspicuous consumption becomes a way to signal that the sales person is capable of reliably generating large incomes.</p>
]]></description><pubDate>Fri, 22 Jul 2022 02:21:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=32187722</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=32187722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32187722</guid></item><item><title><![CDATA[New comment by rdw in "Apple announces new flagship M2 processor"]]></title><description><![CDATA[
<p>It's fun to be back in the age where every few years you want to upgrade your computer because the new ones are so much faster, not because the old one is worn out.<p>20% faster isn't enough to make me regret my M1 purchase, but after one or two more 20% speed gains I'll feel like upgrading to the latest is going to be worth it.</p>
]]></description><pubDate>Mon, 06 Jun 2022 18:30:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=31643977</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=31643977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31643977</guid></item><item><title><![CDATA[New comment by rdw in "How to get rid of gerrymandering: the math is surprising"]]></title><description><![CDATA[
<p>The practice of using political party affiliation as a criteria at all for drawing district borders inevitably leads to gerrymandering.  This part of the article does seem apparent, which is why the solution, to _not_ do that, seems mysterious in its absence.</p>
]]></description><pubDate>Thu, 12 May 2022 00:34:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=31347802</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=31347802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31347802</guid></item><item><title><![CDATA[New comment by rdw in "How to get rid of gerrymandering: the math is surprising"]]></title><description><![CDATA[
<p>This is written in such a way that it seems like it makes sense, but it ultimately takes its conclusion as an axiom and is thus essentially meaningless.<p>Gerrymandering is to draw districts according to political party affiliations.  So of course if you only divide up your districts by political party affiliation (in rather extreme ways) you will discover that doing so doesn't lead to stable political systems.  No shit, that's the problem with gerrymandering.<p>Any serious analysis of this problem needs to confront the realities of geographical location and migration.</p>
]]></description><pubDate>Wed, 11 May 2022 21:28:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=31346049</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=31346049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31346049</guid></item><item><title><![CDATA[New comment by rdw in "Boston University Undergraduate Costs Reach $80k"]]></title><description><![CDATA[
<p>Can someone explain to me how any schools are in danger of going out of business?  Their expenses aren't going up, they're not paying professors more, they're not leveraging themselves into debt.  What are the huge cost increases they're bearing that force them to raise tuition?
The one institute I'm familiar with appears to have hired an absolute shitload of useless administrators, but that is an expense of choice that could be trimmed at any time.</p>
]]></description><pubDate>Mon, 09 May 2022 02:59:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=31310043</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=31310043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31310043</guid></item><item><title><![CDATA[New comment by rdw in "Lessons learned from the recent job hunt"]]></title><description><![CDATA[
<p>> Code that runs slow over pathological input is nowhere near as dangerous as code that goes into an infinite loop over pathological input.<p>In my experience, these are not actually that different.  Even in straightforward web development on smallish data sets, it's pretty easy to write something that runs "fast on my machine" but is so slow on production-sized data that it is effectively infinite.</p>
]]></description><pubDate>Sun, 08 May 2022 15:51:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=31305129</link><dc:creator>rdw</dc:creator><comments>https://news.ycombinator.com/item?id=31305129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31305129</guid></item></channel></rss>