June 12, 2002

I left work a bit early with my friend Robin since we had to attend a work-related meeting somewhere else in town and since we weren’t going to come back to office, he took his car and I took the bike. Half way to our destination, whammo! I slammed into a truck which was turning the wrong way and was not visible to me because it was covered by a big bus. The outcome was that I ended up laying on the road with the bike on top of me and the truck almost on top of the bike :p Thanks to God I wasn’t very seriously injured but escaped with some scrapes and bruises though I can’t say the same for the bike 🙁 I did ride it away from the accident but it’s going to need a lot of work. Of course, while I didn’t feel too bad yesterday, I got up today and feel stiff all over :p Ah well … guess that’ll teach me not to assume that people follow the road rules here in Sri Lanka <g>

On to much more positive news … I did do the bug fix and feature request from Phil and updated the documentation for Blog as well and re-uploaded the distros. Of course, I haven’t had the time to update the sidebar or the downloads page till today and so did that just now. Incidentally, I hit Publish accidentally just now and what do you know? Blog actually dialled out successfully! But the bad news is that Blog didn’t seem to realize that the dial-out was complete … so I guess I’ll have to do some more testing and fixing there before the final release of 6.0.

Nigel Powell had inquired about the possibility of a Blog version that would fit on a floppy so the he could take it anywhere and use the Client mode to update his blog. I had thought that that would probably not be possible considering that the Blog executable is a very hefty 2.3MB or so but then I came across something that I used to be really interested in about 10 years ago when hard disk space was limited and we all worked under DOS (well, at least those of us who were around then :p) – an EXE compressor! This one’s called UPX and is being developed under an Open Source project and when I ran Blog through it, it was reduced to an amazing 700+k! I’m impressed and since there doesn’t seem to be too much degradation in performance, I’ll probably start using UPX compression from the next release of Blog onwards and then you should actually be able to carry Blog around on a floppy with the data files 🙂 Umm … just checked how big the spell check and thesaurus files are and they come to around 1.11MB so I guess you can either scratch that idea of a totally portable version of Blog 🙁 Though I’m certain that a compressed file of the full installation of Blog will still fit on a floppy …

Since I’d completed the latest changes on Blog, I went back to working on PostMan. I managed to get the mail composition window code done as well and it’s beginning to look pretty good … But I haven’t tested sending mail yet and I’m sure that when I do, I’ll find a few bugs that I hadn’t considered <g> Once I get that bit working, I’ll have to work on responding to existing e-mails and e-mail redirecting (which is still a mystery to me – I mean the “how” of it …) since that’s a feature that I really like in both Eudora and PocoMail – much better than that pesky Forward when you’re moving stuff around from one account to another. I’m also considering whether I should try to incorporate some sort of web-mail checking feature into PostMan and how I should go about it but not too sure about that particular feature yet … Guess that can go in to the to-do list for the moment :p

Tags:
Posted by Fahim at 6:29 am  |  5 Comments

June 11, 2002

Well, I finally managed to update the documentation for Blog and to get two distros – a full setup based one and a self-extracting archive for upgraders – ready for the new Blog 6.0 beta. I even let Eddie Elmore over at BetaNews (who’s been kind enough to mention each release of Blog as well as to provide an alternate mirror for the downloads) know about the new distros that I’d already uploaded to the servers – well, all the servers except for Tripod since I’m running into space limitations there … It might be that I have to move from Tripod after all these years of being with them 🙁 Anyway, I was going to hold off on announcing the new files till I had some time to update my web site today but then I received an e-mail from Phil, who reminded me of a bug and a feature that he requested quite a while back – and no, he didn’t request a bug even though that’s the way the sentence sounds :p

The bug was to do with LiveSpell checking and how it wouldn’t turn off even after you’ve turned it off from the Edit menu and restarted – it works fine when you first turn it off but not on a restart of Blog. I’m almost certain that this is an oversight on my part in not turning off spell-checking when Blog is restarted but I’ve kept on forgetting to look into it. The feature request was for dates on the calendar on the main Blog window to be displayed in bold for days that have entries. Now I’ve kept on meaning to look into the possibility of doing this too and then kept on forgetting to do so <g> I finally did look into it yesterday and realized that it should be simple enough to do so. So, I’ve decided to do these two things, re-upload the distros and then announce the new builds … Of course, that’ll mean at least another day’s delay :p

Tags:
Posted by Fahim at 6:12 am  |  No Comments

June 9, 2002

OK, I think I’m ready to do a Blog beta release 🙂 Remember that this is still code that is being worked on and so backup your existing Blog data if you want to try this one out – it will change your data files and so be careful about switching over to this build permanently. First do a little testing to make sure that it works for you. A word of warning, I haven’t got the automatic dialing out feature to work correctly yet – so do not enable it. If you do enable it and aren’t connected to the Net when you try to publish, Blog will try to dial-out but I haven’t got it to work for me yet … Note that this build contains only the executable file and it is only meant to be used by the adventurous souls among existing Blog users :p New users should not download this build! The following is basically a copy of an e-mail I sent out to the private beta testers explaining the features of the new build and that should explain most of the stuff that you need to know. So here are the new features:

Three different Blog modes. You can access the Mode settings from the new Mode tab on the Blog Options dialog. You can have Blog work in standard mode – which means that it works just like it used to :p The Client mode settings include mail server settings (SMTP) and a from and to address. Please note the tooltip on the from address for the from address format. It’s important to have the name as well as the e-mail address as in the tooltip example if you want the author to be properly filled out in Blog. The other value of note is Subject Header. This should be the same on both client and server if the Server is to recognize an incoming e-mail as a valid Blog entry – for obvious security reasons, it has been made a changeable value. The Client will simply e-mail the currently selected entry (note that it posts only the current entry) to the to address – which should be monitored by the Blog Server portion at the other end. The server settings are pretty similar except this time you have to give POP settings. And note that if you don’t check the Delete Mail box and don’t remove the e-mail in the account (at least the Blog entry ones) before you run a Publish session on the Server again, it will create duplicate entries and this will result in a DBISAM error since the current index does not allow more than one unique entry for the journal+date+time combination. I have kept the Delete Mail check box only as a debugging tool. It should normally always be checked (hmm … I guess I should then make that the default ..) Incidentally, it only deletes the Blog entry mails on the address – not everything :p I know there’s a lot about the Modes and it might be a bit confusing – feel free to ask me if you don’t understand something …

  • Automatic dialling via dial-up if no Net connection is detected and automatic disconnection. These options are on the General tab of the Blog Options dialog. Automatic disconnection is available only if Blog connects automatically since I can’t programmatically hang up an existing connection :p Now this feature worked (sort of …) for me once but the second time it put the modem in a weird status from which I couldn’t even dial-up through the normal Dial-up connections. Had to reboot before I could dial out again. Incidentally, Blog will not publish now without a dial-up connection and so if you have problems with the auto-connecting, I’d suggest that you dial-up before you try Publishing :p
  • Automatic publishing at timed intervals in server mode – when you select the Server mode a new options tab is revealed which has server options – whether to publish automatically at timed intervals, the time interval and whether to limit the users who can post to this blog in Client mode. If you select the last option, you have to add the e-mail addresses (including your own) that are either allowed to post to the blog or the ones that you want to ban from posting to the blog.
  • You can change the font and font size for the edit boxes on the main GUI. This is on the General tab of the Options dialog and is there actually for Chinese and other non-English language users since they complained that they can type in their language but can’t see what they’re typing :p Not sure this actually works though – tried selecting a non-English font and all I got was boxes instead of letters ….
  • You can turn off auto-saving of entries during Blog idle times … again from the General tab of the Options dialog. This was in response to a problem that Phil had where Blog would constantly save and would generate a lot of hard disk activity. I don’t have the problem myself but if you do, you know what to do …
  • A More … feature. This basically allows you to not show the full entry on the main page if it is too long. You simply insert a new More … tag (via the edit box right-click context menu …) at whichever point that you want Blog to truncate the post. It will automatically create a link to the full post (the link text can be customized on a per Journal basis from the Journals tab of the Journal Management dialog.
  • If you have a Image Directory specified linking Images via the edit right-click context menu now puts the correct path using a new internal tag. Not sure if this works properly on a web server since this will involve absolute pathing instead of relative but it worked on a local machine.
  • Fixed a problem with more than one link to an older entry in the same entry causing truncated posts – Thanks Tyran 🙂 This was due to a logical hole and now it should work correctly …
  • Fixed Blog not disconnecting and reconnecting if you are using the same FTP server with two different user names for two Blogs. Now Blog checks to see if the user name is different even if the FTP site is the same
  • Added an option to confirm entry deletes. There is a new checkbox in the General options tab which is unchecked by default but if you check it it will ask for confirmation each time you try to delete an entry
  • Oh yeah, before I forget, the download link! You can get the beta build from here.

    Tags:
    Posted by Fahim at 7:11 am  |  4 Comments

    June 8, 2002

    Yesterday I started work on the SMTP part of PostMan – the biggest problem? Getting the To, CC, BCC address completion working exactly the way I wanted :p So I finally ended up writing a custom component to do the job and actually got it to work … sort of. The final result was an edit box where as you start typing the component drops down a list of suggestions from your address book. However, to select an item, you had to press the down arrow key and there was no auto-completion and I just didn’t like it like that. So today I started work on an enhanced version of my original component, this time to have both auto-suggestion and auto-completion. I did succeed (partially – since I didn’t add the ability to add more than one address with auto-suggestion and auto-complete still intact) but then I realized there were certain annoying quirks the very first time the control is used on a form. So I’m trying to find the bugs and squish them today. If do get that done, the rest of the stuff in getting the mail composition and the SMTP client part working should be pretty simple …

    I got a bug report and a feature request for Blog that I added to the latest code yesterday. The bug was that if you have the same FTP host with two different user names (a situation that I didn’t think would occur but did <g>) Blog will not disconnect and reconnect with the new user information. I have fixed that now. The feature request was to add a confirmation dialog for the delete button and I’ve made that an optional feature that you can turn on or turn off. I still haven’t had the time to update the documentation so that I can do a proper beta release and so I’m almost coming to the conclusion that I should just do an informal beta release and then get the proper release out when I can. Since I will have to do a write up explaining the new features for even an informal beta release, it will have to wait till I am not distracted by coding – so perhaps tomorrow …

    Tags:
    Posted by Fahim at 11:09 am  |  1 Comment

    June 7, 2002

    I’ve had no time at all to work on a beta release of Blog since I’ve been devoting all of my time to working on PostMan – the e-mail client that I’ve been writing. It’s progressing pretty fast since so far I’ve got basic POP access working great! It’ll check multiple e-mail accounts, display both text and HTML messages and process attachments. I don’t have support for different mailboxes at the moment and so everything goes into the “In” box and there is no filtering capability yet but other than that, it works pretty well as a POP client. Since I use a different HTML engine than IE’s, there is no fear of scripted viruses (scripting is not supported by the HTML engine I use) and since the mail client can be configured to fetch either the whole e-mail or just the headers, you don’t even have to download huge e-mails full of spam – instead you can just look at the header, figure out if it is necessary or not and then delete what you don’t need off the server itself and download the rest.

    So what doesn’t work? The SMTP client :p I spent the last few days on perfecting the POP client and have just started working on the SMTP client bit and so far am having problems with getting the address completion to work for e-mail addresses in the address book. Once I get that part done, the rest should be fairly straightforward. I intend to add the option for direct SMTP so that you don’t need an SMTP server at this end as long as you know the IP of your DNS server – PostMan will discover the mail server for the destination address and send it directly there. This is something that I’ve wanted for a long time and I even intended to write a separate SMTP server component for just this purpose but bundling it into the e-mail client makes much better sense since then you can have two profiles – one for local SMTP and one ofr direct SMTP since I intend to make the feature, a per-profile one.

    Once all that gets done, I will have a basic e-mail client but without all the frills like being able to create extra folders, filters or to import the addresses and e-mails from a different client. Oh yeah, and the ability to set PostMan as the default e-mail client. I guess I can work on those after I get the basic functionality working. I already want this client since I don’t have the problem of getting random “=20” insertions in the middle of my e-mails as I do with Eudora but I don’t know whether I’ll start using this without the ability to import my older e-mails. Guess I’ll have to complete work on PostMan and then see how things turn out …

    Tags:
    Posted by Fahim at 6:35 am  |  No Comments

    June 4, 2002

    It looks as if the planned public beta release of the next version of Blog is going to be slightly delayed since I’ve already started work on that mail client I was talking about :p I’m calling it PostMan (yeah, I know … extremely unimaginative <vbg>) and it’s already fetching the headers, displaying the unread mail count next to the mail box, displays the header information on a grid and even fetches the message body when requested but cannot display the message body yet since I haven’t done that part. I like how it’s turning out but might drop the project half-way through if certain things don’t fall in to place :p Incidentally, I’m making PostMan fetch only the header information (with an optional setting to fetch even the body …) so that if you get a lot of junk mail, you can simply look at the header info, delete the mails that you don’t want and then download the bodies for the ones that you do want to read. So far it seems to work OK but we’ll see how things turn out.

    A reader of of this page and a user of some of my apps, Brant, suggested that I should maybe work on an existing open source project instead of working on a new mail client. For one, I don’t really believe in the open source projects – I believe in freeware but not in open source for a variety of historical reasons … I think I’ve ranted/talked about it before and so I won’t go in to it. For another, if I’d joined the Mozilla project for instance, I would have had to work within an existing framework and to a schedule set by others instead of having the freedom to do what I want, when I want and how I want :p The biggest user of my software is myself – I basically code the app for myself but distribute it for free in case others might find it useful too. Of course, I provide support and add features that users suggest (provided I think it’s useful and won’t add bloat to the code …) because I like helping others but first and foremost, the apps are coded for myself and as Bing Crosby used to sing, I’d like to say that I did it my way <vbg>

    Oh yes, I heard from another user who found the nag message on the start of Blog irritating :p I do have a FAQ entry about it but for those who don’t know (and haven’t looked at the Blog FAQ), the nag message is not thrown up by Blog but rather by one of the shareware components that I was forced to use to provide the functionality that I don’t see the point in paying for a component that goes in to a freeware app and so, I have not purchased it. If anybody is actually bothered by the nag message, feel free to purchase the component for me :p

    Tags:
    Posted by Fahim at 6:04 am  |  No Comments

    June 1, 2002

    I’ve started work on another one-trick-pony project :p This one’s called Comparator and it was started because I’ve been recently organizing my e-book collection and realized that I had quite a few duplicates in compressed format. One archive might be in ZIP format while the other might be in RAR format and I wanted to be able to compare them side by side. Of course, if I use WinRAR, I can simply start two different sessions and then compare them side by side but that’s a lot of mouse-clicks and I’m lazy :p So I came up with Comparator which will show the contents of two archive files side by side and since it understands a variety of archive formats (over 23 I believe …), I won’t have to use (or have installed) several different archiving programs. So far the program works fine but now I want to include the ability to compare a normal text file with an archive or to compare a full directory against an archive or for that matter, to compare two files against each other or to compare two directories against each other or any mix of the above. Incidentally, when I say compare, I don’t mean that the program actually does any comparison work at the moment – it simply displays the file name, the size and the file creation date so that user can do an eye-ball comparison of these values but again, I have plans to extend this to at least color code differences between files which match by name.

    That’s one project and another one that I’ve started considering just today is an e-mail client :p I know that there are more than enough e-mail clients out there already but the basic fact is that none of them have all the features that *I* want. I currently use Eudora and am the most happy with it but recently it has started displaying a curious problem – I get “=20” at the end of lines (seemingly only for HTML e-mails or formatted e-mails and even then not in all cases ..) I’ve seen this problem in the latest beta (5.1.1.3 I think …) and the last public release which is 5.1. I use the beta at work and the public release at home and so encounter this problem regularly. I have looked at alternatives but I don’t like Outlook or Outlook Express – especially since my boss started having a weird problem recently where his Outlook Express would send out e-mails to seemingly random people on his address book! The e-mails would go to the proper person but they would also go to numerous others. I checked the headers of some of these e-mails and only the actual receipients address was there. I suspected that maybe the others were being added as a BCC but couldn’t figure out how this could be so – except perhaps for some corruption in the address book or a virus but even a virus had to be ruled out since repeated scanning by a daily updated copy of Norton Anti-Virus didn’t find anything. Incidentally, the problem stopped as soon as I switched my boss’s mail client to Eudora but now he’s complaining about the “=20” problem 🙁

    I’ve tried The Bat but I don’t like the fact that it can’t display images in HTML e-mails since that’s kind of important to me. I’ve also tried PocoMail and while I like the scripting and quite a few of the features, I find the interface to be a bit archaic (not withstanding the skinnable toolbar …) or rather the icons in the interface to be archaic I guess and find their handling of HTML e-mails a bit of a problem as well since I prefer not to have the preview pane on – if you don’t have the preview pane on, you have to click a button to download images on a per message basis. Plus, I like the junkmail filtering feature on Pocomail but it isn’t exactly friendly since it deletes anything it thinks of as junkmail off the server with no user confirmations and since it’s junkmail filter looks for things like three exclamation marks in the body of an e-mail, it routinely takes out e-mails that are not junkmail and since I keep mail on server when I check e-mail from work so that I can get the mails I want once I get home as well, this will result in me having to forward the mistakenly junked e-mails to myself again – and of course, if I checked e-mail with Pocomail after that, that e-mail would get junked again :p

    Because of all of this, I want to write an e-mail client which would be pretty simple but would allow you to write live spell-checked e-mails, check multiple accounts and allow you to have multiple personalities, handle HTML e-mails properly and display images automatically (or not based on a user-selectable setting that can be toggled on and off at will), support multiple address books (mostly because I want to give the option to add all incoming e-mail addresses which aren’t in your address book to your address book automatically but I want to keep that a secondary address book so that you can prune it any time and control it without it affecting your main address book), handle junk mail but not do things arbitrarily but instead give the user the choice and a few other things like auto-completion on addresses and stuff. I think that’s all I really want :p Whether I’ll code the thing or even get started on the project is another matter … Guess we’ll see …

    Tags:
    Posted by Fahim at 6:33 am  |  2 Comments

    « Previous Page