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!)