Superoptimizers

December 01, 2011 | Comments

Ever heard of superoptimizers? No, neither had I, until a lecture with Des Watson as part of Topics in Computer science, a module I'm taking this term.

They're comically interesting: a brute-force approach to writing software. Instead of trying to work out the most efficient way to code your program, just try all the possible combinations of instructions; I mean, how many can there be?

Well, lots, actually - and that's one of the big problems with the approach, finding ways to cut down the space of possible programs you look through. But the good news is that superoptimizers have a tendency to find bizarre, curious ways of taking advantage of specific characteristics of the hardware which humans don't tend to notice. Show a superoptimized piece of code to a human being - even, say, an architect of the processor it runs on - and she'll scratch her head and wonder how it can work.

Anyhow, I've chosen superoptimizers as the subject for my end-of-term project, so here's a literature review I've written on the topic as part of my coursework, if you're interested in finding out more.

And thanks in advance for anyone who dares point out that code *I* write looks like it's been brute-forced into existence…

Quantified Self 2011

November 29, 2011 | Comments

I've just had the pleasure of spending a weekend in Amsterdam listening to an interesting group of measurement-obsessed folks, at Quantified Self 2011. I was introduced to the QS movement a couple of months ago by a chance conversation with Colin Hayhurst, and it piqued my interest. As a former Nike+ user who'd seen the difference personal measurement made to my running habits (tripling the distance I regularly ran) and having participated in Mappiness for a year, I was looking forward to it - and wasn't disappointed.

Some scattered observations and notes, which will do no justice to the event whatsoever:

  • Gary Wolf opening the event by showing us footage of a 1930s sleep-tracking machine, with pieces of string attached to a plotter pen and roll of paper. He pointed out that we all understood the "quantified" bit, but the "self" less so;
  • Rain Ashford gave an introduction to Arduino and wearable computing. I couldn't help noticing that the sewable stuff she demonstrated tended towards an aesthetic of exposed wiring and circuitry: PCBs look dated to a steampunk degree. The epidermal electronics she showed off from the University of Illinois were fantastic;
  • Sascha Pohflepp (who I notice had collaborated with Chris Woebken, one of the folks behind Animal Superpowers, a personal favourite of mine) did a nice breakout session on stories and data tracking - exploring the generation of autobiographies automatically ("auto-auto-biographies") from data captured by phones. "The future of writing will be the future of writing down everything", with the act of recording becoming meaningless as everything is naturally recorded: we're the last generation whose life won't be part of a perfect record. Sascha's been exploring these ideas through a project he called "the book of everything" which sounded like LifeBlog without the blogging: creating a narrative text automatically from on-phone data; Kiel Gilleade
  • Kiel Gilleade talked very clearly and entertainingly about lessons he'd learned from a year of gathering his own heart-rate data and streaming it publicly. Some of this covered awareness of health issues (e.g. his resting pulse failing to return to normal levels when sleeping, for a day after heavy drinking); some around data visualisation (time series graphs being rubbish for plotting lots of longitudinal data, coloured coded charts making more sense); and some around the social effects of such data sharing (friends contacting him, concerned to see his heart rate high when he's working hard);
  • The team behind iYou showed off some of their visualisations of communications patterns gleaned from their iPhones, looking at how communication moved between SMS, voice and Facebook in different contexts and for different people; at how different media tended to be used for different types of communication (SMS for locative chat, Facebook for messages mentioning love or happiness); and at how different media took precedence at different times of day or night. Autocomplete dictionaries maintained by mobiles are apparently interesting repositories of frequently-used words. One lovely comment which emerged from a group discussion afterwards was the fragility of the notion of "owning one's own identity": it's constructed to a degree by those around you, the idea that you own it just doesn't hold; iYou
  • James Burke led an interesting session around quantifying relationships, which took us towards the difficulty of measuring something so completely subjective, rescuing the whole idea of doing so by pointing out that even if such quantifications are devoid of any objective value, they're useful for stimulating helpful conversations;
  • Steve Dean did several talks, all of them excellent. One was a history and demonstration of Asmthapolis, a project to track asthma attacks on an individual level by providing inhalers which automatically record their use, generating data which can be useful on an individual level (for combatting subjective views of one's own condition) and societally for mapping asthma attacks and using these maps to inform investigations - as happened in Barcelona in the 1990s, when the unloading of cargo shipments of soya beans were subsequently linked to asthma break-outs. Some of the discussions in these sessions veered a little over my head (third order cybernetic feedback loops? emotional valence?) but Gary Wolf popped up to make a very interesting observation about the tension at the event between those demanding passive data collection (easy, transparent, all-seeing) and those for whom the act of actively recording was itself a source of joy.

That was day one :) Day two followed day one, as it so often does.

  • Ian Li gave a nice lightning talk about design considerations for QS products: provide an immediate benefit to the user, respect that their information needs change over time, and help them analyse many types of data as it does so;
  • Nancy Dougherty gave a fantastic overview of her experiments with self-made placebo pills to stimulate awareness of, and address, her moods: hacking her own psychology. The pills also contain chips which activate in the stomach and record readings of the inner state of her body, which combined with a patch she wore on her torso gave her a great deal of data to work with. And the whole experiment led to her adopting a mindset of greater control over her emotional state (including 10 minutes of emotional indulgence she noticed she was giving herself, before her placebos kicked in);
  • A long and popular session by Maarten den Braber on QS business models raised a few interesting points, notably that many of the participants seemed to presume these models would be based around a Web 2.0-style service. A nice chap from Jawbone quietly gave his perspective on things (which, coming at it from a hardware angle, was a little different), and was clear that they see a market for selling "millions of devices"; and that for many companies this whole area of self-measurement was "the next battleground";
  • Steve Dean returned to talk about the practicalities of behaviour change and strategies for achieving it - taking it a little bit beyond rehashing Nudge and towards the work of BJ Fogg - who was referenced several times, and moves a couple of notches up my reading list as a result; apparently quite a few of Fogg's students now work at Facebook, which employs many "hot trigger" techniques to stimulate repeat visits. The important thing seemed to be to provide a path of many individually small steps towards a goal, where intrinsic motivation is possible - rather than trying to continually beat or bribe your audience into behaving how you'd like;
  • And finally, Laurie Frick ended the conference showing off her work, consisting mainly of handmade objects derived from self-tracking data - starting from the notion that visual patterns and the rhythms of the brain are somehow connected.

A really interesting couple of days, that's triggered a few ideas I want to follow up and given me a great deal to mull on. The audience was enthusiastic and unashamedly geeky - it all definitely felt excitingly early-stage, though whether in a post-Nike+ world that's accurate is another matter.

I couldn't help but notice that many QS projects rely on after-the-fact analysis of data, and that if you believe that measuring changes what one measures, more immediate feedback would seem to be a useful thing. Context of analysis also popped up again and again - editorialising seeming as relevant and powerful when applied to personal data as to news. And I saw a persistent disconnect between the enthusiasm of the attendees and the number of stories of this stuff going beyond the geeky individual into the mass-market, which is likely the challenge for the field over the coming years. I'm left mulling over how to get this into everyones pockets…

And for your reading pleasure, here's a pile of links which were lovingly thrown out throughout the weekend:

Updated: Ian Li has mailed me with links to his design considerations presentation and one he gave on integrating visualisations with Innertube.me.

Quantified Self 2011

November 23, 2011 | Comments

A last minute booking: I shall be doing a panel session at the fascinating-looking Quantified Self European Conference this weekend, in Amsterdam.

Looks to be a great event, and I've been getting steadily more interested in this stuff since this talk I researched and gave back in 2009.

Rasta Far Eye: using sound to deliver ambient information to mobiles

November 20, 2011 | Comments

The modern mobile phone is chock full of sensors: accelerometers, GPS, microphones, cameras, altimeters, barometers, temperature - and more every year. Mobiles can see lots of things we can't, and give us new senses.

Lots of approaches to augmenting our senses are visual: the cliché of Augmented Reality apps is a camera's-eye view of the world with graphics overlaid. But at the same time, we're also easily distracted visually: interfaces that demand our attention can be counterproductive in some circumstances. Sometimes this happens to amusing effect: Microsoft riffed on it nicely in some recent advertising, and I love that the Geocaching have appropriated this problem with their hobby and stuck it on a T-shirt; but the consequences of distraction when you're driving really aren't funny.

The good news is that we're quite good at listening to things without getting distracted: the cocktail party effect demonstrates our ability to pay attention without conscious effort, and we consider the radio to be a standard part of a car. Plus it's considered entirely normal to walk around a city listening to music, nowadays: you'll get a few funny looks if you're glued to a phone screen, but white headphones are more than tolerated, they're a fashion statement.

I loved the work that BERG and Timo Arnall did with light paintings and wi-fi signals, and have been wanting to play with something similar for a little while. So at OverTheAir a few of us played with generating reggae from ambient signals, including Wi-fi; but we failed to get the Rasta Far Eye (as it was dubbed, in homage to The Great Upsetter) complete in time for the demos. This was all the more frustrating for my wanting a tool like this for my own use over the weekend, as I wandered around the beautiful Bletchley site trying to find somewhere with good connectivity to park myself.

So at the Power of Minds hack day being run by Rewired State this weekend, I gave it another go - constraining myself to watching wi-fi signals only, and regretfully dropping the reggae aspect of the original. It's an Android app which can look either for any open wi-fi networks, or track a specific network, and plays loops of music which get stronger and more percussive as the strength of the network you're looking for increases... or fade out into the background as your connectivity weakens.

I'm going to have a play with it over the next few days, try using it around town or on campus, and see if it's actually useful.

I think this class of thing might be handy for in-car usage, where attention should be carefully rationed - perhaps in this case tracking GSM signal strength would be more useful. When I last drove regularly I had a few occasions when I wanted to find an area of good mobile reception to make an important phone call, and this would help.

It's also occurred to me that most of the sound that phones pump out today is designed to alert the owner across a room - i.e. to stand out, be a little bit piercing, wake you up, or annoy. Once you're designing audio for ambient consumption or headphone use, I wonder if you'll need different sorts of sound? More research needed.

Speaking at Online Information 2011

November 18, 2011 | Comments

In a couple of weeks time I'm going to be speaking at Online Information 2011; I'll be presenting some tips for mobile success, based on what we've learned launching mobile products at FP. It's an interesting looking event, spanning librarianship, Internet and mobile - and a nice mix of industry and academia as a result. I'm planning to talk about some of the less shiny, but no less important, aspects of mobile.

I'm speaking as part of the "Going Mobile" session on day 2, alongside Steve Wing of the Guardian and the ever-present Chris Book.

If you're interested in other places to catch folks from FP and Vexed, there's a helpful list you can check out here. And if you're at Droidcon India today, run, now, towards the talk James Hugman is giving on Kirin.