Welcome

Welcome

The time is nearly upon us.

Our first child is due to arrive in less than a week.  It’s a very scary but exciting prospect, knowing that our routines and our lives will alter significantly, but not quite knowing the exact moment when.

I hope that I won’t have “embarrassing dad” syndrome.  I just have a mental image of myself in ten years’ time complaining of my child’s taste in music, forcing them to sit down while I put on the CD of Jeff Wayne’s Musical Version of War of the Worlds.

17 June 2009 09:21

When software becomes mainstream.

I’ve taken the plunge and decided to install WordPress for a personal project. I was hoping to use some of the blog-esque plugins found in ModX, but it quickly became apparent that the limited functionality and clunky implementation couldn’t hold a candle to WordPress.

When exploring blog options, WordPress was the one that came instantly to mind. It’s always interesting to see how one piece of software or website achieves critical mass, breaks through from its competitors and becomes mainstream. It happened recently with the jQuery JavaScript framework; suddenly ColdFusion developers started waxing lyrical about jQuery in their blogs.

I suspect the real driver towards mainstream usage is what might be termed “deceptive simplicity” - giving users the bare minimum of features to start with, hiding the complicated stuff under the hood. jQuery will let you do cool stuff with some pretty easy syntax. WordPress will get you up and running in five minutes, but start exploring and you’ll find a wealth of features. And look at iTunes - a clear interface that somehow does all you need it to. User experience, then, may be thought of as a lower priority than functionality, but it may prove to be the difference between a runaway success and another also-ran piece of software.

16 May 2009 12:08

Hope you like our new direction.

andrewgraham.co.uk has a shiny new look. The front page is collated from several social networking sites, thus giving the impression of being updated frequently without having to lift a finger on my part.

There’ll be some general tidying up over the next few weeks - be patient while everything is rehoused.

6 March 2009 14:25

In common with much of the blogosphere, I've started to dislike Internet Explorer 6 enormously.

Well, ‘hate’ is such a strong word.  In work I’ve been developing a web-based system of collating Fire Risk Assessments for NHS Wales, and I’ve suddenly found myself more than ever coming across the limitations of IE6.  We can’t ditch support for it - some of our corporate applications still rely on IE6 - so don’t even think about exhorting us to update our browsers.  We simply can’t.

Anyway I wondered why IE6 was causing me grief this time around.  And then it hit me.  Firebug.  The Firefox extension makes developing such a breeze, especially for Ajax applications, that I barely take a look at IE during the development process.  And then instantly regret it when my carefully crafted web page becomes a garbled mess.

So, Firebug, I reckon you can take much of the credit for the clamour to ditch IE6.

11 February 2009 12:51

"‘Me and my grandad are both really happy because it could have damaged our reputation..."

“‘Me and my grandad are both really happy because it could have damaged our reputation permanently,’ said the 23-year-old Satanic Sluts dancer.”

- Metro article on the Brand/Ross controversy, 30 October 2008

30 October 2008 08:59

Object Oriented Programming is starting to make sense.

Don’t get me wrong, I’ve been familiar with the principles of OOP for a while, through initial forays into the world of Java as well as working briefly on ASP.NET projects. I’ve read so many times those simplistic examples of inheritance, where a Dog is a subclass of an Animal and a Car is a subclass of a Vehicle, and it all seems logical enough. 

All these nicely defined object oriented principles seemed to be irrelevant, however, when I decided to apply them to a pet project of mine at work: the rewrite of the collection of NHS Wales’s generic sites.

I thought that using OOP in a language I’m familiar with, ColdFusion, would help to consolidate my knowledge, but thanks to my ad hoc way of working, and hampered by my procedural programming habits, the code soon turned into a weird mess of interrelated connections. Objects were passed back and forth willy-nilly and copies of the same variable were being stored in a number of scopes and objects.

It just didn’t “feel” right.  It may be strange for the non-programmer to talk of “elegant”, or “ugly” code, but ugly is what grew in front of me as I tapped away at the keyboard.  What’s more, I was beginning to think that a simple website, delivering one database-driven page at a time, wasn’t really a prime candidate for the object oriented approach.  Hello Mr Sledgehammer, meet Mr Nut.

I’d originally built a Page object, which generates and stores the constituent elements of a page (the navigation, search box, sidebars and the like) for later rendering.  The Page object also invoked a component in a cfc somewhere to build the main content of a page.  The component depended on the page type - a news item would get content from news.cfc, a sitemap from sitemap.cfc, and so on.  However, to access the methods and properties of the Page object, I needed to pass the entire Page object as an argument to the component - pretty nasty!

Then, an epiphany. A news item is a particular type of page. So is a sitemap. It’s inheritance!  I knew all about it, I’ve read about it so many times, why didn’t it occur to me before that I should use it?  A NewsPage is a subclass of a Page in exactly the same way as a Dog is a subclass of an Animal. A short time rewriting made everything more elegant.

For me, then, it was all very well learning about OOP but it’s hard to shake the habits of procedural programming.  I knew about it, but didn’t quite “get” how to apply it.  That knowledge begins to coalesce with practical experience, like trying the pieces of a jigsaw in various configurations before they start to fit.

I can now even see how interfaces, another initial stumbling block for me, can be useful in ensuring that new page types conform to a certain set of standards.  It’s a strange feeling - finally it all makes some kind of sense.

16 October 2008 22:20

Source: tumblr

This page is not updated conventionally, rather it pulls in data from various Web 2.0 sites from across the internet.

Is tweeting...

Likes these articles...

View Source Tutorial: Content Site Using HTML5 Canvas + CSS3

Ajaxian » Front Page

30 August 2010 10:00

Looking at JS emulator core for GameBoy

Ajaxian » Front Page

25 July 2010 03:29

Designing Style Guidelines For Brands And Websites

Smashing Magazine Feed

21 July 2010 12:49

The Beauty Of Typography: Writing Systems And Calligraphy, Part 2

Smashing Magazine Feed

22 June 2010 12:39

An Introduction to OpenType Substitution Features

I love typography, the typography and fonts blog

18 June 2010 10:52

Android's Froyo vs. iPhone OS4.0. Who Wins?

digg.com: Top News

1 June 2010 12:50

Radio 1 Top 40 Visualisation

BBC - BBC Internet Blog

18 May 2010 13:20

Square eyes are a window to the soul

Mind Hacks

12 May 2010 08:00

20 Fresh High Quality Free Fonts

Smashing Magazine Feed

11 May 2010 18:08

Adam Boulton v Ben Bradshaw

Guy Fawkes' blog

10 May 2010 23:49

Source: Google Reader

Is surfing...

Atari Video Games | Arcade

27 November 2009 14:31

Local Health Services

13 November 2009 15:20

Tweeting Too Hard

"Where self-important tweets get the recognition they deserve."

23 August 2009 09:40

Railo on Virtual Hosts

23 August 2009 09:35

Source: delicious

Is listening to...

They Might Be Giants

Played 74 times

Fiona Apple

Played 12 times

Mew

Played 6 times

The Raconteurs

Played 4 times

Source: last.fm