A project in lieu of coursework

My friend Tom Lyon just dug up a piece put out by the University of Essex in 1970 to describe their new PDP-10. It also mentions that they were acquiring a PDP-15 for “research and teaching”. And that reminded me of an interesting project.

I applied to Essex in the spring of 1968, intending to study economics under Richard Lipsey. Lipsey was something of an enfant terrible in the field of “math-econ”, and I was really interested in his work on mathematical modelling. So I ignored the advice of my teachers at RGS to try for Cambridge, and was accepted at Essex. Rather than going straight up, I decided to do a “gap year” working at AERE Harwell, which introduced me to what was going to be my life-long work: computing. This meant that when I arrived at Essex in September 1969, I wasn’t too disappointed when I learned that Lipsey had resigned and decamped to his native Canada.

The academic structure at Essex was interesting. During my first year, I divided my time between mathematics, economics, and computer science. At the end of that year, I was required to pick a major, which would dictate my studies over the remaining two years. Obviously, I chose computing, which led to another decision. The computer science program included an “industrial experience” segment, which meant that the second year would comprise two terms at Essex followed by five months of work in “industry” (which would be graded).

In September 1970, I returned from my summer job at the Ministry of Technology to begin my second year. As I wrote elsewhere, there were several of us students who had almost as much experience as the academic staff, and in several of the courses it was going to be difficult to accommodate the wide range of abilities and experiences. Creativity ensued.

As mentioned above, Essex had just acquired a PDP-15. This was, perhaps, a poor choice. The department had several PDP-8s, and probably saw the PDP-15 as a nice step up from the limitations of a 12 bit architecture. In practice, the PDP-15 turned out to be a dead end. It was a TTL-based evolution of the family that included the PDP-1, PDP-4, PDP-7 and PDP-9. (IIRC, the electrical engineering department had a PDP-7 or PDP-9.) However, in 1970 DEC introduced the PDP-11, which spelt the end of the 18-bit architecture.

Nevertheless, the PDP-15 was chosen as the design which would be used to teach hardware architecture and machine language programming to undergraduates. And almost immediately a problem arose. The number of students studying computer science was growing rapidly, and it was going to be difficult for them all to get hands-on time on the PDP-15. So one of the staff (probably Dave Lyons) cornered several of us more experienced students and made a proposal. Rather than taking the machine language programming and hardware architecture courses, we could work together to develop a PDP-15 emulator to run on the PDP-10, so that future students would be able to use a virtual PDP-15 for their studies. Naturally, we would need accounts on the PDP-10 to do this work, and we’d be the only undergraduates with full access.

Four of us agreed enthusiastically. We carved up the project – TTY-based console UI, hardware emulation, resource management, and so forth. Everything was written in MACRO-10. I implemented the instruction set emulation, using the PDP-10’s elegant byte manipulation mechanisms to decode PDP-15 instructions. I don’t remember all of the details, but I think we hit our goal of booting up the DECsys operating system on the emulator in February 1971.

In April 1971, we all headed off to our “industrial experience” gigs. (I returned to Harwell, but that’s another story.) I think a couple of grad students were given the job of turning our project into a usable service for students. I hope it served them well.

What I’ve done

My friend Deirdré Straughan recently posted a short rant on FB in which she said:

My career – the entire span of it – is something to be proud of. I have never stopped learning and innovating, and I have worked hard to make things better for customers since long before Amazon came along.

So I have updated my resumé to include ALL my experience. With dates. This is who I am and what I’ve done.


This motivated me to finish off a piece that I’ve been kicking around for a few months, and published it here on my blog. I’ve chosen a narrative style rather than a resume, and I’ll probably revise it occasionally to add more details. Anyway, this is my career, this is what I’ve done over more than fifty years, and like Deirdré I’m really proud of it.

Update on moving in

As we continue unpacking and getting set up, I’ve found one system that didn’t handle the move too well.
About four years ago, my storage system (for music, photos, videos, backup, VM images, and so forth) consisted of two Firewire 800 boxes: a WD Macbook Studio (2TB) and an 8TB RAID enclosure. Since my latest iMac didn’t support Firewire, I used a Thunderbolt-to-Firewire adapter. This mostly worked, although the RAID enclosure usually needed power cycling after I rebooted the iMac. Performance was decent.
When I got around to unpacking everything and setting things up on Saturday afternoon, I was met with a lot of noise from the RAID enclosure. Some of it was a failing fan, but there were other worrying undertones. And about 10 minutes after booting, the RAID system simply went away. Ouch.
Fortunately, all of the really important stuff was on the Studio. The RAID was mostly used for local backups and staging to Backblaze (my cloud backup), and I knew I could retrieve or recreate everything on it. (And I was willing to retire a few hundred gigabytes of VM images from OpenStack and CloudFoundry testing.) But I knew I would need more space than the 2TB on the Studio. After lunch, I headed over to the nearest Best Buy and picked up a new Seagate Backup Plus Hub. 8TB for around $200. Who would have thought it, eh?
So today everything has been consolidated on the Seagate, and both of the older units have been retired. I’ve reconfigured my Backblaze setup, and all of the laptops and other devices are happily backing up to the iMac again. And Firewire is history…


I was looking over a business plan for a software startup, and I was struck (more accurately, startled) by the fact that it did not mention “open source” anywhere.
Once I’d got past my surprise, I realized that I couldn’t immediately tell which of two explanations was correct:

  1. No reference to open source because the project was not going to involve any open source activities.
  2. No reference to open source because, well, OF COURSE they were doing open source – how could anyone assume anything else?

Desktop system update: Mini -> iMac

Back in November 2008, I acquired a Mac Mini to use as my home desktop computer. At the time, I raved about the little machine with its 1.83 GHz Intel Core 2 Duo CPU, 1 GB of RAM, and an 80 GB Hard Drive.
Over the next year and a half, I became less enchanted. The 80GB disk was far too small, and I resorted to a variety of external USB drives to hold my music, photos, and videos. (Right now I’m using the 1TB drive that was originally installed in my ill-fated Time Capsule.) More serious was the 1GB of RAM. Over the last year, the footprint of application and OS software seems to have exploded, and multitasking even a few major apps has become incredibly frustrating. Alec posted an excellent analysis of the brain-dead paging and swapping strategy in OS X, but I couldn’t bring myself to try the radical surgery he proposed. And so I soldiered on, resigned to the appearance of the spinning beach-ball (or pizza?) whenever I tried to switch from iTunes to Safari, and to the fact that MS Word would take minutes to load if Safari was busy. Etcetera.
What made all this worse was that my other Mac is an original MacBook Air: wonderfully light, but with the smallest and slowest hard disk known to mankind. It’s a sealed unit, with no way to upgrade anything. I briefly considered adding some memory to the Mac Mini, but watching a video of the procedure persuaded me that I shouldn’t even try. I had to face the fact that I didn’t have a usably fast Mac. I did have the cursed (replacement) HP laptop, which showed what an Intel i5 with 4GB could do, but that beast runs Windows 7 and is mostly used for games and various experiments using VirtualBox.
A few months ago, I decided that I’d had enough. I was either going to buy a new Mac Mini (and upgrade it to 4GB RAM), or get one of the new iMacs. I went back and forth, and procrastinated, and eventually decided to take the plunge. There wasn’t much price difference between the Mini (plus RAM) and iMac, but the relatively low resolution of my existing LCD display finally tipped it. I would buy an iMac, my first. “Obviously” I was going to buy it from Amazon, taking advantage of free shipping and avoiding sales tax. I waited for Amazon to show that it had units in stock…
…and then Sarah Palin changed my mind. I watched that ignorant poseur rolling her eyes at the teacher in Alaska, and read the attacks on teachers by Republican the Party of “No” legislators over the last few days, and decided that I wanted to pay my sales tax. Maybe a few bucks from the $110.91 tax would make its way into a teacher’s paycheck. So yesterday evening, I headed over to the Apple store in Palo Alto, and bought myself an Apple iMac MC508LL/A 21.5-Inch Desktop, with an Intel i3, 4GB RAM, and a 500GB 7200rpm HD. I brought it home, unpacked it, plugged it in, and pushed the power button.
Nothing. Repeatedly, nothing.
You know what’s going to come next, don’t you? Today I packed it up, took it back to the store, and it booted up just fine. So I made a “Genius Bar” appointment for Saturday morning (just in case), came home, and set the machine up. I planned to transfer the data and apps from the Mini using FireWire, but I found that I didn’t have a suitable cable. So I wound up doing it over WiFi, which took about 8 hours.
The machine is sweet. Very fast, a beautiful 1920×1080 display, nice wireless keyboard and mouse. I launched a dozen tabs in Safari and started sync’ing my iPad, and then fired up MS Word. It opened even faster than on my Windows 7 machine.
For now, I’m simply replacing the Mini with the iMac. All of the peripherals from the Mini are plugged in to the iMac, and it’s acting as print and scan server for all our computers. Eventually I plan to run the Mini, headless, as a print and media server, but I’ll take the opportunity to do a clean reinstall of OS X beforehand. And with any luck I’ll be cancelling that date with the “Genius Bar”.

My computer is rather busy today (AAC->MP3)

I have several road trips coming up in the next few weeks (LA, Sacramento), and I wanted to burn myself some MP3 CDs with good driving music. Unfortunately, when I ripped the bulk of my CDs into iTunes, I did so using AAC encoding. I guess I was trying to optimize space. Oops.
Anyway, yesterday I created a “Smart Playlist” in iTunes with the following properties:

  • “Kind” includes “AAC”
  • “Kind” does not include “protected”

This gave me a playlist with 7,467 entries. I selected the whole list, and told iTunes to convert them from AAC to MP3. This will create 7,467 new items, of course, so when everything checks out I’ll delete the AAC files.
So far it’s been running for about 14 hours on my 1.83GHz Mac Mini, and the iTunes folder on my external 1TB drive has grown to 155GB. Conversion speed seems to be 45-50x…
(And yes, I did back up my iTunes library!)
UPDATE: The final glitch was tricky: how could I use the smart playlist to remove tracks from my iTunes library? “Delete” simply removes the tracks from the playlist! The answer was to select all tracks in the playlist, right-click, choose “Get Info“, and change the “Artist” for every track to “Zzzzzzzzzzz“. This took a while to run… Then I went back to my library, chose “Zzzzzzzzzzz” from the Artist list, selected all of the corresponding tracks, and deleted them. There has to be an easier way… such as an Automator script?

Weird Apple pricing

One of the side effects of switching digital cameras has been that stuff takes longer. More pixels per picture (and new modes that generate more images) means that it takes a lot more time to do even basic photo management. And I’m not actually very well equipped to handle this: for perfectly good reasons, it turns out that although I have quite a few computers, they are all pretty puny by current standards. I have a Mac Mini and a MacBook Air, both with CPUs in the 1.6GHz range, both with fairly slow disks. The MacBook Air has 2GB of RAM, the Mini just 1GB. (The fastest machine I own, my accursed HP DV4-2045DX laptop, just went back for service – AGAIN!)
So naturally my thoughts have been turning to getting some horsepower. A Mac, of course – that HP has cured me of any interest in Windows. I figured that I wanted something like this:

  • At least 3GHz 2+ core CPU
  • 4GB RAM
  • 500GB HDD
  • Superdrive

My first impulse was to simply get a new Mac Mini. However after maxing out all of the options, I got:

  • 2.66GHz Core 2 Duo
  • 4GB RAM
  • 500GB HDD
  • SuperDrive
  • Wireless Mouse and Keyboard
  • Total price: $1187

That felt quite a bit more expensive (and slower) than I’d expected. Out of curiosity, I looked at the minimum configuration iMac:

  • 3.06GHz Core 2 Duo
  • 4GB RAM
  • 500GB HDD
  • SuperDrive
  • Wireless Mouse and Keyboard
  • 21.5 inch LCD
  • Total price: $1199

So instead of buying a Mac Mini I can spend an extra $12 and get an iMac with a 15% faster CPU and a stunning 21.5 inch LCD. Something doesn’t make sense here….

That b100dy HP laptop

I just posted this one-star review to Amazon.com:

I bought my DV4-2045DX at Best Buy, on a whim. Soon after I got it, I headed to England for a family visit, and I decided to take this laptop along instead of my usual MacBook Air. Bad idea. Soon after we arrived, the machine began to malfunction. The symptoms were fairly consistent: I would close the lid (configured to “sleep”), and soon afterwards the logo would light up and the fan would come on. If the machine was unplugged, this would drain the battery in a few hours. Opening the lid did not wake the machine: the screen was blank, the keyboard unresponsive. More seriously, the power button wouldn’t work: holding it down for 5 or 10 seconds wouldn’t cause the machine to power down. The only way to stop it was to unplug it and remove the battery. After this, restarting was hit or miss. Usually, the machine would blink the CapsLock and NumLock lights in a pattern indicating “CPU failure”.
I struggled through the trip, and when I got home I called HP. They sent me a prepaid FedEx box to return the machine for service. I did so, and monitored the status of the service order on their website. For a couple of weeks it indicated that they were waiting for a part to repair it. Finally it was returned, two days ago. The service slip indicated that the problem had been reproduced during tests, and the CPU had been replaced.
I booted it up, loaded some software, and closed the lid. The problem returned in a few minutes: fan on, catatonic, wouldn’t power down, “CPU failure” after pulling the battery. I called HP, and they gave me a new service number. I’m still waiting for the next step.
Perhaps this is just a lemon, but the “waiting for a part” is suspicious. It suggests that this may be a common problem Hopefully HP will replace it this time. (I wouldn’t mind a refund, but that may be too much to hope for.)

Catching up…

What with travel to China, and travel to the UK, and work, and holidays, it’s been a little hectic. So let me sip on this excellent Old Pulteney single malt from Wick, and catch up on a few items.

  • A month ago I blogged about the new HP laptop that I’d got for doing software development. I took it with me to the UK, since I knew I would need to be doing photo and video work which aren’t feasible on my work laptop. Unfortunately it started acting up while I was there, failing to come out of sleep or hibernate. When this happened, the disk and motherboard were powered up, but the screen was blank. Occasionally I’d see the CapsLock and NumLock lights blinking in a code that meant “CPU failure”. I nursed it through the trip, and checked in with HP when I got back. Yesterday I shipped it back for “repair”, which probably means simply replacing it. Fortunately I still have my Macs.
  • We went to see “Up In The Air” today. Brilliant. Great writing, excellent acting. The interplay between George Clooney and Vera Farmiga was simply delightful. Highly recommended.
  • That trip to England was hectic and unsettling in many ways. Lots of last-minute changes of plans, both family (my mother’s degree) and business. Yes, it was great to get together with family and friends, some of whom I hadn’t seen in 40 years. (Sorry I missed you, Jenny!) But there were two quiet moments that stand out. The first was visiting Ely Cathedral, just before sunset, with the choir practicing for a concert. And then on our way up to visit my mother for the last time before we left, we drove through Windsor Great Park, and pulled over for a moment to enjoy the wintry landscape, with Windsor Castle just beyond the trees.
  • When I got my iPhone 3G, I decided that the white model looked nicer than the black. That may have been a mistake. I’ve noticed a number of hairline cracks, at the corners of the connector cut-out, next to the mute switch, and along the sides. Apparently this is a known problem. It’s not clear whether all of the iPhones crack, or if it’s just that the cracks are only visible with the white plastic. I wonder if Apple will replace it.
  • During the short break between returning from China and departing to the UK, I managed to finish ripping all of my CDs into iTunes on my Mac Mini. (Many of them had been in storage, and I’d only just retrieved them.) The grand total: 14,522 items from 1,228 albums, performed by 2,082 artists. They occupy 78.46GB of a little WD USB hard disk (and yes, I back it up!) and to play every track would take 52 days. I know it’s not an extraordinarily large collection, but ’tis all mine. And I must confess that I find the idea of 52 days of music just a little bit disconcerting.