Tony Ibbs

Summary

I am an experienced programmer and toolsmith, with particular skills in Python and C. I write clear, easy to maintain code. I am adaptable, interested in and able to take on new fields and skills as necessary. I am self motivated, enthusiastic, able to work independently or as part of a team, and have good communication skills.

I have active skills in: Python (since 1994), Django, shell scripting (bash and fish), Git, Vim, Emacs.

and significant past experience with: C (1988-2014) and C++, cross-compilation toolchains, embedded Linux (x86, MIPS, ARM), Busybox, Flask, REST, Java (including JNI), TeX/LaTeX, Bacula (backup system). Eclipse, XML and XML-Schema, Subversion, Mercurial, Perforce, object-oriented database design and implementation.

I have experience with national and international standards, both in creating and using them.

Contact: tony@tonyibbs.co.uk

Experience

From 1980 to 2003 I worked for Laser-Scan in digital cartography, or GIS (geographical information systems) as it became. Some of that time was on secondment to Glasgow University. I was a core developer of Laser-Scan's digital cartographic tools, and acted as technical liaison to OS(GB) and MCE(RE). I was one of the original three developers of their GIS, writing its storage/persistence layer and many of the core utility modules. I introduced and supported the company's use of C, Emacs and LaTeX. I had a particular responsibility for transfer formats, writing software for many formats, providing general in-house expertise, and acting on several related standards committees. I also consistently acted as a toolsmith, gathering common code into libraries, maintaining documentation and testing systems, generating useful tools, etc.

From 2004 to 2014, I worked in set-top box (STB) and embedded systems development, for SJ Consulting, Amino Communications Ltd. and Kynesim Ltd. Most of my STB work was on TI hardware, both MIPS (AR7) and ARM (DaVinci, Beagleboard, etc.). I worked at all levels, from the initial system integration (writing a serial bootloader and UBL (user bootloader), filesystem design, initial graphics driver support) up to browser integration and functional and continuous integration test support of the final system.

Whilst at Kynesim I also worked on the Metropolitan Police RAW CCTV Replay system (displaying video from video surveillance systems), and did Python consultancy on scientific instrument user interfaces for TeraView.

For Kynesim I administrated and was principal developer on several open-source projects, including muddle, a build system especially aimed at constructing firmware for embedded systems, kbus, a lightweight messaging system for embedded Linux platforms, and tstools, a set of cross-platform command line tools for working with MPEG data.

In 2014 I joined Velocix, part of Alcatel-Lucent and later Nokia, as a Python developer. Much of my work was on the REST API for their CDN management backend. I also acted as a local Python expert, and as a FOSS advisor.

In 2017 I joined Arm, working on the Update Services team, part of Pelion Device Management, using Python3 and Django to manage IoT devices.

I helped start the Cambridge Python Users Group (CamPUG) in 2007, and have been running it since. For this I won a John Pinner award (for service to the UK Python community) in 2017.