Saturday, 27 September 2008

Boogle – The future of search


Why, oh why, oh why does Google waste it’s time developing cutting edge applications such as Google Earth, Google Checkout, Chrome etc… when hiding in the Google closet of unwanted applications is Boogle. I first came across Boogle 6 years ago when a co-worker in what can only be described as a moment of extreme boredom, was inputting variants of google.com into a browser. Imagine everyone’s delight when he came across Boogle – a search engine which fires a random quotation and a completely unrelated but vaguely inspiring image at you on each page refresh.

So I was completely delighted to see this week that Boogle still exists. Sadly its stablemate, Froogle, has become the boring Google Products Search Beta. A sad demise – but the important one, Boogle still exists, its heart beating stronger than ever. I have this vision that in Google Towers there are teams of attractive, thrusting, excessively enthusiastic American youths working on the next release of Google Apps/Youtube/Gmail etc… and in one dusty corner is a bearded, pallid individual (sex undecided) who has sole responsible for maintaining Boogle.

But let’s all rise up now and show our support for this benighted individual. So I urge you all to forget Google.com, cast aside Google.co.uk and delete your personalised Google accounts and make the mighty application that is Boogle the homepage for your browser. And if you work on a I.T. helpdesk – make Boogle the homepage for your entire organisation. They’ll thank you for it in the end.

Saturday, 20 September 2008

Cool Tools: Regmon

There comes a time in every young software developer’s life when he casts his eyes over the sweeping vistas of software development, over the swirling streams of XML schemas, the limpid pools of database connection strings and the great herds of thread safe applications and he notices a small glinting software tool. He reaches down takes the tool noticing the way the light shines off its surface and he thinks to himself “why the bloody hell didn’t I know about this before?”

I had just such a moment with Regmon – a tool which monitors registry access. Embarrassingly I’d never heard of it but massively useful in finding out why my app wasn’t picking up it’s config. In my (vague) defensive – I primarly a web application developer and it more usual (certainly with ASP.Net) for the config to be stored in XML file.

Regmon is part of a library of windows type tools at SysInternal . The cryptic names look very enticing. Filemon also look good for pen chewing “why doesn’t this installation work” type tasks. And I can’t wait to joust with my colleagues tomorrow using PsKill. No idea what it does but I bet it can be lethal in the wrong hands.

Saturday, 13 September 2008

How to make friends and deal with Byzantine .Net control Ids

Anyone who spends anytime developing in ASP.Net rapidly builds up hierarchies of controls. They can rapidly become deep. A typical hierarchy might be

  • Master Page

  • Child Page

  • User Control

  • ASP.Net control


This is simple – multiple stacks of child pages user controls etc.. are possible and I certainly use them all the time.

What surprised me when I started doing this was the effect it had on the element Ids as exposed to JavaScript. I printed off one such example this week – an id of a dropdown list.

ctl00_ContentPlaceHolder1_dashboardMain_ddlOrganisation

Mmmmm – but I thought I’d just called it ddlOrganisation. Apparently not. The breakdown is

  • ct100 – from the master page

  • ContentPlaceHolder1 – from the child page (hold my hand up for this – it’s a rubbish name)

  • dashboardMain – the user control

  • ddlOrganisation – my control that I want to target.



OK, fine. Lots of under the hood .Net stuff going on. But it confused the hell out of me when I wanted to target this stuff in the Javascript DOM. Once you figure out the ID then you could just use it. But any change in the names of your controls higher up in the hierarchy will break it. And it will break it 5.00 p.m. on the day before you are due to ship – believe me. A better idea is to use the ClientID property that ASP.Net controls expose. This will provide the Byzantine ID that we see above.

So to add a JavaScript event I would add the JavaScript into the attribute collection of the control within the ASP.Net page – so adding a JavaScript method to the OnSelect event

ddlOrganisation.Attributes.Add("OnChange", "activateSurveyStart('" + ddlOrganisation.ClientID + "')");

And to complete the circle – register the Javascript file programmatically in your usercontrol to avoid tears later

Page.ClientScript.RegisterClientScriptInclude("genericScript", "scripts/genericScript.js");

Not a revolutionary method admittedly (none of my stuff ever will be – promise). But I use this all the time and I think it’s more obscure than it should be. And the making friends thing? Well, be nice to people and bring cakes into your office every Friday. That’ll do the trick

Sunday, 7 September 2008

The Red Queen



"Well, in our country," said Alice, still panting a little, "you'd generally get to somewhere else — if you run very fast for a long time, as we've been doing."

"A slow sort of country!" said the Queen. "Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!"

Alice Through the Looking Glass

As a software developer – I feel a bit like Alice Through the Looking Glass. It’s not that I dress like a Victorian school child (we’re only allowed to cross dress on a Friday – boooo). It’s that I often seem to be running to stand still. Just mastered ASP.Net 1.0. Here’s 2.0 – to dig through. Just at the top of your stored procedure game. Here’s LINQ to chew on. Really chuffed that you’ve done a fancy windows form with tabs and everything. Well here’s Windows Presentation Layer. And Sliverlight, and the Semantic Web and WAP, and XAML and WCF and and and and ………….

How is it possible to manage? Is it? Should we just abandon all hope? In my humble opinion – if you want to continue to be a software developer you’ve got to do something. Probably quite a few things. Here’s a few


  1. Do some certified type exams – Microsoft, Sun et. al.

  2. Read a book. Maybe go mad and read two. Jeff Attwood (IT blog hero) comments that’s developers don’t read – easy to fix. Read something.

  3. Join a professional society (IEEE, BSC etc..)

  4. Volunteer to do a bit of IT outside work

  5. Hope that you get to use exciting new technologies in work – or change jobs to one that lets you.
  6. Step off the escalator altogether And become a manager and spend your time explaining to angry clients exactly why the project is over budget, over schedule, over sized, under performing and over tired.



It’s hard. Running to stand still always is. But it you don’t keep running sadly you won’t keep up. Unfortunately IT isn’t a slow sort of country – it’s a very fast one.

A note: how effective are the above and other things at coping with a fast country? I really think that some a better than others, some are better for some people and some are better a certain career points. And some are probably no good at all. Further musings to follow.

A Splodge

A kiss is just a kiss and a sigh is just a sigh. A sploge is just a sploge and this blog is just a blog. Random tech musings for the masses. Serve with double cream but don't be afraid to eat with your fingers. This blog as a wipe clean surface.