On Thu, Jan 19, 2023 at 5:30 PM Rich Salz <rich.salz(a)gmail.com> wrote:
What % of
people running Chromebooks, Android or IOS
do any real programming on it? Even for laptops and
desktops that % is quite low. Most people run just a
few apps.
So what. How many people fix their own cars, TVs, etc.
I think that was Bakul's point: almost nobody does. Most folks could
be plopped down in front of a Chromebook or something and wouldn't be
seriously impeded with what they do. Before my mom died, I was
seriously considering setting something like that up for her.
In many ways that's also true of _most_ computers these days: that
desktop machine that lets you install whatever OS you want probably
has a little constellation of microcontrollers embedded in it that
come to life and do all sorts of stuff before the real cores ever come
out of reset (power sequencing, turning on DIMMs and the IO buses,
etc). What on earth are they running? Not to mention the megabytes of
firmware that run before the OS ever starts to do all sorts of stuff:
BAR assignment, DRAM training, all sorts of ACPI AML flows, running
firmware blobs from device ROMs, etc. By the time the kernel begins
execution, a lot of stuff we have no insight into whatsoever has
already run, and we're mostly powerless over that. A lot of that stays
resident and keeps running, even after the host OS takes over. SMM,
UEFI bits, all kinds of weird goo. Who's bit-banging I2C to talk to
the temperature and current meters on your DIMMs? The whole thing is
built to give the OS the illusion that it's in control, but really, it
isn't. Mothy Roscoe talked about this at length at OSDI'21:
https://www.usenix.org/conference/osdi21/presentation/fri-keynote
That said, I don't think that general-purpose computers as we know
them will disappear. There will always be a need for, say, specialist
workstations for development or engineering or media editing or
whatever. On the other hand, when I was at Google I felt that the
powers that be were trying pretty hard to get most developers using a
cloud-based IDE-ish thing that was internal (and was remarkably good
for what it was). So maybe at some point "workstations" really will be
glorified 3270s talking to remote cloud services. At least until the
next cycle of moving away from centralized computing and pushing
compute out to autonomous edge devices kicks in.
- Dan C.