Probably not well enough for a game, no. But the Apple II[1] and even the Apollo Guidance Computer[2] used interpreted bytecode to make their programs more compact. (The AGC actually had near-seamless interworking between native code and bytecode!) Also Pascal P-code, Microsoft BASIC’s pretokenized source, almost every Forth implementation ever, etc. The performance cost was pretty significant as you’d expect, but the result was still fast enough for the task.
It was also pretty common to use more capable machines to get some headroom for development tools, either by compiling for one (DOOM on NeXT) or by cross-debugging the system under test from it (a still-in-progress Lisa when developing the Macintosh; a DEC minicomputer, IIUC, when developing MS-DOS). You still do the former when you run an x86-64 image in your Android emulator; you probably still do the latter if you are targeting a microcontroller.
> In movies, there is an extensive practice of showing "credits" at the end, and I enjoy reading them in detail.
Thanks to huge protracted union fights. You’ll find the credits in an old US-produced movie—say, Gone with the Wind—are much more sparse than in one from the last decade or two. Incidentally, those fights happened too early to include CGI artists, and those often do go uncredited (undercredited?) even today.
Not that the Hollywood unions are a definite positive in all respects, or that the whole idea of fighting an oligopsony by establishing a monopoly in the shape of a cooperative doesn’t ring warning bells in my mind. But the movie industry absolutely would not credit most people if it could get away with it, and I wouldn’t expect the software industry to be any different (barring rare early pre-financialization examples[1]).
> While reviewing folks' C and C++ code, I've found the following reasons for inline assembly, where 1 is most common:
3a. rdpru (similar issues to cpuid) or rdpmc perhaps surrounded with lfence or cpuid inside the same assembly chunk
For obvious reasons, this is somewhat niche and may not even make it into production code, but it’s also important when you do need it. It’s also memory safe. I guess in such cases you’d use fast C rather than Fil-C though.
4a. rseq
Probably even less feasible than atomics TBH, as such blocks will usually also contain control flow (at least that implied by to the nature of rseqs).
> Before the advent of AI, writing a parser for x86_64 assembly would have been such an annoying task that I might have never gotten around to implementing support for memory safe inline assembly [...].
It is annoying, but even before the advent of AI that didn’t stop the developers of TCC for instance.
With that said, given Fil-C is Clang/LLVM-based, shouldn’t an assembly parser, at least, be already available somewhere? I was under the impression that Clang (unlike GCC) actually parsed asm blocks.
I had yet another reason to use inline assemblies in WAH [1]. In some compilers (I think it was GCC) intrinsics are imbued with `target("foo")` attributes, which cause forced-inline via `always_inline` attribute to fail somehow. I really needed that though because I was writing a fast bytecode compiler and being unable to force-inline meant each supported SIMD instruction had to pay function call overhead (which can be significant when your bytecode is literally a single native SIMD operation!).
I’m having vague flashbacks here so I might be guessing wrong, but: the only reason I’ve ever seen an “inlining failed” error from GCC when using intrinsics (and it was an actual error) was when it actually meant “you can’t use this intrinsic in this configuration” (the second half of the message, “target specific option mismatch”, is more helpful if still cryptic). Thus the fix was to change the argument of the -march= option or (for dynamic dispatch) decorate the caller with the correct __attribute__((target)). E.g. if you pass -march=x86-64-v1 but try to use AVX you’ll get such an inlining error. (This is unlike MSVC which will always allow you to use any intrinsic supported by the compiler.)
I think you are right in the interpretation. In my case though dynamic dispatch was already integrated with bytecode lowering so the error wasn't helpful :(
Ah, so you want the function containing the interpreter loop to be compiled for the baseline architecture but some of the bytecode implementations inside it to use more advanced intrinsics? Yeah, I don’t think GCC has a good answer to that one. It also sounds gnarly from a general calling-convention perspective—how is the VZEROUPPER on exit supposed to be emitted if you can’t count on AVX?..
We recently (finally) got __attribute__((musttail)) in GCC[1], I’ve just tried it between functions with mismatched __attribute__((target))s and it does work, so theoretically you could code your interpreter that way. But it seems like you’re still bound to keep loading and storing vector state from and to memory and VZEROUPPERing your registers after each bytecode, and that doesn’t sound like a particularly good time.
A bit disappointing that (IIUC) for the common parsers you have to say everything twice, in HTML and in the accompanying JSON-LD form even though RDFa exists for the exact purpose of letting you point at the values already present in your markup. (Admittedly RDFa is perhaps too flexible for its own good when you just want to mark up some stuff, but if you’re writing a full parser anyway dealing with a bit of excessive cleverness in the format should not be too bad.)
They don't conflict; they were designed to work together. You can have schema.org (in JSON-LD, RDFa, or micro data) on the same page as Dublin Core, etc.
For example, there's no explicit property in schema's Person type [1] for a nickname. But the FOAF standard does [2].
I think if you are using Dublin Core, it’s because you’re a library. Maybe I am off the mark, but that is the sense I get from this—not all these standards should be used for all pages on the web.
I think you should just think about what metadata you actually care about, and the main metadata I care about (choose your own list) is authorship, publish date, last update, subject keywords, thumbnail (OpenGraph 1200x630), and summary.
There’s a long list of additional metadata that I could put in my webpages because there are standardized ways to do it, but, why bother?
Dublin Core is effectively similar/related to schema.org's CreativeWork. If you have a creative work (audiobook, short story, news article, etc.) then Dublin Core is applicable, in addition to the corresponding CreativeWork subtype.
And yes, you should use whatever metadata is applicable to your site and test it against the search engines/etc. you want to support to make sure that they are reading the metadata correctly.
To be fair schema.org and dublin core say “when a property is name ‘title’ it means …” and you can expect to find the following properties…
Json-ld says: if you want to know whether the “title” property means the schema.org or the dublin core variant then you can find out which it is by <json-ld algorithm>
So you’d always use json-ld _with_ schema.org or something.
IMO this is going overboard. Any time you are duplicating data from HTML into JSON-LD, consider just omitting that data from JSON-LD, unless the data isn’t consistently present in HTML (because it is a bitch to be consistent about this stuff).
I tried using RDFa and liked the property that it was theoretically less redundant, but switched to JSON-LD because it JSON-LD is just easier to get working. And this is speaking as somebody who uses a hand-rolled static site generator—the issue here is that whether information is present in the raw HTML is something contextual, and if something isn’t present in the HTML then you need to put it somewhere else or it’s not mechanically parseable from the page. Like, to a human reader, a post on “Alice’s Blog” is assumed to be authored by Alice, so I may omit the “by Alice” text from the document, and then I would want to put that metadata in the page some other way.
Putting the metadata in JSON-LD lets me just be dumb about it. The metadata is always in JSON-LD, and the HTML may or may not contain an explicit representation of that same metadata. Easy.
But the JSON-LD does not need to contain the URL of the page (which is <link rel=canonical>) or the title (which is in <title>), for example.
> I tried using RDFa and liked the property that it was theoretically less redundant, but switched to JSON-LD because it JSON-LD is just easier to get working.
For me, it depends on the project. For personal projects, I tend to use RDFa; otherwise, JSON-LD.
I solved this by building Web Components out of them. Basically the HTML needs just a custom template tag, which includes a script with the JSON-LD payload. The component corresponding to the template, initializes itself based on that data. See here for an example: https://releases.bruta.link/releases/2026/June/21
Granted, all of this is not for SEO purposes, but part of the ActivityPub ecosystem, which also uses JSON-LD for data encoding.
> Can you LD_PRELOAD in front of the vDSO? I was under the (possibly mistaken) impression that the kernel injects it directly.
The kernel puts the vDSO in memory and tells ld.so where it is, but where if anywhere ld.so will put it in the search order it implements is its own concern. (TBH I don’t actually know whether ld.so will actually allow LD_PRELOAD to override the vDSO, but there’s no reason for it not to, except I guess for the syscalls that are needed to perform the dynamic linking itself.)
I don’t know how SMPTE works, but ISO meeting participants are, famously, unpaid volunteers. Or perhaps I should rather say negatively paid, as it costs money to participate in (more than one) meeting.
So... anybody who was hoping for CXMT (or YMTC) to maybe cause RAM or flash prices to maybe drop, maybe just a bit, pretty please, can go pound sand? (YMTC of course is already on the Entity List.)
Not thus far, but I doubt one ever gets off this kind of chopping block once on it, so it seems to be merely a matter of time. It’ll probably take a year or two for CXMT to start producing consumer DDR5 in higher densities, if they even plan to bother, so I wouldn’t bet against a motivated lobbyist getting the axe to swing in the interim.
PII is a US-specific concept that has little relevance to the GDPR. So I wouldn’t say for sure that they have to give those photos to you but it wouldn’t be as simple as “not PII”.
reply