Andrew Graham
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 “embarrasing 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
This page is not updated conventionally, rather it pulls in data from various Web 2.0 sites from across the internet.
Is tweeting...
smugpie: Actually that was easier than I thought... #drupal #theming
2 July 2009 18:12
smugpie: Doing some theming in #drupal, for the first time in a while. Steep learning curve ahead.
2 July 2009 12:58
smugpie: ...actually I think they were Norwegian, as they ended up outside the Norwegian Church. Damn my inadequate flag recognition skills.
27 June 2009 17:27
smugpie: In Cardiff Bay. A Danish brass band has marched by, playing Bad by #michaeljackson. Life cannot get any more surreal.
27 June 2009 12:18
smugpie: We are people of science, but just tried the old wives' tale of having a curry to induce labour. Tomorrow: bumpy ride in car.
26 June 2009 21:55
smugpie: It's the HMV sale! Which means they've tied a couple of balloons to a loudspeaker and put it in their doorway.
26 June 2009 21:43
smugpie: I think my unborn child will grow up to be a geek, as it doesn't seem to want to come outside...
25 June 2009 08:17
smugpie: @followben thank you matey!
23 June 2009 13:35
smugpie: Baby is due today, but seems reluctant to make an appearance...
23 June 2009 13:04
Likes these articles...
A short, intensive course in type design
i love typography, the typography and fonts blog
29 May 2009 17:23
Converting XHTML To Text-Only Version Using ColdFusion And XSLT
coldfusionBloggers.org Feed
20 May 2009 19:14
Is surfing...
Amiga Forever
I loved my Amiga, and kept it long after the world had moved on to PCs. This collection recreates the nostalgia.
3 July 2009 13:44
Tomcat :: WAR vs JARs - Railo | Google Groups
1 July 2009 13:27
Comedy | Mumbai calling - ITV Entertainment
The highest profile spotting of my Exuberance Primary font so far - on the telly!
24 June 2009 09:45
Red5 : Open Source Flash Server Open Source Flash
22 June 2009 09:21
Introducing Typekit « The Typekit Blog
17 June 2009 15:40
A List Apart: Articles: Faux Absolute Positioning
Positioning elements in web pages is always tricky to get right. This article from June 2008 explains another technique to use.
27 May 2009 12:05
XSLT Tips you don't learn at w3schools
I constantly find myself returning to the w3schools XSLT tutorial. This page has some great tips to take your XSLT writing to the next level.
19 May 2009 19:56
Cynical-C Blog - You Can't Please Everyone
Today's Guardian describes thus: "One-star Amazon reviews for otherwise universally applauded classic movies, literature and music."
16 May 2009 12:33
Is listening to...
The Decemberists
Played 6 times
Neon Neon
Played once
Silversun Pickups
Played once
Sufjan Stevens
Played once
BBC Radio 4
Played once
The Ukulele Orchestra of Great Britain
Played once