> without, you're basically restricted to "guess and test" and reverse-engineering other drivers to see the differences in behaviour.
Not entirely. If you look at the commits I linked in the post, you'll see that most of them fixed rather egregious spec violations. Arguably the spec could have been clearer; but still.
> The fact that "real" debugging requires an extremely expensive protocol analyser/oscilloscope also adds to that
USB packets can be sniffed in Wireshark. But for the kinds of bugs that this driver had, that isn't helpful; most of the problems were failure to initialize the controller or sending invalid command sequences. So that wouldn't be very helpful anyway.
Most of the protocol analyzers I've seen go out of their way to highlight invalid sequences and spec violations. IMO, that's most of their benefit.
You can get a long way by becoming comfortable with the specification, reading and getting review on your source, and by using the debugging tools on your OS (we have MDB and DTrace, etc).
4kilopages, before you even get to actual profiles.
> and started anew in the later versions.
source: been working on this for any many years :(
airdrop uses LE to establish connection
Anyway, is that a lot for a technical specification? Most programming languages I've used in the past year have had longer specs than that (if they have one at all). Even plain C is over 500 pages now.
The biggest concern I have here is requiring an oscilloscope. Nothing here looks like it should require an actual physical layer. Why was USB designed to conflate these layers in the first place? The whole OSI stack might be silly but separating the physical layer has always been a great idea. When I upgrade from 10/100 ethernet to 10/100/1000 ethernet, I don't have to re-test my web server and mail server.
No, but you had to change all your network cards on both ends of the connection, and of course there were new drivers for the new chipsets. Same with USB.
Browsers? Usable for the focused mind, lots of wip... For me, I have text editors, compilers, a terminal, and aws cli... I can wish for more, but I am happy with this.
2012 and earlier Macbooks pretty much work, I'm told (though you will hit the remaining NEC/Renesas bug I mentioned in the blog post, so use a USB2 drive until we manage to debug that.)
But yes, generally our hardware support is not quite as good as Linux's, so you will have a mixed bag in Macbooks. High-end PC laptops (e.g. Dell XPS 13) are fine.
EDIT: According to the comment below, it seems I was misremembering, and these problems occur on 2015-and-up Macbooks, not 2013-and-up.
So: I was surprised at how easy it was to end the experiment early and try out another Linux distro, even though I'll probably try out other Haiku releases in the future. The boot time and single-user configuration was definitely a nice break.
Such as? Haiku has the "workspaces" concept too (https://www.haiku-os.org/docs/userguide/en/workspaces.html), though perhaps not as full-featured as Linux's.
A really basic difference example though was that the default window move/resize RMB shortcut modifier is simply Alt in my Linux install, as opposed to Ctrl+Alt on Haiku. On a cramped keyboard this combination was fiddly. I also swap caps and CTRL on this keyboard in Linux and I hadn't checked yet if this could be accomplished. There were lots of things to look into.
I appreciate your response, and will probably try out Haiku again in the future. I liked that it was easy to install and test. Also as someone who uses QMMP a lot, I was very pleasantly surprised at the neat Be-style skin that came in its Haiku install. :-)
This you can already do; see Keymap preferences: https://www.haiku-os.org/docs/userguide/en/preferences/keyma... -- you should be able to just drag & drop the keys around to swap them. Or you can edit the keymap file directly to completely customize it.
> the default window move/resize RMB shortcut modifier is simply Alt in my Linux install, as opposed to Ctrl+Alt on Haiku. On a cramped keyboard this combination was fiddly.
We have a ticket somewhere to revamp the hardcoded shortcuts into the "Shortcuts" preferences pane; but nobody's done this yet. Eventually...
Shame, it seemed a promising project.
Okay my assessment was based on this, the fact that there only seems to be a beta release for download, and there didn't seem to be a decent web browser at some point fairly recently ( there was a story on HN?).
Are these misunderstandings? Do we have different definitions of 'doing well'?
Programming for real hardware is simply harder than the most can imagine.
It's very honestly amazing what they've accomplished.
Yes it is amazing what they've accomplished.
I was mourning the fact that despite all the mind share, all the talented developers, they didn't manage to produce an OS that just works (tm). I'm cognizant of the fact Linus Torvalds started out very in similar circumstances. I don't know if it is Linux taking too much air out of the room, or if in 2019, building the OS that just works (tm) is just too bigger job for volunteers. That is the shame.
We have ~10-15 major active contributors, and with that, we can basically compete with "Desktop Linux" in terms of functionality. Not everything works or is polished to the degree we'd like ... but it's nearly there.
So then who is the one wasting the "mind share" -- the Linux DE space, with its hundreds of developers spread across dozens of projects, or us, who can do basically the same thing with a fraction of the time and resources?
"Not everything works or is polished to the degree we'd like ... but it's nearly there"
What does nearly mean?
Please don't interpret those as being argumentative rhetorical questions, I take the we to mean you're a contributor, so you have the right to define those.
The first Alpha was in 2009? So personally I'd expect you to be there by now. And I'd expect an OS that just works, which would include working USB 3, and a decent web browser.
So when is a stable release due, (I would like to try it)?
What are your aims for the OS? Do you want an OS that I can recommend grandma puts on her computer knowing it will work, or is it an OS where I'll have fun diving into config files?
Reading the website etc I've understood the longterm aim to be the former. If I'm wrong please let me know, so I can calibrate my expectations.
Thanks for your reply btw. I do want you to succeed.
Err ... I don't know what you mean?
> "Not everything works or is polished to the degree we'd like ... but it's nearly there" What does nearly mean?
Uh, it means there are still a lot of bugs, and some missing major/minor features in certain areas (e.g. GPU acceleration is a massive TODO / WIP; I have some work on it out-of-tree but it's not in yet.)
> The first Alpha was in 2009? So personally I'd expect you to be there by now.
Uh, excuse me? By whose standards? We are, as I said, 10-15 (well, then it was a little more) people who do this for fun. We have lives outside of open source development, you know. We aren't paid to do this.
> And I'd expect an OS that just works, which would include working USB 3, and a decent web browser.
So you expect a product. Great. Who's paying?
> So when is a stable release due, (I would like to try it)?
What's stopping you from trying it right now...?
> Do you want an OS that I can recommend grandma puts on her computer knowing it will work, or is it an OS where I'll have fun diving into config files? Reading the website etc I've understood the longterm aim to be the former.
That is correct.
Ok, then I don't think it's fair to start being hostile to people when they expect USB 3 support and a web browser. I don't expect a product, that's what you're saying you're offering.
You said you're nearly there, I think it's reasonable to ask when that might be. I'm not asking for a cast iron guarantee to the day, but 1 year? 5 years? The thing stopping me from trying it is lack of stable release.
" "basically compete with "Desktop Linux" in terms of functionality" On what terms?"
I mean do you want to be judged as a hobby OS, or something to stand toe to toe with Linux on every measure. Theres no point me complaining USB 3 doesn't work if your only aim for the project is something to do on an evening. You've indicated that you want it to be something to put on Grandmas computer. Fine, but that sets a much higher bar, and you can't say "fiddle with config file" when something goes wrong.
Ps I'm still detecting hostility, I hope its because you vehemently believe I'm wrong and you can succeed (I hope I'm wrong, and you do succeed)
If you want them to succeed, help them, get involved, don't sit on the sidelines jeering at them for ten to fifteen people not being at the same level as thousands of contributors.
If they want to put it on github, with an announcement saying they've done a thing for fun, what do you think? I'll judge it on those terms. If they say they're aiming to create an OS that I can put on my Grandma's computer (which they have, read the thread), then its only fair on them to judge it in those terms.
I've been complementary and wished them well several times in this thread, because yes there are only 15 of them, but that doesn't change the fact, that they haven't yet built what they said they were going to build. That isn't jeering, and it isn't patting them on the head and telling them that it's the taking part matters, either.
X86 hardware diversity exploded shortly after Linux took off, which gave more popular operating systems a huge incumbent advantage.
However, now that Moore’s law has petered out, you can target Intel’s current mainstream SoC, and you have a bootable product.
Hopefully this translates into more competition in the operating system kernel space.
GP is saying that the expected components that make up a modern operating system, including things that might be seen to be 'trivial' such as full USB 3.0+ support; a full, robust networking stack; the sorts of security and protections against modern methods of attack from bad actors; all on top of modern, efficient, and possibly even forward-thinking APIs that make developing for the OS efficient and even a joy for developers — these things are neither trivial, easy, or quick to do.
Whereas you're talking about just hardware, which is not even close to the whole story when it comes to an OS in 2019.
I said basic, in the sense of USB 3 is a basic component I would expect to see in an modern OS. I did not, and do not claim that it would be trivial to implement.
It would seem like this specification has been a pain point for many other projects before. For a os with only a few contributors doing work on their freetime, I think it is going great. (My opinion, like mouths... everybody has one)
"For a os with only a few contributors doing work on their freetime, I think it is going great "
Oh definitely, I bear no ill will, and would like the project to succeed. But can you make a full featured desktop OS in your free time. There's another comment on this thread pointing out the spec is 600 pages long. I can understand how if you're doing it as a hobby that would take time.
If someone built a car in their garage I'd be impressed. It may have taken 10 years, look ugly and leak oil but its still an achievement. I wouldn't buy it though, I don't want a car that leaks oil, and doesn't have crumple zones etc.
I guess what I'm (slowly) stumbling towards asking is, is this a hobby OS or a 'big professional' OS? Reading between the lines you seem to be happy with a hobby OS, if so great, but that isn't what I want, I'm not sure that is what it was hyped to be.
I think you underestimate the sophisticated complex problems of USB 3. Even for a hobby OS this is a massive achievement.
The car has to compete against Tesla, Ford, Toyota though, does it cut it?
Does Haiku cut it against Linux, Windows, the BSDs?
Maybe I have unreasonable expectations that it should.
The car can exist for its own sake. The builder had fun making it after all. I thought the idea was that we were all going to be driving round in our own home made cars.
So am I judging it on the engineering skill of the builder, as his hobby project? Or an I judging it as my next potential car?
I can forgive that home built car not having crumple zones, radio, opening windows. They are hard to do, as a car buyer they are basic things I expect.
What has all the discussion on HN today improved or helped?
If you don't wish to be reading other peoples assessments then you've come to the wrong place.
If you think I'm wrong, please correct me. I've put my opinion and reasons why.
So if I had all that, I could use Haiku as my home/hobby tinkering machine. I would still need a Mac, Linux or Windows machine to do some other heavy lifting, but I already have three computers at home, so no problem.
It had working Google Calendar sync at one point, dunno if it still is. It could definitely use some work, though.
The Beta 1 release, when I tried it on my Ryzen-based desktop, wouldn't get past the splash screen, stalling out at things that seemed to revolve around the SATA controller.
Meanwhile, pop the same flash drive in a Thinkpad X230t, and it booted and installed fine, and even Wi-Fi worked without a significant hitch.
Did any icons light up? There was (is) an undiagnosed issue that is preventing BIOS booting from working on Ryzen. I know one of the other devs runs Haiku on his Ryzen via EFI and says it works like a charm.
> I suspect their work optimizes around a relatively narrow band of supported hardware.
Not by design, but just by circumstance -- we developers optimize for the hardware we have and use, and not many others tend to submit patches, so that's the way it goes.