Interview with Iain Hibbert

From NetBSD Wiki

Jump to: navigation, search

This interview was taken by Zafer Aydogan on the 19th of December 2006.

Iain Hibbert aka Plunky
Iain Hibbert aka Plunky


ZA: Hello Iain ! Thank you for taking your time to do this interview with me. Iain. Let's get started by telling us who you are and where you are from?
IH: Well, I am Iain Hibbert and I'm not really from anywhere. I was born in 1966 and have lived all over the world. The longest time I have spent in any one town is 8 years. I am British though, of mixed English and Scottish ancestry.

ZA: Where you do live then, and what is your current profession ?
IH: I have lived on a yacht for the last 9 years and have no fixed home port, though sometimes I stay in one place for a year or two. Currently I'm staying for the winter in the town of Caernarfon, in North Wales. My work/life balance is heavily weighted away from the work side and I am not working at the moment.

ZA: How did you start working with NetBSD and when was this ?
IH: I first came to NetBSD in about 1994 when I was seduced by a 20" monitor and bought an old SparcStation 1 workstation. It was running SunOS 4.1 but I wanted to install something that I could fiddle with. The inbuilt serial ports dropped loads of characters running much faster than 19200 baud so eventually I bought a Magma serial card and wrote the sparc/magma(4) driver to get better internet access.

I packed up my computers in 1998 and lived in the sun for a few years, but in 2001 I started again with an old 386 laptop. MS-DOS is not worth using, so I came back to NetBSD because I liked the philosophy.

ZA: Tell us more about your bluetooth work in the NetBSD Kernel.
IH: As I have no landline, I use my mobile phone for dialup and in 2003 I bought a phone with Bluetooth so really wanted to dispense with the cable. I did a bit of searching and found that NetBSD had nothing but that maybe somebody might be working on something. I had no USB at the time, so figured that I would be able to port a driver for a PCMCIA card but really, the bluetooth stack would be beyond me. Then some bluetooth code did appear in the sources and I made the bt3c(4) driver to go with that.

The story faded away at that point until last year when I saw that it was claimed that somebody in OpenBSD had made a start on porting the FreeBSD Bluetooth code which was heavily dependent on Netgraph. I took a look at what they had and got it working but it was a terrible mess, so I tweaked and rewrote until I arrived at the HCI socket interface that we have today, when I realised that in fact this was only the smallest beginning as its only a way to talk to the hardware and not actually useful for anything else.

At this time, I was getting ready to settle down for the winter on the west coast of Ireland and though I had booked a space in a marina, I still had a month to wait, so sailed to a nice place I knew in Bantry Bay and struggled to create the L2CAP protocol while the September gales blew all around me. I decided by this time that it was easier to write from scratch rather than try converting the FreeBSD netgraph based code as I think it would have ended up very messy and difficult to understand, though that was useful for reference purposes when the Bluetooth L2CAP specifications were unclear.

When this stage was reached, and I had moved into my winter berth, I posted an announcement [1] to a NetBSD mailing list with the hope that this might encourage somebody else to step up and join the team as I was planning to get a winter job to replenish funds and would not have had much time. There was some interest, but the main result was that I was approached by Itronix who had been looking into paying somebody to do exactly this work on their behalf. Luckily for me, there was still plenty to do, so I accepted and the rest of the work was paid for by them. My original desires would have been fulfilled when RFCOMM was working and I could use a Bluetooth link to my mobile phone for dialup, but Itronix were interested also in HID and Audio, both of which would have not been possible due to lack of hardware.

The feature list we now have has satisfied the needs of Itronix for the time being, and I am back to writing software as a hobby so progress has been slow in recent months as I've been catching up on real world issues. In the future we should see a btcom(4) driver so that legacy applications can talk to a serial port directly, and there are plenty of improvements that can be made to the rest of the code to bring our feature list up to the level that Linux has.

ZA: When did you start coding in C and what would you advise newcomers for getting started in coding in C ?
IH: I started in C while doing a university course back in 1985. We had access to a VAX 11/750 running BSD. I like C because it is so simple and elegant, and you can adapt it to everything from hardware manipulation to graphical applications, and although you can hide complicated tasks inside specialist libraries, once you are up and running, you can go anywhere you can think of.

I think for somebody new to programming in general, the thing to do is to become comfortable in the environment that C gives you. Install software that comes with source code (such as NetBSD) and see what happens when you attempt to improve or customise your installation. I remember typing a BASIC program called 'Little Brick Out' that I found in Personal Computer World into a Commodore PET that we had at school for lunchtime game sessions. Once I understood what was happening, I could enter it off by heart (no permanent storage) and apply modifications to make it easy or difficult in strange ways.

ZA: Some more personal questions: Are you married and do you have kids? If yes, how many and what is their age ?
IH: I'm single with no children.

ZA: Your favourite movie or TV show ?
IH: Well, I don't have any TV but I like going to the movies - There are so many to choose from, but my most recent favourite would be a Hungarian film I saw last year called Kontrol.

ZA: Your favourite food ?
IH: Fruit. Its tasty and comes in a nice neat edible package!

ZA: Your favourite shell ?
IH: I use csh because I've always used it, but /bin/sh for scripts.

ZA: Your favourite editor ?
IH: Well, vi of course .. is there anything else?

ZA: Do you have hobbies beside NetBSD, like sports or music ?
IH: Well sailing, naturally, and I don't have a car so cycling features highly. I wouldn't call either hobbies though, its just a way of life.

Since I arrived in Caernarfon I have been helping out on a tracklaying gang for the Welsh Highland Railway , and I read an awful lot. I surf a little, though its not easy finding places where you can moor a yacht and find waves within walking distance. Thus, I haven't surfed much in the last couple of years.

ZA: What kind of music do you like, do you play any instruments ?
IH: I really like all kinds of music and generally have the radio playing if it can pick up some decent signal. I don't mind a bit of talk radio, but find it a bit distracting if I'm working. I really like miserable depressing music (Jesus and Mary Chain, Nick Cave) and get-up-and-go music (Pulp, Neutral Milk Hotel, Dub Syndicate) and my most recent enjoyable find is Emmylou Harris (Red Dirt Girl)

I had piano lessons for a while as a child, but it didn't really take. I always fancied being able to play the Banjo, but I think one might be a bit delicate for a sailing boat atmosphere.

ZA: Are there any other topic you would like to talk about?
IH: I have to say Zafer, thanks for producing the NetBSD Wiki for us all! Even though NetBSD is an open source project, we don't only need programmers to maintain the code, we also need advocates who can get the word out, and users who speak up about things for developers to work on. I've noticed feature requests get fulfilled almost immediately when a developer realises that was something they wanted to do anyway.

zafer 16:39, 20 December 2006 (CET)

Personal tools