Monthly Archives: February 2005

An overcorrection too far?

Norman Walsh gives up ‘wrestling his way through the arcana of WSDL’. He describes his frustrations with WSDL complexities and the difficulty of getting things done.

He goes on:


Now suppose the implementation of great_circle_distance was a web service. It could be a straight-forward REST web service or it could be some sort of RPC or it could be something else. As a programmer writing WITW, I don’t care! What has to happen is, I declare the function and then I use it. A little boilerplate is OK, but making me understand URIs or GET or POST or XML isn’t. [Emphasis mine]

Allow me to paraphrase taking the world of SQL as an example: “…but making me understand which tables are which, and the difference between SELECT and UPDATE … isn’t”.

Surely that’s going a little too far in the other direction?

Later:

Sam Ruby, linking to this post, ponders object relational mapping frameworks and simplicity, while reminiscing on concise cylinder and head placement of data in the days of yore.

(I too remember calculating optimum cylinder and track positions on separate spindles for the data in the (then) DL/1-based SAP R/2 databases I worked with, while scoffing at the new kid on the block, DB2, with its newfangled ‘relational’ model, which was obviously not going to last…)

Anyway, his question and statement


What is simplicity? We all think we know what it is.

succinctly puts the finger on one of the real reasons for a lot of the debates that wax and wane as technologies and ideas come and go.

Postcode bookmarklet

We’ve been spending time recently looking at property in the North West. I found myself often cutting and pasting a property’s postcode from the property particulars page into Multimap to see exactly where it was.

I’d been meaning to get around to making that easier when I saw Erik Benson point at FlickReplacr, a cool bookmarklet toy. I had a look at the Javascript inside, and on seeing this bit,

var g=window.getSelection();

I realised that it was exactly what I could use to make my postcode lookups smoother.

So herewith a little bookmarklet: Postcode. As with other bookmarklets, just drag this link to your toolbar; then whenever you see a postcode on a page, select it with the mouse, and click the bookmarklet.

Weblog happy in new home – note new URLs!

If you subscribed to my weblog via RSS and read it solely in RSS readers, you might have wondered what had happened recently when the RSS feeds disappeared. Well, it’s moved. I’m having a fresh start, with different blog software, with slightly different URLs. You can find this weblog now at http://www.pipetree.com/qmacro/blog, and the (single, version 1.0) RSS feed at http://www.pipetree.com/qmacro/blog/index.rdf.

So if you’re subscribing via the old RSS feed URLs (http://www.pipetree.com/qmacro/xml or http://www.pipetree.com/~dj/qmacro.rss10) please change to http://www.pipetree.com/qmacro/blog/index.rdf.

Thank you. And sorry for any inconvenience and confusion.

Ralphm on sjabber

sjabber running on a Wyse terminalI had a nice conversation with Ralph Meijer this afternoon; he had grabbed a very old program that I’d written — sjabber, a console-based Jabber groupchat client — because he’d been having some issues with his current client.

As Ralph explained in his blog just now, it only took a single-line modification to get it up and running with the newer mu-conference protocol. And if you look at the line:

Type => 'headline', # why did I do this?

it was fairly questionable, even to me, from the start ;-) (The line was commented out.) Clearly it should have been ‘groupchat’ from the beginning. Early days…

BTW, Ralph’s speaking this weekend at FOSDEM, in Brussels. Irritatingly I’m otherwise engaged on the Saturday and can’t make it then; but I’m hoping to be able to pop down in the car on the Sunday and spend the day there. It’s a great event.

Honest application requirements

Working, as I do, on large (SAP-based) projects, I get my fair share of ridiculous and badly-thought-out requirements. So it was nice to see this in the design goals list for julie, an MP3 and OGG jukebox:

Simplicity: julie should be easy to use when you’re drunk.

How … refreshing.

Blosxom entries into MT

After setting up this blog, it was only natural to bring across my earlier blog posts that were previously served with Blosxom. (I haven’t fallen out with Blosxom, I just wanted a change of scenery and a fresh start). Blosxom blog entries are simple .txt files where the first line is the post title and the rest of the lines are the body. The files are arranged in directories that reflect a category hierarchy.

As a MT-novice I looked around and considered how I might best bring those Blosxom based post into MT. I mused upon a script revolving around MT::Entry, then one that used XML-RPC, before discovering the import feature from reading the documentation to mtsend.py. A simple file format to mass-load into MT. Perfect.

So I hacked up MakeMtImportEntries.py, a script that takes a filename (of a Blosxom .txt entry) and produces the blog post in the import format consumable by MT.

This is the sort of format I’m talking about:

TITLE: The Blog Post Title
ALLOW COMMENTS: 0
ALLOW PINGS: 1
CONVERT BREAKS: 0
DATE: 04/27/2002 08:57:14
-----
BODY:
The blog post body ...

You can therefore use this script in a find loop, like this:

find ./blog/ -name '*.txt' -exec ./MakeMtImportEntries.py > import.dat

and then move import.dat to where the MT import function expects it. Pretty straighforward.

(I’m not interested right now in re-creating the categories in MT from the hierarchical categories in Blosxom, so hacking the script to include category-specific ‘headers’ in the template is left as an exercise for the reader.)

Share and enjoy.

ClaphamJunction2

ClaphamJunction2I spend a lot of time at Clapham Junction. And as much as I don’t like waiting around for trains, there definitely is something about that station that appeals.

A fresh start

PiersAtMailbox

A couple of weeks ago, Piers and I noticed some odd system messages on gnu.pipetree.com’s console. It looked like we might be under attack. Following some oddness all round, including the network interface not coming up after a reboot, we decided that the best thing to do was a fresh install of everything. So after a quick dash out at lunchtime to buy a new HDD and install the OS and applications, we went down to see the friendly and helpful folks at Mailbox and performed surgery on the patient.

Now back up and running, we’re slowly reconfiguring stuff. A move to using Moveable Type as a shrinkwrapped piece of commodity software seemed like a good idea. I like tinkering as much as the next person, but I think we’ve reached a level where certain applications should ‘just work’ – after all, I don’t worry how Apache works inside (much), why should I spend time hacking on blogging software? I should just write. Moreover, fewer Internet cafes offer anything more than web access, so I need a web-based front end to things more and more (I’m still holding on to Mutt for now, though).

Anyway, Robert had recently started using MT, so I thought I’d give it a go. I tried WordPress too. WordPress was a breeze to install and get going with – 10 minutes all told. But it didn’t seem to have ‘proper’ RSS (1.0) [Later: I found Morten talking about how to turn RSS 1.0 on], and I couldn’t immediately use it with some other software and applications I had in mind. MT was more of a pain. I just about managed it in an hour, but that involved looking at Perl code, tailing server logs, and lots of head scratching. Not very impressive. But now it’s running, I’m happy.