I was a teenage computer virus author

Source code iconNOTE: A version of this essay originally appeared at The Register in 2015.

I was 17 years old, I had nothing to do, and I wanted to teach myself PC programming. So I decided to write a computer virus.

Don’t worry. The two viruses that I ended up writing – Leprosy and Leprosy-B – were designed to infect MS-DOS computers. They knew nothing about the internet, Windows, stealing people’s data, or anything remotely sophisticated, because neither did I at the time. And today, both viruses are as dead as smallpox.

My reasons for wanting to write software that trashed other people’s PCs weren’t that complex. For starters, as I said, I was 17. Petty vandalism kind of comes with the territory. Maybe sticking to computers was a better idea.

I was already a bit of a hacker, having taught myself Basic, Pascal, assembly language, and Forth on an Apple ][ years earlier. But the PC worked differently, and I wanted to figure it out.

Perhaps the main reason, though, was that I was a bit full of myself and I wanted to do something about the arrogance that I felt existed in the underground computer scene at the time. I just wanted to prove to the scenesters that even an idiot who didn’t really know how to program could write a virus. » More... »

LibraryLookup for Google Chrome

I’ve written a new version of my LibraryLookup script for the San Francisco Public Library that works with Google’s Chrome browser. If you’re running Chrome, you can try it out by clicking this link. It should work regardless of your OS platform — in fact, it even works on Chromebooks! Note that this version of the script is a substantial rewrite from the Firefox version, so I’ll be especially interested to hear any bug reports. It works pretty well for me so far, but I still don’t use Chrome as my main browser.

Also, note that because LibraryLookup uses cross-site scripting, it has to run as a Background Page in Chrome, because of the way the browser was designed. That means it’s consuming some small amount of memory all the time, even when you’re not browsing Amazon. The amount of resources used should be negligible, but you should be aware of this before you install it. Enjoy!

Search OneNote 2010 Beta in Windows x64

An old bug seems to have resurfaced in the current build of Office 2010 Beta. Normally, you should be able to use Windows Desktop Search to return search results from your OneNote notebooks. But on 64-bit versions of Windows, while the search results show up, they have generic Explorer icons and clicking on them doesn’t do anything. The problem is that the system isn’t seeing the right version of the OneNote Search Connector DLL. If you’re seeing this problem, read on to find out how to get your searches working properly on Windows x64. » More... »

Greasemonkey fix for /. user page

I’m singularly unimpressed with the Slashdot gang’s attempts to reinvent the site’s UI. Every new change seems to make the interface uglier, more bloated, and harder to use. I liked the mechanics of the old, pre-AJAX site just fine, thank you.

But the most recent insult was the sudden, unexpected change of the User page. Previously, if you clicked on your username in the upper lefthand corner, it would take you to a page that listed your recent comments. Now you get dumped to a Firehose page, forcing you to do an extra page load to get to where you’re going — and don’t get me started on Firehose.

So I decided to write a Greasemonkey script to fix it. You can download the script here. » More... »

Adventures in amateur BlackBerry repair

Taking apart a BlackBerry PearlLast night as I was walking home I pulled my BlackBerry Pearl 8120 out of my back pocket and noticed that the LCD was cracked (image here). I have no idea how this happened — I didn’t drop it or anything. The phone is only two weeks old! Unfortunately, no matter how it happened I knew T-Mobile wasn’t going to have much sympathy for my plight. T-Mobile, like most carriers, considers any screen breakage to be the customer’s fault, and it’s not covered by warranty.

This particular Pearl, however, was a replacement for my old Pearl — an earlier model 8100 — which I accidentally dropped in the toilet about two weeks ago. And that gave me an idea: Why not swap out the broken screen in the new Pearl with the working screen from the old one? » More... »

Updated LibraryLookup for the SFPL

My GreaseMonkey script that links Amazon.com search results with the San Francisco Public Library catalog seems to have broken recently. I’ve now published an updated version with a couple of additional improvements. It now returns search results for all of the branches of the library, rather than just the first few; and the output is now a little nicer looking.

If you want to know more about this script and its history, you can check my earlier post on the subject.

If you just want to dive in and start searching for library books via Amazon, you can download the latest script here. (Note that you must have the GreaseMonkey extension for Firefox installed for this to work.)