Meld in Windows

I’ve become a huge fan of a program called Meld in Linux. It allows me to compare files, folders and even update CVS repositories (in a basic way). It’s cool

Thankfully, there is a very similar program available for Windows and also Open Source called WinMerge. This does pretty much the same thing and works in a very similar way.

It’s great for comparing registry files between different computers and different folder structures.

Active Directory Recovery Guide

I’ve been having numerous errors in the event log appearing on one of my servers from the ESENT service:

Event Type: Error
Event Source: ESENT
Event Category: Database Corruption
Event ID: 467
Date: 18/05/2007
Time: 09:33:06
User: N/A
Computer: SERVER123
ntfrs (5660) Index GChangeOrderGuid of table OUTLOGTable00002 is corrupted (0).

For more information, see Help and Support Center at

These errors are appearing regularly, and contain various tables with problems.

After scouring and the Microsoft support site – I eventually found a very useful Powerpoint presentation that outlines various methods of recovering poorly or corrupt active directory databases.

Although not a specific answer to the problem, it does provide useful guidelines in the best practices for repairing or reinstalling and domain controller, as well as some useful advice such as carrying out a metadata cleanup.

I’ll be following the guide to try and resolve the database errors on this server, and hopefully it will work out nicely.

Offline Windows Updates for the IT Tech with no Broadband

It happens enough times. You’re busy reinstalling Windows for someone when you find that you can’t install Windows Updates because the internet connection available is slowly than a milk float delivering breeze blocks instead of milk.

In so far as keeping up-to-date, the issue is no longer “How soon can the updates be installed on the computer?” It is actually “Can I even download updates on my computer?”

The odds are that if you are using Windows XP pre-SP2, the answer is simply ‘no’. Whenever you’re behind on a service pack, Microsoft likes to ensure that this becomes part of the download set. And that 200MB+ download might take a little while on dial-up. Once you’ve completed this, you’ll probably find another 100MB+ worth of updates to install afterwards.

Thankfully, there are a number of ways around this.

Downloading the redistributable versions of the various service packs is a piece of cake – they can be downloaded from the Microsoft website without too much effort. The subsequent rollups prove to be more of a nuisance.

Enter AutoPatcher. This is a handy little project for those folk who have all of those problems, and then some. What I particularly like is the semi-frequent updates that do not require you to download a complete CD of updates. So having a full download and the latest update CD does the job nicely. On my next visit to this school where I need the files, I’ll hopefully be able to install the updates with the minimum of fuss – then I’ll be a happy chappy.

Go get it!

Returning Printer Rubbish

I’ve been sitting on some toner cartridges for some time wondering how I could return them. They have travelled many miles in my car, acted as a prop for bags and generally been in the way at any other time.

By some luck (and a bit of clever Google searching), I managed to find a page with instructions for returning used toner cartridges in the UK for my Oki printer.

It would have been nice if the instructions were included in the toner box. Still, you can’t have everything I suppose.

Automated Documentation in PHP

I’ve been looking for some software to help me compile web-based documentation for a school that we work in.

What they are trying to do is write coursework modules for staff to follow, and then have them available on a site.

I know how this ends up. One of the ideas I had when they told me that they were writing modules was to put it all in word, and then generate PDFs at the end, using the headers for bookmarks in Adobe.

It was sound until I was told that there must be ‘no scrolling’, so that pupils with a 2-second timespan might be able to read it. I’m not convinced that the no-scrolling is the way to go, but I suppose it’s no better one way or another.

So, here we are. I’ve scoured the internet looking for something that will do the job nicely. I found some modules on the PEAR site that would allow me to create documentation and store links in a database. I liked the look of it, but it seemed that I might have been going a little off-track as with HTML Menu, I’d probably end up storing all of the data in HTML pages that I’d still manage and then place the menu in a database. Not fun.

Luckily, an offshoot of a PEAR project surfaced called PHP Dcoumentor while has some useful documentation (surprise, surprise), and seems to be able to generate documentation into a variety of formats from XML or DTD, which can’t be bad.

Steve was perplexed as to why we are doing this, when it means that we would have to go through everything that the tutors have written for the modules and reformat it. Ironically, if they had settled on my PDF idea in the first place, then it’s feasible that we could have used the Word styles as a starting block for the online styles.

Still, if someone wants to pay me to make documents look pretty, then I’m all for it.

Reverse Engineering Passwords

Hashing passwords is a common way to secure them in a database and make sure that they cannot be read easily.

But did you know there’s a website that reverse engineers the hashes and stores them in a searchable database?

The folks over at RedNoize have created such a site.

Obviously, there’s no better protection than keeping your databases tightly secured – but even so, it may be worth considering putting extra abstraction on passwords – just to make it that little more difficult.