<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: structural</title><link>https://news.ycombinator.com/user?id=structural</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 12:00:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=structural" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by structural in "The Cost of Indirection in Rust"]]></title><description><![CDATA[
<p>One heuristic I use to avoid this exact problem is "minimize the number of places that the next poor soul has to look in order to understand how this code works", where place is loosely defined as about the number of lines of code that fit on a screen or two.<p>This has given really good results in terms of helping decide whether to extract these helper functions or not - they have to both be memorable enough in name and arguments that the code calling them can understand what's going on without always having to dive in, and also provide a meaningful compression of the logic above so that it can be comprehended without having to jump across many hundreds of lines.</p>
]]></description><pubDate>Fri, 13 Mar 2026 20:47:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47369652</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=47369652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47369652</guid></item><item><title><![CDATA[New comment by structural in "Most-read tech publications have lost over half their Google traffic since 2024"]]></title><description><![CDATA[
<p>Mobile users (or other locked down devices where adblockers are forbidden) are still a decent chunk of traffic. It's much easier to just read the overview and not click through to the ad infestation, or even use a chatbot of choice as the search engine instead of going to Google, because "websites is how you get spammed with ads".</p>
]]></description><pubDate>Tue, 03 Mar 2026 17:35:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47235808</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=47235808</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47235808</guid></item><item><title><![CDATA[New comment by structural in "Eddie Bauer declares bankruptcy"]]></title><description><![CDATA[
<p>1. Americans got a bit poorer due to inflation.<p>2. Brand quality went down to equivalent or less of no-name dropshipped goods in order to keep similar dollar prices for goods.<p>3. Cost of real estate spiked incredibly, putting even more pressure on retail margins.<p>4. American logistics is seriously good, in cities 24-hour delivery can be common even for small or inexpensive things.<p>5. Once there wasn't a quality or convenience reason to prefer the shopping mall, many were already struggling quietly, they just hadn't run out of cash yet.<p>6. The pandemic happened right as all these things converged, accelerated all of them, and wasn't really recoverable.</p>
]]></description><pubDate>Mon, 09 Feb 2026 20:45:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46950998</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=46950998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46950998</guid></item><item><title><![CDATA[New comment by structural in "Deep dive into Turso, the “SQLite rewrite in Rust”"]]></title><description><![CDATA[
<p>It allows the code to be fully public domain, so you can use it anywhere, while very strongly discouraging random people from forking it, patching it, etc. Even still, the tests that are most applicable to ensuring that SQLite has been built correctly on a new compiler/architecture/environment are made open source (this is great!) while those that ensure that SQLite has been implemented correctly are proprietary (you only need these if you wanted to extend SQLite's functionality to do something different).<p>This allows for a business model for the authors to provide contracted support for the product, and keeping SQLite as a product/brand without having to compete with an army of consultants wanting to compete and make money off of their product, startups wanting to fork it, rename it, and sell it to you, etc.<p>It's pretty smart and has, for a quarter century, resulted in a high quality piece of software that is sustainable to produce and maintain.</p>
]]></description><pubDate>Fri, 30 Jan 2026 19:28:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46828772</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=46828772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46828772</guid></item><item><title><![CDATA[New comment by structural in "Ford F-150 Lightning outsold the Cybertruck and was then canceled for poor sales"]]></title><description><![CDATA[
<p>My 10hr drives usually have 2 stops at 30mins-1hr each, for food. Unfortunately, stopping at a restaurant for a meal doesn't leave the vehicle in a location that has a charger, for the most part. Other parts of the world may differ, but the infrastructure to "just spend 15 minutes charging" whenever you want is not there.</p>
]]></description><pubDate>Wed, 14 Jan 2026 22:34:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46624807</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=46624807</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46624807</guid></item><item><title><![CDATA[New comment by structural in "When Kitty Litter Caused a Nuclear Catastrophe"]]></title><description><![CDATA[
<p>Something to consider is that in a secure environment like LANL, and <i>especially</i> for a non-standard or one-off process, it's likely that there is no computer system that everyone has access to with all the information.<p>It would not be unusual for the person being told to write the process document to be brought into a room with a notebook, be shown written or electronic materials in the room, take notes in a provided notebook, have that notebook be handed over after the meeting for a (non-technical) security review, then receive the notebook pages some days/weeks later and have those notes be what is used to develop the document. Security culture is good for security but bad for error-free processes involving people.</p>
]]></description><pubDate>Fri, 09 Jan 2026 22:43:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46560478</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=46560478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46560478</guid></item><item><title><![CDATA[New comment by structural in "Opus 4.5 is not the normal AI agent experience that I have had thus far"]]></title><description><![CDATA[
<p>Yes, but my junior coworkers also don't reliably do edge case testing for user errors either unless specifically tasked to do so, likely with a checklist of specific kinds of user errors they need to check for.<p>And it turns out the quality of output you get from both the humans and the models is highly correlated with the quality of the specification you write before you start coding.<p>Letting a model run amok within the constraints of your spec is actually great for specification development! You get instant feedback of what you wrongly specified or underspecified. On top of this, you learn how to write specifications where critical information that needs to be used together isn't spread across thousands of pages - thinking about context windows when writing documentation is useful for both human and AI consumers.</p>
]]></description><pubDate>Tue, 06 Jan 2026 18:26:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46516374</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=46516374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46516374</guid></item><item><title><![CDATA[New comment by structural in "Clock synchronization is a nightmare"]]></title><description><![CDATA[
<p>Of course, you can do this in good conditions. The extremely powerful part that TrueTime brings is how the system degrades when something goes wrong.<p>If everyone is synced to +/- 20ns, that's great. Then when someone flies over your datacenter with an GPS jammer (purposeful or accidental), this needs to not be a bad day where suddenly database transactions happen out of order, or you have an outage.<p>The other benefit of building in this uncertainty to the underlying software design is you don't have to have your entire infrastructure on the same hardware stack. If you have one datacenter that's 20yrs old, has no GPS infrastructure, and operates purely on NTP - this can still run the same software, just much more slowly. You might even keep some of this around for testing - and now you have ongoing data showing what will happen to your distributed system if GPS were to go away in a chunk of the world for some sustained period of time.<p>And in a brighter future, if we're able to synchronize everyone's clocks to +/- 1ns, the intervals just get smaller and we see improved performance without having to rethink the entire design.</p>
]]></description><pubDate>Sat, 27 Dec 2025 23:39:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46406685</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=46406685</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46406685</guid></item><item><title><![CDATA[New comment by structural in "Rust in the kernel is no longer experimental"]]></title><description><![CDATA[
<p>Now, try and use two or more libraries that expose data structures with bitfields, and they have all chosen different crates for this (or even the same crate but different, non-ABI-compatible-versions of it).<p>There's a ton of standardization work that really should be done before these are safe for library APIs. Mostly fine to just write an application that uses one of these crates though.</p>
]]></description><pubDate>Wed, 10 Dec 2025 16:00:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46219309</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=46219309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46219309</guid></item><item><title><![CDATA[New comment by structural in "VectorWare – from creators of `rust-GPU` and `rust-CUDA`"]]></title><description><![CDATA[
<p>1. What does it mean to be a GPU-native process?<p>2. Can modern GPU hardware efficiently make system calls? (if you can do this, you can eventually build just about anything, treating the CPU as just another subordinate processor).<p>3. At what order-of-magnitude size might being GPU-native break down? (Can CUDA dynamically load new code modules into an existing process? That used to be problematic years ago)<p>Thinking about what's possible, this looks like an exceptionally fun project. Congrats on working on an idea that seems crazy at first glance but seems more and more possible the more you think about it. Still it's all a gamble of whether it'll perform well enough to be worth writing applications this way.</p>
]]></description><pubDate>Fri, 24 Oct 2025 04:44:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45690865</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45690865</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45690865</guid></item><item><title><![CDATA[New comment by structural in "GrapheneOS is ready to break free from Pixels"]]></title><description><![CDATA[
<p>Is this a EU-specific thing? In North America I've never installed a banking app, don't even know if my institution even has one.</p>
]]></description><pubDate>Wed, 15 Oct 2025 16:35:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45595101</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45595101</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45595101</guid></item><item><title><![CDATA[New comment by structural in "Why the push for Agentic when models can barely follow a simple instruction?"]]></title><description><![CDATA[
<p>These things are amazing for maintenance programming on very large codebases (think, 50-100million lines of code or more, the people who wrote the code no longer work there, it's not open source so "just google it or check stack overflow" isn't even an option at all.)<p>A huge amount of effort goes into just searching for what relevant APIs are meant to be used without reinventing things that already exist in other parts of the codebase. I can send ten different instantiations of an agent off to go find me patterns already in use in code that should be applied to this spot but aren't yet. It can <i>also</i> search through a bug database quite well and look for the exact kinds of mistakes that the last ten years of people just like me made solving problems just like the one I'm currently working on. And it finds a lot.<p>Is this better than having the engineer who wrote the code and knows it very well? Hell no. But you don't always have that. And at the largest scale you really can't, because it's too large to fit in any one person's memory. So it certainly does devolve to searching and reading and summarizing for a lot of the time.</p>
]]></description><pubDate>Wed, 15 Oct 2025 14:33:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45593240</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45593240</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45593240</guid></item><item><title><![CDATA[New comment by structural in "Qualcomm to acquire Arduino"]]></title><description><![CDATA[
<p>Good on the Arduino folks for getting acquired, then. They still have a niche and a brand with name recognition, even if that niche might be stable at best, collapsing at worst.</p>
]]></description><pubDate>Tue, 07 Oct 2025 18:05:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45506561</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45506561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45506561</guid></item><item><title><![CDATA[New comment by structural in "Things you can do with a Software Defined Radio (2024)"]]></title><description><![CDATA[
<p>Quite a few radar systems are in the 8-10GHz range and satellite communications just above that. The general idea when using a SDR for these things is to have a separate frequency converter & amplifier at the antenna feed itself, then have an intermediate frequency <6GHz fed via cable to the SDR. Tends to be much easier and cheaper this way.</p>
]]></description><pubDate>Tue, 16 Sep 2025 16:46:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45264662</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45264662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45264662</guid></item><item><title><![CDATA[New comment by structural in "Things you can do with a Software Defined Radio (2024)"]]></title><description><![CDATA[
<p>The threading model is still difficult, and it's still enough slower that thinking you're going to be comparable to custom silicon that's been designed for a particular protocol is silly.<p>It's great fun for doing signal analysis, but I'd never want to try and implement a full-duplex communication system in production with it.</p>
]]></description><pubDate>Tue, 16 Sep 2025 16:43:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45264625</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45264625</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45264625</guid></item><item><title><![CDATA[New comment by structural in "Ask HN: Why isn't capability-based security more common?"]]></title><description><![CDATA[
<p>The more fine-grained you make a capability system, the more you have an explosion of the number of permissions required by an application, and the chance that some combination of permissions grants more access than intended.<p>It also requires rewriting all your apps.<p>It also might require hardware support to not be significantly slower.<p>"Just sandbox each app" has much fewer barriers to entry, so people have been doing that instead.<p>And systems like Android have been working with discrete permissions / capabilities, because they were able to start from scratch in a lot of ways, and didn't need to be compatible with 50 years of applications.</p>
]]></description><pubDate>Tue, 16 Sep 2025 15:31:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=45263643</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45263643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45263643</guid></item><item><title><![CDATA[New comment by structural in "ChatGPT Developer Mode: Full MCP client access"]]></title><description><![CDATA[
<p>LLMs are approximately your employees on their first day of work, if they didn't care about being fired and there were no penalties for anything they did. Some percentage of humans would just pull the nearest fire alarm for fun, or worse.</p>
]]></description><pubDate>Thu, 11 Sep 2025 18:12:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45214471</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45214471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45214471</guid></item><item><title><![CDATA[New comment by structural in "ChatGPT Developer Mode: Full MCP client access"]]></title><description><![CDATA[
<p>A good simplification of what's going on is this little loop:<p>1. LLM runs using the system prompt + your input as context.<p>2. Initial output looks like "I need more information, I need to run <tool>"<p>3. Piece of code runs that looks for tool tags and performs the API calls via MCP.<p>4. Output of the tool call gets appended as additional context just as if you'd typed it yourself as part of your initial request.<p>5. Go back to step 1, run the LLM again.<p>So you can see here that there is no difference between "content" and "prompt". It's all equivalent input to the LLM, which is calling itself in a loop with input that it generated/fetched for itself.<p>A lot of safety here happens at step #3, trying to look at the LLM's output and go "should I actually perform the tool call the LLM asked for?". In some cases, this is just spitting the tool call at the user and asking them to click Approve/Deny... and after a hundred times the user just blindly presses Approve on everything, including the tool call called "bash(sudo rm -rf /)". Pwned.</p>
]]></description><pubDate>Thu, 11 Sep 2025 18:03:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45214375</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=45214375</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45214375</guid></item><item><title><![CDATA[New comment by structural in "Code formatting comes to uv experimentally"]]></title><description><![CDATA[
<p>1. If you want to advance the state of the art as quickly as possible (or have many, many experiments to run), being able to iterate quickly is the primary concern.<p>2. If you are publishing research, any time spent beyond what's necessary for the paper is a net loss, because you could be working on the next advancement instead of doing all the work of making the code more portable and reusable.<p>3. If you're trying to use that research in an internal effort, you'll take the next step to "make it work on my cloud", and any effort beyond <i>that</i> is also a net loss for your team.<p>4. If the amount of work necessary to prototype something that you can write a paper with is 1x, the amount of work necessary to scale that on one specific machine configuration is something like >= 10x, and the amount of work to make that a reusable library that can build and run anywhere is more like 100x.<p>So it really comes down to - who is going to do the majority of this work? How is it funded? How is it organized?<p>This can be compared to other human endeavours, too. Take the nuclear industry and its development as a parallel. The actual physics of nuclear fission is understood at this point and can be taught to lots of people. But to get from there to building a functional prototype reactor is a larger project (10x scale), and then scaling that to an entire powerplant complex that can be built 
in a variety of physical locations and run safely for decades is again orders of magnitude larger.</p>
]]></description><pubDate>Fri, 22 Aug 2025 19:35:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=44988888</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=44988888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44988888</guid></item><item><title><![CDATA[New comment by structural in "Yet Another LLM Rant"]]></title><description><![CDATA[
<p>Where it really has value is if what you work on is like 33% extremely difficult and 66% boilerplate/tedious. Being able to offload the tedious bits can make more senior engineers 2-3x more productive without the coordination effort of "find a junior engineer to do this, schedule their time, assign the work, follow up on it".<p>(The problem of course is you still need these junior engineers to exist in order to have the next generatino of senior engineers, so we must now also think about what our junior folks should be doing to be valuable AND learn).</p>
]]></description><pubDate>Sat, 09 Aug 2025 22:58:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=44851150</link><dc:creator>structural</dc:creator><comments>https://news.ycombinator.com/item?id=44851150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44851150</guid></item></channel></rss>