Messing around with blogging tools

Messing around with blogging tools.

I’ve got a test installation of Greymatter going, and I’m trying to spin up MovableType as well. Now I need to figure out if I can make these tools do what I want, or if I need to proceed with my own weblog implementation.

Sunpig is currently built on PHP/MySQL. Using the web editing interface, we can create day entries, and we can edit the left-hand sidebars. There’s a file upload function, but it’s not really usable in its current format.

What we can’t do is easily change the format of our log pages, or archive pages. We also can’t use the interface to create new static pages, although I suppose that a fixed pointer to a past daily entry would suffice.

I’ve looked at, and discared the idea of using Blogger or Frontier (or a Frontier-based service like Both of them give you a very snazzy web interface for creating and editing your blogs. I would like the blogging tools to reside at, though. Blogger will allow you to publish to any site you like, but the tools remain at And in order to get Frontier installed on, I’d probably have to invest in a dedicated server, which is waaay too expensive.

Greymatter is interesting. It’s a set of Perl scripts, which you place on your own site (provided you can run cgi scripts). These scripts allow you to create and edit your blogs in a very flexible manner, using templates.

I love the whole template thing. If I decide, in the end, to write my own tools for doing the sunpig logs, I will definitely be building a template-based system.

Greymatter has a number of disadvantages, though. First of all, its method of data storage concerns me. For each day entry, it stores both a .cgi data file (containing the text of the entry), and an HTML file, which contains the text with all your templates applied to it.

From the point of view of serving up your files, this is great. All the hard work is done when you apply the template (when you edit the file), and when someone requests the page, all the web server has to do is serve up a single file. The downside is that if your templates are large, each HTML file will take up a large amount of space. Say each page is 25K (not difficult if you include the HTML for a calendar). After 40 entries, you’ve used up 1MB of space, regardless of how big those entries were.

We’ve got 100MB to play with on Sunpig. This may sound a lot, but it gets eaten up very quickly by the amount of photographs we’re putting up. We’ve already used up close to 25MB. I can easily see us running out of space within a year if we don’t manage this carefully. I’m reluctant to just trade off space for performance, when this is really just a family site. It only gets a couple of dozen hits a week.

Secondly, the process of updating and re-applying templates across all files seems prone to errors, and to screwing up your site. You’re not allowed to interrupt Greymatter while it’s performing this update. I’ve heard stories of this going badly wrong, due to simple things like a modem dropping a connection, or accidentally shutting down your web browser.

I’m convinced of Greymatter’s flexibility: in that regard it is great. You can run as many instances of it on your site as you like, and this is probably how I would do our web logs vs static articles. But I am not convinced of its robustness and reliability. Noah Gray, who wrote it, has said that he won’t be producing any new versions (at least, for now).

There is an active community of users who appear capable of fixing most things that go wrong, though. And because you download the code and put it on your own web server, you can edit the code yourself.

This, however, is another reason for mistrusting the application. The code is horrible. It’s one monolilthic cgi perl script, full of variables, constants and functions with nondescriptive names like “thomas” or “FUNNYFEETRELEASE”. Just thinking about it makes me shudder.

However, despite it all, the blogging interface itself is relatively easy to use. Which may well be an overriding requirement for Sunpig.

I’ve only really started looking at MovableType this evening, and I don’t have a working installation yet, but certainly the code behind it looks better. It has the disadvantage of being a 1.0 release, but the folks who developed it look like they’re actively progressing new releases and bug fixes. Which can only be a good thing.

I don’t know how its file structure works yet, but I’m going to play about with it some more, and we’ll see what happens.


Blogging and aggregators

Most of the useful or interesting articles I’ve been reading over the last week (and even before then) have come to me via Dave Winer’s Scripting News and John Rhodes’ Webword newsletter.

Both of these sources are aggregation services: they gather together high quality links and references into a handy digest. Most of the time, they concern themselves with technical matters (software programming and usability), but their authors always include other information where they find it interesting or pertinent. Over the last week, most of their focus has been on the attacks in the US, and on the world’s response.

On another note, I really need to do more work on the blogging tools for Sunpig. Yesterday evening Abi lost a bunch of stuff she’d been typing in because she pressed the backspace key when the focus was outside of the editing text box. This was the equivalent of pressing the browser “back” button, and suddenly all her text was gone.

I’m thinking about adding a “hold” and “released” status (radio buttons) to the editing. With the status set to Hold, you could click Save, and your text would be saved to the databasem but not displayed on the main web log page. You’d have to explicitly release the text before it was published. Updates to existing stuff would be similar: with the status set to Hold, you could update your stuff, and save changes to the DB, but not publish them until you’re ready.

The alternative it to create a scratchpad area, like they have on E2. Both options would allow me to put in a “preview” feature as well.


Added a new feature

Added a new feature to the sunpig weblogs: we can now edit the sidebars (the chunks of stuff on the left of this page) in the same simple way as we can edit these diary entries.

This may mean that I’ll keep my favourites relatively up-to-date, but probably not…

Still need to get the photos from Susan’s visit uploaded!


Fixed the home pages

Fixed the home pages and edit pages so they work properly in Netscape 4
now. It’s not identical to what you see with IE4+, but it’s close enough.

Life’s a lot easier (and faster!) now that I’ve got a development version up
and running locally on my PC now. With a combination of MySQL, Apache, and
PHP all up and running on Win98, I can write identical code and deploy it to
the Linux box hosting!



New home page! PHP! MySQL!

New home page! PHP! MySQL! Database-driven! Easy to update! Automatic links to Everthing2


What is the world coming to?

This does prove to me, however, just how easy PHP is to use. It took me well over a week to do the initial “dynamic” version of the sunpig site in perl/cgi, and it didn’t work nearly so well. I started this new version yesterday (Saturday) afternoon, and by evening I had the edit facility all ready. Today I tidied up the calendar, and did the home pages, so they display n day logs.

Over and done with in a single weekend!

Of course, there are still a whole bundle of improvements to be made:

  • Put a “today” button on the calendar (particularly for the edit screens)
  • Bring the sidebars into the database as well, and make them editable too.
  • Allow uploading of images through the edit interface
  • Allow user to set how many logs should be displayed on their home page
  • Automated backups of the database.

Then, of course, there is Amazing But False to automate as well…

Also, the code is all over the place, and could use to be tidied up. But seeing as it’s my first attempt at PHP and MySQL, I figure I can only get better from here.


This seems to be turning into a weekly thing

This seems to be turning into a weekly thing…

3 July 2000

First things first: an update on the whole car thing.

On Sunday afternoon I had been playing with the idea of hopping on a plane
and delivering the winning ticket by hand, but by Monday morning this seemed a
bit over the top. So I called Fuji, and asked them what we should do with it.
The ticket itself said that we should take a photocopy and then send the original
to Fuji by recorded delivery, but I wanted to hear it from a real person. When I
spoke to them, this exactly what they said, but somehow that reassured me.

Of course, as soon as the envelope left my hand at the post office counter,
I immediately had second thoughts. The probability of the envelope getting lost
in the mail was surely about the same as of us winning the car in the first place.
Why hadn’t I splashed out on a courier instead? What if the person I’d spoken to
at Fuji wasn’t a real representative of their marketing department, but an impostor
who was going to intercept the ticket and use it for himself?

After an anxious afternoon and night, I called them again the next morning,
just to confirm that it had arrived. It had. (A victory for common sense, or
a lucky escape? Who knows…) They said they would be back in touch towards
the end of the week once they had verified the claim, and sorted out things with
Toyota. Unfortunately, when they did call
on Friday, it was to say that the only
person authorized to release a car is off on holiday, and won’t be back until
Monday 10th July. I’m sure we can wait, though.

Mobile Phonery

I thought the day would never happen. Neither did Abi. Even at the best of
times, I hate getting phone calls. Using an answering machine isn’t much better,
because I don’t like making phone calls either, and when someone leaves you a message,
they generally expect you to call them back. So why would I conceivably want a
mobile phone, so that I could be reachable all the time? The very
notion is absurd.

…But somehow, while I had the loan of my mum’s mobile phone while they were
away on holiday, I sort of got used to having it around. While I still worked
for the bank I used to have a pager, and although it had the same problem as an
answerphone (i.e., you have to call back), it was kind of useful (sometimes)
for keeping in contact with Abi. For meeting up after work, for example.

So, thanks to the friendly people at the
Carphone Warehouse
, I now have a
state-of-the art WAP-enabled Nokia 7110
with a spring-loaded front cover (like
in The Matrix).
In the past I’ve been quite disparaging about WAP, mainly
because it’s being marketed as mobile internet (you know who you are, BT).
While this claim is true-ish technically, the
shortcomings of the WAP protocol itself
and the size of the screens involved make it a thoroughly silly idea. Mini-services are the
way to go, but nowhere but Japan (with the
seems to have got a proper clue yet. And anyone
who seriously thinks that composing an email or text message on a phone’s keypad
is somehow clever, or a productive use of their time needs to spend some quality
time in a padded room far from the rest of humanity.

Will I use the WAP features? Probably not. I bought the phone because it
makes me look cool. Anything else is just a bonus.

And Finally…

…I’ve been playing way too much Diablo II. Not the most sophisticated game
in terms of graphics, nor does it have a hugely compelling storyline. But what
it lacks in innovation, it makes up in sheer playability. It’s easy to pick up,
but hard to put down. Check out
Gamecenter for their
initial thoughts on the game.