Two-level tagging

Have you ever had trouble deciding where to store a file on your hard disk? Or worse, had trouble finding it later?

When you store a file on your hard disk, you have to decide which folder to put it in. That folder can in turn live inside other folders. This results in a hierarchy, known in computer science as a *tree*.

The main problem with trees is that sometimes you want things to live in multiple places.

Tagging provides an alternate system. Tags are a lot like folders, except that things can belong to multiple tags. However, but the tags can’t themselves belong to anything. So you have just one level of organisation with no nesting.

The main problem with single-level tagging is that it’s too simple. We want to be able to use fine-grained categories (e.g. ‘lesser spotted greeb’) that themselves belong to higher-level categories (e.g. ‘greeb’, or even ‘bird’ or ‘animal’). But we said that tags can’t themselves belong to tags.

Described like this, perhaps the solution will seem obvious to you too. We want things to belong to multiple tags, and for those tags to sometimes belong to other tags.

I built this into Emacs Freex, my note-taking system.

For instance, I have tagged this blog post with ‘data structure’ and ‘blogme’. In turn ‘data structure’ is tagged with ‘computer science’ and ‘blogme’ is tagged with ‘writing’. So I can find this blog post later in various ways, including by intersecting ‘computer science’ and ‘writing’.

This gives you the best of both worlds: things belong to multiple categories, along with a hierarchy of categories.

Blogging with WordPress and Emacs

When it comes to tools, I am a hedgehog rather than a fox. I like to have a small number of tools, and to know them well.

I recently resolved to start writing again. But I decided that I needed to sharpen my pencils first.

I have plans on how publishing and sharing should work. Grand plans. Too grand, perhaps.

So for now, I wrote something simple for myself. Now I can type away, press buttons… publish.

If you like Emacs, Python and WordPress, this might be interesting to you too. If not, it certainly won’t be.

wordpress-python-emacs GitHub repository

Most of the work is being done by this great Python/Wordpress library. Thank you.

I wrote some simple Python scripts. One grabs all my existing blog posts. One looks through their titles, and checks them against the filename to see if this is a new post.

And then there’s a very simple Emacs function that calls them to save/publish the current text file.

I could add more things: deleting posts, or a proper workflow for moving from draft to published. Maybe later.

I wrote this post, then hit M-x wordpress-publish-this-file.

The iPhone apps my cold, dead hands would cling most rigidly to

Instapaper – combine this with the Instachrome extension, and whenever I see a webpage I want to read later, it’ll be waiting with me as I wait for a train
Light – it’s bright! No more torches. If you lived in Hanborough, you’d need this too.
Trainline – faster than my laptop and/or a speeding bullet for checking train times in the UK
PlainText – write notes on your laptop, have them appear on your phone instantly through Dropbox and vice versa. Oh, and Dropbox of course, too. – etymologies, pronunciations, the works
Remote – control Keynote presentations from your phone.
Glympse – let other people know where you are.
Skype – I can call Mia for free while walking the streets
iTrans Tube and Tube Status for planning London Underground journeys
Snaptell – red laser black magic. Point at a book, and have elves whisper about it to you.
Angry Birds – the most popular mobile game of all time
Spotify – all the music in the world on the go. Requires a Spotify subscription
Shazam – tells you the name of songs that are currently playing

Storyville and Jenga iPhone apps

Hey everyone,

Two friends have just released iPhone apps in time for Christmas:

  • Jenga, by Natural Motion. This is the official Jenga iPhone app – there’s a fiendishly realistic physics model of the world behind the scenes, and it’s a thing of beauty.
  • Storyville by Fatty Apps – I love the idea of receiving a short story each week, beamed straight to my outboard brain.

Buy. Them.

P.S. I’d be happy to put you in touch with Torsten or Atul if you have any direct feedback you’d like to give them.

How can your iPhone make you even more entertaining and interesting than you already are?

Have you ever had a conversation with smart friends that got hung up on some disputed point of fact, or tip of the tongue memory failure? Don’t you just wish someone would step in with the answer to unclog the free flow of ideas and happy banter? Disputes about facts and tip-of-the-tongue feelings *should* be a relic of the 20th century. So there are two things that are remarkable here:

– Through smartphones and search engines, we can marshal thousands of machines to produce the answer in the blink of your mind’s eye.

– But we have to perform that instantaneous incantation with pudgy fingers and a 0.3G internet connection. I challenge anyone to find the name of an actor in under 2 minutes with an iPhone with crappy reception. While those 120 seconds creep past, you’re coldly ignoring your friends, and the conversation is gasping on the table like a naked baby on a spacewalk.

Here’s one technological solution to this social problem:

– At the beginning of the conversation, we all put our iPhones on the table, and fire up the Inforager app.

– Inforager is listening to us, uploading the audio of our conversation to voice-recognizing clouds.

– It runs dozens of google searches continually in the background, displaying result-snippet-bubbles that float past, driven by the whorls and eddies of our conversation. While we’re talking about the beardy guy with the Greek name in The Hangover, a bubble for ‘Zach Galifianakis – IMDb’ looms large, only to be nudged offscreen as we move to debating whether the ‘candied sunchokes’ on the restaurant menu are likely to taste more like sunflowers or artichokes, while the other half of the table engages in a dialog on the nature of catnip.

In other words, the answers to questions we have are being provided in real time in response to our conversation. This frees us up to talk about what matters.


Technical notes:

– If multiple people at the same table were calling Inforager, it would use the multiple sound sources to do a better job of distinguishing voices and improving audio quality.

– Is it possible to use the phone (rather than the 3G connection) to upload the audio data? That would drain the battery much less.

– I made up the name Inforager.

A wiki for spaces. A town anyone can edit. School architecture founded on mnemonic principles

When we think of wikis, we think of text, like the Wikipedia. But this notion of content that anyone can view and anyone can edit has barely unfurled its wings. What if we were to apply it to space?

For instance, imagine growing a World of Warcraft town as a community. Each person could design and improve upon the buildings, fill the walls with graffiti, neighborhoods would define themselves… the ease and pace of iteration might even generate new ideas about town planning.

Alternatively, let’s build on Ed Cooke’s fantastic plan for school architecture in the future [cached]:

Children, well known to be compulsive absorbers of information, crucially learn what they are interested in. Like all animals, they are interested in spaces.

I’d like to see schools’ spatial layout reflect the history of Western culture, and thereby implicitly teach it. A snake-like line of school buildings could begin at one end in Ancient times and run on, in temporally organized fashion, up to the computer science blocks of the present day. Key themes and figures from each epoch could provide the names for classrooms, which could also reflect some of the architecture, customs and furniture of the day.

Because in five years of school, everyone learns every detail of the spatial organisation of the buildings, and because memories always attach to the spaces in which they were first formed, merely attending such a school would give one a wonderfully detailed sense of the history and structure of Western civilisation. And it wouldn’t need to be prescriptive, for one could take advantage of the second source of childrens’ interest – things they have a role in – to redouble the effect. Each year-group could, over the course of five years, reconsider, re-design and re-build one of the twelve epochs/buildings.

Convincing someone to build a school organized on mnemonic principles is going to be tricky. But in the meantime, perhaps schools’ online presence might take the form of a spatial wiki. Students could make changes ranging from decor to naming to overall organization, shaping their online school to their memories and vice versa. We love to deeply inhabit our environment by shaping it – what could be better than exercising our rich faculty for spatial navigation imaginatively?