I want to give "Linux on the Web" to Google!

99 views
Skip to first unread message

Dennis Kane

unread,
Apr 27, 2016, 5:36:37 PM4/27/16
to Native-Client-Discuss
Hello all!

Please go to http://lotw.co in a Chrome browser to see "Linux on the Web" (LOTW)

I've spent something around 4 years of my life creating an "operating system in a web browser" that really shines a spotlight on the technological marvel that is Chrome/Chrome OS.  Putting aside the amazingly fast V8 engine and the beautiful output of the Blink renderer, the thing that LOTW crucially depends on is Portable Native Client (along with the HTML5 Filesystem).

The thing about me is that I am "the peace guy" (just google that phrase to learn more), and that I only care about living in ways that are the most beneficial to the prospects of a sustainable human civilization.  Besides awesome companies such as Google and Tesla that are doing the "lord's work" in terms of making the world just work better, there is still far too much of a focus on short-term profitability over long-term sustainability in the general population.

The idea that is so hard for me to convey is that the notion of making general computing environments more accessible is perhaps the single most important thing that can be done in terms of laying the groundwork for an indefinitely sustainable human civilization.  College students always look at me cross-eyed whenever I speak of such things, because there is such a huge focus on immediately getting good grades in order to land a high-paying job rather than persisting in studying things that are the most beneficial to the world at large.

Only if a kid happens to be "good at math" do they tend to gravitate towards fields of study that can result in fulfilling employment in companies (like Google, Tesla, and Solar City) that happen to be good for the long term prospects of humanity.  If they are not so endowed, society tends to push them towards the liberal arts end of the spectrum, which just ends up in one more warm body that the STEM (Science, Tech, Engineering & Math) people have to figure out how to support in a fossil-fuel depleted future.  The idea here is that tech aware people are generally capable of supporting themselves in thermodynamically efficient ways (at least in principle, if not in practice), whereas tech illiterates tend to live, by default, in ways that are thermodynamically inefficient.

The question at hand, as I see it, is to what extent students can be encouraged to continue studying STEM-related disciplines no matter what kinds of grades that they get.  

Just like there is "food injustice" whenever inner city grocery stores forsake nutritious foods (like fresh fruit and vegetables) in order to sell highly processed foods to low income people, there is also "tech injustice" whenever operating system developers hide all of the programmability behind glittering facades filled with icons that are so very tempting to click on.  If a child happens to grow up with parents that are skilled with Linux-based systems  like Debian or Fedora, then there is a good chance that they will be given the tools for basic computer literacy at a fairly young age.  Modern Microsoft-based PC's are almost completely worthless in terms of developing an understanding of how computers actually work due to the near complete reliance on the graphical interface.  Apple Macintosh computers do have a full-fledged Unix command line at their core, but it is not exactly well advertised, and these kinds of computers are simply not affordable to the populations that are the most at risk to suffer from tech injustice.

Other than the fairly advanced (and risky) technique of trying to install a Linux distro on a PC, this leaves Chrome OS as the last remaining hope.  For less than $200, decent Chromebooks can be purchased.  Many techies are well aware of the idea of putting these devices into developer mode and installing an Ubuntu system via the "crouton" project.  But now, there is yet another, even more accessible, option: going to the "Linux on the Web" site, and "installing" a basic web-based operating system in about one second.

But there is a catch.  Linux on the Web is not a fully fleshed out, user-friendly OS.  It is a bare-bones prototype that is really only interesting to those who are fascinated by the concept of highly accessible modes of general computation.  It has a fairly good implementation of the default Linux command line (bash) written in JavaScript, and from that interface, typical *nix utilities like nano, vim, and python can be invoked via Portable Native Client.

There are some very basic graphical apps that use the JavaScript+DOM workflow, notably a text editor, a binary editor, and a file browser.  Images can be viewed and audio can be played.  The graphical desktop interface (created from dynamically generated HTML elements) is fairly well integrated with the underlying PNaCl (plus HTML5 Filesystem) *nix system, so that icons show up on the desktop when appropriate (like when a new desktop file has been created in vim).

Bash scripts can be run, and there is in-progress work for a "very high level" programming language (codename: nattylang) that uses a modified version of Esprima in order to parse programs like...

class Dog(gender) {
 
if (gender) self->gender = gender;
 
else self->gender = "unknown";
}

there
is a Dog("male"), named "Spot".
there
is a Dog, named "Fido".
about
"Spot", he is_like "wild".

... as valid, well-formed programming constructs. In the above example, "there" is something of a universal "this" variable, "is" is used for assignment, and "a" is equivalent to the "new" operator of object-oriented languages. There is nothing new about the comma. The "named" operator looks for whatever object is temporarily stored in the "there" variable, and the name itself can be used as a key to place the object back into the "there" variable via the "about" operator. We can see a pronoun ("he") being used in combination with the "is_like" operator in order to attach a property to the relevant object. Finally, the "dot operator" ('.') is taken back as a statement terminator, just like in ordinary written natural language. In the current development snapshot of nattylang, there is support for switching into a typical "c-like" mode that disallows the natural language constructs used above (natural language constructs are not currently allowed inside of function or class bodies). However, the typical use case will be to put the low-level algorithms into JavaScript or PNaCl API modules that can be invoked by the nattylang interpreter (which is itself just a JavaScript module). Linux on the Web is truly a labor of love that exists for the purpose of pushing humanity into the next level of technical understanding and global awareness. Furthermore, it is a testament to the power of Google... both as a developer of wonderful client-side tools for a truly interconnected global civilization and as a provider of amazingly efficient cloud services (especially search) that allows for the development process to proceed with nary a hiccup. In my opinion, it is only Google that is institutionally capable of appreciating the transcendental importance of the project of bringing general computation back to the masses for the purpose of laying the foundation for a fully sustainable future for humanity. In the Silicon Valley startup scene, so much of the focus is on developing dazzling graphical interfaces in order to perpetuate the typical producer/consumer business models of the past that simply seek to generate maximum levels of hype in minimum periods of time. This is nothing different from such phenomena as the "tulip mania" of 17th century Holland and the pet rock phenomena of the 1970's in the United States. One of my talking points as "the peace guy" is that Google/Alphabet is not a corporation like any other that has ever existed before. I love to say things like, "If capitalism is a game, then Google won it and no one else should even try to take them on". The problem is that the only successful past examples of large scale socio-economic activity that we have to go by have some sort of competitive aspect to them that almost always leads to wasted energy in the form of one institution (be it a business or some other organization) trying to be the "first to the top", and jealousy guarding their trade secrets in the process. The spirit of science, however, is to share one's findings via public articles, so that mundane details do not need to be duplicated over again in order to continue to keep pushing human understanding forward. So we now have a very basic "operating system in a web browser", which is a concept that can be transmuted into a "world operating system". That is, since the web is today's most fundamental mode of representation of the world itself, an operating system that exists "on" (or "in") the web can be understood as a system that can operate directly on the world itself. We can think of this idea trivially in terms of a system that allows for direct interaction with a so-called "Internet of Things". Or we can think much more deeply in terms of developing arbitrarily sophisticated data structures that can closely model physical objects (or processes) in the world, and creating finely tuned algorithms that are capable of interacting with these models. If the previous sentence sounds a lot like what the theoretical sciences are supposed to do, then you are right on track! Ultimately, the heart of the issue is to what extent the notion of a sustainable human civilization is fundamentally tied to the concept of a kind of post-capitalist paradigm that can be described as a technological meritocracy that enforces a optimally efficient, unified global socio-economic order. Indeed, the "Silicon Valley way" is all about technological meritocracy. However, the idea that there will ever be a singular global order that allows for all humans to live together in a state of peace and prosperity is highly politically charged, to say the least. If human civilization existed in a context that had an infinite energy source and infinite waste/heat sink, then the grand question of the best political system could continue indefinitely. But it does not exist in such a context, and the question of basic efficiency-optimization algorithms will eventually take precedence over all others. I am currently based out of Silicon Valley (Google's hometown of Mountain View, in fact), in order to talk to anyone who will listen about the need to develop truly sustainable modes of human existence. I know of no other way to make progress as "the peace guy" other than finding a way to get Google to take on the project that I have started. I care nothing about intellectual property or any other such ownership rights. I very much want to find a way to involve the world's population in what could be the greatest open source project in history. I hope that this project could serve as an entry point for those who want to begin the process of becoming generally technically proficient. My vision is to have Google serve as the "patron" of a worldwide network of truly self-sustainable hi-tech eco-villages, to further Larry Page's own idea to "set aside a small part of the world" for the purpose of experimenting with new technologies. If anyone (particularly any Google employees) can vibe with me on any of this, please let me know! As I am currently in something of a "homefree" state, I am very interested in being able to have safe places to spend the night, as well as any table scraps that anyone wants to throw at me... (If anyone sees a crazy guy dancing around or throwing up the peace sign anywhere in the Palo Alto/Mountain View area, it's probably a safe bet that is me!)

Dennis Kane

unread,
Apr 28, 2016, 10:44:38 PM4/28/16
to Native-Client-Discuss
There is hardly a better reason for Portable Native Client to exist other than using it as a way to allow for the kind of portable general computation environment that is Linux on the Web.  Let's just forget all the craziness that I wrote about in the last post.  Just the idea that schools can start using websites as a way to easily set up programming environments is such an awesome use case in itself!

I know I'm not completely crazy here.  This is really an amazing prototype.  I just need to to sit down with people to show how it works (it is mainly meant to be used with a configurable hotkey interface). I can easily meet anyone pretty much anytime in the Mountain View/Palo Alto area.

Dennis Kane

unread,
May 1, 2016, 6:28:27 PM5/1/16
to Native-Client-Discuss
First, I want everyone to read this private message that I just received in response to my post (name and email withheld):  

*************************MESSAGE START************************

Hey Dennis,

I love that you have such an ambitious and lofty vision. It's a breath of fresh air to read about someone with similar goals of uplifting humanity. We're at this critical fork in the road, where either we have a very scary future, or a very prosperous one--and the degree to which technology is distributed to everyone will heavily influence where we end up--so cheers to that distribution.

Have you heard of a resource-based economy or the Venus Project? 


*************************MESSAGE END************************


I really just want to address the "meta" concept of privacy/secrecy versus openness/honesty when it comes to discussions of this type, rather than the actual question that was posed.  In other words, I am currently much more interested in discussing the burning, transcendent question of why it is so hard for me to get any kind of public conversations going about how to "save the world" (or even why it needs to be "saved" in the first place) than I am in trying to "save the world", in a simple and direct way.

The ultimate problem that I am having as I perform my "peace guy" duties in the Mountain View/Palo Alto/Stanford area is that nearly everyone, when inside of public locations like Starbucks where I depend on the ability of striking up random conversations, is either:

1) thoroughly involved in "smart-phoniness" (this is the vast majority of time)

~or~

2) they have smartphones in the "ready and waiting" position, as if those are the important things in life that must be constantly attended to

~or~

3) their demeanor is generally one of being thoroughly disinterested in the external world, oftentimes bordering on absolute disgust that there even _is_ such a thing as an external world

Now, let us just look at the concept of "open source" (as an aspect of openness/honesty), as it relates to the questions of software versus actual people.  I think we can all admit that having more open source software projects versus fewer of them is indeed a good thing.  But the question of whether the humanity that exists inside all of us should be "open source" is almost never asked in technology-related contexts such as these.

As I see it, it is vastly more important for smart, successful techies to have the ability to share their inner passions/motivations and overall development strategies rather than any specific code that they have ever written.  A world of nothing but open-source projects that are manned by completely "holier than thou" a-holes who are never capable of showing the slightest bit of humanity while in public spaces is no kind of world that I want to be associated with.

So let me speak a little about a couple glimmers of hope that I have been able to latch onto, as "the peace guy" in the heart of Silicon Valley.  

The first is the kids.  In particular, the eight-graders around here seem to be eager to engage with me.  These are smart kids who constantly see so much of this kind of bored, self-satisfied techie behavior that anything that seems to be authentic, honest, and truthful is something to be applauded and talked about.  In fact, my first real contact with this group was when a couple of kids just randomly said "hi" to me. I asked them why they said "hi" -- I wanted to know if they already knew that I was "the peace guy".  It turned out that they were just being friendly.  I get the feeling that these kids just somehow instinctively know that there is something wrong with how the adults around them generally act, and that their innate reflexes force them to act in ways that are far more amenable to the long-term survival prospects of the human species.

Then there is a 30-ish Indian guy who works for a well-known and well-established technology company, as a kernel developer for a fairly unpopular variant of enterprise Unix.  When I first saw him, he was talking to an obviously homeless guy in downtown Mountain View, and I thought he might have been homeless as well.  It just turned out that he was just nearly as sick of the way that everyone walked around there as I was.  I hung out in that spot talking to him (and a couple of others) for a good 30 or 45 minutes, and there seemed to be no less that 4 different groups of obvious, hardcore, professional techies who were all very friendly with him as they did their typical Friday night strolls along Castro Street (the main drag in downtown Mountain View).

As "the peace guy", what I really need is for people like these to just hang out with me in places like Starbucks as we simply observe (and comment on) the profoundly anti-social ways in which people generally present themselves.  This idea of having ongoing, lively, public conversations about the way that people act in public spaces like these is desperately needed.

Until people are able to actually acknowledge each other's existences while they are doing things such as waiting in line for their daily coffee, there is really no point in even beginning to address the kinds of radical/visionary ideas that are referred to in the above message.  (In terms of the specific ideas addressed, it turns out that they come from a 100-year old guy that has never really been able to have much of an impact because he admittedly "can't get to anybody".  After everything just outlined, I can't say that I am all that surprised that that is indeed the case.)
Reply all
Reply to author
Forward
0 new messages