<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: nogridbag</title><link>https://news.ycombinator.com/user?id=nogridbag</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 20 Jun 2026 18:39:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nogridbag" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nogridbag in "A sentimental tour of late 1990s and early 2000s hacking tools"]]></title><description><![CDATA[
<p>I wish I did something valuable. Instead I spent most of my time writing kick scripts for #warfactory pretending I was some l33t coder... I still have some of those scripts saved somewhere!</p>
]]></description><pubDate>Thu, 14 May 2026 03:56:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48130936</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=48130936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48130936</guid></item><item><title><![CDATA[New comment by nogridbag in "Screenshots of Old Desktop OSes"]]></title><description><![CDATA[
<p>I have a feeling you're in the minority. I've been using computers for 35+ years and I feel like I still don't understand OK/Apply/Cancel buttons. I still click Apply before clicking OK even if I know it's unnecessary.<p>Plus, I don't believe Cancel reverts changes the user made if they clicked Apply already. So your suggestion would go against how the UX of OK/Apply/Cancel has historically worked.</p>
]]></description><pubDate>Tue, 12 May 2026 15:12:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48109516</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=48109516</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48109516</guid></item><item><title><![CDATA[New comment by nogridbag in "Schools Never Taught Critical Thinking: AI Exposed the Lie"]]></title><description><![CDATA[
<p>Back in the early dial-up era, when teachers were not tech-savvy, I went online and found a paper exactly matching what I was tasked to write about for a homework assignment. And I regrettably submitted it as-is with no changes. I guess I knew it was cheating, but I likely also thought I was being incredibly clever as I had not heard of anyone ever doing that before. However, another student in the class submitted the same exact paper. I received an A and he received a C.<p>The teacher likely didn't know that he used to be my best friend growing up, and at some point was more knowledgable with computers than me. He introduced me to things like IRC. But he became one of the most popular kids at school and started distancing himself from me.<p>After getting our papers back, he came over to brag about how he found his paper online and that's how we discovered we submitted the same exact essay. At that point in time, I thought the teacher must have assumed he copied from me. But I think your explanation is likely more plausible. I guess the teacher just skimmed the papers and graded based on our expected grade.</p>
]]></description><pubDate>Tue, 14 Apr 2026 15:53:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47767306</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=47767306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47767306</guid></item><item><title><![CDATA[New comment by nogridbag in "Spring Boot Done Right: Lessons from a 400-Module Codebase"]]></title><description><![CDATA[
<p>We have a medium sized Quarkus app (~200kLOC) and Quarkus has been fantastic. Startup in JVM mode for our app is around 10 secs. Not blazing fast - but likely much faster than a typical Java enterprise app. I'm sure a few of those secs are spent doing things like pulling authz policies from github or due to having several thousand hibernate entities.</p>
]]></description><pubDate>Mon, 30 Mar 2026 20:54:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47579590</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=47579590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47579590</guid></item><item><title><![CDATA[New comment by nogridbag in "So where are all the AI apps?"]]></title><description><![CDATA[
<p>I wish we had a dedicated InstallShield engineer! I had to design and burn my own discs for the desktop apps I built. And for some reason, the LightScribe drive was installed on the receptionist's computer. I have no idea why, but I was a new hire and I didn't question much.</p>
]]></description><pubDate>Tue, 24 Mar 2026 16:57:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47505732</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=47505732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47505732</guid></item><item><title><![CDATA[New comment by nogridbag in "Qite.js – Frontend framework for people who hate React and love HTML"]]></title><description><![CDATA[
<p>I believe every UI developer that has used frameworks like Swing has reached a point where specific user interfaces, even those that look trivial, become too complex primarily due to things like event handlers. Trying to figure out a simple thing like why a radio box is enabled and is marked dirty may require long debugging sessions where one event handler for component A triggers another event handler for component B, which triggers another event handler, etc. And before you know it, 50 events were triggered just during the initial mounting of the UI. Making sense of it all is maddening.<p>And then said developer does what they think feels right: "I have my state and I simply want all the fields to reflect my state". So they try and rewrite the component into some sort of mini immediate-mode style component. All of the event handlers get wired up a single "layoutComponent" method that tries to call all the UI component setters based on the current state with all the problems you alluded to. I know I've done this type of things numerous times before going back all the way to my first internship, well before React was even a thing.<p>I think modern frameworks solve the reactivity issue this well enough, that it really doesn't matter if the underlying framework is not natively reactive. I will say though that I've primarily used Vue.js where most state is relatively local and we don't try to re-render the world on every input. I think part of the problem with modern dev is likely that React has become the default instead of a simpler framework like Vue.</p>
]]></description><pubDate>Tue, 24 Mar 2026 16:35:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47505311</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=47505311</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47505311</guid></item><item><title><![CDATA[New comment by nogridbag in "I'm OK being left behind, thanks"]]></title><description><![CDATA[
<p>The tire is the black rubber that's mounted to the wheel. Tire shops don't give you a new wheel when you get a flat tire.</p>
]]></description><pubDate>Fri, 20 Mar 2026 17:57:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47458222</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=47458222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47458222</guid></item><item><title><![CDATA[New comment by nogridbag in "I pitched a roller coaster to Disneyland at age 10 in 1978"]]></title><description><![CDATA[
<p>This is a timely post. Just last night my 8 y/o asked if she could create a presentation on my laptop like they do at school. I have no idea what software they use at the elementary school.<p>I've let her play around with Google Docs before. But what I really wanted was something like Creative Writer that is more kid friendly. I used Gemini (sorry) to suggest some software and it suggested "Book Creator" which is intended for schools/teachers. I signed up as a fake teacher and added my kids as students and they did create some really creative books, importing images, and adding their own drawings. But it's still missing that kid-friendly vibe like Creative Writer.</p>
]]></description><pubDate>Tue, 24 Feb 2026 20:37:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47142619</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=47142619</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47142619</guid></item><item><title><![CDATA[New comment by nogridbag in "I pitched a roller coaster to Disneyland at age 10 in 1978"]]></title><description><![CDATA[
<p>lmao, I was just thinking about this yesterday. My parents would do the same thing and I would try to correct them and explain how they can get better results just typing keywords and not sentences. And here I am in 2026 typing full sentences in Google search so that AI can present me the exact answer directly in the search results.</p>
]]></description><pubDate>Tue, 24 Feb 2026 15:26:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47138353</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=47138353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47138353</guid></item><item><title><![CDATA[New comment by nogridbag in "I pitched a roller coaster to Disneyland at age 10 in 1978"]]></title><description><![CDATA[
<p>These letters matter a lot to kids. I sent my video game idea to Nintendo as a little kid and I had the same reaction seeing that envelope from Nintendo in the mailbox addressed to me. I think it was also a bit more special pre-internet as these companies felt a bit more magical and mysterious. You can only read about them through video game magazines and see their names in the credit scenes at the end of the games. Unless you were one of those weird kids that called Nintendo Power helpline of course!<p>I remember also receiving that weird VHS tape from Nintendo in the mail: <a href="https://www.youtube.com/watch?v=rJzIc_c1PvE" rel="nofollow">https://www.youtube.com/watch?v=rJzIc_c1PvE</a><p>I have no idea how I received that, but it was so cool!</p>
]]></description><pubDate>Tue, 24 Feb 2026 15:18:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47138245</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=47138245</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47138245</guid></item><item><title><![CDATA[New comment by nogridbag in "90M people. 118 hours of silence. One nation erased from the internet"]]></title><description><![CDATA[
<p>I had this same question recently. There's mesh networks like meshcore. But you would be limited to just sending text messages to other users. I would imagine the government would be able to easily identify and destroy such a network as well.</p>
]]></description><pubDate>Tue, 13 Jan 2026 19:44:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46606710</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=46606710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46606710</guid></item><item><title><![CDATA[New comment by nogridbag in "Floppy disks turn out to be the greatest TV remote for kids"]]></title><description><![CDATA[
<p>Programming a VCR was pretty trivial for me as a kid, but a bit annoying.<p>But then VideoGuide [1] was released (available from RadioShack). I begged my parents for that and honestly it was the most amazing product and worked flawlessly. I felt like I was living in the future.<p>[1] <a href="https://www.youtube.com/watch?v=aWzJuqkQbEQ" rel="nofollow">https://www.youtube.com/watch?v=aWzJuqkQbEQ</a></p>
]]></description><pubDate>Mon, 12 Jan 2026 15:49:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46590033</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=46590033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46590033</guid></item><item><title><![CDATA[New comment by nogridbag in "Bose has released API docs and opened the API for its EoL SoundTouch speakers"]]></title><description><![CDATA[
<p>I believe that's always been a thing. A long time ago I read this teardown article [1] of real vs counterfeit Beats headphones. And even the counterfeit versions had metal weight added to make it feel like the real Beats headphones!<p>[1] <a href="https://blog.bolt.io/our-beats-were-counterfeit/" rel="nofollow">https://blog.bolt.io/our-beats-were-counterfeit/</a></p>
]]></description><pubDate>Thu, 08 Jan 2026 16:13:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46542706</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=46542706</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46542706</guid></item><item><title><![CDATA[New comment by nogridbag in "It's hard to justify Tahoe icons"]]></title><description><![CDATA[
<p>I consider myself above average with UI design, but I still got confused with that dang "i" icon in the Preview app just yesterday.<p>I had to add my signature and write in the date so it looks like it was handwritten. So the plan was to just draw the date with a pencil tool and if that failed use the text tool to write the date.<p>First I instinctively clicked the pencil icon which turned out to be a highlighter. That's a great example where if they had added color for the tip and line it would have clearly looked like a highlighter. After that failed, I clicked that "i" icon because it looks like it's for inserting text. Honestly I was in such a rush I didn't even see the info pane popping up and was dang confused when nothing was happening.<p>I'm very familiar with info icons and have used them in my own apps, yet I had never seen one without the circle around it.</p>
]]></description><pubDate>Mon, 05 Jan 2026 17:04:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46501444</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=46501444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46501444</guid></item><item><title><![CDATA[New comment by nogridbag in "New OS aims to provide (some) compatibility with macOS"]]></title><description><![CDATA[
<p>Those mini screenshots do not look like anything like what's in the "Screenshots" section:<p><a href="https://imgur.com/a/svQaeCa" rel="nofollow">https://imgur.com/a/svQaeCa</a></p>
]]></description><pubDate>Fri, 21 Nov 2025 17:10:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46006394</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=46006394</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46006394</guid></item><item><title><![CDATA[New comment by nogridbag in "Show HN: DBOS Java – Postgres-Backed Durable Workflows"]]></title><description><![CDATA[
<p>Are there any plans for supporting other databases? Our company primarily uses and has experience managing MySQL deployments. I evaluated Temporal some time ago as it seemed like a good fit for what we're building so I'm watching this closely. Thanks!</p>
]]></description><pubDate>Thu, 13 Nov 2025 22:14:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45921346</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=45921346</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45921346</guid></item><item><title><![CDATA[New comment by nogridbag in "Show HN: a Rust ray tracer that runs on any GPU – even in the browser"]]></title><description><![CDATA[
<p>The OP is real time ray tracing which is running between 30-60FPS on my macbook air while moving the camera and objects around.<p>Your link appears to be a basic ray tracer which anyone who has taken an intro to computer graphics course in college is likely required to implement and would only need a javascript canvas. To be honest I have no idea how much OPs real-time ray tracing differs in complexity from traditional ray tracing.</p>
]]></description><pubDate>Mon, 03 Nov 2025 17:33:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=45801742</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=45801742</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45801742</guid></item><item><title><![CDATA[New comment by nogridbag in "UIs Are Not Pure Functions of the Model – React.js and Cocoa Side by Side (2018)"]]></title><description><![CDATA[
<p>The update loop occurs as a result of step 3 in which the UI updates itself from the model which then, due to a combination of developer inexperience, UI framework design/complexity, or application complexity, the UI then automatically triggers updates to the model. In my experience, this was a common defect in all applications I've seen that used various MVC style frameworks or home grown MVC architectures.<p>In a declarative framework, while it is still technically possible, it is very rare. The current app I'm working on is one of the largest front-end apps I've worked on (multiple years of dev). We've had a single infinite loop issue reported that was trivial to fix. We have very junior UI devs compared to teams I've worked on in the past, yet our UI defect rate is incredibly low.</p>
]]></description><pubDate>Wed, 29 Oct 2025 17:55:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45750571</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=45750571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45750571</guid></item><item><title><![CDATA[New comment by nogridbag in "UIs Are Not Pure Functions of the Model – React.js and Cocoa Side by Side (2018)"]]></title><description><![CDATA[
<p>I've used several MVC UI frameworks in the past both on the desktop and web, and they all had the same problems. When the view becomes out of sync with the model, it becomes a nightmare to figure out why that's happening.<p>You have your model (data), and conceptually, you just want to bind that model to the view. But you have to write all this imperative code to do that. It's very simple with an imperative UI to have infinite loops even with very simple UIs. "When this field changes, I want to update this other field". But that other field has it's own event listeners that trigger other effects. The event listeners work fine in their own silo, but the interactions between fields cause unintended effects that are not obvious reading the code.<p>When the component is mounted, the behavior is very hard to reason about and you spend lots of time in a debugger tracing through all the event listeners just to reach the initial state of the UI. Additionally, in these frameworks the developer is typically responsible for cleaning up all the event listeners. It's very easy to forget to clean these up properly.<p>Once a UI reaches a certain complexity, you try to rewrite the imperative code so that it almost reads declarative and you wish you could simply use a declarative UI framework. I can't speak for React as I have not used that in a long time, but in Vue.js I never write the UI to use global state. All state is local to the views that it pertains to and with defineModel introduced back in late 2023, you can write small UI components without all the plumbing required in earlier versions. I've never experienced such a simple and reliable UI framework previously.</p>
]]></description><pubDate>Wed, 29 Oct 2025 14:10:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=45747082</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=45747082</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45747082</guid></item><item><title><![CDATA[New comment by nogridbag in "Wren: A classy little scripting language"]]></title><description><![CDATA[
<p>I went through the Crafting Interpreters book with modern Java. I posted this on reddit, but I basically used records and sealed interfaces. With modern Java there's no need for visitor pattern.<p><pre><code>    private void execute(Stmt statement) {
        switch (statement) {
            case Stmt.Expression expression -> evaluate(expression.expr());
            case Stmt.Block block -> executeBlock(block.statements(),
               new Environment(environment));
            ...

    public sealed interface Expr permits
        Expr.Assign,
        Expr.Binary,
        Expr.Call,
        Expr.Function,
        .... more exprs here</code></pre></p>
]]></description><pubDate>Tue, 28 Oct 2025 18:35:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=45736903</link><dc:creator>nogridbag</dc:creator><comments>https://news.ycombinator.com/item?id=45736903</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45736903</guid></item></channel></rss>