<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: repstosb</title><link>https://news.ycombinator.com/user?id=repstosb</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 14 May 2026 19:13:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=repstosb" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by repstosb in "Every Game, Every Platform"]]></title><description><![CDATA[
<p>You have pro surfing, but not cycling?</p>
]]></description><pubDate>Sun, 12 Apr 2026 11:33:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47738482</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47738482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47738482</guid></item><item><title><![CDATA[New comment by repstosb in "JSLinux Now Supports x86_64"]]></title><description><![CDATA[
<p>I guess I enjoy solving problems, and recognize that the devil is always in the details, so I don't get much satisfaction until I see the whole stack working in concert.  I never had much esteem for "architects" who sketch some blobs on the whiteboard and then disappear.  I certainly wouldn't want to be "that guy" for anyone else, and I'm not even sure I could do it to an LLM.</p>
]]></description><pubDate>Thu, 12 Mar 2026 18:57:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47355483</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47355483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47355483</guid></item><item><title><![CDATA[New comment by repstosb in "JSLinux Now Supports x86_64"]]></title><description><![CDATA[
<p>So are Cygwin and WSL, though, for those who don't already have the luxury of being on Linux or UNIX (incl. MacOS).  I'm sure there are uses for running full-system emulators inside a browser, but access to bash and sed and gawk doesn't seem like one of them.  Seriously, if that's the best way to get access to good text manipulation tools, why aren't you ditching your entire OS?</p>
]]></description><pubDate>Thu, 12 Mar 2026 18:54:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47355429</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47355429</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47355429</guid></item><item><title><![CDATA[New comment by repstosb in "JSLinux Now Supports x86_64"]]></title><description><![CDATA[
<p>I agree, bash, sed, etc. are great, but a VM running inside a browser seems like the least efficient way to access them.  Even if you're stuck on Windows, Cygwin has been a thing for 30 years now, and WSL for ten or so?  There should be plenty of ways to set up a sandbox without having the simulate an entire machine.<p>It sounds like what you're really trying to recreate is the Software Tools movement from 50 years ago, where there was a push to port the UNIX/BTL utilities to the widest possible variety of systems to establish a common programming and data manipulation environment.  It was arguably successful in getting good ports available just about anywhere, evolving into GNU, etc., but it never really reached its apotheosis.  That style of clear, easy-to-read-and-write software was still largely killed off by a few big industry players pushing a narrative that "enterprise" has to mean relational databases and distributed objects.  It would be FASCINATING if AI coding agents are the force that brings it back.</p>
]]></description><pubDate>Tue, 10 Mar 2026 22:39:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47329651</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47329651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47329651</guid></item><item><title><![CDATA[New comment by repstosb in "JSLinux Now Supports x86_64"]]></title><description><![CDATA[
<p>But Docker is free (unless you're a fairly large business, in which case containerd is still free, and you can either pay for the front-end license or figure out how to set up one of the free alternatives), and from what perspective are the isolations available for the containerd process inferior to those available for your browser process?  The former was at least designed from the ground up with security, auditing, quotas  etc. in mind, and offers better per-container granular control than your browser offers per-tab.</p>
]]></description><pubDate>Tue, 10 Mar 2026 22:26:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47329551</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47329551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47329551</guid></item><item><title><![CDATA[New comment by repstosb in "JSLinux Now Supports x86_64"]]></title><description><![CDATA[
<p>> The thing I most want to use this (or some other WASM Linux engine) for is running a coding agent against a virtual operating system directly in my browser.<p>Well, there it is, the dumbest thing I'll read on the internet all week.<p>Most of the engineering in Linux revolves around efficiently managing hardware interfaces to build up higher-level primitives, upon which your browser builds even higher-level primitives, that you want to use to simulate an x86 and attached devices, so you can start the process again?  Somewhere (everywhere), hardware engineers are weeping.  I'll bet you can't name a single advantage such a system would have over cloud hosting or a local Docker instance.<p>Even worse, you want this so your cloud-hosted imaginary friend can boil a medium-sized pond while taking the joyful bits of software development away from you, all for the enrichment of some of the most ethically-challenged members of the human race, and the fawning investors who keep tossing other people's capital at them?  Our species has perhaps jumped the shark.</p>
]]></description><pubDate>Tue, 10 Mar 2026 08:10:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47320347</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47320347</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47320347</guid></item><item><title><![CDATA[New comment by repstosb in "Bcachefs creator insists his custom LLM is female and 'fully conscious'"]]></title><description><![CDATA[
<p>Definitely... <a href="http://www.cs.princeton.edu/~bwk/202/summer.reconstructed.pdf" rel="nofollow">http://www.cs.princeton.edu/~bwk/202/summer.reconstructed.pd...</a></p>
]]></description><pubDate>Thu, 26 Feb 2026 21:32:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47172267</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47172267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47172267</guid></item><item><title><![CDATA[New comment by repstosb in "Devirtualization and Static Polymorphism"]]></title><description><![CDATA[
<p>The problem is that C++ stores the vtable inside the object, and the objects over which you're iterating often weren't allocated contiguously.  Even when they are, if each object contains lots of other data, the vtables won't necessarily be close to each other.  That means that invoking virtual functions inside a loop means a lot of cache misses, and since the data you're fetching will be a branch target, it's often hard to find other useful work to accomplish during the memory delay cycles.  However, in a language where you can store a relatively tight array of object IDs (or even use tag bits in the this pointer), now you have a much higher cache hit rate on the indexes to your equally tight dispatch table, which will also have a high hit rate.<p>It's a fair amount of extra work, but in a hot loop it's sometimes worth it.  "You can often solve correctness problems (tricky corner cases) by adding an extra layer of indirection.  You can solve any performance problem by removing a layer of indirection."</p>
]]></description><pubDate>Thu, 26 Feb 2026 20:15:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47171450</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47171450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47171450</guid></item><item><title><![CDATA[New comment by repstosb in "AI is destroying open source, and it's not even good yet"]]></title><description><![CDATA[
<p>And how does one become a maintainer, if there's no way to contribute from outside?  Even if there's some extensive "application process", what is the motivation for a relatively new user to go through that, and how do they prove themselves worthy without something very much like a PR process?  Are we going to just replace PRs with a maze of countless project forks, and you think that will somehow be better, for either users or developers?<p>If I wanted to put up with software where every time I encounter a bug, I either have no way at all to report it, or perhaps a "reporting" channel but little likelihood of convincing the developers that this thing that matters to <i>me</i> is worthy of attention among all of their competing priorities, then I might as well just use Microsoft products.  And frankly, I'd rather run my genitals though an electric cheese grater.</p>
]]></description><pubDate>Tue, 17 Feb 2026 10:59:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47046053</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47046053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47046053</guid></item><item><title><![CDATA[New comment by repstosb in "I'm building a clarity-first language (compiles to C++)"]]></title><description><![CDATA[
<p>If the goal is truly "clarity", then I fail to see how this leads to more readable programs than Knuth's Web (or cweb for a more practical implementation).<p>If you really mean "C/C++, but with the sharp pointy bits filed down," then I fail to see what it adds over MISRA.<p>The bottom line is that we've had "clarity-first" languages for decades; the reason they're not more widely used is not simply that no one has tried this, nor that programmers appreciate murky code.</p>
]]></description><pubDate>Mon, 16 Feb 2026 10:54:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47033539</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=47033539</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47033539</guid></item><item><title><![CDATA[New comment by repstosb in "Amazon cuts 16k jobs"]]></title><description><![CDATA[
<p>Also pretty much every company with a "headquarters" of some kind in Ireland, notoriously including Apple.<p><a href="https://en.wikipedia.org/wiki/Double_Irish_arrangement" rel="nofollow">https://en.wikipedia.org/wiki/Double_Irish_arrangement</a></p>
]]></description><pubDate>Wed, 28 Jan 2026 21:05:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46801486</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=46801486</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46801486</guid></item><item><title><![CDATA[New comment by repstosb in "Amazon cuts 16k jobs"]]></title><description><![CDATA[
<p>And citizens benefit from the taxes paid by non-citizen immigrants, whether documented or undocumented.  Not just income and payroll taxes that might be dodged by under-the-table arrangements, but sales taxes, property taxes (perhaps paid indirectly via rent to a taxpaying landlord), the consumer share (nearly 100%) of tariffs, etc.  And much of that tax base is spent on benefits and services that are not accessible to taxpaying non-citizens.<p>So from that standpoint, immigrants are a /better/ economic deal for the public than children are.  At the end of the day, though, it shouldn't matter where people were born if they're contributing to society, and the grandparent post is 100% correct that the whole debate is stupid.</p>
]]></description><pubDate>Wed, 28 Jan 2026 19:15:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46800180</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=46800180</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46800180</guid></item><item><title><![CDATA[New comment by repstosb in "Lennart Poettering, Christian Brauner founded a new company"]]></title><description><![CDATA[
<p>The "founding engineers" behind Facebook and Twitter probably didn't set out to destroy civil discourse and democracy, yet here we are.<p>Anyway, "full control over your keys" isn't the issue, it's the way that normalization of this kind of attestation will enable corporations and governments to infringe on traditional freedoms and privacy.  People in an autocratic state "have full control over" their identity papers, too.</p>
]]></description><pubDate>Wed, 28 Jan 2026 06:24:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46791764</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=46791764</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46791764</guid></item><item><title><![CDATA[New comment by repstosb in "Is Rust faster than C?"]]></title><description><![CDATA[
<p>That's not a great example, since memcpy() already has all the information it needs to determine whether the regions overlap (src < dest + len && dst < src + len) and even where and by how much.  So pretty much any quality implementation is already performing this test and selecting an appropriate code path, at the cost of a single branch rather than 8x as many memory operations.<p>The real purpose of restrict is to allow the compiler to cache a value that may be used many times in a loop (in memcpy(), each byte/word is used only once) in a register at the start of the loop, and not have to worry about repeatedly reaching back to memory to re-retrieve it because it might have been modified as a side effect of the loop body.</p>
]]></description><pubDate>Sun, 18 Jan 2026 12:06:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46667148</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=46667148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46667148</guid></item><item><title><![CDATA[New comment by repstosb in "Id Software devs form "wall-to-wall" union"]]></title><description><![CDATA[
<p>>> was it the unions or executives that decided to offshore manufacturing?
>Neither. It was consumers, who prefer lower prices.<p>Right, because every executive who pursued offshore manufacturing was thinking, "gosh, how can I deliver even lower prices and better value to my customers?", and not "OK, we've shown the market will pay $X for product Y, how can I cut my costs and free up more money for bonuses and cocaine?"<p>Graphs of price indices (aside from a few sectors such as electronics where it was the core technology that improved, not labor efficiency) and wages over the last 50 years clearly show that the bulk of any offshoring savings were not passed along to consumers or front-line workers.</p>
]]></description><pubDate>Sat, 13 Dec 2025 16:28:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46255729</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=46255729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46255729</guid></item><item><title><![CDATA[New comment by repstosb in "If you're going to vibe code, why not do it in C?"]]></title><description><![CDATA[
<p>That's actually a terrific example, because the company already had a working, field-tested manually controlled version of their product, but they wanted a computer-controlled version to relieve radiologists of all of the drudgery and opportunities for error in the manual setup.  So the design spec was to "faithfully replicate the manual setup procedures in a microcontroller," which was achieved.  The problem was that the UI was utter dogshit, the training materials were poor (you can't have Marketing say "hey  this computer handles all the details for you!" and then expect customers to pore page-by-page through the reference manual), and most clinics weren't really enforcing or QAing the operator training anyway.  And since "the computer has a handle on it," the radiologists and senior techs who were supposed to be second-checking everything basically abdicated that responsibility, driven in part I'm sure by management that expected them to now have more "free hours" for other activities that Make Line Go Up.  And nobody really raised a flag that this seemed troubling until multiple children died, and at the end of the day a lot of people could say "well, it wasn't <i>my</i> fault, I did what I was told to do" and sort of believe it.<p>If anyone doesn't think all of that is going to happen again on a massive scale as companies embrace GenAI, HAHAHAHAHAHAHA.  AI will change a lot of things, but it won't fix human nature.</p>
]]></description><pubDate>Fri, 12 Dec 2025 21:07:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46248963</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=46248963</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46248963</guid></item><item><title><![CDATA[New comment by repstosb in "John Carmack on mutable variables"]]></title><description><![CDATA[
<p>Modern CPUs do out-of-order execution, which means they need to identify and resolve register sharing dependencies between instructions.  This turns the notional linear model of random-access registers into a DAG in practice, where different instructions that might be in flight at once actually read from or write to different "versions" of a named register.  Additionally, pretty much every modern CPU uses a register renaming scheme, where the register file at microarchitecture level is larger than that described in the software-level architecture reference, i.e. one instruction's "r7" has no relationship at all to another's r7".<p>Caches aren't quite as mix-and-match, but they can still internally manage different temporal versions of a cache line, as well as (hopefully) mask the fact that a write to DRAM from one core isn't an atomic operation instantly visible to all other cores.<p>Practice is always more complicated than theory.</p>
]]></description><pubDate>Sat, 01 Nov 2025 13:21:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45781441</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=45781441</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45781441</guid></item><item><title><![CDATA[New comment by repstosb in "MD RAID or DRBD can be broken from userspace when using O_DIRECT"]]></title><description><![CDATA[
<p>Of course you should offer some method to disable caching/compression/encryption/ECC/etc. in intermediate layers whenever those are non-zero cost and might be duplicated at application level... that's the ancient end-to-end argument.<p>But that method doesn't necessarily have to be "something like O_DIRECT", which turns into a composition/complexity nightmare all for the sake of preserving the traditional open()/write()/close() interface.  If you're really that concerned about performance, it's probably better to use an API that reflects the OS-level view of your data, as Linus pointed out in this ancient (2002!) thread:<p><a href="https://yarchive.net/comp/linux/o_direct.html" rel="nofollow">https://yarchive.net/comp/linux/o_direct.html</a><p>Or, as noted in the 2007 thread that someone else linked above, at least posix_fadvise() lets the user specify a definite extent for the uncached region, which is invaluable information for the block and FS layers but not usually communicated at the time of open().<p>I think it's quite reasonable to consider the real problem to be the user code that after 20 years hasn't managed to migrate to something more sophisticated than open(O_DIRECT), rather than Linux's ability to handle every single cache invalidation corner case in every possible composition of block device wrappers.  It really is a poorly-thought-out API from the OS implementor's perspective, even if at first seemingly simple and welcoming to an unsophisticated user.</p>
]]></description><pubDate>Sun, 19 Oct 2025 10:23:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45633241</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=45633241</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45633241</guid></item><item><title><![CDATA[New comment by repstosb in "No I don't want to turn on Windows Backup with One Drive"]]></title><description><![CDATA[
<p>The Windows product manager is also a tool.</p>
]]></description><pubDate>Tue, 14 Oct 2025 01:48:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45575387</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=45575387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45575387</guid></item><item><title><![CDATA[New comment by repstosb in "Bcachefs removed from the mainline kernel"]]></title><description><![CDATA[
<p>Finding defects is a good thing, and fixing defects is a good thing.  Adding new features can be a good thing as long as it doesn't introduce or uncover too many new defects in previously stable code.  But what is lacking in your development process that you keep finding "critical" defects that could affect a large number of users during the merge window?<p>It seems like bcachefs would benefit from parallel development spirals, where unproven code is guarded by experimental flags and recommended only for users who are prepared to monitor and apply patches outside of the main kernel release cycle, while the default configuration of the mainline version goes through a more thorough test and validation process and more rarely sees "surprise" breakage.<p>It certainly appears that Linus can't tell the difference between your new feature introductions and your maintenance fixes, and that should trigger some self-reflection.  He clearly couldn't let all of the thousands of different kernel components operate in the style you seem to prefer for bacachefs.</p>
]]></description><pubDate>Wed, 01 Oct 2025 12:34:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45436947</link><dc:creator>repstosb</dc:creator><comments>https://news.ycombinator.com/item?id=45436947</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45436947</guid></item></channel></rss>