<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: ragnese</title><link>https://news.ycombinator.com/user?id=ragnese</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 27 Aug 2026 08:50:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ragnese" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ragnese in "Nitter and XCancel receive cease and desist notices"]]></title><description><![CDATA[
<p>Nah, it's just the standard enshitification playbook. It'll start out nice, open, useful, fun; then once they have enough users and the network effect kicks in, they'll lock it down and turn it into a weapon against its users. Happens every time.</p>
]]></description><pubDate>Wed, 26 Aug 2026 16:14:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=49451614</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=49451614</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49451614</guid></item><item><title><![CDATA[New comment by ragnese in "Nitter and XCancel receive cease and desist notices"]]></title><description><![CDATA[
<p>So you're saying that the current management of Twitter does <i>not</i> favor politically-right messaging? Otherwise, your message is a non-sequitur.<p>The comment you replied to made no statement about the effectiveness of the project. It's like saying that George Soros is engaged in trying to elect left-wing leadership; nobody denies that.</p>
]]></description><pubDate>Wed, 26 Aug 2026 14:02:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=49449385</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=49449385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49449385</guid></item><item><title><![CDATA[New comment by ragnese in "Nitter and XCancel receive cease and desist notices"]]></title><description><![CDATA[
<p>I always cringed at that framing anyway, for two reasons. First, it was obvious to me that it was a private, centralized, closed-source, piece of software whose owner(s) could always manipulate or take away from people they didn't like. Second, it's genuinely depressing to think that the modern marketplace of ideas was supposed to take place in 180 (or whatever the hell it is now) characters or fewer. Yeah, sure- let's hash out the complexities and nuances of life and society in single-sentence messages. And we wonder why everything has become "polarized" and rage-bait-y. When all you have room to write is "This thing is bad", what the hell else are you supposed to do?<p>What a stupid platform. I can't believe it's still so popular.</p>
]]></description><pubDate>Wed, 26 Aug 2026 13:52:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49449197</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=49449197</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49449197</guid></item><item><title><![CDATA[New comment by ragnese in "How credit card rewards became a $9.2B wealth transfer"]]></title><description><![CDATA[
<p>Why wouldn't a bank sell debit data just the same as credit data? For that matter, I would expect them to be selling everything they can: credit, debit, written checks, ACH transfers, etc.<p>What incentive is there for them to not do that? Laws? I'm asking sincerely, not rhetorically.</p>
]]></description><pubDate>Wed, 26 Aug 2026 12:38:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=49447986</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=49447986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49447986</guid></item><item><title><![CDATA[New comment by ragnese in "Civic Hygiene – avoid building technologies that could be used by a police state (2013)"]]></title><description><![CDATA[
<p>The comment you replied to doesn't imply the <i>users</i> are immoral, but the <i>creators</i>. They're saying that we shouldn't <i>build</i> such systems. I, personally, also believe we should resist using them as much as possible, instead of rewarding them by using them. But, obviously, that may be easier or harder for any given individual situation. So be it; just avoid as much as you can tolerate if you agree that these things shouldn't exist the way they are.</p>
]]></description><pubDate>Wed, 19 Aug 2026 17:39:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=49364654</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=49364654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49364654</guid></item><item><title><![CDATA[New comment by ragnese in "England set to be one of the first countries to eliminate hepatitis C"]]></title><description><![CDATA[
<p>Good explanation. Just one correction: John Thune is the Senate majority leader (so, the "head" of the Senate). Steve Scalise is in the House and he's the head of the Republican party in the House, whereas Mike Johnson (who is also a Republican) is the House majority leader (so the head of the whole House, not just his party).<p>So, it's Mike Johnson for the House and John Thune for the Senate.</p>
]]></description><pubDate>Tue, 11 Aug 2026 14:38:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49259147</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=49259147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49259147</guid></item><item><title><![CDATA[New comment by ragnese in "Vite+ Beta"]]></title><description><![CDATA[
<p>Unfortunately, yes. It's a backward looking metric, like how economists can only call a recession/depression after it's been X months of bad metrics, even if everyone living in the first month of one feels the economy going poorly. We'll only know if these tools are "boring but work" at some point in the future.<p>The hope is always that "this time will be different". Maybe these tools are so awesome that they'll become a de facto standard and, therefore, "boring". It's JavaScript, so I'm not holding my breath, though.</p>
]]></description><pubDate>Thu, 02 Jul 2026 19:49:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48766451</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=48766451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48766451</guid></item><item><title><![CDATA[New comment by ragnese in "What to learn to be a graphics programmer"]]></title><description><![CDATA[
<p>That's not a charitable reading of their comment. Granted, I also don't think articulated their point very well with that example. I can't speak for the commenter, and I'm genuinely not sure about the point they were attempting to make. But, I <i>think</i> the point was more so that things are moving so fast in the field that it's basically impossible to become the level of expert that has a truly deep understanding of all the parts and layers.<p>If you're an expert as a particular programming language, for example, you may have a good mental model for what optimizations the compiler and/or runtime are able to do, and the way you write code in that language may be influenced by that deep knowledge. You may have written so much code in that language that you know all of the corner cases and foot-guns, and how to deal with them--or better yet, how to avoid them in the first place. You may even develop new/uncommon patterns or idioms that other people end up adopting.<p>But, if that programming language totally changes its own semantics and compiler toolchain every few months, nobody would have time to build deep intuition and expertise like that.<p>I think that was the point.</p>
]]></description><pubDate>Thu, 02 Jul 2026 14:50:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48762534</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=48762534</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48762534</guid></item><item><title><![CDATA[New comment by ragnese in "Learning Software Architecture"]]></title><description><![CDATA[
<p>When I read it, I assumed it meant like <i>network</i> communication in your program. File and network I/O having/being a "tax" makes sense to me.</p>
]]></description><pubDate>Tue, 12 May 2026 16:22:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48110421</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=48110421</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48110421</guid></item><item><title><![CDATA[New comment by ragnese in "Your website is not for you"]]></title><description><![CDATA[
<p>Yep. I've learned that lesson more than once. Maybe one of these days it'll stick... :p<p>Specifically, I'm not a "designer", but I regularly end up making/changing UIs (mobile apps, web apps/pages, etc). When it comes to design, it really matters who the target audience is.<p>If you're creating a UI for "mass market", you have to design to a lowest-common-denominator that balances what your average user expects, generally, from UI/UX, and the more you ask them to "invest", the worse you're going to do. On the other hand, if you're making a tool for a B2B (business-to-business) product, you have more freedom to set baseline expectations of what the end user needs to be able to do and understand. You can also expose more powerful options, etc. You can sometimes end up going in very different directions. Even error handling and logging can sometimes be handled differently, depending on the context.</p>
]]></description><pubDate>Fri, 01 May 2026 13:03:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47974316</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47974316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47974316</guid></item><item><title><![CDATA[New comment by ragnese in "I built a Game Boy emulator in F#"]]></title><description><![CDATA[
<p>Yes! That's exactly how you should do it while working with a language that doesn't have a compiler that will aggressively analyze, and rewrite and optimize your code for you. (So, most languages with "heavy runtimes" that support a bunch of dynamic stuff and JITs)<p>There are basically two points to programming with immutable-first data. One, eliminate certain classes of data race concurrency bugs. Two, less mutable state in a given context makes it easier to reason about.<p>So, if you're inside a function scope and you aren't launching any concurrent operations from inside that function, you don't have to worry about benefit #1. If you're inside a function (and you're not reaching out for global mutable state), then the context you need to keep in your working memory is likely fairly small, so a few local mutable variables doesn't significantly harm "understandability" of the implementation (in most cases). So, you really don't have to worry about #2, either. Make your functions black boxes with solid "APIs" (type signatures), and let the inside do whatever it needs to make it work the best.<p>Just because premature optimization is the root of all evil, it doesn't mean we need to jump right to premature pessimization...</p>
]]></description><pubDate>Thu, 30 Apr 2026 19:01:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47966817</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47966817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47966817</guid></item><item><title><![CDATA[New comment by ragnese in "Super ZSNES – GPU Powered SNES Emulator"]]></title><description><![CDATA[
<p>Since it's obviously written in a casual, conversational, tone we should not expect the language to be perfectly precise. So, given that and the fact that the author felt the need to call out "vibe coding" or AI at all, <i>and</i> then double down by adding the almost-redundant "classic development style", I would be willing to bet they did not use any AI for anything at all related to this project.</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:48:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947578</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47947578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947578</guid></item><item><title><![CDATA[New comment by ragnese in "Laws of Software Engineering"]]></title><description><![CDATA[
<p>Hmm. Fair point. It's entirely possible that it's not obvious and that the "law" is almost a "reminder" of sorts to not assume you're getting well-formed inputs.<p>I'm still skeptical that this is the case with Postel's Law, but I do see that it's possible to read it that way. I guess I could always go do some research to prove it one way or the other, but... nah.<p>And yes, "Parse, don't validate." is one of my absolute favorite maxims (good word choice, by the way; I would've struggled on choosing a word for it here).</p>
]]></description><pubDate>Wed, 22 Apr 2026 16:09:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47865641</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47865641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47865641</guid></item><item><title><![CDATA[New comment by ragnese in "Laws of Software Engineering"]]></title><description><![CDATA[
<p>Yes, what Postel's Law is about. That's the whole point of contrasting it with Hyrum's Law, no?<p>Hyrum's Law is pointing out that sometimes the new field <i>is</i> a breaking change in the liberal scenario as well, because if you used to just ignore the field before and now you don't, your client that was including it before will see a change in behavior now. At least by being strict, (not accepting empty arrays, extra fields, empty strings, incorrect types that can be coerced, etc), you know that expanding the domain of valid inputs won't conflict with some unexpected-but-previously-papered-over stuff that current clients are sending.</p>
]]></description><pubDate>Tue, 21 Apr 2026 21:43:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47854915</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47854915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47854915</guid></item><item><title><![CDATA[New comment by ragnese in "Laws of Software Engineering"]]></title><description><![CDATA[
<p>I don't think that interpretation makes that much sense. Isn't it a bit too... <i>obvious</i> that you shouldn't just crash and/or corrupt data on invalid input? If the law were essentially "Don't crash or corrupt data on invalid input", it would seem to me that an even better law would be: "Don't crash or corrupt data." Surely there aren't too many situations where we'd want to avoid crashing because of bad input, but we'd be totally fine crashing or corrupting data for some other (expected) reason.<p>So, I think not crashing because of invalid input is probably too obvious to be a "law" bearing someone's name. IMO, it must be asserting that we should try our best to do what the user/client <i>means</i> so that they aren't frustrated by having to be perfect.</p>
]]></description><pubDate>Tue, 21 Apr 2026 21:34:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47854804</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47854804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47854804</guid></item><item><title><![CDATA[New comment by ragnese in "PHP 8.6 Closure Optimizations"]]></title><description><![CDATA[
<p>This is also a problem, IMO, in having this optimization in PHP. Anonymous functions are instances of a Closure class, which means that the `===` operator <i>should</i> return false for `foo() === foo()` just like it would for `new MyClass() === new MyClass()`.<p>But, since when has PHP ever prioritized correctness or consistency over trivial convenience? (I know it's anti-cool these days to hate on PHP, but I work with PHP all the time and it's still a terrible language even in 2026)</p>
]]></description><pubDate>Thu, 16 Apr 2026 19:19:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47798189</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47798189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47798189</guid></item><item><title><![CDATA[New comment by ragnese in "I won't download your app. The web version is a-ok"]]></title><description><![CDATA[
<p>I'm especially angry that if you go to reddit.com in a mobile browser, it will sometimes fully block you from certain subreddits (not just NSFW ones) and tell you that you can only access it from the app. Meanwhile, you can easily visit the exact same subreddit by typing old.reddit.com/r/whatever. The outright lying bothers me so much. I refuse to be desensitized to lying just because everyone is lying all the time; it's still really wrong, and they really should be ashamed of themselves.</p>
]]></description><pubDate>Mon, 06 Apr 2026 15:31:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47662236</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47662236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47662236</guid></item><item><title><![CDATA[New comment by ragnese in "I won't download your app. The web version is a-ok"]]></title><description><![CDATA[
<p>When you say "meme", it sounds like it might not be true. But, a few years ago I handed my stepson a USB flash drive with some files on it, he plugged it into his laptop and the very first thing he did was launch Google Chrome and then not have any clue what to do to access the files (it was a Windows laptop).</p>
]]></description><pubDate>Mon, 06 Apr 2026 15:26:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47662164</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47662164</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47662164</guid></item><item><title><![CDATA[New comment by ragnese in "I won't download your app. The web version is a-ok"]]></title><description><![CDATA[
<p>One of the most enraging things about life since 2005-ish is that no matter how private and careful <i>I</i> am, it doesn't even matter because every other inconsiderate fool I know and interact with will HAPPILY let some random company have access to THEIR contacts--which includes me--in order to play Farmville for a month until they get bored of that and offer up my private information to the next bullshit ad company that asks for their contacts.<p>It used to frustrate me that people didn't care about their own privacy, because I genuinely didn't want evil people to hurt them. But, it's even more angering that people don't have the common decency to consider whether their friends and family would want them sharing their phone numbers, email addresses, photos of them, etc.</p>
]]></description><pubDate>Mon, 06 Apr 2026 15:20:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47662090</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47662090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47662090</guid></item><item><title><![CDATA[New comment by ragnese in "I won't download your app. The web version is a-ok"]]></title><description><![CDATA[
<p>Yep. If someone is trying to make you do something, or stop doing something, or buy something, your first question should always be "Why?".<p>Why would someone try to force me off of my browser (that has ad-blocking and tracker-blocking mitigations) and on to a locked-down app that may want permission to run in the background, display notifications, access my files or camera, etc?<p>Maybe it really is to "improve my experience"... yeah, right.</p>
]]></description><pubDate>Mon, 06 Apr 2026 15:15:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47662025</link><dc:creator>ragnese</dc:creator><comments>https://news.ycombinator.com/item?id=47662025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47662025</guid></item></channel></rss>