kerneis's comments

kerneis | 3 years ago | on: Ask HN: I whant to Learn C++ not Rust!!

It won't help you learn C++ from scratch, but once you know a bit about it, the Abseil tips published by Google are a remarkably useful resource to learn best practices and modern C++: https://abseil.io/tips/

They are one of the main tools used internally at Google to ensure engineers who have to use C++ stay on top of language evolution and avoid common pitfalls.

kerneis | 4 years ago | on: Neovim 0.5 is overpowering

Following-up on irrelevancy: what made you stick? We had the same experience, but gave up after 6 weeks because breastpumping was exhausting, and switched to bottles and artificial milk which our daughter loved immediately.

kerneis | 4 years ago | on: Google is officially releasing Fuchsia OS, starting with a first-gen Nest Hub

I don't know a lot about Capsicum, but from what I remember (and see from their website) it adds capabilities to FreeBSD but doesn't make them mandatory. As such, it is a tool to build compartimentalized applications. It does not provide a comprehensive solution to sandbox existing applications, and does not remove the ambiant-authority model. It is a better, safer chroot(). Fuchsia, on the other hand, is built on top of capabilities from the ground up, ensuring that you don't even have a concept of "file descriptor" or "centralized filesystem" to begin with.

kerneis | 4 years ago | on: Google is officially releasing Fuchsia OS, starting with a first-gen Nest Hub

> do you anticipate ever having to change it or do you think it's pretty final at this point?

We're not there yet, but defining a stable driver runtime is on our roadmap for 2021: https://fuchsia.dev/fuchsia-src/contribute/roadmap/2021/stab...

For non-driver interfaces, similar stability commitments may be shared over time, as the platform matures and we get more users.

> Are there any sort of security guarantees to protect against malicious services?

Fuchsia is based on capabilities, ie. handles to access resources, and those include memory regions. So a driver will only be able to access the parts of memory that you delegate to it. I don't know enough about drivers to provide a detailed security analysis, but I think it provides far more isolation than what you have in a monolithic kernel such as Linux.

kerneis | 4 years ago | on: Google is officially releasing Fuchsia OS, starting with a first-gen Nest Hub

That's a fair point, and the distinction between Chrome and Chromium is indeed relevant. Sorry for the confusion, see my sibling comment about how it applies to Fuchsia (ie. what is open source and what may not be).

What I really meant to say, though, is that Fuchsia is taking an approach to inclusiveness and open source which is much more similar to the one of Chromium than Android. You may find out more on https://fuchsia.dev/fuchsia-src/concepts/principles/inclusiv...

kerneis | 4 years ago | on: Google is officially releasing Fuchsia OS, starting with a first-gen Nest Hub

The key concepts are documented here: https://fuchsia.dev/fuchsia-src/concepts

Some things that Fuchsia was able to do thanks to starting from scratch:

- The system is based on capabilities, a security model which is based on explicit tracking of permissions. It wouldn't be possible to change Linux to be capability-based because the ambiant-authority model has been used pervasively since it was conceived 30 years ago.

- Fuchsia provides a stable binary interface (like Windows, but unlike Linux). This lets you update your system while keeping some components unchanged, eg. binary drivers from a hardware manufacturer that wouldn't provide updates for them anymore. I think Linux could technically change this, but they have historically been unwilling to, and it is unlikely to change in the future.

kerneis | 4 years ago | on: Google is officially releasing Fuchsia OS, starting with a first-gen Nest Hub

If you are interested in running Fuchsia on a laptop or desktop device, you probably want to follow the Workstation product effort:

- https://fuchsia.dev/fuchsia-src/contribute/roadmap/2021/work...

- https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0...

And as mentioned elsewhere, you can already build Fuchsia for an Intel NUC, with keyboard, mouse, ethernet and external screen support: https://fuchsia.dev/fuchsia-src/development/hardware/intel_n...

kerneis | 4 years ago | on: Google is officially releasing Fuchsia OS, starting with a first-gen Nest Hub

There are several parts to your question, let me try and answer each of them as I understand them.

Fuchsia is built with a minimal core (sometimes called a microkernel) and many user-space services interacting with each other over an IPC protocol (called FIDL). The open-source part of Fuchsia, available on fuchsia.dev, is a standalone system which you can build and run on supported architectures. It contains all the services required to start a user interface, interact with the network, etc. Currently, the main supported hardware architecture for people wanting to build their own version of Fuchsia is the Intel NUC: https://fuchsia.dev/fuchsia-src/development/hardware/intel_n....

For a retail devices, such as the Nest Hub, vendors can build a custom system with additional or different services from what is found in the open-source release. Thanks to stability of the FIDL interfaces, those closed-source services do not prevent the core system from being updated. For more information on services and packages, you can read https://fuchsia.dev/fuchsia-src/concepts/software_model and the pages linked from it.

Some of those services are drivers; others may be in charge of communicating with Google Services or customizing the UI; and not all of them are necessarily open-source. So if you wanted to build your own version of Fuchsia for a Nest Hub, you'd need to replace the closed-source components. As far as the Nest Hub is concerned, I'm not sure what the exact status is. I believe a significant part of the drivers have been developed in the open (which is how 9to5google was able to guess in the past that we would be targeting this platform), but take this with a grain of salt, I didn't work on drivers. The part that interacts with Google Services is closed source. I'm not sure this is much different from the situation with Android: not all drivers or UI used on Android devices are open source, are they?

Finally, as you note, the bootloader can be locked on retail devices, preventing you from reflashing the system with your own build unless it is signed by an authorized key (mostly for security reasons, as far as I understand it). This is a product decision that is not related to Fuchsia itself, it depends on each manufacturer. I don't think it has ever been supported to reflash a Nest Hub, and the migration to Fuchsia shouldn't change that.

kerneis | 5 years ago | on: AstraZeneca/EU contract

The term is capitalized, which means it is defined in the first section of the document, more precisely on p. 3 in that case:

1.9. “Best Reasonable Efforts” means (a) in the case of AstraZeneca, the activities and degree of effort that a company of similar size with a similarly-sized infrastructure and similar resources as AstraZeneca would undertake or use in the development and manufacture of a Vaccine at the relevant stage of development or commercialization having regard to the urgent need for a Vaccine to end a global pandemic which is resulting in serious public health issues, restrictions on personal freedoms and economic impact, across the world but taking into account efficacy and safety; and (b) in the case of the Commission and the Participating Member States, the activities and degree of effort that governments would undertake or use in supporting their contractor in the development of the Vaccine having regard to the urgent need for a Vaccine to end a global pandemic which is resulting in serious public health issues, restrictions on personal freedoms and economic impact, across the world.

kerneis | 5 years ago | on: Show HN: Galène Videoconferencing Server

Remember it was initially implemented to support giving lectures to tens of students, who may join late or leave early. Having to teach remotely, let's try to at least not reproduce the annoyance of the physical world with the noise of the classroom's door ;-)

(I agree that an optional sound would be nice.)

page 2