development log

Sunday, 21 July 2002

Back on track!

After a long absence, due to various other things and a huge overhaul of the database access code, DotBlog is running again, and should be much more stable.  It's not quite rendering properly due to various missing script bits, but that'll be fixed soon.

Watch this space ;-)

Tuesday, 25 June 2002

Creating Jet databases from scratch

To make an installer, we need to be able to create a blog database from scratch.  To save time so far, I've been building mine in Access.

Some (hopefully) useful links in this article about interoperating with CityDesk from a new site (blog?) I'm making about interop with different blogging / templating software.

Does this mean we're stable?

Interesting thought: DotBlog hasn't thrown any exceptions (crashed) on me while posting any of the last few posts.  Does that mean it's starting to become 'stable'?


Almost all of the 'essential' features are in there.  Time to make an installer ...

News flash: templates easy to edit

It's not perfect, but now the page template (in Blogger format) is stored in the database and you can edit it with a single click from the 'Blog maintenance' dialog.

That means you can now have a template for each blog, rather than being stuck with one per DotBlog install.

Monday, 24 June 2002


Almost forgot to mention: we can now upstream to phpStorageSystem (specifically this test blog) as well as PyCS servers (like the one that hosts this blog).

Haven't tested with Radio Community Server yet, but interop with it is likely to be one of DotBlog's more imporant pre-release tests.

New feature of the day

The new feature of the day is auto-publishing.  Now, when you click 'Post to weblog' in the 'New blog post' window, it automatically publishes your new post to the weblog.

Yeah, I know, it's not exactly a feature, rather a case of "now it does what the button says", but hey, I need to post something to test it out ;-)

Sunday, 23 June 2002

Back to SQL as usual

Heh; I finally seem to have the database backend working.  Previously I was attempting to bend a DataSet to do what I wanted, but it wasn't too co-operative, so now I'm doing it the 'traditional' way, building up my own SQL 'INSERT' and 'UPDATE' statements.

Note to self: OLEDB seems very picky about types.  When you give it a parameter, you need to specify its type in great detail, otherwise it will die with an OleDbException saying "Data type mismatch in criteria expression".

In Perl:

$dbh->do( "INSERT INTO myTable (row1, row2, row3) VALUES (?, ?, ?)", undef, $a, $b, $c );

In C#:

OleDbParameter MakeParameter( string name, object val, OleDbType typ )
 OleDbParameter par = new OleDbParameter( name, typ );
 par.Value = val;
 return par;

OleDbCommand cmd = new OleDbCommand( "INSERT INTO myTable (col1, col2, col3) VALUES( @a, @b, @c )", dbh );
cmd.Parameters.Add( MakeParameter( "@a", a, OleDbType.VarChar ) );
cmd.Parameters.Add( MakeParameter( "@b", b, OleDbType.VarChar ) );
cmd.Parameters.Add( MakeParameter( "@c", c, OleDbType.VarChar ) );

There's a lesson to be learned in there somewhere ;-)

Thursday, 20 June 2002

Data access in .NET

Right; most things go now except I'm still having trouble getting my data back straight after I've saved a post.


Sunday, 16 June 2002

Lots of windows (cont)

Testing: can I have lots of windows open at once?

I've got about 10 open now and the app's using 41 MB of RAM.

Lots of posts, all at once

Testing: can I have lots of windows open at once?

I've got about 10 open now and the app's using 41 MB of RAM.

Now we have WYSIWYG editing, sorta


DotBlog now has a little miniature copy of Internet Explorer in most of its windows.

That means you can see what you're doing - you can type straight in HTML and all your formatting (bold, italic etc) is just a key combination away (ctrl-B, ctrl-I and the like).

The memory usage is pretty shocking: IE adds a good 12 - 15 MB to the memory footprint of the app.  I guess this is something I'll have to get used to when programming for .NET - you get a lot of functionality for "free" but it's not as "light" as you might like.

Monday, 10 June 2002

Calendars work!

Cast your eyes to the RIGHT - we now have a calendar to help you quickly link around the site!

Calendars are one of the UI features that have come to characterise blogs, so we couldn't exactly make a blogging tool that didn't generate them ;-)

Not many more features left and we'll be able to have an alpha release!

Thursday, 6 June 2002

Oops, no, it actually *was* broken
Heh - turns out it was trying to grab the posts that were *-3* days old, i.e. ones that won't be posted for three days. Thus always zero. Let's try that again.

RSS now generated
You should now be able to subscribe to the RSS feed for this weblog. I've set it to always include the last 3 days' worth of posts, which should be enough to let everyone catch it, assuming they run their aggregators once every few days.

I thought it was broken a minute ago and then realised I hadn't made any posts for three days ;-)

Wednesday, 5 June 2002

Not much progress these last two days
I've been busy fixing a bug in Python Community Server (an open source project to provide the server-side logic for apps like DotBlog and Radio) tonight, so no progress on DotBlog, I'm afraid.

Later: It looks like the new XML parser I'm using doesn't like the UTF-16 encoded XML that's coming out of DotBlog. A bit of hacking later, I've got it encoding as ASCII instead. The speed difference in upstreaming is amazing. Previously it was taking about half a second per page, and now it's finished almost before I've finished clicking the 'publish' button.


Tuesday, 4 June 2002

Archives are going
Woohoo - we have archives!

That means the permalinks below each post now actually point to valid URLs. Try clicking on the date below one of the posts to see what I mean.

The archive links on the left hand side of the screen are still meaningless; they're an artifact of the use of Blogger templates and will be duly removed.

Monday, 3 June 2002

Will this render?
Will this render without throwing an exception?

Is it Monday already?! I'd better go to bed ;-)

Lots o' skins
Supporting Blogger skins was a good idea; BlogSkins has hundreds of different templates to choose from. Very convenient.

Sunday, 2 June 2002

Another post
For some exceedingly odd reason, the .NET framework doesn't come with a built in FTP client. Huh? Where's the logic there?

Anyway, this means that DotBlog can connect to xmlStorageSystem servers (e.g. PyCS) earlier than expected ;-)

Wednesday, 29 May 2002

Yet another blogging tool
Yes, another one. As if the world needed more ... :)

Here it is - DotBlog. It might have a spiffier name on release, but that's it for the moment. So named because it's built using .NET technology.

That's all for the moment. More news coming; keep your eyes peeled.