2 January 2008

8 things you didn't know about me

Friend and UX superstar Donna tagged me for the '8 things you don't know about me' meme. The rules are pretty straight forward:
  1. Link to your tagger and post these rules
  2. List EIGHT random facts about yourself
  3. Tag EIGHT people at the end of your post and list their names
  4. Let them know they’ve been tagged

So, here's my list of things you may not know about me:

  1. I play drums and percussion, have played in bands all my life, and also does a lot of composing and production. I've made numerous CD's (demos, mostly), and used to play every Tuesday at a local jazz club in Oslo with Nissa Nyberget, Ole Marius Melhuus and Totto "Heavy" Hansen. I specialize in the udu clay pot drum, and the congas.
  2. I'm a big movie buff. I grew up wanting to create movies, and me and my mate Ove Kenneth Nilsen ran everywhere with cameras and made all sorts of wierd stuff. He's since grown up and is today part of the movie industry in Norway (a reputed editor), while I had a stint working for a production company during one of their films "In the claws of the night". I also think Ove Kenneth sits on a few video snippets (me acting, writing and laughing too hard) we made together a few years back. Good times.
  3. I started Norways largest live roleplaying association back in 1989 with a few good friends, and have been active in the LARP scene up until about 8 years ago.
  4. I was politically active when I was younger, running around, talking publically and otherwise trying to make Oslo / Norway a more socially aware place. I've met lots of politicians and VIPs, mostly on the left side of the political gap. Yup, I like people and their interactions more than I like economic growth in a unilateral free economy.
  5. One of my good mates was killed by this piece of shit back in 1993. I was sitting watching the news with my then girlfriends parents when my friend's face lit up the screen. A very surreal experience, and needless to say there's lots of stuff with this I don't really want to talk about. It seems people in Canberra - the black-metal capital of Australia - are intrigued by this whole thing and my connection to it. The short version is that I did different desktop publishing jobs for my friend's record company (in fact, I did the inlet lyrics for the Burzum record, and yeah, I met the guy; he's an complete idiot). Here's some trivia about Øystein you won't find anywhere else (because it was these things that brought our friendship together) ; he loved old electronica (Schultze, Tangerine Dream, Amoebios) and classical music. His religious beliefs weren't quite what you read on WikiPedia. His political views were closer to mine than what most people think. Enough said.
  6. I starred as Sydney Carton in an semi-amateur production of Tale of Two Cities by Dickins, and have always acted on (and off) stage.
  7. A bit like Donna I also feel surprised that people like me. It stems from 4 years of primary school (grades 2 through 5) where I was bullied (my father is from the Czech Republic, which seemed to spark it off). The school sent me to psychology sessions (the problem must have been me since I was the one being bullied ...) which did me no good, until the day I got a new psychologist. Know what she did? She asked me (as one of the first people to do so), "so, Alex, what do you reckon would solve the problems?" I told her that I want to change schools, such was arranged within a few weeks, and everything has been dandy ever since. Real communication is gold.
  8. I can look at (practically) any piece of armor or sword and tell you what century it is from, what country (and sometimes what part of the country) it was made in, the purpose of the shapes and joists involved, who used it, contemporary cost and mostly the metal and forge techniques used. Gee, what handy skills I've got.
And here's who I'd like to know more about:
  1. Alia, because she's the funniest person I know.
  2. Donna, because she's so dandy! Already done, obviously.
  3. Matthew, because he's apparently similar to me, so prove me otherwise.
  4. Robert Barta, because he's a no-bullshit fighter.
  5. Scott Berkin, because he's smart.
  6. Murray Altheim, just because I suspect so many things.
  7. My daughters, so I could understand the mischievous stuff they get up to.
  8. Claudio Monteverdi, because he's my hero.

6 December 2007

So long, and thanks for all the smelly fish

It's time to reveal what's going on in my life on a big scale, hinted to in my last dozen or so posts.

Yes, I'm leaving the library world. Yes, I'm leaving Canberra and the National Library of Australia. In fact, I'm leaving Australia altogether. I'm leaving process-oriented committee-driven work (surrounded by the hum of millions upon millions of flies, one of the seriously exciting features about Canberra). I'm leaving good friends and colleges which I'll miss, and a cute house that's been a safe home and haven for the last four years. I'm leaving an extended family who - despite their better knowledge - have accepted me as one of them, with friendships that will bring us back to Australia in a few years, I'm sure. I'm even leaving behind our wonderful dog Oscar (in good hands, I might add ; he's going back to his original owners) which the whole family will miss dearly.

I'm going back to Norway, to work for Bekk Consulting again, and I start at the beginning of February 2008. I'll write more about my role there later, but needless to say these guys know what they're doing, they do it fast and really well, no mucking about. They do not meddle in the semantics of FRBR for 15 years before taking baby-steps to prototype it. Either it's the right thing to do, or it is not. And if it's not, these guys don't do it. And I can't wait to get back into the habit of not doing things we shouldn't do.

We've got a house lined up (in Oslo) centrally and near my beloved woods, and a car. We're scared and excited at the same time, and hope that our Australian friends will forgive us and cheer us on in our adventure, and our Norwegian friends welcome us home and invite us for dinner, if not only for a period.

There's many things I want to talk about, from the state of the library world, to the evils of recruiting companies, to Australian business ethics, the value of friendship, and how to plan your future (which is a short piece about how you can try but will fail), but all in due time.

Right now it's time to pack, reflect, and wrap up my Australian adventure in the most positive way I can. Watch this roof, and wish us good luck in our latest big adventure.

23 November 2007

Bits and bobs

Hi all. Just a bits and bobs post. In short ;
  • My backyard paving is almost complete. I've spent 4 months (weekends) digging, sanding, edging, moving, shaking, swearing, compacting and laying, but it's worth every aching pain ; I did it myself.
  • There's a reasonable chance we will be moving, but there's a few options ; stay in Canberra, move to Wollongong / Kiama (by the coast), into Sydney, or back to Norway. Once the decision is made, expect a huge rant about everything that's been going on the last few months.
  • Why do people think that architecting systems in a RESTful way somehow means you can be less devoted to the project? Is the apparent simplicity of REST one of those things that make people forget to take it just as serious as other alternatives? Forgetting that you still need to be good at what you do, and that you still need to design it well?
  • There's some interesting upcoming changes to this website coming up. I noticed my ISP had installed PHP 5.2, so I have decided to revamp the whole thing using two recent sub-projects ; 1) my SQLite embedded Topic Maps engine, and 2) an XSLT based XML templating framework for GUI's. It's all built around a completely RESTful architecture, and it uses Blogger's external publishing capabilities to blend your blogs into your site without the need for replicating your blog template with your site's templates. More on this as we move along.
  • The kids are a joy to watch grow and evolve, and my wife is still as exciting and hot as when I first met her. No matter what happens in life (see my previous post for a drop of depression) I am so darn lucky to have them. (And I mean luck here as there is no way that I could have designed anything as wonderful as them myself ...) My next life-choices revolve around them, and not me. Nuff' said.
  • The amazing Happy Rhodes have released a new CD after a long while. Please go and have a listen at her CD Baby page ; support the most hearable unheard-about artist ever.
I think that's it, at least until some big decisions have been made. oh, and thanks to those who responded to my last post. Appreciated. Peace.

9 November 2007

Sorry everyone

I've been under a somewhat depressive spell the last few months, which effectively has rendered me into somewhat of a recluse. The reasons are several (but reading my last blog postings certainly will give you good clues, although my eyes and migraines certainly has added a lot to it), and hopefully they will be improved upon shortly, one way or the other. All my energy and efforts have gone into being a nice husband and a good dad, so some sorries are in order ;
  • Magnus, Karen, Hanne, sorry for being too far away, and for not being better at emails.
  • Donna, sorry that I haven't followed up your recent big news and for not being more a proactive caffeine pursuer.
  • Matthew, sorry that we haven't talked in a while, and for not being there through your troubles.
  • Mark, Steve, sorry for being a bore at work, and for not engaging much.
  • Kent and Alison, sorry for not talking much anymore, and for giving up hope.
  • Mum and dad, sorry for being low on sending you emails and pictures of the kids.
  • Julie and Stefan, sorry for being a neglecting (albeit far, far away) brother.
  • The library world, sorry for giving up.
  • The Topic Maps community, sorry for being absent.
I can only promise to try and think about perhaps evaluating if I should think about being better at dreaming about getting better at all things of personal matters. I'll provide updates and newsflashes soon enough. Big things are afoot.

24 September 2007

Misc updates and twigs

A number of smaller updates ;

  • My daughter Grace (7) today won 3rd place in the Australian Eisteddfod singing competition (8 and under, musical) with a clever rendition of "Castle on a cloud" from Les Miserables. Clever girl. Update: She also won 70m and came 3rd in 100m running in the "8 and under" category for the whole of Belconnen (district of Canberra) athletics carnival two weeks ago (how's that for an "update"), which means she's off to the state / territory games in November. Exciting stuff.


  • Some of my Flickr pictures were selected for the Schmap Canberra Guides;


  • Happy Rhodes just released a new album, her first in almost 10 years!! A MySpace website has been put up with samples. I love this stuff!
  • Stuff I'm committed to these days ;
    • An article (or essay) about user-centered design in the software life-cycle, including testing (user testing, application testing, functional testing, user-acceptance testing, and variations of these) before, during and after critical decisions and how to manage the implications.
    • Release the latest version of xSiteable (huh? That thing still exists? Apparently.) which is more like a clever XSLT templating system than a Topic Maps engine by itself.
    • Update my website, including better synchronizing between website and blogs. Yeah, should have done it ages ago.
  • Do you know I have actual plans for how to win the 20 million USD Google "get first to the Moon" competition? :)
  • I'm currently laying pavers in our backyard these days, and in two months I'll start building my very own house-centric recyclable low-energy air-condition system. Being a software engineer can do that to people.

21 September 2007

Sam

Just a quick movie I shot this morning of Sam (3 months old today) while just chatting to him. He just loves attention. And baths. Like daddy.

7 September 2007

REST and SOA as a process for application design

I'm going to stray a bit from the library theme, and talk about design of RESTful SOA. It's a topic close to my heart, as most SOA talk these days are full of vendors claiming money can buy you not only love, but immortality. With SOAP? Hah!

No, I think reinventing what the Web does really well already is a) a waste of time, b) doomed to make a bad copy (as the web is constantly moving, while the SOAP / WS-* stack is immersed in slow-moving standards), and c) over complicating things (I like elegant simplicity such as the innards of the Web).

REST

Roy Fieldings' REST dissertation has swooped upon the middle and higher layers of the IT world lately, making a lot of them admit that, perhaps, this whole deal about using HTTP and loose XML (often XHTML) to create scalable, fast, simple and dynamic applications (well, as an architectural style, to be specific) might have something going for it. REST has been around for a long while, being the very fabric of what the internet is based on, slowly extended and refined over the last years 15 years (even though a lot of these concepts are again based on earlier technology).

Service Oriented Architecture (SOA) is a little bit tricker to define, especially these days when big corporations have discovered and use it as a buzzword, but basically it is technical architecture creating loosely coupled (meaning; the items in question knows very little of each other) services, and where a service is a piece of software that some other piece of software might use (as opposed to direct human usage). Now, a lot of people already talk about this stuff, so I'm not going to add to that. I'd rather talk about what I think when I do this stuff, to talk about actual implementation.

Working in both these two worlds, putting them together to design and create applications, is quite different from the normal software development processes that's so popular these days. The most striking difference is that during application design you think in terms of resource orientation (as opposed to object orientation, or functional design) and how to represent services (as opposed to a program, or a module).

You can either plan a big-bang approach to this (standard waterfall models) per service, or you timebox a more agile approach of creating one or several services that does the simplest thing needed to service your proposed application. The world spins around the axis of identifying application to solve problems; let's turn things around (and this is a big part of SOA) and see if we can come up with services that solves problems instead.

Typically you have a sleigh of applications that all have common functionality, such as user management, database storage, configuration, session handling, search and a few other bits and pieces depending on the business you're in. There's many ways to deal with reuse of these "things", and I deliberately call them "things" at this stage, because as soon as you call them "modules", or "libraries", or "reusable code" you're setting the scene for quite implementation specific stuff, such as what language you're going to use, or what platform it runs on. I don't want to deal with "libraries" for example, because if some library is written in Java then I need to make my other solutions in Java, too. If I have a "module" that does X in Windows using C#, the chance that "module" is linked to that technology is quite high.

Things

No, I want to talk about "things". For example, let's talk about users. A lot of applications deal with users in some way or another, whether it's displaying information about them, for them, authenticating them, create properties on them, or otherwise work with their user data. How can we create a service that applications might have good use for?

Since we meddle here in all things REST, the first thing we do is to think of the service in terms of resources (as being resource oriented is extremely important; expose URIs for every resource, as small / atomic as need be). I usually create two sub domains to hold services, one for internal behind the firewall services (soa.domain) and one external (ws.domain; 'ws' for web services), and I also try to have a trim set of basic elements that express generic functionality (search, user, session, database, properties, etc) wrapped in an even smaller and more generic set of domains (x, y, z, a, o, a, etc.). Through this, the first part of my design process is to play around with URIs and hierachial taxonomical ideas to see what feels right ;

http://soa.example.com/identity/user[/{userid}]
http://soa.example.com/user[/{userid}]
http://soa.example.com/user/id/[/{userid}]
http://users.soa.example.com/{userid}

Balance this with ideas on premature optimization (what, you thought that was axiomatically bad? It's allowed to think about these things, you know :) in terms of request times for a domain (the more domains involved in a series of calls, the longer the overall response time, generally speaking) and what feels right.

In my case, the first one seemed the most right. I've developed a small set of root categories in which I "place" my services, such as /search, /publishing, /identity, and so on. These categories are not canon; they are placeholders for loose ideas and thoughts, bound to change in the future as your SOA evolves.

Evolution

Evolution in your SOA is very important, so you should design for it in mind. For example, what about version control of services? Some talk about versioning being part of the XML schemas that services deliver, others talk about content negotiation (crazies :). I take a rather pragmatic and somewhat naughty approach (in the sense that you shouldn't put semantics in your URL's which humans will look at and try to pry apart and use / misuse) and put versioning into the URL at the base of the service defined. For example ;

http://soa.example.com/identity/user/v1[/{userid}]

I also set a rule to service development ; maintain backwards compatibility as far as you can. There's no need for an ever update to the version number if you design your XML schemas that pass through them in smart ways, and this reduce the overhead of deployment, introspection and dependency. Another rule to service digestion is to only react to what you understand, and ignore all that you don't; this again enables backwards compatibility as you, say, add a new (but non-critical) element to your metadata which older service users don't understand and simply ignore.

For proper development of a RESTful SOA, though, I'd suggest two things as a minimum ;
  1. use test-driven development for the service definitions (and use whatever methodology you like for the actual code for the service, although test-driven there too won't hurt you), so write your tests for your service (I use XPath with XSLT scripts for this) first and then develop the actual service until it passes all tests, and
  2. collect your services' tests into a large test suite ; whenever you add, subtract or change a service, make sure all tests pass. (If you can sneak this into a build farm of sorts, all the better. Automation for this type of development will probably save a lot of gray hairs) Through this you know what breaks and what's backwards compatible with your changes across the whole SOA. Don't deploy anything from development into test or production unless all tests pass. This is not a trivial task, and should be in the hands of someone who is full-time responsible for the SOA's well-being.
Now, in evolution of SOA's as well as in nature, don't be afraid of screwing things up. We don't want perfection. We will never get perfection. And we certainly won't get anything near it in the first go. All these services must be allowed to change over time, dramatically at first, even to the point of deleting it completely, and start from scratch making something different. (In fact, I'd advocate making all these first-generation services with version number /v0-ALPHA/ in all caps, as in http://soa.example.com/identity/user/v0-ALPHA[/{userid}] ; this will mark them as experimental and trigger other developers to tread gently. If they worked great, just update them to a /v1/ version)

Time management of this development is also important. Because services must be allowed to break, be allowed to screw up, we must also allocate time for these screw-ups to happen. Trust me, it's a good thing ; a smaller failure now ensure we don't screw up big time later. (And this very point is probably the cause of so much bad management and so many failed [enterprise] projects as it's very easy to overlook or not taken seriously enough. I can write a whole book on this topic alone!)

And people who have some sort of ownership of a service (as developers, or analysts, or whatever) must be given time for short iterative development, for little updates, modifications and tweaks. Services won't be successful if you treat them as small bangs (meaning; gather requirements, write spec, make it, sign it off), and probably only can work through continuous tinkering. Such tinkering doesn't have to be time-consuming nor difficult to manage, but it does require you to plan for it. When Bob goes on to his next project, remember that he's also needs a half-day per week to tweak and fiddle with his service.

Introspection

One feature that I can't emphasize enough is service introspection, an area that most writers I've seen gloss over. And sure, you don't need it in order to create a SOA or a web service. But I'll assert that you need one if you're a) smart and b) want to create a healthy SOA that can stand the test of time.

Introspection in my world does three important things ;
  1. Handle the client state through hyperlinks (part of the REST paradigm)
  2. Documentation of interface, use and dependencies
  3. Provide test suite
Asking a service for introspection in my world goes something like this ;

http://soa.example.com/identity/user/v1?introspection

or, if you want to split the three up ;

http://soa.example.com/identity/user/v1?introspection=state
http://soa.example.com/identity/user/v1?introspection=docs
http://soa.example.com/identity/user/v1?introspection=tests

1. Handling state of a client through hyperlinks is a somewhat forgotten part of REST, which is easy to miss when your design is at an early stage (and it usually stays that way because you don't think you need it by the stage you're made aware of it). It basically comes down to either URL-driven or FORM-driven hyperlinks that takes you from whatever state the current URL gave you to the next one. For example, a resource soa.domain/search?q=fish might give back a list of URL's to pages of results, or a form to do a sub-search, all documented through hyperlinks. I personally think the use of XHTML is good for this, but a bit more formal and equally elegant is the use of the Atom Publishing Protocol (not to be confused with the Atom Syndication Format).

2. Documentation is important, and could be as easy as just returning an XHTML page with some text about what it is, how to use it, and so forth. However, I see a major part of documentation as to what dependencies the service has got, so I've got a section that looks a bit like this ;

<ul id="SOA-dependencies">
<li><a href="http://soa.domain/some_service/v2">Some service</a></li>
<li><a href="http://ws.google.com/wdsl/service/1.0">Some Google service</a></li>
</ul>

Notice that this is perfect XHTML. All that's required to understand this list is understanding the identifier for the list, the "SOA-dependencies", which I can locate easily through DOM or XPath. Through this mechanism in services you can now map the whole dang thing, plot in your dependencies, check it against your test suite (talked about earlier) for ultimate coolness and power.

In this section I might add that I often incorporate a ping parameter which testing and monitoring systems can use to check the health of a running SOA, something like ;

http://soa.example.com/identity/user/v1?ping

or, if you've got the RESTful chutzpah required, use the HTTP method OPTIONS instead of a GET on a URL. I actually do both. The HTTP response code hence talks about the generic health of the service as far as it knows, and you can use this info not only for monitoring and testing, but also for automatic systems and smart clients.

3. It may seem a bit strange to ask a service to give you a test-suite, but it actually is a very encapsulating and clever thing to do, making sure that tests are all handled at the same place where development takes place. I can do ;

http://soa.example.com/identity/user/v1?introspection=tests

and I'll get back something like this ;

<testlist>
<test name="My first test"
href="http://soa.example.com/identity/user/v1/2456325786234985"
xpath="/response/item[@name='user']/id"
is-true="2456325786234985" />
... [more tests here]
</test>

Basic test-case skills are probably a plus at this point to understand what this is about, but basically we assert that the XML/XHTML that the URL returns will give the result "2456325786234985" when the XPath expression "/response/item[@name='user']/id" is run.

Your testing framework for the SOA simply collects these test files at intervals to build a larger test-suite that stands as the controller for the whole system.

Finally

Just a few finishing thoughts about rigidity, complexity and management of a RESTful SOA ;

If you don't have dedicated SOA people, then don't do it. If your people (developers, analysts, managers) aren't very flexible, then don't do it. If you don't understand REST, either really learn it (this book is the best there is on this subject!), or don't do it. If you think you need complex systems, don't do it. If you can't wrap your head around resource-orientation, then don't do it.

The thing is, you can perfectly well live without it, create SOA or some other well-meaning version of that concept with SOAP/WS-*/BPEL/ESB or whatever big vendors are more than happy to help you with. You can create POX services just fine. You won't be RESTful, but you will probably survive without it. You don't need it in as much as you can live on only water and bread for years and years, but of course I wouldn't recommend it. :)

Anyways, a few thoughts there on RESTful SOA design and implementation. I haven't digged into the semantics of modeling a full SOA yet, nor talked much about pipeline XML schemas (although the APP protocol is a good hint), system introspection through things like WADL, or even the hidden benefits of ROA (resource-oriented architectures). So. More to come, then. Until then, happy hacking.

30 August 2007

Resignation : Redux

I was a bit passionate the other day, talking about why I'm resigning from the library world. The post stirred a lot of responses, both as comments but also as personal emails and IM's. I feel I need to clarify a few things so that people really understand what I'm trying to say. I realize that far too often I'm being unclear, using sarcasm, dark humor and Norwegian mentality, when really what is needed is clarity.

But first ; thanks! Thank you to all those people who have written me, most of you strangers that feel my pain and share my sentiments. I'm a bit overwhelmed by it all, because, frankly, I thought I was quite alone in this. I knew about a few people in drips and drabs that agrees with some of my views on all things library related, but most of them were also happy to keep up the long, dwindling battle it is to change such a huge culture. I've received mail from people from all around the world, and I feel honored that you took the time to pass on some words of encouragement. It's meant a lot to me.

Secondly, I need to explain why I've taken this resignation path. I've got three little kids (7 years, 4 years and 2 months), a wonderful wife, and a ball-crazy dog. They are the most important things in the world to me, and I will do anything for them, anything to make them happy. And the truth is that I'm not a happy daddy and a father these days. I'm quite an emotional guy, and yes, my work-life does affect my emotions into my private life. I'm becoming more and more grumpy, impatient and depressed. And I've decided that this madness has got to stop.

Anyways, on to more specifics. As with all things, there's always more than one reason for why something happens, and in my case there's specifically two ;
  1. The current open discussion
  2. Internal workings at my own library
Let's have a look at each one ;

The current open discussion

The current open discussion refers to the various online media where librarians and interests talk about all things library related. My participation is mostly in the NGC4LIB mailing-list, a list of amazing and wonderful people. Even the ones that I disagree with the most are actually really nice and smart.

What, exactly, is it that we're talking about? Some days it's hard to understand what the discussions really are all about, because we're really talking about such a broad sweeping domain that's almost as large as all human understanding and its integration with our cultural institutions and ideals. We peck at the corner of MARC, or tickle the notion of what a book is, or poke fun at epistemology, or ... any little thing we can think of. Almost no subject doesn't fit the "library world." So. What are we talking about?

When we indeed dig into the more philosophical side of things we have huge discussions where most people agree. Then we get into the whole design of those ideas, and we split into various interest groups. And then we start talking implementation, and then things really break apart. But all of this is actually ok; it's fine to disagree, to spar with each other, suss it out.

But it's all online. It's all talk. It's not going anywhere. The mailing-list is a collection of dreamers and thinkers, people who'd like to change things but rarely have the opportunity to do so. Sure, there might be dribbles of influence dripping off here to other places, but it's small potatoes compared to what, in my opinion, the library need. And what it needs is serious leadership by people who understand what to do and have got the balls to do it. I think librarians are far to nice to each other to make big decisions that carry any influx of controversy.

I hear stories from the distant past of the library world where those people indeed made those decisions, people who had an impact far outside the library world, and librarians were united to solve some really big problems. Lately, not so much. Lately, not much at all. Lately, it's all about money and resources. Lately, it's all about fear.

Fear.

Yeah, that word needs a line on its own. Librarians are afraid ; they do not understand what the next thing to hit the library world is going to be, and rightly so. I don't know either. None of us know, really, except that technology will have something to do with it. There's fear in everything I'm involved with, be it a new system, a small application, or - dammit! - just a change of color on a web page. How can we change the system with so many fearsome creatures?

Someone smart recently told me ;
*That* may be the fear that modern technologies (such as those you promote) create in many librarians: being redundant and no longer needed. So, in a sense, you may be feeling what some of your hearers feel, though in a different context.
And he's right, of course, but what many don't realize is that they'll lose their jobs unless we can find new ways to keep them. I understand perfectly well what the library does best ; librarians. I'm not here to make technology replace librarians. I'm trying to find ways to find work for librarians that no one else involved in technology can do as good.

All the way up until today the worlds knowledge and credo were kept through the ages in libraries. No other concept has done more for the human intellectual evolvement than us. And now we stand at the threshold where the foundation of those concepts - the written word on pieces of (mostly) paper - are extremely brittle. There's no point in denying it ; The book is dying as the opus of knowledge. More and more they'll be known as a physical archive interesting mostly to specialists, and will no longer be the keepers of current and / or mainstream knowledge. All of that will be given to computers, databases, websites, companies. Books won't die completely, of course, but they will not be as important. Give it 10, 20 30 years.

Books will not be as important.

Then why are we still obsessing with books? Why are we cramming other media into a meta data format designed for books? Why aren't we seriously creating relationships between our books and the media? Why are we even still thinking in terms of books? I'll tell you why ; because we got so damn many of them, stacks and stacks of them, and if we don't promote our books, then what are we? What are we without books?

The current open discussion is not going to have an impact on any of these questions. Sure, the topic pop up from time to time, only to be throttled back into that section of all human discourse called "reality", which is a synonym with "can't." And in short, I'm out of breath. I've said what I can say, several times over, and I feel I'm getting on some people's nerves. Some people don't like me to be vocal, not to be so darn passionate about the well-being of human culture and evolvement. "You don't follow protocol." I say things I shouldn't say, certainly things that implies great change. But you can only burn the fire for so long. And my fire is going out.

I've been told many times over that if I want change I've got to do it in my own time, and show people to have them go along with it, that you cannot ask permission to do radical things ; you must do, and then ask forgiveness if you totally screw up. And hey, I believe in that. I've been doing that for a long time. I've been showing off prototypes, discussions, ideas, technology and concepts, all the while watching the rest of the world rush past the library decision makers. The library need so bad to be innovative, but we simply haven't got a culture for it. And so, the groins of human knowledge will be passed from libraries to others. "
Bureaucracy defends the status quo long past the time when the quo has lost its status." [Laurence J. Peter]

I've enjoyed the mailing-list hugely. Even those I've disagreed with, and sometimes had a skit with, I respect highly. I've never been offended or abused (I don't get offended or abused easily), so rest easy all of you ; it has been a great ride.

Internal workings at my own library

Yes, there's always that. I've been unhappy with things here before, and things are not that different now. In short, the workings here are simply a miniature of the library world problems ; people are too stuck in the status quo to realize it's wishful thinking. 20 years ago you could often hear the phrase "Do you know where the nearest phone is?"

A bit more specific to me is the fact that I'm caught between the sheets of bureaucracy ; My library is a Australian federal library, and federal legislation says you can only hire Australian citizens, and I'm not. (Actually, the same legislation do offer exceptions to this rule, but the library is unwilling to do that. Maybe if I was someone important they might have seen it differently, though, but it is strange given that Canberra has a huge problem finding qualified workers little less specialists, even importing people from abroad. Hmm. Sounds like someone doesn't like me, doesn't it? :) And no, I can't be one either as it requires be to give up my Norwegian citizenship because Norway won't allow dual citizenship, even though my kids can. And no, I'm not ready quit being a Norwegian quite yet.

And so it is ; my work is on a temporary contract basis, which means I have no path to go within the library. I'm temporary fluff, hired to do a job which certainly hasn't got the word "innovate" in it. I'm stuck in a spot where I can't move, talking to people who don't always agree with me.

So my take on all of this is in fact as simple as "I don't fit in." Even if people find what I say to be right, I'm unfortunately one of those who's got little patience for bureaucracy and process management and friggin' PRINCE2 project methodology (!!!) and tons of documenting all the things you haven't done. I just don't work well this way, and so I think the problem really is with me. I used to be a senior consultant, creating truly large-scale systems in small integrated teams, being agile, professional, stable, fast, wham, bang! Man did I have fun, and boy did we create good stuff. Doesn't sound like the library you know, does it?

I'll be around

Yeah, I'll hang around the mailing-lists for a little while. I'm still in love with the library ideals and concepts. I still love books. And maps. And old pictures. And just surfing the catalog. Or snooping in the newspaper reels. Or finding a microfilm, wondering what's on it, what it means, and who did it. Even subject headings and its contextual meaning. I love catalogers. And I love librarians. I just don't love what we're collectively doing with the concept of "library."

I need to bask in technology, finding links between it and the culture we live in, making semantic models which aids anyone who cares about knowledge. Not sure I know where I'll find it, but I'm open to anything. I wish you all the best, I truly, truly do.

P.S. I'm currently looking to Sydney for exciting work, and possibly a move to the north shores of Wollongong where my wife is from [Kiama]. I'm excited about this. I miss the sea, the fresh air, the bustle of culture, organic growth, sub-tropical climate, and green things like trees, grass and bushes.