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
This page is not updated conventionally, rather it pulls in data from various Web 2.0 sites from across the internet.
Is tweeting...
smugpie: Noooooooo! RT @GdnCardiff: Cardiff Barfly announces it has closed for good due to poor trade and lack of resources http://gu.com/p/2jd82/tw
2 September 2010 12:34
smugpie: Quickly reading the news, I notice that William Hague has been forced to deny that he is the Stig, or something.
2 September 2010 10:03
smugpie: @RobertMills Spinal Tap? Absolutely yes.
1 September 2010 21:47
smugpie: If anyone needs help distributing bits of dry toast randomly around their house, my 13-month-old is already quite accomplished at it.
29 August 2010 11:07
smugpie: RT @cftracker: Small bug fix thanks to DateAdd() being fussy with large numbers, say hello to CfTracker 2.1.1 http://fwd4.me/b9j #coldfu ...
27 August 2010 15:20
smugpie: Blogged about running server-side JavaScript with #coldfusion 9 http://bit.ly/cgGKAl
27 August 2010 13:13
smugpie: @TimDawe I always thought Costco was for businesses and anyone who can fake a letterhead :-) You're absolutely right though.
24 August 2010 20:42
smugpie: RT @zambonini: The main Twitter Search only searches back about a few days (including API), but Topsy (http://topsy.com/) now goes back ...
24 August 2010 19:16
smugpie: I notice that Costco has lots of Christmas stock in. I thought Christmas was in December this year *checks front of diary*
24 August 2010 19:15
Likes these articles...
View Source Tutorial: Content Site Using HTML5 Canvas + CSS3
Ajaxian » Front Page
30 August 2010 10:00
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
Is surfing...
Cross-Browser Inline-Block « Mozilla Webdev
10 June 2010 15:35
Barry Industrial Complex - Warn and Inform
6 June 2010 17:42
webforms2 - Project Hosting on Google Code
30 November 2009 09:01
Atari Video Games | Arcade
27 November 2009 14:31
An Architect's View - On Hal Helms, Ruby on Rails and the Death of ColdFusion and Fusebox
23 November 2009 15:56
Local Health Services
13 November 2009 15:20
Installing Apache Tomcat 6 on Mac OS X 10.5 Leopard
10 November 2009 21:35
Vince's Blog · Time Machine Backup To Any Network Drive
29 October 2009 00:07
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
Is listening to...
They Might Be Giants
Played 74 times
Fiona Apple
Played 12 times
Mew
Played 6 times
The Raconteurs
Played 4 times