May 30, 2002

The Blog Server test didn’t work yesterday either and I did some tests early in the morning at work and discovered that it worked fine at this end! I don’t know if my recompilation of the Indy component with the bug fix didn’t go through fine or if there is some other problem from home that I’m not aware of. Guess I’ll have to do some extended tests tonight or maybe over the weekend. Incidentally, I checked the automatic dialling out code that I’d put into Blog yesterday and found out that that didn’t work either 🙁 That’s probably going to require a lot more work than the POP access stuff – it might turn out that I can’t do the next release of Blog as soon as I had hoped to … I guess we’ll see ..

Update: All right! The Blog Server functionality finally worked the way it should! Turns out that even though I had fixed the bug in the Indy components, it didn’t take due to certain factors. I re-compiled the code today and it worked – well … almost except for a different bug that I had to fix as well but once that was done, things worked smoothly. So that’s one down but there’s still the dial-up bug …

Posted by Fahim at 11:01 am  |  1 Comment

May 29, 2002

Well … let’s try the remote blog thing again :p I’ve got a couple of interesting things to comment on today. One, discovered a bug in Blog that had been there for a time – at least I think so though I can’t figure out how it escaped me for so long … maybe it was a bug created during a “Replace All” on the code. Anyway, a user was trying to specify a directory for his blog and Blog wasn’t working properly on the FTP part of it. I think he made a mistake himself in that he gave the full URL instead of just the full directory path in the Full Path setting on the Sites tab (which is again partially my fault since it’s not explained properly – fixed now since I added an example to the tooltip hint <g>), but in looking at the code to see what I had done, I realized that there was a small bug in the code too.

The FTP component I use (Indy FTP) does not allow you to change directories from wherever you are – you can either change to a directory below the current directory or you can move one level up from the current directory. Those are the only two options 🙁 So what I do in Blog is, get the current directory (which the FTP component allows you to do), count the number of / characters in the current directory to figure out how many levels of directories I need to change to get to the root directory and then do a directory change using the absolute directory given in the Full Path setting in Blog. Unfortunately, my code was using the Full Path setting to calculate the number of directory levels to go up instead of the current directory value and that was the bug. It’s fixed now and so everything should work as it should – hopefully …

I was again trawling the referrals to my sites and came across a new link from a message board. The only reason that I find this particular link interesting is because the original poster mentioned the fact that I’d worked on both LiteStep and DarkStep and somebody else responded to it saying that he didn’t know that I’d worked on them :p Since I spent about two years doing nothing but code on LiteStep and DarkStep every spare moment I got, I guess I find that a bit ironic but then again, I probably have a slightly exaggerated sense of myself since you can’t expect everybody to know every little app I coded on, right? <vbg> The only reason that I don’t even link to the DarkStep site from my sites is because I’ve given up totally on DarkStep development and don’t even provide support for it any longer. I’ve often thought of starting work on another shell! (maybe coded in Delphi …) but I just can’t pick up enough enthusiasm or maintain the enthusiasm once I’ve actually got myself to start some work. Ah well …

Update: Drat! The problem with POP access still remains! I don’t have the time to debug it online now and so it will have to wait till the weekend or till I have some time after work at work … I was so hoping to have this done today so that I can start putting together the docs for a new release. Oh well …

Posted by Fahim at 6:41 pm  |  3 Comments

May 28, 2002

I’ve noticed a lot of searches on similarities between Guy Pearce and Cher hitting my site. Now I know why my site is being hit – it’s because I talk of both Guy Pearce (in referring to the new “Count of Monte Cristo”) and Cher at the Grammy’s (or some such other awards ceremony) in the same journal entry but what I can’t figure out is what this sudden fascination people seem to have in finding links between Cher and Guy Pearce. I guess there are all sorts of weird searches on the web – if that is any kind of an explanation :p And of course, now that I’ve mentioned those two again in a journal entry (and I seem to get picked up fairly easily by Google …) I’ll probably get even more hits on that search – ah well …

This will probably be my first testing of the client side capabilities of the newest version of Blog under real-life conditions. I’m making this post under Client mode and hope to have it published when I get home in the evening in Server mode and that should get me started on using the thing once and for all and that would actually let me find any bugs in the latest code. I’ve been meaning to do this for a time now but I’ve always been so busy at work during the last few weeks that I just didn’t seem to find the time. But since I’ve got my bike, I was able to get to work early today and get through quite a bit of my work quickly and so I’ve got the time to do this … So let’s see how well this works!

Update:The Server mode test didn’t work – not due to a problem with Blog but because one of the components that I’m using (Indy POP) has a bug which I fixed on one machine but wasn’t fixed on my home machine and so it wouldn’t connect to the server properly. Ah well … I don’t have the time to fix it now and so I guess I’ll have to try this again tomorrow …

Posted by Fahim at 6:57 pm  |  1 Comment

May 27, 2002

It’s a long weekend over here (again <g>) and a busy one at that. Even before I had come over to Sri Lanka, I’d been planning to get a motorcycle when I got here since I just can’t drive a car over here – at least I don’t think so, not after driving in the US for four years. The drivers here are crazy since they don’t seem to obey any road rules and sometimes even rules of common sense :p Anyway, I bought a bike almost as soon as I got here but that was in Kurunegala – it was a reconditioned Suzuki and it was not yet registered. Since I had to do the registration myself and the bike was in Kurunegala while I was mostly in Colombo, the bike just stayed there and nothing got done for a month or two. One my cousins (who’d helped me in the getting the bike in the first place …) said that he’d be able to sell it and I agreed to it since I was having second thoughts about buying a reconditioned bike. He gave me the money even though he hadn’t sold the bike and I went ahead and purchased another from Colombo, this time a Bajaj – Indian make -, since the bike was brand new and the dealer promised to get it registered.

Of course, the registration process took about three weeks and even when that got done, which was sometime last week or the end of the week before, I ran into problems getting the bike back from them. They had the bike at one place while the papers were at another and for some weird reason, seemed to be having a lot of problems getting the two together. I’d gone over on Tuesday to try and get the bike but had just been given the run around – customer service here is mostly non-existent 🙁 I was really mad, black guarded them soundly and then came back after they promised to “definitely” have things ready for me on Friday. I called them again on Thursday and was told that everything would be there on Friday. Friday morning I had to rush over to Kurunegala since my parents needed something done but rushed back by the next bus since I wanted to get the bike but what did I find when I went over to the dealership? They told me that the bike wasn’t there! They hadn’t brought the bike over from the other place even after all their promises and I was ready to bust a blood vessel. The salesman who talked to me was a different one and he seemed to be more obliging and he talked to his manager, made some calls and got the bike included in a delivery that was coming over from their warehouse. Of course, I still had to wait there for three or four hours while the bike got there, then go through the paperwork and I finally had my bike 🙂

It is good to have a bike back though I am really scared by the idiots on the roads even now since they don’t seem to have any concept of the fact that there are others on the roads besides themselves. Ah well … at least I’m mobile now (or more mobile than being on foot <vbg>) and I enjoy the feel of having the wind in my face … Of course, it’s been raining pretty much the whole day since I got the bike and so I can’t always go out much – ah well, that’s how it is I guess 🙂

Posted by Fahim at 6:17 am  |  4 Comments

May 20, 2002

I uploaded three of the recently released apps again. They were Cee, RenX and MailCoder. I had added a checkbox to include the mailto: anchor tag as well as the encoded e-mail itself for MailCoder and had added a new application icon for it while RenX simply had a new application icon added to it. The biggest changes were in Cee because I had fixed two problems there: 1) setting Cee to start with Windows now works properly 2) setting Cee to refresh cookies after a certain number of minutes now retains the minute value correctly through a restarting of Cee. I didn’t see the reason to up the version number for any of these changes though some people who had already downloaded the apps might have to download them again. Sorry about that …

Posted by Fahim at 7:08 pm  |  2 Comments

May 18, 2002

I watched “Bandits” today. I don’t know whether it was my mood or the film itself but the characters didn’t really appeal to me and the film itself felt a little bland at first. There is a movie critic online who feels that in writing about a movie, you should also write about the events leading up to watching that movie so that people will know your mood and your frame of mind :p I think I’ll take a leaf from his book and go through the events of the day. I went out in the morning and bought a couple of more DVD’s to add to my collection – “Bandits” was one of the movies. I then came home, had lunch and watched a Tamil movie on TV. It was a pretty good movie except at the very end when the protagonist cut off his tongue to ensure that he hadn’t lied to the girl he loved about being dumb (I mean not being able to talk, he proved he was dumb by cutting off his tongue :p) and that her faith in him was justified. The tongue cutting scene had blood spurting all over and landing on the face of a baby who liberally smears his/her face with the blood. While it might have been oh so artsy-fartsy, it just left me thinking the director a stupid, idiot <vbg>

Anyway, I began watching “Bandits” after that and the movie really didn’t do anything much for me at the initial stages but things seemed to turn around once Cate Blanchett arrived on the scene – maybe my mood improved or the movie itself picked up but it actually began to seem more funnier. Of course, I often could not hold back the thought of Galadriel from “The Fellowship of the Ring” anytime they zoomed in on Cate Blanchett but other than that it was fun 🙂 So basically, it started out slow but ended pretty well, plus the sound track was great since it included songs like “Total Eclipse of the Heart”, “Holding Out for a Hero”, “It’s Not Easy”, “Just the Two of Us”,”Lion Sleeps Tonight” and “Twist in My Sobriety”

Posted by Fahim at 5:05 pm  |  1 Comment

May 17, 2002

OK, I’ve got not one but two application releases today 🙂 They aren’t really the final, polished product as such since I normally don’t like to release an app till I had added a suitable icon to it but I’m releasing these two apps with the default Delphi app icon since they are minor apps plus it’ll probably be next weekend if I wait to find the icon, recompile the apps and release them :p I haven’t even created an app page for either application (and one of them doesn’t even have a readme file …) because 1) they are rather self-explanatory 2) I was too lazy <g> 3) I can always do it later :p

So what are these apps? One is the RenX shell-extension that I’ve been talking about. I ran it through its paces yesterday and discovered that while it worked fine with one file, that it wouldn’t work with more than one file at all! I went on a major bug hunting expedition and finally discovered that the fault lay in a memory allocation problem because the instead of containing a list of files selected from Explorer, the final result in the program itself was a list of the same file name over and over again. I fixed that problem and have been using it to do a lot of renaming today and it worked admirably. Of course, I always used the Replace option and so there still might be a few undiscovered bugs in there :p

The other app is the e-mail address encoding utility that I wrote about in a prior entry. I’ve decided to call the program MailCoder and I checked to make sure that the encoded format works even in an anchor tag and it did. I then added a button that would simply copy the encoded string to the clipboard instead of the user having to select the string and then copy it manually. With that, I think MailCoder is completely done – except of course of finding a suitable icon and adding it :p So I’m releasing both the apps today and will do any further work as necessary …

Speaking of further work, the release of Cee that I did last week had a couple of bugs and while I’ve fixed it, I haven’t updated the download on the servers because I forgot to 🙁 Guess that’ll have to wait till Monday … So what were the bugs? One is not exactly a bug but rather an idiosyncrasy in Windows XP. It turns out that startup items in the registry are sort of cached by Windows XP so that Windows starts up faster and how XP caches the items is to copy it to a temp folder under your profile in Documents and Settings and run it from there. Now Cee expects the cookie database to be in the same folder as where it is run from and since the temp folder does not contain the cookie database, Cee exits with an error. This is one explanation, the other is simply that the Documents and Settings temp folder is set as the working directory for all startup apps <g> Whatever the case maybe, I was trying to fix this problem for a couple of days with no success (mostly because I didn’t want to restart my machine to test whether it worked <vbg>) and finally my friend Robin – who had become pretty attached to Cee – simply added Cee to his Startup folder and removed the registry entry because he got tired of being faced with the error each time Cee started 🙂 So I decided to put Cee in the Startup folder as well instead of the registry and while that involved some further code to create shortcuts, I was finally able to do it properly and that particular bug was squashed …

The other bug was to do with the timer in Cee. Whatever value you put in it, it got saved properly but the next time you started Cee it would revert back to 1. I ran the program through the debugger and the correct value was being read and it was even being put into the edit box but each time the Options dialog was called up, the value was again mysteriously being set to 1! I couldn’t figure out what was wrong at all – I thought it might have something to do with the spinner control that I’d attached to the timer value edit box and looked at the properties for the spinner control but couldn’t see anything that might hold a value and so decided that that wasn’t it. Today I was going through the spinner properties again and I suddenly discovered one called Position which actually held the current value – when I saw it yesterday, I thought it had to do with screen position, talk about dumb naming :p Once I set the Options dialog value reading code to set the timer interval to the spinner control instead of the edit box, everything worked fine …

Posted by Fahim at 7:01 pm  |  No Comments

May 15, 2002

My parents received notification that the last of my stuff from the US had arrived during the weekend and they brought over the notice when they came over to Colombo on Sunday. So I stayed home from work on Monday, went over to the foreign parcels section of the post office and got the stuff cleared. It seems as if that marks the end of another segment of my life though I can really think of no particular reason for feeling so except for the fact that receiving the stuff from the US seems to kind of put a marker on the US period. Anyway … I’m meandering :p I began making a detailed inventory of all my books and realized that I had a lot of duplicates since I’d bought the same stuff again when I was in USA. Guess I’m gonna have to sell off some of the excess though I’m not too sure that I’ll get too much for it over here ….

I’ve been doing a lot of coding in my spare time 🙂 I began work on that file renamer shell-extension that I talked of in my earlier post and instead of keeping it simple so that it would simply match a pattern and replace it with a different string, I decided to go for broke and make it really complex :p So I added sequential numbering (with a given prefix or using the existing file name), renaming with a prefix and renaming with a suffix to the list of options. I can’t think of any further simple renaming options though a few more complex ones do come to mind – such as removing existing numbers and then renaming in sequential order but I’m not sure that I want to code that yet <g> I’ve even created the documentation for the shell extension and have come up with a setup package. So expect to see that released sometime soon …

Another app that I came up with is a pretty simple one – to encode strings like e-mail addresses into their ASCII character equivalents so that you can have e-mail addresses on web pages without the address being discovered by the trawling robots of spammers. It seemed to work fine during my preliminary tests but I just thought of something that I need to check on – whether a coded address works with an anchor tag or whether it needs to be coded in a different manner for the anchor tag. Once I get that sorted out, I think I should have another offering to be released – darn, looks as if I’m going to swell my application list quite a bit in just a couple of weeks 🙂 Ah well, the more apps there are, the more use that somebody or other will find them to be …

Posted by Fahim at 9:22 pm  |  No Comments

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

May 5, 2002

I’d been having some trouble with my computer for a while now because of an unsuccessful Visual Studio .NET uninstall. I’d had Visual Studio .NET Beta 2 installed on my machine for some months but decided to uninstall it once I got to Sri Lanka for two reasons: 1) I was running out of space 2) I was using the final release of the product at work and could always install that at home too if necessary. The problem was that the power went off while I was uninstalling Visual Studio .NET and the process took so long that even the battery was drained on my notebook. So I had to cut the uninstall short and ever since then, I could neither uninstall Visual Studio .NET or do any other install or uninstall which relied on the Windows Installer. I didn’t really mind this for a long time but yesterday when I tried to uninstall Roxio EasyCD and couldn’t due to the Windows installer problem, I decided enough was enough :p

I first tried to upgrade my existing Windows XP installation by installing XP over it again but that ended in disaster when one of the device drivers started giving problems and the installation would end up in a blue screen of death 🙁 Of course, I had not backed up any of my important data <g> So I first installed Windows XP in a separate directory, booted up, copied over the data I needed and then formatted the drive and did a clean install of XP again. Of course this took about the whole evening and I am still in the process of re-installing all my software, updating them etc. Since I’m on a dial-up connection, the Windows XP updates themselves would have killed me except for the fact that I had most of them on CD :p So I am almost up to speed again but am currently downloading the NAV virus definition updates which come to a whopping 3MB. Yeah I know, nothing for those of you on broadband and nothing even for people in the US on dial-up but I have to pay phone connection charges for every minute as well … Ah well … I probably could get it tomorrow from work but I don’t like to be online without up-to-date virus definitions – so guess I’ll just go ahead and do it …

Posted by Fahim at 11:32 am  |  No Comments

Next Page »