ASCII by Jason Scott

Jason Scott's Weblog

The Pit —

2013 was a really excellent year, by most standards.

Besides the finishing and the release of the DEFCON documentary, I got to travel to many different places and a couple new ones, get the word out about various projects I was working on, and otherwise move forward on stuff I did working on for years. The triumph of helping get a major emulator into browsers has long-standing repercussions that I doubt I even fully understand.

Huge, major triumphs!

But there’s a downside, there always is.

In 2013, I said yes to an awful lot of things. I said yes when people wanted me to speak, I said yes when people wanted to work on projects, I said yes when people wanted to send me stuff to be saved or preserved or otherwise fixed.

During this past year, somebody would ask me what I’m up to in the coming weeks, I would tell them, and they would be horrified.

And looking back, they had a right to be: I figured out that I spent something like 220 days of 2013 away from home.

As a result, when things finally calmed down, I realized that my living space was completely unworkable. Packages and shipments have been coming in all year, mail had been somewhat dealt with, and all of my various interests and back projects and everything else but the world provided had converged to make my home into a terrible pile.

Here’s a glimpse of what that means:



I’d be a fool to complain about the situation. All I’m saying is that it ended up being the case that I built a massive backlog. There are good people on all sides waiting for me to provide them with information, with assistance, with material goods, you name it.

So 2014 begins with me working very hard to knock some of that down. It’s a relatively deep pit, but apparently a pit I can get out of.

A second, more mundane situation has also arisen: reduced finances.

I have been steadily cutting back my lifestyle of spendthrift wonder for about four years now. Unfortunately, I continue to fail to get things completely under control. As a result, I have good savings that have been mandated by employers, but my spending money is basically at zero.

This doesn’t count budget set aside from my Kickstarter campaign for my documentaries. But it does mean that I am much less likely to be paying for dinner anytime soon.

Additionally, my taxes are a mess for the past few years. An accountant has been contracted, in this particular pit is being dug out of this well.

I mostly mention all this just to give some context as to how things can be so successful on one hand (talks, travel, interactions) and yet still be a mess when looked up from another angle. The key is to know what to do in that situation.

What I’ve done is finally sit down and realize that 2014 has to be a lean year indeed.

Now, a lean year for me is not such a bad thing: after all my job, my interests, my hobbies, and my fun are pretty much all the same thing. And I do have a couple trips planned for the year, mostly places flying me to give a presentation or make an appearance at the event. So I’m hardly going to become a hermit.

Among this effort to spend more time at home and get things done, is to work on stuff worth talking about and writing about. It’s possible to end up on the speaking circuit and event circuits so intense that you don’t actually do the things you talk about. It was starting to get that way. It’s not going to be that way for the foreseeable future.

Seriously, these are some of the best problems of the world. I’m kind of happy to have them.

Back to the digging.

FTP’s Bright Sunset and Frozen Night —

FTP is kind of over.

Now, don’t get mad at me for telling you this. It’s not like I’m the one killing it, and I’m certainly one of its biggest fans. It’s a really mature technology that does exactly what it’s supposed to do. It is flexible, pumps through almost anything, and has features that do everything you probably want to do with file transfer.


And when I say over, I don’t mean obsolete. And I certainly don’t mean unused in the present day. Many things still use FTP as a method of transferring files, and providing access to all sorts of material.

But it’s quite obvious this isn’t the way of the future. Companies and individuals that utilize constantly changing data, or data that needs to be distributed, utilize a whole other variety of technologies. Many of these are web-based, while others are special protocols that blow out over the web into devices and phones. If it’s starting up, and it needs to get you some data, it is probably not using FTP. If it is using FTP, it’s probably not telling you it’s using FTP. And people who need to get things done don’t reach out for FTP.


But more markedly than FTP the protocol, it is FTP sites in particular that are really on the way out.

Coming as I did from the bulletin board system era, a well populated BBS might have a few minor text files, followed in the early 90s by a CDROM in a drive, and maybe topping out with a stack of CD-ROMs for a few hundred megabytes of accessible disk space. There were a notable handful of massive bulletin board systems that had much more data, but these were unbelievably rare and often cost a monthly fee.

Compare, then, the experience of an FTP site on the growing pre-web Internet, which would have thousands or tens of thousands of files that dwarfed anything you could get through a BBS. The names of these sites were extremely obscure, reflecting host names of systems within departments and shoved into some dark worthless corner of a science lab.

Even though the name didn’t tell you what the contents were, these sites became so populated and so important that their names became synonymous with what they held. Trust me – you know what these things were for, and what they held. They were stunning in their power and they were the true online libraries of their time.

This summer time of the FTP site dominated the 90s and into the early 2000’s. Support files, drivers, game demos, hilarious films, browser executables, pictures, you name it. Many of them became fairly organized shambles of files, containing thousands of some obscure aspect of online life. There were even websites to help people navigate these FTP sites, trying to find what you needed. A number of FTP search engines existed, although they often required the filename more than what they contained or what they represented.

Many of these FTP sites did their best to join the World Wide Web and its unique needs, littering themselves with.files and HTML overlays. The Gopher format allowed superior methods and browsing the information. But as gopher thought of favor, and the major browsers stopped supporting it, it was another doomed way to navigate.

Finally, we had the experience of various FTP sites going down, and mirrors of those sites becoming subdirectories of the remaining ones. This Russian nesting doll situation has grown ludicrous to the point of some sites being in amalgamations of dozens of previous ones. Besides a few other navigational headaches, this also means that the loss of an FTP site in the modern era could actually be the deathknell for hundreds.


For the past couple of years, but really picking up intensively in the past few months, archive team has been aggressively downloading these FTP sites. We are not pursuing at risk FTP sites – we are in fact considering all FTP sites to be at risk at this point. If it’s on FTP, it’s probably doomed.

The FTP site collection is now in the hundreds of gigabytes and is growing constantly.

Naturally, when somebody puts up a block of data like this, it doesn’t take too long for the “you missed a spot” nerds to show up and start critiquing randomly.

The most valid and yet invalid argument is that currently these FTP sites exist on as massive tar archives or zips. “Give us our FTP sites back like they used to be,” cry the people who cry about such things. Well, sorry. That ship has sailed. I think that ship is on fire. Oh well, that ship is actually now burning other ships.

Instead, the should be considered what they are: cryogenic capsules of masses of data, waiting for the sort of duration, extensibility, and data mining efforts that so many of our computers are becoming so good at. They can be split apart, refactored into new ideas, or even pulled back into some mega FTP site of the future. By making the clearest, least fiddled-with archives of these FTP sites, we give the future infinite options. Anything else would be kind of silly.


We are ramping up faster and faster to do this. FTP sites die quiet deaths – a letter to faculty, a dropped connection. They go quite gently into the night.

Buried on these sites are proof of versions of software that others claim never existed, unique pieces of art that lived only on bulletin boards but were pulled up as refugees in the early 1990s, and even one-of-a-kind pieces of code that might otherwise have disappeared. This is to say nothing of the drivers, support documentation, configuration programs, and other parts related to hardware and software now not just obsolete but potentially forgotten. The value was obvious.

As I and others spend this new year gathering up all of this data, I look forward to projects coming along that utilize it or reference it. That’s kind of why it’s done. Sure, I myself would love the ultimate FTP site providing me every piece of the 1990s computer world for reference and utility. But you have to have the data, to make it pretty.

Combined with the efforts to grab every piece of CDROM plastic that has ever existed, I hope the plans are clear. The world is lost so much of what is come before. But it won’t this time.

Not on my watch.


Let a Thousand Cartridges Play —

On the day after Christmas, the Internet Archive announced that it was going to host a second Christmas. In one big flourish, the Console Living Room revealed that there was now available, via the JSMESS interface, one thousand cartridges to play.

One thousand! In many cases, this would be nearly 100% of the total available cartridges, certainly the ultimate majority, of every cartridge released in the console’s home country.

The chosen systems were all consoles you hooked up to your TV in the living room,  and they mark the transition of the living room from fireplace to television to interactive video.

The previous set of software, the Historical Software collection, had 25 items on opening day. (It snuck quietly up past 60 items in the months since.) This new set was 40 times that.

Along with one thousand cartridges, there was the task of describing and classifying them. This took a team of volunteers working day and night, including John Vilk, Justin Kerk, and Steven Zakulec. We pulled descriptions from many sources, which we have endeavored to credit.

The Historical Software set got some press attention – but this second collection got a lot more attention. A lot.

Having half a million visitors in a few days, and the attendant commentary from people about the living room, was a great education.

First, an enormous amount of people think the best contribution to any announced new thing is to come blaring in, 30 seconds after hearing about it, blarting out some intense, screaming opinion, and then leave, never to return. That’s just the way things work in the commenting world – we’ve moved from too many chefs in the kitchen to screaming car valets. So be it.

Next, the fundamental question that people think is the fundamental question (“how can you possibly do this”) is in fact the wrong fundamental question, which is what is the role of the library in the internet age?

Remember, people have been trying to destroy, or have destroyed, all sorts of libraries for so many years. They starve them of funding, they mistreat the contents, they slap on all sorts of restrictions that make them decidedly useless unless they play a very unpleasant game of ball. Technical innovations in libraries, in more cases than people often discuss, are just used to make them less useful. Is this surprising news? Isn’t it nice to have a step in the right direction for a change?

What matters to me, swimming upstream through these comments, were the ones that actually used this for what it was intended – a reference library and living museum. They had a great time.

I was especially touched by one person who mentioned how he showed his dad the Odyssey 2 collection, and his dad got really joyful and they played games they’d last played when that son was 4. That’s powerful.

Stripped of their ads and promotion, lacking the whipped fervor of the time and the newness of their arrival, these cartridges have to stand on their own. This is particularly interesting in the case of the Atari 2600, which produced hundreds and hundreds of cartridges, some of which stink beyond belief. Truly, utterly terrible!

But when it all comes together, I think some set of them are truly well-designed classics. You put the game in someone’s hand, young and old, and they see why this thing was a huge seller. It transcends the medium.

There are non-game cartridges in there, but the vast vast majority of the cartridges are games. That seems to drive some level of the professional digital preservation community into conniptions. Don’t worry, non-game collections are forthcoming, everything will be nice and academic. Stay tuned.

But games are great for several reasons beyond entertainment. They push the emulator to the limit, they make the audience that much more discerning, and they beg the demand for ease of use. They’re nearly perfect test cases. You know in seconds if something isn’t quite right.

To be sure, things are not quite right with the JSMESS interface to the Internet Archive. Sound is not quite activated, having a slow laptop results in hella slow emulations, and keyboard mapping is scattershot (hence games, with their limited controls, sidestep this last issue). This really is a new dawn in bringing the software experience of lost days back to the forefront. Think of it as the days of early video and audio on the web and in the browser – a little clunky, best done with the most expensive and privileged computer setups, and freaking some people out. Ultimately, I expect JSMESS to work in phones and tablets as well as it works in the high-end machines. Work is being done on JSMESS (and the underlying MESS emulator) every single day, by many talented and driven people.

I also expect the capabilities of JSMESS to tune its experiences for individual machines to increase, and with it the ability to tune to the needs of individual users. This will help with a range of people who throw around terms like “context”, “medium”, “authenticity” and so on. It’s an adorable debate, and I can’t wait to have it continue to keep the project honest, but let’s be glad it boots.

Speaking of which! It doesn’t quite boot universally! There’s places we’re finding it doesn’t work at all, and that’s something that didn’t come out with the Historical Software collection. I assume it was the massive range of people who came rushing into the Console Living Room that have shown all these gaps, so that’s great notes for further improvement in later versions.

I can’t stress how much this is all the first few steps in a continuing journey, one that is likely to really change how people interact with computer history. It’s not going to slow down.

The game has just begun.

The Distrust Sphinchter —


I have completed my initial impromptu 10 year survey of the transportation security administration.

I was drafted into this wretched task as a side effect of my work with my first documentary. Whereas previously I might travel one or two times a year by plane, I suddenly found myself taking dozens of flights, until I looked back and realized I had traveled over 100 times by air. This puts me, I think, in a rare position to assess the methodology by which people are checked to make sure they don’t wish to hijack or blow up a plane.

I’m sure along the way the TSA has invented all sorts of other reasons besides stopping blowing-up-people from doing the work they do, but primarily, they are supposed to stop the planes from being flown into buildings.

On this, we have to give them the causality award. No more planes have been flown into buildings. Not a one! Perfect!

And the very tiny, very small price we’ve had to pay as a result is that every single goddamn plane flight is turned into a miserable carnival of meaningless activity, stupidity ruling the day, and needless stress and hassle. We’ve trashed civil liberties, harassed seniors and infants as if they were gun toting mercenaries, and generally made everything worse in the realm of planes. As a bonus, talk continues on increasing this randomness spot checking into other major forms of transportation, since that causality award opens a lot of doors.

Well, except for cockpit doors, which were reinforced after 2001, in which continue to be one of the best defenses against trouble on the plane. Much more, one might say, than the moron river of pre-flight check-in.

Harkening back to 2002, I began flying in January, just in time for all sorts of insane new rules to be put in. As a bonus, nobody had any fucking clue as to what methodologies would work, what wouldn’t, and whether it was all worth it. Heady times, indeed.

At the time, my dash of Russian heritage ensured that I fell below the swarthiness threshold so I could expect extra special harassment and attention from the flood of mouth breathers with badges slapped on them to look authoritative. My strongest memory from those early days was the older gentleman who had me unscrew every lens in my collection, so he could peer through it, ostensibly studying as to whether I had shoved some sort of explosive, weapon, or incendiary within my trick camera. “If you can see the light, it won’t blow up, right” must have been the trusted rule of thumb in effect.

I could allow some period of random running around, as the palpable curtain of fear in the wake of such a horrifying event could make many people enact poor decisions. Initial freakout overreaching panic grabs are a hallmark of unknown danger, after all. Eventually I got way too light-skinned for special treatment, for example, although my camera equipment would still raise alarms.

Unfortunately, the rest of these arbitrary rules, responses to random perceived threats imposed on a countrywide scale, became the rules, the manifesto, and the unquestionable wisdom of those above. We then gave these randomly imposed and unexplainable rules down to some of the most mindless individuals in the public sector. And that’s when it started to really suck ass.

Probably the most infuriating aspect is the inconsistency. In some airports, you can put the shoes you wear into a tray. On others, you will be yelled at as if you’re some sort of uncouth beast, up to and including a hygiene lecture. I’ve seen that happen more times than I like. In other airports, the Shoes Off Rule isn’t enacted at all, with this fact gloated upon as if it was some sort of gift from the heavens, or a tax-free Jubilee day. In all cases, these are the results of random reports that someone might put something incendiary into their shoes. The fact they may put something incendiary anywhere on their person seems to have been an unfortunate omission in this genius plan. In some airports, this condition of shoelessness is supplied with a clean carpet. In others, cold tile, disgusting mats, or random carpet greet the travelers. It effectively ruins the dignity of travel like applying a Brillo pad to a beloved metal brooch.

Liquids. Really. Tell me again how your random scenarios justified the astounding amount of waste that’s been caused. Also tell me about how explosive material, now barred from the plane, can’t be placed in the trashcan full of tons of other liquids.

It’s kind of crazy that tugging at your belt and removing it in a crowd is acceptable now. I kind of dig that one.

In some airports, you have to take out anything with electronics. iPads have a quantum state of acceptable and non-acceptable. In others, I have shoved a suitcase full of Circuit City through the cancer-o-matic and watched it go through without a raised eyebrow. You have not looked into the true face of a coma patient returned to the workforce until you look at an x-ray operator at TSA.

I’ve got a lot of friends in the security industry. I have yet to hear one justify or defend any aspect of what the TSA does now, compared to simply checking for metal, and occasionally quizzing people as to where they are going to see if they freak out. They all know it’s bullshit. They know it in their hearts, and they say it all the time. It. Is. Bullshit.

More than anything else, to be honest, it’s the speeches that get to me most of all. The faltering, mealy-mouthed, this side of illiterate proverbs shouted by tsa agents at crowds of tired, huddled people just trying to get onto planes they paid hundreds or thousands to get on. It’s obvious there’s no class given to provide these nuggets of wisdom. They’re obviously the frustrated bleating of people with no real training and no real way to express their frustration at the occasional missed item or the forgotten bag put in the wrong way. For some reason these really grate on me. They’re like McDonald’s employees yelling at you about good nutrition. They yell platitudes at people, and then turn their heads 5° and yell at the three people behind the people they yelled at.

This is the situation, every day, every hour, as thousands and thousands of people travel around the world, to and from this country, and experiencing the absolute bottom of the barrel customer service experience.

Of course, I can’t merely be content with being shouted at, given inconsistent instructions and declarations, and forced to walk slow death marches through tedious empty procedures. No, I am also what’s known as an “opt out.”

This means that I refuse to go through the millimeter scan wave machine or through any other variation of crappy technology to deep scan my person. I have this right, and I take this right. And when I declare it, I am made to stand off to the side and wait for them to find someone to inspect me. In some airports, they use a radio system and somebody comes in nearly immediately. In others, they do it by shouting “MALE ASSIST” into a crowd of people. This works about as well as you can expect. The record, currently held by Minnesota, was 45 minutes before someone showed up. It’s not a matter of major airports versus minor airports. They just literally have radios at random airports and shouting at others.

If I’m really lucky, the agent tries to explain to me why the scan wave machine is not harmful, and is not a problem. Those are very special times indeed.

When you opt out, someone comes over and feels you very insistently.

I’ve now been deep fondled by such a wide variety of agents, that some of them are getting second and third runs at me. Since I know the procedure by heart, I often immediately make statements declaring that I don’t want a private screening, and that I don’t have any medical equipment, and I have no sensitivity. Some agents smile and then continue. Others frown and insist that the rules say they have to say it all to me even though I just said it to them. No such rules.

As I stand there, arms outstretched, I think about how little this does for me, for safety, for liberty, for any of it. It is simple cargo cult fondling provided as some sort of safety dance for a threat neither understood nor relevant.

As a bonus, I like to waggle my eyebrows at passerby as the process goes on. It adds spice.

Finally, after verifying I’m not carrying an AK-47 on my person, every agent does the same thing. They take their gloves, rub them with a small cloth, and shove them into some sort of anti-terrorism easy bake oven that dings to say I’m not a terrorist. It is so obvious that many of them have completely abdicated any logical thought and simply let the machine ding their way into the next part, that I’ll bet these machines are rarely cleaned, and totally don’t work as advertised.

So my assessment? Not positive.

Like any terrible service industry, I’m sure there are agents that surprise and delight, who show intelligence and compassion and thinking far beyond the confines of their job, and to serve with dignity, wisdom, and authority. On that topic, I can also tell you about the time I met a very smart goat.

In recent times, they’ve now created special pre-check fast lanes, so the privileged and well-off can pay their way through faster security. Somebody has forgotten about the phrase “attack vector.”

They probably also forgotten how wonderful air travel used to be. I’ve had the privilege of traveling in other countries, to get a glimpse of those times, when security was important, but not an excuse to crush and ruin the day of thousands of people, chasing tail, accomplishing nothing, wasting and ruining and decimating the amazing experience of travel.

See you on the spitefully added no-fly list.

The Fuel Costs of Not Moving —


copy of letter sent to

William Scotsman:

I’ve been a very happy customer with regards to the shipping container I have rented from you for several years. That is, I rented a shipping container, paid for the transport to and from the site, and have left it full of stuff in my backyard for years since.

I am about to pay my November bill, and I wanted to make two notes before I do.

First, when I started renting from you, my container cost $100 a month to rent and included a $10 property damage waiver, for a total of $110 a month. This is a great bargain for 40’x8’x8′ of space. I’ve made great use of it.

At some point, you mentioned you were raising your rates. You mentioned “rising fuel costs” as the reason. At the time, a friend of mine pointed out the ludicrousness of this, and I laughed with him about it, but never brought it up. I’m bringing it up now.

The container doesn’t move. It requires none of your fuel. It sits in my yard, on my property, and holds things. You don’t provide maintenance, you don’t visit or verify its structure, and you certainly don’t move it anywhere. In other words, you have been charging me, to the tune of hundreds of dollars, for fuel costs that you never incur, simply because some other aspect of your business is costing you money. I might not have even noticed, but you specifically cited rising fuel costs. I question the entire line of thinking. Additionally, I pre-paid for having the container trucked out at some point in the future. You’ve been holding that money for years, in what I hope is a bank account of some sort. So these contributory fuel costs, which at this point have been likely triple or quadruple that ship-out fee, are being taken for no real reason. I am disappointed in this.

Second, I attempted some time ago to purchase the container, noting that for a few thousand dollars, I could just own the item and do with it as I wished, including modify it for ventilation and lighting. I called and was told something that again, at the time, I thought was humorous, but have not continued to think so over time.

The customer contact explained to me that my container, which is as generic as it can get, and which had chinese markings and paper taped to the insides from its previous use as (as far as I can tell) an off-the-boat clothing sale market, was part of the “rental” fleet. If I wished to purchase a container, I would have to buy something from the “seller” fleet.

In other words, I was being asked to 100% empty out the container, go through the effort of making space to have it hauled out (at what I’m sure would be a notable cost above the part I pre-paid for), and then replaced with, essentially, the exact same container for me to re-fill (and possibly dealing with a scheduling issue, storing these items outside, and the rest of the associated problems). Obviously, I would never do this, and if I did, it would be to empty out the container and order a container from another firm.

As it is, I am now spending $150.83 a month of my container, a rise in price from $100 to $129 for the base rent, and $11 a month for my damage waiver, up from $10 for reasons I can’t quite fathom either. As I am constricting and tracking down my cost of living to meet my reduced means, small things like this didn’t bother me before, but now they do.

I will be continuing to pay for my shipping container and intend to remain a customer for the forseeable future, but can’t, at this point, recommend renting containers from William Scotsman.

Jason Scott

The JSMESS Endgame —



Don’t worry, I’m not talking about an “end” to JSMESS.

Oh goodness – far from it. Of the two versions of JSMESS we’re currently working with (the “in-process” version and the “dressed for dinner” version), we’re going to be adding a third version for general distribution out to anyone who wants to run JSMESS on their own site. We have gotten sound running (somewhat, and best in Firefox), joypad support (in Chrome and Firefox, but you have to enable it in Firefox), and full screen. We also got the pipeline from “New version of MESS is made, new version of JSMESS is generated from it” down to a near (time-consuming) science, so it’ll be possible to keep up with the many-per-day changes to MESS that are going on. Things are vibrant, intense, and amazing.

In fact, I just wanted to touch a little on where I think this whole thing is going, and what my vision is for JSMESS’s future. I figure we’ve been making such amazing strides, that some folks might start to wonder if there’s any plan at all beyond “it works”.

There is.



JSMESS is as much an idea as a pile of JavaScript. The idea is to use the currently-most-critical networked window into the Internet, the browser, and the currently-most-portable-and-not-controlled-by-maniacs runtime language, JavaScript, to present an easy link to the currently-most-portable and currently-most-flexible emulator, MESS. Putting all those together, we came up with “Use ‘JavaScript’ on ‘Browsers’ to execute ‘MESS'”.

I am hugely skeptical we will see the browser paradigm disappear anytime soon, certainly not within the next five to ten years.

I’m also very skeptical something is going to sneak up on MESS and take away the portability/flexibility crown. (Individual emulators can smoke MESS on chip-performance accuracy, but then they only do one platform, not 1600.) Maybe someone will cook up some amazing emulator out of the bushes that will blow past MESS – that’s not out of the realm of possibility. I don’t know of one, but that’s how obsessive projects work – someone burns brain on it in darkness and then drops it on the world.

JavaScript, however, could easily be horked past by someone or someones with a true open-source addition that all the browsers cook in after a few months of testing. It’ll have some stupid name, and will maybe use some trickery to get improved speed, as well as offering all sorts of programmatic advantages that someone would expect. (Right now, there are backwards-bending tricks to make Javascript do the proper thing, and that’s not always very good for anyone involved.)

The important thing here is that the IDEA of JSMESS transcends the individual parts – the emulator, the browser, the scripting language of choice. All of these can be swapped out and the idea lives on – you turn on this thing in your computer and within seconds you are interacting with vintage software. That’s what we shot for and that’s what we have.

So, expect probably some upheaval in JSMESS and how it runs in the future, near or distant, depending on what’s best for the core values of speed, accuracy and access. That might happen in six months (unlikely) or six years (likely).



The goal with JSMESS has always been to think of it as a “software player” in the same way that we think of “video players” and “audio players” – discreet programs that will put us in touch with the digital item. To that end, we have a whole range of plans for adding features to the JSMESS “player” that you interact with. I don’t want to list them out here, as some will inevitably be dead ends and others will be subsumed or decided against, but the point is that once the JSMESS player deals with one system, it will more often than not deal with all the systems. For example, once we have sound running smoothly, all platforms have sound running smoothly, both in terms of browser platform and emulated platform.

So as more features enabling you to interact with these emulated platforms are added, the experience becomes richer, more reproducible, more flexible. Some features might only be of interest to a few people, while others will have been called for by anyone who uses JSMESS for a few minutes. Whatever they are, we’ll add them and they’ll just be part of the landscape going forward.

Let me tell you – the Joypad changes the experience completely. You can definitely use keyboard controls, but going back to joysticks to interact with some programs brings up a pretty visceral reaction. It made the program just work better for a bunch of reasons – and it’s optional going forward. That’s the plan generally, regarding that.



Finally, there’s the secret weapon – something I call The Feedback Loop.

Emulation development is a strange art, and one that can be really non-rewarding. You spend a lot of time trying to ramp up a program that plays other programs, and then you realize the official documentation is wrong, there are missing pieces and unexpected confluence with the machine the emulator is running on, and so on. Adding to this frustration is the fact that if you’re collaborating on an emulation project, some of the developers are by the nature of the process hard-edged, critical of radical change, and generally abrasive about the process in the pursuit of perfection… and then you find being The New Coder is a crapshoot of ease and difficulty. Maybe you suggest a change and everyone hoists you on their shoulders, while other times you get a stream of profanity. Emulation is very hard work, coding wise, and it can be an uphill battle to keep track of all the moving parts and contribute positively to the project. And in the case of emulators, the audience is (relatively) small and often hypercritical of what they get on the outside, so your skin has to be a certain level of tough. The result, then, is the pool of developers can be relatively small, especially for platforms that lack the passionate adherents dedicated to that platform’s accuracy and immortality.

What we have here, with the ability to run the emulator directly in the browser, is proof positive that the work you put into it has near-instantaneous effect. Make the emulator better, and the ability of people all over the world to run this platform in their browsers is better. That may be a critical push for a specific set of development-oriented folks, and allow additional focus on more obscure platforms. The dream is someone who goes around doing incremental improvements to platforms that are not all-stars, but just as critical to preserve, maybe more so.

Improvement will beget improvement. The MESS team already does amazing work, so more people focused in on working various parts will make the project stronger. It’ll encourage more documentation as more people want to learn how to ramp up.

That’s the hope, anyway. We’ll see how it pans out.


The Frightening Cornucopia —

I am an extremely lucky person.

I’m lucky for a host of reasons, but in this particular case, I’ve been matched up with the Perfect Job very early in my life – my 40s. Some people get earlier, of course, but many more get it later, if at all. Life at the Internet Archive is just what I wanted it to be. Conflicts are barely anthills. Achieved dreams loom in every direction. Triumphs have been many, failures often more hilarious than troublesome.

When I joined in 2011, I was given several overarching aspects to think about, and I added a few of my own. One of them was software and another was the emulation in a browser thing, both of them going quite swimmingly. Another was to spiff up the donation page, and at this exact second the design’s a little cramped for the holiday matching fund drive, the flexibility of the new design and the addition of subscriptions turned out to be well worth my attention.

So, 2014 looms. What’s got my attention and why did I use a word like frightening in the title of this entry?

First of all, I’m not “done” with the JSMESS project and I’m certainly not done adding software items to the archive – those will continue and may even dwarf the rest of what I’m doing for some time to come. They’re both big, important things and I’m working on them nearly daily, as are many others.

We needed easier money donation, and we needed software emulation in the browser, and now we have that, and it will get better as time goes on.

In 2014, I want to go after two other weaknesses in the Internet Archive arsenal: Metadata and Discovery. (And maybe Accessibility if we can swing it).

When I interact with professional librarians and archivists, or even folks who are really, really into the subjects that I’m focusing on (vintage software, crazy old crap), the conversation quickly turns to how in fact these items are being described and given metadata. And then the question of how it can possibly be found at all.

So, in the very specific realm of software, bear in mind we’re making up for decades of institutional neglect. Oh, hobbyists and intense amateurs were getting shit done, let’s not diminish that work at all. But it was all being done under this cloud of “are we in trouble” that meant that the hosting and interaction of the materials meant that a few random brave souls would make good collections (Home of the Underdogs for binaries, MobyGames for metadata, for ROMs) and then things would go south for a variety of reasons and the information and data would disappear again, sometimes for good. No institution stepped in. Not really. And so here we are, with the Internet Archive now stepping in. Become the largest historical collection in the world? Check.

To do this, we absorbed many terabytes of data, from a wide range of software. Some people were very specific about high-quality descriptions and naming. Others…. were not. But again, to make up for lost time, in it went.

Same with old documents related to computers, old videos, old audio. My philosophy has been, and continues to be, get it online first. GET IT ONLINE FIRST. Deal with EVERYTHING ELSE LATER.

If it’s online, it’s not in a box in a basement or attic. If it’s online, it can be commented on. If it’s online, it can be shifted around effortlessly and included in greater and greater things. And if it’s online, it isn’t rotting on some piece of magnetic plastic or dimpled plastic or broken plastic. Granted, we’re buying a whole other range of long-term problems putting it on spinning disks and what have you, but the long-term preservation of the item is now a whole lot easier, should we be responsible. Being online is a great thing.

Once stuff is online, and as I just implied, an awful lot of stuff is now online, then we can talk about metadata, organization, discoverability.

And that time is now.

I unintentionally got quoted all over the archiving and library scenes when, in a talk I was giving at the New York Public Library, I said “Metadata is a Love Note to the Future“. This rang true with a lot of people, and it speaks to the oddness of what metadata is and who and how it serves.

Intense, machine-searchable information about artifacts and collections, be they digital or physical or whatever, has a value that is primarily based on faith. You can enjoy the object right now in your hands, but turning it into a photograph or a .wav file and then tacking on a whole range of information you might not have even had at the moment, is preparing for a future that you have no idea about.

I assure you, there are hundreds of books contemplating the nature of objects in past, present and future, and how we as human beings interact and interface with these objects. I’m not going there. But I’m going to say that the effort put into generating contextual data about an item provides all sorts of benefits, but almost completely in theory unless you know you have an audience waiting for it. That makes it a very tough sell for people to ‘just do’, like they might bookmark or do a retweet or notation in a weblog. It’s involved. you usually have to pay people. And if you pay people, it gets expensive quickly.

So my efforts will be to make metadata generation for items on the Internet Archive as painless, as collaborative, as rewarding as possible. I’ll likely utilize custom scripts, wikis, let’s-raise-the-barn events and shout-outs for folks to get involved however they want to. I also will work on automation of same, where a person is signing off on the efforts of machines, instead of typing in the year when the stupid thing is telling you the year right there and in a billion obvious locations.

It’s a tough problem with a lot of moving parts! Hence it’s a goal, to be implemented over time and with endless refinements as I progress. I’ll let you know how that goes.

Even more fundamental is the issue of Discovery and Exploration.

There are people who have no idea the Internet Archive exists, Wayback or digital media or anything. There are people who only know it for Wayback. And then there’s people who know it “pretty well”, knowing we have a whole bunch of audio and video and books and software. You are likely among this last group.

And you still have no idea, no idea, how much stuff is at the Internet Archive and its collections.

I just checked The Thing That Tells Me Stuff and it tells me that in my time at the Archive I have personally uploaded 229,000 individual “items” (some of which are grouped files) for a total of 262 terabytes of data.

I’m throwing a lot in, but I’m hardly the only one throwing a lot in. Some of my co-workers in the “collections” group I work at have shoved in millions of individual items, ranging from documents and journals through to the video, audio, and so on. Let’s not even touch the wayback, which has over 368 billion (with a b) URL captures.

When I send you somewhere, say, deep into a collection of magazines or over to some Apple II documentation or up into a massive audio record… well, forget the surface, we’re not even scratching the surface of the surface.

It is a terrifying, frightening cornucopia. It is a horn of plenty so pitch-dark with content that I am not 100% convinced the problem is solvable, unless the nature of humanity changes overnight and even then we’re talking a couple years of hard work.

But there you go. In conjunction with other efforts by other folks at the Archive, the plan is to make strides in discoverability, usefulness and access to the vast and ever-growing stacks of the Internet Archive, which, again, I promise you, are massive.

Every site that has a forward-facing website and then terabytes of goodness down the line has this exact problem, by the way. Every museum and archive with warehouses and storage units extending into the darkness has the problem as well. It’s not a new problem, but it’s one I’m willing to tackle.

Hey, if they weren’t called ratholes, everyone would want to go down them.


A Thing With Feathers —

The challenge to make my presentation outfits more enjoyably outrageous continues, and it escalates.

Nobody is telling me my outfits need to be outrageous, of course – I just know, in my heart, that it’s what needs to be done. Just like I know that digging in intractably on the principles of protecting user data needs to be done, or that spending years helping people port some huge codebase into javascript needs to be done. It must be done, it must be.

Anyway, I was still fishing around for a combination of striking and not insanely expensive for my presentation at Build Conference 2013 (Belfast, Ireland), when it came out of the blue – black angel wings with a formal outfit.

This worked out.

(The rest of the set, and the other photos of me, are by Rachel Lovinger.)

This has resulted in one of my favorite photographs of the last 10 years:


What are my motivations?

Well, first of all, a subset of places I speak at are particularly well-run and particularly careful about treating their audience and presenters well. This includes XOXO Festival, Webstock, dconstruct, and this one, Build. Others are family to me, and definitely done by people who care, but this group of events pay for airfare, hotel, provide excellent lodgings, and activities. They really bring an A-game and hype the presenters to be the best of what they could bring that year – I consider that a challenge, and I feel they’re trusting in me. So I make sure the talks are extra sparkly, and I try to go the extra mile in terms of being available and, if possible, wearing something memorable.

This worked out well.

More than seeing photos of me prancing about in this outfit, this entry is really about the more critical information: the current state of wing-costume purchasing.

The collapse of the industrial sector in the US smashed up against the ubiquity of internet accessibility and online commerce, along with improved manufacturing techniques in materials means this is the best time ever to get a costume with wings.

If you’re just looking to get by with a basic set of feather-laden things on your back and call it a day, the price is somewhere around $20-$30. The wings are not of fantastic quality but they get the job done. They’ll look something like this:

mr6v5Zcb37g4dubuVd1uWhwThere are wings available that are cheaper than $20, but at that point it’s obvious you just don’t give a shit, or you consider nylon dragged across some flexible wire to be a “wing”, instead of the stuff we’re talking about here, with real feathers. Get out of here.

I went for a different class of wing, in the $100-$150 range. Here’s what they looked like on a mannequin at the site I bought them at:

$(KGrHqR,!hgF!ys+5d!sBQR(+Pgqz!~~60_3If it appears I have less wing feathers than the model, here’s why: the secret of all the costumes under a certain price is that feathers fall off. They’re bound by glue onto plastic plates, and they fall off. In my case, they came very well packed, but then I flew from New York City to Belfast with them, with the wings in the cabin, and frankly I’m surprised they survived as well as they did.

I then made the executive decision that fucked-up wings were more bad-ass.

If I had decided that wings were my new “thing”, and that I’d be expected to show up with wings to all later speaking engagements, well, then you start getting into the $500-$2000 range. Yes, that’s right, $2000 for wings. If you want to see what that looks like, it looks like this…

$800 or thereabouts:



And “fuck it, I wanted to buy wings that will strike fear into people”, $1700:



I’m sorry honey – at that point you are no longer going to parties. You are the party. The site that sells this particular model, Dragon Wings, says that this particular costume folds up in four places for easier shipping, in case you want to go on the road with your winged antics. Note that unlike the previous wings that use straps on your shoulders, this one needs an additional belt to keep the whole mess in check. They claim it weighs 17 pounds.

I also brought a pair of backup wings, which ended up being the “social” wings for the post presentation parties. Here’s Rachel and I modeling two different sizes of wings, hers being of the $25 variety, and mine of the $35 variety.



I had a conversation with some folks a ways back at an event I’ve forgotten the details about, and I had one person say “Oh, you’re not gay! I read your blog, I assumed you’re gay.”

Well, OK, let me know how that browser plugin works, but I will say one thing: being interested in making an impression before you say the first syllable of your presentation is for everyone. We fill a room with souls, we make them all spend an hour or two listening to someone pointing at pictures or telling stories, and behind the scenes are people working their asses off to provide the best experience for all involved. Being in people’s minds weeks after comes from a lot of factors, but it doesn’t hurt to walk out on stage and be the best thing in the room. The least you can do is put as much care into proving the person on stage should get your full attention, and then sealing the deal once you tell everyone the great stuff you’re up to and what there is to learn.

Oh, and musicals! I love musicals.




JSMESS Makes a Little Noise —

Stuff just keeps falling in place with JSMESS.

As of this moment, we have a version that handles sound.

If you want to test out if your browser/machine/audio setup works well, you can’t do much better than clicking on this link and seeing if you’re hearing a ColecoVision play Michael Jackson’s Smooth Criminal.


Assuming you didn’t just crash your browser, machine, car or phone, and it sounds decent, then the rest of the systems on the JSMESS demonstration page are going to be a treat.

Regarding this excellent Smooth Criminal cartridge image, 2009, the creator of this cartridge did a pretty amazing thing – he went ahead and ran the same program through a ton of emulators so you can see how much massive variation there is between a “real” ColecoVision and all the emulations.

The point is, sound is hard.

Luckily, the way the system works for JSMESS, if sound is working in the browser for one system, it works well across all supported systems – they’re all ultimately using the same audio output.

Unfortunately for the big Historical Software announcement from October, the audio APIs in browsers were shifting around a bit too much for me to allow the Internet Archive to be running sound. People noticed, people complained.

After a round of testing and tweaking, and nailing down any other issues, this improved version will go into the Internet Archive’s collection, meaning that sound will be a part of the place going forward.

It just keeps getting better! And noisier.

JSMESS Now Supports USB Joypads. Sort of. —

Huge breakthrough this week. JSMESS now supports USB-connected Joypads.

In a few browsers. If you do the right thing at the right time. With luck.


Here’s how it works.

First, you need a browser that’s compatible with something called the Joypad API. As of this exact moment, that would be Google Chrome (most recent versions) and Firefox (most recent versions). In the case of Firefox, joypads will work if you type “about:config” into the toolbar and set dom.gamepad.enabled to trueHey, who said the cutting edge was comfortable?

You’ll need a USB Joypad. This looks like a game controller with a USB plug at the end of the cord. I checked around, and I found them for sale in many chain stores, such as GameStop, Best Buy, Sears, K-Mart and Target. The price ranges from I-can’t-believe-it-stays-functional $15 to $150 arcade-quality-stands-on-your-desk nightmares. I bought a test one for $25.

Over the last few years, people have made a whole range of ways to hook up Atari Joysticks, Nintendo Gamepads, Sony and Microsoft Gamepads, and other related items up through USB. Trust me, it’s a big fat tested market full of many items which you would be able to acquire with little effort.

The “Joypads in the Browser” API thing is not just new, it’s “steaming hot asphalt laid down 30 seconds ago and you’re walking through it” new. I find it pretty ironic that in the quest to be able to reach deep into history, decades of computer software and so much older material, we’re at the same time doing beta-grade updates and running standards that are still 90% wet paint. But that’s what JSMESS is about – innovation and changing the world.

So, here’s what you have to do:

  • Get a USB Joypad, and plug it into your machine with a browser.
  • Press down on a button on the Joypad.
  • Go to this link to start up a game of Pitfall! for the Atari 2600.
  • With luck, you’ll be able to go left and right with your joystick and it’ll work.

If it doesn’t work, there’s a whole range of things wrong. We’ll be fixing up our loader so that it’ll say “Joypad Detected” or something, in the future. One cheap fix is to hold down a button on your joypad and hit reload on the browser. If it doesn’t work after a few tries, don’t overwork yourself – it’ll get smoother and better over time. We don’t need bug reports this second – we know it’s rough.

But when it works… oh!


The experience of using the consoles and some computers with additional hardware like this is critical to some people – the games and programs were certainly designed with hardware like this in mind, and the experience wouldn’t be complete without having your hands wrapped around a control as opposed to pressing keys or clicking on screen-based representation of a controller.

It’s a fairly severe debate, which mires people into not enjoying or dismissing the keyboard-only experience, or saying that if we can’t have the controllers, the project shouldn’t be done. I dismiss that heartily, but one of the advantages of the JSMESS project is that by following the MESS/MAME codebase, all the work being done in emulation and additional support are going to fall into place much faster than if we were a 100% independent emulation project.

I don’t want to go into detail about all the other cool features JSMESS is capable of due to being a code conversion of MESS, but believe me, the MESS/MAME people have been working very hard for many years to make their project do a whole range of interface tricks and output variations, and JSMESS will hopefully benefit from that sooner rather than later.

Until then, look forward to smoother and smoother controller support in JSMESS and another aspect of the computing history experience to find its way into your hands.