I’m a software engineer. Unfortunately, despite what TV and movies would have you believe, this doesn’t mean I can automatically hack into government networks, intuit passwords, understand complex cryptography and forensic accounting, or apply field medicine. (I’m looking at you, Arrow.)
Among the many things I can’t do is system admin. I have a total mental block on it. Programming, fine. That’s building mental models of the world, deciding which bits are important, and writing the code to get them to interact with each other(1). But getting tech to behave? Zero to enraged in under 10 seconds.
I’ve been programming professionally for over twenty years. I want to shake myself up a bit, find a way to use my experience in a way that’s fun and creative. I need to pick up some new skills, or be left behind. I want to play about with some system admin somewhere I can’t cause a disaster. And there’s nothing like learning something new to give creativity a kick start. Enter the Raspberry Pi(2).
The Pi is a cheap, no frills, low power, low speed PC with an ARM processor, a GPU, and a lot of connectivity (including GPIO, HDMI, ethernet & USB). It uses SD cards for storage, and if you brick the device, you can just re-flash the SD card with the operating system and start again. It has a basic Linux operating system, with an internet browser, a text editor and not much else. This is intentional.
The guys behind it became concerned with the way 21st century kids(3) are relating to computers – as consumers and users of software, but not as programmers or creators. The idea was that with a PC this cheap, every class in a school could have one to experiment with, and if they wanted software for it, they could write it. It has been enthusiastically snatched up by artists, makers, and technophiles and used for all kinds of surprising projects. Scott Garner’s Beetbox gets my vote for one of the oddest, plus it has vegetables and a terrible pun:
So, I bought one of the new Type B Pis, a power supply, an SD card, and an HDMI cable. I already had a little USB keyboard case I bought for my Nexus 7 and couldn’t be bothered to return, and a tiny mouse I got free with my laptop case. For a monitor, I borrowed the shiny one that belongs to my partner’s monster gaming computer. (I could also have used the TV.) And here it is:
I used this rainbow case because I wanted it to look like a fun thing to play with, like a toy from the 70s(4).
Along the way, I managed to make some spectacularly dumbarse mistakes, so feel free to laugh, point and learn from my idiocy. Here’s my guide to getting my Pi this far:
- Go to the official website and download the quick start guide.
- Buy your pi and power supply. I’m in the UK, and I got my model B Pi from RS online (currently £26).
- Buy any necessary peripherals. The PI has USB connectors, so will work with any standard keyboard or mouse you have already. It will connect to a monitor/and or a TV, but you will need a cable. If you don’t have HDMI, this post explains what you will need. RS will offer you these options when you buy a Pi.
- Buy a case. You can choose from options at RS, or at modmypi.com (where I bought my rainbow case) or PiBow. Cheapest option = £3.
- Buy a good make of SD card, at least 2GB. You can take the simpler route, and buy one with the Raspbian operating system pre-loaded. Or you can get a blank one, and flash the operating system to the card yourself. If your PC doesn’t have a slot to read SD cards (most recent ones do) you will need to buy a card reader. This one works for SD and just about everything else.
- Put your Pi in its case. If you’ve got a PiBow, assemble it. Do read the instructions on the back of the package that your PiBow comes in. Do not come home at 9 o’clock after a shitty day at work in a shitty week when it feels like everybody is trying to rip you off(5), open the packet and have a massive huffy tantrum because you assume they’ve sent you the wrong one because the lid looks white instead of transparent. Do not then send an email to the lovely people who sent you the case, who will politely explain you need to peel the protective backing plastic off each layer first, as per the very first instruction on the packet. (They will not call you a f***ing idiot, but you will feel like one.)
- If you’re going to flash (load) the operating system to the SD card yourself, you need a program to do it. The link is wrong in the quick start guide. You can get the Windows disk imager program here.
- Now you need to download the Raspbian operating system.
- Follow the instructions in the quick start guide to flash your operating system to the SD card.
- Put your flashed SD card in the slot in the Pi, and hook it up to a monitor, power supply, keyboard and mouse. Plug it in.
- Do not freak out and assume you’ve done it all wrong because you can’t see anything on the monitor and have a huge sulk. If you’re using a monitor with multiple inputs, make sure the correct one is selected. (I used HDMI.) You may have to be quick, as some monitors power down again without a valid input, so you only have a short window to operate the menu and select the input you need.
- Do skip the step where you go wailing to a sympathetic techie friend who loans you his Raspbian SD card (after asking you tentatively, “You did flash the operating system, didn’t you?”). Also skip the step where you find out that actually, you did it all right the first time and just hadn’t set the monitor input correctly.
- Refer to the quick start guide for setting up after your Pi boots.
- After setup, remember to type startx to leave the command line and start the desktop.
- Don’t do any of this stuff when you’re tired and/or having a beer and/or in a HULK SMASH type rage with tech.
Aaaaand…. I haven’t got any further than that, for a variety of reasons/excuses I won’t bore you with. I’m not sure what I’m going to do with it yet. I’m at the bottom of a whole load of learning curves, Raspbian , Python (a programming language suitable for the RPi) and any system admin I want to do on the beastie. Once I’ve had a chance to get to know it, I’m sure ideas will come. At the moment I’m wildly over-excited about the interspecies internet. Perhaps I can build something to contribute?
Have you got a Pi? What are you doing with yours? I’d love to hear.
March’s project: LARP costume, which I can’t blog about as it’s super secret.
(1) Coding has a certain amount in common with writing stories in that way.
(2) While we’re on fruit and tech, did you know there’s a reference to kumquats in one of the old UNIX manuals?
(3) I had a ZX81 as a kid, you know. With the brick-like, wobbly 16k RAM extension pack on the back. I only programmed in Basic (not assembler *hangs head in shame*). You had to save your programs to tape, and if it crashed out half way through you lost the whole thing and you had to start all over again. Oh yes, young whippersnapper, I remember green screens and dumb terminals and having to create your own windows by writing to screen memory and single line debuggers and Pascal and Dec command language and VAXes and terminal-specific graphics programming and writing your own makefiles and printing on lined concertina paper and… hey! Where are you going?
(4) Some might say that I saw this case first and wanted an RPi ever since. But that would just be incredibly shallow and daft of me.
(5) Massive saga with the Google Play Store, who sent me the wrong model of Google Nexus and then were a gigantic pain in the arse about processing the return.