What does Jeff Nelson think about the hacks by the Codestarter folks?

#chromebook #chromeos #google #jeffnelson

Answer by Jeff Nelson:

People often ask for advice on Chromebook purchasing decisions, and one of the big issues is whether or not Chrome OS can run their favorite Linux and Windows apps: Skype, Gimp, SketchUp, Google Earth, Eclipse, etc, as well as how to upgrade the SSD.

I’ve advised such users to install Crouton or one of the other dual boot solutions, although this goes against the thin-client paradigm. I expect these questions are coming primarily from Linux power users, who are already proficient with Linux and want a new device, but don’t want to entirely move away from traditional Linux.  As power users, they will be proficient enough to deal with the issues of installing a dual boot and reformatting an SSD, if that’s what they really want from their device.

As it pertains to the thin-client paradigm, it really is a heresy, though. Such users (often the most technically proficient Linux gurus) haven’t really drunk the thin-client Kool-aid yet, because they are still thinking of their device as a stand-alone computer rather than as a terminal into other network resources and web apps.

For example, rather than dual boot to Ubuntu, you can sign up for a 1 year free trial of AWS, Google Cloud, or VMware. Then you have access to both Chrome OS and a permanently live Linux or Windows server on demand. Provided your Internet connection isn’t terrible, the difference between dual booting and accessing a remote server is minimal.  Users shouldn’t be thinking of their device as a set of stand-alone computing resources, so much as a tool for accessing all of the computing resources on the network.

That’s the product vision of Chromebook for a thin-client purist - and the Kool-aid is delicious.

However, to the extent these users are getting the most from their hardware and are able to make a $200 laptop do everything they need as a Linux power user, that’s also great, and these Linux power users have no doubt improved the Chrome OS ecosystem and helped to make it successful.
What does Jeff Nelson think about the hacks by the Codestarter folks?

If Brandon from Humans of New York stopped you on the street, in your town, what would you tell him?

@the_intercept @ggreenwald

Answer by Jeff Nelson:

I’m not sure I can answer this without oversharing, because that’s Brandon’s MO. Also, I don’t know if you can get honest answers to these source-words questions unless they are asked spur of the moment and answered off the top of your head.

Brandon’s two favorite questions seem to be:

1) “What is your greatest challenge right now?”

I can think of about a dozen answers, and I’m not sure which I’d give off the top of my head, while standing in the streets of NYC.  Perhaps, the biggest is that I’ve started writing a book, which I swore I’d never do again after the enormous amount of work that went into my 2nd book (@PMOJ).  This new book is an even greater challenge, because it’s not just a tech book; it’s an autobiography. 

A literary work requires so much more effort than a simple, informative tech book, particularly in trying to be interesting and readable. Also, since I’m talking about my past, not all of which is super-positive, I need to strike the right balance of being informative, masochistic, arrogant, yet entertaining, while preferably not offending anyone. 

So, that’s a great challenge.

(Empire State Building behind the white curtain.)

2)  “What is your saddest moment in life?”

Brandon just begs everyone to over-share. 

I could talk about being crushed by a girlfriend, who was out of my league, 15 years ago, instead of that:

A few months ago, I was approached for an executive level position with one of the most exciting companies I’ve ever heard about, The Intercept. They are the media group founded by Pierre Omidyar , reporting on Edward Snowden . In my view, there’s nothing more important than defending the Constitution of the United States, and while I don’t agree with all of Mr. Snowden’s actions, The Intercept is defending the Constitution like no one else and framing the debate about civil liberties.

A position with a group of exceptional people like The Intercept comes around once in lifetime, so it was a no-brainer. I desperately wanted to join them.  It would have been my very great honor to work with them. 

Unfortunately, for one reason or another, the opportunity didn’t pan out.  While The Intercept will no doubt be successful, and I hope even Mr. Snowden eventually finds his way home, coming so close to the opportunity to work with them, but not realizing it, will be a story for my grandchildren.
If Brandon from Humans of New York stopped you on the street, in your town, what would you tell him?

How do I bounce back from a failed internship?

#google #chrome #jeffnelson @_jeff_nelson

Answer by Jeff Nelson:

First, don’t worry about it. Not every job position you have is going to be a home run.  The bottom line is that you should put it on your resume, learn what you can learn from it, and move on to the next opportunity.

Second, do your own post-mortem (which you are already doing).  Try to figure out what mistakes were made and how you and others could do better next time.

"I wasn’t very social"

It sounds like you are already identifying possible mistakes. To some extent, figuring out the corporate culture and connecting with people is even more important than the quality of your work, at many companies.  Also, your professional network is your most valuable asset.

If you were struggling, why were you struggling?  Had you not done much real programming outside of school work?  Were you given a task that was above your level?

At the end of the day, you aren’t in  bad shape. You now have an internship experience as well as a degree,  and it’s that much easier to get your next job.
View Answer on Quora

Do some people starting work right out of college feel totally confused and lost on seeing a huge code base for the first time?

Answer by Jeff Nelson:

There’s an old cliched saying: “I blame the schools.”  In all seriousness, there is a large gap between how computer science is taught in academia and how it’s practiced in industry.  Academic CS focuses on theory. Professional CS focuses on pragmatism.  Academic CS focuses on teaching first principles.  Professional CS focuses on building things.  Academic CS uses constructed languages with no market adoption.  Professional CS is practiced almost entirely in Java, C++, C#, or Python.

Contrived school exercises are part of that education gap.  You can’t teach someone to be a decent programmer if their semester project is to write a 500 line program that demonstrates correct usage of fopen(), fprintf(), and fclose().

In industry, you have to dive into an existing code base, often giant code bases.  Rarely, do you get the honor of being the first person to write the first lines of code on a new project.

But don’t feel overwhelmed.  If you are working with a giant code base, that hopefully runs and passes unit tests, you can start small, making small changes to small areas of code, adding more small unit tests, and gradually expanding the scope of your understanding of the code base.

I like the analogy of moving a mountain.  You don’t have to understand the whole mountain or even the scope of what has to be done to the mountain; you just have to be able to deal with a small part of it: one truckload at a time.  Eventually, the whole mountain gets moved.
View Answer on Quora

Is there or will there ever be a data center to rival Google’s?

@_jeff_nelson #biggest #megawatts #dod

Answer by Jeff Nelson:

There’s always the Department of Defense.  When you have an almost unlimited budget, little accountability, and a goal of analyzing and storing all of the world’s communications, you could build a new data center a day and still not keep up with the mission.

Data centers are hard to hide, due to their outsized power and cooling needs.  For example, Google’s Oregon data center (pictured below) looks like a warehouse, except it has 8 giant cooling towers next to it. This data center consumes 37 megawatts, according to media reports, and is situated next to a hydro-electric dam for easy access to cheap electricity.


Google contemplates new data centers in The Dalles

By comparison, a recent DoD construction project in Salt Lake City has 18 cooling towers and media reports the facility uses 65 megawatts.  We can safely assume the server infrastructure at this one facility is roughly twice the size (by power consumption) of Google’s Oregon data center, although the exact server infrastructure is unknown.

(To get a scale, notice the trash dumpsters near the bottom-middle of the image.)

However, that’s just one Google data center compared to one government facility.  Google doesn’t disclose how many data centers they’ve deployed around the world, and neither does the US Government.

View Answer on Quora

Why is ChromeOS considered an OS when it relies on a host OS to do the heavy lifting?

@_jeff_nelson #chromebook #google #chrome

Answer by Jeff Nelson:

Several people forwarded this question to me. Thank you!

I think of webtops as a new OS architecture, in the sense that a webtop is a new execution environment layered on top of a host OS, similar to how consumer OSs are layered on top of a BIOS.  The host OS is low-level, close to the bare metal, and the webtop is high-level, far away from the bare metal.  For the host OS, applications run in machine code.  For the webtop, applications run in HTML or associated web technologies.

Chrome OS is also largely kernel agnostic.  To date, it’s been built on top of a number of distinct Linux kernels, but there’s no reason the underlying kernel even has to be a Linux. It could be any OS that can manage the devices and provide an execution environment for Chrome.  Again, this is very similar to how a BIOS provides an execution environment for the host OS. 

The question details also mention a VM.  In a sense the browser execution environment can be considered a form of VM.  It’s an interpretted VM that is comprised of an HTML interpretter and a collection of other interpretted and bytecode execution technologies.  It can be taken as a whole as one meta-VM implementing the HTTP protocol and a language for implementing web apps. 

So, I’d agree, that in a sense Chrome OS could be considered a virtual machine architecture, rather than an OS.  However, it’s also hiding all the details of the underlying OS. For example, if you built Chrome OS on top of Ubuntu or SUSE, a user couldn’t tell the difference, because we don’t let them get any closer to the bare metal than the browser execution environment (unless they put it in dev-mode, of course).  So, it’s not exactly a virtual machine, because by design, there is no lower level of access to the bare metal and it’s devices.  If you want to run an app on Chrome OS, it has to be a web app.  Since that’s the entire execution environment, it can be considered an “OS”.

Some people have also compared Chrome OS to JavaOS.


In my view, they are apples and oranges.  They are both fruit, but they are entirely different fruit:  Java OS was based around the concept that everything would be run on a Java VM, and every application would run locally as a Java applet.  It failed, because there really weren’t many Java applets and none of them were of a quality to compete head to head with Microsoft products.  Chrome OS is based on the concept that everything WON’T be run locally, instead all apps are distributed in the cloud and run as web apps (although some can be cached and synced locally for the convenience of users who go offline).  Obviously, there’s plenty of web content and some of it is good enough to compete with Microsoft products, which is one of the reasons Chrome OS has been such a success.  Chrome OS also doesn’t include a Java VM, so there’s really no similarities with JavaOS or it’s product vision.

Chrome OS is also compared frequently to the “Network Computer”, which was a product of Oracle back in 1996.  Oracle’s NCOS was a derivative of RISC OS, and designed to boot over the network. 


That’s how it gets the name “network computer”; it’s a diskless computer that boots over the network, much like PXE boot, today.  In fact, Oracle published a specification for “network computers” that was so broadly defined, it encompassed every computer - even Windows. The Oracle product, however, was  a full Unix, with the Unix architecture, and running native apps locally just like every Unix.  So, again, there’s not really even a slight similarity with the webtop architecture and the “network computer” architecture.  Chrome OS is not designed to run native apps, it has a disk, and it doesn’t do network boot.

The term “webtop” is also heavily overloaded.  It’s been re-used as a trademark for a wide variety of products that have nothing whatsoever to do with the modern definition of a web-centric operating system delivered on a laptop.  SCO originally trademarked the term for a product they were selling, a web browser plugin that implemented a VNC viewer.  Motorola trademarked it for a smartphone docking station.  Obviously, these have nothing to do with modern webtops, either.

View Answer on Quora

How often do software engineers at Google, Amazon, Quora, LinkedIn, and PayPal come up with a totally new algorithm?

Answer by Jeff Nelson:

Most of the innovation in industry (including at the companies mentioned) is finding new ways to apply existing algorithms, better ways to scale existing algorithms, and techniques for finding approximate solutions to  existing algorithms.  It’s the last point the comes closest to “totally new” algorithms.

For example, most ecommerce sites just show you an ad placement or list of products matching a search term, but if you instead implement a ML recommendation engine, your business will make more money per page view via improved CTR.

However, ML recommendation engines are storage and computationally expensive, so the algorithm has to be fit into an HPC framework that scales horizontally.

Even with HPC, you can only scale O(n*n) algorithms to a certain point, so you next have to look for approximate solutions that can beat O(n*n) - and that’s where the algorithm research starts to get really interesting.
View Answer on Quora

What is the most catastrophic mistake made by an intern at a tech company?


Answer by Jeff Nelson:

Not at a tech company, either, (maybe need a new question for student screwups?) when I was back in college as an undergrad, I was hired as a research assistant mostly to build numerical models for a physics lab.  As a kind of reward, they flew me out to Fermi Lab for a week to “help with” the actual experiments - as if an undergrad could really contribute in any meaningful way to a billion dollar research facility.

So, my professor came up with a project to wire up some NIM logic cabinets for one of the experiments, which is really quite boring.  It’s just plugging in calibrated cables of different types and sizes according to a diagram; a bit like setting up a data center, if a data center had 20 different types of cables that all had to go in particular plugs on the front panel.

What I didn’t know, the experiment was live!  The cabinets were live! Worst of all, the fire suppression system was live!

I went about my business for about two hours, when I bumped the fire suppression system. 

(BBBUUZZZZZZZZzzzzzzooooo…………..) (room goes pitch dark)

Having set off the fire alarm, the automatic emergency protocol was to kill all power to everything, including the experiment (a 4 mile circumference particle accelerator).

A billion dollars in equipment and about 100 Physics PhDs come to a screeching halt. 

My professor comes running into the room with an alarmed look on his face.  He points out the little tube running along the bottom of the cabinet that triggers the fire suppression system and explains what happened.

"You bumped that. The whole experiment is shut down.  It’s going to take 45 minutes to bring everything back online."

"Oh… so… should I finish wiring the cabinet?"

View Answer on Quora

How does Apple keep secrets so well?

Answer by Kim Scheinberg:

Fear? I’ve been meaning to tell this story for a while.

The year is 2000. My husband (JK) has been working at Apple for 13 years. Our son is a year old, and we want to move back to the East Coast to live near our parents. To do this, my husband will need to be granted permission to telecommute. This means he can’t be working on a team project and needs to find something independent to do.

The plan to move is a long-range plan. JK lays the groundwork early to start splitting his time between his Apple office and his home office. [By 2002, he is working at home full-time in California.]

He sends mail to his boss who, coincidentally, was my husband’s first hire when he started at Apple in 1987:

Date: Tue, 20 Jun 2000 10:31:04 -0700 (PDT)
From: John Kullmann <jk@apple.com>
To: Joe Sokol
Subject: intel

i’d like to discuss the possibility of me becoming
responsible for an intel version of MacOS X.

whether that’s just as an engineer, or as a project/
technical lead with another person - whatever.

i’ve been working on the intel platform for the last
week getting continuations working, i’ve found it
interesting and enjoyable, and, if this (an intel
version) is something that could be important to us i’d
like to discuss working on it full-time.


* * *

Eighteen months go by. In December 2001, Joe tells JK, “I need to justify your salary in my budget. Show me what you’re working on.”

At this point, JK has three PCs in his office at Apple, and another three in the office at home, all sold to him by a friend who sells custom built PCs (can’t order them through the usual Apple channels because no one in the company knows what he’s working on). All are running the Mac OS.

In JK’s office, Joe watches in amazement as JK boots up an Intel PC and up on the screen comes the familiar ‘Welcome to Macintosh’.

Joe pauses, silent for a moment, then says, “I’ll be right back.”

He comes back a few minutes later with Bertrand Serlet.

Max (our 1-year-old) and I were in the office when this happened because I was picking JK up from work. Bertrand walks in, watches the PC boot up, and says to JK, “How long would it take you to get this running on a (Sony) Vaio?” JK replies, “Not long” and Bertrand says, “Two weeks? Three?”

JK said more like two *hours*. Three hours, tops.

Bertrand tells JK to go to Fry’s (the famous West Coast computer chain) and buy the top of the line, most expensive Vaio they have. So off JK, Max and I go to Frys. We return to Apple less than an hour later. By 7:30 that evening, the Vaio is running the Mac OS. [My husband disputes my memory of this and says that Matt Watson bought the Vaio. Maybe Matt will chime in.]

The next morning, Steve Jobs is on a plane to Japan to meet with the President of Sony.

* * *

They would assign two more engineers to the project in January 2002. In August 2002, another dozen started working on it. That’s when the first rumors started to appear. But for 18 months, only six people had any idea that the project even existed.

The best part? After Steve goes to Japan, Bertrand sits JK down and has a talk with him about how no one can know about this. No one. Suddenly, the home office has to be reconfigured to meet Apple security standards.

JK points out to Bertrand that I know about the project. In fact, not only do I know about it, I am the person who named it.

Bertrand tells JK that I am to forget everything I know, and he will not be allowed to speak to me about it again until it is publicly announced.

I guess he had some kind of ‘Total Recall’ memory wipe in mind.

* * *

I’ve lost track of the many reasons that have been given for the switch to Intel, but this I know for sure:

No one has ever reported that, for 18 months, Project Marklar existed only because a self-demoted engineer wanted his son Max to be able to live closer to Max’s grandparents.
View Answer on Quora

What are the most famous computer passwords in history?

Answer by Jeff Nelson:

00000000 was the nuclear launch code of the United States.

The US Air Force disagreed with the JFK administration’s insistence that a safety protocol with a passcode be implemented.  So, the Air Force implemented the system but set the code to 00000000.

It was just the personal recognizance and self-control of thousands of US missileers that prevented the US from launching a nuclear war.  Until 1977, no real safety measures were ever in place.

In subsequent Hollywood films, the 00000000 code has become a common trope for mass destruction. For example in Star Trek 2, the destruct code of the USS Enterprise was given as 000-destruct-0.