Gotcha!

Two versions of earplugs. Yellow: E-A-R; Orang...
Image via Wikipedia

In this blog entry I wrote about my spam-trap email system:

My email account is set up such that all mails sent to @JamesWiseman.com will end up in the same mailbox. So, think of a word, put it in front of @JamesWiseman.com, send me an email, and I will get it.

So, when I sign up for SomeService.com, the email address I give is ‘someservice@jameswiseman.com’.

Today, I recieved a spam email with a ‘To’ address that contained the name ‘ChemistDirect’. I bought some earplugs from them half a year ago.

The email wasn’t ‘From’ Chemist Direct, and it was offering me Viagara. It is, of course, illegal to buy precription drugs without a prescription, so ChemistDirect.co.uk have appeared to pass my email onto an organisation involved in facilitating criminal activities.

And it appears, that you don’t have to look far to find other examples of this, and poor customer service: http://forums.moneysavingexpert.com/showthread.php?p=36648375. You can even try your own google search!

So what did I do?. Well, I called them up, and spoke to a bewildered operator who told me to email them! Like I’m going to give another address out, and I’m not going to mess around actually setting up a ChemistDirect@ email account on my domain.

, ,

Yes, its out there on the web; a SQL Server Database Version Database. Or, to put it differently, a Database of SQL Server Versions.

Here  you can find a list of all the versions of SQL Server that have ever been released. It even goes right back to version 6.0, released in 1995. Check out the SQL Server Release History if you are interested.

I was drawn to this list when I had two database connections open in my object explorer:

SQLDatabase01 (SQL Server 8.0.2050 – Context/UserName)

SQLDatabase02 (SQL Server 8.0.2039 – Context/UserName)

I was curious as to what the difference was, so investigated further and found the SQL Server Version Database. I found the information I wanted with ease:

2000 (GDR) SP4+Q941203 / 948110 – 8.0.2050

2000  SP4 – 8.0.2039

And looking at the hundreds of different versions available, its not surprising that something like this is needed.

,

Recently, Sky continued its series of adaptations of books from Terry Pratchett’s Discworld series by commissioning ‘Going Postal‘. This is a tale of a conman coerced into running the city postal service, locking horns with the dominant competitor who had a monopoly in sending messages using semaphore towers located across the continent (A system whimsically call the ‘Clacks’, a mechanical version of Email).

Going Postal
Image via Wikipedia

The Clacks system started as a few towers to prototype and demonstrate a communication mechanism as a proof of concept. This prototype never got ‘thrown away’, and instead grew, carrying with it the flaws and problems encountered in its constructions.

The same is true for many software systems. Fred Brookes tells us that you should ‘plan to throw one away‘, as you invariably will have to do this anyway. The escalating costs of maintaining the system built on the prototype will be at least as large as the cost of throwing the system away.

So, what was the attitude of the directors of the ‘Grand Trunk Semaphore Company’ that controlled the Clacks? Grind the system into the ground by cutting corners, scaling down maintenance while subsequently raising charges. This attitude in relation to software systems will be familiar to many onlookers.

This neglect had cause the system to ‘crash’ so frequently that its emerging rival, the post office, had established a foothold in the now substantial niche that was left by these system failures, and was taking substantial business from the ‘Clacks’ company.

The directors called an emergency meeting, in which they invited the chief engineer, Mr George Pony, to advise on fixing the endemic problems precipitated by the years of neglect.

Pony: ”Do you want it fast or cheap or good, gentlemen? The way things have gone, I can only give you one out of three…”

Director: “How soon can we have the Grand Trunk working properly?”

Pony: “Nine Months, shut down”

Director: “Don’t be a fool, man!”

Ring any bells?

Reacher Gilt

The mere use of a software system does not physically wear it out in the same way that use of a mechanical system like the Clacks does. The wear and tear on a software system comes in the form of updates, upgrades, extensions, etc.

Mr Pony goes onto insist on the restoration of the ‘Hour of the dead’, which had been done away with by the management.

Pony: “Could we have the Hour of The Dead back, Mr Gilt?”

Gilt: “I really wish you would use that fanciful term”…”it really does not present the right image”

Pony: “Sorry, sir, but I still need it”

Gilt: “That’s revenue flow we’re talking about. the board won’t be very pleased with me if I-”

‘Pony: “I think I’ve got to insist, Mr Gilt.”

The hour of the dead was a time at which the communication towers were shut down, and simple maintenance performed. Small problems that would eventually lead to large problems were addressed, and the whole system kept manageable.

The same concept can apply on a larger scale with our software system. Consider a ‘Month of the dead’ each year,or an allotted time in our software lifecycle to maintain areas of the system. Technically, we don’t even have to write any code; for example, we can simply document what is out there and identify areas for refactoring/improving.

And that month goes for everyone, requirements gatherers, business analysts, developers and testers to name a few.

, ,

Yes, you from Ljubljana, Slovenia.

Don’t think I haven’t noticed you poking around my draft blog postings:

While I’m grateful that you’re showing an interest, I would be curious to know how you’re getting access to the drafts (if indeed you are).

Feel free to let me know by posting a comment below.

Many thanks :-)

,

There have been a number of occasions recently where I have wanted to recompile, rename or delete a DLL, only to be thwarted by some locking problem:

I had no idea what was locking it.

My first investigations took me to this MSDN Blog Site. To summarise, you can utilise the little-known tasklist command-line interface. Typing tasklist /m thelocked.dll will list all processes that are locking your DLL.

Microsoft has also made available a tool that (probably) hooks into this. Process explorer provides a more visual overview of processes and dependencies. It’s also useful for tracking down DLL-version problems or handle leaks, and provide insight into the way Windows and applications work.

Screenshot of Unlocker 1.8.8
Image via Wikipedia

But the most useful tool for me by far was a tool called Unlocker. Upon installing the little application I was automatically prompted of processes that were locking a file when I get the access denied error.

So there we have it. A number of ways in which you can tackle this issue, and maybe even help extract yourself from DLL Hell!

, ,