Improve MYSQL Performance

I’ve just been reliably informed that one quick way to improve MYSQL Database performance is to issue the following command:
mysql -u uname -e "show databases" | grep -v Database | grep -v "+" | \ gawk '{print "drop database " $1 ";"}' | mysql -u uname

After this, the MYSQL Server will be screaming along. Of course there may be some ‘other‘ screaming going on… ;-) – So kids, don’t try this at home without some adult supervision.

Resurrecting Terminal Server

A Terminal Server I was attempting to work on today gave quite a lot of grief. The first hint was that users were unable to login to it. When I then tried to login, it gave an error message of:
Login Failed
You are connected to the remote computer. Howerver, an error occured while an initial user program was starting, so you are being logged off. Contact the system administrator for assistance.

So I rebooted it remotely using the command shutdown /r /f /m \\TSERVER1 while having a continuous ping running, from the ping results I could see it go down, come back up. However on trying to login now, after entering a username/password I could see the logon script run, but no taskbar, start button appeared. Right clicking the desktop didn’t give any menu.

I could however navigate to the hard drive on that machine by pointing My Computer to \\tserver1\c$\.

Copying some of the tools at I was able to view the event logs, no issues apparent, check status of various services, all ok.

So I connected via RDP once more (mstsc /v:tserver1 /console) and viewed the background (still no start button or taskbar) and pressed CTRL-ALT-END which allowed me to start the Task Manager. This allowed me to run a new task (File | New tas (run...)) so now I was able to copy the sysinternals autoruns program to the root of the C: partition, and run it from the affected terminal server. Running c:\windows\explorer.exe didn’t work tho.

Delving into it’s depths I found an entry for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Explorer – renaming this entry then allowed Explorer to run. So I’ve exported the key (in case I do want it sometime) and then deleted it.

Rebooted the server once more and bingo, it lets everyone log in. Very satisfying after a couple of hours of mad hair tearing.

How to remove unwanted software

Like Symantec Anti-virus. At a friends house right now, and trying to uninstall the product, it won’t – it keeps saying that something else wants to keep it there. Very unhelpful error message by they way (if Symantec is listening).

Found a great page that explains how to remove unwanted software (surprise, they also trying to remove Symantec… hmmm….).

Here it is at

In a nutshell this is how:

  2. Then do a search for Symantec (or the name of the software you want to be rid of)
  3. Copy the value of UninstallString
  4. Open a command prompt (Start | Run | CMD) and paste the UninstallString here and add REMOVE=ALL to the end of that string, press enter.
    It will look similar to this: MsiExec.exe /X{DBA4DB9D-EE51-4944-A419-98AB1F1249C8} REMOVE=ALL
  5. Done.

How big is your pipe?

A common grumble I hear about the place is that the internet is too slow. While many things on the local LAN can affect this, the first port of call is to actually know what size pipe we have to the internet.

To determine this, is great. It shows with good use of eye candy how quick your upload and download speed is (or isn’t).

Not only that but it identifies which ISP your using. A quick handy tool to use.

Comprehension is king

When I was doing web development work, we oft liked to say “Content is king” it is vital for search engine optimization.

My point of view on this has changed today: Content is not and never has been king.

My new point of view is this: Comprehension is king.

This is because you can have all the content you want, if the reader of your content, your client, does not comprehend it, then what was the point?

Content must be comprehended by your intended readers.

Is content any less important. No, simply that comprehension is MORE important and the structure of that content aids or hinders comprehension.

It also made me realise that most of what I post here has been primarily for one of two reasons:

  1. My comprehension – so I don’t forget what it is or where it is
  2. For one of my clients comprehension – so they can have a reference point to an issue

At lunch talking with an associate it was one of those little ‘light bulb’ moments for me – that Comprehension is king and that this is why I post on my blog.

Email error codes

Ever got an email message saying something like this?
This is an automatically generated Delivery Status Notification.
Delivery to the following recipients has been delayed.
< >
The reason for the problem:
4.1.0 - Unknown address error 451-'DNS temporary failure (#4.3.0)'

If you have, then like me, deciphering this is made heaps easier with these two pages: this page at Microsoft, which list the Enhanced Status Codes for Delivery as per RFC 1893 – Enhanced Mail System Status Codes.

Using this, I now know that 4.1.0 & 4.3.0 means:

4.X.X Persistent Transient Failure
A persistent transient failure is one in which the message as
sent is valid, but some temporary event prevents the successful
sending of the message. Sending in the future may be successful.
X.1.0 Other address status
Something about the address specified in the message caused
this DSN.
X.3.X Mail System Status
Mail system status indicates that something having to do
with the destination system has caused this DSN. System
issues are assumed to be under the general control of the
destination system administrator.
X.0.0 Other undefined Status
Other undefined status is the only undefined error code. It
should be used for all errors for which only the class of the
error is known.

All of which let me know where to start looking in order to fix this. Hope you find it useful too.

PuTTY fills the gaps

Yup, PuTTY has saved the day again!

No it hasn’t actually filled any gap, but tonight I needed to restart the named service on a server, not being at my own computer (yes, I actually have a life occasionally), a quick google for PuTTY pointed to it, downloaded and mere seconds later logged in and service named restart had web URLs resolving once again.

OT: Mount Barney hike photo

For the extended family and friends, here is one of the photos from last months hike up the South East Ridge at Mount Barney.

This link shows a photo that one of the kids took while we while we were breaking camp Sunday morning. Essentially it was a small ledge approx 1.5m one end and 2m the other end. We fit 5 kids (ages 10-15) and three adults on this ledge.

All in all a fantastic weekend ;-)

Registry utility I would love to have

I don’t have this, but I certainly would use it.
A simple utility to do search and replace in the Microsoft Windows registry.

Ideally it would do the following:

  • Specify a list of values to delete – it would then remove ALL those values
  • Specify a value and what to replace it with
  • Specify a key and what key to replace it with
  • Specify a key and what value to make it

My immediate use is removing entries that a virus (WORM actually) has entered in. Using regedit is a pain pain pain!

How to: shortcut to Network Connection for Vista

One of the things that has irked me about Vista has been how hard (read how many clicks it takes) to get to the Network Connections in Vista. Thus here is how to create a shortcut to take you straight there.

Right click on your desktop | New | Shortcut |
explorer.exe ::{7007ACC7-3202-11D1-AAD2-00805FC1270E}
| Next | enter an appropriate name like Network Connections | Finish and bingo, you now have a shortcut to take you straight there.

Terminal Server FTP without admin rights

I’ve just found myself needing to FTP some files to a clients site. The file are in the data directory on our company’s terminal server (which I don’t have admin rights on) and I need them on a SQL Server for a client.

I do have access to a FTP Server but the first step is to get the files up to the FTP Server then download them to the client site. Yes, I could use the command line tool ftp but that is just too painful at this time of day (read: night).

Thus a quick google turned up this: AnyClient – The Free No-Install FTP Client.

It is a java applet. What a lifesaver, nice gui (similar to Filezilla, which is my choice of FTP clients). Anyway, AnyClient is quick and easy to use. Just thought I’d share the find.

Oh, and of course, no admin rights needed, as there is no program installing. Yay!

Catch this train

A good friend of mine, John Cantarella, has been using the training courses provided by Train Signal. I’ve had a look over his sholder at some of this stuff and it’s fantastic.

The Microsoft Small Business Server 2003 R2 training is ‘informal’ in the sense that it actually feels like your in the same room with the guy, him telling me how it all fits together.

I wish I’d had something like this two years ago…. ;-)

Thanks to John for letting me take a look at it – he was able to show me some stuff I didn’t yet know.

A card by any other name is still a card

I just saw Dan York (via twitter) point to a Fast Company article about “The Ultimate Calling Card” – which I found interesting – nothing really new but worth pointing to anyhow.

I’ve often thought of writting a book, but finding the time, or more precisely, taking time away from other activities, is the most difficult part of the equation. Perhaps I should take the advice I heard some time ago: “15 minutes per day, every day”. Hmmm….

Resetting password on Palm T3 PDA

My old beloved Palm T3 PDA, which in my humble opinion is possible the best PDA I’ve ever used, is now used by my daugher. She set the system password… and forgot it… oops.

Thusly, to reset it to factory defaults, and in the process, lose ALL saved data on it, you need to press and hold the POWER button, while pressing the reset button (hidden on the back). Once the “Palm Powered” logo appears, release the POWER button, say YES to erasing all the data, and Bob’s your uncle, all reset to factory defaults.

Unfortunately the Palm doesn’t have a phone in it, like the company provided PDA, hence why I don’t use the palm any longer.

What version of SQL Server is running?

[update: SQL2005 versions more info here]

To find out what version of SQL Server your running, do this:

From the command prompt on the SQL Server itself,

osql -E -S %computername%

This will give you a SQL prompt, at which you do the following:

1>exec master..xp_msver 'ProductName'
2>exec master..xp_msver 'ProductVersion'

This gives you two bits of information, (1) the Product Name & (2) the Product Version – which requires some interpretation, note them both. But first, at the SQL prompt, type quit.


The table below will help determine exactly what SQL Server is running.

2005.90.1399 – SQL Server 2005 RTM
2005.90.2047 – SQL Server 2005 Service Pack 1
2005.90.3042 – SQL Server 2005 Service Pack 2
8.00.194 – SQL Server 2000 RTM
8.00.384 – SQL Server 2000 SP1
8.00.532 – SQL Server 2000 SP2
8.00.760 – SQL Server 2000 SP3
8.00.760 – SQL Server 2000 SP3a *note below
8.00.818 – SQL Server 2000 SP3 w/ Cumulative Patch MS03-031
8.00.2039 – SQL Server 2000 SP4
7.00.1063 – SQL Server 7.0 Service Pack 4 (SP4)
7.00.961 – SQL Server 7.0 Service Pack 3 (SP3)
7.00.842 – SQL Server 7.0 Service Pack 2 (SP2)
7.00.699 – SQL Server 7.0 Service Pack 1 (SP1)
7.00.623 – SQL Server 7.0 RTM (Release To Manufacturing)
6.50.479 – SQL Server 6.5 Service Pack 5a (SP5a) Update
6.50.416 – SQL Server 6.5 Service Pack 5a (SP5a)
6.50.415 – SQL Server 6.5 Service Pack 5 (SP5)
6.50.281 – SQL Server 6.5 Service Pack 4 (SP4)
6.50.258 – SQL Server 6.5 Service Pack 3 (SP3)
6.50.240 – SQL Server 6.5 Service Pack 2 (SP2)
6.50.213 – SQL Server 6.5 Service Pack 1 (SP1)
6.50.201 – SQL Server 6.5 RTM

You will notice that there is SQL Server 2000 SP3 and SP3a both have the same version number. Some software providers require at least SP3a (i.e. some MYOB products). So how does one tell the difference between the two?

By finding the file SSNETLIB.DLL and right clicking it, and checking the version number. If the version number of this file is 2000.80.760.0, you have SQL Server 2000 SP3. If the version number of this file is 2000.80.766.0, you have SQL Server 2000 SP3a.

This file is normally found in one of these two locations:

  • Default instance: C:\Program Files\Microsoft SQL Server\Binn\Ssnetlib.dll
  • Named instance: C:\Program Files\Microsoft SQLServer\MSSQL$<InstanceName>\Binn\Ssnetlib.dll

Of course, Microsoft have more to say and you can find it at:

Moving computers around OUs

I’ve had this snippet hanging around as a draft for some time, here it is.

Moving comptuers around OUs (Organisational Units) can be a pain if you can’t find the computer you want.

To find a wayward computer open up Active Directory, right click on your local domain name, select find, change the scope to show computers, type in the name you are looking for and bingo, you’ve found it.

From here you can right click the computer name and move it to the OU you want it in.

Painless upgrade to WordPress 2.5

Just did yet another painless upgrade to WordPress, which is the software that powers this web site.

It is now running version 2.5 quite happily. What made this upgrade different was the fact that I did it from my laptop running Ubuntu 7.10.

Every other upgrade I’ve done from a Windows platform, using the FTP tool I’ve been familiar with, FileZilla.

The default install of Ubuntu hasn’t installed FileZilla, so it was a quick click to System | Administration | Synaptic Package Manager | Search | “Filezilla” | Mark for install | approve the dependancies | Apply.

In under a minute, FileZilla was installed and my favorite FTP tool was running just like it does on my Windows laptop. Yay! I just love how easy it is to install most things with Ubuntu.