10 most influential computers and programs

This tweet got me thinking…

While Alan’s specifically asking about machines that solve problems, it got me digging out some old lists – including, funnily enough, one I made a couple of years ago in response to another tweet from Alan. Arguably the Commodore 64 and Sinclair ZX Spectrum were more influential than the BBC Micro because they were much cheaper, but as Alan points out, the BBC Micro was part of the journey that led to the Acorn Archimedes, ARM processors, mobile computing devices like the Apple Newton, smartphones – and, I’d add, the BBC micro:bit.

That’s all about hardware though. What about software? Also around the same time two years ago, I made a list of the 10 most influential computer programs ever written. I think the Apollo Guidance Computer is probably missing from both my lists, hardware and software – what else did I miss?

10 most influential apps – a quick list by @blogmywiki

Sketchpad light pen drawing program

1. Sketchpad – Lincoln TX-2 computer – 1963
Light pen-driven vector graphic CAD tool, decades ahead of its time. I remember seeing this on TV in my early childhood and seeing pictures of it (or something like it) in The Ladybird Book of the Computer and being transfixed by it. And I still want a light pen.

VisiCalc spreadhseet on Apple 2

2. VisiCalc – Apple ][ - 1979
The first electronic spreadsheet, people bought Apple ][ computers just to run it, extending the life of this machine beyond what may have been reasonably expected.

3. Aldus PageMaker – Macintosh – 1985
The original desktop publishing software, the quintessential ‘killer app’ that saved the Macintosh from oblivion and changed the publishing and print industries for ever.

4. WorldWideWeb – NEXT Cube – 1990
First ever web-browser, written by Tim Berners-Lee as part of his new way of sharing information on the Internet. Will never catch on.

WordStar word processor

5. WordStar – CP/M – 1979
The first widely-adopted word processing software, without which there may have been no Microsoft Word.


6. MacPaint – Macintosh – 1984
The onlie begetter of Photoshop, Windows Paint and others. Bill Atkinson’s masterpiece really is one of the most elegant and intuitive pieces of software ever written, anyone can pick it up and start creating.

7. Spacewar! – PDP1 – 1962
People had programmed games like Tic-Tac-Toe on computers before this, but Spacewar! Deserves a mention as it could only be played on a computer. This sophisticated vector-graphic game included Newtonian physics, something we take for granted nowadays but which was astonishing for 1962. Without it there would have been no Asteroids.

8. Pong – arcade game – 1972
‘Whatever happened to Pong?’ in the words of Frank Black. Kick-started Atari and the whole popular arcade video-game industry.

Asteroids game screenshot

9. Asteroids – arcade game – 1979
Massively influential vector-graphic arcade game – though I preferred the tank game Battle Zone and the Star Wars game you sat in. Even more popular than…

Space Invaders screen

10. Space Invaders – arcade game – 1978
Very influential early arcade game, spawning a huge number of more colourful, complex but (in my view) less satisfying 2D alien shooters.

Posted in computers, gaming, hardware, nostalgia | Tagged , , , | Leave a comment

Cheese Nibbler

There’s a great interview with Charlie Brooker in Custom PC magazine about how they made the interactive Black Mirror episode Bandersnatch, his roots in Sinclair Spectrum gaming and – most interesting of all – the stuff they had to leave out.

In Tracy King‘s article, Charlie refers to an early Sinclair game:

There was a game called Cheese Nibbler. It would draw a grey block on the screen comprised of other blocks, and every time you pressed the key, one of the blocks disappeared. Then at the end it would tell you how long it took you to press to make them disappear. That was the game. Cheese Nibbler.

I thought I’d have a go at making a micro:bit version, never having seen the original. You have to tilt your micro:bit to nibble each cheesy pixel, and when you finish your time in milliseconds scrolls across the display. The aim is to be as quick as you can.

View the MakeCode project here.

Making it was a fun pastime including solving a few challenges such as how do you know when every pixel is dark (i.e. all the cheese has been eaten). There are a few ways to do this, I opted to make a function (it’s a procedure or subroutine really, but MakeCode calls them functions whether they return a value or not) called ‘haveIwonYet?’ that scans the display constantly to see if all the pixels are dark. If they are, the Boolean variable gameOver becomes True, and the program drops out of the main game While… loop

You can (just about) play Cheese Nibbler in the online simulator, but it’s more fun on a real micro:bit!

Posted in computers, gaming, microbit | Tagged , , , , | Leave a comment

Distraction-free writing OS

Here’s an idea for a cheap alternative to expensive ‘distraction-free’ word processors like the Freewrite (much as I love the idea of the Freewrite – I just cannot afford one.)

A Linux-based OS on a USB stick that boots straight into a very simple RTF-format word processor with on-screen word count, auto-save of timestamped versions of the document to local storage (USB or hard drive) with the option to configure some kinds of cloud storage such as Google Drive, Dropbox, old fashioned FTP, maybe even email etc. Possibly a spell-check included, but not essential. Perhaps allow multiple docs open in tabs so you can have a notes document open to refer to when writing.

The backup / storage options would be configurable from a GUI in the word processor. No other apps would  be visible except perhaps include a text-only Wikipedia and online dictionary search.

If this OS booted from USB you could put any old laptop into ‘distraction-free’ mode and it could bring new life to old netbooks and laptops if you installed it on the machine itself.

I know Linux distraction-free word processors are already available, but last time I looked none was quite right: didn’t autosave in RTF format, didn’t have on-screen word count etc. Perhaps that’s changed?

I had a go at writing a very simple word processor ages ago using guizero, perhaps this could be a starting point?

As for making a live Linux USB stick with only one app, I have no idea how to do this, but who’s in?

Posted in operating systems | Tagged , , , | Leave a comment

Connect DS18B20 temperature sensor to micro:bit

I had a DS18B20 1-wire Temperature Sensor that came with the excellent Sensors CamJam EduKit for Raspberry Pi – I wondered if you could use this with micro:bit to get more accurate external temperature readings. It turns out, thanks to my amazing colleagues Mark and Carlos, that you can!

The version of the DS18B20 Temperature Sensor I have is waterproof, so this means I can make an alarm to tell me when my coffee is getting cold (although I’d probably need to use pin 1 or pin 2 for the sensor instead of pin 0).

Here’s what you need:

  • micro:bit
  • DS18B20 temperature sensor
  • some way of connecting it, e.g. breadboard, jumper wires and crocodile clip leads
  • 4.7kΩ resistor
  • Online MakeCode editor and internet access

Connect the sensor to the micro:bit like this:

Then in the MakeCode editor, add this extension.

You do this by clicking on the cog wheel, going to extensions, and paste https://github.com/DFRobot/pxt-ds18b20 in the ‘Search or enter project URL’ box.

You should see you have some new blocks you can use, one to show the temperature as a number, another as a string:

This project will show a bar graph of the temperature, but if your micro:bit firmware is up-to-date and you’re using a recent version of Chrome, you can also use webUSB to log temperature data on a connected computer, plot it in real time on a graph and save for later analysis in a spreadsheet or other program.

Here are a couple of simpler projects, one that just shows the temperature as a rounded integer when you press button A:

And another that uses a truncated string to show the temperature to 1 decimal place:

Posted in computers, microbit | Tagged , | 4 Comments

Snow Leopard Mac won’t boot – startup disk full

or: what to do when your son tells you 10 minutes before he needs to go to school that the old family iMac is broken and he can’t get his work off that needs handing in like right now.

Symptom: old Mac running MacOS Snow Leopard 10.6.8 will get to login screen, but when you log in you get a blank desktop, no icons, no menu, just a mouse pointer.

Cause: the startup disk is utterly full despite like nobody downloading anything on it like, ever, oh my god.

Solution: using target disk mode wasn’t an option as we didn’t have the right adaptors or leads – the idea is you boot it up in a special way (hold down letter T on keyboard as it boots) so it becomes a Firewire or Thunderbolt disk, you mount it on another Mac, delete some files, disconnect, reboot. So that left me with the command line Single User Mode.

Here’s what I did. Rebooted the Mac holding down cmd S. This takes you to a command line where – if you are very careful and know what you’re doing – you can manually delete some files or folders to free up some space. What the first two guides I found didn’t tell me, however, is that this mounts the disk as read only, so you need to type sudo /sbin/mount -uw / to mount the drive in a way that allows you to delete files.

You can see how much space is free using df -h

Remove files using the rm command – I’m not going to explain how to remove folders because it’s risky – have a look online, and be careful!

Proceed with extreme caution. Luckily, I knew there was an old Dropbox folder, not updated in years, on my login so I was able to delete one folder and free up 2GB of space, enough to restart the Mac (type reboot).

Note that Single User Mode only works on old Macs – MacOS High Sierra 10.13 or earlier – presumably because this is a massive security hole allowing anyone to read your files.

Posted in Apple, MacOS X | Tagged , , | Leave a comment