<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: phs2501</title><link>https://news.ycombinator.com/user?id=phs2501</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 13:52:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=phs2501" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by phs2501 in "SimCity 3k in 4k (2025)"]]></title><description><![CDATA[
<p>Probably the closest thing I remember existing to this was (in its "modern"-ish form) <a href="https://github.com/autc04/executor" rel="nofollow">https://github.com/autc04/executor</a><p>Not quite what you're looking for I think but it was a Wine-style reimplementation of MacOS.</p>
]]></description><pubDate>Wed, 27 May 2026 19:28:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48299281</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=48299281</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48299281</guid></item><item><title><![CDATA[New comment by phs2501 in "How does GPS work?"]]></title><description><![CDATA[
<p>Yes but the math (which happens in the receiver, so can be replicated by a user with an open source receiver) would be very different.  You actually wind up with a 3D position relative to the Earth's center, which then needs to be mathematically mapped to lat/lon - that's what the WGS84 datum is for.</p>
]]></description><pubDate>Wed, 22 Apr 2026 15:51:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47865399</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=47865399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47865399</guid></item><item><title><![CDATA[New comment by phs2501 in "John Ternus to become Apple CEO"]]></title><description><![CDATA[
<p>More annoying is when you use something like SoundSource (a paid app which adds per-app volume control and input/output redirection to macOS... a feature that by all rights should be built in in any reasonable OS) you get a permanent purple dot indicating a third party tool is intercepting audio.<p>Again, I get it, but as a power user this kind of stuff is just infuriating.</p>
]]></description><pubDate>Tue, 21 Apr 2026 02:02:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47843665</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=47843665</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47843665</guid></item><item><title><![CDATA[New comment by phs2501 in "What Python’s asyncio primitives get wrong about shared state"]]></title><description><![CDATA[
<p>Not really.  It's certainly intended for the basic "fan out m tasks to n workers, and the fanout producer wants to know when they're all done" and can be abused for some more, but I don't think it does anything to help with the "consumer died, I want the producers to be able to know this rather than just continuing to push messages into a queue forever" case.<p>I've written wrappers to handle things the way I want, but it always feels like a bit of a hack.  (Usually I use a stop sentinal internally and reach inside to unbound the queue before I send it to avoid blocking).  Just wish it were built in.</p>
]]></description><pubDate>Fri, 06 Mar 2026 04:14:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47270795</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=47270795</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47270795</guid></item><item><title><![CDATA[New comment by phs2501 in "10% of Firefox crashes are caused by bitflips"]]></title><description><![CDATA[
<p>For one thing, static vs dynamic RAM.  Static RAM (which is what's used for your typical CPU cache) is implemented with flip-flops and doesn't need to be refreshed, reads aren't destructive like DRAM, etc.</p>
]]></description><pubDate>Thu, 05 Mar 2026 23:31:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47268709</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=47268709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47268709</guid></item><item><title><![CDATA[New comment by phs2501 in "What Python’s asyncio primitives get wrong about shared state"]]></title><description><![CDATA[
<p>The one thing I wish stock python queues had an option for (async or otherwise) was some kind of explicit termination.  e.g. be split into producers and consumers, and have consumers indicate iteration complete when all producers have finished (and vice versa - signal producers that all consumers have gone away).  You can kind of kludge around it in one direction with stop sentinals but it's a lot more awkward to deal with - especially if your queues are bounded as then you can get into the situation where you block trying to push the stop sentinal onto the queue as it's full.</p>
]]></description><pubDate>Thu, 05 Mar 2026 05:12:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47257822</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=47257822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47257822</guid></item><item><title><![CDATA[New comment by phs2501 in "Giving C a superpower: custom header file (safe_c.h)"]]></title><description><![CDATA[
<p>I highly doubt (and some quick checks seem to verify that) any of the tiny CC implementations will support the cleanup extension that most of this post's magic hinges upon.<p>(Agree on your other points for what it's worth.)</p>
]]></description><pubDate>Mon, 17 Nov 2025 21:33:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45958584</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=45958584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45958584</guid></item><item><title><![CDATA[New comment by phs2501 in "Ishkur's Guide to Electronic Music"]]></title><description><![CDATA[
<p>That's what I get for stopping at the front page after it looked just like I remember.  :/<p>Thanks for the other link.</p>
]]></description><pubDate>Sun, 28 Sep 2025 07:32:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=45402440</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=45402440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45402440</guid></item><item><title><![CDATA[New comment by phs2501 in "Ishkur's Guide to Electronic Music"]]></title><description><![CDATA[
<p>It still exists at <a href="https://archive.org/details/music_202007" rel="nofollow">https://archive.org/details/music_202007</a> .</p>
]]></description><pubDate>Sat, 27 Sep 2025 19:11:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=45398576</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=45398576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45398576</guid></item><item><title><![CDATA[New comment by phs2501 in "Samsung now owns Denon, Bowers and Wilkins, Marantz, Polk, and more audio brands"]]></title><description><![CDATA[
<p>Usually that means the record was mastered differently (because you literally physically can't make a record as "loud" as a CD).<p>It's not the CD's fault, it's the mastering engineers.</p>
]]></description><pubDate>Sat, 27 Sep 2025 15:16:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=45396436</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=45396436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45396436</guid></item><item><title><![CDATA[New comment by phs2501 in "Xmonad seeking help for Wayland port (2023)"]]></title><description><![CDATA[
<p>That's... fine, and a cool trick I guess, but I don't actually want that behavior.</p>
]]></description><pubDate>Sun, 21 Sep 2025 18:05:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=45325138</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=45325138</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45325138</guid></item><item><title><![CDATA[New comment by phs2501 in "Xmonad seeking help for Wayland port (2023)"]]></title><description><![CDATA[
<p>Does anyone know of a Wayland WM/compositor that does multi-screen like XMonad?  Preferably out of the box but I'll take configurable.<p>For those unaware, though I doubt you're reading this thread if so, I want n desktops that are shared between all screens, not desktops _assigned_ to particular screens.  If I summon a desktop on screen 1 and it's currently displayed on screen 2, they should swap.<p>Ideally also does layouts kind of like xmonad too, not "here's a tiling tree structure and a bunch of commands to manually manage it".</p>
]]></description><pubDate>Sat, 20 Sep 2025 05:43:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45310736</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=45310736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45310736</guid></item><item><title><![CDATA[New comment by phs2501 in "UUIDv47: Store UUIDv7 in DB, emit UUIDv4 outside (SipHash-masked timestamp)"]]></title><description><![CDATA[
<p>I just taught myself to look at the end of the UUID, rather than the beginning.</p>
]]></description><pubDate>Wed, 17 Sep 2025 19:46:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45280549</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=45280549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45280549</guid></item><item><title><![CDATA[New comment by phs2501 in "ZFS 2.3 released with ZFS raidz expansion"]]></title><description><![CDATA[
<p>I believe Synology runs btrfs on top of regular mdraid + lvm, possibly with patches to let btrfs checksum failures reach into the underlying layers to find the right data to recover.<p>Related blog post:  <a href="https://daltondur.st/syno_btrfs_1/" rel="nofollow">https://daltondur.st/syno_btrfs_1/</a></p>
]]></description><pubDate>Tue, 14 Jan 2025 20:46:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=42703608</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=42703608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42703608</guid></item><item><title><![CDATA[New comment by phs2501 in "New iMac with M4"]]></title><description><![CDATA[
<p>For something that's literally designed to sit on a desk, yes... it's ridiculous to make it thinner in a dimension you never see vs one that you see all the time.</p>
]]></description><pubDate>Mon, 28 Oct 2024 15:29:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=41972073</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=41972073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41972073</guid></item><item><title><![CDATA[New comment by phs2501 in "New iMac with M4"]]></title><description><![CDATA[
<p>Why does this still have the ridiculous iMac chin?  Surely they can fit everything behind the screen at this point.</p>
]]></description><pubDate>Mon, 28 Oct 2024 15:26:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=41972017</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=41972017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41972017</guid></item><item><title><![CDATA[New comment by phs2501 in "Rust panics under the hood, and implementing them in .NET"]]></title><description><![CDATA[
<p>Yeah it was specifically the (presumed) lack of Rust's "fearless" concurrency that I was referring to... i.e. we can ram this data through a parallel map, but is it actually safe to do?<p>(And of course the flip side of Rust here is that you need to be able to figure out how to represent your code and data to make it happy, which provides new and interesting limitations to how you can write stuff without delving into "unsafe" territory...  something something TANSTAAFL)<p>Good info though; thanks!</p>
]]></description><pubDate>Tue, 24 Sep 2024 20:22:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41640505</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=41640505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41640505</guid></item><item><title><![CDATA[New comment by phs2501 in "Rust panics under the hood, and implementing them in .NET"]]></title><description><![CDATA[
<p>Rust is a step sideways if anything.  Yeah, you don't have manual memory management headaches in .NET, but you also don't have Rust's fairly strong compile-time guarantees about memory sharing and thread safety.<p>Which enables stuff like rayon where you can basically blindly replace map with parallel map and if it compiles, it _should_ be safe to run.<p>(I'm not super familiar with the .NET ecosystem, so it's quite possible there's equivalent tooling for enforced thread safety.  I haven't heard much about it though, if so.)</p>
]]></description><pubDate>Mon, 23 Sep 2024 20:40:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=41630282</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=41630282</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41630282</guid></item><item><title><![CDATA[New comment by phs2501 in "Ask HN: Does anyone use sound effects in their dev environment?"]]></title><description><![CDATA[
<p>A local station had (I think past tense, though it made it a lot less likely for me to go there to check) their pumps playing ads in "attract mode" when nobody was using them.  So going there late at night and filling up involved listening to a poorly-timed round of "BUY NOW" utterances from eight different sources (because of course they weren't synchronized).  And you couldn't really mute it because it was all the <i>other</i> pumps.<p>It was horrible.</p>
]]></description><pubDate>Mon, 16 Sep 2024 15:13:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41556896</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=41556896</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41556896</guid></item><item><title><![CDATA[New comment by phs2501 in "Ubuntu 24.10 to Default to Wayland for Nvidia Users"]]></title><description><![CDATA[
<p>Same, which is one reason I'm dreading the eventual Xpocalypse, as I have not found a drop-in replacement for Xmonad in the Wayland universe.  (Particularly, the way Xmonad deals with multiple monitors and desktops just makes sense to me.)</p>
]]></description><pubDate>Mon, 20 May 2024 01:34:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=40411205</link><dc:creator>phs2501</dc:creator><comments>https://news.ycombinator.com/item?id=40411205</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40411205</guid></item></channel></rss>