Blogity blog blog

This is my weblog. I write about projects and stuff I build in my spare time, be it code or tinkering with physical objects. You can find out more about me on my homepage.

Nod your head, zombie bunny: A paper robot driven by an Arduino

Last weekend, I was lucky enough to attend a very special workshop. Manuel Odenthal aka wesen gave a hands-on introduction to building robots made out of paper and we built one of his own designs, the zombie bunny. Apparently, there is a whole scene of paper robot makers (as one would have expected on the Internet), but the idea of using servos and an Arduino with the paper animation is new. Building the robot was great fun and of course I have to share a video with you with the bunny nodding his head:




Comments (View)

Getting the Order of Things Done: Life Hacks and Technologies of the self

Before poststructuralism struck, life was easy. Powers and governmentality were seen as relatively simple things and in order to become one of the good guys, you just had to go to the other side. Then suddenly everything became a process, a discourse that continuously defined and redefined players in the game. New tools were needed for that definition work and among the mightiest of these tools (“power tools”, get it?) are what we call the technologies of the self.

According to Foucault, technologies of the self are the forms of knowledge and strategies that “permit individuals to effect by their own means or with the help of others a certain number of operations on their own bodies and souls, thoughts, conduct, and way of being, so as to transform themselves in order to attain a certain state of happiness, purity, wisdom, perfection, or immortality.”

The cult of productivity is a great example of technologies of the self in action. The promise is clear: A productive workflow will make you a more productive and eventually more successful worker. Success is potentially available to everyone and will lead to happiness.

I’m hardly the first to notice that the plethora of productivity websites (LifeHacker and 43folders are probably just the biggest and most visible examples) that have sprung out of the cult of productivity some time after 2004 produce such an overflow of time-saving solutions that browsing these sites has in itself become a counter-measure to what they promise.

Most (if not all) of these sites can be traced back to a talk given by Danny O’Brien at the O’Reilly Emerging Technology Conference in San Diego, California in February 2004. Entitled “Life Hacks: Tech Secrets of Overprolific Alpha Geeks”, it collected observations on how productive geeks use simple scripts, text files, and ad-hoc programs to organize their life. Everyone has them and rarely are they talked about: the todo.txt in your home folder, the quickly hacked RSS feed thing to your account balance, the Google calendar for your social life.

Calling these solutions “hacks” is — in a way — an example of applying technologies of the self itself. My favorite definition of “hacking” comes from the 1980s state monopoly time of telecommunication in Germany, when the federal Deutsche Bundespost (then a state organization overseeing all forms of telephony and postal services in Germany) called hacking “atypical user behavior”.

“Atypical user behavior” is such a beautiful definition of “hacking” mainly because it points to the subversive nature of appropriating technology in an unintended way — almost making it sound like something deviant or immoral. Although the minds of the (mainly white, middle-class, male) hackers were not inspired by thoughts formulated in Queer Theory (that surfaced almost a decade later), one is almost tempted to call hacking “queering technology”.

By making ourselves more productive with “life hacks”, we apply technologies of the self: We appropriate technology, we take our lives in our hands — while cleverly hiding the fact that eventually it’s all an attempt to pursue the path of the ruling discourse and its promise of happiness through success.

And yet. And yet. I live out of the tasks I define in “Remember the Milk”, a wonderful webservice that I can access on my mobile phone and in the Web browser. I don’t use a full-blown orthodox GTD system, but I have priorities and contexts, I define projects and due dates for everything from work issues to the most private tasks. I collect and file links that I come across on a typical day on the Internet in Instapaper, where a single click on a bookmarklet keeps me from forgetting them and where I can process them later. I keep notes (like the number of the deck I parked the car at) in Evernote, and again it works from my notebook computer as well as from my phone. In the event of having no gadget or no Internet with me, I write down everything (really everything) in a small black notebook I carry around and put it into my other, electronic, brain extensions later.

It may all be a trick I play on myself. It may all be an application of technologies of the self. But it helps me put structures in my life and it feels creative. These tools eventually are what I use to define myself and at the same time their inherent structures (todo lists, notes) define me.




Comments (View)

FireCheckIn

1A23E010-6754-4D68-A2E2-524CB392CA79.jpgA little tool I wrote and deployed on Google App Engine got quite some publicity recently — well, for a very small tool with an extremely limited target audience of geolocation geeks. The point of FireCheckIn is to sync your check-ins at Foursquare to FireEagle. Foursquare is, in their own words “part friend finder, part social city guide, part nightlife game.” It can be played at http://foursquare.com.

What’s FireEagle then? It’s like a standard data sink for location data. With your permission, other services and devices can either update that information or access it. Backed by Yahoo!, FireEagle works with a plethora of application that can be looked up at http://fireeagle.yahoo.net/gallery. A simple application would be EagleTweet by Dominik Schwind that can tweet your location or set your location in Twitter. You can setup EagleTweet to read your location from FireEagle. If you sync your Foursquare check-ins to FireEagle, your location in Twitter will be set once you tell the world that you’re at a new venue.

The magical thing about all that is that FireCheckIn makes extensive use of OAuth, a protocol for connecting web services without storing the user’s password. OAuth is a little frustrating at time, since nobody seems to understand the details and Foursquare, FireEagle/Yahoo!, and Twitter all use different implementations of the standard. But when it works, the OAuth dance is a thing of beauty.

Twitter _ Ben Ward_ FireCheckin to Google to F ....jpg

Everything was proudly written in Python, using the Kay framework, which is awesome. Further magic comes from foursquare-python and fire-eagle-python-binding. Oh, and the very nifty oauth.py by Leah Culver was helpful, too. FireCheckIn is fire and forget: Once you have successfully connected your Foursquare account to FireEagle, all syncing to FireEagle will be done automatically with every check-in to a venue.

This little project, completed in a few hours, made me proud when both Foursquare and FireEagle promoted it on Twitter and in their app galleries. People really like the single landing page approach of the (rather simple) design and so far, several hundreds of people all around the world use it, which is much more than I expected. The logs on Google AppEngine were fun to watch when Foursquare twittered about my project. Just after their tweet I saw this spike:

: Spike




Comments (View)

In praise of Sugru

Sugru is one of the things that you don’t know you need before it surfaces in your world. It’s a tinkerer’s dream, an adhesive that cures into a soft silicone material at room temperature. It’s probably best explained in the little video that you can find on their homepage:

There are many reasons for me to love sugru, but here are a few:
  • It’s cheap. So cheap in fact that it’s in the impulse shopping zone.
  • It works and you’ll probably already have a thing in mind that you can fix with it: Shoes, handles, toys, stuff.
  • I love how they stress the “hacking” aspect. Their claim is “Hack things better” and they define a hack as “a clever solution to a problem”, which is awesome. As a hacker who has grown tired of hearing stuff about computer crimes when hacking is mentioned, I approve this message. :)
  • The name comes from the Irish word for “play”. More awesome names from lesser-known languages, please!
  • Like Lego bricks, sugru tickles a certain spot: It’s like kindergarten again with your beloved Play-Doh, but it’s also serious business and a way for “real grown-ups” (whatever that is) to fix things and do projects. Serious play-time! Hackish neoteny!
I improved the MintyBoost I blogged about with sugru. I smeared some of it over the sharp edges of the tin, I secured the USB cable which is now rock-solid, and I put a little sugru underneath the PCB so it won’t touch the metal surface of the tin. I believe the result looks gorgeous. See for yourself:

Sugru-fied MintyBoost




Comments (View)

What time is it?

Can there be a question much simpler than this? And yet, when I had to answer this question in a little piece of code some days ago, little did I know what i was getting into.

Of course, time and dates are confusing and although they were about the first thing to be measured with contraptions and automata, their units are simply too human (read: insane) for machines:

Our units of temporal measurement, from seconds on up to months, are so complicated, asymmetrical and disjunctive so as to make coherent mental reckoning in time all but impossible. Indeed, had some tyrannical god contrived to enslave our minds to time, to make it all but impossible for us to escape subjection to sodden routines and unpleasant surprises, he could hardly have done better than handing down our present system. It is like a set of trapezoidal building blocks, with no vertical or horizontal surfaces, like a language in which the simplest thought demands ornate constructions, useless particles and lengthy circumlocutions. Unlike the more successful patterns of language and science, which enable us to face experience boldly or at least level-headedly, our system of temporal calculation silently and persistently encourages our terror of time. (…)

It is as though architects had to measure length in feet, width in meters and height in ells; as though basic instruction manuals demanded a knowledge of five different languages. It is no wonder then that we often look into our own immediate past or future, last Tuesday or a week from Sunday, with feelings of helpless confusion.

— Robert Grudin, Time and the Art of Living (1982)

And to add insult to injury, there are timezones. Don’t get me wrong: I fully understand the concept of different times in different places. On the Internet, however, we should stick to Greenwich Mean Time. They don’t call it “Coordinated Universal Time” for no reason — and to keep with the theme of making things unnecessarily confusing, Coordinated Universal Time is abbreviated as UTC.  When I read that the reason for that was that the name is given in English and the abbreviation is given in French, I gave up trying to understand it. I already had more than my share of craziness at that point.

The tricky thing about timezones is that they pop up when you wouldn’t expect them. In my case it was in the FireEagle API. When calculating when a position in FireEagle was last changed, I thought that I could get the delta by just substracting the timestamp of the last FireEagle entry from the current time (GMT/UTC). How naive of me! OF COURSE, FireEagle logs its data in Californian time, being a Yahoo! company effort… This means I first have to find out what time it is in California right now and then convert that to GMT:

Pacific Standard Time (PST), the timezone California is located in, is 8 hours behind of Coordinated Universal Time (UTC). But then again, that would be too easy. To make life more interesting, man has invented Daylight Saving Time. And to make that even more interesting, some really arcane rules were attached to that. Here’s an excerpt:

It probably goes without saying that these rules when DST begins are entirely different in other timezones, say in Europe — just to make things even more interesting. A question as simple as “What time it is?”, a question you could ask a first-grader, suddenly becomes really, really complicated, once you have to tackle it with a computer…




Comments (View)

Turning your Google Profile into a nice-looking homepage

Did Google Buzz catch you by surprise? Maybe you noticed that you have a Google profile for the first time ever because of Buzz. I’ve been using this apparently little-known profile thing for some time now, (partly) generating my homepage at http://www.johl.io/ from it. johl.io runs on Google AppEngine — the way I see it, Google gives me a server for free through AppEngine and with the profile I get an el cheapo CMS for free to keep a description of myself and a collection of links where I keep stuff (Flickr, del.icio.us etc.). Does it get any cheaper? It’s probably the nerdiest substitute for Geocities ever.

Here’s a (slightly edited) snippet of the core of the code I use to generate my homepage. I didn’t include the template, but then again, it’s pretty straight forward once you have extracted the right template values:




Comments (View)

MintyBoost

Minty Boost: A small battery-powered USB charger. Designed by LadyAda. www.ladyada.net/make/mintyboost/index.html

I bought this thing at 26C3 from Mitch Altman, soldered it together and since yesterday, it even works: My friend Sebastian at C4 spotted the mistake I made — I put in the boost converter chip the wrong way (there were even notches on both the chip and the socket and still I managed to fail at this simple task).

What does the MintyBoost do when it’s done? Easy. According to LadyAda, inventor of the MintyBoost:

This project details a small & simple, but very powerful USB charger for your mp3 player, camera, cell phone, and just about any other gadget you can plug into a USB port to charge! (…)

The charger circuitry and 2 AA batteries fit into an Altoids gum tin, and will run your iPod for hours! 2.5x more than you’d get from a 9V USB charger! (See Process for math/calculations) You can use rechargable batteries too.

Some numbers…

  • iPod video (tested, using alkaline batteries): 3hrs more video (1 full recharge)
  • iPod shuffle (not tested): 60 hours more (5 full recharges)
  • iPod mini (tested w/rechargables): 26 hours more (1.5 full recharges)

The MintyBoost lives in an Altoids can. This is how mine looks like when closed:

And this is how it looks like when it’s charging my Android G1 phone:




Comments (View)

O HAI

My coolest birthday present so far is this piece of code that is behind johlcat, a Twitter bot that retweets everything I say on Twitter in LOLSPEAK.

You can find the git Repo at GitHub, of course.




Comments (View)

Kneipenstricken

Kneipenstricken

One of my goals for 2009 is to knit more. The possibilities for crafting are endless, but alas, so are the excuses I can make up for not doing it: I don’t have time for it, I would have to leave the computer, I don’t feel like knitting in hot weather, it’s boring to knit alone… these are just some of my favorite reasons.

When a friend and vintage hardware geek asked me to join his knitting group called “Kneipenstricken”, I knew I just had to do it. The idea is to meet in a bar and knit. Nothing more, nothing less. The bar is a punk/hardcore music venue in Köln-Mülheim and the looks we get from the usual crowd of vegan punkrockers there are special, but it’s a lot of fun. I picked up a project I started in December which is knitted Sushi. At the speed I’m working there it’s pretty possible that I’ll have something to show off very soon.

Kneipenstricken




Comments (View)

Finally knitting the bunny

Work in progress

For months I’ve been knitting a very simple pattern and there are several reasons why it took me so long. I started at the annual EasterHegg event this year, a workshop weekend during Easter, organized by the Chaos Computer Club. Inspired by Rose White’s talk on The History of Guerilla Knitting at the 24th Chaos Communication Congress in Berlin in December 2007, pallas of the CCC Cologne offered a series of knitting workshops.

Hacking and crafting have a lot in common. Making and breaking things and the wonderful stuff you can build in your basement or garage is one of the most noticable trends among traditional hackers and coders. There are quite a few reasons for that, but one reason, which is certainly not the worst, is that it’s fun to both learn some new skill and create something, even if it requires neither code in an editor nor a soldering iron. Since the workshop was over Easter, our task was to knit a bunny.

Originally I had planned to finish the piece during that weekend, a goal so ambitious that I completely failed. My first attempts looked ugly and several stitches were just wrong. While knitting is no IQ test, it does require some skill that comes with experience. After starting over at least 5 or 6 times and leaving the poor bunny in a corner for months, I decided to finally finish it. This blog post is part of my attempt to motivate myself to get it done.

The pattern couldn’t be any simpler: It is nothing but a square done with a stockinette stitch, just one row of knitting and one row of purling. Once it’s finished, it will be sewn together in a very clever way to make a bunny. I’m also thinking about giving the bunny blinking red eyes with LEDs, but let’s see how things will turn out. It certainly helps that I’m currently commuting by train and carry the wool and needles with me all the time. I’ve have got much faster and more skilled in a matter of days, so I’m confident that the project is finished soon.




Comments (View)