Why GUIs make us dumber.

I’ve been teaching a Year 12 Information Technology course this year. In some ways I’ve enjoyed it (it’s the first time I’ve actually ever been paid for doing something to do with computer programming, and it has helped me to make the decision to go back to Uni and complete my degree in this area), but in lots of ways I really haven’t.

I don’t know how much the students are to blame (and I’m game making a statement like that, since some of them read this blog). I’m thinking more and more that perhaps there is something else that isn’t making them succeed as much as I would have liked. It may be that the group of students I have just aren’t motivated in the way I was as a student, or perhaps even I wasn’t at their age. This may be true, since I was busy dropping out of Uni when I was about 18, after all.

But I was still teaching myself stuff to do with programming at that age. Whether it was logo or Basic at school, Pascal C or C++ at University, or Python, JavaScript and AppleScript since then, I’ve continued to learn stuff related to coding my whole life. I even taught myself Amiga E back when I had an A1200.

Perhaps there is an overstatement with the title to this post. I’m not sure that GUIs do indeed make us dumber. It’s a little more complicated than that.

Back in the 70s, 80s, and even the early 90s, computers really weren’t that universal. You could do all sorts of things without having to use a computer. Now, computers are everywhere. The idea that everyone would rely on a world-wide computer network for a significant amount of their social interaction was something that was limited to science fiction books. And even they mostly underestimated just how much the internet, and computers, would affect our lives.

Because computers weren’t so widespread, only a small fraction of the population were using them. Those people were likely to be, perhaps I’d suggest with a touch of smugness, smarter than those who weren’t. At least, they were a different type of people. Perhaps the type of people to whom a regimented, logical way of thought was more natural. A group of people who are prepared, and able to memorise strange, obscure sequences of characters and numbers.

Because, back then, that was the only way to interact with computers. I mean, anyone could remember:

load "*",8,1

to load and run a game on a commodore 64. But figuring out why, when you pressed up onto the line labelled READY. and pressing return yielded an arcane “Out Of Data Error” perhaps required more thought. Being able to grasp the concepts behind programming: the various looping and decision structures was easy to people who saw the world through binary glasses.

Users of computers now don’t have to worry any more about getting the command exactly right. You don’t have to even remember the dir command, or the C64 load “$”,8 to get a listing of a directory. You just double-click an icon that looks like a folder, and you get an automatic list of whatever files and folders are inside of it.

This has taught users that remembering arcane commands isn’t important. Until you have to write programs yourself.

This is the biggest thing my students struggle with. Not understanding that a spelling error or typo can have a totally bizarre impact on the execution of a program (or even display or behaviour of a web-page, for those that have only ever used DreamWeaver or FrontPage). This takes the basest manifestation that False has a different meaning in virtually every programming language from false, to not recognising that not having quotes around a string causes the language to attempt to execute it.

I do blame GUIs for these shortfalls in the skills and knowledge of younger people. When the user interface prevents you from making mistakes in data entry, then you don’t develop the problem-solving skills to overcome errors in other contexts when they do appear.

And computer programming is all about problem solving. Being able to logically approach an error message, interpret the likely causes and fix the issue requires perhaps more skills than I had anticipated these students would have. Would things have been better for my teaching of this subject if I had students more like myself, who are all busy doing Physics-Chemistry-double-Maths? Perhaps. But I think they too would lack some of the skills required.


While troubleshooting a DNS issue for a domain I do technical support for (as it turned out, the problem was partially an OpenDNS issue, I think), I got the following as the CAPTCHA image:

(Ignore the error, that was from the previous page).

Server Upgrade Time

I’m severely tempted to upgrade my local server. It’s a Dell Dimension 4600, running Ubuntu and with just under 1TB of disk space.

And I’m just not that happy with it. Occasionally it still crashes, and I can’t figure out why. I don’t know if it’s to do with VMWare, or something else.

It’s not so much a running out of disk space thing. It’s more that it just doesn’t cut the mustard. Perhaps I’ve been spoiled by OS X, but things just aren’t that easy to do on Linux. For instance, it took ages to get AFP sharing working, and even now it isn’t perfect. For instance, I have two shares that allow me access to some of the same files (the root directory of one share is inside another share’s directory). If I view a particular directory inside the share, then it shows me less files than actually exist in that directory, but the other share shows them all. Even if I disable the ‘outer’ share, the inner one still only shows the smaller number of files.

I found a shop today that sells 500GB SATA drives, which would allow me to migrate data without any loss, by plugging into one of the two spare slots, and installing a new OS onto that drive. I might be tempted to reinstall OS X onto the machine, but I think it was just a bit unstable too. Perhaps it is just the box.

I’d really like to move to a Mac Mini, but I don’t think I’d like to have to put a heap of external drives hanging off that again. Perhaps I should look for a cheap second hand Mac that will run OS X.

VirtualHost in Apache

I’m working on a website at the moment, and to make stuff easier I created a new VirtualHost entry in my /etc/httpd/httpd.conf file. However, after creating it, and putting a new entry into /etc/hosts, I was still unable to access it. The machine name resolved fine, but was showing the root of the main server, not the virtual host.

[Fri Sep 21 09:15:51 2007] [error] Cannot resolve host name memake --- ignoring!

Turns out the hostname entry must be put in before the httpd master process is (re)started, else it whinges about not being able to find the hostname. Restarting the server again made it work perfectly.

Moral of the story: /etc/hosts before /etc/httpd/httpd.conf

Problems with the MBP

Since Apple fixed the Kernel Panic bug when using encrypted WiFi on battery, I’ve been fairly happy with my MacBook Pro. There are just a couple of issues that have been slightly irking me.

Firstly seems to be to do with predominantly the trackpad and the close/minimize/zoom buttons on the titlebar. If you move the cursor over the close button, and in the process of clicking the button, just miss, and then move the cursor back onto the close button and click, it picks up that the click missed again, and minimises the window.

This seems to be related to another issue related to clicking. Namely, if you click on a window, sometimes it doesn’t register the click (or, more precisely, doesn’t bring the window to the front, or select the element, or provide any other feedback that the click has been registered). If you then click again, it passes a double-click event.

This is not that surprising, since the first click is being registered, just no feedback given. The second aspect of this is what really annoys me. Even if you move the cursor before you click again, as long as it is inside the same UI element, it sends a double-click event.

This means I spend a significant amount of time each day accidentally opening files from the Finder, and then having to wait for the application to open before closing it. Similarly, I have to navigate down to the Dock and un-minimise windows in order to close them.

The other issue is directly related to airport networking still, that the machine still refuses to automatically connect to any network that isn’t the first network in the list. This is regardless of if I have Automatic or Preferred Networks in the By default, join: dropdown in the Network/Airport preference pane.

To clarify - I have three networks I regularly join. I can only have automatic joining of the first network in the list. If I reorder the list, then the network that is now at the top automatically joins. Annoying the pants off me.

Finally, if I am connected to a server, and I sleep my machine, when I wake up I have to wait an insane amount of time for the server to want to disconnect properly. This really sucks, as I have network shares at both home and work that I connect to on a daily basis. I wonder if I can just reduce the timeout that Finder waits before reporting a disconnect.

WoW revisited

Well, I’ve been back into WoW, including the Burning Crusade, for about a week or so now. I did the short 10-day teaser trial, but since none of my mates were on anymore, it wasn’t that good. Having people you really know to quest with makes a big difference.

Having said that, I’ve been madly levelling another toon, a Dranei Shaman. Similar in many ways to a Druid, he can take a bit more damage without having to change into a Bear, which means he can keep casting while taking a beating. Not as much as say, a Paladin, but a bit nonetheless.

I’ve also respecced Ibu to feral, meaning she does a heap of DPS in cat form, and can withstand a stack of damage in Bear form. Fun stuff. Since she lives in Outland now, I’ve also been doing a bit of PvP, which is really fun. It’s the best way to get the heart pumping, much more than just questing.

That Lovin' Feeling

from xkcd.com, the greatest web-comic ever:

You've Lost the Lovin' Feelin'

Don’t read anything into it, just laugh

Dodgy, dodgy practices.

I noticed an ad in my Adsense section today. At first glimpse, it looks like an advertisement from Apple for iTunes.

Version 7.5 Free Download The Latest Version. Just 99c a Song Fast Download - 100% Guaranteed.

Then I hovered over the ad, and noticed the link: iTunes-Classic.com. I followed the link, and came across the dirtiest, dodgiest site I have ever seen. Well, maybe not the worst, but it’s pretty scummy. “Download straight to your iPod” Free, written everywhere over the site. And then when you click on a link, and go to the “Join” page:

3 year Unlimited VIP Membership for only $49.95 - $11.65/year 2 Years Full & Unlimited Access for only $16.44/year 1 Year Unlimited Access for $29.88 Supercharge my Internet connection with our award winning Download Accelerator for only $14.95 and download up to 300% faster!

I’ve even hunted around this site further, and I suspect it is one site of many that do similar stuff, since there are domain names like: transaction-id.com secure.signupsecurity.com and so on, with product names and so on. My tip: they don’t offer any services, and charge $50 to allow you to download iTunes, which is free from Apple. Their FAQ even says this, but they spin some shit about making it easier for new computer users to be parted with their money find the software they are looking for.

iTunes Album Rating

This seems to be pretty new in iTunes (i.e., I haven’t noticed it before): if you are viewing an album in the grouped view, and you have ratings on some or all of the tracks, it displays an average rating for the album:

iTunes Album Rating Hollow Stars

This is in a different set of stars to the normal rating of tracks. However, you can explicitly rate an album too, which changes it to the other type of stars:

iTunes Album Rating Filled Stars

Interestingly, if you do this to an album with tracks already rated, it will choose ratings for the tracks that haven’t been rated, so that it creates the right total rating:

iTunes Album Rating affects tracks in album

This rating isn’t stored with the track, if you open the Info window for one of the hollow star rated tracks, it hasn’t actually been rated.

This is quite interesting.

IPv6 Firewall Airport Upgrade

In the latest firmware upgrade for Airport Extreme N servers, there is a new setting for IPv6 Firewall.