Software for One

2011/10/09 07:09

I was going to write a blog post just like this but James Hague saved me the effort...

I've used well-known blogging applications, and each time I've come away with the same bad taste, one that's caused by a combination of quirky rich formatting and having to edit text in a small window inside of a browser. I don't want to worry about presentation details: choosing fonts, line spacing, etc. It's surprising how often there are subtle mismatches between the formatting shown in a WYSIWYG editing window and what the final result looks like. Where did that extra blank line come from? Why do some paragraphs have padding below them but others don't?

I decided to see if I could bypass all of that and have a folder of entries marked-up with basic annotations, then have a way to convert that entire folder into a real site. And that's pretty much what I ended up with. The sidebar and "Previously" list and dated permalink are all automatically generated. Ditto for the atom feed and archives page. The command-line formatter lets me rebuild any page, defaulting to the newest entry. If I want to change the overall layout of the site, I can regenerate all of the pages in a second or so.

There are still legitimate questions about the path I chose. "Why not grab an open source program and modify it to fit your needs?" "You do realize that you decided to write an entirely new system from scratch, just because you didn't like a few things in existing programs; surely that's a serious net loss?"

My response is simple: I did it because it was easy.
James Hague: Personal Programming Some advice for James; It sounds like he isn't using but should.
James' blogging system sounds very like my own. Everything is just files, no database involved. It always struck me as overkill to use a database for blogging but I suppose once you add comments into the mix, it becomes necessary. I'm keenly interested in how blogs are built. I realise 99% of blogs are now built using either Wordpress, MovableType or hosted on blogger/livejournal etc, but I love reading about the other 1% who blog using lesser known tools (blosxom, webmake) or home-grown solutions. I have to say I'm pretty happy with the way plain-text blogging has turned out. I've been importing some of the posts from my old Xanadb blog I ran from 2002 to 2005 and the blog post content isn't pretty - I'm surprised at how much markup I hand-typed. I guess Markdown wasn't around then. I still haven't gotten round to writing a colophon post explaining how ridiculously simply this blog is constructed (I've had too much fun blogging - my blogging output has gone way up since I setup this new blog so I must be doing something right) but I've been curating a list of colophon posts I'll use for reference when I do. James' blogging system is the perfect example of Software for One - a personal itch that programmers scratch. Some such itches do eventually lead to the creation of Software for Millions (Wordpress) but in most cases it's fun just to work on software that has only one user - yourself. I first discovered this 24 years ago when I wrote my own assembler/disassembler for ZX Spectrum. I did it not because it was difficult but because it was easy, fun and a learning experience - oh and also because I couldn't afford Dev-Pac at the time. So, Software for One; A fun, easy, learning experience, there are worse ways for Programmers to goof off.