The goal for ravynOS is to be analogous to ReactOS. Much like ReactOS and WINE, ravynOS and Darling share a lot of Cocoa code.
For the problem of OpenStep implementations specifically, a bespoke software stack has the benefit of being able to put Mach messaging into the kernel, where it is much more performant.
They chose the FreeBSD kernel over Darwin for the sake of hardware compatibility (though of course NeXT Mach is one of the most widely-ported kernels of all time...)
There is also overlap with GNUstep, helloSystem, and other projects in the broader "open-source Mac/NeXT" space, though ravynOS (obviously) prefers BSD/MIT/Apache-style licensing over GNU-style licensing. Nevertheless, ravynOS currently uses the GNUstep libobjc2 runtime, a bit like how most of the Unix world used to depend on gcc.
Indeed—I meant specifically the NeXT branch of the family tree because of this exhaustingly long list.
I would very much like to see that quad-fat OS4.2 CD; most NeXT releases around that era drop PA-RISC and are only tri-fat. I only have a 3.3 RISC (HPPA+SPARC) ISO for HPPA coverage.
The big ones you're missing are the Intel i860 (used as a graphics accelerator on NeXTdimension video processing boards—also the original target platform for the Win NT kernel) and the Motorola 88k family, which was briefly explored for the "NeXT RISC machine" in the mid-90s; only one prototype is known to exist. There were non-NeXT ports of Mach to m88k, which may have influenced the decision.
Of course, if we add in the other branches of the Mach family the number of ports gets absurd! It originated on the VAX; OSF/1 adds MIPS and AXP to the list... ultimately RISC-V and Itanium are the only significant ≥32-bit CPUs of the last forty years to not see some kind of Mach port.
But—the ultimate point is that the lion's share of actual work porting the kernel to new hardware is thanks to NeXT and/or NeXT cosplaying as Apple.
The author kindly informs us that he is a "UI prototyper [...] tinkering with design concepts" and also that he works for a company making AI coding software. This double-whammy may somewhat explain the strong Dunning-Kruger gravitational lensing observed when viewing the article from a distance.
Is Notion a company making "AI coding software" these days?
If you want to learn more about Geoffrey I suggest browsing through https://www.geoffreylitt.com/#projects - I've been following his work for a few years, "UI prototyper" is him under-selling himself.
> This suggests, I think, that in Thiel’s mind there are two cosmic forces warring over creation itself, and they both consist of Peter and his friends.
I like lit. I'm not primarily a web developer and I've found it intuitive and easy to read and write. What I find more confusing than frameworks is building, bundling, ES modules, the whole NPM ecosystem.
>building, bundling, ES modules, the whole NPM ecosystem.
That's evolved hand in hand with the React monoculture over the past 10-15 years, maybe by way of a project called Babel.
Babel set out to provide progressive enhancement for the original ES5 to ES6 migration, and then in classic POSIWID fashion began to thrive on a suite of a la carte incompatibilities.
That experience is as much a contributor to the current automatism to to reach for (non-configurable) Prettier and Eslint, or more, than any rogue devs imposing fell coding styles.
So yeah, plenty of things in JS infra that look like they've been designed to be a pain in the ass (a.k.a. "behavioral nudge", towards TS, what else) and very much seem like the result of more inept moat-building in the then-newly ballooning field of frontend dev.
Readers might look up whan an import map is sometime, as well as where it is and isn't supported. How TS handled ES modules at the time Node16 changed their ESM support. Does ESM `default` correspond to CJS `module` or `module.exports`? Room for vendors to fuck up in innovative ways all round, this whole rotten ecosystem.
Readers are also advised to try Deno if they haven't yet. On Node, try Vite instead of Webpack. Most importantly, try Lit with JS, import map, no builder/bundler, and test suite with coverage. Work out what is most comfortable for you, work out exactly how much toolchain makes you the most productive, and afterwards don't forget to ask yourself why the React cultists want to stick everyone in a hairshirt if not a straitjacket.
See quectophoton's comment—the requirement that continuation bytes are always tagged with a leading 10 is useful if a parser is jumping in at a random offset—or, more commonly, if the text stream gets fragmented. This was actually a major concern when UTF-8 was devised in the early 90s, as transmission was much less reliable than it is today.
It also notes that UTF-8 protects against the dangers of NUL and '/' appearing in filenames, which would kill C strings and DOS path handling, respectively.
Be aware that these are built on very barebones disk images compiled by a community member many years ago; the NeXT community is working on more tourist-friendly packages that we hope to offer to Mihai soon.
Glad you like it and thanks for the recommendation!
Nonetheless, being the maintainer of this project, i'd like to point out that this is no dedicated GNUstep distro, but a mostly Debian based distribution using a thoroughly preconfigured Window Maker as its primary user interface, and that just happens to have the whole range of available GNUstep applications added on.
As already written elsewhere[3], citing my own words, this is a better characterization of its scope:
»Window Maker is just a highly compatible X11 window manager and is supposed to work as such. There is no interest to specifically integrate it with the provided GNUstep applications, as this is not supposed to be predominantly a GNUstep desktop. The included GNUstep applications are just an addon to give people a practical way to verify what GNUstep has to offer. In fact, wmlive would be perfectly usable without providing any single GNUstep application. The freedom and flexibility provided by an X11 window manager instead of the walled garden of a specific desktop system is much more preferable to many Linux users. NeXT nostalgists might want to look elsewhere. [1][2]«
People who's interest has been sufficiently piqued to download wmlive are advised to better wait until after Debian's bookwom 12.12 point release this saturday. A final bookworm based wmlive release will be uploaded shortly after. This will also be the last and final 32bit i386 variant of wmlive. After that work on an exclusively amd64 trixie based wmlive variant will begin.
Generally the matter is one of blood purity, as with all racism. Southern Spain, Italy, and Greece were all occupied at one time by Arabs, which contributed certain hair textures, skin tones, and facial features to the local gene pool. Those with no knowledge of history or civilization tend to be terrified of acknowledging the artistic and cultural contributions of al-Andalus and the Ottoman Empire. As you probably know, the northern reaches of Italy are more German than Romance, on account of those pesky invasive Lombards.
Of course the true absurdity of all this comes when two people from the same parents end up with different physiognomical and racial labels; since these traits are rarely as simple as idealized Mendelian characteristics, it is entirely possible for them to be passed on a couple of generations before re-coalescing. (The case of Summer on The Sopranos comes to mind—while her parents both have fairer skin than she does, the result is otherwise not all that unrealistic.)
To summarize...
There is a WINE-analogous project, called Darling: https://www.darlinghq.org/
The goal for ravynOS is to be analogous to ReactOS. Much like ReactOS and WINE, ravynOS and Darling share a lot of Cocoa code.
For the problem of OpenStep implementations specifically, a bespoke software stack has the benefit of being able to put Mach messaging into the kernel, where it is much more performant.
They chose the FreeBSD kernel over Darwin for the sake of hardware compatibility (though of course NeXT Mach is one of the most widely-ported kernels of all time...)
There is also overlap with GNUstep, helloSystem, and other projects in the broader "open-source Mac/NeXT" space, though ravynOS (obviously) prefers BSD/MIT/Apache-style licensing over GNU-style licensing. Nevertheless, ravynOS currently uses the GNUstep libobjc2 runtime, a bit like how most of the Unix world used to depend on gcc.
reply