Recent Posts

stampede at London Waterloo

Last night, I was standing at London Waterloo station, sincerely hoping that the engineer would be able to fix the carriages for my train home.

Suddenly, there was a stampede of people rushing past me. What on earth was happening ? Was this some spontaneous act of flash mobbing ? Had a train arrived unexpectedly at platform 4 for those impatient people from Basingstoke ? Or was there some sort of inaudible terrorist alert mumbled by the station announcer that I had missed ?

The answer transpired to be none of the above.

Krispy Kreme Doughnuts were giving out free samples to promote the opening of a new outlet.

A gentlemen in a suit gleefully came away clutching not one but two large (pizza style) boxes. He also had a can of Stella Artois poking out of his pocket. Bizarre.

curious case of the missing spool file

Bit of a ghostly theme today.

One great aspect of my job is that I write SQL scripts that are reviewed and executed by other people. This suits me just fine. The less work for me, the better.

Obviously, I never add 'spool off' to the tail of a SQL*Plus script. This is a whole ten characters to type (including newline). Multiply this by all the SQL scripts you might produce in a lifetime and just think of how much time that would waste. In any case, everyone knows that 'exit' implies a 'spool off' anyway.

A while ago, a friendly Oracle DBA ran my SQL script and called me to tell me it had finished. I asked him to email the spooled output for review. He said there was no spooled output generated. I asked him to check the current directory (no), %ORACLE_HOME%\BIN directory (no), the Recycle Bin (no), search all local hard drives for 'patch_prod.lst' (no).

I asked him if the SQL*Plus session was still open and, if so, to simply type 'spool off'. He replied that the SQL*Plus session had already been ended. I was puzzled until I asked 'Is this the GUI version of SQL*Plus on Windows ?' 'Yes', he replied. 'Did you end the session by hitting the 'X' button ?' 'Yes'.

So, it turns out that the spool file is lost when Windows SQL*Plus is terminated using the 'X' button. I didn't know this fact because I normally use 'exit' to close any SQL*Plus session on Unix, Dos Command Window or Cygwin.

I had a suspicion that this gentleman was privately quite enjoying this moment and my discomfort so I said 'Hmm - that's a shame. I really wanted to check the spool to ensure that I had deleted the correct 7.9 million invoices from production'.

Later on, I asked myself what type of mindless idio person uses 'X' to terminate a Windows SQL*Plus session.

Then the answer struck me. A lazy one. Like me.

Most Haunted

Most Haunted is a fantastic TV program hosted by Yvette Fielding, where a Liverpudlian psychic medium, Derek Acorah, visits haunted properties resurrecting the spirits of dear, dead departed souls.

The program is notable for absolutely superb acting by Acorah who can fulfil a variety of roles, effortlessly adopting the voice of tortured, Victorian ladies, in pitch darkness, without the aid of a script.

The supporting actors (Fielding and the camera crew) are also superb. They are simply wasted on Living TV. A career in Hollywood surely beckons.

I was fortunate enough to catch a 'Best of Most Haunted' over Christmas. It was simply the most riveting, compulsive, hilarious viewing.

Most Haunted

I have been playing a CD in my car on Disc-Random-Shuffle mode for ten weeks. The CD contains close to 200 songs. I have heard all the songs once, some twice and a handful three times.

This morning, I heard something that sent a shiver down my spine, chilled my bones and momentarily froze me to the spot.

'Spectre versus Rector' by The Fall. This 'song' is a 8 minute rant from Mark E. Smith accompanied by some noise, detailing a ghostly story from the 'Dragnet' LP. 'Spectre versus Rector' sounds as if it was recorded in a bleak, industrial warehouse somewhere up North with a hand-held tape recorder.

The very last song to be selected. Spooky.

Unix for lazy people

I am a very efficient lazy person. I don't like to type seven characters when two will suffice. I think Unix is a fantastic development environment. However, the overly long, verbose commands irritate me slightly. So I use the following aliases and shell functions

a = tail -f ${ORACLE\_HOME}/rdbms/log/alert\_PRD.log
l = ls
ll = ls -l
up = cd ..
x = rm -fr \*
z = wall 'Anyone fancy a quickie after work ?' [disciplinary action pending]

One of the happiest days of my life was when I discovered the tab completion feature in the GNU bash shell and the environment variable $OLDPWD.

When I used to work for Sequent (with an operating system called Dynix/ptx devoid of applications), I used to carry the GNU tools and utilities around on a cartridge tape. Unix and GNU tools were brilliant but the best development tool is Emacs.

The second happiest day of my life was when I discovered Emacs' dynamic abbreviation feature. If you had had to suffer the pain of typing 'supercalifragilisticexpialidoceous' once, then subsequently, you could just type 'sup' following by ESC-/ and Emacs automatically, magically completed the word.

This was without doubt the best feature in Emacs. Well apart from Gnus, VM, font-lock, C-mode, dired, support for shell, grep and cc. Oh and apart from being able to edit text files.

resisting the lure of Joomla

Joomla, Chumbawamba, Oompa Loompa

I really like the presentation of Howard Rogers site (and the integration of Forums, Blog and now an Oracle Wiki) and have followed, with interest, the evolution of the site in different formats, and enjoyed Howard's thoughts on various content management technologies over recent months before he finally settled on Joomla.

I am also very impressed by the new look of Niall Litchfield's orawin.info site which also uses Joomla and is a marked contrast (and improvement) from its predecessor. In fact, I just find myself gazing at the desert landscape for minutes on end.

I now find myself struggling to resist a very strong temptation to install Apache, PHP, mySQL and then Joomla on my PC at home just because it would be an interesting exercise.

This activity would also satisfy all the necessary pre-requisites for installing and playing with WordPress.org which is also very tempting.

However, I must be strong and resist. I know what will happen. I will encounter a few problems, solve them by reading the documentation, FAQ, finally get it all working and enjoy a brief period of satisfaction.

Then, knowing that I was able to do it and it worked, I will almost immediately lose interest and fail to really experiment with Joomla and WordPress at all.

I know this because last year, I thought it would be a brilliant idea to get all my vinyl records out of the loft, transfer them to digital format and then dispose of them.

I bought a cable from Tandy to hook up my record player to the PC. I connected it incorrectly and nearly blew my tiny, tinny PC speakers. I then investigated what software packages I would need to convert the large WAV files to MP3 format and label each individual track in ID3 format.

I settled on Audacity which did the job perfectly well and was another high quality, free, OpenSource software package.

Then I converted just one side of one LP - The Wonderful and Frightening World by The Fall. In fact, I didn't even do one side. I just did one song (Lay of the Land) which took a few iterations but finally, I had an MP3 version of the song.

Then, as soon as I knew it could be done, despite investing all this time, I almost instantly lost complete interest in the whole exercise.

I never even converted another song, let alone attacked the pile of singles and LP's. I am slightly worried that this indicates a personality trait that is a cause for concern (i.e. I am a perpetual starter but not a finisher).

The downloads are underway...

Gary Neville - no apology whatsoever

The Mayor of Liverpool announced that there would a extraordinary 5 minute silence held across the city tomorrow at 12 noon.

A special religious service will be held at the Anglican Cathedral and the two remaining Beatles will reunite and record a special version of '(Please) Let It Be (disallowed)'.

Robbie Fowler will indicate the start and end of the silence by holding up five fingers. This is the number of European Cups that Robbie Fowler has watched Liverpool win on TV.

Guests of honour at the service will be Boris Johnson, Phil Neville and his father, Neville Neville.

Counselling will be available in job centres across Liverpool for those affected by the tragic events at Old Trafford on Sunday afternoon.

Elsewhere in Manchester, people will not be bleating, moaning and endlessly complaining about being taunted by Robbie Fowler holding up various numbers of fingers to the away section in their recent 3-1 defeat at the Council House.

If you give it, be prepared to take it.

credit card security

Yesterday, I had a credit card transaction rejected which is always a little embarrassing. Thankfully, this was over the phone and not in a shop where embarrassed people would quickly avert their gaze, thinking Poor man, he's probably lost his job. Just look at his clothes.

Normally, such rejections happen because the card number or expiry date was incorrectly transcribed and are quickly resolved - 'No I said 6079 at the end'.

However, this wasn't the case on this occasion, so I called the credit card company to check my card hadn't been skimmed and someone was blowing my outrageously high credit limit (that I never asked for or wanted but was given to me by the credit card company, funnily enough) on holidays, fast cars, gambling, online retailers, weekend breaks in Prague and expensive gadgets.

Firstly, we have to dance the security dance where I am asked to confirm my full name, address, postcode, date of birth, my mother's maiden name, the names of all my tropical fish, favourite United player and my best album of all time.

Then I am asked for the fourth and seventh letters of my password 'without divulging the complete password'. For some reason, I find this incredibly difficult. I can type the password in seconds but, to satisfy this request, I always have to write the password out on paper and slowly identify the requested characters (or digits). Then I have to eat the paper which means I am unable to speak properly for 90 seconds.

So, let the straightforward enquiry begin. Hang on - wait a minute. The agent is sensing a cross-sell opportunity.

'Are you interested in transferring your balance to us, interest free for 6 months ?'

'No thanks. I only have one credit card'.

A schoolboy error. The agent has a scripted 'retort' ready for this very weak 'objection'.

'But the 6 months, interest free transfer needn't be from another credit card. You can transfer your ABC balance to your current account, interest free for 6 months'

'No. Thanks. I don't have a current account with ABC. Now about this rejected trans-'

Another fatal error. Again, I have said too much and the agent has another 'retort' ready.

'The current account doesn't have to held with ABC. Any bank account will do'

'No thanks. I do not want to use the 6 months interest free transfer offer for any credit card for any bank account now or at any time in the future.'

Finally. But wait. The agent (script) has something else to add.

'Is is all right to call you Norman today ?'

'Yes.'

Next time, I swear I will reply 'No. I really would prefer it if you called me Janet.'

And so, finally, to the rejected transaction. It transpires that a sophisticated, pattern matching computer program using the latest AI techniques detected that this transaction (Flowers for the wife) contravened the normal pattern of usage (No flowers for the wife. Ever.) and flagged it up as potentially suspect.

Alternatively, "Computer says 'No'."

The credit card company immediately tried to contact me on the phone to verify the validity of the transaction. However, as they were unable to reach me on the phone, they rejected the authorisation and placed a complete block on the credit card. I explained that I was probably on the phone at that time to the merchant desperately trying to explain why the transaction had been rejected.

So, everything was finally resolved, and the agent kindly unblocked the card, I thanked them for their vigilance in the ongoing fight against crime and everything was back to normal.

Well, almost everything. When I got home at night, I received a deeply disturbing telephone phone call from an AI automaton who announced

'This is a call from ABC credit cards about a transaction on your account today (normal female voice). MR NORMAN BRIGHTSIDE (abnormal, very scary, synthesized male robotic voice).

So, I duly input my date of birth in the wrong format twice and then get told off by a robot.

'Sorry - that is incorrect. Please call customer services for assistance'.