I write code 4 libraries

Warning: Emotional rant follows.

For about a year now I’ve been hanging out on #code4lib, an IRC channel for coders working in the library/archives/learning/lms space. I’m not a salesperson and I’ve never tried to sell anything.

So I was a bit upset to see Dan Scott accuse me of being “in full sales mode” in his comment on Dan Chudnov’s blog. I take that kinda personally.

The reason I chose to do the lightning talk was essentially because I saw a lot of talk about Open Source and yet one of the biggest problems we face (all of us, not just me) is one of Open Data. I probably was “in full sales mode” but for Open Data, not for Talis.

I went to Code4Lib to share ideas, to listen and to talk. It was great for that. You know, we’re all paid to write code for libraries; except Erik Hatcher, who’s paid to analyse Japanese texts or something.

That’s the nub of it, we’re all paid to write code 4 libraries. Some of us are paid directly, one-to-one from the library coffers, some of us are paid by a vendor, who then splits the costs across many libraries. If Dan can’t “sell” his ideas to his bosses he doesn’t get paid; if I can’t sell my ideas to my bosses I don’t get paid. Same thing.


So, my question to Dan is… What business models are OK then?

  • Being employed by the library as an individual?
  • Selling your skills to the library as an indiviudal?
  • Selling your skills to the library as a small company?
  • Selling your skills to the library as a big company?
  • Selling a product to the library as an indiviudal?
  • Selling a product to the library as a small company?

Or is it how much we charge that’s a problem? We haven’t worked out costings for the Talis Platform, we’re not accepting orders yet.


We were there, sharing – give and take. How much did your vendor give to Code4Lib? How much did you give? (er, in Dan’s case a lot actually.) I don’t want you to think what we’re doing is cool because Richard or I have a ‘slick’ presentation, we want you to think what we’re doing is cool because we’re trying to help you. Maybe that’s just a step too far for an evil vendor. Here’s how it played out on IRC some time ago:

[20:17:28] <mmmmmRob> @karma talis

[20:17:30] <panizzi> mmmmmRob: Karma for “talis” has been increased 1 time and decreased 5 times for a total karma of -4.

[20:17:38] <mmmmmRob> WTF?

[20:18:01] <mmmmmRob> 🙁
[20:18:04] <miker_> @karma mmmmmRob
[20:18:04] <panizzi> miker_: Karma for “mmmmmRob” has been increased 13 times and decreased 0 times for a total karma of 13.
[20:18:12] <miker_> so, you’re ok 🙂
[20:18:23] <miker_> you’re karma reflects well on your overloards
[20:18:25] <mmmmmRob> yeah, but WTF did we do to get hit four time?
[20:18:42] <miker_> mmmmmRob: you’re a ScaryVendor(tm)

The problem here is this distinction between the people and the vendor. I work for Talis, RJW works for Talis, Talis is us (well, not just us obviously).  Just like Equinox is miker, bradl, phasefx and the guys. We’re employee owned, we make the decisions – saying Talis is evil is the same as saying I am evil.

That’s also why I’m blogging this on my own blog; that’s me; that’s Talis.

<full sales mode>

Talis is a great place to work, and we’re hiring. mail me at:



echo ${NICK}.${SURNAME}@${SCARYVENDORNAME}.com | sed -e “s/[m]\{5\}\(.*\)/\1/”;

</full sales mode>

The end of development as we know it…

Over at The Wonderful World of Mr C my colleague Ian Corns keeps track of gaming technologies. He’s into PS3s, Wiis and stuff like that – serious business, not childish toys these days.

He’s written a great piece around this abridged video of the Sony GDC 2007 Keynote which shows a fully dynamic gaming environment, with a realistic physics engine. Let’s unpack that a bit… In most games objects are coded in some kind of programming language and run directly in code – they can only be altered or maintained by altering the game’s source and re-compiling. In this model from Sony the objects are declared by anyone and run within the game – so anyone can create games using this model. Ian’s piece is here: What Web2.0 Developer Networks Should Be…

Now, Ian talks about the democratisation of development, and I totally agree with him on that trend. I’ve been watching Teqlo which allows visual design of web-based applications that plug together web services. Coghead are on a similar track and there are others. This is a trend that started a while ago, and there has been much interest in it from inside Enterprise with lots of people looking at Biztalk.

So Ian and I agree on the trend, but I’m not sure we agree on where it leads to. Ian sees the world like this:

“But I want to build my own mash-ups and applications using library-relevant web services – I’ve got loads of ideas”, I shout. “No”, says Mr Developer, “you can’t. Only we’re allowed to do that because we have ‘special knowledge'”.

I don’t, most developers I know (but at Talis we only hire great developers, so not reflective of the industry, perhaps 😉 would say

“sure, come on in, here’s the editor, here’s the compiler, here’s some examples to get you started”

Certainly I would, and have, and my colleagues have too. So we disagree, I think, on the barriers to entry. I think another indication of this is here:

It passes my favourite validation criteria for technology – namely “Could my Mum do it?” Within this game, my Mum can become as good a developer as anyone else because ALL developer complexity has been hidden.

Now, I have to say that I don’t know Ian’s mum. I’m sure she’s a really nice lady, smart too. But I’d love to see that experiment – Ian’s mum trying to write a game using these tools. Without wishing to disrespect Ian’s mum; I bet it would suck. For that matter, if my mum tried to write a game with these tools it would suck too, and she’s a professional sysadmin (no, I’m not joking, my mum builds servers).

The reason is that these tools may hide the complexity of a language, of “code”, but for good developers this is not the hard bit; writing the code is the easy bit. The hard bit is understanding the problem and devising a great solution. Now, as a hardened game player Ian has a substantial level of deviousness, alternative thinking, surreal thinking – the kind of thinking that leads to great solutions. I’d like to see the game he builds.

What's going to change books the way iPods have changed music?

Electronic Paper. I don’t mean the kind of rubbish we see today from Sony, the iRex iLiad or even the Amazon Kindle. I mean sheets of paper, that require no power, where you turn the pages with your hands. Like real paper, but you can replace the content.

Xerox Parc were working on it, along with 3M, but closed it down in 2005 and have been seeking partners to license the technology. Philips were working on on it too, and early this year spun a company off from its research labs – Polymer Vision. Readius is their shiny little display, but how long before they produce a USB compatible book?

The book format matters because it doesn’t need power. If you only have a single sheet you need memory and power to update the screen. If you replace the screen with pages then you supply the power and each page is its own memory – it’s a very clever form factor that old book.


I was at EUSIDIC in Roskilde, Denmark last week. The conference was held in a large lecture theatre at the university with great facilities, but the contrast with Code4Lib was extreme. I was the only person wearing jeans and I had to tuck my shirt in and do up another button just to feel adequately dressed!

The Slides:

Politics and the English Language

Not by me! How arrogant would that be? By George Orwell – posted by Guy Kawasaki

What an amazing essay by such a great author.

It made me think back to How technical writing sucks over at Nadeem’s blog and my own It’s All Just Talking. Nad and I were talking about code style as well as styles of writing at the time.

Apply everything George Orwell says in the essay above and see what happens? Getters and Setters in Java spring to mind. Isn’t Behaviour Driven Design simply always using the active instead of the passive?

The more I read, the more I code, the more I think about stuff, the more I believe that writing code is the same as writing prose. If you can’t write clearly in natural language then what hope do you have in a programming language?

What I learned Last Week…

So, last week I was over in Athens, GA at code4libcon 2007. I was expecting a good week full of ideas, beer and really great chats with really smart people, but it was much better than I expected.

Things started really well with Karen Schneider’s keynote. Karen is an impassioned speaker and is well-known throughout the community. Much of what she said made a lot of sense to me.

She made the great point that there is no such thing as free software and brought up the “free as in beer or free as in kittens” analogy that appeared to result in the conference being inundated with images of kittens in the following presentations – those without kitten pictures had quickly edited their presentations to add apologies for the lack of kittens.

It also led to the wonderful quote “free as in… D’uh!”, which essentially means, I think, that the software is unrestricted… or something like that.

Dan Chudnov gave a superb presentation that left me with the term “ZeroConfOpenMetaHuh?” and involved live networking – live coding is brave, but this guy does live networking (and I mean TCP/IP, not pretending to talk to people over a coffee). Very cool work on making your search capabilities more discoverable and stuff we should apply to Project Cenote.

I managed to rehearse the first segment of my upcoming EUSIDIC presentation (WMV) under the pretense of doing a 5 minute Lightning Talk and got great feedback from that.

I found a new book that I must get round to ordering: Ambient Findability by Peter Morville and a great video, the beauty of Venn diagrams over at Bess Sadler’s Blog, Solvitur ambulando. Bess is working Library-in-a-box, which is something I hope we can help out with when the time is right.

Great quotes from the week were…

<ehatcher> “I’m certainly a card carrying library geek”

<ehatcher> “I saw what MARC was all about, and I was literally terrified.”

<rjw> “We’re not four years old, we’re seven”

<edsu> “yeah, i got cajoled into getting another beer

<anarchivist> i guess this means i can’t show up to work in a dirty duran duran shirt anymore

<dchud> please do not encourage the geeks to view videos over flakey connections 😛

These quotes are (mostly) explained by the presence of most of the attendees in an IRC channel while sat around at the conference – an excellent idea that allows everyone to talk about the presentation in real-time without disturbing the presenter… with obvious side-effects.

Photos of the event are on Flikr under code4lib2007.