diagnostics

So bad it said nothing, twice

jp.stacey 1 March 2006

E-mail-based error reporting, whether from a system specifically designed to provide it (like Nagios) or as a bolt-on to an application or framework, is only as good as the underlying error diagnostics. So when one of our clients’ Coldfusion app sent me a message today with the brief summary “null null”, the server might as well have been sending me smoke signals. Actually, smoke signals from a server would have been a good deal more worrying.

SELECT needle FROM haystack;

jp.stacey 7 April 2006

Ever wondered just where in a complex database you stored that particular bit of information? Or ever had to reverse-engineer someone else’s database, about which you know nothing, with only the output from an application to guide you? In these cases it’s handy to be able to search every text cell, in every column, in every table.I found a solution to this problem on the web, specific to Microsoft SQL Server.

Dual-head on collision

jp.stacey 21 July 2006

One of the last tasks that moving to my new machine involves is to stretch the Ubuntu desktop across both of my monitors. Our sysadmin had very kindly set it up to work with the monitor card integral to the motherboard, so in principle I only had to tweak the configuration for X, the standard Linux GUI system.

Could I get this to work? Could I hell. xorg.conf configuration after configuration threw the error

A minor hardware triumph

jp.stacey 23 July 2006

Today has been a day of minor disasters. More on those once they come to some sort of resolution. But I’ve also effected a minor hardware triumph with my old Kodak CX6230 camera. For two years (and two house-moves: God bless my hoarding instinct!) I’ve occasionally switched it on to be confronted with the message:

Camera needs service
E10

You can skip this one (and that five, and that seventeen...)

jp.stacey 11 August 2006

Programmers: know your Excel!

Closer to the wireless

jp.stacey 28 September 2006

After a bit of a struggle I’ve managed to get wireless networking at home. Unfortunately, my first attempts to test the connectivity to the rest of the world coincided with the power outages at Telehouse, a “bullet-proof” ISP that too many people rely on, including ADSL services, the BBC website, Nominet, some DNS servers….

Percussive maintenance, with a twist

jp.stacey 8 October 2006

Seen the “sad iPod icon” recently on your iPod? I was greeted by it yesterday on my 4th generation podlet:

The sad iPod icon (SII). Usually accompanied by a generic, unhelpful apple.com URL, which just makes it all the more sad.

Unlike most people who see this, I didn’t seem to have the symptoms of major hardware failure (the disk making a repetitive ticking noise) that they diagnose before employing the rather hard-core fix discussed below.

Who owns this node?

jp.stacey 16 October 2006

Firefox’s implementation of Javascript is quite forgiving: often a little too forgiving, when it ought to be strict about issues that could pose a security risk. Indeed, Firefox’s silent “the programmer meant this” in the instance I’ve just been tackling was only revealed by the IE error:

No such interface supported

Testing across the CF/Java boundary

jp.stacey 23 November 2006

For reasons of speed I’m currently embedding Java in Coldfusion code. Given Coldfusion is built on Java, and can instantiate Java objects through createObject("java", class_name), you’d think that’d be reasonably easy. But the boundary between Coldfusion and Java is like the gap between two halves of a broken bone: jagged, bleeding-edged and painful when coerced into heavy lifting.

Throw it all away!

jp.stacey 27 November 2006

I’ve recently been experimenting with calling external commands (mplayer and lame, so you might be able to guess what I’ve been doing) from within a scripting language (Python, although it needn’t have been as it turns out). Bizarrely, the external commands—argumentae intactae—worked absolutely fine on their own, chained together by me, by hand. However, when executed in the scripted environment the command that produced large volumes of output was stalling at –86.somethingMB, whereas the other command stalling at 7.737MB of output.