There’s always a reason
There’s always a reason
It’s possible though less than ideal. Drivers that connect to devices are part of the attack surface, and probably the part you’d least want implemented in C when the rest of the kernel is in Rust.
There’s a Pareto effect when it comes to them, in that you can cover a large proportion of use cases with a small amount of work, but the more special cases consume proportionately more effort. For a MVP, you could restrict support to standard USB and SATA devices, and get a device you can run headless, tethered to the network through a USB Ethernet adapter. For desktop support, you’d need to add video display support, and support for the wired/wireless networking capabilities of common chipsets would be useful. And assuming that you’re aiming only for current hardware (i.e. Intel/AMD boards and ARM/RISC-V SOCs), there are a lot of legacy drivers in Linux that you don’t need to bring along, from floppy drives to the framebuffers of old UNIX workstations. (I mean, if a hobbyist wants to get the kernel running on their vintage Sun SPARCstation, they can do so, but it won’t be a mainstream feature. A new Linux-compatible kernel can leave a lot of legacy devices behind and still be useful.)
Drew DeVault recently wrote a simple but functional UNIX kernel in a new systems programming language named Hare in about a month, which suggests that doing something similar in Rust would be equally feasible. One or two motivated individuals could get something up which is semi-useful (runs on a common x86 PC, has a console, a filesystem, functional if not necessarily high-performance scheduling and enough of the POSIX API to compile userspace programs for), upon which, what remained would be a lot of finishing work (device drivers, networking, and such), though not all of it necessary for all users. Doing this and keeping the goal of making it a drop-in replacement for the Linux kernel (as in, you can have both and select the one you boot into in your GRUB menu; eventually the new one will do enough well enough to replace Linux) sounds entirely feasible, and a new kernel codebase, implemented in a more structured, safer language sounds like it could deliver a good value proposition over the incumbent.
PostMord for the win
The Swumbles Big Jumble naming scheme can probably be traced to ZX Spectrum games coded by 15-year-olds in northern England in 1983 or so
Wouldn’t this be about the time anti-SLAPP laws come down on Musk like a tonne of bricks?
Modifying the built-in Uyghur-detection algorithms to instead detect Palestinians was probably conveniently easy
So the proverbial one guy in Nebraska and a few dozen like him can work on Firefox in addition to their day jobs?
Don’t forget that every recent Intel CPU contains an extra 486-based system on a chip running a stripped-down version of Minix (a predecessor of Linux), to implement the remote management engine.
New Brendan Eich just dropped
Only one kitten?
Given that they have a native, non-Electron iOS version, it’s a shame that they haven’t built a desktop macOS version using mostly the same code. (To make it look like a proper Mac app, they’d need different UI code, though even without that, they could build a version that looks like the iPad version with no changes, and it would look no worse than the Electron web-app UI and run an order of magnitude more efficiently.)
* offer not valid in Russia or the Middle East
If you want more like this, there’s Bunnix, the UNIX clone someone recently built in a month. You can follow its progress here.
Or the fat guy in the stars and stripes shirt in Katamari Damacy. Or Bobson Dugnutt.
“am I a joke to you?”
Apparently teachers are one of the hardest drinking professions
I wonder what the proportion of bots to actual gamergate incel chuds who idolise Musk was.