One of the frustrating things about computers is their limited input options. A "standard" PC keyboard only has about 100 keys. Sure, some have some bonus buttons for controlling the machine, but it is becoming clear that there simply aren't enough buttons to efficiently program computers. Most programming languages have the concept of relational operators. How does variable X compare to variable Y? If we want to ask if X is less than or equal to Y, we write X <= Y. Which is a bit weird,…
Continue reading →
In response to Tom MacWright's "One way to represent things" - which I broadly agree with. When you are a child, the whole world is complicated. By the time you're a teenager, the whole world is simple. Once you grow up, you realise just how complicated everything is. As you obtain mastery, you find a way to simplify everything. I expect that by the time I'm old(er) and grey(er) I'll have gone through several more cycles of this process. When we write code in a traditional programming…
Continue reading →
My first computer was a BBC Micro. It could do basic graphics at a resolution of 640×256 - with 8 different colours. Not a typo. Eight! The mono speaker produced bleeps and bloops. It was basic, in all senses of the word. Eventually, talented hackers found a way for it to do simplistic 3D graphics and even speech synthesis. Recently, people have worked out a way to perform ray-tracing on it! @bbcmicrobot@mastodon.me.uk …
Continue reading →
Most human societies have rituals. One popular ceremony is of the young person being made a member of the tribe. For some, it is at the start of life - a Baptism or Christening. For others, it is when the child becomes an adult - Bar Mitzvah or Ritusuddhi. Most societies have marriage ceremonies - to mark the transition into a new stage of life. Houses are blessed, leaving for university requires a party, graduates get a silly gown and certificate. Finally, Death demands a wake. Rituals are …
Continue reading →
I'm going to revisit an argument I had in… Ooooh… 2001ish? I wanted to make some edits to my university's fledging student union website. In order to do this, I needed to learn the arcane art of SSH. This was one of my first introductions to text based config files. I was horrified! A single typo, or a stray comma could break everything. The instructions our WebMaster provided were laughably unclear. Manually creating a config file - and getting it right - was a chore. So I downloaded PuTTY and…
Continue reading →
Imagine that you're a spotty 16 year-old. You've just discovered philosophy. You will almost certainly have a conversation like this... Dude... DUDE! What if... What if, like, we're all just brains in a jar and, like, a machine is projecting reality around us...? Whoa...! I bet you've had that conversation with someone. Probably after you first watched The Matrix. As a philosophy, it is a lot less modern than you might think: I shall suppose that some malicious, powerful, cunning demon…
Continue reading →
Back in the 1980s, when my family first got a micro-computer, there were only limited ways to program your machine. The Internet was basically non-existent for domestic users. You could buy thick computer manuals, swap cassettes with other enthusiasts, or build a light pen and point it at a flashing square on your TV (Really!) Or, you could go down to your local newsagent, buy a magazine, and laboriously hand-type in a code listing. Sometimes, they would look like this: Yikes! Ah, but…
Continue reading →
I made a little girl cry recently. "But why do I have to learn Python?" She wailed, "I like Scratch!" "I know," I said, "But there are different programming languages for different sorts of tasks." "That's stupid" she said, with all the perception of 6 weeks Code Club experience. "You can do everything in Scratch." I found it hard to argue with the twelve-year-old - you can do just about anything with the child-friendly Scratch programming language. You can even build an entire Operating…
Continue reading →
This isn't a new speaking tip - and it is one I've stolen from several other speakers on the conference circuit - but I want to explain how it made me feel to use it. I started my talk at Hackference Birmingham with an impassioned plea to the audience. If you don't understand something I've said - please don't wait for the end of my talk. Stick your hand up and ask. Because I guarantee you, several other people will be just as confused. Hackference attracts a mixed crowd. If I'm talking to a …
Continue reading →
I've been thinking about words. The Chinese word for "train" - the mode of transport - is 火车. Which literally translates as "fire chariot". Long gone are the days when trains were pulled by a fire-breathing engine at the front, and yet this linguistic skeuomorph hangs around. English is not immune from this. The television still asks us to "tune in" even though no-one manually tunes in a radio receiver any more. We still dial telephone numbers, even though the rotary dial went out of fas…
Continue reading →
Oh noes! The computer science exams taken by 16 year olds may contain errors! BBC News Technology@BBCTechComputer science exam had coding errors bbc.in/2eHHa0Cbbc.co.ukSQA admits 'coding errors' in computer science examScotland's exam body admits to a series of mistakes in one of this year's computer science tests.❤️ 23💬 1🔁 007:14 - Mon 17 October 2016 As a professional computerist, I was intrigued to see what our fine young minds are being tested on. My memories of "computing" at school was …
Continue reading →
In 2002, I wrote this dissertation as part of my B.Sc. at UEA. I've kept this edition as close to the original as possible. I've added in links (where they still survive) and inserted a few comments where I was ludicrously wrong or unexpectedly right. This paper is not especially well-written and, if memory serves, received only a adequate mark. Terence Eden - 2016 Executive Summary This project report draws on many disparate sources to investigate: The future of the computer. How…
Continue reading →