John describes exactly what I'd like someone to build:
"To make something really different, and not get drawn into the gravity well of existing solutions, you practically need an isolated monastic order of computer engineers."
As a thought experiment:
* Pick a place where cost-of-living is $200/month
* Set up a village which is very livable. Fresh air. Healthy food. Good schools. More-or-less for the cost that someone rich can sponsor without too much sweat.
* Drop a load of computers with little to no software, and little to no internet
* Try reinventing the computing universe from scratch.
Patience is the key. It'd take decades.
ksec 21 hours ago [-]
Love this idea and wondering where that low cost of living place would be. But genuinely asking;
What problem are we trying to solve that is not possible right now? Do we start from hardware at the CPU ?
I remember one of an ex Intel engineer once said, you could learn about all the decisions which makes modern ISA and CPU
uArch design, along with GPU and how it all works together, by the time you have done all that and could implement a truly better version from a clean sheet, you are already close to retiring .
And that is assuming you have the professional opportunity to learn about all these, implementation , fail and make mistakes and relearn etc.
killerstorm 15 hours ago [-]
Software is bloated and unreliable. It's clearly a "local minimum".
01HNNWZ0MV43FF 12 hours ago [-]
If it's so bloated then just start cutting
Whatever expertise you need to prune a working system is less than the expertise you'll need to create a whole new one and then also prune it as it grows old
827a 8 hours ago [-]
Continuing the thought experiment: There's an interesting sort-of contradiction in this desire: I, being dissatisfied with some aspect of the existing software solutions on the market, want to create an isolated monastic order of software engineers to ignore all existing solutions and build something that solves my problems; presumably, without any contact from me.
Its a contradiction very much at the core of the idea: Should I expect that the Operating System my monastic order produces be able to play Overwatch or be able to open .docx files? I suspect not; but why? Because they didn't collaborate with stakeholders. So, they might need to collaborate with stakeholders; yet that was the very thing we were trying to avoid by making this an isolated monastic order.
Sometimes you gotta take the good with the bad. Or, uh, maybe Microsoft should just stop using React for the Start menu, that might be a good start.
ksec 5 hours ago [-]
>maybe Microsoft should just stop using React for the Start menu, that might be a good start.
Agree but again worth pointing out the obvious. I don't think anyone is actually against React per se, as long as M$ could ensure React render all their screens at 120fps with No Jank, 1-2% CPU resources usage, minimal GPU resources, and little memory usage. All that at least 99.99% of the time. Right now it isn't obvious to me this is possible without significant investment.
ronald_petty 8 hours ago [-]
Not saying these are perfect, but consider reviewing the work of groups like the Internet Society or even IEEE sectors. Boots on the ground to some extent such as providing gear and training. Other efforts like One Laptop Per Child also leaned into this kind of thinking.
What could it could mean for a "tech" town to be born, especially with what we have today regarding techniques and tools. While the dream has not really bore out yet (especially at a village level), I would argue we could do even better in middle America with this thinking; small college towns. While its a bit of existing gravity well, you could do a focused effort to get a flywheel going (redo mini Bell labs around the USA solving regional problems could be a start).
Yes it takes decades. My only thought on that is, many (dare say most) people don't even have short term plans much less long term plans. It takes visionaries with nerves and will of steel to stay on paths to make things happen.
Love the experiment idea.
sim7c00 23 hours ago [-]
been writing an OS for ever 10 years to try.
its seriously not something you want to do if you want to get anywhere.
then again,its a lot of fun, maybe imagining where it could be some day if you had an army of slave programmers (because still it wont make money lol)
m463 2 hours ago [-]
He might be describing Elbonia.
mastermage 22 hours ago [-]
Honestly sounds like a very cool Science fiction concept.
Zeebrommer 19 hours ago [-]
A bit like Anathem.
percentcer 6 hours ago [-]
Not quite the same but check out A Canticle for Leibowitz
JKCalhoun 16 hours ago [-]
I'd rather drop a load of musical instruments into said village but I guess I'm completely missing the point.
mkoubaa 17 hours ago [-]
Who needs good schools? Make it "The Summer of code in Sardinia"
ekaryotic 14 hours ago [-]
or "The Summer of code in Pyonyang"
mkoubaa 6 hours ago [-]
Laughed out loud
tanvach 2 days ago [-]
Was at Oculus post acquisition and can say that the whole XROS was an annoyance and distraction the core technology teams didn’t need. There were so many issues with multiple tech stacks that needed fixing first.
Mind you, this XROS idea came after Oculus reorged into FB proper. It felt to me like there were FB teams (or individuals) that wanted get on the ARVR train. Carmack was absolutely right, and after the reorg his influence slowly waned for the worse.
dedup-com 1 days ago [-]
Just a small bunch of XROS people came from FB proper (mostly managers) because an average FB SWE has no required skills. Most folks were hired from the industry at E5/E6 and I think we had ever took one or two bootcampers that ultimately were not successful and quickly moved elsewhere in FB.
thrown-0825 1 days ago [-]
[flagged]
dang 12 hours ago [-]
You can't attack other people like this on HN. Since you've been breaking the site guidelines in other threads as well, I've banned this account.
Please don't create accounts to break HN's rules with.
The problem that is kind of glossed over here is that Meta hired a bunch of folks from Microsoft who were primarily interested in writing operating systems, and set them to work on XR - obviously they wanted to write a custom operating system
jnwatson 2 days ago [-]
I've written a lot of low level software, BSPs, and most of an OS, and the main reason to not write your own OS these days is silicon vendors. Back in the day, they would provide you a spec detailed enough that you could feasibly write your own drivers.
These days, you get a medium-level description and a Linux driver of questionable quality. Part of this is just laziness, but mostly this is a function of complexity. Modern hardware is just so complicated it would take a long time to completely document, and even longer to write a driver for.
dist1ll 1 days ago [-]
Intel still does it. As far as I can see they're the only player in town that provide open, detailed documentation for their high-speed NICs [0]. You can actually write a driver for their 100Gb cards from scratch using their datasheet. Most other vendors would either (1) ignore you, (2) make you sign an NDA or (3) refer you to their poorly documented Linux/BSD driver.
Not sure what the situation is for other hardware like NVMe SSDs.
Wow... that PDF is 2,750 pages! There must be an army of technical writers behind it. That is an incredible technical achievement.
Real question: Why do you think Intel does this? Does it guarantee a very strong foothold into data center NICs? I am sure competitors would argue two different angles: (1) this PDF shares too much info; some should be hidden behind an NDA, (2) it's too hard to write (and maintain) this PDF.
WalterBright 23 hours ago [-]
I may be the only person who ever understood every detail of C++, starting with the preprocessor. I can make that claim because I'm the only person who ever implemented all of it. (You cannot really know a language until you've implemented it.) I gave up on that in the 2000's. Modern C++ is simply terrifying in its complexity.
(I'm not including the C++ Standard Library, as I didn't implement it.)
WalterBright 20 hours ago [-]
P.S. we're adding an "Editions" feature to D so we can simplify the language by removing obsolete and deadend features. We didn't get everything right, and want to fix it!
metaltyphoon 18 hours ago [-]
This is one thing Rust did it right and I hope more languages adopt this.
Conscat 13 hours ago [-]
Sean Baxter single-handedly implemented all of up to C++23, and some C++26, including a huge number of GNU extensions and possibly an even larger number of his own features.
WalterBright 11 hours ago [-]
Impressive!
cornstalks 15 hours ago [-]
You've done some great work but I have to call BS with this claim:
> I'm the only person who ever implemented all of it.
Sean Baxter is an easy counter example.
WalterBright 14 hours ago [-]
I don't know much of anything about him. Did he implement the preprocessor? the optimizer? the code generator?
(For some context, back in the 80's, code generators needed enhancements to implement C++. You couldn't just use an existing one. Bjarne had to do some ugly workarounds because of this.)
tux3 12 hours ago [-]
Sean Baxter's circle compiler uses LLVM as a backend, but I believe the rest is from scratch.
Arguably these days having a clear frontend/backend separation is good compiler architecture. It might slow down compile times a bit, but it's worth the cost.
vkazanov 10 hours ago [-]
So it sounds like he wrote the frontend of a cpp compiler? There's a lot of work in other layers as well.
WalterBright 11 hours ago [-]
It wouldn't have made much sense to write the preprocessor these days, too, but it is part of the C++ compiler. Unless integrating it with the C++ lexer for speed purposes, as I did.
awjlogan 1 days ago [-]
This is a pretty standard document length. Modern microcontrollers have similar lengths (e.g. ATSAMD51 is ~2000 pages). Some of it is not software related, things like pin outs and electrical and mechanical descriptions.
It does take a huge amount of work to write and maintain. Typically the authors are not technical, so it also relies on the designers being available to answer questions as well. Then there’s a choice of how it’s written: narrative and potentially imprecise but readable, or terse and precise but hard to read. There’s both styles in the same document, terse for register descriptions.
mrandish 14 hours ago [-]
> Real question: Why do you think Intel does this?
I'm not sure large traditional silicon vendors like Intel, TI, et al re-evaluate the documentation requirements (and costs) on a chip by chip basis. It's probably done by chip class and for companies who've been selling chips by the millions over many decades to industries as diverse as defense, aerospace, automotive, etc there are classes of chips where robust, complete documentation is not only expected but often a required part of the RFP, compliance or conformance processes.
While this level of effort probably isn't needed for every chip in that class, it could be hard to reliably predict when a general purpose chip is still in the design phase which customers may be interested in it during its life (which for some of these chips might be decades). Many chips which conform to MIL-SPEC or other similar standards which can require extensive documentation are simply enhanced versions of standard chips, so the docs exist anyway. Finally, there's the organizational capabilities and culture aspect. Once the org needs to maintain the systemic ability to generate serious documentation at scale, you end up with a lot of managers and staff who think this way.
16 hours ago [-]
lelanthran 23 hours ago [-]
For datasheets that's normal. Might even be leaning towards smaller than average for the device in question.
For comparison, a data sheet for a single transistor can be around 12 to 30 pages. A data sheet for a tiny microcontroller is probably a few hundred pages.
I once wrote a driver for a flash chip and that had a data sheet of around 80 pages.
jovial_cavalier 17 hours ago [-]
Look up the Texas Instruments am3358. It's a tiny SOC, it was used in the beaglebone black. Its technical reference manual[1] is over 5000 pages, and it details all peripherals, all of the interconnects and every single register in the system. This, by contrast, is really just an overview.
Regards to (1), if you don't publish this information you're not selling a CPU, you're selling a very expensive chunk of sand. There is simply no way that a customer can guess at what your implementation looks like. Additionally, Intel barely has IP in the traditional sense. They hold patents, but their only real competitor in making x86 processors, AMD, has a long-standing mutual non-enforcement agreement wrt patents.
Regards to (2), I'm guessing a majority of this PDF can be generated sort of like you generate API documentation from doxygen comments.
I worked on a similar TI SoC -- with War-and-Peace-sized datasheet. My eyes burned out and brain exploded. Ultimately, another engineer had to take over the project -- or rather TEAM of engineers, of which I did only a part. It's simply to much complexity to expect one engineer to grok it all, do the schematic & PCB & power supply & hi-speed MIPI connections and radios and... and THEN to write the software for it all. It's too much. (This is the Life one gets in Startups, it seems -- worked to the (beagle)bone!)
miki123211 23 hours ago [-]
Probably CPU vendor culture? I forgot how large Intel's manual set is, but ARM's was ~11k pages the last time I checked. Intel's was smaller, but not that much smaller, certainly within an order of magnitude.
pjjpo 1 days ago [-]
In terms of (2), I wonder if it's even possible to write a driver without such a document. In the end, the vendor is on the foot for the driver for major platforms (let's assume Linux) - if they can write a Linux driver without a similar spec to this doc, then the doc probably doesn't need to exist since the business wins from hobbyist drivers will be low. If they can't though, then it's just a matter of formatting an internal document for public consumption - the doc itself has to be maintained anyways so the cost seems lower and maybe reasonable. I have a feeling the doc is necessary but I am not specialized in the field.
Assumptions, fair or not, about (1) seems more likely somehow.
ch33zer 1 days ago [-]
Didn't all the asahi Linux Mac m1 drivers essentially get reverse engineered with little to no support from apple and no public docs? If I'm remembering correctly then I guess it's possible with enough effort and reverse engineering skills
stefan_ 20 hours ago [-]
It was reverse engineered from a driver. With no driver and purely some PCIE device registers mapped into memory you might as well be trying to guess lottery numbers.
ch33zer 18 hours ago [-]
I guess the driver was the one that runs on Mac that they were able to refer to? Not sure you have any links to blog posts about this process it sounds so cool
But it took 5 years. And since the first model, there are many others. It is huge work.
bhawks 1 days ago [-]
Id wager high frequency trading applications.
wtallis 1 days ago [-]
The NVMe spec is freely downloadable and sufficient to write a driver with, if your OS already has PCIe support (which doesn't have open specifications). You don't need any vendor-specific features for ordinary everyday use, so it's a bit of a different situation from NICs. (Also, NVMe was in very large part an Intel creation, though it's maintained by an industry consortium.)
the-rc 1 days ago [-]
On the other hand, see the complete mess that are the IPU6/7 camera chipsets and their Linux support.
XorNot 1 days ago [-]
Good christ this is my current work laptop. It...mostly doesn't work. Plug in a USB camera and it'll just go. Several drivers, userspace utilities and other daemons and sometimes gstreamer works, but does Zoom work? Who knows!
theideaofcoffee 14 hours ago [-]
That's interesting that it's that short. I remember a long while ago I had aspirations of implementing a custom board for Prestonia-/Gallatin-era Xeons and the datasheets and specs for those was around 3000 pages, iirc. Supporting infra was about that long as well. So I'm surprised to see a modern ethernet controller fit into the same space. I appreciated all of the docs because it was so open, I felt like I could actually achieve that project, but other things took priority.
mbac32768 1 days ago [-]
Yeah this. I tried to modify a hobby OS recently so it would process the "soft reboot" button (to speed up being rebooted in GCP) and it was so unbelievably hard to figure out how to support it. I tried following the instructions on the OS Dev Wiki and straight up reading what both Linux and FreeBSD do and still couldn't make progress. Yes. The thing that happens when you tell Windows or Linux to "restart". Gave up on this after spending days on it.
The people who develop OSes are cut from a different cloth and are not under the usual economic pressures.
gmueckl 1 days ago [-]
I also think that they have access to more helpful resources than people outside the field do, e.g. being able to contact people working on the lower layers to get the missing info. These channels exist in the professional world, but they are hard to access.
toast0 1 days ago [-]
To clarify, are you having trouble getting the signal to reboot from the gcp console into your OS? Or are you having trouble rebooting on gcp?
mbac32768 17 hours ago [-]
I mean when the hobby OS wants to shut down, it can power the machine it's running on down. Not unlike what would happen if you clicked power off on your desktop OS menu.
Getting it to work on GCP meant properly driving something called the Intel PIIX4 controller which was emulated into the VM.
Separately from the OS being able to turn itself off, the OS needs to process a signal received by the hypervisor on this controller to support the hypervisor gracefully shutting it down. Otherwise GCP will wait 90 seconds after it has sent the shut down signal to give up and terminate the VM itself.
The problem I was trying to solve was (a) OS can shut itself down in GCP (b) restarts in GCP from the GCP console would be instant, rather than take 90+ seconds
sitkack 1 days ago [-]
The VMM on GCP has only really been tested with Linux. You are kinda wasting your time, the only way to make it work is to make the hobby OS Linux.
toast0 1 days ago [-]
> You are kinda wasting your time, the only way to make it work is to make the hobby OS Linux.
Not the parent, but of course they're wasting their time... That's the point of a hobby OS.
I'm working on a hobby OS, and I have no illusions that it's most likely fewer than 10 people will ever run it, and less than 100 will hear about it, but it lets me explore some interesting (to me) ideas, and forces me to learn a little more about random pieces of computing. If I ran on GCP, I'd want the reboot button to work. That sounds useful.
On the topic, I don't see why anyone would want to build a general purpose OS. There's enough already and even with the shrinking of hardware variety, there's a lot of stuff to support to make a general purpose OS work on enough hardware for people to consider using it. You can take Linux or a BSD and hack it up pretty good to explore a lot of OS ideas. Chances are you're going to borrow some of their drivers anyway, and then you'll end up with at least some similarity... may as well start there and save a lot of time. (My hobby OS has a custom kernel and custom drivers, but I only support a bare minimum of devices... (pc) console i/o, one real NIC, and virtio-net... that's all I need; I might add support for more NICs and more consoles later)
sitkack 1 days ago [-]
I didn't say they were wasting their time on their hobby OS, they are wasting their time trying to get it to do very esoteric thing on GCP.
They aren't trying to get reboot to work, they are trying to get their version of kexec to work so their hobby os reboots faster.
The biggest scam in the OS world is drivers, we should demand more out of our hardware. Drivers shouldn't be necessary.
baq 24 hours ago [-]
Hardware is so broken that getting useful functionality basically amounts to casting magic spells and drivers are supposed to be master wizards who know all the points where the spell book is wrong or incomplete. If you think drivers are bad, don’t look at the hardware, you’ll get depressed.
sitkack 16 hours ago [-]
This is fundamentally the problem. Just like being able to send OTA updates has enshittified all software, having this magic shim layer that fixes hardware problems has enabled shit hardware, and then foisted all this complexity into the OS. Many abstractions are like bondo, they just cover rot.
I am addressing your comment and eru's question about drivers.
The hardware that would normally need drivers should present itself over a fixed, well documented protocol. Think virtio, or usb device classes but more comprehensive. This would also allow for said hardware to rigorously tested before it ever sees an OS. As it is now, because the hardware is shit and requires a driver, you can't really test the hardware in a way that an OS would expect because it requires the OS driver to even start to function. The job of the OS is now to repair broken hardware.
They said they wanted the soft reboot button to work. I assumed they meant catching the button press, which having seen some of this stuff is probably very tricky.
I don't see why a kexec alike wouldn't work about the same on GCP vs qemu vs bare metal... Or what that has to do with a GCP soft reboot button (which again, I think is referring to the reboot button in the GCP console)
Either way, the whole thing is a waste of time, yes? Why not waste time on the part that's engaging?
> The biggest scam in the OS world is drivers, we should demand more out of our hardware. Drivers shouldn't be necessary.
I can't even fathom what you mean here? You've got to have some interface to communicate with hardware. That's a driver. Some hardware only needs a very small driver... Tell the hardware where to send input, how to notify when input is ready and when its ready for output, and tell the hardware where data to output is. Maybe some setup stuff for modes and whatever if the needs aren't obvious and universal. I don't see how you could possibly avoid that.
It would certainly be possible for more devices to use common interfaces so a single driver could operate many different devices. Maybe that's what you mean? There's some movement towards that... SATA controllers generally speak AHCI, human interface devices generally appear as USB HID devices, etc. NICs tend to have a wide variety of setup sequences, but data queues usually fit into one of a limited number of patterns.
foxglacier 1 days ago [-]
> Tell the hardware where to send input, ...
I agree you need a driver but for most hardware, that should be pretty simple, and easily documented by the hardware vendor, shouldn't it? A button has to be about the simplest possible I/O device imaginable.
toast0 1 days ago [-]
Yeah, problem is it's likely an acpi button, which ties you into all the fun of that.
Of course, ACPI is supposed to make interfacing with lots of similar things easier, kind of, so there you go.
mbac32768 17 hours ago [-]
I misremembered (since it was 4 years ago).
I was actually just trying to support "power off" in GCP, with the stretch goal of being able to support graceful power off from the GCP console (which is part of supporting power off then power back on restart).
bbarnett 1 days ago [-]
Modern hardware is just so complicated it would take a long time to completely document, and even longer to write a driver for.
That's what's claimed. That's what people say, yet it's just an excuse. I've heard the same sort of excuse people have, after they write a massive codebase, then say "Oops, sorry, didn't get around to documenting it".
And no, hardware is not more difficult than software to document.
If the system is complex, there's more need to document, just as with a huge codebase. On their end, they have new employees to train up, and they have to manage testing. So any excuse that silicon vendors have to deal with such immense complexity? My violin plays for them.
makeitdouble 1 days ago [-]
> "Oops, sorry, didn't get around to documenting it".
That's obviously the wrong message. They should say "Go ask the engineering VP to get us off any other projects for another cycle while we're writing 'satisfying' documentation".
Extensive documentation comes at a price few companies are willing to pay (and that's not just a matter of resources. Look at Apple's documentation)
PeterStuer 1 days ago [-]
With documentation one of the major hurdles is the maintainance. It is caring for a set of documents, created by people with different specializations, that describe the artefact from specific perspectives, but need to be kept in sync with the active creation and evolution of the artefact itself.
This is not impossible, but the effort and costs required are substantial and often lose out on a priority basis to just fixing or improving the product itself.
MathMonkeyMan 1 days ago [-]
I write documentation as I'm writing the code. In my opinion, the code is only as good as its documentation -- they're two parts of the same thing. It's mostly comments at the top of files, and sometimes a markdown file in the same directory.
This way, good documentation is priced into my estimate for the project. I don't have a work item "spend a few days documenting." Nope, if I'm doing a foo then that includes documenting a foo at the same time.
makeitdouble 23 hours ago [-]
> the code is only as good as its documentation
This heavily depends on your niche I think. If you're writing closed source vendor software and your client's only guiding light is your documentation, it's 100% true.
If you're working on a 5 people project that evolves at a fast pace, and everyone touching the code is expected to be familiar with the domain and operations, you'll mostly leave comments (todos, meta info, external ticket links etc), not documentation per se.
MathMonkeyMan 15 hours ago [-]
Everywhere I've worked, there is software written by those five people, who are now all rich and don't write code anymore, and I still would appreciate the courtesy of an explainer.
The trouble with good docs is that they are work to maintain, like good code. If we decide to change this component in a substantial way soon, which we likely will, I'd have to practically rewrite the docs! Why bother?
Because the docs are part of the code. Write the docs.
I don't expect to win this crusade, but I'll keep writing docs anyway. Then later people will modify the code without modifying the docs, and so the docs will be a lie, but still useful, I think.
It's like asking three people who are not closely familiar with a component, but who have worked with it, "what is this thing, how does it work?" You will get three different answers. It would be nice if one of them were a written description straight from the horse's mouth, even if the component is now more of a camel.
PeterStuer 1 days ago [-]
Documenting what is there usually is not the hard part (and AI is getting pretty good at that part btw).
Documenting how to use or interact with it in a specific context, which often includes perspectives on interactions with other components, or e.g. protocols not explicit in the code, deciding where to draw the lines of what can assumed trivial common knowledge and what should be specified or explicitly not specified without notices not to rely on these etc. , that is a different thing.
If it wasn't, then truly as they used to say, the source code would be it's own best documentation (I am a big fan of programming for readability, but even the best readable code, while it will be correct and up to date, will never be enough nor the best for all)
branko_d 1 days ago [-]
In my experience, coding is much faster when doing it this way.
Yes, you can produce a small amount of code faster if you don’t “waste” your time on documentation, but that becomes counterproductive as soon as you can no longer keep the entire codebase in your head.
throwaway2037 1 days ago [-]
> Look at Apple's documentation
To clarify for me: Is this good or bad?
simonw 1 days ago [-]
It's bad. Apple's documentation is notoriously weak, despite them being one of the most well-resourced companies in the world.
saagarjha 23 hours ago [-]
Don't worry they're writing documentation now for AI agents
A4ET8a8uTh0_v2 21 hours ago [-]
Honestly, this is by far the most amusing side effect of AI thus far -- management demanding better documentation to help AI digest it.
supermatt 1 days ago [-]
> If the system is complex, there's more need to document
It’s not first party documentation that’s the problem. The problem is that they don’t share that documentation, so in order to get documentation for an “unsupported” OS a 3rd party needs to reverse engineer it.
WalterBright 23 hours ago [-]
I find myself largely unable to document code as I write it. It all seems obvious at the time. It's when I go back to it later, and I re-figure it out, that the documentation then can be written.
leoc 1 days ago [-]
My hunch is that for nearly anyone who is serious about it these days, the way forward is either to have unusually tight control over the underlying platform, or to include a servant Linux installation with your OS. If Windows is a buggy set of device drivers, then Linux is a free set of buggy device drivers. If you're happy with your OS running as a client of a Linux hypervisor indefinitely then you could go for that; otherwise you'd have to try to gradually move bits of the hardware support into your OS over time—ideally faster than new Linux dependencies arise...
andreww591 1 days ago [-]
At least for certain types of OSes, it should be relatively easy to get most of Linux's hardware support by porting LKL (https://github.com/lkl/linux) and adding appropriate hooks to access hardware.
Of course, your custom kernel will still have to have some of its own code to support core platform/chipset devices, but LKL should pretty much cover just about all I/O devices (and you also get stuff like disk filesystems and a network stack along with the device drivers).
Also, it probably wouldn't work so well for typical monolithic kernels, but it should work decently on something that has user-mode driver support.
snickerbockers 1 days ago [-]
>but LKL should pretty much cover just about all I/O devices (and you also get stuff like disk filesystems and a network stack along with the device drivers).
thus calling into question why you ever bothered writing a new kernel in the first place if you were just going to piggyback Linux's device drivers onto some userspace wrapper thingy.
Im not necessarily indoctrinated to the point where I can't conceive of Linux being suboptimal in a way which is so fundamental that it requires no less than a completely new OS from scratch but you're never going to get there off of recycling linux's device drivers because that forces you to design your new OS as a linux clone in which cade you definitely did not need to write an entire new kernel from scratch.
eru 1 days ago [-]
You make a good argument, but let me take the other side:
What you describe is probably necessary for getting _fast_ Linux compatibility. However, if you are willing to take the overhead of a few layers of indirection, you can probably sandbox the Linux land somewhere, and not have it impact the rest of your design much.
Most hardware access doesn't have to be particularly efficient. And, yes, for the few pieces of hardware that you do want to support efficiently (eg your storage devices or networking, whatever you want to concentrate on in your design) these you can handle natively.
Btw, I would suggest that most people these days should write their toy operating systems to run as a VM on a hypervisor like Xen or similar. The surface to the outside world is smaller that way.
lelanthran 23 hours ago [-]
If you're going this route, I have found netBSD a better option for this sort of thing.
It has a rump kernel architecture which makes reusing the drivers almost trivial compared to reusing linus drivers with a new kernel.
andrekandre 1 days ago [-]
> you're never going to get there off of recycling linux's device drivers because that forces you to design your new OS as a linux clone in which cade you definitely did not need to write an entire new kernel from scratch.
thats in interesting point, and makes me wonder if some kind of open interface for drivers to write to (and os's could implement) wouldn't be worthwhile?
probably it would have to be very general in design, but something along the lines of driverkit or iokit might work?
pjmlp 1 days ago [-]
That is how all OSes with binary drivers kind of work.
However it goes into the same direction of the previous commenter, device drivers are intertwined with the OS semantics, even on microkernels, so eventually it ends being just something like POSIX.
PeterStuer 1 days ago [-]
Is this the old 'an OS is just a bag of buggy device drivers' argument?
boredatoms 1 days ago [-]
Presumably if you’re meta you could pay the vendors enough to write drivers for any arbitrary OS
eklitzke 1 days ago [-]
Writing drivers is easy, getting vendors to write *correct* drivers is difficult. At work right now we are working with a Chinese OEM with a custom Wifi board with a chipset with firmware and drivers supplied by the vendor. It's actually not a new wifi chipset, they've used it in other products for years without issues. In conditions that are difficult to reproduce sometimes the chipset gets "stuck" and basically stops responding or doing any wifi things. This appears to be a firmware problem because unloading and reloading the kernel module doesn't fix the issue. We've supplied loads of pcap dumps to the vendor, but they're kind of useless to the vendor because (a) pcap can only capture what the kernel sees, not what the wifi chipset sees, (b) it's infeasible for the wifi chipset to log all its internal state and whatnot, and (c) even if this was all possible trying to debug the driver just from looking at gigabytes of low level protocol dumps would be impossible.
Realistically for the OEM to debug the issue they're going to need a way to reliably repro which we don't have for them, so we're kind of stuck.
This type of problem generalizes to the development of drivers and firmware for many complex pieces of modern hardware.
throwaway2037 1 days ago [-]
> custom Wifi board
Why didn't you use something more mainstream? Cost?
typpilol 1 days ago [-]
Probably some weird design spec or size requirement
rwmj 1 days ago [-]
But is that a good use of Meta's money? Compared to making a few patches to Linux to fix any performance problems they find.
(And I feel bad saying this since Meta obviously did waste eleventy billion on their ridiculous Second Life recreation project ...)
bbarnett 1 days ago [-]
I don't like Meta, but there used to be a time where big corp used to spend 30% of its budget on R&D. It's how we got all the toys we have now, R&D labs of big Bell and others.
So please don't mock the spend. Big spends fail sometimes, and at least people were paid to do the work.
crote 1 days ago [-]
The difference is that organisations like Bell Labs and Xerox PARC were primarily tech-first: innovations were the result of very clever and creative people doing blue skies research. The most groundbreaking stuff shocked the world while it was still a hacked-together demo, and similarly the cost of failure was quite low.
On the other hand, Meta's experiment is primarily CEO-driven. The outcome is predetermined, changing direction is not possible. Sure, clever engineers get to draw the rest of the owl, but that's not very useful when it turns out that everyone needs a horse instead.
They are spending a fortune, but rather than getting 900 crappy ideas to throw away and 100 great ones to pick from for continued development, they are developing 1 technological marvel nobody is interested in.
throwway120385 1 days ago [-]
It was also pretty obvious how the VR glasses would support Meta's existing goals. It would give Meta total power over what you see and who you can speak with through their system. It's a natural extension of their total control over how people interact with on the Internet. And I think the only reason it failed is because it was expensive and dumb-looking.
ForHackernews 1 days ago [-]
Arguably the distinction you're pointing at is macroinvention (the transistor) vs microinvention (a better VR headset): one is a refinement of something that exists, another is transformative opening up whole new worlds of possibility. https://www.antonhowes.com/blog/macroinvention-vs-microinven...
mastermage 22 hours ago [-]
In my opinion the difference is rather invention versus innovation. A better VR headset is innovation, transistors are an invention.
eru 1 days ago [-]
Eh, the very first transistor they invented was pretty crappy and not all that useful.
Every improvement after that would count as micro-invention in your dichotomy.
eru 1 days ago [-]
> I don't like Meta, but there used to be a time where big corp used to spend 30% of its budget on R&D. It's how we got all the toys we have now, R&D labs of big Bell and others.
Just because you spend a lot of your money on R&D, doesn't mean that each R&D project is automatically a good one. You still have to make choices between them.
rwmj 1 days ago [-]
It's just that it was so obviously going to fail, because there's no mass market for a product that you have to strap onto your face. You didn't need to spend billions to learn that.
If they'd spent the money researching nuclear fusion or space flight or a new way to develop microprocessors, I would be cheering their efforts even if they had failed in the end.
baq 23 hours ago [-]
Things you can’t buy: vendor who cares enough to replicate your exact use cases in their lab
dedup-com 1 days ago [-]
XROS had a completely new and rapidly evolving system call surface. No vendor would've been able to even start working on a driver for their device, let alone hand off a stable, complete result. It wasn't a case of "just rename a few symbols in a FreeBSD implementation and run a bunch of tests".
silvestrov 1 days ago [-]
Vendors might say that they don't have the resources (man hours) and don't want to hand over documentation to external developers.
Joker_vD 1 days ago [-]
> Modern hardware is just so complicated it would take a long time to completely document, and even longer to write a driver for.
You know, one'd think that having a complex hardware should make writing a driver easier because the hardware is able to take care of itself just fine, and provide a reasonable interface, as opposed to devices of the yore which you had to babysit, wasting your main CPU's time, and doing silly stuff like sending them two identical initialization commands with 30 to 50 microseconds delay between or whatever.
IshKebab 1 days ago [-]
No, the complexity usually isn't hidden. It's the driver's job to do that.
I guess one exception maybe is Nvidia who have sort of hidden the complexity by moving most driver functionality onto software on the card. At least that's how I understood it. Don't quote me on that.
saagarjha 23 hours ago [-]
Yes, and then you get odd behavior you can't introspect because the card is a black box to you.
Joker_vD 1 days ago [-]
> No, the complexity usually isn't hidden. It's the driver's job to do that.
Why not, though? We used to have e.g. glass teletypes with microprocessors (8080/8051) in them that exposed a serial bus with very neat command protocol that we still use nowadays, that could boot up, init and self-test all on their own.
tanvach 2 days ago [-]
Yeah reverse engineering all the drivers is going to be a huge headache.
markus_zhang 1 days ago [-]
Sounds like super fun if I could be paid a bit for it.
What is an easy gate task to get into “reverse engineering some drivers for some OS”?
Second thought: I don’t even know how to write a driver or a kernel, so I better start from there.
toast0 1 days ago [-]
I don't know how you get paid for it, but if you want to write your own kernel, I'd start with an osdev tutorial. started with this one [1], but this one [2] has a promissing name... and I haven't really looked around.
It helps to have a concept to guide you too, but you can certainly make some progress on the basics before you figure out what you really want to do.
Thanks. I got all the resources covered. But I don’t have the energy to work on them as a side project any more. Alas! I wasted my younger days and hope you fare better!
saagarjha 23 hours ago [-]
Unfortunately, you are unlikely to be able to jump into just being paid to write an OS with no experience.
wmf 1 days ago [-]
Asahi Linux.
mastermage 22 hours ago [-]
Isn't that what low level does on his YouTube channel teach people to reverse engineer stuff?
spauldo 9 hours ago [-]
Mostly he seems to try to nail all the items on the "how to grow your YouTube channel" checklists. Clickbait sensationalist titles, exaggerated face on the thumbnail, etc. I have a rule that I don't click on any video where I can't tell the subject by the title, and that eliminated him from my watchlist a while ago.
I wish the guy luck on becoming a superstar influencer, since that seems to be his goal, but he can do it without my help.
anikom15 17 hours ago [-]
It’s entirely laziness.
16 hours ago [-]
lstodd 21 hours ago [-]
heh, in mid-2000s all I had were a batch of misbehaving SATA controllers under freebsd, and an (actually quite well-written core of a) linux driver was all I had to work with.
Without that, we would have probably just switched hw, because the quite obscure bug was in the ASIC, and debugging that on 2005-6-ish hw is just infeasible.
deadbabe 1 days ago [-]
Wouldn’t LLMs make it way easier
baq 23 hours ago [-]
LLMs trust the docs. This is a rookie mistake in driver development, especially on prerelease hardware
underdeserver 1 days ago [-]
I think this is one area where LLMS would be particularly bad at. Opaque code with no documentation across the field.
deadbabe 1 days ago [-]
Incredible job security
mrbungie 1 days ago [-]
Only if you are an expert who wants to use time debugging LLM code rather than coding it yourself.
PS: Half-joking, you can write some big portions with LLMs but the point stands.
1 days ago [-]
Aurornis 1 days ago [-]
> They also got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad
I've only seen John Carmack's public interactions, but they've all been professional and kind.
It's depressing to imagine HR getting involved because someone's feelings had been hurt by an objective discussion from a person like John Carmack.
I'm having flashbacks to the times in my career when coworkers tried to weaponize HR to push their agenda. Every effort was eventually dismissed by HR, but there is a chilling effect on everyone when you realize that someone at the company is trying to put your job at stake because they didn't like something you said. The next time around, the people targeted are much more hesitant to speak up.
jamra 1 days ago [-]
I followed his posts internally before he left. He was strict about resource waste. Hand tracking would break constantly and he brought metrics to his posts. His whole point was that Apple has hardware nailed down and it’ll be efficient software that will be the differentiator. The bloat at Meta was the result of empire building.
Fade_Dance 1 days ago [-]
I remember watching Carmack at a convention 15 years ago. He took a short sabbatical and came back with ID Tech 3 on an iPhone, and it still looks amazing well over a decade later.
This is a guy who figures that what he wants to do most with his 3 free weekends is to port his latest, greatest engine to a Cortex-A8. Leading corporate strategy? Maybe not. But Carmack on efficiency? Just do it.
markus_zhang 1 days ago [-]
Impressive. JC is always one of the engineers I look up to and read up to when depressed.
John Carmack, David Cutler, Tom West, Cameron Zwarich, etc. There are about maybe 50 of them.
rand593843 1 days ago [-]
Please name them all. Would love to read and watch their content. I usually come across a decade later and like, whaaat.. how did i miss this. Man i could have had better time watching them instead of doom scrolling.
Fade_Dance 1 days ago [-]
Carmack and Jim Keller for me. Hardware engineering for the latter!
Worked on DEC Alpha, AMD K7 & K8, Broadcom, P.A. Semi, was in turn purchased by Apple. Jim spent four years at Apple before first returning to AMD, then on to Tesla, Intel and finally Tenstorrent.
I’d really love to hear his story from the beginning. I believe his first published game was a Blue Disk one, ZZT, in 1991, and he went forward to write the Unreal engine which was released in 1998. People like Tim and John really could bag a huge amount of knowledge in half a decade.
osullivj 24 hours ago [-]
Zachary's Showstopper book is a great account of Dave Cutler and WinNT.
torginus 19 hours ago [-]
The quality you can achieve with simple painted textures and computed lightmaps never ceases to impress.
influx 1 days ago [-]
I followed his posts internally too. It's amazing how many people were arguing against fucking John Carmack. What a waste of talent.
kelipso 19 hours ago [-]
Ugh. Can we as an industry stop blowing people up like this? It’s a clear sign that the community is filled with people with very little experience.
I remember this guy wanted $20 million to build AGI a year ago (did he get that money?), and people here thought he would go into isolation for a few weeks and come out with AGI because he made some games like that. It’s just embarrassing as a community.
dehrmann 15 hours ago [-]
Carmack's best work was between Keen and Quake, and it was mostly optimizations that pushed the limit of what PC graphics could do. He's always been too in-the-weeds to have a C-level title.
bckr 15 hours ago [-]
> $20 million
That’s a pittance for such a project. I wish we could see what he’d have come up with.
kelipso 13 hours ago [-]
He is just a guy who can write game code well and has good PR skills online. I wouldn’t give him a cent if he promised anything in the AI field, no matter how much a bunch of online people gas him up.
spauldo 6 hours ago [-]
He's a guy that knows a lot of math and how to turn that math into code. I don't know if he'd be able to come up with some brand new paradigm for AI but I'd want him on my team and I'd listen to what he has to say.
flr03 23 hours ago [-]
Damn, that's medieval. Anyone should be able to challenge anyone regardless of status.
rollcat 21 hours ago [-]
I was one month into my first full-time job, when I've (unknowingly of his rank) challenged the CTO in a technical discussion - in a public email exchange. Regardless of the outcome - I've been treated like an equal. This one short exchange has influenced not only the rest of my career, but my entire worldview.
sarchertech 20 hours ago [-]
I mean to some extent sure. But also you need to respect expertise and experience. So much of what we do is subjective, and neither side going to have hard data to support their arguments.
If it comes down to someone saying “I’ve been doing this for 30 years, I’ve shipped something very similar 5 times, and we ran into a problem with x each time”. Unless you have similar counter experience, you should probably just listen.
What happens in tech is you get a very specific kind of junior who wants to have HN comment arguments at work constantly and needs you to prove every single thing to them. I don’t know man it’s a style guide. There’s not going to be hard quantitative evidence to support why we said you shouldn’t reach for macros first.
monkeyelite 1 days ago [-]
I disagree that you should just defer - but it’s sad that politics was obviously consuming and inhibiting his ability to help the product.
influx 21 hours ago [-]
No one should just defer, but you better be right. In the end do they have a better product without him?
Don’t think so.
ignoramous 1 days ago [-]
> were arguing against fucking John Carmack
I am sure Carmack himself encourages debates and discussions. Lionizing one person can't be expected of every employee (unless that person is also the founder or the company is tiny).
eru 1 days ago [-]
I don't think you should treat the founder more special than eg John Carmack.
But I agree that civil discussion is good.
bckr 15 hours ago [-]
I think the implication is that they were arguing poorly and wasting time
Aeolun 1 days ago [-]
Can’t really imagine a better person to argue against?
NBJack 1 days ago [-]
I saw a few of those. He really leaned in on just how much waste was in the UI rendering, with some nasty looking call times to critical components. I think it was close to when he left.
Dude just seemed frustrated with the lack of attention to things that mattered.
But...that honestly tracks with Meta's past and present.
osullivj 24 hours ago [-]
Would love to hear Carmack's thoughts on render cost...
terribleperson 1 days ago [-]
The software for the Quest 3 is unreliable and breaks often. A team that attacks attempts to hold them accountable makes a lot of sense.
chem83 1 days ago [-]
This is what got Lucovsky pushed out. He wanted to build OS from scratch and couldn't see past the technical argument and acknowledge the Product's team urgency to actually land something in the hands of customers. Meanwhile, he left a trail of toxicity that he doesn't even realize was there[0].
Interestingly, he was pulling the same bs at Google until reason prevailed and he got pushed out (but allowed to save face and claim he resigned willingly[1]).
John can be quite blunt and harsh in person, from everyone I know who’s interacted with him.
If he doesn’t believe in something, he can sometimes be over critical and it’s hard to push back in that kind of power imbalance.
stephc_int13 1 days ago [-]
Carmack is a legend and I admire his work, but he seems to believe his own legend these days (like a few others big-ego gamedevs) and that can lead to arbitrary preferences being sold as gospel.
spydum 1 days ago [-]
I'm sure that's true but I've worked with a lot of engineers that are of this caliber and as long as you can form a coherent logical explanation they will bend they're way more open than you expect. But you got to put in the work to make that argument. They won't take it on faith
stephc_int13 1 days ago [-]
It is an entirely different thing, gifted, highly experienced and confident in his assertions is quite frequent, but the cult-like following and status of personalities like Carmack or Blow can seriously alter their own self perception and importance.
Aeolun 1 days ago [-]
Of course it can. It’s hard not to assume you are right if everyone keeps telling you so. I can’t really fault them for that. The challenge is to continue being right more often than not.
baq 23 hours ago [-]
First, look at what they’re shipping, then decide the likelihood of them being right.
Maybe you know something they don’t; it’s actually very likely. But maybe what you think matters actually doesn’t at all and ultimately they’re right.
In either case, they were shipping, so best to listen and be prepared if you disagree.
rvba 16 hours ago [-]
If you want to build 3d glasses probably you should fpcus on 3d glassess and software for it.
Not some new OS so you can start making the glasses 2 years later.
Just like when you want to bake a cake, you dont start by designing an oven, or creating an universe from scratch
anikom15 17 hours ago [-]
What was your experience working with him?
daseiner1 1 days ago [-]
[flagged]
Uehreka 1 days ago [-]
Seriously? Have you never had a person more powerful than you tell you that you’re wrong when they in fact are wrong? Often in corporate environments the answer to a “what to do next” question isn’t easily provable, and people who take advantage of this can make life really suck.
nipponese 1 days ago [-]
of course he has more power, but at this point, he's earned it.
and also, it wasn't enough to "win" against a den-of-wolves place filled with power-players like meta.
kid64 1 days ago [-]
Are you arguing that everyone's power is equal? What an asinine position.
dagmx 1 days ago [-]
It must either be a belief that everyone is equal, and that they would be comfortable telling Carmack that he’s wrong.
Or it’s an appeal to authority in that if a person of authority says it then they must be right so there’s no reason to push back in the first place.
daseiner1 14 hours ago [-]
i would absolutely feel comfortable challenging him in a well-intentioned and non-disruptive manner. it's entirely possible i'd get shitcanned afterwards and if so, that's fine, it wouldn't've worked out anyways for me if that's the environment. i've personally never been afraid to challenge people above me on the org chart who have the ability to fire me with a snap of their fingers (again, in appropriate, non-grossly confrontational ways). it's generally worked out quite well for me and tends to gain me respect in the eyes of my superiors. successful people tend not to have great respect for sycophants.
the good news is that in this hypothetical i'd be skilled and talented enough to be working with john fucking carmack so i wouldn't exactly be concerned about my ability to find a new gig in about 3 days. that's my point. now if there were evidence he'd be liable to blackball me in some way (no evidence of that to my knowledge), then the power disparity argument has more legs in my opinion.
WD-42 1 days ago [-]
Which makes sense when you are one of 3 developers at ID software. There's absolutely no room for waste.
This is Meta. Let the kids build their operating system ffs. Is he now more concerned with protecting shareholder value? Who cares.
leoc 1 days ago [-]
Meta's AR/VR division has burned a huge amount of money and years of time, with relatively little to show for it. Now it seems to be on the verge of being cancelled or slashed back, and in response people are saying that this proves VR, something Carmack champions, is commercially untenable or even that Carmack himself is partly responsible for the failed initiative. I don't even entirely agree with him on the question of whether anyone should try developing a new OS, but he's been proven absolutely right that there was no room for him to be that complacent about the use of Meta's resources.
dehrmann 15 hours ago [-]
AR/VR was always a side project for Zuck (like the Aquila airplane or the Libra cryptocurrency or AGI) that he works on because he's bored. It was pretty clear from the product's popularity and Metaverse experience that it didn't have any legs. Carmack had little to do with that one way or the other, and the Apple Vision pro shows that it's not an execution or quality issue, it's product-market fit.
dilyevsky 11 hours ago [-]
Side project that they renamed entire company after
dedup-com 1 days ago [-]
There were almost no kids on the XROS team. The bulk of the team were E6s with graying hairs, multiple kids, and very impressive history of work on other well-known operating systems -- and most of them wrote a lot of code. This was the senior-est team I ever was a member of. Also, the most enjoyable interview process I've ever been through, no bullshit whatsoever and a rare case that I actually had to implement the exact thing that I was asked about during the interview (took me 3 weeks compared to 20 minutes during the loop, go figure).
XROS was an org that hired for specific specialist positions (as opposed to the usual "get hired into FB, go through the bootcamp, and find your place within the company"). At one point we got two separate requests from the recruiting execs:
- Your tech screen pass rate is way too low compared to other teams at FB. Please consider making your tech screen easier to expand the pool of candidates.
- Your interview-to-offer rate is way too low compared to other teams at FB. Please consider making your tech screen more difficult to reduce time that engineers spend on interviewing and writing feedback.
Anyway, IMO it was a very strong team in a very wrong environment. Most of the folks on the team hated the Facebook culture, despised the PSC process (despite having no problems with delivering impact in a greenfield project), had very little respect for non-technical managers coming from FB proper (the XROS team saw themselves as part of Oculus), and the majority I believe fled to other companies as soon as the project was scrapped. The pay was good however, and the work was very interesting. My overall impression was that most people on the team saw XROS as a journey, not a destination, and it was one of the reasons why it was destined to never ship.
laidoffamazon 1 days ago [-]
I chatted with someone on the language side of the project (I believe the same project) and it was fascinating how ambitious the concept was. I do wish it was finished or open sourced though
WD-42 1 days ago [-]
That’s what I’m saying. It sounds like a dream job. Like you said it’s a journey not a destination, but it’s also a journey on one of the wealthiest companies in the worlds dime, so it’s kinda lame when someone calls it out for being suboptimal. That’s why I said who cares. It’s not going to hurt meta in the long run.
dedup-com 1 days ago [-]
I believe the suboptimality concern was more about time to market and innovation velocity, and less about money. At the time FB felt a real sense of urgency given the anticipated AR/VR explosion (in a good sense) and presence of competitors in the space, both real and imaginary.
kranke155 1 days ago [-]
It did hurt Meta. No one has infinite resources even if it seems that way to us.
Aeolun 1 days ago [-]
No, no. If you want your VR apps running in two years on something that looks like an OS, just build an app that runs on an existing one.
If you want to be the dominant player in the market in 10-15 years, build the OS and keep funding it.
01HNNWZ0MV43FF 11 hours ago [-]
I just can't believe that an OS needs to be forked off for such a workload
iPhones and Macs share a kernel and a large portion of user space and syscalls, right?
If the GPL is a problem just fork some BSD like the PS3 did, and pretend you're maintaining code that you already spent five years on
I know you need low latency for XR + VR + AR - everyone needs low latency for everything. So they could build on whatever has been done for audio and networking and Android touch screens that all want low latency too
I'm speaking foolishly from outside but making "an OS for" something is more commonly marketing speak than a good idea. Like this fucking "OS for cities" and "OS for work" stuff. That's an OS the way a cookie recipe is an OS for a fucking oven. The casual insistence on misunderstanding important things really gets my goats
Fade_Dance 1 days ago [-]
>Is he now more concerned with protecting shareholder value? Who cares.
It doesn't sound like he's concerned with waste. It sounds like it's a typical Carmack argument - distilled and hyper logical, and his conclusion is more to do with the pointlessness of it. He actually concedes the point that the project may have been highly efficient (which it may or may not have been, he was steelmanning).
His main points seemed to be:
If every cycle matters and efficiency is paramount, just make the project monolithic C++ code. If every cycle matters, that is somewhat incompatible with general purpose OSs, and if it doesn't, the existing landscape is more than good enough. Presumably, he's calling out the absurdity of counter-arguments which are being unrealistic about the objectives of creating a new general purpose OS, while also focusing on extreme efficiency. He states that the requirements to fully achieve these objectives would require a "monastic coding enclave" like Plan 9 OS, and it wasn't realistic even with the high talent in Meta.
And that plays into the second point, which seems to essentially be "new OSs aren't a draw for developers, they are a burden". This is painfully obvious when looking at the history of OSs and software, and it's the obvious reason why "let the kids build their operating system ffs" should result in a reflexive "noooo..." from the greybeards. The deeper point though is that if A. is achieved, the B. Burden on devs will be even more onerous. Therefore unless the entire project is committed to truly moving crowds to new paradigms (good luck, literally billions have been lost here), just use the proven, faily high performance options that have widespread support.
The conclusion is "on balance, it's a bad idea." He's arguing it sharply (although I understand a Carmack steelman is intimidating to attack), but in essence it's a fairly banal and conservative conclusion, backed with strong precedent.
baq 23 hours ago [-]
This is how megacorps die. You’re describing Intel-level complacency.
KaiserPro 23 hours ago [-]
> This is Meta. Let the kids build their operating system ffs.
the problem was, it was holding back products. Because if youre going to make your own OS, it changes what chips you put in. If you don't know what chipset you're going to have, you don;t know what your pixel budget is, you can't plan features.
It takes about 2 years to get hardware out the door, and another 1.5 years to iron out the bugs and get a "finished" product.
anikom15 17 hours ago [-]
Professional engineers cannot be made immune to criticism.
lokar 1 days ago [-]
I saw the same thing at Google. A distinguished engineer tried gently at first to get a Jr engineer to stop trying to do something that was a bad idea. They persisted so he told them very bluntly to stop. HR got involved.
I even found myself letting really bad things go by because it was just going to take way to much of my time to spoon feed people and get them to stop.
LPisGood 1 days ago [-]
What kind of thing is bad enough that it warrants multiple discussions without the junior engineer getting the hint that it’s a bad idea?
lokar 15 hours ago [-]
I can’t say much without it being clear who it was, but a critical low level thing.
And the Sr was generally a very nice person who did not give much weight to levels, willing to engage with anyone.
knorker 1 days ago [-]
A junior engineer can make an API that can basically live forever as tech debt.
(Especially if it's an "API" persisted to disk)
markus_zhang 1 days ago [-]
I have mixed feelings about this. In one part, JC is someone I look up to, at least from the perspective of engineering. On the other hand, putting myself in the shoes in someone who got the once in life chance to build a new OS with corp support for a new shiny device…I for hell would want to do this.
leoc 1 days ago [-]
Look at the outcome of Meta's performance in AR/VR over the past few years: a fortune has been spent; relatively little has been achieved; the whole thing is likely about to be slashed back; VR, something Carmack believes in, remains a bit commercially marginal and easily dismissed; and Carmack's own reputation has taken a hit from association with it all. You can understand perfectly well why he doesn't feel that it would have been harmless to just let other people have whatever fun they wanted with the AR/VR Zuckbucks.
(Mind you, Carmack himself was responsible for Oculus' Scheme-based VRScript exploratory-programming environment, another Meta-funded passion project that didn't end up going far. It surely didn't cost remotely as much as XROS though.)
torginus 19 hours ago [-]
It's insane how VR has succeeded beyond most people's wildest dreams on the hardware front (all that hardware that goes into a VR headset either sounded like science fiction or seemed like would be exotic stuff costing tens of thousands of dollars), and the software also had standout successes, but it kinda just petered out both in the entertainment and professional realms.
markus_zhang 15 hours ago [-]
Is it really that successful? I think the wildest dream is that everyone is using it but I don’t really see it happening anytime soon in the future.
torginus 1 hours ago [-]
I meant success in the technical sense - they managed to get the tech as good as it could realistically get - and cheap too.
But it turned out nobody cared. People who envisioned doctors using VR glasses to look at MR images in 3D, architects, modelers, mechanical engineers, who people thought would use 3D to do work turned out to not want it.
Immersive games were created, that looked and ran amazing, and afforded a never-before-seen level of interactivity, but after a few standout successes, people just moved on.
It's like Apple got to about the iPhone 4 level (where most people would agree the experience was decent), then everybody decided to go back to their old Nokias.
ux266478 1 days ago [-]
Reading on from that he says:
> If the platform really needs to watch every cycle that tightly, you aren't going to be a general purpose platform, and you might as well just make a monolithic C++ embedded application, rather than a whole new platform that is very likely to have a low shelf life as the hardware platform evolves.
Which I think is agreeable, up to a certain point, because I think it's potentially naive. That monolithic C++ embedded application is going to be fundamentally built out of a scheduler, IO and driver interfaces, and a shell. That's the only sane way to do something like this. And that's an operating system.
balamatom 17 hours ago [-]
>That monolithic C++ embedded application is going to be fundamentally built out of a scheduler, IO and driver interfaces, and a shell. That's the only sane way to do something like this. And that's an operating system.
Exactly! I picture the choice being grandfathering in compatibility with existing OSes (having the promised performance of their product in fact indirectly modulated by the output of all other teams of world's smartest throughout computing history and present day), vs wringing another OS-sized piece of C++ tech debt upon unsuspecting humanity. In which case I am thankful to Carmack for making the call.
I can understand how "what you're doing is fundamentally pointless" is something they can only afford to hear from someone who already has their degree of magnitude of fuck-you money. Furthermore in a VC-shaped culture it can also be a statement that's to many people fundamentally incomprehensible
WD-42 1 days ago [-]
Exactly! It seems very narc-y. Just let me build my cool waste of company resources, it's not like Zucky is going to notice, he's too busy building his 11 homes.
Imagine being able to build an operating system, basically the end-game of being a programmer, and get PAID for it. Then some nerd tells on you.
markus_zhang 1 days ago [-]
I'm not sure if you are trying to be /s, but yeah that's basically what I'm trying to say. Definitely better than working on those recommendation systems.
Damn, I'd pay to work in some serious OS/Compiler teams, but hey why should they hire me? Oh well...Yeah I'm doing a bit of projects on my side but man I'm so burnt out by my 9am-5pm $$ job + 5pm-10pm kid job that I barely have any large chunk of time to work on those.
WD-42 1 days ago [-]
Not sarcastic at all. I'm in the same boat. I've been trying to get into contributing to Redox, but at the end of the work day when the kid is finally asleep it's hard to motivate.
markus_zhang 1 days ago [-]
I get it man. It’s really tough. How old is your kid? Mine is a 5 years old boy and he doesn’t seem to need a lot of sleep but a huge amount of companionship which really bugs me out.
In theory, it’s better to sleep early, get up around 5 and get 2 hours of quality time, but man he sometimes gets up around 6:15 and earlier, and I found it difficult to get good sleep anyway, so I tried to switch to 2 hours of night time, but he wants to sleep with me for 30 mins around 9pm before going to my wife’s bed, and I usually fell sleep sooner than he did…
Girls are much easier to raise. They sleep earlier and don’t fight too much, as far as I heard from friends.
WD-42 1 days ago [-]
I actually have some ideas about this kind of situation, drop me a line, email in my profile!
IshKebab 1 days ago [-]
> They sleep earlier and don’t fight too much, as far as I heard from friends.
Definitely depends on the specific children!
markus_zhang 15 hours ago [-]
I guess so. But the sample size is over 10, although not statistically significant but definitely something.
osullivj 24 hours ago [-]
I'm now a post kids greybeard; two nats, two steps, both flavours. Yes, girls under 10 are easier than boys. That flips on you in the teen years!
markus_zhang 15 hours ago [-]
That sounds scary…I don’t know how to communicate with teenage boys. I had a lot of quarrels with my parents back then.
kranke155 1 days ago [-]
Carmack saw it as a waste of time. Is this really what we are doing now? Justifying that my waste of company resources is no less inefficient than the others?
com2kid 1 days ago [-]
I got the chance to do this at Microsoft, it is indeed awesome! Thankfully the (multiple!) legendary programmers on the team were all behind the effort.
Anyway, if anyone reading this gets a chance to build a custom OS for bespoke HW, and get paid FAANG salary to do so, go for it! :-D
kranke155 1 days ago [-]
If you want to do it you should be able to defend it against contrarian arguments that it’s a waste of time and company resources.
1 days ago [-]
dmitrygr 1 days ago [-]
Yup. This is how bloat is created.
randall 1 days ago [-]
meta was a weird place for a while. because of psc (the performance rating stuff) being so important… a public post could totally demoralize a team because if a legend like carmack thinks that your project is a waste of resources, how is that going to look on your performance review?
impact is facebook for “how useful is this to the company” and its an explicit axis of judgement.
this_user 1 days ago [-]
How large is their headcount these days? And how many actually useful products have they launched in the last decade? You could probably go full Twitter and fire 90% of the people, and it would make no difference from a user perspective.
1 days ago [-]
kranke155 1 days ago [-]
Facebook has literally done very little in terms of new breakthrough products in a decade at least, and Bytedance has apparently just beat them on revenue.
aprilthird2021 1 days ago [-]
But... That's not an HR violation. If something a team is working on is a waste of resources, it's a waste. You can either realize that and pivot to something more useful (like an effort to take the improvements of the current OS project and apply them to existing OSes), or stubbornly insist on your value.
Why is complaining to HR even an option on the table?
firesteelrain 1 days ago [-]
One could argue that if it’s not in your swim lane, you just let it fail. And if you aren’t that person’s manager, you tell them the code or design that you are reviewing and thus the gatekeeper is not adequate. Politely. You said your part and no need to get yourself in trouble. Document and move on. If the company won’t listen then you move on. No need to turn it into a HR issue.
alanbernstein 1 days ago [-]
Carmack's swim lane was exceptionally wide. My understanding was that this sort of criticism was actually his main job duty.
ryandrake 1 days ago [-]
No matter how big or small one's "swim lane" is, an argument on technical merits without getting personal or discriminatory (assuming this was the case with J.C.) is never an HR issue. The whole "Weaponizing HR" thing is a nightmare and should not be acceptable.
gafferongames 1 days ago [-]
Imagine being a meta engineer and not taking Carmack's advice seriously.
Why the fuck is he even hired there if you are not going to listen to him.
Dude has forgotten more things about game development than you will ever know...
dedup-com 1 days ago [-]
There were quite a few of high-caliber individuals with equally impressive resumes in the organization to match Carmack's wisdom and ego.
itsdrewmiller 17 hours ago [-]
Hard to believe that, although maybe they considered their own resumes equally impressive.
Tostino 1 days ago [-]
The metaverse has really showcased that.
They finally have feet now, right?
Only light fun. I'm just a little perplexed at their progress and direction over the past 7-8 years. I don't understand how they can have so many high caliber people and put out...that.
spydum 1 days ago [-]
Fully agree with this point we all know as engineers this shit is nails on the chalkboard.
fluoridation 1 days ago [-]
Complaining is always an option. The problem is that HR actually takes the complaint seriously.
bongodongobob 1 days ago [-]
Just because something isn't an HR violation doesn't mean it's not wrong, rude, or unprofessional. Society is not a computer program. Being tactful is important to well adjusted people.
lll-o-lll 1 days ago [-]
Hard disagree. Being tactful is only relevant when dealing with people, criticise an idea, a project, a solution as much as you like. Intellectual debate is the fire from which genuinely good ideas are forged.
LPisGood 1 days ago [-]
Unfortunately people have ideas, projects, and solutions that they care deeply about. Like it or not, some tact when dealing with these things goes a long way.
izacus 1 days ago [-]
I mostly notice that those people aren't emotionally grown up enough to actually produce good results.
When your emotions over your work become more important than the quality of the work you're outputting, you become a problem for people who use your work.
LPisGood 13 hours ago [-]
Well unfortunately even relatively high quality organizations are filled with people like that.
izacus 13 hours ago [-]
sigh I know, I know. :/
lll-o-lll 1 days ago [-]
> Unfortunately people have ideas, projects, and solutions that they care deeply about.
This is true of course, but this is also true for the “search for truth” in science. Do we fail to point out the flaw in the reasoning of someone’s life's work for fear of offence? The truth is the higher ideal that must be strived for!
In the same way, an idea is only good once it has been challenged. It may fail and dissolve, it may survive, it may morph into something that can no longer be assailed. This is the forgers fire, and it is necessary.
I know this isn’t as black and white as I’m painting it, but the ideal is still something worth striving for.
LPisGood 19 hours ago [-]
Yeah, yeah all that’s true. Ideas are better if they’re challenged, etc. but the fact is people don’t like being challenged.
Also, software engineering is a field where there’s rarely some ideal truth we’re trying to achieve, and indeed even in science, people do often fail to point out flaws in reasoning for fear of offense.
jvuygbbkuurx 1 days ago [-]
It will be easy to dismiss any critisism when it's forced to be vague.
rvba 15 hours ago [-]
Projects to land them a fat salary while delivering no value.
No wonder they used any means necessary (including HR) to defend their source of money.
They probably knew very well they are a net loss for the company.
Lots of big orgs have such crooks. It's a failure of management not to fire them.
izacus 1 days ago [-]
Yeah, people getting really angry if you say anything bad about a product (!) is a depressing commonality in certain places these days.
I got angry emails from people because I wrote "replacing a primary page of UI with this feature I never use doesn't give me a lot of value" because statements like that make "the team feel bad". It was an internal beta test with purpose of finding issues before they go public.
Not surprisingly, once this culture holds root, the products start going down the drain too.
But who cares about good products in this great age of AI, right?
anal_reactor 1 days ago [-]
When I compare workplace dynamics in the American company I work for with local company a friend of mine works for, I feel like I sold my soul to the devil.
jayd16 1 days ago [-]
If you're in high leadership, even just being pessimistic can be a massive morale killer. It doesn't mean that going to HR is the right call but I could see how someone would vent that way.
rvba 15 hours ago [-]
If you are senior leadership and you find that your org has some people do useless side projects for fun (and tons of money) what delivers no value, your job is to solve this problem by reassigning or firing them.
Facebook VR never needed a new OS in the first place. It needed actual VR.
glaslong 1 days ago [-]
meta tends to keep people so on edge, with performance so heavily based on peer agreement, that it creates a sort of defensive toxic positivity
a little bit a negative feedback at high level can domino quickly too. massive pivots, reorgs, the works.
howdyhowdy123 1 days ago [-]
Hehehe. I have talked to John Carmack a few times. He's super harsh and has zero filter or social niceties (Azperger's level, not that he is, but just sayin'). If you are not used to it or understand where it's coming from, it can be quite a shock. Or at least he was, many years ago. Maybe he's changed.
thepryz 1 days ago [-]
I can see that. Sadly, there are a lot of people in the world who simply don't know how to deal with people who can be direct, if not somewhat abrasive, in their communication style. Their intent can be noble, well-intentioned, and not meant to offend. They simply don't beat around the bush or worry about whether your fragile ego will be bruised when they make an observation.
I've had to coach people and help them understand the entitlement involved in demanding that everyone adjust and adhere to their personal preferences and communication style. In my experience, it's about seeking to understand the person and adapt accordingly. Not everyone is willing to do that.
rainyrockies 1 days ago [-]
Although I have have met and currently work with many people who struggle with direct interactions to an extent where one could consider it a personal problem, I have also found that people who are direct or don't "beat around the bush" also often get VERY upset when treated similarly.
I'm not saying that there's no space for direct communication and that everyone needs to be formal and socially polite during every interaction. But I've met many people who act like you describe John does who very much do not appreciate getting it back, implying some level of awareness that their directness is hurtful on occasion.
I've only met a few direct people who can take it as well.
auggierose 1 days ago [-]
Like, everyone who is Dutch?
anikom15 17 hours ago [-]
I tend to get upset at people who are obviously beating around the bush.
sokka_h2otribe 16 hours ago [-]
I admit you encouraged me to think a little more about how the person (like myself, in many ways), might feel to be called abrasive, difficult, or any other negative thing.
It makes me want to reframe this a little with your statement 'understand the person and adapt accordingly.' As someone who has learned their social skills later, I think it's usually more of a responsibility of the abrasive person to adapt their communication style and know when it is best used.
Specifically, I think abrasive and direct works great in high trust environments. It has served me well as well. It does sometimes relate to autism for me, ymmv.
Anyway the reason why it doesn't work outside of high trust environments is that people have feelings, and their feelings matter. Ultimately you do have a responsibility to try and be considerate. So like, for me I try to separate the high trust and low trust environments in my life, and keep the part of me that's direct and abrasive (often among peers in technical context) less vocal in the low trust environment.
When I intentionally want to push back in a low trust environment, I try to check in more with the person, look to where they seem uncomfortable, and double check I understand what their insecurities might be in a certain context as that often increases defensiveness.
Sometimes in low trust environments I might not notice, or I might identify it as low trust and just not care. In those contexts yeah I'll be the disgruntled aspie ;) but in other contexts I want to connect to people and really think through the impact of my words not the righteousness.
byryan 1 days ago [-]
> Their intent can be noble, well-intentioned, and not meant to offend. They simply don't beat around the bush or worry about whether your fragile ego will be bruised when they make an observation.
I mean maybe, but maybe Carmac is just an ass hole... He can be a "legend" in the software development world and also just not be a super great person socially. The two things aren't mutually exclusive.
I don't disagree with you entirely, but being "direct" isn't a get-out-of-jail-free card for poor interpersonal skills. It's not always about "fragile egos" or "entitlement", it's about basic professionalism and communication.
1 days ago [-]
techpineapple 1 days ago [-]
For another take - what’s the game theory here?
If I’m kinda sensitive but also hyper-ambitious, I acknowledge that Facebook has
1. Some of the highest pay in the industry.
2. Ultra-competitive environment.
3. Low moral principles.
Seems like the strategy would be to use every lever at your disposal to manipulate your environment, rather than leave and risk getting paid less.
thepryz 1 days ago [-]
Expecting that you can change people, in my experience, is quixotic. What you can change is yourself and how you interpret and respond to events around you.
If I understand the hypothetical you've proposed, my advice would be for you to adapt and learn to be less sensitive rather than have you believe that you can manipulate the environment, or worse, directly manipulate people.
It's possible that you could be a positive influence for change, so I don't want to completed discount any effort there, but I also think it's worth being realistic about what you can actually affect.
techpineapple 1 days ago [-]
But my point is that this is a highly competitive environment, the whole point in a highly competitive environment is to manipulate the environment and people. That’s what people get promoted for. So why not play the game? Again in the hypothetical if you are “less sensitive rather than believe you can manipulate the environment.” You lose.
But like it works for Musk and Trump, and probably hundreds of other leaders today, why not take their example? (Assuming again, your highly ambitious and competitive, I’m more pro social, so I’d take your route)
This is legitimately something I’ve been asking myself lately, we talk about a world that values one thing ( rationality, respect, pro social behavior) but reward another (pettiness, vindictive, selfishness). Why do we pretend?
Also, and maybe the most important point, John Carmack is 100% trying to manipulate his environment and people, that’s why he’s so successful!
The world is literally run by people who are good at manipulating people and their environment. That’s what an entrepreneur is, that’s what a politician is, that’s what an artist is. Your argument seems to mostly be people shouldn’t try to manipulate the world in a way that I don’t like.
shortrounddev2 1 days ago [-]
Masters of doom portrays carmack as a total dictator of a boss. Doom Guy by John Romero seems to back this up
leoc 1 days ago [-]
Masters of Doom does seems to want to, however accurately or not, set Carmack up as the antagonist of its story against Romero as the hero sometimes. I think that readers just largely didn't notice that since Carmack's heroic image was already so firmly established. In fact some of the early-ID stuff really does seem to raise some questions. (Was Tim Willits mostly Carmack's protégé, for instance?)
shortrounddev2 12 hours ago [-]
yeah and Doom Guy takes a lot of issues with Masters of Doom. You get the impression that MoD was looking to create a McCartney vs Lennon story and stretched the truth to do so (there are several factual errors in the book).
In Doom Guy, though, Romero says that after he left iD, he heard from others still working there that the company had become something of a dictatorship under Carmack, and that within X months (I forget how many), half the company had quit. Romero also qualifies several times that they were all in their early/mid-20s and didn't have the requisite life experience to be handling business situations well
1 days ago [-]
pinoy420 1 days ago [-]
[dead]
theshackleford 1 days ago [-]
> I've only seen John Carmack's public interactions, but they've all been professional and kind.
You don't know someone or how they really behave because they are a public figure.
nrp 1 days ago [-]
I’ve been on both the same side and the opposing side of debates with him, both in person and over internal discussion threads. His public persona and private behavior match. I viewed it positively, though per the topic of the thread, not everyone did.
theshackleford 1 days ago [-]
That’s very different than simply observing someone in public. Which is what my post was referring too to and so it remains accurate.
FWIW I like carmack from what I have seen publically (and Romero, who I have interacted with) but I wouldn’t pretend to know who either of them really are from my observation of them.
shistkye 1 days ago [-]
> They also got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad
This is one of the reasons I’m sick of working pretty much anywhere anymore: I can’t be myself.
Appreciating people for their differences when they are humble and gifted is easy. I side with liberals, but I have a mix of liberal, moderate, and conservative friends.
But there are only so many years of pretending to appreciate all of the self-focused people that could be so much better at contributing to the world if they could quietly and selflessly work hard and respect people with different beliefs and backgrounds.
I’m happy for the opportunity I have to work, and I understand how millennials think and work. But working with boomers and/or gen X-ers would be so much less stressful. I could actually have real conversations with people.
I don’t think the problem is really with HR. I think the problem is a generation that was overly pandered to just doesn’t mix with the other generations, and maybe they shouldn’t.
fijiaarone 13 hours ago [-]
If the younger generation is too pandered and can’t take criticism or honest feedback, thats the fault of the older generation.
KaiserPro 23 hours ago [-]
I think the issue is, Carmack didn't talk like a "normal" facebook engineer.
Supposedly you were meant to have you disagreements in private, and come to support what ever was decided. "hold your opinions lightly" The latest version of it was something like "disagree and commit".
This meant that you got a shit tonne of group think.
This pissed off Carmack no end, because it meant shitty decisions were let out the door. He kept on banging on about "time to fun". This meant that any feature that got in the way of starting a game up as fast a possible, would get a public rebuke. (rightly so)
People would reply with "but the metric we are trying to move is x,y & z" which invariably would be some sub-team PSC (read promotion/bonus/not getting fired system) optimisation. Carmack would basically say that the update was bad, and they should feel bad. This didn't go down well, because up until 2024 one did not speak negatively about anything on workplace. (Once carmack reported a bug to do with head tracking[from what I recall] there was lots of backwards and forwards, with the conclusion that "won't fix, dont have enough resources". Carmack replied with a diff he'd made fixing the issue.)
Basically Carmack was all about the experience, and Facebook was all about shipping features. This meant that areas of "priority" would scale up staffing. Leaders distrusted games engineers("oh they don't pass our technical interviews"), so pulled in generalists with little to no experience of 3D.
This translated in small teams that produced passable features growing 10x in 6 months and then producing shit. But because they'd grown so much, they constantly re-orged pushed out the only 3d experts they had, they could then never deliver. But as it was a priority, they couldn’t back down
This happened to:
Horizons (the original roblox clone)
video conferencing in oculus
Horizons (the shared experience thing, as in all watching a live broadcast together)
Both those horizons (I can't remember what the original names were) Were merged into horizons world, along with the video conferencing for workplace
originally each team was like 10, by the time that I left, it was something like a thousand or more. With the original engineers either having left or moved on to something more productive.
tldr: Facebook didn't take to central direction setting, ie before we release product x, all its features must work, be integrated with each other, and have a obvious flow/narrative that links them together. Carmack wanted a good product, facebook just wanted to iterate shit out the door to see what stuck.
wilg 1 days ago [-]
It is very much not an objective discussion if you are discussing whether it makes sense to develop a new operating system.
knorker 1 days ago [-]
How is it not?
1 days ago [-]
zoeysmithe 1 days ago [-]
Sorry but if you know his story, seen candid videos of him, or talked to the people around him, he's a Linus-level "I'll say what I want" type.
There weird hagiographies need to go. Carmack is absolutely not known to be kind. I have no idea what happened here but the idea that's he's this kindly old grandpa who could never, ever be rude or unprofessional is really out there.
lll-o-lll 1 days ago [-]
And stupid. Like it or hate it, a non-nonsense, direct speaking, but fair and objective boss is the one you want. No one is served by failure; not the people at the top, nor the people at the bottom.
There is a difference between “this project is not going to work” vs “these people are incompetent and the project should be cancelled as a result”. The former needs to be said, the latter is a HR violation.
dedup-com 1 days ago [-]
Carmack absolutely 100% percent did not say "these people are incompetent". What he said boils down to "these people are world's best experts on writing operating systems and they'd love to write a new one from the scratch but I strongly believe that writing a new operating system is not the best path forward."
lll-o-lll 1 days ago [-]
> Carmack absolutely 100% percent did not say "these people are incompetent".
Sorry if I wasn’t clear; this was the point I was actually trying to make. Direct and to the point should not a HR incident make. I was trying to contrast with something that would.
gorset 2 days ago [-]
Mechanisms for getting the linux kernel out of the way is pretty decent these days, and CPUs with a lot of cores are common. That means you can isolate a bunch of cores and pin threads the way you want, and then use some kernel-bypass to access hardware directly. Communicate between cores using ring buffers.
This gives you best of both worlds - carefully designed system for the hardware with near optimal performance, and still with the ability to take advantage of the full linux kernel for management, monitoring, debugging, etc.
ronsor 1 days ago [-]
> use some kernel-bypass to access hardware directly
You can always mmap /dev/mem to get at physical memory.
fooker 1 days ago [-]
No, that's not really what kernel bypass means.
oasisaimlessly 1 days ago [-]
Accessing hardware directky via /dev/mem is literally the original kernel bypass strategy, before we got the UIO and VFIO APIs to do it in a blessed way.
dmazzoni 1 days ago [-]
I was at Google when the Flutter team started building Fuchsia.
They had amazing talent. Seriously, some of the most brilliant engineers I've worked with.
They had a huge team. Hundreds of people.
It was so ambitious.
But it seemed like such a terrible idea from the start. Nobody was ever able to articulate who would ever use it.
Technically, it was brilliant. But there was no business plan.
If they wanted to build a new kernel that could replace Linux on Android and/or Chrome OS, that would have been worth exploring - it would have had at least a chance at success.
But no, they wanted to build a new OS from scratch, including not just the kernel but the UI libraries and window manager too, all from scratch.
That's why the only platform they were able to target was Google's Home Hub - one of the few Google products that had a UI but wasn't a complete platform (no third-party apps, for example). And even there, I don't think they had a compelling story for why their OS was worth the added complexity.
It boggles my mind that Fuchsia is still going on. They should have killed it years ago. It's so depressing that they did across-the-board layoffs, including taking away resources from critically underfunded teams, while leaving projects like Fuchsia around wasting time and effort on a worthless endeavor. Instead they just kept reducing Fuchsia while still keeping it going. For what?
surajrmal 1 days ago [-]
It's a lot of work and hard to justify if you're looking for short term improvements. But if you're really committed to long term improvements, it absolutely makes sense. Google is actually willing to make long term investments. Publicly justifying the investment has never been a goal of the project which is why most folks probably don't understand it. Honestly I'm not sure why folks care enough to even do commentary on it. If you find it useful, you can participate, if not just ignore it.
Fwiw inventing a new application ecosystem has never been a goal and is therefore not a limitation for its viability. The hard part is just catching up to all the various technologies everyone takes for granted on typical systems. But it's not insurmountable.
I'm also not sold on the idea that having more options is ever a bad thing. People always talk about web browser monoculture and cheer on new entrants, yet no one seems to mind the os monoculture. We will all come out ahead if there are more viable OS out there to use.
touristtam 1 days ago [-]
> People always talk about web browser monoculture and cheer on new entrants, yet no one seems to mind the os monoculture. We will all come out ahead if there are more viable OS out there to use.
3 main OSes vs 2 main browser engine for consumer to choose from?
Anyway the main issue with the Browser engine consolidation is that whoever owns the Browser engine, can make or break what goes in there. Just think about VSCode's current status with all the AI companies wanting to use it and make it their own product, while MSFT attempting to curtail it. At some point either MSFT decide it commit to FOSS on this one, or the multiple forks will have to reimplement some functionalities.
jppittma 1 days ago [-]
I think the hope is that you just start there. They might have migrated the meeting room devices. Why would you set out to replace *everything* at once? Do something, get some revenue/experience, then try to fan out.
nashashmi 1 days ago [-]
Wasn’t Fuchsia supposed to be a platform where different OS could run in a virtual environment and software packages would be complete containers? Was not this a new way of tackling the ancient OS problem?
These were my imaginations. I thought maybe an OS that could run on the web. Or an OS that could be virtualized to run on several machines. Or an OS that could be run along several other instances on the same machine each catering to a different user.
surajrmal 1 days ago [-]
That doesn't sound anything like what fuchsia is or ever was. Fuchsia takes a different set of tradeoffs with respect to baseline primitives and built a new stack of low level user space on top of those new primitives. This gives the software fundamentally different properties which might be better or worse for your use case. For consumer hardware products I think it comes out ahead, but only time will tell.
raggi 1 days ago [-]
I think what op was thinking of was early harmonyos, seen people confusing those a lot. Harmony now ofc isn’t what
CyberDildonics 1 days ago [-]
Reinventing QNX will be cutting edge for decades to come.
diego_sandoval 1 days ago [-]
Yeah, those were definitely your imaginations.
cmrdporcupine 1 days ago [-]
Not only did they target Home Hub, they basically forced a rewrite on it (us, I worked on the team). After we already launched. And made our existing workable software stack into legacy. And then they were late. Then late again. And late again. With no consequences.
100% agree with your points. To me watching I was like -- yeah, hell, yeah, working on an OS from scratch sounds awesome, those guys have an awesome job. Too bad they're making everyone else's job suck.
raggi 1 days ago [-]
By forced I guess you’re referring to the room full of leads who all said yes, but then reported otherwise back down to their ics to avoid retribution. I caught early wind of this from folks being super rude in early on the ground discussions and tried to raise it with Linus. One of the directors got his kickers in a twist and accused me of making a mountain out of a molehill. I guess clearly not, as the sentiment and division still stands.
cmrdporcupine 18 hours ago [-]
I don't care who agreed to what, it's bad engineering practice to take a working successfully launched product and throw out its entire working software stack no matter how inelegant it seems. To what end? What did Fuchsia offer? When it finally shipped -- what, 2, 3 years late? --- custmers couldn't even tell it happened.
And in order to make it happen it also required writing the already-launched HTML-based UI in Flutter/Dart. Again ... why? What for? There wasn't even a working "native" Flutter at the time, despite promises, and there certainly wasn't a working accessibility stack -- no screen reader, no magnification, nothing -- so that all had to be kludged in. It was everything wrong with the "rewrites considered harmful" distilled.
Not to mention terrible for morale, execution, planning, budget, customer satisfaction.
I was just a lowly SWE 3 "IC" just in the trenches, not nearly as "important" as all that, so my opinion mattered not at all. But to me it violated every sound engineering / project planning principle I'd learned in the 15 years of my career up to that point. Just another event that led to me becoming quite cynical about the ability of leadership at Google to actually manage anything of significant complexity that wasn't ads/search related.
Again, Fuchsia .. very neat. But it didn't belong there.
raggi 15 hours ago [-]
Customers not being able to tell that it happened was a goal of that deployment.
It wasn’t anywhere near that late the numbers you’re saying was about the whole build cycle - board bringup for one of the two boards first commit in zircon was 3y before launch (that codes public, I just checked and Mike landed it in 2018) - and discussions weren’t done then, that was before any prototype/demos could be done. There were sluggish stages and project management was rough, and there were delays at the end related to quality but the quality bar was necessarily high, particularly on the core system - don’t brick all the devices in the field. And we didn’t, and that’s actually a feat replacing everything from firmware to gui in the field without users noticing.
What was the goal? Well two things: fuchsia needed a first, and realistic shipping target that wasn’t excessively lofty. Nest needed to get out of the OS game so it could focus resources on product. Chris talked about this in his 9to5google interview.
It’s a shame you feel so sour about it, everyone involved did good work. I have friends from nest and some of the ics also have similar pained history from that time - it’s sad, once upon a time it was maddening. It’d have been so easy for a leader to substantially improve that. Sure plenty of things could have been better, for sure we could have fixed these awful sentiment and relationship issues (I tried, got burned for it - that even showed up in my calibration), but we all shipped.
jppittma 1 days ago [-]
Other teams decommitting is just how it goes.
phendrenad2 1 days ago [-]
I always felt that Fuchsia was a make-work program to keep talented kernel engineers away from other companies. Sort of a war by attrition.
surajrmal 1 days ago [-]
That's a weird rumor that I'm not sure I understand. Things are not that complicated.
com2kid 1 days ago [-]
Microsoft used to legit do this in the 90s. Recruit bus factor 1 employees from competitors by offering them large salaries.
It was much easier to cripple your competition back when there were several orders of magnitude less software engineers in the world.
phendrenad2 23 hours ago [-]
If it's even a rumor then I started it, I just can't imagine Fuchsia serves any other purpose. I don't even usually give Google a lot of credit, but I just can't imagine they made something this useless and misunderstood the feasibility of such an OS this badly. It would be like Hewlett-Packard in the early 2000s levels of incompetence.
yard2010 1 days ago [-]
I guess it's just a political shit show at this point. Ideas go hard if the people behind them aren't playing the game well enough, no matter their value.
cmrdporcupine 1 days ago [-]
There's few things worse for the long-term health of a software project than people who have hammers and are hunting for nails for them.
surajrmal 1 days ago [-]
Isn't this how folks use Linux today? It's the only tool they know and don't understand the tradeoffs, hurting the product.
sulam 1 days ago [-]
My understanding is that people are working on Fuschia in name only at this point. Of course some people are passionate enough to try and keep it alive, but it’s only useful to the degree that it can help the Android team move faster.
commandersaki 1 days ago [-]
I always wonder why companies prefer rolling the dice to pragmatism.
mixmastamyk 7 hours ago [-]
A bad business decision, yes. But is it any good?
aprilthird2021 1 days ago [-]
And the crazy thing is there is arguably a lot more of a reason for Meta / Oculus to have had its own operating system because it is meant for a specific configuration of hardware and to utilize those hardware resources to a quite different goal than most other OSes out there. Even in that environment it was still a waste
danielodievich 1 days ago [-]
Back in mmm like 2002 or 2003 or 2004 while at Microsoft I read an internal paper from a few OS guys who hackathoned something for Bill Gates's Think Week (which is when he used to go to some island in San Juans or somewhere similar and just read curated papers and think, it was a huge prestige to get such a paper to him) and that something was an OS written from scratch with GC and memory management on top of something very .NET framework'y (which was released a couple of years ago. They had it booting on all kinds of hardware and doing various neato things. One of explicitly called design principles was 0 compatibility with anything Windows before. Which is why it didn't go anywhere I assume. I remember it was just a handful of engineers (presumably OS folks) hacking for like a month. . It was awesome to read about.
Singularity was cool. I'm sad that it was abandoned. The concept of using software isolation instead of hardware memory protection was really interesting.
adastra22 1 days ago [-]
It was a multi-year project at Microsoft Research with a team of >100 developers.
I am very certain in my recollection that this was started much earlier than this as hackathon skunkworks before something like this happened at MSR. It didn't do anything beyond kernel and command line, there was no browser. I don't know if those two shared roots either. Anyhow, but yeah, still both were intellectual feats!
labrador 2 days ago [-]
> my old internal posts... got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad
That jives with my sense that META is a mediocre company
gmueckl 1 days ago [-]
It matters who you communicate concerns to. Something as fundamental as "I think that your team shouldn't even exist" should go to the team leads and their managers exclusively at first. Writing that to the entire affected team is counterproductive in any organization because it unnecessarily raises anxiety and reduces team productivity and focus. Comments like this from influential people can have big mental and physical health impacts on people.
sesm 1 days ago [-]
This entire situation looks very suspicious. Was Carmack even responsible for triaging research projects and allocating resources for them? If yes, then he should have fought that battle earlier. If no, then the best he could do is to refuse to use that OS in projects he controls.
gmueckl 1 days ago [-]
Carmack had no direct say over research AFAIK.
cma 1 days ago [-]
It should be fine to give your opinion on efforts.
sbarre 1 days ago [-]
Yeah it sounds to me here like the urge to reach for HR had less to do with Carmack and more to do with the overall culture at Meta.
monkeyelite 1 days ago [-]
That’s not how big companies work.
1718627440 1 days ago [-]
Not when this is his personal opinion he thought nothing should follow from.
"I think that your team shouldn't even exist" doesn't mean "I want your team to no longer exist.".
gmueckl 1 days ago [-]
But the name Carmack carries some clout and people listen to him (too) closely because of his reputation alone. This is soft power that automatically comes with responsibility.
kranke155 1 days ago [-]
Yes and he used it to try and stop something he saw as a total waste.
labrador 1 days ago [-]
If I was on that team I'd welcome the opportunity to tell John Carmac why he was wrong or if I agreed start looking for another project to work on.
When I was on nuclear submarines we'd call what you are advocating "keep us in the dark and feed us bullshit."
gmueckl 1 days ago [-]
This assumes that you would be sincerely listened to, which you wouldn't in a case like this. Higher ups in large organizations don't have the bandwidth to listen to everybody.
Your sub's officers also need to constantly be aware of what to communicate to whom and in which language. Your superiors certainly kept you in the dark about a ton of concerns that were on their plate because simply mentioning them to subordinates would have been too distracting.
aprilthird2021 1 days ago [-]
You say your piece and if not heard, do an internal transfer. This whole don't tell people the truth about technical matters to not hurt their feelings or disrupt some people's paychecks is not serious business.
Spivak 1 days ago [-]
I want to know where you have found a workplace staffed entirely by androids. What you're advocating for would fall apart the moment it had contact with humans. It's why diplomacy is both necessary and difficult. It seems it is a lost art knowing how to navigate hard conversations and has been replaced with one of avoidance or tactless 'brutal honesty'.
jonas21 1 days ago [-]
Maybe on a mediocre team. But that was the parent comment's point.
On well-functioning teams, product feedback shouldn't have to be filtered through layers of management. In fact, it would be dishonest to discuss something like this with managers while hiding it from the rest of the team.
aprilthird2021 1 days ago [-]
> Comments like this from influential people can have big mental and physical health impacts on people.
So what are we supposed to do? Just let waste continue? The entire point of engineering is to understand the tradeoffs of each decision and to be able to communicate them to others...
tejohnso 2 days ago [-]
I'm sure that kind of crap helped nudge JC out of there. He mentions (accurate and relevant) reasons why something is probably a bad idea, and the person in charge of doing it complains that JC brought up the critiques, rather than addressing the critiques themselves. What a pathetic, whiny thing to do.
crote 1 days ago [-]
You've got to remember that context is critical with stuff like this.
There's nothing wrong with well-founded and thoughtful criticism. On the other hand, it is very easy for this to turn into personal attacks or bullying - even if it wasn't intended to be.
If you're not careful you'll end up with juniors copying the style and phrasing of less-carefully-worded messages of their tech demigod, and you end up with a huge hostile workplace behaviour cesspit.
It's the same reason why Linus Torvalds took a break to reflect on his communication style: no matter how strongly you feel about a topic, you can't let your emotions end up harming the community.
So yes, I can totally see poorly-worded critiques leading to HR complaints. Having to think twice about the impact of the things you write is an essential part of being at a high level in a company, you simply can't afford to be careless anymore.
It's of course impossible to conclude that this is what happened in this specific case without further details, but it definitely wouldn't be the first time something like this happened with a tech legend.
pklausler 2 days ago [-]
Ugly people like to blame the mirrors.
armchairhacker 2 days ago [-]
What would be the real advantage of a custom OS over a Linux distribution?
The OS does process scheduling, program management, etc. Ok, you don’t want a VR headset to run certain things slowly or crash. But some Linux distributions are battle-tested and stable, and fast, so can’t you write ordinary programs that are fast and reliable (e.g. the camera movement and passthrough use RTLinux and have a failsafe that has been formally verified or extensively tested) and that’s enough?
mikepurvis 1 days ago [-]
I think the proper comparison point here is probably what game consoles have done since the Xbox 360, which is basically run a hypervisor on the metal with the app/game and management planes in separate VMs. That gives the game a bare metal-ish experience and doesn't throw away resources on true multitasking where it isn't really needed. At the same time it still lets the console run a dashboard plus background tasks like downloading and so on.
ksec 5 hours ago [-]
Hold on a sec, is that the same on PS5? I am pretty sure that wasn't the case two generations ago. Is that the norm now, running on hypervisor ?
raggi 1 days ago [-]
For this use case a major one would be better models for carved up shared memory with safe/secure mappings in and out of specialized hardware like the gpu. Android uses binder for this and there are a good number of practical pains with it being shoved into that shape. Some other teams at Google doing similar stuff at least briefly had a path with another kernel module to expose a lot more and it apparently enabled them to fix a lot of problems with contention and so on. So it’s possible to solve this kind of stuff, just painful to be missing the primitives.
Nuthen 2 days ago [-]
Based on the latter tweet in the chain, I'm wondering if Carmack is hinting that Foveated Rendering (more processing power is diverted towards the specific part of the screen you're looking at) was one advantage envisioned for it. But perhaps he's saying that he's not so sure if the performance gains from it actually justify building a custom OS instead of just overclocking the GPU along with an existing OS?
mook 1 days ago [-]
Wouldn't that be an application (or at most system library) concern though? The OS is just there to sling pixels, it wouldn't have any idea whether those pixels are blurry… well for VR it would all be OpenGL or equivalent so the OS just did hardware access permissions.
hedgehog 1 days ago [-]
I think the context is that foveated rendering ties sensor input (measuring gaze direction) to the rendering pipeline in a way that requires very low latency. Past a certain point reducing latency requires optimizations that break normal abstractions made by user land, so you end up with something more custom. I'm not sure why that would require a whole new OS, the obvious path would be to put the latency-sensitive code onto dedicated hardware and leave the rest managed by Linux. If a bunch of smart people thought XROS was a good idea there's probably something there though, even if it didn't pan out.
raggi 1 days ago [-]
Just overclock (more) the system that’s already in a severe struggle to meet power, thermal and fidelity budgets?
sulam 1 days ago [-]
I stated this elsewhere, but at least six years ago a major justification was a better security model. At least that’s what Michael Abrash told me when I asked.
v9v 2 days ago [-]
Maybe not applicable for the XR platform here, but you could add introspection capabilities not present in Linux, a la Genera letting the developer hotpatch driver-level code, or get all processes running on a shared address space which lets processes pass pointers around instead of the Unix model of serializing/deserializing data for communication (http://metamodular.com/Common-Lisp/lispos.html)
nolist_policy 1 days ago [-]
You can do that on Linux today with vfork.
jamboca 2 days ago [-]
Think you answered your own question. No real differences except more articles, $, and hype
const_cast 1 days ago [-]
And, let's be real here: engineering prestige.
Everyone wants to make an OS because that's super cool and technical and hard. I mean, that's just resume gold.
Using Linux is boring and easy. Yawwwwn. But nobody makes an OS from scratch, only crazy greybeard developers do that!
The problem is, you're not crazy greybeard developers working out of your basement for the advancement of humanity. No. Youre paid employees of a mega corporation. You have no principles, no vision. You're not Linus Trovalds.
agsnu 2 days ago [-]
Huawei seem pretty committed to building their own OS and uncoupling from the Western technology stack in total
The only reason Chinese companies can even get away with these big projects is because of state backing and state objectives. By itself, the market doesn't support a new general-purpose OS at this point.
balder1991 2 hours ago [-]
Actually the “market” won’t prioritize anything that won’t give returns as soon as possible (except for the weird situation of VC money being poured in).
torginus 11 hours ago [-]
'China only succeeds for evil reasons'
Besides, the statement's completely nonsensical - there were multiple OSes developed by for-profit corporations in the West (Microsoft, Apple, Nintendo, QNX, Be, etc.).
It's kind of an extraordinary statement that an OS couldn't be developed by a for-profit organization, especially if the hardware's somewhat fixed and you don't need to support every piece of equipment under the sun.
betaby 1 days ago [-]
> because of state backing and state objectives
MS is a state backed company. Very natural that China went the same path.
howdyhowdy123 1 days ago [-]
No it isn't
SgtBastard 1 days ago [-]
Technically you are correct but the commenter you’re responding to means that with the amount of Western Governments spend on MS products and services, the are a d facto (if not de jure) state backed enterprise.
os2warpman 1 days ago [-]
US government spending is (for now) easy to track, and you can get totals for spending by corporate entity.
In total across the entire US federal government, $518.8 million was paid to Microsoft for products and services in 2024. That is approximately 0.21% of their total annual revenue.
I assert that the threshold for "state sponsored" is well in excess of 0.21% of annual revenue.
How much money have states and local governments spent on Microsoft products and services? How much money has Microsoft collected from companies that are providing products and services to US governmental agencies?
Government spending is not easy to track. This doesn't even begin to touch on non-monetary benefits Microsoft receives with government influence.
howdyhowdy123 5 hours ago [-]
Now you are really starting to bend over backwards. The claim was that MS was a state enterprise. It's still not even close.
monkeyelite 1 days ago [-]
If you look at Ford and Intel you would find similar numbers - but they are clearly quasi state entities.
howdyhowdy123 5 hours ago [-]
Exactly
1718627440 1 days ago [-]
Yes, but the power play seams to be more like MS backes several states.
treyd 1 days ago [-]
MS has deep ties into the state department and intelligence apparatus that few other companies do. Just as deep as the defense contractors who have a near monopoly-monopsony relationship with the federal government. You can argue about how exclusive they are in particular qualities but the scale and depth they operate at makes their relationship approximate the relationship Huawei does with the Chinese government. They're just what state-backed enterprises look like under liberal-ish capitalism.
thrown-0825 1 days ago [-]
[flagged]
howdyhowdy123 13 hours ago [-]
I don't think you know what state backed enterprise means. You or anybody who spouts this.
maxglute 11 hours ago [-]
lol the market has tons of support for OS that can't be sanctioned, especially Huawei, who you know is.
const_cast 1 days ago [-]
You're downvoted but you're 100% correct.
It makes absolutely zero financial sense to create a new general purpose operating system.
That's billions of lines of code. With a B. And that's just the code - getting it to work with hardware?
Do YOU want to talk to 10,000 hardware vendors and get them on board? No! Nobody does! That's just money burning!
But, there are valid political reasons for creating a new general purpose OS.
com2kid 1 days ago [-]
It is a lot less if you are aiming to support a small set of platforms, don't need general driver support for everything possible accessory and peripheral under the sun, and if your file system usage is limited.
If you are building for a single abstraction, code gets much simpler, instead of building a platform that multiple abstractions can then be built on top of.
baq 23 hours ago [-]
If you are China, the vendors are you and money is treated differently than in the west. Balance sheet will accommodate a project like that easily, especially if it decouples them from the US. They’ve already got their own software ecosystem which most people don’t hear about or heard once or twice, and it’s running their tech scene.
1 days ago [-]
jambutters 1 days ago [-]
They actually reuse Linux driver stack for hardware compatibility
laserbeam 1 days ago [-]
Geopolitical reasons for making your own OS are actually reasonable and understandable. Not saying they are good, because I would much prefer a planet where we collaborate on these things… but they’re not dumb. They make sense in a similar way the space race made sense.
GeekyBear 2 days ago [-]
My objection is that there is no universe in which Meta can be trusted with direct access to your raw gaze tracking data.
The only thing I can imagine that would be more invasive would require a brain implant.
mrpippy 1 days ago [-]
My understanding is that this is a key tenant of visionOS’s design, where apps don’t get access to gaze data (I think unless they’re taking over the full screen?)
qiine 1 days ago [-]
sadly they are working on it
mrandish 15 hours ago [-]
> I wish I could drop (so many of) my old internal posts publicly, since I don’t really have the incentive to relitigate the arguments today – they were carefully considered and prescient. They also got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad
Carmack being Carmack, I'm sure the HR report came to nothing but it's just another reminder of the annoyances I don't miss about working at a BigCo. In the end, it doesn't matter that it went nowhere, that he was right or that it was an over-reaction and likely a defensive move in inter-group politics Carmack wasn't even playing - it just slowly saps your emotional energy to care about doing the right things in the right ways.
throwboy2047 13 hours ago [-]
My first month at Amazon someone reported me for laughing at them…I didn’t even know they existed, on the other end of the open floor. I was laughing at something completely unrelated.
That made me really think about how fragile and toxic people can be.
Another Amazonian almost got fired for reacting with a monkey covering eyes emoji to a post shared by a black person (no malintent, of course, just an innocent “mistake” most normal people wouldn’t even think twice about).
Hydraulix989 15 hours ago [-]
You don't report someone like Carmack to HR, it will only backfire and make your ignorance even more visible.
Also, I am not surprised he was reported -- typical underhanded political hustling commonplace at Meta.
flkenosad 13 hours ago [-]
Report whoever you want to HR people. Don't listen to this guy ^
DennisP 13 hours ago [-]
Hopefully for a better reason than the report against John Carmack.
ironman1478 2 days ago [-]
I worked on a completely different hardware project within meta and while they didn't want a custom OS, they used an off the shelf rtos with the intention of modifying it and it was a shit show. They had a million justifications for why they needed it, but they had no performance tests or metrics to verify to actually justify it. They incurred a huge development overhead for no verifiable performance improvements.
None of the code they wrote couldn't have just been written as a kernel module in Linux. It would've also been so much easier due to all the documentation and general knowledge people have about Linux both within the company and outside the company.
sulam 1 days ago [-]
Late 2019 I had a short conversation with Abrash about a new OS for the next set of glasses and my immediate reaction was “why?” He was adamant that there was a security need which Linux could not fill (his big concern was too much surface area for exploits in the context of untrusted 3rd party code). I remember thinking that this would be a surprise to cloud engineers at the big hosters, but chose not to continue the argument. He didn’t get where he is by being dramatically wrong very often, after all, but it still struck me as a waste. Note I did not work at Meta so he may have had stronger justifications he chose not to expose.
klik99 2 days ago [-]
You could write a book on why it's practically impossible to create a new OS these days. Love Carmack for stating it so clearly. I also love that called out TempleOS, I also have a weird respect for it. Plan 9 is the probably the best example of a totally new OS and I hope someday it becomes viable because it's really a joy to use.
But ultimately it just makes sense to adapt existing kernels / OS (say, arch) and adapt it to your needs. It can be hair wrenchingly frustrating, and requires the company to be willing to upstream changes and it still takes years, but the alternative is decades, because what sounds good and well designed on paper just melts when it hits the real world, and linux has already gone through those decades of pain.
The driver ecosystem is the moat. Linux finally overcame it decades later
bri3d 1 days ago [-]
Android built a new, giant moat for Linux (or "Linux" depending on your opinions about Android) in the embedded application processor space - now the "standard" board support package target for new embedded AP hardware is almost always some random point-in-time snapshot of Android. Running "mainline" Linux is hard (because the GPU and media peripheral drivers are usually half-userspace Android flavored stuff and rely on ION and other Androidisms) and bare-metal is even worse (where previously, you'd get register-level documentation, now, you get some Android libXYZ.so library).
izacus 1 days ago [-]
I don't remember there being any time in history where you got "register-level documentation".
Those boards were always accompanied by horrific binary blobs glued to a kernel form a stone age. Or Windows.
saulpw 2 days ago [-]
Yeah, the Linux kernel has ~12m lines of code. <1m are the core, the rest are drivers.
Much of that 5M are hardware register definitions expanded into C headers. I am not sure how you'd consolidate that but it's not like that's all bespoke C code.
ForHackernews 1 days ago [-]
What an inefficient disaster to carry around all those drivers to run hardware that isn't on the device you're running on.
ch33zer 1 days ago [-]
* The vast majority aren't compiled into any given kernel
* Those that are are only loaded when needed
It's not that bad
RJIb8RBYxzAMX9u 1 days ago [-]
I sympathize, but the reality is that except for very specialized cases, (hyper) optimizing for CPU performance is unnecessary, even in the embedded space. A Cortex-M0 has roughly the same performance as a 486, and is cheap and power efficient enough to be bundled in disposable test kits, vapes, etc.
wmf 1 days ago [-]
It's modular so you don't have to compile drivers you don't need.
beeflet 1 days ago [-]
Most of it is in modules that don't have to be compiled at all (and usually aren't)
Rendello 17 hours ago [-]
Writing TempleOS software taught me lower-level programming! The OS is weird and idiosyncratic, but much more polished and logical than you'd expect from seeing videos of its author.
tanvach 2 days ago [-]
I think people have forgotten about Google Fuchsia which I guess is a good sign for a new OS. They’ve done quite well in deploying it seamlessly to their consumer devices.
modeless 1 days ago [-]
"Quite well" by what metric? It shipped on one device. That's pretty much the lowest bar you can imagine! Did it provide any tangible benefit to anyone? Let alone a benefit commensurate with the enormous cost of developing it and continuing to maintain it?
I think it was insane to start a new OS effort written in C/C++. We have plenty of OSes written in C/C++! We know how that story ends. If you're going to spend the effort, at least try a new language that could enable a better security model.
pjmlp 1 days ago [-]
While I agree with the sentiment given my bias towards safe systems languages, Genode OS is pretty much mostly C++, although they added some Ada/SPARK as well, which is relatively recent research OS.
asadotzler 2 days ago [-]
It was so good Google cancelled plans to use it in meaningful products and instead delegated it to the bottom shelf products.
tanvach 2 days ago [-]
Fun rumor: Google shut down the AR effort and transferred the team to project Fuchsia as a way to retain highly skilled employees. So essentially they didn’t have any real technical needs for a new OS.
klipklop 1 days ago [-]
Fuchsia is pretty much a dead product at this point. For things like Phones and Laptops google is using only Android going forward.
blkhp19 2 days ago [-]
I thought they rolled back all of those efforts. What devices shipping today come with Fuchsia installed?
aschla 2 days ago [-]
According to Wikipedia, looks like only the Nest Nub.
kyle-rb 2 days ago [-]
I think some of the Nest audio devices now run it as well.
AceJohnny2 2 days ago [-]
Google Nest Hub
belval 2 days ago [-]
Isn't that somewhat debatable? Originally they were aiming at much more (chromebook OS for example) but seems like they settled for Google Home only as their scope.
Still a very interesting project, but that feels like a similar story, for limited use cases (a smart thermostat/speaker with specific hardware) it works, but for wider use cases with heterogeneus hardware and complex interfaces (actual screen, peripherals) it didn't work.
loeg 1 days ago [-]
XROS was a Fuschia fork, actually.
koolala 2 days ago [-]
The reviews I've seen of its stability and usefulness have not been good.
3eb7988a1663 2 days ago [-]
That was also frustrating in that sel4 was right there. Why not invest efforts in the existing thing?
loeg 1 days ago [-]
The microkernel core isn't the buggy/hard part; Fuscia's got a similar microkernel that also works great. It's everything else that's hard.
tanvach 2 days ago [-]
Yup it’s because they had to rewrite the drivers I presume. Always going to be the biggest issue with any new OS.
scared_together 2 days ago [-]
What if instead of writing the entire OS, a company were to pick up an existing “hobby” OS and refine it?
For example any of the systems listed in Carmack’s post. Or perhaps Serenity OS, RedoxOS, etc.
dmurray 2 days ago [-]
In that case, why wouldn't they "just" fork Linux? Or 10-years-ago-Linux?
The technical justification for Meta writing their own OS is that they'd get to make design decisions that suited them at a very deep level, not that they could do the work equivalent of contributing a few drivers to an existing choice.
How is that different than what they did? Meta stuff is on Linux. PlayStation and Nintendo on bsd, etc.
If you mean exotic ones then the answer is the parts that are written are the easy parts and getting support for hardware and software is hard.
2 days ago [-]
GeorgeTirebiter 9 hours ago [-]
The XROS thing sounds sort of like the PenPoint OS -- which was used with the EO 440 and EO 880 tablet + Cellphone-connected computers that came out around the same time as Newton (early 90s) - but with larger screens and cellular voice/data/fax connectivity (optional). Their tagline was "The Pen is the Point". Besides having a WACOM tablet as the pen-input device (requiring a driver), and baking in the notion that (at that time was true): connectivity was sporadic, and therefore you had to be opportunistic when you got a reliable cell signal (or were plugged into a phone jack). Those two ideas sure as heck did not require a whole new OS to support. But PenPoint built a company to market said OS. https://en.wikipedia.org/wiki/PenPoint_OS?useskin=vector Interestingly, this company ended up being folded into EO itself, as there seemed to be no market for a pen-based OS.
There is another doomed project that XROS reminds me of: the Apple "Pink" OS. Brief history: https://lowendmac.com/2014/pink-apples-first-stab-at-a-moder... "Pink was spun out as Taligent. The kernel was jettisoned. Taligent would run on top of an operating system and act as an object oriented system (like OpenStep). It was released in 1995, but it sold poorly. It was canceled altogether in 1998." https://en.wikipedia.org/wiki/Taligent?useskin=vector more history http://www.roughlydrafted.com/RD/Q4.06/36A61A87-064B-470D-88... After Apple tried Pink, Taligent, and Copeland they .... ended up using Mach / FreeBSD and some pieces from other BSDs (as I understand it). Today, we have Windows and Unix of some flavor in the main. I think Geordi LaForge was using one of these OSs on his Warp Drive computers...
GeorgeTirebiter 12 hours ago [-]
People are nailing it here -- it's not the "OS" per se (heck, look at CP/M or original unix and this gives you a floor) -- it's the drivers and the required Standard Pieces: DMA, memory protection, TCP/IP, BLE, WiFi, Ethernet, GPU, USB (+ vast USB drivers), etc. Lotta 'standard' software must work on any new OS + drivers for all that hardware that is always changing. Great 'fun' .... Now, I do think Minix had a chance for a very short window, but lack of resources made sure it's now only an OS history footnote. All because a microkernel sucks 3% performance away from monolithic kernels. We are confused as an Industry... Performance uber alles -- that has just GOT to get fixed. Security; maintainability; simplicity > performance; or rather, those are worth some performance degradation.
numpad0 2 days ago [-]
Is the difficulty in theoretical complexity of operating systems, or in project scoping/scope creep?
It's probably not that hard to write bare metal code for a modern CPU that runs and crashes. It's obviously insurmountably hard to compete with Android in features with scratch built bare metal code. An "OS" can be anything between the two. But it's very easy to imagine an "XR OS" project snowballing quickly into the latter, and Carmack's concerns would be spot on(as always is, and as proven). Is it then an inherent difficulty in "designing a new operating system", or is it technically something else?
loeg 1 days ago [-]
XROS definitely suffered from scope creep and an outrageous set of goals/priorities.
monkeyelite 1 days ago [-]
the thread lists examples like 3rd party software
beeflet 1 days ago [-]
Why bother making a new OS when you can make a new user interface for an existing OS?
The drivers are the hard part. It takes a lot of inter-industry collaboration to get driver compatibility
A4ET8a8uTh0_v2 21 hours ago [-]
To be fair, monastic order of engineers is absolutely what the world could use about now.
ellis0n 15 hours ago [-]
I've been developing a solo ACPU OS for many years now, one that's fast and simple enough to be better than any known OS. That's why I believe all OS development problems come from overengineering and overcapitalization. https://www.acpul.org/blog/so-fast
Pocomon 22 hours ago [-]
Whom the gods would destroy, they first persuade to design an OS :)
whatever1 1 days ago [-]
The engineers were right. “If not us then who”.
Meta has the talent and the balance sheet to pull this off. Worst case scenario we end up with one more open sourced operating system. Who knows what happens 20 years down the line.
jamesgeck0 2 days ago [-]
> To make something really different, and not get drawn into the gravity well of existing solutions, you practically need an isolated monastic order of computer engineers.
I mean, I'd give a fair shake to an OS from the SQLite team [1].
Where do I apply to join this monastic order of OS programmers?
tgbugs 2 days ago [-]
Just walk up to the gate of your nearest Concent next Apert and they will take you right in!
Actually, I don't know how you join the Ita now that you mention it.
trenchpilgrim 1 days ago [-]
The Ita were kind of an ethno-cultural group as much as they were a professional caste.
0xb0565e486 2 days ago [-]
I'd love a truly new OS, but I just don’t know what it would look like at this point? "New OS" ideas tend to converge on the same trunk.
Building a hobby OS taught me how little is just "software". The CPU sets the rules. Page tables exist because the MMU says so. Syscalls are privilege flips. Task switches are register loads and TLB churn. Drivers are interrupt choreography. The OS to me is just policy wrapped around fixed machinery.
ellis0n 15 hours ago [-]
I think any OS can be divided into a "backend" that deals with the hardware and a "frontend" user-level applications with a UI. The backend is mostly similar everywhere, while the frontend is what the general public typically perceives as the "OS".
It's hard to see anything truly new in the "invisible" backend, but the frontend changes with every update (Windows, Mac, Linux etc).
ACPU OS is a good example of this, where the backend can be a different OS, an emulator or actual hardware, while the frontend remains the same across all execution environments.
https://www.acpul.org/blog/so-fast
cma 1 days ago [-]
try to quickly spawn a lot of processes on windows
lukev 2 days ago [-]
This is completely right from a product point of view, which is Carmack's argument.
But I have wondered why one of these companies with billions of dollars to burn hasn't tried to create something new as a strategic initiative. Yes, there wouldn't be any ROI for years, and yes, the first several products on the platform would probably be better off on something more traditional.
But the long term value could potentially be astronomical.
Just another case of quarterly-report-driven decision making, I suppose. Sigh.
Aurornis 1 days ago [-]
> But I have wondered why one of these companies with billions of dollars to burn hasn't tried to create something new as a strategic initiative.
> But the long term value could potentially be astronomical.
Such as what?
crote 1 days ago [-]
> Such as what?
Historically? The internet, the concept of a graphical user interface, the mouse, the smartphone, the LCD display, the laser printer...
It's about clever people trying weird stuff, and occasionally ending up with a world-changing idea. Asking for examples of to-be-discovered innovations is, by definition, an impossibility.
const_cast 1 days ago [-]
Companies are risk averse, ask DARPA to do it.
jmull 2 days ago [-]
How does it pay off in the long run?
If you're competing against nothing, then I see it: it opens up a wide variety of product possibilities. But linux exists. Why not spend 1/1000th the time to adapt linux?
That's not even counting the rather substantial risk that your new OS will never approach the capabilities of linux, and may very well never become generally usable at all.
Option A: spend years and millions on a project that may never be as good as existing solutions, diverting attention and resources from actual products, or...
Option B: work on products now, using an existing, high-quality, extensible, adaptable OS, with very friendly licensing terms, for which numerous experts exist, with a proven track record of maintenance, a working plan for sustainability, a large & healthy developer community exists, etc.
It's hard to imagine how it wouldn't be a complete waste of time.
philistine 2 days ago [-]
Apple bought one of those in the 90s, and they are still reaping the benefits of that strategic initiative. But the thing is, NeXt allowed Apple to think up new, differentiated products. If you come at the problem of the OS from a purely technical perspective, you'll waste time for no gain.
spankalee 2 days ago [-]
This is what Google has been trying to do with Fuchsia and the fact is that you can't escape the product point of view because the products exist, already have an OS stack, and get pretty defensive when another team tells them they're going to replace their OS, or their core if the product team is Android or Chrome OS.
twelvedogs 1 days ago [-]
How would that be better than just grabbing a bsd and starting with that, PlayStation and Apple did it and actually ended up with functional products
throwway120385 1 days ago [-]
Hell, if you're Meta you could just by QNX from RIM.
emmelaich 1 days ago [-]
I wonder how well that would play out. Surely you'd only do if you got a perpetual license or bought it outright. I can imagine RIM would fuck you over eventually with with any other arrangement.
(Actually I just realised you meant "buy")
pjmlp 1 days ago [-]
Apple surely did not, as NeXTSTEP wasn't invented at Apple.
TiredOfLife 2 days ago [-]
Microsoft had Singularity - canceled after 12 years in development
Google has Fuchsia - is about 10 years in development. Recently was a target for layoffs
Keyframe 1 days ago [-]
While I appreciate Carmack and all, I'd love to hear from someone like Dave Cutler who's been over that bridge at least a couple of times successfully about if and what he'd do if he had resources to create whatever the hell he wants.
vinyl7 1 days ago [-]
Western companies haven't thought about long term value in decades
CamperBob2 1 days ago [-]
But I have wondered why one of these companies with billions of dollars to burn hasn't tried to create something new as a strategic initiative.
They have; Taligent comes to mind. You may not have heard of that -- or more likely, you have but just forgot about it -- but it's a good object lesson (no pun intended) in why a successful new OS is hard to just conjure into existence. There has to be a crying, desperate need for it, not just a vague sense that This Time We'll Get It Right.
You could probably cite OS/2 Warp as a less-obscure example of the same phenomenon.
Animats 1 days ago [-]
But what should you be running on an XR headset? The OS has to be real time.
Linux can sort of do that. Probably a stripped down Linux. About 90% of Linux is irrelevant or undesirable in this application.
hnlmorg 1 days ago [-]
Unless you’re designing the silicon yourself, stripping user space from Linux is several orders of magnitude easier than writing new device drivers for your brand new OS.
busymom0 1 days ago [-]
> I wish I could drop (so many of) my old internal posts publicly, since I don’t really have the incentive to relitigate the arguments today – they were carefully considered and prescient. They also got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad, but I expect many of them would acknowledge in hindsight that the Meta products would not be in a better place today if the new OS effort had been rammed into them.
So someone at Meta was so sensitive that being told their behemoth of a project was ill advised ended up getting reported to HR?
aprilthird2021 1 days ago [-]
Yep, I can 100% believe it having worked in such environments
skhameneh 1 days ago [-]
When you're at a certain scale it makes sense.
That scale is when creating an OS gives you a clear advantage over licensing or working with an open source OS.
Every other scale below that it's for knowledge, growth, research, or fun.
emoII 1 days ago [-]
Where can I find Jonathan Blows “Why can’t we even conceive of writing a new OS today” post? No luck when searching for it
> To make something really different, and not get drawn into the gravity well of existing solutions, you practically need an isolated monastic order of computer engineers. Which was sort of Plan 9…
Roll call!
emmelaich 1 days ago [-]
I wonder whether an unarticulated desire of Meta's was to avoid any license issues that could incur by using Linux or any other existing OS.
zer0zzz 1 days ago [-]
I was there when they wanted to do the custom XROS. I remember asking them in a Q&A session exactly why they would build this and I recall the reasoning behind it totally fell flat. Fundamentally it became clear these guys just wanted to write a new OS because they thought it would be cool or fun.
Much of the scenarios they tried to address could have been done with Mach or some realtime kernel or with fuchsia. I recall later on they did consider using fuchsia as the user space for the os for some time.
On another note, there was similarly an equally “just for fun” language effort in the org as well (eg “FNL”). That was also conceived by a bunch of randos who weren’t a bunch of compiler guys that had no product vision and just did it for fun.
Well when the era of efficiency arrived all of this stuff ended.
1 days ago [-]
Ericson2314 1 days ago [-]
I'm surprised at the comments here. Linux's days as the sole hegemon are numbered.
knorker 1 days ago [-]
Sigh. It's really depressing how a technical discussion on merits of a solution keeps getting reported to HR. I've seen it many times.
Someone said your preferred design won't work, and you go to HR.
I gladly throw my idea under the bus when I hear why it's bad.
Now offering any critique of a thing in order to help the company comes with a career risk.
20 hours ago [-]
ozgrakkurt 24 hours ago [-]
Brace! Here comes “I said don’t build it, but they did anyway” comments. They should have did what you said, you were right, don’t worry
pipeline_peak 2 days ago [-]
Jonathan Blow is the world’s most successful hobbyist programmer. His whole thing is doing projects from scratch. Every game he made could be done in Unity with far less effort.
Most opinions of this man exists in a vacuum space isolated from the real world software industry. Building an OS from scratch is one of those examples.
It’s never seems like there’s a significant reason behind them other than………”I made dat :P”
savanaly 2 days ago [-]
As an outsider...his games just look and feel different. They feel like bones-deep art, in a way that even the best of the best games (say, Hades) don't. Since Blow's games are puzzle games they're not even my favorite games! But the effort spent on making them exactly the way he wants them pays off.
dboon 1 days ago [-]
It is genuinely ridiculous to say that the witness could “have been made in Unity with far less effort”. It’s easy to forget that people on this and ever forum love to just say stuff for the sake of having said something until you encounter a topic with which you are extremely familiar.
jambutters 1 days ago [-]
I don't think unity was as polished when braid came out in ~2008 that can also easily rewind time on low end Xbox hardware. The witness maybe in unreal? But there are some wild things there I've never seen an unreal game do that the witness does do
pjmlp 1 days ago [-]
He got the right to be acknowledged by his peers for the work he has made at GDC, and anyone can make games with Unity, just like everyone can make a novel with Word, now making one without pre made tooling, that is a skill on itself.
Why is such a meme among gamers about Unity and Unreal based games?
Exactly because so many make so little effort it is clear where the game is coming from.
newlisp 1 days ago [-]
If he is selling his games, is he a hobbyist?
SirMaster 2 days ago [-]
How about ReactOS?
greggman65 2 days ago [-]
And yet, Sony did it, Nintendo did it, both have been pretty succeesful.
We also need to be clear what an OS is. Is it "darwin" or "macOS" - they have different scopes.
Things I'd want from an OS for an XR device.
1. Fast boot. I don't want to have to wait 2-3-4-5 minutes to reboot for those times I need to reboot.
I feel like Nintendo figured this out? It updates the OS in the background somehow and reboot is nearly instant.
2. Zero jank. I'm on XR, if the OS janks in any way people will get sick AND perceive the product as sucking. At least I do. iOS is smooth, Androind is jank AF.
Do any of the existing OSes provide this? Sure, maybe take an existing OS an modify it, assuming you can.
erk__ 2 days ago [-]
You mean for the PlayStation? That is a FreeBSD fork, probably chosen over Linux because of the license.
amarant 2 days ago [-]
Nintendo is an interesting example though. According to Wikipedia they actually use a proprietary microkernel, which, if I'm reading this right, I think they developed themselves. Looks like the only open source components they have is some networking code which is published under the BSD license.
Yeah, the various docs and presentations given by reversers on the details of nintendos os really showcase a lot of good design choices. An impressive amount of work for just trying to enforce a harder IP moat around entertainment software.
numpad0 2 days ago [-]
PS4/5 was BSD. Only Nintendo and Microsoft runs own corporate proprietary OS.
amadeuspagel 21 hours ago [-]
ChromeOS, which is based on linux has both fast boot and zero jank.
mschuster91 2 days ago [-]
Sony and Nintendo both forked off of either NetBSD or FreeBSD. Sony's cameras at least up until the A7S2 run Linux (there's jailbreaks for these), although I never found any kernel / bootloader dump like it would be required.
Android suffers from being Java at the core, with all the baggage that brings with it.
mwkaufma 2 days ago [-]
Sony forked FreeBSD, but Nintendo didn't. They have BSD license headers because of some BSD socket code they include.
numpad0 2 days ago [-]
Sony cameras all run Linux. Models with "PlayMemories Camera Apps" feature like A7M2 support runs Android userland on top. It's probably easier to count the cameras that don't(like old Olympus).
2 days ago [-]
globalnode 1 days ago [-]
I love this part: "To make something really different, and not get drawn into the gravity well of existing solutions, you practically need an isolated monastic order of computer engineers"
aterris 18 hours ago [-]
T
anthem2025 2 days ago [-]
Did they have people who have built an OS before?
I’ve seen this firsthand. These giant tech companies try to just jump into a massive new project thinking that because they have built such an impressive website and have so much experience at scale they should just be able to handle building a new OS.
In my case it wasn’t even a new OS it was just building around an existing platform and even that was massively problematic.
The companies that build them from scratch have had it as one of their core competencies pretty much from the start.
I’m unsurprised meta had issues like this.
Skunkleton 2 days ago [-]
> Did they have people who have built an OS before?
Yes.
Jyaif 2 days ago [-]
They have contributors to the linux kernel.
Pretty sure all the big tech companies have the right people to create a new OS that is better than Linux, the hard part is getting that new OS to be adopted.
qoez 20 hours ago [-]
I'd love to hear John's more detailed take on TempleOS
Ericson2314 17 hours ago [-]
The fact that Facebook, a company far richer than Bell labs ever was, like all FAANG, has a culture of expensive employees baby sitting broken software products (rather than lab researcher vs field technician separation), and cannot be bothered to do the long term investment in a new OS, is why I think the industry actually doesn't deserve these R&D tax breaks HN was bemoaning had gone away until this year.
The point of R&D is the time horizon is long, and the uncertainty is high. Making JS slop that then has to be constantly babysat is opex, not capex.
adolph 10 hours ago [-]
Another example of a new OS developed by a vendor is DryOS by Canon [0] as a replacement for WindRiver VxWorks[1]. It has been extensively explore by the chdk community of custom software extensions for Canon cameras. It appears to have some compatibility with Linux in some form.
In my non-expert mind, an OS for "foveated rendering" would be similar to what many cameras prioritize and more likely be similar to an "realtime OS" of some sort. OTOH, Apple's goggles use the XNU kernel, so maybe a microkernel would be sufficiently realtime, similar to QNX often used for automotive applications [4].
Microkernels are normally pretty slow. It takes a lot of extra effort to make them fast.
Realistically there's no reason Linux wouldn't be fine on its own for AR and in fact I'm typing this on Linux on some AR glasses right now.
procaryote 1 days ago [-]
The problem when working for Meta is that if you do a good job, you've helped make the world worse... so the real heroes are the people wasting money and reducing efficiency
If you're at all competent, go work somewhere else
roncesvalles 1 days ago [-]
One of the better "service to humanity" opportunities for software engineers is to join a company like Meta or TikTok and perform awfully for as long as you can.
saagarjha 23 hours ago [-]
Yeah I'm making the world a better place by earning 500k a year doing a bad job to slow down this company. Look at how much good I am doing sorry I can't hear you over my paycheck clearing
komali2 21 hours ago [-]
Activism doesn't require participation in a poverty cult. Any socialist in a nation like the USA or the UK is by someone's lens a champagne socialist. Let's not participate in this tired trope.
bonoboTP 19 hours ago [-]
Who said anything about socialism? There are many ways to criticize Meta from non-socialist angles.
Hammershaft 20 hours ago [-]
I think a better service to humanity is to excel at your job even if you end up at a socially corrosive org like Meta or Tiktok but donate a decent chunk of your paycheck to effective altruist charities that save lives.
dataflow 19 hours ago [-]
So you mean like buying moral offsets, kind of like how people buy carbon offsets, to achieve morality-neutral jobs? Sounds like a brilliant idea - I'd definitely want to know I'm saving at least as many lives as my company's product is killing. Have you considered recording the morality offsets on a blockchain? Could be a great startup.
kriops 20 hours ago [-]
A better service to humanity yet is taking that money and spending it on whatever is valuable to yourself, thus providing more people with the opportunity to sustainably work for a living. Capitalism and all that.
ToValueFunfetti 19 hours ago [-]
There is no reason to expect "buy stuff you want" to be more charitable than charity. At a glance, the stuff itself obviously takes up a good chunk of the money and much is going to end up in the hands of people who already have plenty.
You emphasize "sustainably", but how is it more sustainable to give 500k/year to capitalism until you don't make that much / retire / die? In either option, that 500k/year is there until it isn't. With charity, you'd help more people but it would be no more or less sustainable.
CPLX 19 hours ago [-]
The idea that all decisions under capitalism are value-neutral is ludicrous.
By your definition, selling arms to dictators and using the money to buy a yacht and private security qualifies as "service to humanity."
CPLX 19 hours ago [-]
The best way to serve humanity in your professional life is serve humanity in your professional life.
In other words, be useful. You don't have to worry about "being good" or "doing good" though many do and it's quite admirable to do so. But that's not the bar you have to clear.
The bar you should try to clear is to be useful. If what you're doing all day is helping people have shelter, or raise families, or be more healthy, or have more knowledge, or even be entertained or amused, you're being useful to people.
If what you do all day ultimately serves to make people poorer, more divided, more addicted, and more unwell, then what you're doing is not useful, it's harmful.
If what you're doing all day primarily contributes, even indirectly, to making people's lives worse, then nothing you do after that will erase it. Arguments to the contrary are just rationalization.
StopDisinfo910 22 hours ago [-]
That’s an extremely reductive view.
Whatever you think of Meta core products, they pay a ton of people to work on various open source projects, do R&D on things which are only tangentially related to social media like VR or data center tech.
There is worse way to get a paycheck to do what you are interested in.
LunaSea 22 hours ago [-]
> tangentially related to social media like VR
This is in no way tangential.
VR is Meta's way of trying to move social media from web to VR in a Second Life way.
And you can believe me that there will be advertisement in the "game".
zaphirplane 21 hours ago [-]
Advertising has existed and powered tv and radio before the internet. That’s great / grandfather territory for some
esperent 21 hours ago [-]
The issue isn't advertising, it's targeted advertising which is a very different and far more problematic beast than the advertising of your grandparent's time.
In the interest of not getting bogged down in semantics, let's just always assume that when people say "advertising" in this era, they mean "targeted advertising". Then we can avoid yet another tired attempt at excusing Meta's behavior.
zaphirplane 18 hours ago [-]
people should use the correct words
esperent 17 hours ago [-]
They are. The meaning of words changes over time, and with context. When talking about advertising on the internet, it's all targeted advertising (except some tiny unimportant fraction). There's no need to type "targeted" every time, it's redundant.
StopDisinfo910 22 hours ago [-]
What’s the issue with advertisement exactly?
It’s completely tangential at this point. Meta dreams of a metaverse but most of their investments have gone to solving foundational issues with VR.
If Meta wants to pay for that, well, I’m not going to bite the hands that feeds VR research. My starry-eyed teenage years are thankfully far behind me.
gellybeans 21 hours ago [-]
I used to watch commercials during my starry-eyed teenage years as well. I used to think ninja turtles was anything but a 20 minute ad for toys when I was in preschool.
Ads are actually horrible. Holy moly I'm so glad I can just ublock my way through the sea of garbage that is the internet nowadays. The fact there are people still indoctrinated by commercials makes sense, I'm just sorry you see that as a marker of maturity.
komali2 21 hours ago [-]
> What’s the issue with advertisement exactly?
Advertisement isn't showing you something you might be interested in. Advertisement is an industry of psychoanalysts spending untold man hours of effort crafting ways to psychologically manipulate the population into serving the needs of a given corporation.
Instagram doesn't just show you cool clothes you might want to buy. It leverages dark pattern ux to keep you engaged with the app well past any healthy duration, and shows you content designed to enrage or arouse you to keep you in a mental state that will increase engagement and possibly lead to you engaging in shopping therapy.
Advertising is releasing psychofauna into the world of YouTube kids to get your children obsessed with brand characters that they absolutely must have physical representations of. Or it gets even darker than that, look up Elsagate.
Maybe advertising wasn't evil when it was a sweet potato hawker shouting their wares into the market. Now it's an entirely different beast and it is anti human and evil.
waltbosz 19 hours ago [-]
In my experience, the metaverse offerings are a boring ghost town.
procaryote 18 hours ago [-]
The core product is somewhat relevant though
That you can get paid and have fun doing it, doesn't make the product better.
Garlef 22 hours ago [-]
"It wasn't all bad. They built the Autobahn"
wafflemaker 21 hours ago [-]
Few more years and they would've finished Polarbanen. The northern Norway railroad connecting Trondheim to Tromsø, far inside the Arctic Circle.
Giving us $50 trains to Tromsø instead of $500 planes.
But my enthusiasm diminished after learning that they worked thousands people to death.
sapiogram 20 hours ago [-]
> Giving us $50 trains to Tromsø instead of $500 planes.
It's only $50 if the government pays for the rest of the ticket. $50 per passenger won't even cover track maintenance. Source: My ass, but I still think I'm right.
procaryote 18 hours ago [-]
> thousands people to death
I have some bad news to tell you about the overall number of dead related to that government
wafflemaker 15 hours ago [-]
You tell me, I'm from Poland. Talked to many older people, who remember the war. One thing that caught my attention, because it surfaced with every single old person I asked about the war:
Germans/Nazis were horrible, but Russians/Soviets were an order of magnitude worse.
Funny thing that now many people don't even know that it was Russia and Germany BOTH that started the war. And they were supposed to attack Poland simultaneously, but Stalin, PR animal that he was, delayed Red Army's attack by one week, thereby creating the legend that it wasn't Russia that started the war.
xxs 1 days ago [-]
I'd take zstd any time while I have facebook and friends blocked. The world is not black and white.
atiedebee 23 hours ago [-]
zstd can't really be attributed to Facebook. Yann Collet started work on it before joining Facebook, so it was kind of imported.
I am sure it made developing and standardizing the algorithm easier, but what makes it such a good (performant) algorithm is the design of the original creator.
formerly_proven 22 hours ago [-]
On the other hand, the patent licensing kerfuffle (which I don't think was about any existing patents, just "standard policy") through the relicensing by Facebook was a drag on zstd's momentum.
considerdevs 1 days ago [-]
Quite pessimistic view, but hard to argue against based on available data samples.
wolvesechoes 1 days ago [-]
But isn't that true for every big corp, or even every public company? Even if founders may had some other goals in addition to making money, as the time passes profit becomes the only goal, and usually more profit is being generated while doing bad and malicious things.
Problem is systemic.
procaryote 24 hours ago [-]
There are lots of profit motivated big companies that cause much less collateral damage. Facebook ranges from individualised harm like showing kids makeup ads when they delete a selfie, to macro scale harm like election interference
You could take a job designing landmines and you'd have a real hard time causing as much actual harm, as there just aren't enough wars going on to reach the same scale
anttiharju 1 days ago [-]
Nokia (mostly networking-related things nowadays) touts - or at least used to, haven't kept up to date - itself as one of the most ethical companies around.
> But isn't that true for every big corp, or even every public company?
So I suppose not really, no.
Additionally companies working on carbon-free energy might also serve as evidence. There are some big ones around.
StopDisinfo910 22 hours ago [-]
> Additionally companies working on carbon-free energy might also serve as evidence. There are some big ones around.
Interesting exemple because the biggest investors in renewable by far are big oil companies.
So what should people do? Go or not go? Sadly, the world is never black and white.
anttiharju 13 hours ago [-]
I think people should do/go where they have a peace of mind, whatever that place may be.
gorgoiler 22 hours ago [-]
Nokia Siemens Networks provided the Iranian Revolution with their lawful intercept equipment under a special contract. They may have a good overall ethical track record but they don’t have a clean sheet.
sylware 24 hours ago [-]
I remember, nokia about to release the first smartphone, full linux with a clean plain and simple C written OS/platform... and... then nothing happened. I recall the user groups being puzzled on what was waiting nokia, they were ready, had it all super open source and LEAN open source, and the iphone happened and they were bought by msft... ??????????
sim7c00 23 hours ago [-]
the most ethical company still goes for profit and earn shittons.... the most fragrant turd still smells of shit
ivolimmen 23 hours ago [-]
I think I can say that this wasn't the case with Sun Microsystems. I never worked there but everything I read on tht company was positive. I gate the fact that Oracle (one of the worst) bought them.
xeonmc 22 hours ago [-]
You either die a hero, or live long enough to see yourself become the villain.
keysdev 1 days ago [-]
Depending on the founder. With Apple it can be reasoned that it only went down after you know who passed away.
Yeah its not reliable to count on one charismatic leader to run the whole thing, but that is what the corporate model has being doing and how we ended up here.
lyu07282 19 hours ago [-]
> its not reliable to count on one charismatic leader to run the whole thing
> it only went down after you know who passed away.
I mean that's kind of ironic. You believe that Jobs was a great and decent person who led Apple to be roses and rainbows. Outside this cult of personality it was a company that engaged in unethical and monopolistic business practices just as anyone else did, walled-garden lock-in of their platform, intentionally making their devices impossible to repair, planned obsolescence, slave labor conditions in manufacturing, etc. etc.
So the point is untrue, its the benevolent dictator delusion, just like there are no benevolent political authoritarian leaders so are there no benevolent CEOs either. Because the system itself is the issue, authoritarianism/capitalism. If you are a conservative/authoritarian you believe in the former if you are a liberal/libertarian/capitalist you believe in the latter.
1 days ago [-]
cedws 20 hours ago [-]
But Meta’s connecting the world… by keeping them inside doomscrolling.
redleader55 19 hours ago [-]
I find this kind of comment revolting - if I owe something, I owe it to my family and my parents, so if Meta comes to make me an offer and I accept it, it's my business and no one else's. Strangers on the internet, instead of judging people based on the company they work for, and divide them into "good" and "bad", should get off their high horses and join these companies, if they are capable, and change them from the inside if they think they are doing bad things.
procaryote 18 hours ago [-]
Or take almost any other job.
If you can get a well paying job at meta, you have other options.
tonyhart7 19 hours ago [-]
john carmack maybe old but his competency/talent is 100x times bigger than you OP
dont shit talk my goat like that
dist-epoch 23 hours ago [-]
Providing a service that billions of people value is making the world worse? Wow
What next, go work for TV stations and sabotage them?
Go work for McDonalds and make it inneficient?
Sabotage manufacturers of combustion-cars?
lm28469 23 hours ago [-]
Providing fentanyl to addicts is doing God's work then I imagine?
AuryGlenz 19 hours ago [-]
As we all know. People regularly overdose on Facebook and die.
Bigpet 17 hours ago [-]
Could you try to address the obvious point being made instead of trying to obfuscate?
There's plenty of bad outcomes besides death. Not all fentanyl users die. If some fent wholesaler were to provide unrefutable evidence that Noone died from his fent you wouldn't go "Oh alright then, nothing wrong with what you're doing".
ksec 21 hours ago [-]
Facebook seems to have strange relationship with most Americans while the rest of the world is quite happy with it. Including both WhatsApp and Instagram.
A4ET8a8uTh0_v2 21 hours ago [-]
Hmm? What value? And for whom?
18 hours ago [-]
dkiebd 23 hours ago [-]
Ah, the Europeans woke up.
poopiokaka 1 days ago [-]
Lost me and TempleOS
doctorpangloss 2 days ago [-]
The problem with this guy is that it’s hard to criticize him, whether at work or in this forum. For example, I am going to be downvoted for mocking the fact that this guy thinks it’s some genius move to say “No” to making an operating system, whatever making an operating system means.
geodel 2 days ago [-]
You can prove him wrong by doing thing what he claims should not be done.
doctorpangloss 1 days ago [-]
See? This is why the Doom man got paid the big bucks. The Doom man has a literacy distortion field.
Didn't even realize this was a thread and not a single tweet until you posted this link. Guess that's the downsides of not having a Twitter acct anymore.
dang 1 days ago [-]
We'll put that link in the top text too. Thanks!
ypeterholmes 2 days ago [-]
[flagged]
2 days ago [-]
radialstub 2 days ago [-]
The platform is still usable, just block anyone who posts politics in your timeline, eventually it all becomes technical stuff.
saubeidl 2 days ago [-]
It still normalizes use of what has effectively become a far-right propaganda machine and thus the purposeful destruction of democratic institutions.
worthless-trash 2 days ago [-]
Thats how conservatives feel on many other online platforms with far left views.
saubeidl 2 days ago [-]
Which big platform has far left views?
I'm not familiar of any platform that calls for collective ownership of the means of production, land redistribution and other far left positions.
thrance 2 days ago [-]
[flagged]
numpad0 2 days ago [-]
[flagged]
cubefox 2 days ago [-]
The Twitter algorithm is open source, unlike the algorithm for Facebook, Instagram, TikTok etc. I'm not aware of any evidence for bias in the algorithm.
thrance 2 days ago [-]
It's not though. The GitHub repo was never updated once. Here's an experiment for you: open X in a new private tab and count political posts, see how many of them are far right. Bias is evident.
numpad0 2 days ago [-]
There's been a lot of anecdotal reports circulating that retweets don't work anymore, likes slightly better, quote tweets do best, links should be in replies, etc. They're hiding a lot of quote tweets as "unavailable" and shuffling thread orders as well. Twitter right now is not just biased, but they have been struggling for a long while to disrupt its resilient emergent meritocracy that don't favor Musk.
cubefox 2 days ago [-]
> The GitHub repo was never updated once.
Pretty sure that's false: I remember seeing the recent commit that made Grok misbehave.
> Here's an experiment for you: open X in a new private tab and count political posts, see how many of them are far right. Bias is evident.
Go to Bluesky and count far left posts. The result will be similar, because political bubbles form by themselves.
At least people are not fantasizing about "race wars" or discussing the "jewsish question" there. Two subjects I saw multiple times on X's front page.
wredcoll 2 days ago [-]
This attempted equivalence is wild. I'm not sure if you're uninformed or malicious, but "far right posts" means posts talking about "the jews taking over" or some other racist drivel and discussing which minority to attack next.
"Far left posts" are like, what, people should have access to healthcare? People should pay more taxes?
actionfromafar 2 days ago [-]
Nazi bubbles form naturally around nazi owners.
c54 2 days ago [-]
Neat website, thanks for posting. Basically necessary to avoid the twitter “paywall”
FirmwareBurner 2 days ago [-]
I like that the top reply to Carmack's wall of text is a screenshot of TempleOS with a doodle of an elephant lmao. And ironically, that meme reply is on topic and it says a thousand words with just one photo.
Another point I would add in support of that meme comment, is Google's recent rug-pull of Android not allowing sideloading apps from unsigned developers anymore starting this autumn, after over a decade of conquering the market with their "go with us, we're the open alternative to iOS" marketing.
The conclusion is to just never EVER trust big-tech/VC/PE companies, even when they do nice things, since they're 100% just playing the long game, getting buddy-buddy with you waiting till they smothered the competition with their warchest, and then the inevitable rug-pull comes once you're tied to their ecosystem and you have nowhere else to go.
Avoid these scumbags, go FOSS form the start, go TempleOS. /s but not really
thevillagechief 2 days ago [-]
I'm not sure Carmack's point disagrees with you. Meta is still big tech, and if your goal is to monetize at scale, rolling out your own isn't the most efficient way to do it. I don't think he'd discourage you rolling out your own OS if it's your hobby FOSS project.
nine_k 2 days ago [-]
In other words, unless God has specifically called upon you to build an OS, and maybe provided divine inspiration and assistance, you should avoid doing that. Seems to support Carmack's point!
ch4s3 1 days ago [-]
Unless its for love or devotion, there's no compelling reason to create a new OS in 2025. Certainly that could change in the future but I think his observation (if I understand him correctly) is correct.
uxcolumbo 1 days ago [-]
Can you explain the TempleOS meme reply?
I don’t know enough about its history to get the joke.
FirmwareBurner 16 hours ago [-]
Just google/youtube the history of temple OS and its creator. It's fun, sad and tragic at the same time.
Spoiler alert: a single person coded it in his own programming language, but the person suffered from severe mental illnesses and ended up taking their own life.
rationalfaith 20 hours ago [-]
[dead]
throwaway984393 1 days ago [-]
[dead]
varelse 2 days ago [-]
[dead]
thrown-0825 1 days ago [-]
I lost a lot of respect for carmack when he joined meta.
The company is a black hole of wasted talent.
thrance 2 days ago [-]
He's acting like their VR UX is top notch when it's as bad as it gets. Just yesterday I dusted off my Meta Quest 2 to play a bit, and spent around an hour trying to pair up my left controller to the helmet after replacing the battery.
You can't do it without going through their fucking app, that asks for every permissions under the sun, including GPS positioning for some reason. After finally getting this app working and pairing it with my headset, I could finally realize the controller was just dead and their was nothing to do.
toast0 1 days ago [-]
> You can't do it without going through their fucking app, that asks for every permissions under the sun, including GPS positioning for some reason.
If it uses bluetooth, which it might for the controller?, the permission for bluetooth on Android is fine location --- the same permission as for using GPS. That might be the same permission you need for wifi stuff, too? Because products and services exist to turn bluetooth and wifi mac addresses seen into a fine location.
But who knows what they do with the GPS signal after they ask for it?
thrance 23 hours ago [-]
No, it doesn't use Bluetooth. Or maybe it does under the hood but the permissions they ask for are GPS and "see nearby devices". You are able to pair your device with Bluetooth disabled in the phone's quick menu.
lyu07282 1 days ago [-]
You can pair the controllers in the settings you don't need an app. Their VR UX does suck that is true, and horizon worlds is such a collosal failure that I'm surprised they haven't cancelled that entirely yet. But carmack also stated the technical issues numerous times.
And my quick search on the internet yielded no other mean to pair controllers.
lyu07282 22 hours ago [-]
thats so weird, i have both the quest 2 and 3 and don't remember doing that at all but yeah looks like I'm wrong
BiteCode_dev 2 days ago [-]
> they also got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad
This is madness. The safe space culture has really gone too far.
Inityx 2 days ago [-]
I'll offer a different interpretation:
If a professional can't give critical feedback in a professional setting without being rude or belittling others, then they need to improve their communication skills.
amarant 2 days ago [-]
This is not that though. This is just developers being unable to handle constructive criticism, and when they can't win the argument on merits, went for the HR option. It happens.
I've had it happen to me too, but my response was to resign on the spot (I was already not satisfied with the company).
The "toxic behaviour" I had done? I reverted a commit on the master branch that didn't compile, and sent a slack to the Dev who had committed it saying "hi! There appears to have been a mistake in your latest commit, could you please check it out and fix it? I've reverted it in the meantime since I need to deploy this other feature"
The dev responded by force pushing the code that did not compile to master and contacted HR.
I decided there was greener grass on other pastures. I was right.
cjbgkagh 1 days ago [-]
When I started breaking the build would end up with the person who did it having to wear the dunce hat for the day. This was before git so there are now fewer excuses for breaking the build today.
tom_ 1 days ago [-]
Carmack says he can't post the actual discussion, but clearly you have access to it - can you post it?
simoncion 1 days ago [-]
Even if that didn't violate NDAs & etc, that would be super rude. You realize that, right?
tom_ 20 hours ago [-]
Yes, of course. The point of my heavy-handed post was to try to find out what is actually going on here. Does this person have any insider info? Or are they (as many are in the discussion, and as I suspect is the case here too - but I am going only on the balance of probabilities!) just using this as an opportunity to relate this to their own grievances, so they can discuss those?
We've only got one side of this particular story, we don't know what happened from the other person's point of view, we don't know what form this HR complaint took - or any of the other details. We can bet, just as I did in my last paragraph, but in my view the odds are more questionable and the topic more likely end up as unproductive venting. Any good comments will get lost.
Still, it's also true that the link is just there as a starting point for discussion, and the discussion can take any forms that the readership would find interesting.
theshackleford 1 days ago [-]
It’s also super rude to make claims as to what occurred and why in any situation you yourself were not privy to or involved in but I don’t see you rushing in with the same vigour to point that out.
simoncion 1 days ago [-]
> It’s also super rude to make claims as to what occurred and why in any situation you yourself were not privy to or involved in...
Do you know that that's what's going on here?
theshackleford 1 days ago [-]
Yes. Seems pretty clear from the post to me that they are making assumptions based on a similar event in their past, not that they were involved first hand in this event.
simoncion 22 hours ago [-]
>> Do you know that that's what's going on here?
> Yes. Seems pretty clear from the post to me that they are making assumptions...
So you don't know what's going on; you're assuming. Cool.
theshackleford 8 hours ago [-]
> So you don't know what's going on; you're assuming. Cool.
Incorrect. Their post makes it clear they were not involved in their own words. It's called reading comprehension.
simoncion 4 hours ago [-]
> It's called reading comprehension.
Right back at you.
1 days ago [-]
mariusor 2 days ago [-]
From what you know of Carmack, does "can't give critical feedback in a professional setting without being rude or belittling others" sound like him to you? It does not to me, though granted maybe he's different in his non public persona than what you can see in presentations and talks.
2 days ago [-]
fatbird 2 days ago [-]
This.
Being "reported to HR" doesn't mean "almost got fired". It likely meant a meeting where someone explained "hey, the way you communicated that caused some upset, let's discuss better ways to handle that situation next time." Very often in larger companies, complaints about things like "this bigwig from this other group jumped all over us" are automatically sent through HR because HR has staff whose job just is resolving conflicts between people and keeping things peaceful.
simoncion 1 days ago [-]
FWIW, it can also mean a meeting where HR says to the complainer: "Are you good, dude? Why are you complaining about this? This is perfectly normal workplace behavior. Stop wasting our time."
BiteCode_dev 2 days ago [-]
Having worked in the valley, I've seen what critical feedback meant in many companies there, and it removes all usefulness of the info because there is a ceiling of what is socially acceptable to say; therefore, you can't know how bad or urgent things are.
Everything is ASAP. They are super excited about everything. And nothing you do is wrong, it just could be improved or they like it but don't love it.
You don't know if something is important, basically.
Just like Louis CK said, "if you used 'amazing' on chicken nuggets, what are you going to say when your first child is born?". But in reverse.
Personally, I'd rather work with someone who would tell me my work is terrible if it is.
In Germany, you can't even legally say somebody did a bad job at your company in a recommendation letter. Companies created a whole subtext to workaround that, it's crazy.
Some things are just bad. You should be able to say it is. Not by saying it could be better. Not by using euphemism. It's just something that needs to go to the trash.
In fact, I don't trust people who can't receive this information, even if not packaged with tact (which you should attempt to, but life happens). If you can't handle people not being perfectly polite every time, I can't help but feel I won't be able to count on you when things get hard.
That must be the French in me talking.
qaq 1 days ago [-]
I am with you on this. Worked in our Dublin office was so refreshing to have straight up communication vs whatever the song and dance we do here in US.
1718627440 1 days ago [-]
> In Germany, you can't even legally say somebody did a bad job at your company in a recommendation letter. Companies created a whole subtext to workaround that, it's crazy.
I don't think it's just about legality. Whether the recommendation letter is included in the application is at the distinction of the applicant. When you want it to reach the next company, you must write is so, that the former employee considers it to be a good recommendation.
pjmlp 1 days ago [-]
It is, as Portuguese it surprised me a lot.
First of all, in southern countries we hardly do recommendation letters, if we do they usually ended up being written by ourselves and if the company agrees with the content, it gets signed.
Exactly because of this, you are supposed to give referrals that then talk whatever they feel like about the experience working with you was all about.
Having a whole legal process for recommendation letters, that have created a whole industry of hidden language that looks good on the surface but tells exactly otherwise, was a surprise to me.
Just some examples, there are lawyers that analyse recommendation letters as one of their services.
emmelaich 1 days ago [-]
I'd just quote Mourinho / Carlsen. "If I say anything I'm in big trouble".
dfxm12 2 days ago [-]
You've concluded this from a single, brief, throwaway line? Any madness you perceive about this situation has been fabricated by you, based on the details we have.
drewbeck 2 days ago [-]
People have been getting mad at being made to feel bad at work for much longer than “safe space culture” has existed. If someone or some team had more power than you at an organization you for sure will get reprimanded for making them feel bad.
__turbobrew__ 16 hours ago [-]
Sometimes you have to let people fail, even though you can see it coming. It sounds like Carmack was sticking his nose in a project that wasn’t under his purview and he dug his heels in a bit too much when he should have just let it fail.
All the FAANG do dumb shit all the time and waste huge sums of money, if you work at a FAANG the best thing you can do is stay in your lane and don’t do dumb shit — eventually it will shake out.
I have been bullied around by L7s (as a L5) sticking their nose in things, and the best thing you can do is clearly articulate what you are doing and why, and that you understand their feedback. Turns out the L7 got canned — partially due to their bullying — and I got promoted for executing and being a supportive teammate, so things worked out in the end.
dmbche 2 days ago [-]
A meeting with HR is not madness. No one got maimed or died, or even lost work, seemingly. Some people exchanged words.
Cool off.
password54321 20 hours ago [-]
It got mentioned for a reason. And obviously escalating with HR is a big deal as it comes with career risks for the person you are reporting. Risking someone else's career should be a last resort but seems to be more commonly a knee-jerk reaction with HR becoming weaponised.
The drawback of this is you lose good talent and keep rent-seekers instead.
dmbche 18 hours ago [-]
Has HR been weaponized if the result was just a chat
password54321 18 hours ago [-]
The result does not change the intent.
dmbche 18 hours ago [-]
You don't know the intent and are going by partial information.
All you have is the result but you infer a whole lot so it fits your framing.
Someone called HR, HR met with the people and they chatted. That is all you have.
BiteCode_dev 22 hours ago [-]
The only reason you want me to "cool off", is because you feel bad just interacting with somebody expressing a polite, strong opinion. Online. On the other side of the world. With text.
This is exactly the madness I'm talking about.
Case in point.
dmbche 18 hours ago [-]
No, your comment was potent nonsense. It raises no feelings in me other than contempt towards you personally.
And me saying cool off is madness? You must live in a mad, mad world. Good luck going forward.
rectang 2 days ago [-]
Something tells me that if we heard the other side of the story it might hit different. There's a lot of wiggle room in what "making his team members feel bad" could mean, and I would be surprised if constructively voiced criticism would have gotten someone written up.
cjbgkagh 2 days ago [-]
With my experience of being written up for constructive criticism the reasoning was that I didn’t give constructive criticism to others and they felt singled out. I only give such criticism in private so of course they were not there to see the others. Apparently that wasn’t a sufficient explanation.
aPoCoMiLogin 2 days ago [-]
it is madness, you would be surprised how many ppl take things too serious. been there, had talk with HR cause i've said that the solution is mediocre and we have to do something better than that.
foldr 2 days ago [-]
Reading between the lines, it sounds like he got reported for giving a lot of what might kindly be described as unsolicited advice. The guy left Meta ages ago, but he apparently still can't let this one go.
If you're in the middle of trying to write a new operating system, then it's probably not helpful to have John Carmack standing over you repeatedly telling you that you shouldn't be doing it. In this case Carmack gets the last laugh. Then again, it is easy to get the last laugh by predicting that a project will fail, given that most projects do.
Strom 2 days ago [-]
> unsolicited advice
He was the CTO of Oculus. Surely it is appropriate for the CTO to give advice on any big technical decisions, if not outright have veto power.
foldr 2 days ago [-]
Clearly he didn't have veto power on the project he's talking about.
password54321 20 hours ago [-]
When a veteran tells you something and is passionate about it, maybe it is worth listening or at least dealing with internally. At the end, he left anyway even if the project didn't fail and Meta remains wealthy but largely mediocre in terms of the products it delivers while relying heavily on startup acquisition and large spending. Pretty sure most people who work there only do so for premium rent-seeking.
None of it surprising if this is a signal of how they operate.
toast0 1 days ago [-]
> If you're in the middle of trying to write a new operating system, then it's probably not helpful to have John Carmack standing over you repeatedly telling you that you shouldn't be doing it. In this case Carmack gets the last laugh. Then again, it is easy to get the last laugh by predicting that a project will fail, given that most projects do.
I mean, if you're working on a project that is likely to fail, wouldn't it be nice if someone gave you cover to stop working on it, and then you could figure out something else to do that might not fail? Can't get any impact if your OS will never ship.
foldr 22 hours ago [-]
The people working on it may not have agreed that it was likely to fail.
But in any case, almost all interesting projects are likely to fail. Of course it is objectively unlikely that a project to write a new OS will succeed. I expect the people working on it were aware of that.
toast0 16 hours ago [-]
> The people working on it may not have agreed that it was likely to fail.
They probably didn't agree, but the claim was that it wasn't helpful. being helpful and telling people what they want to hear aren't the same thing. If you're working on a destined to fail project, the most helpful thing to hear would be some way to change its destiny, the next most helpful thing to hear would be a call to stop doing it.
Besides all that, Facebook is probably one of the worst places to develop a new general purpose OS. The review system is built around rewarding impact, which means a long term project with no early deliverables sets up the staff to get poor reviews, which limits staffing. The company also has not built the kind of trust in products, sdks, etc that would make using a new OS seem like a good idea to potential users, or to encourage developers to make applications available for it, or to encourage companies to use it in their products. It would have to be so amazingly better than the marketplace of OSes that it made up for the lack of software for it and become a target of new software.
A special purpose OS is different. The development process is usually not as long, the requirements tend to be pretty narrow, and the target would likely be something in house. It might still not be a good idea, there's lots of off the shelf options to look at and they are likely good enough in many to most cases.
webdevver 2 days ago [-]
tbh linux has quite a bit of cruft in it these days at the syscall and interface layer.
if youre apple, it does make sense to do stuff from scratch. i think in a way, software guys wind up building their own prisons. an api is created to solve problem X given world Y, but world Y+1 has a different set of problems - problems that may no longer be adequately addressed given the api invented for X.
people talk about "rewrite everything in rust" - I say, why stop there? lets go down to the metal. make every byte, every instruction, every syscall a commodity. imagine if we could go all the way back to bare metal programming, simply by virtue of the LLM auto-coding the bootloader, scheduler, process manager, all in-situ.
the software world is full of circularities like that. we went from Mainframe -> local -> mainframe, why not baremetal -> hosted -> baremetal?
xantronix 2 days ago [-]
Apple doesn't do a lot of baremetal development from scratch that I'm aware of. The Lightning to HDMI dongle bootstraps an XNU kernel with an AirPlay decoder into 256MB RAM, for instance.
pjmlp 1 days ago [-]
Boot loader firmware, initially done in a Safe C dialect, nowadays one of the reasons Embedded Swift came to be.
toast0 1 days ago [-]
Doesn't Apple pretty much own their whole stack? You mentioned XNU, which they made...
Their CPU, their boards, their firmware (presumably), their OS[1], much of the perhipherals are theirs, too.
Lots of companies try to emulate Apple, but it's very hard to pull off.
[1] Yes, they use some parts from Mach and FreeBSD in their OS, but the amalgamation is theirs, and they support and change the whole thing as needed.
trollied 2 days ago [-]
You can still do “unsafe” stuff in rust, and people do. It’s perfectly possible to write safe C and C++ these days. And you don’t have to deal with a borrow checker, and a very small pool of developers available to hire.
AceJohnny2 2 days ago [-]
> It’s perfectly possible to write safe C and C++ these days.
It's also very hard to do so.
lyu07282 1 days ago [-]
The chrome team doesn't manage that, but perhaps they are just bad at C++ /s
webdevver 2 days ago [-]
oh, i didnt mean to invoke rust in any technical sense - i brought up rust to introduce an example of the attitude that rust people are known for, namely "why not rewrite everything?", which a lot of people have a kneejerk rejection of.
tomovo 18 hours ago [-]
Does SteamOS count as something Carmack would discourage as well? Yes it's a Linux-based system and yes even based on an existing distro, but it is a purpose-specific OS and it seems like it's working well for Valve and people using it to play Windows games without Windows...
jjmarr 18 hours ago [-]
End of the tweet:
> I can only really see a new general purpose OS arriving due to essentially sacrificing a highly successful product’s optimality to the goal of birthing the new OS
Rendered at 08:24:29 GMT+0000 (Coordinated Universal Time) with Vercel.
"To make something really different, and not get drawn into the gravity well of existing solutions, you practically need an isolated monastic order of computer engineers."
As a thought experiment:
* Pick a place where cost-of-living is $200/month
* Set up a village which is very livable. Fresh air. Healthy food. Good schools. More-or-less for the cost that someone rich can sponsor without too much sweat.
* Drop a load of computers with little to no software, and little to no internet
* Try reinventing the computing universe from scratch.
Patience is the key. It'd take decades.
What problem are we trying to solve that is not possible right now? Do we start from hardware at the CPU ?
I remember one of an ex Intel engineer once said, you could learn about all the decisions which makes modern ISA and CPU uArch design, along with GPU and how it all works together, by the time you have done all that and could implement a truly better version from a clean sheet, you are already close to retiring .
And that is assuming you have the professional opportunity to learn about all these, implementation , fail and make mistakes and relearn etc.
Whatever expertise you need to prune a working system is less than the expertise you'll need to create a whole new one and then also prune it as it grows old
Its a contradiction very much at the core of the idea: Should I expect that the Operating System my monastic order produces be able to play Overwatch or be able to open .docx files? I suspect not; but why? Because they didn't collaborate with stakeholders. So, they might need to collaborate with stakeholders; yet that was the very thing we were trying to avoid by making this an isolated monastic order.
Sometimes you gotta take the good with the bad. Or, uh, maybe Microsoft should just stop using React for the Start menu, that might be a good start.
Agree but again worth pointing out the obvious. I don't think anyone is actually against React per se, as long as M$ could ensure React render all their screens at 120fps with No Jank, 1-2% CPU resources usage, minimal GPU resources, and little memory usage. All that at least 99.99% of the time. Right now it isn't obvious to me this is possible without significant investment.
What could it could mean for a "tech" town to be born, especially with what we have today regarding techniques and tools. While the dream has not really bore out yet (especially at a village level), I would argue we could do even better in middle America with this thinking; small college towns. While its a bit of existing gravity well, you could do a focused effort to get a flywheel going (redo mini Bell labs around the USA solving regional problems could be a start).
Yes it takes decades. My only thought on that is, many (dare say most) people don't even have short term plans much less long term plans. It takes visionaries with nerves and will of steel to stay on paths to make things happen.
Love the experiment idea.
its seriously not something you want to do if you want to get anywhere.
then again,its a lot of fun, maybe imagining where it could be some day if you had an army of slave programmers (because still it wont make money lol)
Mind you, this XROS idea came after Oculus reorged into FB proper. It felt to me like there were FB teams (or individuals) that wanted get on the ARVR train. Carmack was absolutely right, and after the reorg his influence slowly waned for the worse.
Please don't create accounts to break HN's rules with.
https://news.ycombinator.com/newsguidelines.html
These days, you get a medium-level description and a Linux driver of questionable quality. Part of this is just laziness, but mostly this is a function of complexity. Modern hardware is just so complicated it would take a long time to completely document, and even longer to write a driver for.
Not sure what the situation is for other hardware like NVMe SSDs.
[0] 2750 page datasheet for the e810 Ethernet controller https://www.intel.com/content/www/us/en/content-details/6138...
Real question: Why do you think Intel does this? Does it guarantee a very strong foothold into data center NICs? I am sure competitors would argue two different angles: (1) this PDF shares too much info; some should be hidden behind an NDA, (2) it's too hard to write (and maintain) this PDF.
(I'm not including the C++ Standard Library, as I didn't implement it.)
> I'm the only person who ever implemented all of it.
Sean Baxter is an easy counter example.
(For some context, back in the 80's, code generators needed enhancements to implement C++. You couldn't just use an existing one. Bjarne had to do some ugly workarounds because of this.)
Arguably these days having a clear frontend/backend separation is good compiler architecture. It might slow down compile times a bit, but it's worth the cost.
It does take a huge amount of work to write and maintain. Typically the authors are not technical, so it also relies on the designers being available to answer questions as well. Then there’s a choice of how it’s written: narrative and potentially imprecise but readable, or terse and precise but hard to read. There’s both styles in the same document, terse for register descriptions.
I'm not sure large traditional silicon vendors like Intel, TI, et al re-evaluate the documentation requirements (and costs) on a chip by chip basis. It's probably done by chip class and for companies who've been selling chips by the millions over many decades to industries as diverse as defense, aerospace, automotive, etc there are classes of chips where robust, complete documentation is not only expected but often a required part of the RFP, compliance or conformance processes.
While this level of effort probably isn't needed for every chip in that class, it could be hard to reliably predict when a general purpose chip is still in the design phase which customers may be interested in it during its life (which for some of these chips might be decades). Many chips which conform to MIL-SPEC or other similar standards which can require extensive documentation are simply enhanced versions of standard chips, so the docs exist anyway. Finally, there's the organizational capabilities and culture aspect. Once the org needs to maintain the systemic ability to generate serious documentation at scale, you end up with a lot of managers and staff who think this way.
For comparison, a data sheet for a single transistor can be around 12 to 30 pages. A data sheet for a tiny microcontroller is probably a few hundred pages.
I once wrote a driver for a flash chip and that had a data sheet of around 80 pages.
Regards to (1), if you don't publish this information you're not selling a CPU, you're selling a very expensive chunk of sand. There is simply no way that a customer can guess at what your implementation looks like. Additionally, Intel barely has IP in the traditional sense. They hold patents, but their only real competitor in making x86 processors, AMD, has a long-standing mutual non-enforcement agreement wrt patents.
Regards to (2), I'm guessing a majority of this PDF can be generated sort of like you generate API documentation from doxygen comments.
[1]: https://www.ti.com/lit/ug/spruh73q/spruh73q.pdf?ts=175651560...
Assumptions, fair or not, about (1) seems more likely somehow.
Running macOS in a hypervisor controlled from a second machine (proxy mode + verbose==on) to watch drivers talk to the hardware:
https://asahilinux.org/docs/sw/m1n1-user-guide/#running-a-ma...
The people who develop OSes are cut from a different cloth and are not under the usual economic pressures.
Getting it to work on GCP meant properly driving something called the Intel PIIX4 controller which was emulated into the VM.
Separately from the OS being able to turn itself off, the OS needs to process a signal received by the hypervisor on this controller to support the hypervisor gracefully shutting it down. Otherwise GCP will wait 90 seconds after it has sent the shut down signal to give up and terminate the VM itself.
The problem I was trying to solve was (a) OS can shut itself down in GCP (b) restarts in GCP from the GCP console would be instant, rather than take 90+ seconds
Not the parent, but of course they're wasting their time... That's the point of a hobby OS.
I'm working on a hobby OS, and I have no illusions that it's most likely fewer than 10 people will ever run it, and less than 100 will hear about it, but it lets me explore some interesting (to me) ideas, and forces me to learn a little more about random pieces of computing. If I ran on GCP, I'd want the reboot button to work. That sounds useful.
On the topic, I don't see why anyone would want to build a general purpose OS. There's enough already and even with the shrinking of hardware variety, there's a lot of stuff to support to make a general purpose OS work on enough hardware for people to consider using it. You can take Linux or a BSD and hack it up pretty good to explore a lot of OS ideas. Chances are you're going to borrow some of their drivers anyway, and then you'll end up with at least some similarity... may as well start there and save a lot of time. (My hobby OS has a custom kernel and custom drivers, but I only support a bare minimum of devices... (pc) console i/o, one real NIC, and virtio-net... that's all I need; I might add support for more NICs and more consoles later)
They aren't trying to get reboot to work, they are trying to get their version of kexec to work so their hobby os reboots faster.
https://wiki.archlinux.org/title/Kexec
The biggest scam in the OS world is drivers, we should demand more out of our hardware. Drivers shouldn't be necessary.
I am addressing your comment and eru's question about drivers.
The hardware that would normally need drivers should present itself over a fixed, well documented protocol. Think virtio, or usb device classes but more comprehensive. This would also allow for said hardware to rigorously tested before it ever sees an OS. As it is now, because the hardware is shit and requires a driver, you can't really test the hardware in a way that an OS would expect because it requires the OS driver to even start to function. The job of the OS is now to repair broken hardware.
https://docs.oasis-open.org/virtio/virtio/v1.3/virtio-v1.3.h...
https://wiki.osdev.org/Virtio
https://en.wikipedia.org/wiki/USB_communications_device_clas... (the only good thing to come out of usb)
What do you mean by that?
I don't see why a kexec alike wouldn't work about the same on GCP vs qemu vs bare metal... Or what that has to do with a GCP soft reboot button (which again, I think is referring to the reboot button in the GCP console)
Either way, the whole thing is a waste of time, yes? Why not waste time on the part that's engaging?
> The biggest scam in the OS world is drivers, we should demand more out of our hardware. Drivers shouldn't be necessary.
I can't even fathom what you mean here? You've got to have some interface to communicate with hardware. That's a driver. Some hardware only needs a very small driver... Tell the hardware where to send input, how to notify when input is ready and when its ready for output, and tell the hardware where data to output is. Maybe some setup stuff for modes and whatever if the needs aren't obvious and universal. I don't see how you could possibly avoid that.
It would certainly be possible for more devices to use common interfaces so a single driver could operate many different devices. Maybe that's what you mean? There's some movement towards that... SATA controllers generally speak AHCI, human interface devices generally appear as USB HID devices, etc. NICs tend to have a wide variety of setup sequences, but data queues usually fit into one of a limited number of patterns.
I agree you need a driver but for most hardware, that should be pretty simple, and easily documented by the hardware vendor, shouldn't it? A button has to be about the simplest possible I/O device imaginable.
Of course, ACPI is supposed to make interfacing with lots of similar things easier, kind of, so there you go.
I was actually just trying to support "power off" in GCP, with the stretch goal of being able to support graceful power off from the GCP console (which is part of supporting power off then power back on restart).
That's what's claimed. That's what people say, yet it's just an excuse. I've heard the same sort of excuse people have, after they write a massive codebase, then say "Oops, sorry, didn't get around to documenting it".
And no, hardware is not more difficult than software to document.
If the system is complex, there's more need to document, just as with a huge codebase. On their end, they have new employees to train up, and they have to manage testing. So any excuse that silicon vendors have to deal with such immense complexity? My violin plays for them.
That's obviously the wrong message. They should say "Go ask the engineering VP to get us off any other projects for another cycle while we're writing 'satisfying' documentation".
Extensive documentation comes at a price few companies are willing to pay (and that's not just a matter of resources. Look at Apple's documentation)
This is not impossible, but the effort and costs required are substantial and often lose out on a priority basis to just fixing or improving the product itself.
This way, good documentation is priced into my estimate for the project. I don't have a work item "spend a few days documenting." Nope, if I'm doing a foo then that includes documenting a foo at the same time.
This heavily depends on your niche I think. If you're writing closed source vendor software and your client's only guiding light is your documentation, it's 100% true.
If you're working on a 5 people project that evolves at a fast pace, and everyone touching the code is expected to be familiar with the domain and operations, you'll mostly leave comments (todos, meta info, external ticket links etc), not documentation per se.
The trouble with good docs is that they are work to maintain, like good code. If we decide to change this component in a substantial way soon, which we likely will, I'd have to practically rewrite the docs! Why bother?
Because the docs are part of the code. Write the docs.
I don't expect to win this crusade, but I'll keep writing docs anyway. Then later people will modify the code without modifying the docs, and so the docs will be a lie, but still useful, I think.
It's like asking three people who are not closely familiar with a component, but who have worked with it, "what is this thing, how does it work?" You will get three different answers. It would be nice if one of them were a written description straight from the horse's mouth, even if the component is now more of a camel.
Documenting how to use or interact with it in a specific context, which often includes perspectives on interactions with other components, or e.g. protocols not explicit in the code, deciding where to draw the lines of what can assumed trivial common knowledge and what should be specified or explicitly not specified without notices not to rely on these etc. , that is a different thing.
If it wasn't, then truly as they used to say, the source code would be it's own best documentation (I am a big fan of programming for readability, but even the best readable code, while it will be correct and up to date, will never be enough nor the best for all)
Yes, you can produce a small amount of code faster if you don’t “waste” your time on documentation, but that becomes counterproductive as soon as you can no longer keep the entire codebase in your head.
It’s not first party documentation that’s the problem. The problem is that they don’t share that documentation, so in order to get documentation for an “unsupported” OS a 3rd party needs to reverse engineer it.
Of course, your custom kernel will still have to have some of its own code to support core platform/chipset devices, but LKL should pretty much cover just about all I/O devices (and you also get stuff like disk filesystems and a network stack along with the device drivers).
Also, it probably wouldn't work so well for typical monolithic kernels, but it should work decently on something that has user-mode driver support.
thus calling into question why you ever bothered writing a new kernel in the first place if you were just going to piggyback Linux's device drivers onto some userspace wrapper thingy.
Im not necessarily indoctrinated to the point where I can't conceive of Linux being suboptimal in a way which is so fundamental that it requires no less than a completely new OS from scratch but you're never going to get there off of recycling linux's device drivers because that forces you to design your new OS as a linux clone in which cade you definitely did not need to write an entire new kernel from scratch.
What you describe is probably necessary for getting _fast_ Linux compatibility. However, if you are willing to take the overhead of a few layers of indirection, you can probably sandbox the Linux land somewhere, and not have it impact the rest of your design much.
Most hardware access doesn't have to be particularly efficient. And, yes, for the few pieces of hardware that you do want to support efficiently (eg your storage devices or networking, whatever you want to concentrate on in your design) these you can handle natively.
Btw, I would suggest that most people these days should write their toy operating systems to run as a VM on a hypervisor like Xen or similar. The surface to the outside world is smaller that way.
It has a rump kernel architecture which makes reusing the drivers almost trivial compared to reusing linus drivers with a new kernel.
probably it would have to be very general in design, but something along the lines of driverkit or iokit might work?
However it goes into the same direction of the previous commenter, device drivers are intertwined with the OS semantics, even on microkernels, so eventually it ends being just something like POSIX.
Realistically for the OEM to debug the issue they're going to need a way to reliably repro which we don't have for them, so we're kind of stuck.
This type of problem generalizes to the development of drivers and firmware for many complex pieces of modern hardware.
(And I feel bad saying this since Meta obviously did waste eleventy billion on their ridiculous Second Life recreation project ...)
So please don't mock the spend. Big spends fail sometimes, and at least people were paid to do the work.
On the other hand, Meta's experiment is primarily CEO-driven. The outcome is predetermined, changing direction is not possible. Sure, clever engineers get to draw the rest of the owl, but that's not very useful when it turns out that everyone needs a horse instead.
They are spending a fortune, but rather than getting 900 crappy ideas to throw away and 100 great ones to pick from for continued development, they are developing 1 technological marvel nobody is interested in.
Every improvement after that would count as micro-invention in your dichotomy.
Just because you spend a lot of your money on R&D, doesn't mean that each R&D project is automatically a good one. You still have to make choices between them.
If they'd spent the money researching nuclear fusion or space flight or a new way to develop microprocessors, I would be cheering their efforts even if they had failed in the end.
You know, one'd think that having a complex hardware should make writing a driver easier because the hardware is able to take care of itself just fine, and provide a reasonable interface, as opposed to devices of the yore which you had to babysit, wasting your main CPU's time, and doing silly stuff like sending them two identical initialization commands with 30 to 50 microseconds delay between or whatever.
I guess one exception maybe is Nvidia who have sort of hidden the complexity by moving most driver functionality onto software on the card. At least that's how I understood it. Don't quote me on that.
Why not, though? We used to have e.g. glass teletypes with microprocessors (8080/8051) in them that exposed a serial bus with very neat command protocol that we still use nowadays, that could boot up, init and self-test all on their own.
What is an easy gate task to get into “reverse engineering some drivers for some OS”?
Second thought: I don’t even know how to write a driver or a kernel, so I better start from there.
It helps to have a concept to guide you too, but you can certainly make some progress on the basics before you figure out what you really want to do.
[1] https://wiki.osdev.org/User:Zesterer/Bare_Bones
[2] https://osdev.wiki/wiki/Multiboot1_Bare_Bones
I wish the guy luck on becoming a superstar influencer, since that seems to be his goal, but he can do it without my help.
Without that, we would have probably just switched hw, because the quite obscure bug was in the ASIC, and debugging that on 2005-6-ish hw is just infeasible.
PS: Half-joking, you can write some big portions with LLMs but the point stands.
I've only seen John Carmack's public interactions, but they've all been professional and kind.
It's depressing to imagine HR getting involved because someone's feelings had been hurt by an objective discussion from a person like John Carmack.
I'm having flashbacks to the times in my career when coworkers tried to weaponize HR to push their agenda. Every effort was eventually dismissed by HR, but there is a chilling effect on everyone when you realize that someone at the company is trying to put your job at stake because they didn't like something you said. The next time around, the people targeted are much more hesitant to speak up.
https://www.youtube.com/watch?v=52hMWMWKAMk&t=1s
This is a guy who figures that what he wants to do most with his 3 free weekends is to port his latest, greatest engine to a Cortex-A8. Leading corporate strategy? Maybe not. But Carmack on efficiency? Just do it.
John Carmack, David Cutler, Tom West, Cameron Zwarich, etc. There are about maybe 50 of them.
Worked on DEC Alpha, AMD K7 & K8, Broadcom, P.A. Semi, was in turn purchased by Apple. Jim spent four years at Apple before first returning to AMD, then on to Tesla, Intel and finally Tenstorrent.
Keller keynoting TSMC's 2022 Open Innovation Summit: https://www.youtube.com/watch?v=32CRYenTcdw
I remember this guy wanted $20 million to build AGI a year ago (did he get that money?), and people here thought he would go into isolation for a few weeks and come out with AGI because he made some games like that. It’s just embarrassing as a community.
That’s a pittance for such a project. I wish we could see what he’d have come up with.
If it comes down to someone saying “I’ve been doing this for 30 years, I’ve shipped something very similar 5 times, and we ran into a problem with x each time”. Unless you have similar counter experience, you should probably just listen.
What happens in tech is you get a very specific kind of junior who wants to have HN comment arguments at work constantly and needs you to prove every single thing to them. I don’t know man it’s a style guide. There’s not going to be hard quantitative evidence to support why we said you shouldn’t reach for macros first.
Don’t think so.
I am sure Carmack himself encourages debates and discussions. Lionizing one person can't be expected of every employee (unless that person is also the founder or the company is tiny).
But I agree that civil discussion is good.
Dude just seemed frustrated with the lack of attention to things that mattered.
But...that honestly tracks with Meta's past and present.
Interestingly, he was pulling the same bs at Google until reason prevailed and he got pushed out (but allowed to save face and claim he resigned willingly[1]).
[0] https://x.com/yewnyx/status/1793684535307284948 [1] https://x.com/marklucovsky/status/1678465552988381185
If he doesn’t believe in something, he can sometimes be over critical and it’s hard to push back in that kind of power imbalance.
Maybe you know something they don’t; it’s actually very likely. But maybe what you think matters actually doesn’t at all and ultimately they’re right.
In either case, they were shipping, so best to listen and be prepared if you disagree.
Not some new OS so you can start making the glasses 2 years later.
Just like when you want to bake a cake, you dont start by designing an oven, or creating an universe from scratch
and also, it wasn't enough to "win" against a den-of-wolves place filled with power-players like meta.
Or it’s an appeal to authority in that if a person of authority says it then they must be right so there’s no reason to push back in the first place.
the good news is that in this hypothetical i'd be skilled and talented enough to be working with john fucking carmack so i wouldn't exactly be concerned about my ability to find a new gig in about 3 days. that's my point. now if there were evidence he'd be liable to blackball me in some way (no evidence of that to my knowledge), then the power disparity argument has more legs in my opinion.
This is Meta. Let the kids build their operating system ffs. Is he now more concerned with protecting shareholder value? Who cares.
XROS was an org that hired for specific specialist positions (as opposed to the usual "get hired into FB, go through the bootcamp, and find your place within the company"). At one point we got two separate requests from the recruiting execs: - Your tech screen pass rate is way too low compared to other teams at FB. Please consider making your tech screen easier to expand the pool of candidates. - Your interview-to-offer rate is way too low compared to other teams at FB. Please consider making your tech screen more difficult to reduce time that engineers spend on interviewing and writing feedback.
Anyway, IMO it was a very strong team in a very wrong environment. Most of the folks on the team hated the Facebook culture, despised the PSC process (despite having no problems with delivering impact in a greenfield project), had very little respect for non-technical managers coming from FB proper (the XROS team saw themselves as part of Oculus), and the majority I believe fled to other companies as soon as the project was scrapped. The pay was good however, and the work was very interesting. My overall impression was that most people on the team saw XROS as a journey, not a destination, and it was one of the reasons why it was destined to never ship.
If you want to be the dominant player in the market in 10-15 years, build the OS and keep funding it.
iPhones and Macs share a kernel and a large portion of user space and syscalls, right?
If the GPL is a problem just fork some BSD like the PS3 did, and pretend you're maintaining code that you already spent five years on
I know you need low latency for XR + VR + AR - everyone needs low latency for everything. So they could build on whatever has been done for audio and networking and Android touch screens that all want low latency too
I'm speaking foolishly from outside but making "an OS for" something is more commonly marketing speak than a good idea. Like this fucking "OS for cities" and "OS for work" stuff. That's an OS the way a cookie recipe is an OS for a fucking oven. The casual insistence on misunderstanding important things really gets my goats
It doesn't sound like he's concerned with waste. It sounds like it's a typical Carmack argument - distilled and hyper logical, and his conclusion is more to do with the pointlessness of it. He actually concedes the point that the project may have been highly efficient (which it may or may not have been, he was steelmanning).
His main points seemed to be:
If every cycle matters and efficiency is paramount, just make the project monolithic C++ code. If every cycle matters, that is somewhat incompatible with general purpose OSs, and if it doesn't, the existing landscape is more than good enough. Presumably, he's calling out the absurdity of counter-arguments which are being unrealistic about the objectives of creating a new general purpose OS, while also focusing on extreme efficiency. He states that the requirements to fully achieve these objectives would require a "monastic coding enclave" like Plan 9 OS, and it wasn't realistic even with the high talent in Meta.
And that plays into the second point, which seems to essentially be "new OSs aren't a draw for developers, they are a burden". This is painfully obvious when looking at the history of OSs and software, and it's the obvious reason why "let the kids build their operating system ffs" should result in a reflexive "noooo..." from the greybeards. The deeper point though is that if A. is achieved, the B. Burden on devs will be even more onerous. Therefore unless the entire project is committed to truly moving crowds to new paradigms (good luck, literally billions have been lost here), just use the proven, faily high performance options that have widespread support.
The conclusion is "on balance, it's a bad idea." He's arguing it sharply (although I understand a Carmack steelman is intimidating to attack), but in essence it's a fairly banal and conservative conclusion, backed with strong precedent.
the problem was, it was holding back products. Because if youre going to make your own OS, it changes what chips you put in. If you don't know what chipset you're going to have, you don;t know what your pixel budget is, you can't plan features.
It takes about 2 years to get hardware out the door, and another 1.5 years to iron out the bugs and get a "finished" product.
I even found myself letting really bad things go by because it was just going to take way to much of my time to spoon feed people and get them to stop.
And the Sr was generally a very nice person who did not give much weight to levels, willing to engage with anyone.
(Especially if it's an "API" persisted to disk)
(Mind you, Carmack himself was responsible for Oculus' Scheme-based VRScript exploratory-programming environment, another Meta-funded passion project that didn't end up going far. It surely didn't cost remotely as much as XROS though.)
But it turned out nobody cared. People who envisioned doctors using VR glasses to look at MR images in 3D, architects, modelers, mechanical engineers, who people thought would use 3D to do work turned out to not want it.
Immersive games were created, that looked and ran amazing, and afforded a never-before-seen level of interactivity, but after a few standout successes, people just moved on.
It's like Apple got to about the iPhone 4 level (where most people would agree the experience was decent), then everybody decided to go back to their old Nokias.
> If the platform really needs to watch every cycle that tightly, you aren't going to be a general purpose platform, and you might as well just make a monolithic C++ embedded application, rather than a whole new platform that is very likely to have a low shelf life as the hardware platform evolves.
Which I think is agreeable, up to a certain point, because I think it's potentially naive. That monolithic C++ embedded application is going to be fundamentally built out of a scheduler, IO and driver interfaces, and a shell. That's the only sane way to do something like this. And that's an operating system.
Exactly! I picture the choice being grandfathering in compatibility with existing OSes (having the promised performance of their product in fact indirectly modulated by the output of all other teams of world's smartest throughout computing history and present day), vs wringing another OS-sized piece of C++ tech debt upon unsuspecting humanity. In which case I am thankful to Carmack for making the call.
I can understand how "what you're doing is fundamentally pointless" is something they can only afford to hear from someone who already has their degree of magnitude of fuck-you money. Furthermore in a VC-shaped culture it can also be a statement that's to many people fundamentally incomprehensible
Imagine being able to build an operating system, basically the end-game of being a programmer, and get PAID for it. Then some nerd tells on you.
Damn, I'd pay to work in some serious OS/Compiler teams, but hey why should they hire me? Oh well...Yeah I'm doing a bit of projects on my side but man I'm so burnt out by my 9am-5pm $$ job + 5pm-10pm kid job that I barely have any large chunk of time to work on those.
In theory, it’s better to sleep early, get up around 5 and get 2 hours of quality time, but man he sometimes gets up around 6:15 and earlier, and I found it difficult to get good sleep anyway, so I tried to switch to 2 hours of night time, but he wants to sleep with me for 30 mins around 9pm before going to my wife’s bed, and I usually fell sleep sooner than he did…
Girls are much easier to raise. They sleep earlier and don’t fight too much, as far as I heard from friends.
Definitely depends on the specific children!
Anyway, if anyone reading this gets a chance to build a custom OS for bespoke HW, and get paid FAANG salary to do so, go for it! :-D
impact is facebook for “how useful is this to the company” and its an explicit axis of judgement.
Why is complaining to HR even an option on the table?
Why the fuck is he even hired there if you are not going to listen to him.
Dude has forgotten more things about game development than you will ever know...
They finally have feet now, right?
Only light fun. I'm just a little perplexed at their progress and direction over the past 7-8 years. I don't understand how they can have so many high caliber people and put out...that.
When your emotions over your work become more important than the quality of the work you're outputting, you become a problem for people who use your work.
This is true of course, but this is also true for the “search for truth” in science. Do we fail to point out the flaw in the reasoning of someone’s life's work for fear of offence? The truth is the higher ideal that must be strived for!
In the same way, an idea is only good once it has been challenged. It may fail and dissolve, it may survive, it may morph into something that can no longer be assailed. This is the forgers fire, and it is necessary.
I know this isn’t as black and white as I’m painting it, but the ideal is still something worth striving for.
Also, software engineering is a field where there’s rarely some ideal truth we’re trying to achieve, and indeed even in science, people do often fail to point out flaws in reasoning for fear of offense.
No wonder they used any means necessary (including HR) to defend their source of money.
They probably knew very well they are a net loss for the company.
Lots of big orgs have such crooks. It's a failure of management not to fire them.
I got angry emails from people because I wrote "replacing a primary page of UI with this feature I never use doesn't give me a lot of value" because statements like that make "the team feel bad". It was an internal beta test with purpose of finding issues before they go public.
Not surprisingly, once this culture holds root, the products start going down the drain too.
But who cares about good products in this great age of AI, right?
Facebook VR never needed a new OS in the first place. It needed actual VR.
a little bit a negative feedback at high level can domino quickly too. massive pivots, reorgs, the works.
I've had to coach people and help them understand the entitlement involved in demanding that everyone adjust and adhere to their personal preferences and communication style. In my experience, it's about seeking to understand the person and adapt accordingly. Not everyone is willing to do that.
I'm not saying that there's no space for direct communication and that everyone needs to be formal and socially polite during every interaction. But I've met many people who act like you describe John does who very much do not appreciate getting it back, implying some level of awareness that their directness is hurtful on occasion.
I've only met a few direct people who can take it as well.
It makes me want to reframe this a little with your statement 'understand the person and adapt accordingly.' As someone who has learned their social skills later, I think it's usually more of a responsibility of the abrasive person to adapt their communication style and know when it is best used.
Specifically, I think abrasive and direct works great in high trust environments. It has served me well as well. It does sometimes relate to autism for me, ymmv.
Anyway the reason why it doesn't work outside of high trust environments is that people have feelings, and their feelings matter. Ultimately you do have a responsibility to try and be considerate. So like, for me I try to separate the high trust and low trust environments in my life, and keep the part of me that's direct and abrasive (often among peers in technical context) less vocal in the low trust environment.
When I intentionally want to push back in a low trust environment, I try to check in more with the person, look to where they seem uncomfortable, and double check I understand what their insecurities might be in a certain context as that often increases defensiveness.
Sometimes in low trust environments I might not notice, or I might identify it as low trust and just not care. In those contexts yeah I'll be the disgruntled aspie ;) but in other contexts I want to connect to people and really think through the impact of my words not the righteousness.
I mean maybe, but maybe Carmac is just an ass hole... He can be a "legend" in the software development world and also just not be a super great person socially. The two things aren't mutually exclusive.
I don't disagree with you entirely, but being "direct" isn't a get-out-of-jail-free card for poor interpersonal skills. It's not always about "fragile egos" or "entitlement", it's about basic professionalism and communication.
If I’m kinda sensitive but also hyper-ambitious, I acknowledge that Facebook has
1. Some of the highest pay in the industry. 2. Ultra-competitive environment. 3. Low moral principles.
Seems like the strategy would be to use every lever at your disposal to manipulate your environment, rather than leave and risk getting paid less.
If I understand the hypothetical you've proposed, my advice would be for you to adapt and learn to be less sensitive rather than have you believe that you can manipulate the environment, or worse, directly manipulate people.
It's possible that you could be a positive influence for change, so I don't want to completed discount any effort there, but I also think it's worth being realistic about what you can actually affect.
But like it works for Musk and Trump, and probably hundreds of other leaders today, why not take their example? (Assuming again, your highly ambitious and competitive, I’m more pro social, so I’d take your route)
This is legitimately something I’ve been asking myself lately, we talk about a world that values one thing ( rationality, respect, pro social behavior) but reward another (pettiness, vindictive, selfishness). Why do we pretend?
Also, and maybe the most important point, John Carmack is 100% trying to manipulate his environment and people, that’s why he’s so successful!
The world is literally run by people who are good at manipulating people and their environment. That’s what an entrepreneur is, that’s what a politician is, that’s what an artist is. Your argument seems to mostly be people shouldn’t try to manipulate the world in a way that I don’t like.
In Doom Guy, though, Romero says that after he left iD, he heard from others still working there that the company had become something of a dictatorship under Carmack, and that within X months (I forget how many), half the company had quit. Romero also qualifies several times that they were all in their early/mid-20s and didn't have the requisite life experience to be handling business situations well
You don't know someone or how they really behave because they are a public figure.
FWIW I like carmack from what I have seen publically (and Romero, who I have interacted with) but I wouldn’t pretend to know who either of them really are from my observation of them.
This is one of the reasons I’m sick of working pretty much anywhere anymore: I can’t be myself.
Appreciating people for their differences when they are humble and gifted is easy. I side with liberals, but I have a mix of liberal, moderate, and conservative friends.
But there are only so many years of pretending to appreciate all of the self-focused people that could be so much better at contributing to the world if they could quietly and selflessly work hard and respect people with different beliefs and backgrounds.
I’m happy for the opportunity I have to work, and I understand how millennials think and work. But working with boomers and/or gen X-ers would be so much less stressful. I could actually have real conversations with people.
I don’t think the problem is really with HR. I think the problem is a generation that was overly pandered to just doesn’t mix with the other generations, and maybe they shouldn’t.
Supposedly you were meant to have you disagreements in private, and come to support what ever was decided. "hold your opinions lightly" The latest version of it was something like "disagree and commit".
This meant that you got a shit tonne of group think.
This pissed off Carmack no end, because it meant shitty decisions were let out the door. He kept on banging on about "time to fun". This meant that any feature that got in the way of starting a game up as fast a possible, would get a public rebuke. (rightly so)
People would reply with "but the metric we are trying to move is x,y & z" which invariably would be some sub-team PSC (read promotion/bonus/not getting fired system) optimisation. Carmack would basically say that the update was bad, and they should feel bad. This didn't go down well, because up until 2024 one did not speak negatively about anything on workplace. (Once carmack reported a bug to do with head tracking[from what I recall] there was lots of backwards and forwards, with the conclusion that "won't fix, dont have enough resources". Carmack replied with a diff he'd made fixing the issue.)
Basically Carmack was all about the experience, and Facebook was all about shipping features. This meant that areas of "priority" would scale up staffing. Leaders distrusted games engineers("oh they don't pass our technical interviews"), so pulled in generalists with little to no experience of 3D.
This translated in small teams that produced passable features growing 10x in 6 months and then producing shit. But because they'd grown so much, they constantly re-orged pushed out the only 3d experts they had, they could then never deliver. But as it was a priority, they couldn’t back down
This happened to:
Horizons (the original roblox clone)
video conferencing in oculus
Horizons (the shared experience thing, as in all watching a live broadcast together)
Both those horizons (I can't remember what the original names were) Were merged into horizons world, along with the video conferencing for workplace
originally each team was like 10, by the time that I left, it was something like a thousand or more. With the original engineers either having left or moved on to something more productive.
tldr: Facebook didn't take to central direction setting, ie before we release product x, all its features must work, be integrated with each other, and have a obvious flow/narrative that links them together. Carmack wanted a good product, facebook just wanted to iterate shit out the door to see what stuck.
There weird hagiographies need to go. Carmack is absolutely not known to be kind. I have no idea what happened here but the idea that's he's this kindly old grandpa who could never, ever be rude or unprofessional is really out there.
There is a difference between “this project is not going to work” vs “these people are incompetent and the project should be cancelled as a result”. The former needs to be said, the latter is a HR violation.
Sorry if I wasn’t clear; this was the point I was actually trying to make. Direct and to the point should not a HR incident make. I was trying to contrast with something that would.
This gives you best of both worlds - carefully designed system for the hardware with near optimal performance, and still with the ability to take advantage of the full linux kernel for management, monitoring, debugging, etc.
You can always mmap /dev/mem to get at physical memory.
They had amazing talent. Seriously, some of the most brilliant engineers I've worked with.
They had a huge team. Hundreds of people.
It was so ambitious.
But it seemed like such a terrible idea from the start. Nobody was ever able to articulate who would ever use it.
Technically, it was brilliant. But there was no business plan.
If they wanted to build a new kernel that could replace Linux on Android and/or Chrome OS, that would have been worth exploring - it would have had at least a chance at success.
But no, they wanted to build a new OS from scratch, including not just the kernel but the UI libraries and window manager too, all from scratch.
That's why the only platform they were able to target was Google's Home Hub - one of the few Google products that had a UI but wasn't a complete platform (no third-party apps, for example). And even there, I don't think they had a compelling story for why their OS was worth the added complexity.
It boggles my mind that Fuchsia is still going on. They should have killed it years ago. It's so depressing that they did across-the-board layoffs, including taking away resources from critically underfunded teams, while leaving projects like Fuchsia around wasting time and effort on a worthless endeavor. Instead they just kept reducing Fuchsia while still keeping it going. For what?
Fwiw inventing a new application ecosystem has never been a goal and is therefore not a limitation for its viability. The hard part is just catching up to all the various technologies everyone takes for granted on typical systems. But it's not insurmountable.
I'm also not sold on the idea that having more options is ever a bad thing. People always talk about web browser monoculture and cheer on new entrants, yet no one seems to mind the os monoculture. We will all come out ahead if there are more viable OS out there to use.
3 main OSes vs 2 main browser engine for consumer to choose from?
Anyway the main issue with the Browser engine consolidation is that whoever owns the Browser engine, can make or break what goes in there. Just think about VSCode's current status with all the AI companies wanting to use it and make it their own product, while MSFT attempting to curtail it. At some point either MSFT decide it commit to FOSS on this one, or the multiple forks will have to reimplement some functionalities.
These were my imaginations. I thought maybe an OS that could run on the web. Or an OS that could be virtualized to run on several machines. Or an OS that could be run along several other instances on the same machine each catering to a different user.
100% agree with your points. To me watching I was like -- yeah, hell, yeah, working on an OS from scratch sounds awesome, those guys have an awesome job. Too bad they're making everyone else's job suck.
And in order to make it happen it also required writing the already-launched HTML-based UI in Flutter/Dart. Again ... why? What for? There wasn't even a working "native" Flutter at the time, despite promises, and there certainly wasn't a working accessibility stack -- no screen reader, no magnification, nothing -- so that all had to be kludged in. It was everything wrong with the "rewrites considered harmful" distilled.
Not to mention terrible for morale, execution, planning, budget, customer satisfaction.
I was just a lowly SWE 3 "IC" just in the trenches, not nearly as "important" as all that, so my opinion mattered not at all. But to me it violated every sound engineering / project planning principle I'd learned in the 15 years of my career up to that point. Just another event that led to me becoming quite cynical about the ability of leadership at Google to actually manage anything of significant complexity that wasn't ads/search related.
Again, Fuchsia .. very neat. But it didn't belong there.
It wasn’t anywhere near that late the numbers you’re saying was about the whole build cycle - board bringup for one of the two boards first commit in zircon was 3y before launch (that codes public, I just checked and Mike landed it in 2018) - and discussions weren’t done then, that was before any prototype/demos could be done. There were sluggish stages and project management was rough, and there were delays at the end related to quality but the quality bar was necessarily high, particularly on the core system - don’t brick all the devices in the field. And we didn’t, and that’s actually a feat replacing everything from firmware to gui in the field without users noticing.
What was the goal? Well two things: fuchsia needed a first, and realistic shipping target that wasn’t excessively lofty. Nest needed to get out of the OS game so it could focus resources on product. Chris talked about this in his 9to5google interview.
It’s a shame you feel so sour about it, everyone involved did good work. I have friends from nest and some of the ics also have similar pained history from that time - it’s sad, once upon a time it was maddening. It’d have been so easy for a leader to substantially improve that. Sure plenty of things could have been better, for sure we could have fixed these awful sentiment and relationship issues (I tried, got burned for it - that even showed up in my calibration), but we all shipped.
It was much easier to cripple your competition back when there were several orders of magnitude less software engineers in the world.
https://en.wikipedia.org/wiki/Singularity_(operating_system)
https://www.microsoft.com/en-us/research/project/singularity...
https://www.zdnet.com/article/whatever-happened-to-microsoft...
That jives with my sense that META is a mediocre company
"I think that your team shouldn't even exist" doesn't mean "I want your team to no longer exist.".
When I was on nuclear submarines we'd call what you are advocating "keep us in the dark and feed us bullshit."
Your sub's officers also need to constantly be aware of what to communicate to whom and in which language. Your superiors certainly kept you in the dark about a ton of concerns that were on their plate because simply mentioning them to subordinates would have been too distracting.
On well-functioning teams, product feedback shouldn't have to be filtered through layers of management. In fact, it would be dishonest to discuss something like this with managers while hiding it from the rest of the team.
So what are we supposed to do? Just let waste continue? The entire point of engineering is to understand the tradeoffs of each decision and to be able to communicate them to others...
There's nothing wrong with well-founded and thoughtful criticism. On the other hand, it is very easy for this to turn into personal attacks or bullying - even if it wasn't intended to be.
If you're not careful you'll end up with juniors copying the style and phrasing of less-carefully-worded messages of their tech demigod, and you end up with a huge hostile workplace behaviour cesspit.
It's the same reason why Linus Torvalds took a break to reflect on his communication style: no matter how strongly you feel about a topic, you can't let your emotions end up harming the community.
So yes, I can totally see poorly-worded critiques leading to HR complaints. Having to think twice about the impact of the things you write is an essential part of being at a high level in a company, you simply can't afford to be careless anymore.
It's of course impossible to conclude that this is what happened in this specific case without further details, but it definitely wouldn't be the first time something like this happened with a tech legend.
The OS does process scheduling, program management, etc. Ok, you don’t want a VR headset to run certain things slowly or crash. But some Linux distributions are battle-tested and stable, and fast, so can’t you write ordinary programs that are fast and reliable (e.g. the camera movement and passthrough use RTLinux and have a failsafe that has been formally verified or extensively tested) and that’s enough?
Everyone wants to make an OS because that's super cool and technical and hard. I mean, that's just resume gold.
Using Linux is boring and easy. Yawwwwn. But nobody makes an OS from scratch, only crazy greybeard developers do that!
The problem is, you're not crazy greybeard developers working out of your basement for the advancement of humanity. No. Youre paid employees of a mega corporation. You have no principles, no vision. You're not Linus Trovalds.
https://en.wikipedia.org/wiki/HarmonyOS_NEXT https://www.usenix.org/conference/osdi24/presentation/chen-h...
Besides, the statement's completely nonsensical - there were multiple OSes developed by for-profit corporations in the West (Microsoft, Apple, Nintendo, QNX, Be, etc.).
It's kind of an extraordinary statement that an OS couldn't be developed by a for-profit organization, especially if the hardware's somewhat fixed and you don't need to support every piece of equipment under the sun.
MS is a state backed company. Very natural that China went the same path.
In total across the entire US federal government, $518.8 million was paid to Microsoft for products and services in 2024. That is approximately 0.21% of their total annual revenue.
I assert that the threshold for "state sponsored" is well in excess of 0.21% of annual revenue.
Federal Spending: https://www.usaspending.gov/recipient/dd77b7c3-663e-cb91-229...
Microsoft Annual Revenue: https://www.microsoft.com/investor/reports/ar24/index.html
Government spending is not easy to track. This doesn't even begin to touch on non-monetary benefits Microsoft receives with government influence.
It makes absolutely zero financial sense to create a new general purpose operating system.
That's billions of lines of code. With a B. And that's just the code - getting it to work with hardware?
Do YOU want to talk to 10,000 hardware vendors and get them on board? No! Nobody does! That's just money burning!
But, there are valid political reasons for creating a new general purpose OS.
If you are building for a single abstraction, code gets much simpler, instead of building a platform that multiple abstractions can then be built on top of.
The only thing I can imagine that would be more invasive would require a brain implant.
Carmack being Carmack, I'm sure the HR report came to nothing but it's just another reminder of the annoyances I don't miss about working at a BigCo. In the end, it doesn't matter that it went nowhere, that he was right or that it was an over-reaction and likely a defensive move in inter-group politics Carmack wasn't even playing - it just slowly saps your emotional energy to care about doing the right things in the right ways.
That made me really think about how fragile and toxic people can be.
Another Amazonian almost got fired for reacting with a monkey covering eyes emoji to a post shared by a black person (no malintent, of course, just an innocent “mistake” most normal people wouldn’t even think twice about).
Also, I am not surprised he was reported -- typical underhanded political hustling commonplace at Meta.
None of the code they wrote couldn't have just been written as a kernel module in Linux. It would've also been so much easier due to all the documentation and general knowledge people have about Linux both within the company and outside the company.
But ultimately it just makes sense to adapt existing kernels / OS (say, arch) and adapt it to your needs. It can be hair wrenchingly frustrating, and requires the company to be willing to upstream changes and it still takes years, but the alternative is decades, because what sounds good and well designed on paper just melts when it hits the real world, and linux has already gone through those decades of pain.
The driver ecosystem is the moat. Linux finally overcame it decades later
Those boards were always accompanied by horrific binary blobs glued to a kernel form a stone age. Or Windows.
5 Millions alone for the AMD graphic driver.
* Those that are are only loaded when needed
It's not that bad
I think it was insane to start a new OS effort written in C/C++. We have plenty of OSes written in C/C++! We know how that story ends. If you're going to spend the effort, at least try a new language that could enable a better security model.
Still a very interesting project, but that feels like a similar story, for limited use cases (a smart thermostat/speaker with specific hardware) it works, but for wider use cases with heterogeneus hardware and complex interfaces (actual screen, peripherals) it didn't work.
For example any of the systems listed in Carmack’s post. Or perhaps Serenity OS, RedoxOS, etc.
The technical justification for Meta writing their own OS is that they'd get to make design decisions that suited them at a very deep level, not that they could do the work equivalent of contributing a few drivers to an existing choice.
If you mean exotic ones then the answer is the parts that are written are the easy parts and getting support for hardware and software is hard.
The EOs https://en.wikipedia.org/wiki/EO_Personal_Communicator?usesk... used the AT&T Hobbit chipset, which was a descendant from the CRISP architecture. https://dl.acm.org/doi/pdf/10.1145/30350.30385 by Dave Ditzel et al. The architecture was informed by examining millions of lines of unix C code; the arch was an attempt to execute C code well. https://en.wikipedia.org/wiki/AT%26T_Hobbit?useskin=vector It was a beautiful overall design. The design focused on fast instruction decoding, indexed array access, and procedure calls. The 32-bit architecture of Hobbit was well-suited to portable computing, and almost ended up in the Apple Newton. The manual is possibly worth a peruse: http://www.bitsavers.org/components/att/hobbit/ATT92010_Hobb...
It's probably not that hard to write bare metal code for a modern CPU that runs and crashes. It's obviously insurmountably hard to compete with Android in features with scratch built bare metal code. An "OS" can be anything between the two. But it's very easy to imagine an "XR OS" project snowballing quickly into the latter, and Carmack's concerns would be spot on(as always is, and as proven). Is it then an inherent difficulty in "designing a new operating system", or is it technically something else?
The drivers are the hard part. It takes a lot of inter-industry collaboration to get driver compatibility
Meta has the talent and the balance sheet to pull this off. Worst case scenario we end up with one more open sourced operating system. Who knows what happens 20 years down the line.
I mean, I'd give a fair shake to an OS from the SQLite team [1].
1. https://sqlite.org/codeofethics.html
Actually, I don't know how you join the Ita now that you mention it.
Building a hobby OS taught me how little is just "software". The CPU sets the rules. Page tables exist because the MMU says so. Syscalls are privilege flips. Task switches are register loads and TLB churn. Drivers are interrupt choreography. The OS to me is just policy wrapped around fixed machinery.
But I have wondered why one of these companies with billions of dollars to burn hasn't tried to create something new as a strategic initiative. Yes, there wouldn't be any ROI for years, and yes, the first several products on the platform would probably be better off on something more traditional.
But the long term value could potentially be astronomical.
Just another case of quarterly-report-driven decision making, I suppose. Sigh.
See Google's Fuschia: https://en.wikipedia.org/wiki/Fuchsia_(operating_system)
> But the long term value could potentially be astronomical.
Such as what?
Historically? The internet, the concept of a graphical user interface, the mouse, the smartphone, the LCD display, the laser printer...
It's about clever people trying weird stuff, and occasionally ending up with a world-changing idea. Asking for examples of to-be-discovered innovations is, by definition, an impossibility.
If you're competing against nothing, then I see it: it opens up a wide variety of product possibilities. But linux exists. Why not spend 1/1000th the time to adapt linux?
That's not even counting the rather substantial risk that your new OS will never approach the capabilities of linux, and may very well never become generally usable at all.
Option A: spend years and millions on a project that may never be as good as existing solutions, diverting attention and resources from actual products, or...
Option B: work on products now, using an existing, high-quality, extensible, adaptable OS, with very friendly licensing terms, for which numerous experts exist, with a proven track record of maintenance, a working plan for sustainability, a large & healthy developer community exists, etc.
It's hard to imagine how it wouldn't be a complete waste of time.
(Actually I just realised you meant "buy")
Google has Fuchsia - is about 10 years in development. Recently was a target for layoffs
They have; Taligent comes to mind. You may not have heard of that -- or more likely, you have but just forgot about it -- but it's a good object lesson (no pun intended) in why a successful new OS is hard to just conjure into existence. There has to be a crying, desperate need for it, not just a vague sense that This Time We'll Get It Right.
You could probably cite OS/2 Warp as a less-obscure example of the same phenomenon.
So someone at Meta was so sensitive that being told their behemoth of a project was ill advised ended up getting reported to HR?
That scale is when creating an OS gives you a clear advantage over licensing or working with an open source OS.
Every other scale below that it's for knowledge, growth, research, or fun.
Roll call!
Much of the scenarios they tried to address could have been done with Mach or some realtime kernel or with fuchsia. I recall later on they did consider using fuchsia as the user space for the os for some time.
On another note, there was similarly an equally “just for fun” language effort in the org as well (eg “FNL”). That was also conceived by a bunch of randos who weren’t a bunch of compiler guys that had no product vision and just did it for fun.
Well when the era of efficiency arrived all of this stuff ended.
Someone said your preferred design won't work, and you go to HR.
I gladly throw my idea under the bus when I hear why it's bad.
Now offering any critique of a thing in order to help the company comes with a career risk.
Most opinions of this man exists in a vacuum space isolated from the real world software industry. Building an OS from scratch is one of those examples.
It’s never seems like there’s a significant reason behind them other than………”I made dat :P”
Why is such a meme among gamers about Unity and Unreal based games?
Exactly because so many make so little effort it is clear where the game is coming from.
We also need to be clear what an OS is. Is it "darwin" or "macOS" - they have different scopes.
Things I'd want from an OS for an XR device.
1. Fast boot. I don't want to have to wait 2-3-4-5 minutes to reboot for those times I need to reboot.
I feel like Nintendo figured this out? It updates the OS in the background somehow and reboot is nearly instant.
2. Zero jank. I'm on XR, if the OS janks in any way people will get sick AND perceive the product as sucking. At least I do. iOS is smooth, Androind is jank AF.
Do any of the existing OSes provide this? Sure, maybe take an existing OS an modify it, assuming you can.
https://en.m.wikipedia.org/wiki/Nintendo_Switch_system_softw...
Android suffers from being Java at the core, with all the baggage that brings with it.
I’ve seen this firsthand. These giant tech companies try to just jump into a massive new project thinking that because they have built such an impressive website and have so much experience at scale they should just be able to handle building a new OS.
In my case it wasn’t even a new OS it was just building around an existing platform and even that was massively problematic.
The companies that build them from scratch have had it as one of their core competencies pretty much from the start.
I’m unsurprised meta had issues like this.
Yes.
The point of R&D is the time horizon is long, and the uncertainty is high. Making JS slop that then has to be constantly babysat is opex, not capex.
In my non-expert mind, an OS for "foveated rendering" would be similar to what many cameras prioritize and more likely be similar to an "realtime OS" of some sort. OTOH, Apple's goggles use the XNU kernel, so maybe a microkernel would be sufficiently realtime, similar to QNX often used for automotive applications [4].
0. https://web.archive.org/web/20190214134247/http://www.canon....
1. https://www.windriver.com/
2. https://chdk.fandom.com/wiki/For_Developers
3. https://github.com/apple-oss-distributions/xnu
4. https://en.wikipedia.org/wiki/QNX
Realistically there's no reason Linux wouldn't be fine on its own for AR and in fact I'm typing this on Linux on some AR glasses right now.
If you're at all competent, go work somewhere else
You emphasize "sustainably", but how is it more sustainable to give 500k/year to capitalism until you don't make that much / retire / die? In either option, that 500k/year is there until it isn't. With charity, you'd help more people but it would be no more or less sustainable.
By your definition, selling arms to dictators and using the money to buy a yacht and private security qualifies as "service to humanity."
In other words, be useful. You don't have to worry about "being good" or "doing good" though many do and it's quite admirable to do so. But that's not the bar you have to clear.
The bar you should try to clear is to be useful. If what you're doing all day is helping people have shelter, or raise families, or be more healthy, or have more knowledge, or even be entertained or amused, you're being useful to people.
If what you do all day ultimately serves to make people poorer, more divided, more addicted, and more unwell, then what you're doing is not useful, it's harmful.
If what you're doing all day primarily contributes, even indirectly, to making people's lives worse, then nothing you do after that will erase it. Arguments to the contrary are just rationalization.
Whatever you think of Meta core products, they pay a ton of people to work on various open source projects, do R&D on things which are only tangentially related to social media like VR or data center tech.
There is worse way to get a paycheck to do what you are interested in.
This is in no way tangential.
VR is Meta's way of trying to move social media from web to VR in a Second Life way.
And you can believe me that there will be advertisement in the "game".
In the interest of not getting bogged down in semantics, let's just always assume that when people say "advertising" in this era, they mean "targeted advertising". Then we can avoid yet another tired attempt at excusing Meta's behavior.
It’s completely tangential at this point. Meta dreams of a metaverse but most of their investments have gone to solving foundational issues with VR.
If Meta wants to pay for that, well, I’m not going to bite the hands that feeds VR research. My starry-eyed teenage years are thankfully far behind me.
Ads are actually horrible. Holy moly I'm so glad I can just ublock my way through the sea of garbage that is the internet nowadays. The fact there are people still indoctrinated by commercials makes sense, I'm just sorry you see that as a marker of maturity.
Advertisement isn't showing you something you might be interested in. Advertisement is an industry of psychoanalysts spending untold man hours of effort crafting ways to psychologically manipulate the population into serving the needs of a given corporation.
Instagram doesn't just show you cool clothes you might want to buy. It leverages dark pattern ux to keep you engaged with the app well past any healthy duration, and shows you content designed to enrage or arouse you to keep you in a mental state that will increase engagement and possibly lead to you engaging in shopping therapy.
Advertising is releasing psychofauna into the world of YouTube kids to get your children obsessed with brand characters that they absolutely must have physical representations of. Or it gets even darker than that, look up Elsagate.
Maybe advertising wasn't evil when it was a sweet potato hawker shouting their wares into the market. Now it's an entirely different beast and it is anti human and evil.
That you can get paid and have fun doing it, doesn't make the product better.
But my enthusiasm diminished after learning that they worked thousands people to death.
It's only $50 if the government pays for the rest of the ticket. $50 per passenger won't even cover track maintenance. Source: My ass, but I still think I'm right.
I have some bad news to tell you about the overall number of dead related to that government
Funny thing that now many people don't even know that it was Russia and Germany BOTH that started the war. And they were supposed to attack Poland simultaneously, but Stalin, PR animal that he was, delayed Red Army's attack by one week, thereby creating the legend that it wasn't Russia that started the war.
I am sure it made developing and standardizing the algorithm easier, but what makes it such a good (performant) algorithm is the design of the original creator.
Problem is systemic.
You could take a job designing landmines and you'd have a real hard time causing as much actual harm, as there just aren't enough wars going on to reach the same scale
> But isn't that true for every big corp, or even every public company?
So I suppose not really, no.
Additionally companies working on carbon-free energy might also serve as evidence. There are some big ones around.
Interesting exemple because the biggest investors in renewable by far are big oil companies.
So what should people do? Go or not go? Sadly, the world is never black and white.
Yeah its not reliable to count on one charismatic leader to run the whole thing, but that is what the corporate model has being doing and how we ended up here.
> it only went down after you know who passed away.
I mean that's kind of ironic. You believe that Jobs was a great and decent person who led Apple to be roses and rainbows. Outside this cult of personality it was a company that engaged in unethical and monopolistic business practices just as anyone else did, walled-garden lock-in of their platform, intentionally making their devices impossible to repair, planned obsolescence, slave labor conditions in manufacturing, etc. etc.
So the point is untrue, its the benevolent dictator delusion, just like there are no benevolent political authoritarian leaders so are there no benevolent CEOs either. Because the system itself is the issue, authoritarianism/capitalism. If you are a conservative/authoritarian you believe in the former if you are a liberal/libertarian/capitalist you believe in the latter.
If you can get a well paying job at meta, you have other options.
dont shit talk my goat like that
What next, go work for TV stations and sabotage them?
Go work for McDonalds and make it inneficient?
Sabotage manufacturers of combustion-cars?
I'm not familiar of any platform that calls for collective ownership of the means of production, land redistribution and other far left positions.
Pretty sure that's false: I remember seeing the recent commit that made Grok misbehave.
> Here's an experiment for you: open X in a new private tab and count political posts, see how many of them are far right. Bias is evident.
Go to Bluesky and count far left posts. The result will be similar, because political bubbles form by themselves.
Not updated in two years.
> Go to Bluesky...
At least people are not fantasizing about "race wars" or discussing the "jewsish question" there. Two subjects I saw multiple times on X's front page.
"Far left posts" are like, what, people should have access to healthcare? People should pay more taxes?
Another point I would add in support of that meme comment, is Google's recent rug-pull of Android not allowing sideloading apps from unsigned developers anymore starting this autumn, after over a decade of conquering the market with their "go with us, we're the open alternative to iOS" marketing.
The conclusion is to just never EVER trust big-tech/VC/PE companies, even when they do nice things, since they're 100% just playing the long game, getting buddy-buddy with you waiting till they smothered the competition with their warchest, and then the inevitable rug-pull comes once you're tied to their ecosystem and you have nowhere else to go.
Avoid these scumbags, go FOSS form the start, go TempleOS. /s but not really
I don’t know enough about its history to get the joke.
Spoiler alert: a single person coded it in his own programming language, but the person suffered from severe mental illnesses and ended up taking their own life.
The company is a black hole of wasted talent.
You can't do it without going through their fucking app, that asks for every permissions under the sun, including GPS positioning for some reason. After finally getting this app working and pairing it with my headset, I could finally realize the controller was just dead and their was nothing to do.
If it uses bluetooth, which it might for the controller?, the permission for bluetooth on Android is fine location --- the same permission as for using GPS. That might be the same permission you need for wifi stuff, too? Because products and services exist to turn bluetooth and wifi mac addresses seen into a fine location.
But who knows what they do with the GPS signal after they ask for it?
And my quick search on the internet yielded no other mean to pair controllers.
This is madness. The safe space culture has really gone too far.
If a professional can't give critical feedback in a professional setting without being rude or belittling others, then they need to improve their communication skills.
I've had it happen to me too, but my response was to resign on the spot (I was already not satisfied with the company).
The "toxic behaviour" I had done? I reverted a commit on the master branch that didn't compile, and sent a slack to the Dev who had committed it saying "hi! There appears to have been a mistake in your latest commit, could you please check it out and fix it? I've reverted it in the meantime since I need to deploy this other feature"
The dev responded by force pushing the code that did not compile to master and contacted HR.
I decided there was greener grass on other pastures. I was right.
We've only got one side of this particular story, we don't know what happened from the other person's point of view, we don't know what form this HR complaint took - or any of the other details. We can bet, just as I did in my last paragraph, but in my view the odds are more questionable and the topic more likely end up as unproductive venting. Any good comments will get lost.
Still, it's also true that the link is just there as a starting point for discussion, and the discussion can take any forms that the readership would find interesting.
Do you know that that's what's going on here?
> Yes. Seems pretty clear from the post to me that they are making assumptions...
So you don't know what's going on; you're assuming. Cool.
Incorrect. Their post makes it clear they were not involved in their own words. It's called reading comprehension.
Right back at you.
Being "reported to HR" doesn't mean "almost got fired". It likely meant a meeting where someone explained "hey, the way you communicated that caused some upset, let's discuss better ways to handle that situation next time." Very often in larger companies, complaints about things like "this bigwig from this other group jumped all over us" are automatically sent through HR because HR has staff whose job just is resolving conflicts between people and keeping things peaceful.
Everything is ASAP. They are super excited about everything. And nothing you do is wrong, it just could be improved or they like it but don't love it.
You don't know if something is important, basically.
Just like Louis CK said, "if you used 'amazing' on chicken nuggets, what are you going to say when your first child is born?". But in reverse.
Personally, I'd rather work with someone who would tell me my work is terrible if it is.
In Germany, you can't even legally say somebody did a bad job at your company in a recommendation letter. Companies created a whole subtext to workaround that, it's crazy.
Some things are just bad. You should be able to say it is. Not by saying it could be better. Not by using euphemism. It's just something that needs to go to the trash.
In fact, I don't trust people who can't receive this information, even if not packaged with tact (which you should attempt to, but life happens). If you can't handle people not being perfectly polite every time, I can't help but feel I won't be able to count on you when things get hard.
That must be the French in me talking.
I don't think it's just about legality. Whether the recommendation letter is included in the application is at the distinction of the applicant. When you want it to reach the next company, you must write is so, that the former employee considers it to be a good recommendation.
First of all, in southern countries we hardly do recommendation letters, if we do they usually ended up being written by ourselves and if the company agrees with the content, it gets signed.
Exactly because of this, you are supposed to give referrals that then talk whatever they feel like about the experience working with you was all about.
Having a whole legal process for recommendation letters, that have created a whole industry of hidden language that looks good on the surface but tells exactly otherwise, was a surprise to me.
https://www.betriebsrat.de/news/arbeitnehmer/achtung-arbeits...
https://www.zeugnisprofi.com/wissen/arbeitszeugnis-geheimcod...
https://www.orizon.de/de/karriereratgeber/arbeitszeugnis-ver...
Just some examples, there are lawyers that analyse recommendation letters as one of their services.
All the FAANG do dumb shit all the time and waste huge sums of money, if you work at a FAANG the best thing you can do is stay in your lane and don’t do dumb shit — eventually it will shake out.
I have been bullied around by L7s (as a L5) sticking their nose in things, and the best thing you can do is clearly articulate what you are doing and why, and that you understand their feedback. Turns out the L7 got canned — partially due to their bullying — and I got promoted for executing and being a supportive teammate, so things worked out in the end.
Cool off.
The drawback of this is you lose good talent and keep rent-seekers instead.
All you have is the result but you infer a whole lot so it fits your framing.
Someone called HR, HR met with the people and they chatted. That is all you have.
This is exactly the madness I'm talking about.
Case in point.
And me saying cool off is madness? You must live in a mad, mad world. Good luck going forward.
If you're in the middle of trying to write a new operating system, then it's probably not helpful to have John Carmack standing over you repeatedly telling you that you shouldn't be doing it. In this case Carmack gets the last laugh. Then again, it is easy to get the last laugh by predicting that a project will fail, given that most projects do.
He was the CTO of Oculus. Surely it is appropriate for the CTO to give advice on any big technical decisions, if not outright have veto power.
None of it surprising if this is a signal of how they operate.
I mean, if you're working on a project that is likely to fail, wouldn't it be nice if someone gave you cover to stop working on it, and then you could figure out something else to do that might not fail? Can't get any impact if your OS will never ship.
But in any case, almost all interesting projects are likely to fail. Of course it is objectively unlikely that a project to write a new OS will succeed. I expect the people working on it were aware of that.
They probably didn't agree, but the claim was that it wasn't helpful. being helpful and telling people what they want to hear aren't the same thing. If you're working on a destined to fail project, the most helpful thing to hear would be some way to change its destiny, the next most helpful thing to hear would be a call to stop doing it.
Besides all that, Facebook is probably one of the worst places to develop a new general purpose OS. The review system is built around rewarding impact, which means a long term project with no early deliverables sets up the staff to get poor reviews, which limits staffing. The company also has not built the kind of trust in products, sdks, etc that would make using a new OS seem like a good idea to potential users, or to encourage developers to make applications available for it, or to encourage companies to use it in their products. It would have to be so amazingly better than the marketplace of OSes that it made up for the lack of software for it and become a target of new software.
A special purpose OS is different. The development process is usually not as long, the requirements tend to be pretty narrow, and the target would likely be something in house. It might still not be a good idea, there's lots of off the shelf options to look at and they are likely good enough in many to most cases.
if youre apple, it does make sense to do stuff from scratch. i think in a way, software guys wind up building their own prisons. an api is created to solve problem X given world Y, but world Y+1 has a different set of problems - problems that may no longer be adequately addressed given the api invented for X.
people talk about "rewrite everything in rust" - I say, why stop there? lets go down to the metal. make every byte, every instruction, every syscall a commodity. imagine if we could go all the way back to bare metal programming, simply by virtue of the LLM auto-coding the bootloader, scheduler, process manager, all in-situ.
the software world is full of circularities like that. we went from Mainframe -> local -> mainframe, why not baremetal -> hosted -> baremetal?
Their CPU, their boards, their firmware (presumably), their OS[1], much of the perhipherals are theirs, too.
Lots of companies try to emulate Apple, but it's very hard to pull off.
[1] Yes, they use some parts from Mach and FreeBSD in their OS, but the amalgamation is theirs, and they support and change the whole thing as needed.
It's also very hard to do so.
> I can only really see a new general purpose OS arriving due to essentially sacrificing a highly successful product’s optimality to the goal of birthing the new OS