May 26, 2008

No updates, update

Things have been rather quiet on the blog because I’ve been busy plugging away at a couple of projects. I’ve also got to get busy on the next issue of C3, the magazine I edit and that’ll mean even less time to update the blog or do any of the other hundred odd things that I keep meaning to do/fix on my site 🙂

I’ll get back to the All Things Art and Good series soon, I promise …

Tags: ,
Posted by Fahim at 10:10 am  |  No Comments

April 25, 2008

First There Was Weird Science …

… And now there’s Lulu-science 🙂 Laurie invented the term yesterday when talking about my curiosity to know how many places you are bumped up the ranks with one book sale on Lulu.

Thanks to my friend Ginosion, who bought a copy of Honest, the Martian Ate Your Dog, we are well on the way to learning what the impact of one book sale is on Lulu rankings 🙂 Of course, the thing is, we probably have to wait a month for the next tabulation of rankings and so it’ll be a while before the next update on Lulu-science, but I will be sure to keep everybody posted as to how things go. (Of course, don’t let that stop you from buying a copy of my book, if you’ve been considering it 😀 Or simply download the free e-book version, see what you think of it and if you like it, then go buy the printed version …)

In other news, I am back to posting more regularly. I don’t know if this has anything to do with the switch back to WordPress or if I simply had been too tired of blogging, but I do find that I want to blog again. I do wonder if the WordPress interface has something to do with it though because in using it, I seem to find the WordPress control panel easier and more responsive than the MovableType one. Of course, this is not empirical data, just subject opinion …

July 16, 2006

Bugs and betas

Yes, I know, I probably should have another entry in the self-editing series today :p But I decided to take a short breather to write about coding so as to reassure any Blog users sitting on the edges of their seats :p

I’ve finally gotten around the HTML comments being parsed out issue in HTMLEdit 🙂 As I believe I mentioned when I last wrote about it, I had switched to using HTML comments to mark out the position of the More … tag instead of the Blog tag that I’d been originally using. The HTML comments however were being stripped out and there was no help from the HTMLEdit author even after posting on his mailing list. He did release a new build of HTMLEdit a few days ago but there was still no answer to my question and the new build did not resolve the issue.

So, I sat down yesterday with the source code for the new build and Blog and began doing a few systematic runs to isolate the bug. I finally discovered that the issue was that any HTML comments were being saved fine but were stripped out when the entry was loaded again into the HTMLEdit component. The question was, why? So it was back to more debugging. It turned out that the HTMLEdit author was checking to see if a comment tag was in the HTML document’s body and the comment was saved only if it was in the body.

Now my entries, they are not full HTML documents. I simply save the entry as a snippet of HTML and so of course, there is no BODY tag and so the comments did not turn up as being in the document body :p So they were being stripped out. I modified the code to remove the body check and also notified the author of the component via his mailing list. So what this means is that I’m now ready to proceed with the coding that’s needed to get the next beta of Blog ready 🙂

What’s planned? Well, the thing which was holding me back was the conversion of <$BlogMore> tags to <!–more–> comments. Now that I can do that, I will be bumping up a beta version number to do the necessary internal changes. This release will also have tag support since MovableType has tag support via XMLRPC and I want it. I also would like to roll in the changes for the category categorization :p But I’m not sure if I’ll get that bit working in time for the next release. But hopefully, I’ll have a release ready soon …

Tags: ,
Posted by Fahim at 7:18 am  |  No Comments

July 7, 2006

Site and Blog ….

Well, the site is coming along fairly OK 🙂 So now that the transition seems to be over and MovableType working fairly OK, I’ve been turning my attention to what MT offers and how I can leverage it.

One of the first things to fall under my searching eye was tags :p Now I’ve been talking about tags before and my efforts to implement them in a way that would work with Blog and whatever remote blogging platform that I used. WordPress didn’t actually do much in the way to support this out of the box – at least, not when I last checked. MT on the other hand, supports tags in a big way – especially in their upcoming 3.3 release.

In fact, MT supports tagging via the XMLRPC interface as well! The uploaded entry structure via XMLRPC has allowance for a tag field and so all I’d have to do from Blog would be to simply provide a place to enter the tags in the Blog interface and then upload the added tags with an entry and MT would take care of the rest. What could be more perfect? :p

The problem here is of course that I’d have to make another database change. As I’ve explained before, this is where I’m stuck with Blog at the moment. It looks as if the HTMLEdit author has disappeared again. He does this every once in a while but unfortunately, what this means is that I can’t proceed further with the current work on Blog till either he comes back or I find (and fix) the bug myself. At the moment, it looks as if the latter course of action is the only one available …

Tags: , , , ,
Posted by Fahim at 7:59 am  |  No Comments

July 5, 2006

Moving the type …

Yes, as some of you might have noticed already, I’m back to using MovableType 🙂 There is less server load, in certain ways it’s much more configurable and (as I keep saying) I do like their anti-spam options much more than I like the WordPress solutions. Sure, there are downsides. I can’t have dynamic stuff like calendars which show the current date :p But overall, I think this is a better solution to go with.

The changeover itself was fairly easy. It took me about a day to modify my old script for moving data from Movable Type to WordPress and to convert it to move data from WordPress to MovableType 🙂 The testing took a bit longer and I had to do some rewriting as I discovered issues. Somewhere along the way, I also found out about MovableType 3.3 beta and had to again adapt the script for the single relevant database change that I found there. I have put up the scripts here if anybody wants to use them.

Of course, once the data was transferred over safely from WordPress, I had to re-do the templates that I used on my site and the creation and tweaking of templates took about another day. Was I ready for posting after that? Oh, no :p I now had to test posting with Blog to see that I could post from my desktop to my new MT based blog using Blog. This resulted in further code changes. Not because Blog wouldn’t publish to MT but due to a curious problem which arose due to this particular set of circumstances.

Blog keeps track of what entries have been published to a remote server. I had already published the entries for my WordPress based blog. But the MT blog has different entry IDs than the WP blog did. So I couldn’t simply switch remote blogs. I could have wiped everything on the server and published all the entries from my desktop via Blog to generate new entry IDs but then I would have lost the comments on the server since Blog doesn’t track comments when publishing via XMLRPC (mostly because none of the APIs provide a way to download comments). So, I had to add new functionality to Blog which would allow me to synchronize existing entries with those on a remote server. Adding that functionality and testing it took some more time.

Now, I’m finally ready to post to the blog again using Blog :p So let’s see how this one goes …

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

June 10, 2006

Find that bug …

I’ve been working a lot on Blog the last few days but I’ve hit a brick wall again 🙁 I’ve done a lot of minor interface tweaks that I think will be pretty useful but then I wanted to do one major interface change – have categories be listed under different remote blogs. The reasoning is simple. Currently, the way the category system is set up, all categories are displayed as one big list. The problem is, that when you have multiple remote blogs, after a while it becomes difficult to figure out which category belongs to which remote blog. So I thought that I’d change the category display to a treeview where each branch represented a different remote blog. Unfortunately, things weren’t that simple :p

Or rather, the implementation is indeed that simple but getting there is not. And it has nothing to do with categories. Instead, it has everything to do with version number changes. Blog, as you might know, has been stuck in 8.0 beta for a few years now. I work on it when I can but a version number is bumped up only when a database change is required. At the moment, there are a couple of database changes that need to be made – one to add a table to hold the relationship between remote blogs and categories and another to remove the More column from the entries table because I decided to have the full entry in one database column. It is the second change which is posing a problem.

In order to combine the More column and the Entry column, I was going to use a comment, <!–more–>, which would replace the standard <$BlogMore> tag. This was supposed to be an easy and quick workaround since WordPress at least supports the <!–more–> tag out of the box and treats it as an entry break. However, it turns out that the HTMLEdit component has a strange bug where it strips out HTML comment tags on a second save. Not the first save mind you, but the second save. The comment tag gets saved to the DB fine on the first save and is loaded from the DB fine after that but if you save the entry again, the tag disappears without a trace.

I asked over at the HTMLEdit component author’s newsgroups about this but soon after, his whole site became inaccessible :p So now I’ve been contemplating wading into his source code to see what is going on but it looks like a major job and I’m not certain that I really want to get into it. But I might have no other choice …

Tags: ,
Posted by Fahim at 6:51 am  |  1 Comment

June 5, 2006

Coding again …

I started working on Blog again. Despite all the research that I did into other blogging tools which supported the MetaWeblog API, I just couldn’t find an app which worked exactly the way my rather picky tastes dictate :p Sure, I found a couple which came close but nothing was quite there. If everything else was there, then live spellchecking wasn’t there and I do like knowing if I make a spelling mistake instead of having to check on words over and over to make sure that I wasn’t imagining things 🙂

So back to Blog it was. The first issue I faced was, the question of how to implement the UI so that somebody could select either to publish a post or to save as draft easily. The current menuing system I was using wasn’t very good at displaying toolbar buttons with multiple options :p I had originally given up on the standard Delphi components because I had run into issues with setting up custom menus/toolbars buttons on the fly but by now I had forgotten what the exact issue had been. So I decided to give the standard Delphi components one more try. I ditched the custom menuing system and went back to Delphi components. I’ll know soon enough how that goes …

I did manage to get the posting as draft to a MetaWeblog system working soon after that. All it needed was changing a few lines of code 🙂 I then wanted to get uploading of images via the MetaWeblog API system working. While this involved fairly few code changes to implement, detecting new images and ensuring duplicates are not uploaded proved to be a lot more difficult. So I put that on hold for the moment in favour of another objective – getting custom tag support working with the WYSIWYG editor. Still working on that one …

Tags: , ,
Posted by Fahim at 7:19 am  |  No Comments

March 31, 2006

Blog, why do I do it?

Should I scream out "for absolutely no reason!"? :p Actually, sometimes I do wonder why I continue to blog. In the old days, before blogging was a buzz-word and you didn’t have all the blogging sites and blogging tools, I remember that I hand coded my blog in DreamWeaver. I was hosted on Tripod at that time and that first Paleolithic blog actually served a purpose. I was doing LiteStep development at that point and since I was the sole developer on the project at that point, I used my blog (it wasn’t called a blog then – I don’t know if the term had been coined by then :p) to keep LiteStep users informed as to what was going on with development.

Then I left the LiteStep project and started my own break-away project, DarkStep. And the blog continued so that people can see what was going on with DarkStep, download new builds and so on. I believe these development blogs continued from 1999 till about 2000 – though I can’t be totally certain of the time frames now 🙂 In March of 2001, I think I first became aware of the actual concept of blogging and wanted to give it a go since it was suddenly the rage :p I think I set up a Blogger account as the first step and used it for about a week. I became tired of the constant service outages and the fact that sometimes I’d post an entry but it would not get published due to date/time inconsistencies or some other junk like that.

I believe I wanted to try GreyMatter at this point but Tripod would not let me run perl scripts at that point (not sure if does now). So I looked around a little bit longer for a good blogging alternative but didn’t find anything which did everything that I wanted. So, I decided to write my own and so, Blog was born :p So what with my development work on Blog and other software I was developing and all the users who were interested to know what was going on, there was actually a need for a blog and I kept the blog going. In fact, by this time the original blog on Tripod had developed two other mirrors courtesy of a couple of kind people who liked my development work 🙂

Eventually, the blog became such a tightly integrated part of my schedule and I was blogging about so many things both about day-to-day life stuff and coding related stuff, that I decided to create another blog for the personal stuff and keep the main blog limited to coding related issues. So, I created Solipsistic Meanderings – the main blog was called The Developer’s Corner at that time. The first instance of SM ran on Movable Type but I was writing my entries in an alternate version of Blog that I called BlogMan and was publishing via XMLRPC. After a while, I switched to WordPress when MovableType went commercial and BlogMan became integrated into Blog itself. Then life got really busy and my freeware coding slowed down and even SM went into a sort of hibernation for a while.

When SM finally did come out of its hibernation, I realized that maintaining two blogs was just too much hassle and so I combined The Developer’s Corner and Solipsistic Meandering back into one blog :p Yes, it’s been quite a long journey and in many forms. There were needs for this blog at certain points because it served a purpose. Now, I simply write because I want to. I don’t really know how many people read it any longer. I know some of the old readers from the days gone by still hang out here but most of my traffic seems to come from Google hits :p I sometimes wonder if there is a need for a blog any longer but since I enjoy writing it, I keep going 🙂

Tags: , , ,
Posted by Fahim at 7:26 am  |  1 Comment

February 25, 2006

To Analyze and Categorize

Now that I’ve got Blog categories working fine via WordPress (or vice versa :p) and the Heat Map plugin is doing an excellent job of displaying a tag cloud (or at least simulating one), I decided that it was time to do one more thing – go through all my old entries and re-categorize them to reflect the actual subject matter.

Since none of my old entries had categories assigned, it was easy enough. All I had to do was make the default category (General) count zero :p Of course, in order to actually do this, I had to go read all of my old entries, find the categories that they belonged to, create the categories if they weren’t there and then add the categories to the entries. This meant that I basically had to do a lot of reading of my own old entries.

I did learn a few interesting stuff about how I used to do things :p It looks as if I wasn’t as compulsive about entries in the past as I am now. But it also looks as if I was a lot less controlled in what I wrote. There were a lot more introspective entries where I would just talk out loud to clarify my thoughts and there certainly was a lot more about what was going on with me on a day to day basis. And there was a lot more soapboxing too :p

It looks as if I have gotten too busy (or a bit more reserved) nowadays. I hardly ever talk about stuff going on in real life any more and I don’t do that much of reflective writing (at least not the soul searching variety). Even my comments on movies used to be much more reflective whereas now, it’s more descriptive but not does not go into so much detail about the ideas behind the movie. Not sure if the changes are a good thing but they certainly are there 🙂

Of course, now that categories have become that much more important, I have started thinking about how Blog can be improved to utilize categories. One idea is to have a way to navigate entries not just by date but also by category. I’m not exactly sure how to implement this yet – perhaps a tab panel where the calendar currently is so that you can switch between calendar and category views? – but I do want to look into a method to do this. The other thing is to have a hierarchical category view so that you can have a bunch of categories under another category – for instance, movies, books, television and music under entertainment. WordPress supports such a hierarchy but it does not affect how things work beyond the categorization itself. In Blog, I simply want it for ease of organization and for ease of access to different categories. Again not quite sure how to implement it (without breaking any existing functionality that is :p)

Tags: , , ,
Posted by Fahim at 8:24 am  |  No Comments

February 22, 2006

Midnight fires in the coding forges …

It’s more Blog news again I’m afraid since I haven’t been doing much else :p (Incidentally, I really should get the Blog page re-designed so that it is more consistent with the look of the new site … you know how it goes, so many things to do ..) Anyway, getting back to Blog coding, after doing some extensive coding and light testing, the category feature in Blog works fully and it even publishes via XMLRPC to WordPress :p I was really happy to get that bit working finally since I’ve been working non-stop at that functionality since I got back to working on Blog.

Now that that is done, I have a few more things to fix up in Blog before I can do a release. The internal release versions have been jumping around quite a bit since the last beta release due to the fact that I’ve been sending private builds to a few people who asked 🙂 I need to keep the newer builds compatible with the older builds and so I’m now up to 8.0 beta 5 at the moment. I’m hoping that I can do a public release of beta 5 but I do need to get a few more things fixed up first.

One thing that I have fixed since the category stuff was done was the find feature. It has been broken since at least beta 3 and I finally got around to fixing it :p At the same time, I want to add the option to be able to search the current entry for some given text as well as searching the current blog and all blogs under Blog. I even managed to fix up the search results dialog so that it shows the new WYSIWYG view as well as the old HTML view. However, I just discovered that the HTMLEdit component that I use might not be able to do search and replace of text. This is going to be a bit of an issue with the find feature and the new replace feature that I intend to implement … bummer 🙁 Hopefully, I can find a workaround … There are also the pages of bug reports on the 8.0 betas at the forums that I need to attend to … Work, work, work :p

Tags: , , ,
Posted by Fahim at 7:52 am  |  1 Comment

Next Page »