Goodbye dear friend

For a number of years (more than I can remember, but between 15 and 20) I’ve had my web hosting on a box in my office beside my desk on a machine called pcbo.dcs.aber.ac.uk.  We’ve had our ups and downs over the years, but she became so long in the tooth, and a security scan last week prompted me to do something about it finally.  Today I pulled the plug on her (literally), and have switched over to my new rented server in a different country.

No longer will I hear the rattling of the hard drive when someone looks through a lot of my photos or web crawlers start indexing my site, and it’s just a silent beige box waiting to be thrown out.

All that remains are all the blog posts that I moved over onto this new server, and a CNAME record that redirects all traffic to the new box.  Some links from pcbo will still work, but most will change – this is a new machine with different operating system and web server software, much more modern and up-to-date, which should be able to cope with security patches much better.

It’s really something I should have done years ago, but now it’s less of a worry that I could be an attack vector on the university network.

So long, old girl.  You were old and noisy, and the office is quieter now.

Newport state of mind.

I’m not sure how I missed this the first time round, maybe I should watch RudeTube more often.
Newport state of mind was pulled from YouTube because the original artists didn’t like the parody. Unfortunately, as Weird Al will tell you, parody is generally considered fair use in the USA and is also allowable under UK law, and anyway, once it’s on the internet it’s out there and not likely to be able to be removed in the long run. I was a little confused by some of the references to things like the Millennium stadium and LlanfairPG, but was kinda willing to let it slide as the accents are so nice.

However, The GLC took it upon themselves to put together Newport State of Mind (you’re not from Newport) which whilst not quite as funny, does have more accurate references to local Newport sights and actually mentions the Ryder Cup.

IRC in aber

Especially for freshers…

There is a technology called Internet Relay Chat, which for many years was one of the few ways of interacting with your friends and colleagues around the world on the internet. Now we have lots of IM clients and protocols, but the cool kids all still use IRC.

There is a long and colourful history behind IRC at Aberystwyth, but to summarise (you can read the gory details in other places) bitternet is dead.

IRC is alive and well at irc.aberwiki.org.

Get yourself onto a Sun machine, start up a terminal window and type the following…
$irc
*** Connecting to port 6667 of server change.this.to.a.server
*** Unable to connect to port 6667 of server change.this.to.a.server: Unknown
+host
*** Use /SERVER to connect to a server
/server irc.aberwiki.org
… lots of joining stuff here…
/join #fresher
… stuff…
Hello I am a newbie

You may find yourself in a quiet empty channel, or it might have other folks around. If you feel really brave you might want to try joining #aber, but beware, here be dragons and *shudder* graduates of the department. You need to have a well developed sense of humour to survive for long on #aber, but it is worth the effort getting to know the regulars.

You may want at some point to graduate to another client with different features, but before using scripts, beware they may get you kicked or banned.

Also, get aquainted with http://www.aberwiki.org/ it is a fount of useful (and pretty useless) information.

Enjoy, and see you around

Richard

Computer Errors – in Haiku

Three things are certain:
Death, taxes, and lost data.
Guess which has occurred.

Everything is gone;
Your life’s work has been destroyed.
Squeeze trigger (yes/no)?

Windows NT crashed.
I am the Blue Screen of Death.
No one hears your screams.

Seeing my great fault
Through darkening blue windows
I begin again

The code was willing,
It considered your request,
But the chips were weak.

Printer not ready.
Could be a fatal error.
Have a pen handy?

A file that big?
It might be very useful.
But now it is gone.

Errors have occurred.
We won’t tell you where or why.
Lazy programmers.

Server’s poor response
Not quick enough for browser.
Timed out, plum blossom.

Chaos reigns within.
Reflect, repent, and reboot.
Order shall return.

Login incorrect.
Only perfect spellers may
enter this system.

This site has been moved.
We’d tell you where, but then we’d
have to delete you.

Wind catches lily
Scatt’ring petals to the wind:
Segmentation fault

ABORTED effort:
Close all that you have.
You ask way too much.

First snow, then silence.
This thousand dollar screen dies
so beautifully.

With searching comes loss
and the presence of absence:
“My Novel” not found.

The Tao that is seen
Is not the true Tao, until
You bring fresh toner.

The Web site you seek
cannot be located but
endless others exist

Stay the patient course
Of little worth is your ire
The network is down

A crash reduces
your expensive computer
to a simple stone.

There is a chasm
of carbon and silicon
the software can’t bridge

Yesterday it worked
Today it is not working
Windows is like that

To have no errors
Would be life without meaning
No struggle, no joy

You step in the stream,
but the water has moved on.
This page is not here.

No keyboard present
Hit F1 to continue
Zen engineering?

Hal, open the file
Hal, open the damn file, Hal
open the, please Hal

Out of memory.
We wish to hold the whole sky,
But we never will.

Having been erased,
The document you’re seeking
Must now be retyped.

The ten thousand things
How long do any persist?
Netscape, too, has gone.

Rather than a beep
Or a rude error message,
These words: “File not found.”

Serious error.
All shortcuts have disappeared
Screen. Mind. Both are blank.

Program aborting:
Close all that you have worked on.
You ask far too much.

Your file was so big.
It might be very useful.
But now it is gone.

Model-View-Controller song lyrics

Model-View-Controller lyrics

I’m reposting them here – the song appears to have a habit of disappearing, and these lyrics are too good to lose:

Model, View, Controller
Lyrics and music by James Dempsey.

Model View, Model View, Model View Controller
MVC's the paradigm for factoring your code,
into functional segments so your brain does not explode.
To achieve reusability you gotta keep those boundaries clean,
Model on the one side, View on the other, the Controller's in between.

Model View � It's got three layers like Oreos do.
Model View creamy Controller

Model objects represent your applications raison d'�tre.
Custom classes that contain data logic and et cetra.
You create custom classes in your app's problem domain,
then you can choose to reuse them with all the views,
but the model objects stay the same.

You can model a throttle in a manifold,
Model level two year old.
Model a bottle of fine Chardonnay.
Model all the twaddle stuff people say.
Model the coddle in a boiling eggs.
Model the waddle in Hexley's legs.

One, two, three, four.
Model View � You can model all the models that pose for GQ.
Model View Controller

View objects tend to be controls that view and edit,
Cocoa's got a lot of those, well written to its credit.
Take an NSTextView, hand it any old Unicode string,
the user interacts with it, it can hold most anything.
But the view don't knows about the Model:
That string could be a phone number or the words of Aristotle.
Keep the coupling loose and so achieve a massive level of reuse.

Model View � All rendered very nicely in Aqua blue
Model View Controller

You're probably wondering now.
You're probably wondering how,
the data flows between Model and View.
The Controller has to mediate,
between each layer's changing state,
to synchronize the data of the two.
It pulls and pushes every changed value.
Yeah.

Model View � mad props to the smalltalk crew!
for Model View Controller

Model View � it's pronouced Oh Oh not Uh Uh
Model View Controller

There's a bit more on this story,
a few more miles upon this road,
well nobody seems to get much glory
writing controller code.
Well the model is mission critical
and gorgeous is the view,
But I'm not being lazy, but sometimes it's just crazy
how much code i write is just glue.
And it wouldn't be so tragic,
but the code ain't doing magic:
it's just moving values through.
And I wish I had a dime
for every single time
I set a TextField's stringValue.

Model View � how we're gonna deep�six all that glue
Model View Controller

Controller's know the Model and View very
uahh � intimately
They often are hardcoding
which is very verboten for reusability.
But now you can connect any value you select
to any view property.
And I think you'll start binding,
then you'll be finding less code in your source tree.
Yeah I know I was astounded,
that's not even a rhyme.

But I think it bares repeating
all the code you won't be needing,
when you hook it up in IB.

Model View � it even handles multiple selections too
Model View Controller

Model View � hope I get my G5 before you
Model View Controller

Yeah, yeah, yeah. Yeah.

Always know where your towel is!

I’m currently writing a “must bring these things” letter for our new intake, so that they can bring along the right stuff on the Outward bound weekend, and found myself including the phrase “Always know where your towel is!” Then I started thinking that a lot of these undergrads will not even understand where the phrase comes from, so in the hope of educating the next generation I am posting this here:

The Hitchhiker’s Guide to the Galaxy has a few things to say on the subject of towels:

A towel, it says, is about the most massively useful thing an interstellar hitchhiker can have. Partly it has great practical value— you can wrap it around you for warmth as you bound across the cold moons of Jaglan Beta; you can lie on it on the brilliant marble-sanded beaches of Santraginus V, inhaling the heady sea vapours; you can sleep under it beneath the stars which shine so redly on the desert world of Kakrafoon; use it to sail a mini raft down the slow heavy river Moth; wet it for use in hand-to-hand combat; wrap it round your head to ward off noxious fumes or to avoid the gaze of the Ravenous Bugblatter Beast of Traal (a mindboggingly stupid animal, it assumes that if you can’t see it, it can’t see you—daft as a bush, but very ravenous); you can wave your towel in emergencies as a distress signal, and of course dry yourself off with it if it still seems to be clean enough.

More importantly, a towel has immense psychological value. For some reason, if a strag (strag: non-hitch hiker) discovers that a hitch hiker has his towel with him, he will automatically assume that he is also in possession of a toothbrush, face flannel, soap, tin of biscuits, flask, compass, map, ball of string, gnat spray, wet weather gear, space suit etc., etc. Furthermore, the strag will then happily lend the hitch hiker any of these or a dozen other items that the hitch hiker might accidentally have “lost”. What the strag will think is that any man who can hitch the length and breadth of the galaxy, rough it, slum it, struggle against terrible odds, win through, and still knows where his towel is is clearly a man to be reckoned with.

Hence, a phrase that has passed into hitchhiking slang, as in “Hey, you sass that hoopy Ford Prefect? There’s a frood who really knows where his towel is.”

And I did actually use a HHGTTG quote on my data structures and algorithms exam this year too.