Status: tired

What I couldn't do in the last four years in Japan I've finally managed to do in only two weeks: I'm now thinking in Japanese. Involuntarily, I might add. For the past two weeks I've been knowledge-transferring my brain to other people's, and it's been mostly a Japanese-only experience. As a result my throat actually hurts from speaking too much (people who know this is a very rare thing) and my Japanese level improved a lot, ironically, just before leaving the company.

Work has been quite busy, but that didn't stop my bosses for giving me a chance to present my work in a final presentation. This announcement came as a bit of a surprise to me, and I had to rush to prepare everything in time. I wrote a couple of days back about the iPhone rocket launcher app that I wrote during lunch time. My boss is a great guy who likes this kind of stuff, so he told me it would be absolutely ok to show it in my final presentation. I have to admit that I looked forward to a chance like this, but I really lacked preparation time. Somehow I managed to finish everything 30 minutes before the presentation start. The rocket launcher covered under a bunch of napkins and quite inconspicuous, I was ready to surprise-move it during the end of my presentation. Well, it did move, for about half a second... Little did I realize that my iPhone was connected to a wireless network on the south side of the building, and the meeting room was at the north side... I got my revenge later though, after the next presentation. Walking towards the south side of the meeting room meant that I was able to give a quick demo of the accelerometer application. My boss told me afterwards that he was feeling rather endangered after the first failed launch, as the rocket launcher stopped moving just when it was pointing exactly at him...

Tomorrow is my last day at work, but in reality I feel like today was my last working day. Today I could finish programming, bugfixing and documenting, and I managed to release new versions of all the tools I worked on. Not to worry though, as people have been testing those versions for the past two weeks, and they're quite stable. As the final day approaches I am starting to realize that I'm really going to miss working here. It's really becoming 'final' now...

On a completely unrelated note: I highly recommend you to NEVER buy a Suunto Observer watch. The watch itself is great but the wrist band is a piece of crap. I've already had to replace it five times in the last four years. Note that the wrist band is a special part and needs to be ordered from Suunto directly, which costs a lot of money and a lot of time. Shame on you, Suunto.

One more day...

Posted in Daily Life , Tech | Tagged , , , , ,

iPhone rocket launcher

USB rocket launcher is a nifty desktop toy with which you can threaten your neighbouring cubicles with missile attacks. You can control the movement and firing of the launcher via USB with a program running on the PC. Being bored at work during lunch time gave rise to the idea of controlling the launcher using the iPhone. Turns out I'm not the first one to try this, but it was an interesting experiment nonetheless.

The SharpLauncher source code was a great help in building my own RocketServer, listening on a RocketSocket for RocketConnections from basically anywhere. I made two rather plain-looking iPhone apps to control the launcher. One app uses buttons, and the other one uses accelerometer values to control the movement.

Since I'm not going to have time to work on this in the near future, I decided to post the source code here, hereby released to the public domain. Have you have fun with it :)

iPhone application source code

Server binary (Update 2010-03-18: fixed a stupid bug)

(Usage: should run fine without any parameters. If it fails, try giving it your public IP. Eg: RemoteRocketController 192.168.0.x)

Posted in Tech | Tagged , , ,