Archive for the 'boys toys' Category

iPhone jailbreak and vendor lock-in

Last week, I jailbroke my iPhone. This means that I can install applications without having to use the Apple appstore. Of course, this is nice. Outside of the appstore, there are lots of packages that you can install and applications that haven't been published by Apple (yet). I mainly jailbroke it because I wanted to use SyncJe for SyncML stuff.

When the first generation iPhone was there (without SDK) I understand that there was a need for jailbreaking, but nowadays, with a huge appstore, this need seems to be less, at least for normal users. iPhone hackers obviously want to be able to install additional tools on the device, but what I noticed is that the software that you can dowload on a jailbroken iPhone is often pretty crappy. Stuff crashes or doesn't really work the way you want it to (if you can install it at all; SyncJe doesn't on my phone). Since there are lots of free packages at the appstore, I prefer using them, in favour of the ones you can download from other sources. Another problem with these non-appstore packages is that there seems to be a huge number of sources, all providing different packages. Currently there are 2 installer packages (Installer.app and Cydia) which both contain a subset of available packages.

I like centralized repositories that contain packages that went through a quality check. The same applies for my Linux systems, where I don't want to add 100 extra sources to my apt config, just to run specific software, from which I don't know the quality. Of course, the whole appstore thing creates a vendor lock-in, which in a way is kind of bad, but on the other hand often guarantees some sort of quality control.

iPhone

Today, I got an iPhone 3g! And yes, it's very very very sexy. I hadn't played a lot with iPhones from friends, but I must say that it rocks. The interface is so nice and snappy. The only thing I don't like it that it seems that Apple doesn't really care about integrating with other systems than with their own platform. I happen to own an iMac, but even then, I had to jump through hoops to get my stuff migrated from my 'old' Nokia n61i.

I happen to use Zyb.com as an online backup for my contacts and calendars. My Nokia played nice with it and synced things with SyncML, but Apple decided not to support this. 3rd party apps aren't really that great or don't support syncing calendars. What I finally did was using the "Funambol" application to sync my contacts with Zyb, but because Apple closed the format of the iCal database, Funambol only does the contacts (same for Synthesis SyncML2iPhone). Then I exported my calendars from the Zyb site to vcalendars and imported them in Apple's desktop iCal application. From there, I could sync my calendar with iTunes.

The problem I'm facing is that I now can sync my contacts from my phone to Zyb, but not my calendar, which kind of sucks. I'm still trying to figure out a way to (except from installing an Exchange server) sync all my things (calendar, notes, etc).

De-pimping complete

On monday, I got new rims installed on my car. Now it looks much more classy than it did before. Also, the original springs were installed, which lifted the care about 4 centimeters. We also found out that the rims and tires that came with the car were too small. They were 2 or 3 centimeters smaller in diameter than original BMW stuff. So, in total, I guess the car was lifted some 6 centimeters, which is great for all the speed bumps here in the neighborhood. Anyway, thanks to Jay's Carconnect for helping me out!

And here are the before and after pictures:

p1010350.JPG Before
After After

Ubuntu 7.10 and Huawei e220

Yesterday, I got a HSDPA/UMTS USB modem. It's a Huawei e220, shipped standard with a KPN (and probably also an xs4all) HSDPA subscription. I hooked it up, but didn't seem to work out of the box with Linux. I run Ubuntu 7.10 (gutsy) on my laptop. After some research I found out that there were more people having problems with using the device in Linux. Some suggested that kernels > 2.6.20 shouldn't have a problem, but that's not what I experienced.
After trying many options, I got it working. First some background. The device holds both a GSM modem and a flash drive. The flash drive contains the installation bloatware for use on windows (and maybe even mac) systems. When you connect the device, the usb-mass-storage driver is loaded and you can mount the thing, but that's not what we want.
For some reason, when connecting the device, one serial port (managed by the usbserial driver) is found at /dev/ttyUSB0. However, for the device to work, you need to have 3 serial interfaces; ttyUSB0, ttyUSB1 and ttyUSB2. If it only gives you the first one (0), it won't work, not even a simple "ATZ" on the serial port. I'm not sure why you need three, because (we'll see that later) you just use ttyUSB0 to dial out.

Anyway, the following steps allowed me to use the device:

1. Download HuwaweiAktBbo tool from http://www.kanoistika.sk/bobovsky/archiv/umts/ and run (or fist compile and then run) it. This tool does some magic with the usb library and will enable the extra 2 ports on the device.

2. rmmod usbserial and then run "modprobe usbserial vendor=0x12d1 product=0×1003″. This will force the driver to get things going well. (Check with lsusb if the product is 0×1003, since I read it could also be 0×1001)

3. Run the tool you just downloaded. You should now find ttyUSB0-2 in you /dev directory.

To execute the tool (I renamed it to e220setup), I put the following in /etc/udev/rules.d/51-mobiledata.rules:

#/etc/udev/rules.d/51-mobiledata.rules
# Rules for HAUWEI e220
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1003",
RUN="/usr/local/bin/e220setup"
KERNEL=="ttyUSB0", SYMLINK="modem", GROUP="dialout", MODE="0660"
KERNEL=="ttyUSB1", GROUP="dialout" MODE="0660"
KERNEL=="ttyUSB2", GROUP="dialout" MODE="0660"

Now the device is setup and you can use /dev/ttyUSB0 to setup your connection. I use wvdial and my config looks like this:

[Modem1]
Modem = /dev/ttyUSB0
Baud = 460800
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
Init3 = ATM0
FlowControl = crtscts

[Dialer kpn]
Username = KPN
Password = KPN
Phone = *99#
Init2 = AT&F
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","fastinternet","",0,0
Stupid Mode = 1
Inherits = Modem1
New PPPD = yes
Dial Command = ATDT
ISDN = 0
Modem Type = Analog Modem

De-pimp my ride

My new wheels are great. It's a great ride and it's so much fun to drive the car. However, there is one small problem. The car is too low. I'm living in a neighborhood with a lot of speed bumps and most of them are too high so the bottom of the car scratches, even if I drive really really slow. Therefore I decided to have the lowering kit removed and put in the standard springs again. This should lift the car about 4 cm, which is exactly what I need. Since I also think that the rims are a bit over the top, I'm getting other ones. The ones that I now have look like they came from an Opel Calibra. I made an appointment with this tuning shop in Amsterdam to get some work done next Thursday . The owner of the shop has exactly the same car and know everything about it, which is great. He was pretty enthusiastic about my car and really wanted to help me do some things with it. I have xenon lights in the front, but the corner lamps were still standard. I'm getting them replaced as well to fit the head lamps.

Voiture

Well.. I guess I can't help it. Apparently I like "wrong" cars. Since I've been working (starting somewhere in 1999), I've always driven company cars, from a crappy Renault Clio to a nice and luxurious Audi a3. I think something like 6 in total. Somewhere along the line I drove a Honda CRX. Such a very wrong car, but nice in a way because it's so wrong. I remember a good friend telling me "dude?! that's sooooo not a car for you!" and I guess he was right. But then again, I sometimes like not doing the obvious. The a3 was definitely the best car I had, but in the IT business pretty common. The CRX (which I chose myself) was something totally different and unexpected which made it fun.

Yesterday, I did it again.. I bought a very wrong car. Since I started my own company, I needed a nice pair of wheels. The last few months I traveled by public transport and sometimes rented a car when taking the bus or train was not an option. Since I scored a very large deal last week and need to travel all across the country a lot, I decided that I really needed a car. First I figured that an old timer would be nice, since it's cheap to drive, but after looking for a good one, I realized that to get a nice old timer, you need to be patient and take your time to compare and such. I didn't have much time though. So I figured that I wanted a cool car to drive in and since my childhood dream is to drive a convertible, I decided to look for that. Since convertible cars are quite small in general (given some budget constraints), I looked for bigger convertibles. Last year I started doing some volunteer work, where I drive blind people to a swimming pool, swim with them and then drive them back home. I really wanted to continue this work and needed a car that would fit at least 4 people. So, I started looking at BMW's and after looking at 5, I finally found a nice one:

It's red, it's wrong and it makes noise, but it's so lovely to drive :)

p1010359.JPG

It's a BMW 320i M3 2.0l V6 with 150 bhp. It has all sorts of stuff in it, like a 1200W amp and a DVD player (no sat nav yet). I think I'll replace the rims in time, and I want to buy a hardtop as well.

Anyway, it fits in the neighborhood I live :)