August 31, 2002

I take back whatever I said about Delphi 7.0 the other day :p While there might not be that many visible improvements from a general coding standpoint, the web development area has been vastly improved with the inclusion of IntraWeb controls. Now you can build a web-based front-end for a corporate database using Delphi controls (or rather their web equivalents) and utilizing Delphi code! I found it to be much simpler than working with Visual Studio .NET to do the same task since the data access controls in Delphi seemed much easier to use (at least to me) than their Visual Studio .NET equivalents. Of course, there is the Delphi for .NET preview included with the Delphi 7.0 release but since I really don’t do that much with .NET, I’ve decided not to look into that for the moment.

Oh yes, while I did complain about GExperts not being available in Delphi 7.0, that was not exactly right :p I went over to the GExperts mailing list on Yahoo and discovered that there is actually a pre-release build of the next version which supports Delphi 7.0. I installed it and it seems to work fine on my machine and so my UI is back to being usable in Delphi :p Now if DBISAM would just release a Delphi 7.0 version of their database components, I can simply switch over to Delphi 7.0 for all my development work. But till then, I guess I’ll stick with 6.0 🙂

I’ve added a bunch of sites to the list of sites using Blog this week. It looks as if suddenly Blog is being discovered by a lot of people and I have no idea why this should be happening at the moment. In fact, I’ve even been discovering older sites that used Blog but are no longer being maintained, now :p I’ve decided not to add those sites to the list since I see little point to it but then again by the same token, I probably should remove some of the sites at the bottom of the list since they are no longer maintained either. Ah well … call me quirky – I just like to keep some of the early adopters of Blog around 🙂 Of course, that’s not to say that all the early adopters are now inactive since Phil, Tyran and Jason (among a lot more, of course – sorry I can’t mention you all by name …) are still very much active. BUt I hardly seem to find the time to read other people’s Blogs these days except in passing 🙁

Speaking of time, I haven’t had the time to do any further work on Blog 7.0 and I haven’t received any suggestions on the Tags:
Posted by Fahim at
6:56 am  |  No Comments

August 29, 2002

I’ve been meaning to write about this for the past few days but keep on forgetting – I’ve finally got access to Delphi 7 but it left me fairly unimpressed on installation :p The UI has been spiffed up and it now supports Windows XP styles and I know there are many internal changes but there aren’t that many changes that are useful on a day-to-day basis. For instance, the component palette still cannot be displayed in multiple lines natively and since the tool that I use to do this, GExperts, has not caught up to the latest version change, I won’t be able to do so for a while. Don’t get me wrong, there are a lot of things that I do want to try out in the new release but for the moment, I don’t think it’ll be my development environment yet. However, I want to try the new web development features sometime soon to see if they are better than Visual Studio .NET and if so, I might do one of the company projects using Delphi 7 …

From one 7.0 release to another :p Blog 7.0 actually got over the temporary delay with categorizations and is now back on the development path 🙂 You can now assign and remove categorizations for entries easily and I’m in the process of adding a whole host of new tags to handle archiving by category and to allow better customization of the archive table of contents. Since the current archive tag simply returns a table of archival links, it’s almost impossible to customize it or to display these links in any innovative manner – like a drop down list or something. So, I’ve come up with a two new tags (which I will not write out fully here since future processing of these entries can get messed up :p) called BlogArchives and /BlogArchives. These two tags can go anywhere in a template and will be processed separately as code for an archival table of contents. Of course, what is actually displayed and what type of archive it will be is decided by the tags inside these two tags.

Here is where I started hitting snags. I thought of using BlogArchiveFile and BlogArchiveName as two new tags to display existing monthly or weekly archives – the first will return the archive file’s name while the second will return a name for the file, perhaps some form of a formatted date as is currently done by Blog. However, I couldn’t figure out how to maintain consistency for categorized archives. I can have two tags called BlogArcCatFile and BlogArcCatName and they would return links to appropriately named files which contain all the entries for each category. However, when I thought about it, I realized that if you had only a few categories and assigned a category to each entry, after about a year, you’re going to end up with several huge HTML pages that are going to take ages to load! Then I thought that each categorized archive page could lead to another table of contents page for that category which either gives a date based link or at least a link giving the first sentence (or the first few words) from each entry for that category and these links in turn will point to the normal archival entries.

There are problems with that approach as well 🙁 For one thing, if you have auto-archiving turned off and don’t generate monthly/weekly archives, but create a categorized archive link, it will be pointing to files that don’t exist. Plus, I don’t think it’s wise to generate the actual category archives automatically (if I have one file for each category that is…) since that’ll mean uploading all category archives each time you publish – and that could kill a dial-up connection! Oh yeah if I follow the category links leading to a table of contents for each category approach, then we’ll have to define a separate template for that particular table of contents and that means even more settings to be added on a per journal basis! It looks complicated whichever way I look at it and I’m not sure how to proceed.

Looking at it from a ease of use perspective, I think linking to weekly/monthly archives is the only way to go for categorized archives – otherwise the files become way too bulky to handle, plus, we’ll be generating the same archives twice and so wasting space on the server as well. So the only remaining question is how do we handle the links and that I think has to be broken down in to two levels – the first a list of categories leading to a table of contents for that particular category and that in turn leading to links to each entry. So I guess that’s the approach I’ll take unless somebody else has a better idea or another approach?

Posted by Fahim at 5:58 am  |  1 Comment

August 28, 2002

Work is turning in to Meetingsville these days :p We had three meetings yesterday, I have three more scheduled for today and another for tomorrow! Now I have nothing against meetings as long as they are quick, to-the-point and efficient but unfortunately, the ones at work are anything but. Usually, we ramble on about stuff, everybody talks at once on different things and after a while, the meeting degenerates into a gossip session – and mind you, I’m talking about high-level managerial meetings here. Two of my meetings yesterday were kind of like that but fortunately, the ones today shouldn’t be so bad since I’m holding them :p The reason for all the meetings is that they’re restructuring things at the company since my team has finally completed the project we were on – so, now they have split my team up in to several different teams and put me in charge of all of them :p Now, I handle three teams doing weekly newspaper pages in three different languages, a team in charge of the company web site, a team to produce promos and trailers and a team to come up with a pilot for a new program – and I’m holding meetings with almost all these teams today 🙁

But on to coding news – though the news isn’t much better there :p After a blazing start on Blog 7.0, things have sort of bogged down. I did manage to complete the new UI to accommodate the entry categorization feature and also snuck in a little grid to display any comments (only remote of course …) for that particular entry. The categorization feature allows multiple categories per entry and to make things easier, I added the category management in to the same UI – now it’s a real mix of things and looks a bit clumsy and crowded but hopefully it should work. But work is what it doesn’t do at the moment :p At least, the multiple category selection and saving of the selections wasn’t working yesterday but I’d just completed the initial code and so I’ll probably be able to get it going today.

The long delay was due to the fact that I couldn’t find any component which would display the contents of a table in a selectable listbox that could be worked with easily. So I finally had to write my own data aware version of the listcheckbox (or is it checklistbox?) control which displays all the category records from the category table in a list box and allows you to select any by placing a checkmark next to the ones you want. It works fine as far as looks go but my initial work in getting it to actually change selections on entry changes wasn’t working. Hopefully, I can sort it out today …

Posted by Fahim at 6:27 am  |  3 Comments

August 27, 2002

Alfred is an antithesis to the people that I ranted about yesterday 🙂 He first wrote to me with a problem with getting Blog to FTP out correctly and he told me that he’d read all the documentation and the FAQ. We exchanged e-mails but the problem suddenly disappeared by itself. He then wanted some help with templates and I simply told him that he needed to know HTML and that if he wanted to use skins from BlogSkins, that he’d need to convert them from Blogger format to Blog. That’s all he needed since he’s managed to get his site up and running on his own after teaching himself HTML. You can see his site here. Way to go Alfred 🙂

Something that Phil mentioned in a comment was the remote template feature. Now this is something that even I forget about most of the time since I have not changed the look of my site ever since I started it :p But if you are somebody who is constantly changing the look of your site, then you probably find the template editing features in Blog pretty limiting – especially in this day and age of WYSIWYG HTML editors :p If you prefer to do your page layout in an external editor, you can use the remote template feature and simply link to the remote file and while the Blog tags might look strange in your editor (or they might even be tagged as non-HTML), you’ll be able to do the page layout much better. Of course, I now don’t remember whether any changes you make in the Template editor are merged back to the remote file but that should be simple enough to discover, right? :p

Another thing I keep on meaning to mention but forget to is that Scope now works with Mozilla again – and no, I didn’t do a new build of Scope :p Sometime around Mozilla build 0.91 or so, Mozilla stopped working with Scope but recently a user told me that he had Mozilla 1.0 working with Scope. So I ran Scope and tried to open a Mozilla window – nothing! So I re-registered the mozctlx.dll control and tried it and it works like a charm! So I guess something must have been broken for a while and it got fixed since I didn’t do any changes to Scope – but it’s good to be able to browse using either engine again 🙂

Posted by Fahim at 6:28 am  |  2 Comments

August 26, 2002

I believe that there is a point in the life-cycle of any software application when instead of just interested people using it, anybody tries to use it just because it is there. Blog seems to have reached that point since I get a lot of e-mails these days along the lines of “I don’t like the default look of my site using Blog. How do I change it?” Now to me, it looks as if these people haven’t even bothered to go through the different dialogs in the app let alone read the documentation since otherwise they should at least know about templates.

It irritates me that people get a free application, don’t bother to do any groundwork and expect to get better support than they would from Microsoft for something they’d paid hundreds of dollars for. (And yes, I’m in full rant mode and this does not refer to all the innocents out there who are truly stuck and write to me with genuine problems :p) I believe in providing support and I believe in helping others – that is one of the basic principles on which the whole idea of careware is based. But I hate freeloaders who won’t even bother to go through the app or read the documentation and the FAQ before they write to me and ask me to help them. I believe that you should do some work too if you want to be helped.

I agree, the documentation is not easy to read and it doesn’t illustrate certain points too well. But unfortunately, I don’t think I’m the best person to write the documentation since I know the software inside out and so take a lot of things that may seem not-so-obvious to others as granted. And all the people who’ve promised to write me documentation for Blog over the last year or so have never been heard of since their promises :p And I do take some of the blame for people expecting Blog to work right out of the box since I do say that you don’t need to edit HTML at the top of the Blog page itself and people may expect that means that you don’t need to know HTML. And I don’t think I explain what a template is properly. So be warned! You need to know enough HTML to edit a template and you do need to do some work to set Blog up to look the way you want it to … but come on, how hard is it to read the documentation and the FAQ? 🙂

Posted by Fahim at 6:12 am  |  6 Comments

August 24, 2002

Thursday was a holiday here and we got Friday off from work since they wanted to do some repairs to the building – that would have mean four days of idleness … or coding <g> but neither was to be 🙁 My parents wanted to go to Kandy on Thursday and then not return to Colombo the very same day because there was the matter of obtaining a driver’s license for me on Friday for which we would have to go back almost to Kandy. Incidentally, I didn’t realize how much of a problem the whole American system of impounding all other driver’s licenses belonging to a person was till I got back to Sri Lanka and had to get a license again. Anyway, we spent the night in Kurunegala since that’s closer to Kandy than to Colombo and we have a house there and then learnt on Friday that the guy who was to help us with the license was on leave. So much for that!

We got back yesterday evening and I’ve been working on Blog on and off since then but not much in the way of progress I’m afraid 🙁 I’ve been messing around with various options for the UI presentation of the category feature – which I really want to make a multiple-categories-for-one-entry type – but still haven’t settled on one that seems to work with the least amount of calculation and processing involved. Of course, once I finish that, I’ll have to take a look at the whole issue of how to generate archives category-wise and how I’m going to manage the whole task of maintaining a cohesive structure if the user wants to maintain both periodic *and* categorized archives. Guess, I’ll have to take it a step at a time …

Posted by Fahim at 6:59 am  |  4 Comments

August 22, 2002

Work on Blog 7.0 is actually progressing much faster than I thought! (I really shouldn’t be surprised since this usually seems to be the way things go with any project I undertake – I say it’ll take a long time, I then do it really quickly and then it goes in to a long beta cycle and it still ends up taking a long time :p) I’ve completed the code on the digest feature – which will allow Blog in Server mode to send out a weekly or monthly digest of entries to subscribed users – and the remote comments – which allows users to have comments on their blog with no need for PHP or ASP or Perl or any other software on their server -. There are a bunch of new Blog tags to accommodate all of these new features. I’ve also added a backup option to allow people to backup their Blog data files and a repair option for them to repair a damaged data file from within Blog itself. Of course, I’m not going to be able to test the repair option completely and so will have to go with it on faith :p

While that’s a whole bunch of new features, that’s not all that I want to do for Blog 7.0 🙂 I want to add an entry category feature which allows you to categorize your entries and to display archives by category. There are a couple of minor questions/problems there. The first problem is that I’ll need to do a UI change to accommodate the category and the main Blog screen is crowded enough as it is :p Guess, I’ll probably have to either shorten the title field and put it as a drop down next to it or create a new slide out panel which hides the preview pane until you click the preview button. But the next question is about the category feature itself – while it would be fairly simple to tag an entry as belonging to a particular category, I don’t think it would be that simple in practice. I know that in my posts I talk about various things, so how can I be content with only one category per entry? The ideal situation would be to have multiple categorizations per entry but that could turn out to be a coding nightmare :p Guess I’ll first have to see how best I can do the coding and then go with the easiest option for the moment …

Posted by Fahim at 6:39 am  |  7 Comments

August 21, 2002

I’ve always tried to keep my code modular so that the same code can be called from two different places to do the same job. However, I always have to fight the impulse to break the code down to the smallest functional modules all the time. What do I mean by the tiniest functional module? Well, even a module can be broken down into a smaller module to do only one specific job but I try not to do that if the sub-module will be called only from one place – the parent module from which it would be broken off in the first place. So why am I going into all of this? :p Because it kind of explains the work I’ve been doing on Blog 7.0 🙂

Originally, I’d written one module to do the publishing in Blog and that module handled the writing of both the archive files and the main blog file as well as, later, the handling of More … tags. However, this module always wrote to a disk file and then uploaded it to the relevant FTP server. When the digest feature came along, I realized this wouldn’t do. So I broke off the template parsing code into a module of its own and called that from both the publishing module and the digest handling module. The new template parser module simply returns a string which contains the contents of a parsed template along with all the entries for a given time period and each module can do what it wants with the string. It seems to work fine on preliminary test and basically, the digest feature now works – though I haven’t tested it fully (or even cursorily for that matter) yet :p

I’ve come to realize that Blog 7.0 is going to break a few existing features – or at least lose a few configuration settings that you might have already set. For instance, I’ve had to add SMTP server settings to the Server tab which becomes visible under the Options dialog when you select Server mode for Blog. In 6.0, Server mode had only POP settings and Client mode had only SMTP settings and I kept two separate sets of values for both modes in case you want to switch between the two (as I often did for testing). Now, the SMTP settings are shared between the two modes and I’ve renamed some of the INI file values and so if you are using Server or Client mode and have customized certain values (such as the subject line filter value), then you will find that you’ll need to reset those values when you upgrade to 7.0 – sorry 🙁

I noticed that somebody had posted a review about Blog 6.1 at BetaNews. There hadn’t been any reviews at all since 5.0 and so I was curious as to what they thought – the person who reviewed it couldn’t see why there needed to be yet another blogging utility when (according to him) there were so many web-based ones out there already. And this was despite some of the other reviews (I remember Tyran’s particularly – thanks for that review, Tyran <g>) which pointed out exactly why a utility like Blog could be useful. But ah well, he did at least give Blog a rating of 5/5 – though that might have been a mistake :p

Posted by Fahim at 6:25 am  |  No Comments

August 20, 2002

I’ve started on my next Ludlum – though it’s not really a pure Ludlum since I seem to have run out of those :p This one’s a collaboration between Robert Ludlum and Gayle Lynds and is the start of a new series called “Covert One”. It’s called “The Hades Factor” and so far seems to be sort of a mix between a Robin Cook medical thriller (though I’ve never read Robin Cook :p) and Ludlum’s own espionage stuff. I’ve only got to about chapter three but it hasn’t hooked me yet – or maybe I’ve been reading too many Ludlum’s and need to switch to something else 🙂

I’ve also started work on Blog 7.0 🙂 So far I’ve been able to complete work on the lists management functions since there’s going to be many lists to be managed – there are the include/exclude lists for posters and then the new remote comments facility brings up another set of include/exclude lists. Then of course, there is the list of subscribers for the digest feature – the ability to receive a week or a month’s worth of posts via e-mail – and how to manage subscriptions/unsubscriptions via e-mail. Though I’m working on only two features at the moment – remote comments and digest – it’s already apparent to me that I might have to do some major code shifting/rewriting. Since at least one of the other features I’m looking at – better archival link handling – might mean a lot of upheaval in the code base as well, I’m not sure when I’ll get done with this particular release :p But it’s going to be chock full of features when I do 🙂

Posted by Fahim at 6:28 am  |  1 Comment

August 19, 2002

The Ludlum was pretty OK till we got to the end and yes, I was able to predict at least part of the final twist though I went way beyond what Ludlum wrote in my predictions :p Guess I’m just too paranoid for the world of thriller writers <g> But one thing noticed was the similarity in the ending of this book, “The Prometheus Deception”, to that of “The Matarese Circle” since all the conspirators gather in a mansion that gets burned to the ground along with all of them. A very neat and tidy ending – too neat actually since I don’t believe that life works out that neatly. But I’m just nit picking :p One thing I did notice was that he sort of left off a hook for a sequel – something I don’t believe he’s done before – maybe he was learning from the money makers and that’s too bad. But then again, guess we won’t see the sequel now … unless he’s got a son who starts writing or something …

Since Blog 6.1 is out, I guess I should start work on Blog 7.0 now but haven’t got that irresistible urge to get going on a project yet. It’ll probably happen once I start work on it but I’m reluctant to start work at the moment since it seems so daunting – there’s a lot to be done on this release and I just don’t feel like taking on such a big job but then again, I think I feel like that all the time :p Ah well, as the White King said, let’s “begin at the beginning” 🙂

Posted by Fahim at 6:43 am  |  No Comments

Next Page »