News for hackers. Stuff that matters.

AshamedCaptain

Re:Infinite Mac: BeOS on Sunday November 01, 2026 @09:27AM (#50326023)
This is still completely different to COM in both goals and implementation. If this resembles COM to you, then almost anything resembles COM.

This is just the part how they deal with forward ABI problems, and is exactly the same that Be was doing too, as I mentioned in an above comment: private impl pointers and "preemptive" empty virtual functions (Be calls it "stuffing", OS X calls it "padding").

Re:Infinite Mac: BeOS on Saturday October 31, 2026 @01:30PM (#50318143)
So, exactly like what Mac OS X did with IO Kit. They managed for several decades...
Re:Infinite Mac: BeOS on Saturday October 31, 2026 @01:24PM (#50318085)
Not at all. IO Kit was raw, pure C++, with all the ABI consequences you must deal with (including fragile base class). Just go to see any header of any exported IOKit class to see what I am talking about.

There is no COM whatsoever, no IPC, no IDL, nothing, dunno where do you get that from.

I just find it funny to claim that C++ was even partially to blame for Be's demise, when Mac OS X since its first public release actually embraced C++ for a much more delicate component.

Re:Infinite Mac: BeOS on Friday October 30, 2026 @09:38PM (#50312404)
I'll note that Mac OS X used a C++ ABI in the _kernel_....
Re:Linux 7.3 Released on Monday October 19, 2026 @06:09AM (#50150501)
And basically only used by those allergic to Samba's GPLv3.
Kind of proving why accuracy is not really that important for the PC world. Most era firmware would have tried to run on as much variety of machines possible.
Or a Rosetta-based emulator (like Parallels). But 86Box is going to be very bad there.

While they claim "accuracy" as one of the goals for 86Box, I believe accuracy is overrated in PC emus (you don't really need that much accuracy due to the variety of PC clones, and emus are not that accurate anyway). For me the biggest point for using 86Box over other PC emulators/virtualizers is the large selection of virtual hardware available to emulate, not performance.

That's Box86 [not a joke].
Re:I am done with this shit on Wednesday September 23, 2026 @07:36AM (#49814521)
When actually it should be software companies that should be worried. If you believe like some guys do that you can just point an LLM to any piece of software in the world and ask it to patch it / replicate it / maintain it with zero copyright repercussions, what is the point of software companies again?
There have been shitloads of open source RADs. They do not generate much interest.
Re:A software thing I built: GPS on a 25MHz 486-SX on Wednesday September 16, 2026 @09:20AM (#49726620)
I once worked on a handheld garmin gps that used a 386 ... not sure if it ever became a product, though. It definitely had moving map... 1MB of it.
Right until you release it and a minor gets the NPC to talk about rape or something.
Re:Omarchy: Any User Process Can Escalate to Root on Sunday August 30, 2026 @01:41PM (#49500920)
No and you missed the "freedom" part of the adage.
Re:Omarchy: Any User Process Can Escalate to Root on Sunday August 30, 2026 @01:25PM (#49500724)
While I don't want to discuss the quality of any distro vs Windows, there is a big reason most of us use free software: because it is free. Whether for you it is because of free as in freedom or free as in beer specifically, quality may not have much to do with it.
Re:Creepy Crawlies on Sunday August 30, 2026 @11:10AM (#49499358)
This is bad enough that I'm going to stop serving cgit. I've been doing cvsweb, then subversion, then cgit over my home server for many many years and for the first time ever this is annoying my own bw usage.

It's ridiculous also how you ban an IP then 1 second later another one picks up from where the first one left on.

Re:Everyone Says Assembly Is Untyped–Everyone Is Wrong on Monday August 24, 2026 @08:05AM (#49418540)
> Name the architectures and the specific instructions; do not be hypothetical.

You realize you're asking for a list of instructions that are not used by codegen but exist in the ISA? Because it is practically infinite.

Even a plain old "in" in x86 may go from clobbering only the target registers to clobbering memory to clobbering about _every_ register (e.g. under vmware). And there's a million like these on any architecture.

Short of generically saying all clobber everything, I really don't know how can you build a table here.

And you are forgetting that the problem does not only extend to the compiler here, but to whoever is writing the assembly, because you may be using some register that may or may not be clobbered on depending on which instruction operand size was used by the previous one!

> So if you want to pass an 128-bit integer, it will have to be done in two registers, which is literally the point

Some inline assembly syntax (e.g. Watcom) does support return an int64 as 2 registers. Are you understanding this as me asking to change the instruction to return the value in one register or something? What I'm saying is that it supports mapping its 64 bit native type (which is either two registers or always in memory, I don't care) to an inline assembly snippet that uses/returns an int64 value in two registers.

This is just an example of the reason inline assembly syntax grows unwieldly, and there are more! Just about any 'letter' of gcc's extended ASM is another one. You seem to be trying to implement something like intrinsics here, with a very limited view of what people use inline assembly for, and that's fine, but it simply falls short, and that is why you have a hard time explaining the decisions behind inline asm syntax.

Re:Everything I own, owned on Monday August 24, 2026 @07:13AM (#49418113)
This still would allow one to "strobe" the power line making it impossible for a human to see the LED but the camera could still capture snapshots and at a decent framerate even.
Re:Everything I own, owned on Sunday August 23, 2026 @09:24PM (#49414293)
Look, I find it funny that I find myself arguing on the other side of the discussion that I'm frequently on, but here is where I draw the line, and I think what is ridiculous is to think otherwise.

How many hoops Google asks you to go to install an Android app ? (Androids amounts to basically the most sandboxed environment one can have today; malware installed there can practically do _nothing_) MANY. Centralized register of apps and remote blacklisting, a lot of permission prompts, password check, and they are even literally pushing to even have a physical 24h cool-off period if you skip the centralized register.

How many hoops does Google ask you to go an allow a random website unfettered access to destroy your hardware? One. Permission. Prompt. In a bubble prompt, that barely registers above noise compared to other permission prompts browsers ask.

Of course these are two ridiculous extremes, but they exemplify the point. There is a reason a browser won't allow a random website to write over random sectors of your hard disk just because you said "accept" to a bubble-style permission prompt about wanting to "save files to your hard disk". The line has to be drawn somewhere, and allowing what basically amounts to raw access to IO ports just after a single permission prompt listing the device name is where I draw it. Any user, even knowledgeable ones, is simply going to be _incapable_ of truly understanding the risks behind allowing this access.

I would be much more in favor of allowing random IPC to services in your local computer (after a permission prompt) than this., something that is equally useful if not more than allow raw access to HID.

Devices need to be hidden behind drivers that multiplex and control access to the device at the OS level. A bus that was never meant to be exposed to user-level access should not be exposed to random programs much less websites. This is not security, this is "mistake prevention" level, in the same way operating systems disallow a random user-level program from overwriting the hard disk.

And do not read this as "devices should sign their firmwares and what not". That is (for me) definitely the wrong take but literally the only take that is left on the table due to Google's stupid behavior.

Re:Everyone Says Assembly Is Untyped–Everyone Is Wrong on Sunday August 23, 2026 @08:30PM (#49413987)
>Which we have massive tables for each form which track those side effects and clobbering information too.

No, you have tables _of the instructions that the compiler codegen may use_. You have no tables of what someone may use inside inline assembly, because for most architectures it may not even be possible to build such tables in the first place!. That's a reason why usually you rely on the users specifying the side effects manually for these cases.

> Okay? There are no 128-bit integer registers on AMD64, ARM64, nor RISCV-64. So I have no idea what you are on about.

You have no idea why you would need to pass a 128 bit int in two registers if there are no two 128-bit integer registers? Am I missing something here?

Even rdtsc is already returning a 64-bit into two registers (another x86 idiosyncrasy I suppose), rather than "two separate return values", something the examples kind of gloss over.

Re:Everything I own, owned on Sunday August 23, 2026 @08:24PM (#49413949)
You realize that most of the time that you are giving access to an older HID device, you are giving the website permission to convert that device into a persistent backdoor forever? No matter if you later close the browser or revoke the permission -- the damage has already been done? Most devices predating WebHID and the like have almost no protection (why would they?), and you can corrupt or even entirely replace the firmware quite easily. heck, NetMD is one example (the browser can overwrite its firmware with no trouble!), as are the devices listed in TFA .

It is basically the same reason most desktops do not give the logged in user access to /dev/hidraw*, even though it makes a shitton of sense and would simplify many things greatly.

This is one of the few areas where I think Mozilla did the right thing without question.

Re:Everything I own, owned on Sunday August 23, 2026 @08:15PM (#49413892)
I think that this is not true -- the achievements mentioned here are hardly ground breaking and mostly build on work that was already done years before LLMs were a thing.

There are things that the "open source movement" dreams about, and one just has to search around... E.g. like codecs, Qualcomm's aptX lossless, adaptative, and other more recent variations.

Re:Everything I own, owned on Sunday August 23, 2026 @08:10PM (#49413854)
I kinda remember that the counterargument Google used is that only devices with a special attribute would ever be available through WebHID, ensuring that such older devices would never be exposed.

Cue my surprise when it turns out you can use WebHID to program a Minidisc / Net-MD device [1], so.. they never did implement that filter, apparently. I mean, certainly it is useful, but ... What The F., Google?

[1] https://web.minidisc.wiki/

Re:Everyone Says Assembly Is Untyped–Everyone Is Wrong on Friday August 21, 2026 @09:29PM (#49395715)
> AT&T bakes the width into the mnemonic (movb, movw, movl, movq [...] Intel’s syntax is to prefix the memory operand with byte, word, dword, or qword, but Odin’s just uses the Odin type system directly.

In GAS you can skip the width suffix from the mnemonic, and in most Intel assemblers you can skip the memory type operators like byte. They happily guess it from the operands. The problem is that on x86 (but also other ISAs, even if to a lower extent) the different operand sizes have a lot of side effects, which is why everyone just makes the operand size explicit, up to the point that apparently the author/LLM believes that it is mandatory to specify them.

This kind of defeats the headline of the article...

Tomorrow you need to pass a 128 bit int into two registers and your fancy syntax then also becomes a messy bunch of hacks. This is why everyone's inline assembly syntax looks like that, because they want to cover the weird cases (gcc's one is almost like an history book). You're normally using inline assembly for when you have some ridiculous corner case, if not, then what you ought to use is more akin to intrinsics...

Also it forgets Watcom C, which does have a complete but messy syntax for inline assembly (which combines nicely with its ability to specify really weird calling conventions).

Re:How Bluesky draws its logo on screenshots on Monday August 17, 2026 @07:19PM (#49339026)
From the same lunacy that forces me to write my 30-something character Wi-Fi password on a "secure password field" that only shows me the last character, almost ensuring that I will make an unlimited number of typos and spend way too much time for something that should only take 30 seconds.

It's not clear who it is protecting against, it does not seem to be effective at protecting against anything at all, it is actively annoying to the user, and has no way to disable. Perfect example of the usual "security theater" feature.

Re:I'm switching my phone from Android to Linux on Thursday August 06, 2026 @05:40AM (#49194539)
I think you forgot what the "H" in "HN" means.
Re:I'm switching my phone from Android to Linux on Wednesday August 05, 2026 @05:02PM (#49188962)
This is often said but if you want to "diagnose" something then the terribly limited Android shell is about the last place you want to be, and a sandboxed one on top of it is worse ....
I now realize how hypocritical it is for Spain to ask about Gibraltar to the UK while they still are keeping Ceuta in Morocco.
Re:GCC steering committee announces AI policy on Thursday July 30, 2026 @10:19AM (#49110403)
In addition, when we usually say that triggering undefined behavior on C can start a game of Tetris or format your hard disk we're usually joking (or at least exaggerating), i.e. the most common failure conditions of compilers are really limited in scope, and very likely caught by whatever testing mechanism you use for the software.

No such limits for LLMs where losing all your files is about par for the course for everyone who uses them regularly.

Re:Cracking Windows Open: Porting RADV to Win32 on Wednesday July 29, 2026 @06:39AM (#49095662)
I am quite sure AMD is already using a fork of the Linux amdgpu KMD for their proprietary driver on Windows (which in part explains why a project like this can even be done)

Porting Linux drivers to anywhere is generally hard. It either makes your kernel very Linux-like (and lots of manpower to translate the abstractions), or forces you to put Linux on it. There are bazillions of projects to put recent Intel drivers on 9x and none suceeded, for example.

Plus my recent observation that for Haiku it was easier to port the out-of-tree nvidia driver and fork Mesa, than it was to port the Linux amdgpu one.

And SPF doesn't?

Older »