Follow

Another example:

Google Fuchsia's kernel is 199,570 lines of C, C++, and assembly, not including a suitable C/C++ toolchain (it uses GNU extensions, so we'll assume GCC is necessary - about a million lines of code). It supports two architectures, x86 and arm64. It takes about 22 minutes to build on server-grade hardware. It also doesn't work and is far from complete.

The entire self-hosting plan 9 system, including its compiler and entire userspace, desktop windowing system, text editors, POSIX compatibility layer, games, media players, and so on - is 268,001 lines of code. It supports seven architectures and takes less than 10 minutes to build the entire operating system on a raspberry pi.

Correction, GCC is tens of millions of lines of code these days

Also worth pointing out that Fuchsia's kernel is an, ehem, "microkernel", in only the strictest sense of the word... so that number doesn't even include any drivers

The Minix microkernel (which I can say with a straight face) is ~18,000 lines of C, supports two architectures, and is deployed in production spying on your computer from ring -2

Bonus: Fuschia uses their own Clang and GCC toolchains (yes, both), so you have to build those first, or download their pre-built binaries (lol) (which only support glibc-based systems, of course)

I may have become distracted from hating on Rust by hating on Fuschia

@sir You can turn that back into hating Rust, as Fuschia(the OS) has more Rust code than C++

@ignaloidas oh nice, so that number is more like a half a million lines of code. Should take weeks to compile at that rate

@stevenroose @ignaloidas perhaps once you get closer to userland, but I'm talking about the kernel

@stevenroose @sir It's not all written in rust. The (micro?)kernel is written in C++, other lower level stuff is a mix between C++ and Rust, and then I think Dart for the user facing stuff.

@ignaloidas @stevenroose Zircon is a microkernel in the same sense that The Rock is a small animal

@ignaloidas @stevenroose extending the metaphor, plan9 is good in the same way that child labor is

@stevenroose @ignaloidas @sir the apps are supposed to use Flutter UI toolkit, which is Dart based

@lkundrak @sir Damnit, I didn't know the contest was over already. I was just warming up!

@Wolf480pl @lkundrak @sir bwahahahahaha...

I'd like to see more bitter old ladies to be honest. Bring forth the "golden girls" of the *nix world!

@mariusor @lkundrak @sir
Yeah I meant bitter old people in general. People who have seen enough to not buy in to hype or memes.

@sir Google likes prebuilts and stupidly puts them into Git. When downloading AOSP you're forced to download huge repos with binaries with history with prebuilts.

@a1batross why anyone admires the engineering culture at Google is beyond me

@a1batross @sir presumably due to Google using either centralised VCSes or "store binary files in a central server + DVCS" type solutions

@waweic minix is famously used by intel management engine

@sir i had to deal with it in an Operating Systems class and i didn't appreciate K&R style function definitions

@sir
Google created Fuchsia instead of modifying Minix because they are C++ fans?

@alexl and it's also probably spying on you \o/

@sir

22 minutes? Those are rookie numbers. Try building Open Office from source in Gentoo Linux on a 1 GHz IBM PC. I never actually timed it, but it took overnight.

@billstclair 22 minutes on enterprise grade server hardware, that is. I'm sure it would compete with OO on consumer... actually I'm not confident in that assertion

@billstclair @sir try building OpenBSD xorg from source on an 800Mhz 128M PowerlessPC machine
Most of a week.

@izaya @billstclair my dick is bigger^w^w^wcomputer is slower than yours, naynaernayner

@sir all i really want is a small linux based / open source mobile os ^^v (whitout google services, etc..)

i hate this android shit <.<
yeah i run my android without gapps.. its a little bit better this way.. but still..
@sir never heard about this project. gonna look it up ^^

thanks ;)

@sir
Havnt looked too closely and it supports too few devices but grapheneOS might also be getting there
@rick

@sir I feel this is the appropriate place to say that not only is plan 9 a neat academic concept etc, but it can also be used as a badass, elegant development environment. The entire OS feels like it was designed by programmers, for programmers, and the tools behave as a cohesive whole instead of a cluster of random software kludged together. But I'm sure you already know this, seeing as how you've written a Rio clone. Anyway, enjoy this picture of my work desk/9front workstation setup/shrine:

https://pintobyte.com/tmp/work_desk.jpeg

@jeremy @sir
it looks nice. good for you. can you parallelize over multiple cores?

@harrison_partch @jeremy yes, and over multiple machines, running different architectures, trivially

@sir point taken, but I think it's obvious why plan 9 isn't a dominant OS.

All of those lines of code represent capabilities that people want.

@kai I think Plan 9 was the right thing at the wrong time. By the time it came around, Unix was already dominant and no one wanted to port their software from Unix, especially because plan 9 wasn't compatible with Unix software design principles.

@sir @kai I thought you were talking of the Ed Wood's movie, and I got really confused

Then I checked on Wikipédia and I realised that the name of Plan 9 (the OS) comes from Plan 9 (the movie)

The mascot's name is also a reference to Ed Wood

This is awesome

@sir we all know how does google "comply" with free software freedoms (when they do).
They increase the complexity of their software to a level that no individual is able to make a fork or handle it by themselves.
You can see the code but the codebase it's so large you can't read it all.

The worse part is that developers and brogrammers think this is the way to make code.

Sign in to participate in the conversation
Mastodon

cmpwn.com is a private Mastodon instance for friends of SirCmpwn.