Monday, 10 November 2008

Principles behind the Repository Manifesto

(based on

We follow these principles:

Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.

(We are not users of the systems we build, and shouldn't keep putting features in only we want. Which users care if it is OAIS compliant? And METS?)

Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.

(Go where the users are or want to be in terms of features, not where you think they should be. Users should be shielded from the underlying standards at ALL times.)

Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.

(If you are not going to implement what you are designing and learn from it as you progress, then you have failed. Do not pass Go, hand in your library pass.)

Business people [USERS] and developers must work
together daily throughout the project.

Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.

(Don't just list projects you want doing and expect them to be done. Find people doing work the community finds compelling or interesting and fund them directly.)

The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.

(More working meetings, fewer dissemination meetings. Discussion, not powerpoint.)

Working software is the primary measure of progress.

(No plan should get the go-ahead, without implementing the ideas or design alongside it.)

Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.

("Projects" lead to having concepts like 'final deadline' and 'wrapup meetings'. Repositories are, by their remit, continuous services, and DO NOT FIT the project paradigm.)

Continuous attention to technical excellence
and good design enhances agility.

(Can't simply work on architectual astronomy without trying to implement, can't simply code and build without a valid design choice. Not one or the other, but working on both simultaneously makes for a good service.)

Simplicity--the art of maximizing the amount
of work not done--is essential.

(Re-use, re-use, re-use. We only need one good system, not 5. In all development, there is time for divergence and a time for convergence, and it's time we converged. Shame there's no good candidate to move to...)

The best architectures, requirements, and designs
emerge from self-organizing teams.

At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.

(No design is static and no implementation is static, only your current users are. Build and cater for the users you do have, and aim to please those you don't.)

Thursday, 6 November 2008

Declaration of Independance of Metadata

"We hold these truths to be self-evident, that Metadata is essential to all Users, and that the Creation of Metadata endows certain inalienable Rights, that among these are the right to collect, the right to share and the pursuit of Happiness through the reuse of the Metadata.

That to secure these rights, Metadata Repositories are instituted among Servers, deriving their just powers from the consent of the Users, That whenever any Form of Repository becomes destructive of these ends, it is the Right of the Users to alter or to abolish it, and to institute new Repositories, laying its foundation on such principles and organizing its powers in such form, as to them shall seem most likely to effect their Safety and Happiness through Openness.

Prudence, indeed, will dictate that Repositories long established should not be changed for light and transient causes; and accordingly all experience hath shewn, that Users are more disposed to suffer, while evils are sufferable, than to right themselves by abolishing the forms to which they are accustomed. But when a long train of abuses and usurpations, pursuing invariably the same Object evinces a design to reduce them under absolute Despotism, it is their right, it is their duty, to throw off such Repositories, and to provide new Guards for their future security."

So, OCLC... quit while you are ahead, before we get all July 4, 1776 on your ass.

Monday, 18 August 2008

Don't worry - I haven't been incarcerated...

Great word that, 'incarcerated'...

But I digress, I have merely been so full of hate for repositories recently, that I didn't want to dignify them with an article. And also, I am a lazy fuck.

I want to open by telling you about a social observation of mine; it stems from that painful experience that we all know, the "gotta-look-happy-to-see-them-but-don't-know-how-to-behave-where-are-the-social-boundaries" moment when you meet an ex-boy/girlfriend. The forced smile, the "sure, I give a shit about your life right now" faked attitude, the sheer weirdness of touching them again by shaking their hand (rather than rutting with them), finally leading to too many repressed memories being dragged to the surface - "why the fuck was I with her" - being a prime component of these memories for some.

Now, being primed with that information, I want you to take a good look at the meeting between Ms. Fedora and Ms. DSpace....

It's amazing how ex-couples tend to lead similar lives after they split up.

(I was going to erm... 'find' some video proof for this, by using these shots, a 3D animation suite called blender and the song by Katy Perry "I kissed a girl (and I liked it)" but, when I found myself at 3.35am, adjusting the hair physics of Ms. Fedora while her avatar swung around a pole and bemoaning how I couldn't seem to get the lighting just right for this shot, I decided to call it a day. There are obsessive paths from which you can never return, after all.)

Friday, 25 July 2008

Do the math

Code 411....

Code 416....

and finally,

Code 417 - end of night ;)


Repohater is in the Library of Congress, beeeyaches ;)

The fools let me in....

Saturday, 19 July 2008

Web Architecture trumps repositories

If research was posted on the web, using the fecking web architecture design that was laid down *years* ago, then repositories would never have happened. There is absolutely no need for them, apart from to make middle managers feel warm and fuzzy and occassionally, a little moist when the numbers of deposits pass some inconsequential milestone - 'omg, squee, I have 1000 items in my repository. That means that this university is doing some research!' Yeah, great. Whoopdee doo. There are some unreadable PDFs somewhere in a system. Oh, btw, don't lose the database if you are using DSpace, bye bye all data. Oh, and using Fedora? Sure, it's easy to get stuff, you know how to do RDF queries, right? Oh, sorry, it's not SPARQL, it's its own weird query language that does its own damn thing. Frontend for Fedora? Why would you want that? And EPrints? Everything you want to store is a document, right? Oh, and keep that db too!

Tuesday, 8 July 2008

In light of recent fluffyness...

Due to boing-boing's campaign of cute catfights and puppies, I have decided to lay off the repohate for this one.

But there is still some distaste, loathing, a little terror and an urge to run from this next news item - it's the terror and the running really.

Now I call myself a geek - 'geek' being pronounced in the same way you might say 'badge of honour', 'a person of noble stature' and 'hung like a mule'.

But these... these guys are nerds... that's not to say that I think poorly of them. I think of them in the same way I might think of a person making large sculptures of cheese, going for a dominoes record, or doing something similarly autistic/time-consuming. I have admiration for them, but I wouldn't have them over for tea, smelling of cheese and eyeing up my dvd collection with their dominoes-obsessed gaze.

So let me present the nerdstorm (the nerd's collective noun) - ethernet networked Commodore64's, playing a homebuilt racing game 'NetRacer'....

Thursday, 3 July 2008

It's all a matter of perspective...

What repository managers think their repository architectures look like:

What the developers know repository architectures look like:

But without the satellite dish...

(Submitted by FourOhNine)

Wednesday, 2 July 2008

When a 402 goes bad...

Be careful with your hookers people, Very Bad Things can happen...

Slacking? Here's some resources to help you out.

Well, there's failblog, or a site about weird accident aftermaths, i can haz cheesburger is always worth a laugh, and orsinal for all your semi-autistic flash game needs.

As for comics? Ctrl-Alt-Del, xkcd, Penny Arcade, UserFriendly, and Indexed (v. cool).

Now, get back to work, you lazy sods.

Tuesday, 1 July 2008

Rejected HTTP status codes

Code 220 - Privileged content

The server has found the content, but the user's IP is in a high poverty area, and as such, is unlikely to have paid tax. The server has determined therefore that you have not paid for content and are not eligible. This is mostly intended for governmental use (sponsored by BNP)

The 220 response MUST NOT include a message-body, and thus is always terminated by the first empty line after the header fields.

Code 456 - Sumerged content

The server has determined that the resource requested is currently stored in hardware that has been submerged in liquid, due to an air-conditioner failure, or a coffee-spill incident.

Getting developers happy with hookers

Every funder is talking about trying to keep developers happy and focused, and yet they fail miserably with adding further buerocratic crap and silly rubbish.

You want to keep developer happy? Hire'em all hookers.

Preferably like this:

But knowing the amount JISC and others pay for things, the hookers'll end up like this:

Friday, 13 June 2008

Thursday, 12 June 2008

Suing Microsoft for loss of earnings

Average % time wasted working round the red-headed, retarded step-child of the browser world, the one that get's all of the attention because it's "special" (as in needs):


Yeah, that's a finger in the air guess-timation, but I think that it's pretty damn close. All the random CSS tweaking and hacks, all the hair pulled out over JScript (like normal Javascript, but more broken) and all the completely f*cked up errors, like IE6 not downloading PDFs properly without the server saying some magic words.

So, what's 20% of the wages you are paid or that you pay your development team? Coz I think there is a company that owes us big.

HTTP Status codes; Real life uses #4

HTTP Status codes; Real life uses #3

HTTP Status codes; Real life uses #2

HTTP Status codes; Real life uses

Tuesday, 10 June 2008

Friends don't let friends do OAIS

Packaging up stuff...

Just stop it - seriously... stop it. It's not big and it's not clever and doesn't help anyone.

Monday, 9 June 2008

xkcd's "Duty Calls" and why repositories are broken

Funny as hell, and you know why? Because it hits so close to home; we've all been tempted to feed a troll in our time, just to make sure that the world knew that they were f*cking wrong. F*ckers.

"Oh, no, I'm not like that" - wrong, you just haven't been pissed off enough yet to stay up until 2am to make sure that fecking 12 year old gets the virtual crap flamed out of him for being so goddamn dumb.

The sour truth of it is that this type of obsession built all the things online that we love. Wikipedia kicks ass and why? Wikipedia is built round the idea of people editing resources, and it's so simple to get stuck into - you open a thing, you edit a thing, job done.

Then it's the turn of the swarms of annoying, pedantic b*stards, who pick apart any entry for copyright, grammar and style - it's win-win, the content gets cleaned up, copyright issues get spotted and the pedants get their sexual thrill.

You want to preserve it? Just lock it. Again, job done.

And why can Wikipedia do this? Because it never makes the totally stupid claim that it is 100% correct all the time.

We - as a repo community - have got to start living in the real world when it comes down to copyright and fidelity. Institutional repositories need to start taking seriously the wealth of pedantic b*stards out there, and for f*ck's sake, make use of them. Add anonymous logged commenting, add problem flagging straight on the interface itself. Have people see that there is a problem with an item, rather than trying to hide it all away.

And we need to start turning down stuff for copyright reasons - "Sorry, your work doesn't count in the eyes of the University, because you signed your soul away to the devil and your copyright to Elsivier. Come back when you've got some work of your own to submit."

And you wanna know how to really get the party started? Keep a top score of real issues spotted per pedant and update it daily online, for all the world to see. Make up pointless heirarchies, based on levels of submissions. Just see how World of Warcrack-cocaine manages to make mundane tasks seem appealing.



Too few people are willing to write about the bad side of repositories - most of the people in the field are struggling to get by with what we have and tend to vent over a pint amongst fellow repo sufferers.

What are the rules for posting?

The #1 rule of repohate club is, that you must blog about repohate.
The #2 rule of repohate club is, code 303 #1

Basically, this is an avenue to vent, to point out the folly of all our ways, and to make a mockery of the shortcomings of repository systems. The wittier, the more profound, the better.

Failing that, if you can make me laugh out loud in a quiet office, you win. Also, the shorter it is, the less likely you will trip over a 'tl;dr' [tooo long -> didn't read.]

Oh and don't worry about anonymising stuff - I'll be gatekeeper to that, your dirty little secrets are safe with me. (Just pick a funny codename to go by)

Any Topic then?

Just about anything that I think is vaguely relevant will be looked at - think of it as a game, "What does the Anonymous Hater want to read?". My topic suggestions are eprints, fedora, dspace, xkcd, vendor-pain, last-century-legalese, xml==wrong, code-comments, typewriters-are-cool, error-codes-in-real-life, or there's-a-monkey-in-the-serverroom-and-it's-pissing-on-my-services.

Will I be rick/sh1t/spock-rolled by a link?

No... well... maybe. Only if it'll be really funny.