Blogging Interface

I teach programming. One of the things I teach is interfaces, which are a really neat part of Java and C#. An interface is a bunch of methods which a class can implement. Essentially it is a list of things that the class says it can do. This goes a bit further, in that if a class implements an interface it can not only do those things, but you can regard instances of it in terms of this ability, i.e. if an object implements the ICanPrint interface you can not only ask it to print, but you can regard it as an ICanPrint thing, rather than a Receipt, StockItem, Invoice, Chicken or whatever. This makes things like printer queues easy to manage, in that they simply contain "things that can print" rather than particular kinds of widgets.

Some students have problems with this, although as humans we do it all the time. Talk to me on the phone and you are using my "talk on the phone" interface. Ask me to drive you somewhere and you are using my "driver" interface. As me to tell you a joke and you are going to get my "awful comedian" interface. I can't juggle, so as far as I'm concerned the "juggler" interface is not implemented.

So, what has this to do with anything? Well, I've been wondering about which blogging environment to use in the future, my old, steam, one or this new, spiffy, spoke thing. I can see benefits in both. I like the control that my old blog software gives me, but I love the community aspects of spoke.

It occurs to me that what I need to do is implement a new interface "write blogs for spoke" and have done with it. So that is what I'm going to do. If I think it is too silly for spoke, it goes in the old, steam, blog. If I want to re-write history (which is the ultimate power - believe me) it goes in the old one too. But if I want to talk about computers stuff, and get comments back, spoke is the one for me.