The State of Rust on Haiku(haiku-os.org) |
The State of Rust on Haiku(haiku-os.org) |
[0] https://github.com/fuchsia-mirror/zircon/tree/master/system/...
[1] https://github.com/fuchsia-mirror/zircon/blob/master/docs/fi...
[2] https://github.com/fuchsia-mirror/garnet/tree/master/bin/blu...
[3] https://github.com/fuchsia-mirror/garnet/tree/master/go/src/...
Fuchsia, as far as I can see, is the ultimate "modern" OS. While very safe, it will be very locked down, in the tradition of iOS, Android, Secure Boot, HTML5+js etc. but "done right". There will probably be a lot of things I won't be able to do with a Fuchsia phone.
The PL nerd in me is thinking: "Written in C++. Lame." Of course, that attitude didn't work out very well for the iPod guy.
Check it out here: https://web.stanford.edu/class/cs140e/
Strange. I hope this isn't simply a case of wildly over-committing memory and getting away with it on Linux. But then I guess the bsd folks would have is yes too?
In order to parallelize the build process at the rustc-llvm codegen boundary, Cargo has to implement some orchestration between compiler processes (using jobserver-rs [1]) so that 10 rustc processes didn't all create 10 threads and codegen units each and blow up the system. I'm guessing that memory quotas are a part of that implementation.
"Haiku is an open-source operating system that specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful."
I was a huge BeOS fan back in the day, and bought the Intel version when I had a Pentium ][ computer. I was so excited for OpenBeOS (now Haiku) after BeOS got acquired, but it's been something 17 years, and it looks they're still just a release candidate for 1.0.
Back then, BeOS did some amazing stuff compared to Windows, but technology has come a long way since then, and I'd rather be using MacOS, Windows or a Linux Desktop like Ubuntu than Haiku.
Sometimes we get new Linux distributions (I know Haiku isn't that), a language I've kinda heard of, or something, and i'll go to their site... I still don't even know what I'm looking at.
And given the fact that Haiku OS team's goal is to build a 'unified' and well-fused OS for personal use [1], using a single language should greatly help with reducing complexity and improving robustness.
[0] https://hacks.mozilla.org/2017/11/entering-the-quantum-era-h... [1] https://www.haiku-os.org/about/faq#what-is-haiku
You might be thinking of RedoxOS [0]?
https://github.com/ansuz/RIIR/issues/35 https://transitiontech.ca/random/RIIR
EDIT: it looks like they have interface generators for their APIs, which includes rust support as a first class citizen.
Of course your environment should be able to survive and persist 99.99999% of errors, that's critical... there should be no throw()s or panic()s.
But the type system is gorgeous. And the community is awesome.
If you're concerned about installing your own software on your own hardware, why not buy it from a manufacturer that protects your freedom to be able to do so?
You are locked to the browser sandbox and web sites, which you will never see the code running on their servers.
X11 terminals are back, just prettier.
Android now compiles with clang, including their own modified Linux kernel, and gcc is no longer supported on the NDK.
Clearly, Google wants to be able to support companies which want to sell locked-down phones.
But as long as they sell their own phones with unlockable bootloaders, you can vote with your wallet and buy those phones.
I am concerned about the reduction in use of the GPL, but what I care about is being able to run and modify the software on my phone, and as long as Google is still releasing AOSP (and the Fuchsia open source project), and selling phones that are unlocked, I'm happy enough with that.
Yes, they might change their policy in the future. But for now there's no indication that they intend to do that; they've always been good at selling their own phones and Pixelbooks with unlockable bootloaders that does allow you to replace the ROM if you want.
The one thing that makes Haiku intriguing and promising in my eyes is the fact that its developers want it to be a first class desktop/laptop OS above all else with no server/mobile/other kitchen-sink-isms muddying the water. There’s nothing like that out there today, save for maybe macOS (which is more desktop focused but still suffers from the various multipurpose compromises brought from its *NIX heritage).
I'm not convinced that at present this is a meaningful benefit especially compared to the increased resources available for say linux. The one good example that I can think of cpu schedulers seems to be solved by running a kernel with alternative patches.
Haiku doesn’t have to worry about this problem at all. It can simply implement the most effective and good-experience-conducive end to end design possible for its window management and compositing since it’ll never ever be a headless server.
In today's terms, that sounds a lot like an iPad (with an attached keyboard) or a Chromebook.
Haiku runs circles around Ubuntu MATE on these devices; it may seem equivalent on benchmarks, but the UI just _feels_ much zippier and apps load quickly.
Doubtful. After seeing a few Haiku posts over the past few days I downloaded it and gave it a try. There's a lot of promise, but it's pretty darn glitchy (e.g. DHCP client works occasionally, mail client sees mailboxes but doesn't fetch messages).
I'm in the opposite camp though. I'd love to find a viable alternative to macOS.
I've finally found a consistent way to reproduce the DHCP glitches, so I might be able to spend some time debugging that. The mail client is another issue; for now you're probably better off avoiding it. (There are third-party mail apps in the depot, so maybe try one of those?)
Glad to hear you can see the potential, though! :)
TuneTracker (http://www.tunetrackersystems.com/index.html) ships commercial radio broadcasting systems that run on Haiku.
What chipset is that? I just merged new drivers for the Intel PRO wireless chipsets and Intel "Dual Band" chipsets; so if it's one of those it might work out of the box now.
> a modern web browser
Well, WebPositive can play YouTube and mostly works on major sites ... but yes, this is a difficult problem.
Rust and Servo are already good for massive multithreading, so that should fit into the Haiku expectations pretty well.
Microsoft lived without it for years and then finally did the job when they needed a Core OS to be shared between laptops, servers, phones, and Xbox— in the process they discovered and cleaned up all kinds of super weird interdependencies between components which should definitely not needed to be talking to each other.
I used to run Linux on the desktop pretty extensively, but eventually got fed up with how often something broke and I had to fix it (ALSA doesn't play audio anymore, or suddenly MP4 files stutter -- or most recently, on the last remaining Kubuntu install, I can't even log in to my user account after the upgrade, it just hangs.) So, perhaps the system is "better architected" by some standard, but having those weird inter-dependencies tends to mean everything runs smoother. Depends on what your definition of "good" is, I guess.
ALSA not playing either means that there are driver issues - and i highly doubt Haiku solves the problem of drivers having bugs - or there is some configuration issue.
But this (configuration) issue and the desktop focus do not seem to require getting rid of the entire kernel and - most importantly - the systems it supports. If X11 doesn't do (which i doubt, X11 ran on way more restricted hardware than what is available even on $5 "computers" today, but lets roll with it) you could simply write a new window system from scratch and provide a layer for everything you may think a desktop system needs so that any application written on that layer will keep working if the backend library/tech changes.
And from my understanding of Haiku, this is basically what happens already (<Stuff>Kit depends on some popular open source library for <Stuff> that is already available on Linux but exposed to applications through the <Stuff>Kit API), except with a kernel that doesn't support most things that people need today.
Personally i like the idea of Haiku as a desktop focused system, i just do not see what exactly having a custom kernel with its own need for drivers and hardware compatibility provide that a layer on top of kernel that exposes a similar API doesn't (beyond of course the hack value and the fun of making a kernel - something i am 100% totally behind as i personally write a lot of stuff just for the fun of it).
A number of things have been historically sub optimal on the linux desktop but while the way linux is designed as a bunch of loosely coupled projects DOES seem to be the cause of it being able to be a lot of different things to a lot of different people example different window managers, compositors, file systems its not equally clear that the defects present exist for the same reason.
It seems likely that haiku expanded to thousands of different types of computers could easily be worse or better than linux in practice insofar as buggy behavior while still definitely being objectively worse insofar as not being modular.
Well, when was this? Probably a few years ago? We've really improved since then.
> or there is some configuration issue
In the case I alluded to here it was a configuration issue. I eventually solved it, but it took me about 4-5 hours of Googling and reading settings files. Really not something an end-user should have to think about.
> on way more restricted hardware than what is available even on $5 "computers" today, but lets roll with it
Great. Show me a Linux distribution right now that can do that, while also having the default installed web browser play YouTube. Is it "possible"? I don't know, but nobody seems to be doing it.
> except with a kernel that doesn't support most things that people need today.
[[Citation needed]]
Yes it was a couple of years ago.
> In the case I alluded to here it was a configuration issue. I eventually solved it, but it took me about 4-5 hours of Googling and reading settings files. Really not something an end-user should have to think about.
Indeed, but if your project controls everything above the kernel to the desktop environment (what Haiku already does, minus the kernel itself) you can handle the configuration too. The idea is that a program will talk to your desktop API which will talk to the kernel - the configuration is up to you to handle pretty much the same way as Haiku already does.
> Great. Show me a Linux distribution right now that can do that, while also having the default installed web browser play YouTube. Is it "possible"? I don't know, but nobody seems to be doing it.
I think you totally misunderstood the part you quoted. I was referring to X11, the earlier implementations of which was running on hardware like IBM 6152 with a 5.9MHz CPU and 1MB of RAM. A $5 Raspberry Pi Zero is a sci-fi level supercomputer compared to that.
> [[Citation needed]]
There is no point going antagonistic over this, the Haiku site has all the information you need:
https://www.haiku-os.org/node/4390/
Also last time i checked there wasn't even accelerated OpenGL.
I mean, really consider the issues people have on a popular OS like Linux to get hardware working properly - Haiku is in a much worse position here.
I know. I mean, if that's possible, why is nobody doing it with Linux today? Or is it impossible in practice?
> There is no point going antagonistic over this, the Haiku site has all the information you need:
That page is pretty severely outdated; most of the drivers listed on that page are now confirmed as working, and we've merged more network ones from FreeBSD as time permits. Really, our hardware support is actually pretty good these days.
> Also last time i checked there wasn't even accelerated OpenGL.
There still is not, but there are blueprints for implementing it. If we had more than a man-month of development effort spent per month, we might actually get to it...
> I mean, really consider the issues people have on a popular OS like Linux to get hardware working properly - Haiku is in a much worse position here.
Maybe. But if that's the one con vs. all the aforementioned pros to having our own kernel, why is that such a problem, really? If the system really is "that much better," then users will be fine with buying specific hardware, at least until we can get the time and resources to support more.
There are probably over a hundred distros but most users are using some variation of 4 and those who want to use their computer not play with their computer ought to look into using a stable branch of whichever distro suits them.
Great. How was I supposed to know that just under a decade ago when I first installed that? And I'm a programmer; how is any end-user supposed to know that? Ubuntu is one of the Linux distributions that has a lot of name recognition outside the Linux desktop community; you would assume anything based on it would also be fine.
So while I know that now, it doesn't change the fact that the Linux desktop has a messaging problem. Is it fixable? I have no idea. But it's not now; so come back when it is.
> bunch of loosely coupled projects DOES seem to be the cause of it being able to be a lot of different things to a lot of different people example different window managers, compositors
And that's my problem with it. It's too configurable. If that's what you want, then use Linux. But if you want to do real work? Then people use Windows, or macOS, and maybe in the future, hopefully Haiku.
> than linux in practice insofar as buggy behavior
We already support "thousands of different types of computers". Not sure what you're going after here.
> while still definitely being objectively worse insofar as not being modular.
Our kernel is actually more modular than the Linux kernel is; and in theory you could swap out other components too. But that's beside the point. Why is modularity some great ideal that everything should strive towards? It may be great in theory, but is it so in practice?
The public somehow deals with their being lots of kinds of cars without melting down. They read reviews, they test drive. You just bought a kia and told people that all cars made outside the US suck because you know Toyota and Honda aren't a thing.
You don't have to do much work to use Linux. It certainly invites tinkering like a big box of legos but you can buy a machine that supports linux or even buy a machine WITH linux install a mainstream distro stable version preferred and do work.
People don't buy windows or mac because its easy to configure. They buy it because someone has gone to the effort to install it on the boxes on display at best buy and walmart and work out any kinks with the hardware/software.
People will only buy Haiku EVER if its sold preloaded on a good looking box.
My previous experience was with Ubuntu/Unity, which was the first Linux Desktop system I ever ran. It was ... not a whole lot better.
> You don't have to do much work to use Linux.
I've explained multiple times that this isn't my experience with Linux. Maybe it was for you; but it certainly was not for me.
> People don't buy windows or mac because its easy to configure. They buy it because .. work out any kinks with the hardware/software.
The second half that statement is certainly true. But as for the first half? A good portion of my family, most of whom are programmers, disagrees with you, and so do I.
> People will only buy Haiku EVER if its sold preloaded on a good looking box.
TuneTracker does this already.
Keep telling yourselves that Linux Destkop folks. Anything to not actually listen to why people don't use your crap.