London Artisan Integers; distribution, Hotel Infinity, punk, an excuse & explanation of sorts.

I'm very proud to launch London Integers, the UK's finest hand-crafted artisanal integers emporium. You can go and get your own London artisan integer right now by going here:

At this point you're probably wonder why you'd need your own integer, much less an artisan one. I'll try and explain, but a more original explanation can be had over at Brooklyn Integers: Short History.

Now, there's always an ongoing discussion in technology over wether you should put your own content over here or over there. Where "here" is your own site, server, local machine and so on and "there" is some great centralised service such as twitter or flickr or facebook. The great thing about putting your stuff over there is that it's often much simpler and often free. Most likely everyone else is also keeping their stuff over there too, and whenever anyone is going to look at stuff, there is where they'll go to find it.

Sounds good, and yet there's a couple of problems. The 1st often gets talked about in the "if the service is free, you are the product they are selling" fashion. They'll look after your videos, photos, words, but they'll also put adverts around them, re-use them and so on.

The 2nd and more importantly, is that they may just go away, taking your stuff with them. Your words, your videos, your photos all gone. When huge, giant, centralised system implode the results are often messy. You can of course avoid this by keeping your stuff safely over here instead.

Or better still, in both places.

So where do the integers fit in? Don't worry I'm getting there.

One solution is having decentralised systems. Many versions of twitter, flickr, facebook etc. of various sizes, some running on servers hosted by other people (to keep things simple) and some running on your own server. This is a bit like what Aaron has been working on with Parallel Flickr (see also: a cut down version of Flickr that you can run yourself.

Now it would be even better if these system could talk to each other and in some cases, such as a twitter-like system, duplicate content between them. For the sake of this blog post we shall ignore the slightly annoying technical details, and also why we're focusing on integers…

But if I start an instance of flickr-ish or twitter-ish and you start one, and someone else has one and so on. And we all upload our first photo or tweet, and those photos or tweets have an ID of #1, then as you can probably guess we may start running into problems. It'd be really handy if none of my IDs were the same as your IDs and so on. Therefore only one photo with the ID #123456 would exists, and should we ever want to merge our instances of flickr-ish, twitter-ish installs together we could do fairly easily, as well as pushing the photos & tweets around between systems.

And for this, we'd need[1] a centralised system that could issue unique IDs. All of our decentralised systems could ask the ID ticketing system for a unique ID, get one and be sure that no-one else's system would also be using it.

And that is how Brooklyn Integers was born:

* * *

Technology and Numbers

But having a centralised system to help decentralised systems is still a bit of a problem, what happens if that system goes down? There's also the issue of performance, you want to get your ID fast. And so Mission Integers was created on the West coast:

“Definitely one of the top five coordinated bi-coastal unique ID providers in the Northern Hemisphere”
-— John Allspaw, head of operations at Etsy, marketplace for unique handmade and vintage items.

Yes, this is all part of an elaborate joke, sort of, but not really.

The trouble with having West coast/East coast unique ID providers is that while improving redundancy there's the problem of keeping the numbers unique.

And now I want to tell the story of Hotel Infinity. This was introduced to me in the book Aha! Gotcha, by Martin Gardner.

Somewhere in space, just off near the edge, lives Hotel Infinity, so called because it has an infinite number of rooms. Which is good because it means you can fit a lot of people in, if you're worried about the cleaning then don't, there's also an infinite number of cleaners so all is good.

One day in the quiet season when the hotel is empty, an infinite bus rolls up with an infinite number of holiday makers. Which is of course fine, because there's an infinite number of rooms. Each of the infinite holiday makers gets a room to themselves and everyone is happy.

That is until the next day, when chances would have it another infinite bus rolls up with another set of infinite holiday makers. The owner of the hotel now has a problem there's already an infinite number of guests, each taking up one of the infinite number of rooms, all the way to infinity. Here's a whole second lot of infinite guests, where to put them?

With a bit of quick thinking the owner figures out a solution, each guest should move to a room number double the one they are currently in. The guest in room #1 goes to room #2, the one in #2 moves to #4, room #3 to #6, room #4 to room #8 and so on. Now the infinite number of guests are only in the even numbered rooms, leaving the infinite number of odd rooms empty for the next lot of infinite guest that have just arrived.

And so it came to pass, an agreement was made, Brooklyn artisan integers are all odd, Mission artisan integers were all even.

Which is great, but very US centric. I wanted a London based unique ID provider but how to fit in with the other two...

Nelson Minar has done some great thinking around this over here: Artisinal Integers, however I wanted something a bit simpler.

I decided to claim multiples of 9, there's a couple of reasons for this.

First of all though I needed to make sure I wasn't going to clash with numbers already generated by Brooklyn or Mission Integers. Out of the two Brooklyn had the highest integer, around 34,634,145, I figured (I'm not quite sure why, it was late) that starting with 37,112,886 would be a good idea, giving Brooklyn (and Mission) a buffer of just over 1.2 million integers to sort their not-using-multiples-of-9 shit out.

One reason for using multiples of 9 is that I'd be denying both Mission and Brooklyn Integers the same amount of numbers, I'd be using both odd and even values. Of course this is also true of multiples of 5, 7 and so on, any odd number.

The main reason is that I like the 'working out if something is a multiple of 9 trick' (the multiple of 5 is far too boring). Someone could look at an artisan integer work out if it was a London Integer by adding up the digits, repeatedly if necessary to get to single digit, if that's 9 then it's a London Integer.

37,112,886 = 3+7+1+1+2+8+8+6 = 36 = 3+6 = 9

If it's not a London Integer than you can tell if it's Brooklyn or Mission on the odd, even front.

It also gives the developer a choice, if for some reason they want to only use odd or even numbers then can use Mission or Brooklyn, if then want both odd and even numbers then London artisanal numbers are the best.

* * *

Screenshot of London Integers

* * *


If you've made it this far, you really don't need to read the next part for any more insight into Artisan Integers, below are scraps of half thoughts and ideas.

When putting together the London Integers site I wanted to at least think a little about the background image(s) and the font to be used. Both Mission and Brooklyn have gone for a hipster boutique type of look, which I wanted to eschew. The London I know is dirty, gritty, beautiful and punk. I wanted a background and font that represented that, I thought about all the London bands and what-not, and then realised something…

I was thinking about punk because I am old :)

Also, I'm not from London so it's not really my London, my understanding of the South Bank, Tate Modern and what-not is that of a tourist. My up-to-date idea of London music is The Streets and Boy in da Corner (released 9 years ago).

I played safe, I wanted grime, art and my London which is not a physical city but a city of data. A quick Creative Commons search on Flickr gave me a useable Banksy picture and the Locals and Tourists map of London by Eric Ficher that I've always know I'd end up using for something.

Next up was the font, I wanted something like Gill Sans, Johnston or having read this post on typography from the GDS, Transport. Black, solid but maybe just a bit softer and slightly less obvious, after a bit of hunting I ended up with Cubano by Chandler Van De Water. It's not quite London and not quite right for the text but I fell in love with it a bit for the numbers, which after all is the most important part.

Anyway, there we have it. I didn't really think about it as much as the above writing makes out, this is just all stuff that races through your head as you quickly prune down the search space of your thinking process… the "I'll do this, no wait, not quite that, this instead, yes that's better" hunches and feelings. Stuff that only takes a few seconds to quickly race through the options but sounds like thoroughly thought out ideas and very conscious plans when written down.

They weren't. This is after all a website to generate numbers, and not even a particularly serious one at that :)

footnote 1: Yes I know there are other solutions, but I'm just trying to explain London Integers here :)

* * *