News for hackers. Stuff that matters.
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @04:42PM (#14379190)
Saw this rant about Fuchsia on reddit that appears on the surface to make some good points: https://www.reddit.com/r/programming/comments/6a026o/googles... Not my area of expertise for sure though.

Any kernel dev types here had a chance to look at Fuchsia? Is the criticism warranted?

Update: Fixed link to point at the right comment.

Edit: Should have mentioned the tone is a bit over the top. More interested in the actual points raised though.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by swetland on Friday May 19, 2017 @04:55PM (#14379289)
I'd suggest that it's possible we're using simple, but functional placeholder implementations of things so the entire system can boot and run, and then various parts of it can be worked on at various paces, in parallel, etc.

Lot of moving parts in a kernel, or OS, and one could try to write all of them in their final form first and hope they all work together when done, or one could take a more incremental approach.

Personally, I think the evolution of the general kernel design / syscall interface, love it or hate it, is more interesting than have we optimized the timer implementation yet...

https://fuchsia.googlesource.com/magenta/+/master/docs/conce... https://fuchsia.googlesource.com/magenta/+/master/docs/sysca...

(It's all a work in progress, which has been and will continue to evolve)

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by Ajedi32 on Friday May 19, 2017 @04:59PM (#14379316)
(For context, swetland is currently the main contributer to Magenta, Fuchsia's kernel: https://github.com/fuchsia-mirror/magenta/graphs/contributor...)
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by swetland on Friday May 19, 2017 @05:02PM (#14379337)
The stats are a little unfair there, as I've done a lot of rearranging and housecleaning, which tends to inflate github's scoreboards. I suspect more of my work is outside the kernel than in (driver model/hosting/managing, userspace core glue, etc), but certainly I'm to blame for a reasonable chunk of kernel code too.
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by mckillop on Friday May 19, 2017 @07:44PM (#14380156)
I also encourage anyone that sees something that could be done better to sign up and submit some code!
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @08:53PM (#14380409)
I suspect some are holding back since there's not been much shared about the end purpose. At the moment there's still speculation as to whether it's for mobile devices, desktops, both, or something else.
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by kuschku on Thursday May 25, 2017 @11:40AM (#14417975)
That would be a lot easier if it were GPL with no CLA.

The way it currently is, it looks like something Google will develop with the help of the FLOSS community, and then take the code, close it, and continue everything else in the dark.

As they’ve done with most parts of Android by now.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by CountSessine on Friday May 19, 2017 @05:19PM (#14379436)
We all have bad days, but some of this rant is really toxic.

Dear god. I looked at the kernel and it's awful

Stuff real operating systems have solved decades ago

WTF?

This is hilarious. Did they decide to reinvent all the wheels badly just because someone at Google was bored?

The ex kernel developer in me feels insulted that a serious company would release something this immature

So, have they actually released Fuschia? I was under the impression that this was still being developed in the open until such time as it actually becomes a "real operating system"? And IMHO the world needs a good open-source microkernel OS; I'm ok if the scheduler is suboptimal on release - that can be fixed eventually. Linux will never be a microkernel OS, but Fuchsia can always be optimized. Performance-wise it just needs to be good-enough on release.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by ProAm on Friday May 19, 2017 @05:35PM (#14379526)
> Did they decide to reinvent all the wheels badly just because someone at Google was bored?

This is how projects are born and die at Google. They live until no one is interested in them anymore and they are abandoned.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by trendia on Friday May 19, 2017 @07:03PM (#14379976)
> They live until no one is interested in them anymore and they are abandoned.

Sometimes they don't even wait until no one is interested!

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by potatolicious on Friday May 19, 2017 @05:23PM (#14379462)
A quote that, while not automatically true, seems to apply to many situations:

"People who are brutally honest generally enjoy the brutality more than the honesty." - Richard Needham

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by on_and_off on Saturday May 20, 2017 @05:17AM (#14381587)
A bit off topic, but thanks for this quote !

It resonates a lot with my experience.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by bitmapbrother on Friday May 19, 2017 @06:08PM (#14379704)
>The ex kernel developer in me

He seems to be reciprocating the years of criticisms and verbal abuse given to him by Torvalds.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @06:11PM (#14379715)
His comments sound more like he contributed to one of the BSD kernels.
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by bitmapbrother on Friday May 19, 2017 @08:29PM (#14380320)
He doesn't really indicate what kernel he worked on. Regardless, Linus knows no kernel boundaries ;)

I'm also surprised that someone, who purports to be knowledgeable on kernel development, was not cognizant of the fact that the code he was looking at was only started 8 months ago and no where near production quality. To start making assumptions on the quality of an OS based on very early code was extremely immature and makes me wonder what exactly his qualifications really are. The primary goal of the Fuchsia team is to try and get something booting up and running and then start to iterate and polish.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @09:00PM (#14380434)
He does, later in the thread...

"I just learned by doing. Got annoyed by something being bad in one of the BSDs, found out how to get into their secret chat channel, started whining and got told to shut up and write the code. So I did."

And rambles more about why he feels Fuchsia did the wrong thing. Specifically because better implementations of some parts with licenses compatible with Fuchsia existed. Which I suspect is a nod again to BSD.

With a more calm tone I think saying that writing your own suboptimal tick timers, or locking strategy, or whatever...versus using something known good, is fair criticism. Not being my space, I wasn't sure if the base criticism was valid. The responses here seem to indicate they are.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by bitmapbrother on Friday May 19, 2017 @11:26PM (#14380888)
The problem with his criticism is that he seems to think the present decisions the authors have made, for an 8 month old OS, are written in stone. It's like reviewing a car while it's still being assembled at the factory.

Fuchsia is probably 2 or more years away from an Alpha release. Things are changing at a rapid pace.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @11:49PM (#14380937)
No, I got that idea. But, for his examples, he mentions existing solutions could have been lifted.

If the suboptimal stuff was existing, I take your point. Perhaps it was straight from LK?

But writing something new, that has flaws, as a placeholder...when something better exists already, and has a compatible license...that seems fair game to question.

Especially if it's something that has tentacles and creates dependencies. Placeholders sometimes don't stay as such.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @05:27PM (#14379481)
That's a good point...I should have mentioned the tone. Despite it, though, there is some actual content in the rant.
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by s73ver on Friday May 19, 2017 @06:29PM (#14379810)
On the one hand, the tone is pretty bad, and if someone on my team had done this in a code review, I'd have to have a serious discussion with them.

On the other hand, it's a reddit comment.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by erikpukinskis on Saturday May 20, 2017 @12:09AM (#14380987)
When you are trying to invent a new version of anything low level, sometimes it makes sense for you to just stub out a supporting library out with a naive implementation, because you then have an interface that you can move around easily. If you are wrapping an existing implementation, with lots of optimizations and corner cases, you'll just get bogged down in refactoring all of those expectations over and over.

Today I implemented an immutable-ish array in JavaScript. I'm using it because I needed something that could work in conjunction with the non-relational, non-key-value database I am building. There were other libraries that provided immutable arrays, probably much better than my implementation. But because I wrote both the immutable data structure and the database, and both implementations are naive, I can very easily trade functionality back and forth between them in order to get the interface right where it needs to be.

There's a good chance I'll then swap out my data store for some existing algorithm, but I really won't know which algorithm I even need until after I've built several applications on top of the naive implementation.

Really, the key here is that this is prototyping. When you're building a prototype, you don't do the thing that will lead to the most correct code, you do the thing that will teach you the most about what the design should be.

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by kyrra on Friday May 19, 2017 @04:50PM (#14379251)
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @05:00PM (#14379321)
Yes...updating. thanks.
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by hnur on Friday May 19, 2017 @06:07PM (#14379700)
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by steveklabnik on Friday May 19, 2017 @04:49PM (#14379234)
I don't see the rant; that's just the link to the whole discussion. Did you mean to link to a particular comment?

I haven't followed Fuchsia that closely, but I was under the impression that the team consisted of some all-star kernel developers; former BeOS people for example?

Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @05:02PM (#14379338)
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by cjbprime on Friday May 19, 2017 @04:50PM (#14379250)
Can't tell which comment you mean, but if you mean the criticism that Dart is used as a userspace language, that's not related to the choice of kernel (which seems fine to me).
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by tyingq on Friday May 19, 2017 @05:02PM (#14379334)
It wasn't that, no. Fixed the link...it is pointing to the right spot now.
Re:First Rule of Google Fuchsia OS Is to Not to Talk About It by Kenji on Friday May 19, 2017 @05:20PM (#14379439)
>Their tlb shootdown is not only synchronous, but it only shoots one page at a time, synchronously.

QNX6.6 introduced this too (as a fix for a race condition that existed in QNX6.5 and lower) and it was a huge pain to get actual realtime inbetween the TLB flush storms. Like, this is a make-or-break issue right there. TLB flushes can easily eat 10% of all CPU cores if you start and end a process every second.