Friday, July 28, 2006

PerfectDisk to the Rescue

Readers of previous posts will recall that I unceremoniously uninstalled Diskeeper because it simply refused to defragment a large SQL Server data file, even though there was enough space available to do so.
I discovered PerfectDisk, and downloaded their 30 day trial version. It did the job so well I have since bought the product, along with its companion product, DiskState, which has helped me idetify and remove duplicate files.
Fortunately I took some screen shots, which show just what a mess my hard drive was in after 18 months of using Diskeeper. Now my hard drive is properly organised, and the defragmentation levels are really low all the time. My gut feel is that once the bugs have been ironed out of Buzzsaw as well, I'm going to be running the most unfragmented laptop on the planet!
One final thought: The venerable Norton Speed Disk is part of Norton SystemWorks Basic Edition, and at $39.99 costs the same as PerfectDisk. But if you think I'm going to install 170MB of bloatware on my machine you can think again. It doesn't even do a good job any more, and most of the other bundled utilities are equally useless. PerfectDisk uses one tenth of the disk space, and does an excellent job. It is money extremely well spent.

Why I uninstalled Diskeeper | Contig saves the day | Before and After screen shots of my hard drive | The Great Defrag Shootout: Part I | IX | X | all

Tuesday, July 25, 2006

Contig Saves the Day

Getting fed up with Diskeeper was the best thing that has happened to my hard drive in ages. I uninstalled it in disgust, because it simply wasn't working properly any more.
A quick search on Google helped me find Sysinternals Contig, one of the most useful command-line utilities you could ever use. Unfortunately, Microsoft also found it, and bought the company. So there is no telling how long it will be around. As a safety precaution it is now included "as is" in the full install of Zippy because it is so useful to include in the zip.bat file used by Zippy.
I have been testing DIRMS, which stands for "Do It Right Microsoft", a cheeky enough name, except that the software, already in version 2, is very rough around the edges, and I'm not even sure if it is doing its job properly. So the jury is out on that one.
I have also tried Raxco PerfectDisk 7.0, and its the closest thing to the good old Norton Speed Disk that I have found. It costs US$ 39.99, which is halfway between the Diskeeper Home Edition $29.99 and the Professional edition $49.95. The difference is that PerfectDisk gives far better results than Diskeeper, so unless DIRMS can actully come up with the goods and start working properly, PerfectDisk is going to get another customer.
The Great Defrag Shootout: Part I | II | III | IV | V | VI | VII | VIII | IX | X | XI | XII | XIII | XIV | XV | all

Thursday, July 20, 2006

What Happed to the "Mad" Guy?

Ever wondered what happened to the guy from the "Mad" Magazine cover? Click to find out.

The Internet is "a series of tubes"

Isn't it amazing how US politicians give their country a bad name. It it isn't their gunslinging President, its their senators. Senator Ted Stevens (R-Alaska) explained why he voted against the amendment and gave an incredibly stupid primer on how the internet works:
There's one company now you can sign up and you can get a movie delivered to your house daily by delivery service. Okay. And currently it comes to your house, it gets put in the mail box when you get home and you change your order but you pay for that, right.
But this service is now going to go through the internet and what you do is you just go to a place on the internet and you order your movie and guess what you can order ten of them delivered to you and the delivery charge is free.
Ten of them streaming across that internet and what happens to your own personal internet?
I just the other day got, an internet was sent by my staff at 10 o'clock in the morning on Friday and I just got it yesterday. Why?
Because it got tangled up with all these things going on the internet commercially.
So you want to talk about the consumer? Let's talk about you and me. We use this internet to communicate and we aren't using it for commercial purposes.
We aren't earning anything by going on that internet. Now I'm not saying you have to or you want to discriminate against those people [...]
The regulatory approach is wrong. Your approach is regulatory in the sense that it says "No one can charge anyone for massively invading this world of the internet". No, I'm not finished. I want people to understand my position, I'm not going to take a lot of time. [...]
They want to deliver vast amounts of information over the internet. And again, the internet is not something you just dump something on. It's not a truck.
It's a series of tubes.
And if you don't understand those tubes can be filled and if they are filled, when you put your message in, it gets in line and its going to be delayed by anyone that puts into that tube enormous amounts of material, enormous amounts of material.
Now we have a separate Department of Defense internet now, did you know that?
Do you know why?
Because they have to have theirs delivered immediately. They can't afford getting delayed by other people. [...]
Now I think these people are arguing whether they should be able to dump all that stuff on the internet ought to consider if they should develop a system themselves.
Maybe there is a place for a commercial net but it's not using what consumers use every day.
It's not using the messaging service that is essential to small businesses, to our operation of families.
The whole concept is that we should not go into this until someone shows that there is something that has been done that really is a violation of net neutrality that hits you and me.

Wednesday, July 19, 2006

Data Mover gets an IQ upgrade

Data Mover was designed for a simple data set, where new records were added, and old records changed. Deleted records were to be marked as deleted, not actually deleted. Or if they were deleted, you had to delete them in both source and target data sets.
Of course the inevitable happened: deletions got out of synch, and we ended up spending hours adding records that should have been deleted already, only to delete them again. This turns out to be a great way to waste a lot of time and bandwidth for no reason.
Last night I finally added some intelligence to the process. There is now a parameter to tell Data Mover not to add any records older than a certain date, say 1 month old. This doesn't affect changed records, only ones to be added. Since the parameter applies to the entire dataset, it's easy to disable it if a new data take-on is required. It only affects the SYNx keywords, so a normal APPEND or UPDATE query is not tampered with in any way.
Data Mover is a utility that is used to process, convert or synchronize application data. At present I am using it to keep data from around 2 dozen Access97 satellite sites synchronized with a head office SQL Server database. Both the satellites and the head office can make changes to the data, subject to certain conditions.

Monday, July 17, 2006

Why I Uninstalled Diskeeper

Remember Norton Speed Disk Version 3? The one that defragmented DOS drives, long before MS-DOS had DEFRAG? I used to swear by it. Later I added DEFRAG to my AUTOEXEC.BAT file to keep my hard drive tidy, because it was included with DOS.
But Norton Speed Disk became bloatware, and took a long time, so I ditched it and just used Defrag in Windows. I'm not sure if you can even buy Speed Disk any more. When I bought my first Windows XP machine, I tried the built-in Defrag program, and then checked out Diskeeper Lite, but it's no longer listed on the Diskeeper site. Eventually I took the plunge and got Diskeeper version 9. We also installed the server version, despite its hefty price tag.
Recently I got dissatisfied with Diskeeper, because I have a 1.1GB file used by Microsoft SQL Server that it simply refuses to defragment. Sure, there is "only" 6GB available disk space on my drive, but that should be enough. I even went to the trouble of writing Disk Filler to manipulate the "Reserved System Space" to get it to defragment my files, but sometimes even that doesn't work. So a quick Google search took me to a page listing Free Defragmentation Utilities. I immediately downloaded and tried out Mark Russinovich's Contig program. It has now been added to several of my Zippy batch files, to keep Microsoft Access files contiguous. But it seems to follow the same rule about using Reserved System Space, so it doesn't always defragment every file. Still, it's free and quick. Pity it doesn't work on Windows 98.
Now I'm trying two programs from, which promise "on-the-fly" defragmentation, as well as the ability to remove those small empty gaps between files that Defrag and Diskeeper miss. The down side is that the compacting process takes a long time. Still, I don't mind getting rid of 6800 useless spaces on my hard drive, as well as another 2900 bigger gaps in my drive. Watch this space: it only costs US$10, or you can re-register it every 30 days.

See also: Contig Saves the Day | PerfectDisk to the Rescue | The Great Defrag Shootout: Part I | II | III | IV | V | VI | VII | VIII | IX | X | XI | XII | XIII | XIV | XV | XVI | XVII | all | why | Benchmarks: DK2008 and DK2007

Sunday, July 16, 2006

Zippy Improved

Zippy Backup Assist is a great way to back up your Access data files and keep them in good shape. I use it to do this and then run DataMover to transfer clinic data to the Men's Clinic head office with DataMover.
It's freeware, and this weekend it got a facelift: a stop button to cancel the process, and a check to make sure it doesn't run a second copy if its already busy. This is particularly helpful when you accidentally get carried away and double-click a bit too much. I also tested it using Access 2000 and Access 2002 files, and it works fine.

Thursday, July 13, 2006

Minor Software Updates

ZippyIt's been a busy week. I've done a bug fix on AccessOpener to sort out the "/RUNTIME" problem, where people were getting an annoying "Can't Find the Dynamic-Link Library (DLL) Mso97rt" error message.
Then I discovered to my horror that you can run multiple versions of Zippy Backup Assist at the same time. So I've added in a check to ensure that only one copy runs at the same time for a given user. This prevents multiple copies from running when the user double-clicks too many times.
The same principle has been applied to the Hunter Killer program, and will also be included in the CopyMail utility.


Many of you may be wondering about what happened with me, the CCMA and the Jockey Club (NHRA). Now that the dust has settled, the mists have cleared, and my cheque is safely in the bank, I can report the following:
At the end of 2005 I presented the Jockey Club with my new rates for 2006. They weren't too happy about them, and failed to discuss the matter or negotiate any different rates.
Because I needed the money, I carried on working there in January anyway, and my (partial) January invoice was paid without a problem. What I didn't know was that they were deliberately avoiding discussion of my rates because they were planning to can the project anyway. In their Annual Report 2005 page 15 it states:
Currently the [Audit, Risk and Finance] Committee is evaluating a proposal from Phumelela and Gold Circle to outsource the accounting, data processing/ information technology and handicapping functions of the NHRA. A detailed report will be submitted to the National Board at a meeting to be held on 25 November 2005, where we are hoping to reach finality on these issues.
Very few employees even got to see the Annual Report, let alone read it.
On 2nd February we were told that the project was cancelled, and the functions of the department would be "outsourced". By that stage I had worked over 5 years on the project, and been paid R 1 007 600, and the project was in the final stages of going live. We were actually transferring the data while the meeting was in progress. The entire department was in shell shock for days.
A few days later I presented Colin Hall with an invoice for the balance of my fees for January (i.e. the increase) and the increased rate for February. He signed it and I handed it in for payment, never suspecting that payment would be stopped.
I then presented him with an invoice for the balance of the contract, at which point he exploded and tried to say that there wasn't one. I asked him to put his point in writing. Even though his subsequent letter was confusing if not totally meaningless, it emerged from further discussions that all they were prepared to pay me was R 38 400, i.e 2 months at R 19 200. However, by the end of February they had still paid me nothing.
On the day I was supposed to be paid by the Jockey Club, I contacted my former head of department, Peter Hains, to find out if he had been paid. He had. He also had a problem with the existing configuration of DataMover, which wasn't working. I told him that until I was paid I was not going to provide any support. Lawyer's letters were threatened, and I told them to go ahead and send me the letter, which I promptly published on my blog. I wrote a lot of other stuff on my blog, describing the general working environment, the hypocrisy, arrogance and incompetence of some of the managers, and my experiences in general.
In Mid February I started working full time for Men's Clinic International, and at the end of February they very generously paid me for a full month. They have been paying me every month since then, on a month-by-month basis.
I also went to the CCMA, on the basis that I was effectively an employee, rather than a contractor, because of the length of service and other criteria defined by the Labour Relations Act. My hearing was set, and the Jockey Club failed to show up. I was feeling a lot more confident, but my own application was my undoing, since I hadn't justified why I should be regarded as an employee. They rules it was a contractual matter, and therefore outside of their jurisdiction.
At that point I had to decide whether to take the matter to court, or to try to settle amicably. Because of all my blogging activity, writing about both the lawyer and his client, a Google search of "nigel carman" or "colin hall nhra" produced some extremely unflattering results.
I decided to try one last time to get my invoice paid, so I wrote to both the lawyer and the Jockey Club and asked them when they planned to pay my outstanding (signed) invoice. I also mentioned the Google search. That finally spurred them on to some form of action. To keep up the pressure I randomly faxed the signed unpaid invoice to their fax number every day or so.
In early June I got a letter from them, plus a cheque. The condition of depositing the cheque was that I would have no other claim against them. After giving it some further thought, and discussing it with a few close friends, I responded by saying that if they wanted me to accept the cheque then they would make no further claims against me. It was a good job that I did this, because their response states:
Our client agrees to the following: the cheque for R38 400,00 is tendered in full and final settlement of all claims of any nature whatsoever which either party may have against the other, whether for work actually done during February, notice period, damages or howsoever arising on condition that you remove all references to this firm or to the NHRA from your website or any other Internet presence.
They obviously didn't like the blog entries, or the fact that I had published their threatening letter as an example of extreme stupidity in dealing with programs where the source code is included. They were obviously embarrassed that their heavy-handed tactics became public knowledge, especially since their stated goal is "maintaining the integrity of the sport of horseracing" [sic] and their actions hardly lent any credibility to that goal. So all past blog entries have been removed, and the other documents removed, and the money is safely in my bank account, providing a buffer in case I get gaps between projects.
I hope the lawyers sent a very large bill to the Jockey Club, because I had sent them numerous emails, made several phone calls, requested explanations and clarifications, and generally gave them as much work as possible. I hope they got paid for it.
I am working hard on the Men's Clinic project, and have some smaller projects in the pipeline. I am also working on a means by which other people can use the database technology that I do, to be able to produce databases that work well without the usual overhead of months and months of tedious programming.