May 11, 2002

I completed work on the new release of Cee sometime during the middle of the week but couldn’t release it due to the fact that my website files are on my home computer but I had to upload the Cee distributions from work due to the multiple uploads necessary. So I kept on putting off the announcing of the fact that Cee 2.0 was available even though the release files were on all the sites 🙂 This was however a good thing since I discovered a couple of bugs after I’d uploaded the initial Cee distro and then fix it and upload the files again – at least I think the files on the servers now are the correct build :p Anyway, here’s the announcement finally of the release of Cee 2.0 and I’ve also added a new Cee page to the list of applications on the side bar so that you can read about it and see some screenshots before deciding if you want to download it.

I’ve also started work on another one of my forgotten projects during the last couple of days – Quester. For those who don’t remember, Quester was a search toolbar that could be run from the Windows taskbar and it supported a host of different search engines and had the ability to support many more since the search engine definitions were stored in an XML file. I originally started work on Quester after reading about Dave’s Quick Search Deskbar or DQSD for short. I really liked DQSD when I tried it but hated the fact that it wouldn’t work with my default browser – Scope – but would instead insist on opening up search results in IE. Well, I developed Quester but ran into problems in distributing it: a) Dave wasn’t so happy with Quester being closed source even though the XML file containing the search engine definitions (which was the only thing I borrowed from DQSD) was to be distributed along with Quester b) my initial implementation used the Borland MIDAS libary and that is pretty big and that defeated the purpose of having a small and quick utility. I just decided to go back to Quester this week and rewrote it and this time I parsed the XML by hand instead of using a MIDAS component to do it and so the final result was much smaller and more portable. I was really happy with how Quester turned out and began creating the documentation so that I could create a distribution file. While I was doing that, I went back to Dave’s site and discovered that he’d been improving DQSD and that it now supported the ability to open up searches in the default browser! I decided that I had better junk Quester since Dave’s implementation is smaller and is better supported since there’s a whole slew of developers working on it :p I still am not sure whether the resource consumption of DQSD is lower than Quester or not since both run as deskbars and so it’s harder to track their resource usage. If I do find somehow that Quester has a smaller memory footprint, I’ll probably go back to using it and put out a distro too but for the time being, I’m using DQSD myself 🙂

Today I began going through my collection of e-books and noticed the need to rename quite a lot of them so as to make categorization and sorting easier. In trying to rename the files, I was struck by the inadequacy of the rename command when using the command prompt. Yes, you can even rename a series of files so that they have sequential numbers from Windows Explorer under XP but that’s not exactly what I was looking for :p I could drop to the command prompt and use the rename command (ren) to rename all files that began with BUJOLD to Bujold (I’m very finicky about case <g>) but I couldn’t change Robert_A_Heinlein to Heinlein, Robert A. using the same rename command! So I decided to write my won rename command and after about half an hour of work, I came up with a command-line utility that I call renx. This utility takes three parameters and a fourth optional one. The first three parameters specify the file path or the wild card for the files to be affected, the string to be substitued in the name and the substitution string. The final parameter specifies whether to replace all instances of the string or only the first – by default, only the first occurrence is replaced. So in order to rename all files beginning with Discworld so that they also have the author’s name, the command would be something like:
renx Discworl*.* Discworld “Pratchett, Terry Discworld”.
It worked like a charm! I’ve saved quite a lot of time renaming files since I can now batch rename files any way I want instead of doing it manually one by one in the GUI 🙂 I don’t plan to release renx since it’s just a command-line utility but if there’s any demand for it, I might change my mind … Of course, I’m also planning to code a shell-extension which encapsulates the functionality of renx, and if I do do that, I then probably will release it …

Posted by Fahim at 3:37 pm  |  1 Comment