Live data from Hacker News

Chrome Is The New C Runtime

mobilespan.com

141–149 of 149 posts

Re: Chrome Is The New C Runtime

#141
post #96

Earlier quoted context omitted.

Because that server was not that important?

It was the server which allowed customers to download Google software onto their computers. If your download server was slow and randomly disconnecting transfers for no good reason, resulting in potential customers giving up, wouldn't it be important?

You're blowing things way out of proportion because you don't have any idea what you're talking about.

It was a server involved in a fraction of Google's downloads comprising an even smaller fraction of Google's total egress. It took URLs of one form and redirected them to URLs of another form, where other C++ servers written by a staffed team (mine) actually redirected them to the actual C++ servers (again, deployed and maintained by my team) which deliver the downloads.

haberman wasn't talking about the state of Google's C++ codebase in 2005; he was talking about the state of Google's C++ codebase in 2014. This server was written years ago, using libraries that were years old at the time it was written. It wasn't maintained, and no team was responsible for it. The core libraries on which it was based were replaced by the libraries haberman lauded.

The only reason you can even try to use this server as an example is because you have no clue what you're talking about.

Re: Chrome Is The New C Runtime

#142

Earlier quoted context omitted.

Avoiding exceptions is a worst practice. The guide even admits they're only doing it because they're so far beyond a critical mass of exception-unsafe code that they've lost hope of solving the problem. If the profession ever wants to produce anything reliable in C++, one of the first things that needs to happen is to start treating all unsafe legacy code like toxic waste, marking it clearly, handling it carefully in…

> Avoiding exceptions is a worst practice You say this very matter-of-factly. Many (myself included) do not believe in exceptions, and in C++ where they are poorly implemented, think not using them is best practice. I would summarize, but this 10 year old article I've seen on HN a dozen times does a much better job than I: http://www.joelonsoftware.com/items/2003/10/13.html Error handling is essential, but exceptions…

I would never describe Linux as "robust". It seems everyone I know has seen it panic more than once, and shrugged it off not by fixing anything but by power-cycling the machine and hoping it doesn't happen too often. This means on top of a database of tens of thousands of bugs, there have been countless catastrophic failures which have never even been diagnosed. We only use it because everything else is at least that embarrassingly terrible and probably even worse.

Taking software seriously involves ensuring every failure is handled. Dropping them on the floor is almost never the right thing, which makes it crazy to have that quietly happen by default. Joel points out code without exceptions becomes very verbose and littered with local handling, but overlooks that it's so painful that most developers can't be relied on to actually do it.

Re: Chrome Is The New C Runtime

#143

Earlier quoted context omitted.

Avoiding exceptions is a worst practice. The guide even admits they're only doing it because they're so far beyond a critical mass of exception-unsafe code that they've lost hope of solving the problem. If the profession ever wants to produce anything reliable in C++, one of the first things that needs to happen is to start treating all unsafe legacy code like toxic waste, marking it clearly, handling it carefully in…

> Avoiding exceptions is a worst practice You say this very matter-of-factly. Many (myself included) do not believe in exceptions, and in C++ where they are poorly implemented, think not using them is best practice. I would summarize, but this 10 year old article I've seen on HN a dozen times does a much better job than I: http://www.joelonsoftware.com/items/2003/10/13.html Error handling is essential, but exceptions…

Cindy Rubio-Gonzalez has some fascinating empirical analyses of error handling in the Linux kernel: http://www.eecs.berkeley.edu/~rubio/

The tl;dr is that errors get dropped a lot with return codes. It's so easy to do, even in battle-tested, critical code like the Linux kernel.

Re: Chrome Is The New C Runtime

#144
post #140

Im using the chromium codebase to build a sort of netxgen "browser" (not web browser).. but more akin to a application platform with p2p in mind (and other crazy ideas). While the idea proposed by the author may sounds cool, i think chromium is a huge codebase to be used like the author says so trivially.. Its ok; if you need multiprocess ipc + net + actor-based thread concurrency + gpu compositor + webkit.. (like i…

Any more information about your project? Sounds interesting

Can i contact you in the email you are giving in your profile?

I dont think exposing it directly here wont be very succint.. (i wish this was more simple to explain about) since there are some details about how the technology works (or should work) and since i dont wrote any docs about it besides my personal notes.. i was expecting to jump here at HN with a working prototype for us to play with in some months from now.. as it would be easier for people to wrap their heads around it

Im glad to talk about it to anyone interested, and if anybody else is curious, just drop me some mail at fabiokaminski at gmail dot com

With more people interested and involved, of course i can just stop coding and write a doc or paper about it in more detail.. i know theres a lot of pressure out there for something like this.. as the journey for me to get into this formula was driven by my own needs, and the lack of something already real that i could use... (couldnt do it for web browsers and app platforms wasnt really there)

It wasnt easy to get into this formula.. and i can say that this engine is REALLY cool, once its a reality i have no doubts, it will be a much more heavy-weight sucessor of what the browser could have been if it was reimaginated and designed to be more powerful than it is.. (and with the things we do know now :))

Re: Chrome Is The New C Runtime

#145
post #36

Chromium, Gecko and Webkit codebases are huge, they are hard to compile. They are optimised for use in the browsers and nothing else. They are not universal runtimes yet! I like that idea but please don't make it sound like chromium runtime is ready for everybody to use for their projects.

I'm not sure what you mean by "optimized for use in browsers". I can't speak to the other 2, but Chromium is basically a vast collection of C++ cross-platform libraries that can be used in many applications.

Actually if I'm not mistaken, the /base /net /threading (lower level components) etc. are common with the google server side codebase. At the very least, they share a common heritage. Whether they're kept in-sync on a regular basis... I couldn't say.

Re: Chrome Is The New C Runtime

#146

Hi all, I'm the author of the post. Happy to answer detailed questions on using Chromium as a Dev platform. Any suggestions for a follow-up post?

I've also used Chromium libraries for cross-platform development in the manner you have suggested. What you might want to address is how you handle deficiencies in the base libraries --- how much do you have to rewrite when you see that the base implementations, which are fine for Chromium, don't offer the features that you need in your app? An example: it includes a fs-events system, to monitor for changes in files, but it is crippled to work around a bug in one version of Mac OS X, and so in the end, one probably has to write their own file-monitoring logic for each platform (or copy the Chromium code, and then modify it). Additionally, once you start modifying the base libraries to add the features that you require, how do you merge with the changes that the Chromium team inexorably publishes?

Re: Chrome Is The New C Runtime

#147
post #22

I'm posting this from a Chromebook Pixel, which I use for all of my development. No crouton, just stock ChromeOS. This movement is really interesting to me. If I could clone myself, I'd be working on an exokernel in Rust that just exposes a V8 VM, and uses a DOM implementation as the native drawing interface. Processes == tabs... Of course, there's higher level work that needs to be done to expose more of the machine…

Have you any experience with VNC clients on ChromeOS? If so, what's the performance like? I found the following, which mentions Chrome Web Browser, is that equivalent for the sake of applications? https://chrome.google.com/webstore/detail/vnc-viewer-for-goo...

A lot of VNC Viewer for Chrome is just the standard RealVNC stuff compiled into NaCl, so you should find the performance to be pretty good. If you've used any of RealVNC's mobile apps you should have a good expectation of what you're getting (except better because you might be using a wired connection & a desktop computer has more power than a mobile device).

Re: Chrome Is The New C Runtime

#148

Earlier quoted context omitted.

> Avoiding exceptions is a worst practice You say this very matter-of-factly. Many (myself included) do not believe in exceptions, and in C++ where they are poorly implemented, think not using them is best practice. I would summarize, but this 10 year old article I've seen on HN a dozen times does a much better job than I: http://www.joelonsoftware.com/items/2003/10/13.html Error handling is essential, but exceptions…

I would never describe Linux as "robust". It seems everyone I know has seen it panic more than once, and shrugged it off not by fixing anything but by power-cycling the machine and hoping it doesn't happen too often. This means on top of a database of tens of thousands of bugs, there have been countless catastrophic failures which have never even been diagnosed. We only use it because everything else is at least that…

I run quite a few linux boxes, and make them do lots of real work. Compared to other pieces of software, I find it quite reliable. This is especially true if you take into consideration the breadth of tasks and the performance requirements needed out of a monolithic kernel.

I'm in no way saying its perfect though.

> Taking software seriously involves ensuring every failure is handled

> it's so painful that most developers can't be relied on to actually do it

I agree with both of those points (as any decent developer would), but I don't believe exceptions remedy either of those issues.

The architects behind Go, truely some of the best minds in computer science, did not include exceptions because of this.

Re: Chrome Is The New C Runtime

#149
post #132

Earlier quoted context omitted.

Which other OS is like ChromeOS but without Google?

Linux? FreeBSD? Haiku? There's plenty of choices, and all of them have modern web browsers available (and frankly, better browsers than Chrome. People should really stop drinking google kool aid and take a look at the chrome codebase first before using it).

Not the same thing.
Post reply on HN