Javascript Hero: Change Computer History Forever
ascii.textfiles.com
ascii.textfiles.com
I was talking to a friend of mine about the "Digital Dark Ages." He didn't believe me that we were unable to view data that we had sitting around on computers anymore; one of my prime examples was computer games from the 80s that relied on bugs in the hardware to run. I'm glad that emulators exist to be provide that service.
But, man, being able to say, "Yeah, here's the URL to the gist of Choplifter," would be something completely different. The level of accessibility provided by the World's Largest Runtime (tm) would be unreal.
Every layer of software builds upon the lower software (and hardware) layers (and bugs). It's like a Jenga tower of dependencies. It would be nice if some middle layers could be excised/refactored to simplify our technology stack.
The advantage of JS as a runtime environment is that it's got the most extensive cross-platform app ecosystem in the world, with a lot of eyeballs on it. Every new difference that arises between the behavior of a JS engine and that of its peers is greeted by a hundred thousand screams from the mouths of a hundred thousand web developers.
Plus, I believe the pain required to get your app to run in all the popular JS engines is mild when you compare it to the ins and outs of cross-platform C libraries.
I dare you to actually try SDL sometime; it is far less pain than doing browser work in JS.
ASCII is intensely simple and, for its intended purpose, very close to perfect. JavaScript is... not.
JavaScript is, at best, the most common language used for today's GUI applications. It and its "toolkit" (the DOM and HTML) need a lot of work, particularly wart removal, if they're going to have the timelessness of ASCII or its successor (UTF-8).
It may or may not meet your particular needs, but that has very little relationship to its perfection.
[1] http://brendaneich.com/2005/06/javascript-1-2-and-in-between...
Fortunately there are many serious efforts at improving the language almost all of which compile down to today's javascript for backwards compatibility.
One of these days, I should find out if it still works or not.
- Yes, it is difficult in some ways. Easy in others. - Emscripten is very likely to be involved. - It will run slow for some things. That's fine. Things get faster. - Yes, this is really important.
I'm at jscott@archive.org if people want to work on it.
From here, what I'd love to do is this: develop emulators for common platforms in the clearest way possible (no optimizations -- that can be separate) and simultaneously document the hell out of older platforms. In the end, you'd theoretically have a repository comprised of a set of documentation and a set of "reference emulators".
It wouldn't be fast, but it'd preserve these platforms effectively forever.
The bookmarklet will make it (and other sites) easy to read.
My lawn: get off of it.
Does anyone have an actual Apple II green-screen display (40 or 80 columns, 24 rows) emulated in Javascript to share with us? I found an Apple II emulator but it only plays games.
OS X defaults to much softer font rendering than most systems, and Windows/Linux can be tweaked (try googling for things like "OS X style font" or "soft font rendering" with the name of your OS tacked on)