
Kernel Engineer at Canonical Ltd
Redhill, United Kingdom

Kernel Engineer at Canonical Ltd
Redhill, United Kingdom
16+ years of C, UNIX, Linux programming, kernel, application, embedded, real-time and micro kernels.
Experienced in porting large and complex applications and able to tune and optimize code for new target platforms. Proven track record of getting the job done first time, on time.
* Kernel maintenance, bug fixing.
* Linux Embedded Systems porting and programming (ARM, MIPS, XSCALE) for Set Top Boxes, Portable Media Players and Mobile Phones.
* Able to bring Linux up on bare metal systems, e.g. building toolchains, boot loaders, kernel, file system + Linux tools from scratch.
* Linux 2.4, 2.6 Kernel Programming, (Linux-2.6.17/arch/arm/mach-versatile/pci.c), as well as JTAG serial tty driver, frame buffer, GPS DMA engines, and porting WinCE drivers to Linux.
* Various Linux systems (Ubuntu/Debian, Redhat/Fedora, Slackware, MontaVista)
* pSOS application programming
* Written own micro-scheduler for TriMedia VLIW DSP (http://en.wikipedia.org/wiki/TriMedia)
* VLIW + DSP (porting and optimising applications on TriMedia, e.g. MPEG2 decoder, codecs wappers)
* Assembler: (ARM, TriMedia, 68000, 6502, 80x86, some MIPS)
* C (Linux kernel and user space apps)
* Software GPS (porting applications and kernel drivers)
* Porting Linux to DSP
* UNIX Experience: FreeBSD, AIX, Solaris
* 8051 firmware
Also:
* Porting flight planning system from SCO to Linux (http://www.airdata.co.uk)
* Wrote java search engine for http://www.worldscriptures.org/
* Ported UKC library system on 1991 from VMS to UNIX and OPAC data to Ingres based DS Galaxy (http://opac.kent.ac.uk) in 1993.
* Developed tape software for Seismos (http://en.wikipedia.org/wiki/Geco-Prakla)
* HTML 4.x, Python, Shells (csh, bash), F77, SQL (mySQL, Ingres), Perl
Goal:
Develop efficient code first time, all the time and delight customers.
Kernel programming. Low Level VLIW/DSP optimisation skills. Embedded Real Time Linux. C. Assembler..
(Information Technology and Services industry)
February 2008 — Present (9 months)
Kernel Maintainer for Hardy and Intrepid Ibex kernels. Worked on grub boot loader and ntfs-3g for Ubuntu Wubi.
(Public Company; 10,001 or more employees; PHG; Consumer Electronics industry)
July 2000 — January 2008 (7 years 7 months)
Senior Software Engineer.
Linux Embedded Systems porting and programming (ARM9, ARM7, MIPS, XSCALE) for Set TopBoxes, Portable Media Players and Mobile Phones.
Linux Kernel Programming
Porting WinCE drivers to Linux kernels.
pSOS Real Time application programming.
Designed and Developed micro-scheduler for TriMedia.
Assembler: (MIPS, ARM, TriMedia).
C (Linux kernel, Applications).
Software GPS (porting applications and kernel drivers).
Some ZigBee knowledge.
Python and bash scripting.
Experienced at bringing Linux Systems up on bare metal boards (ARM, MIPS etc) (building GCC, Kernel, Tools, Filesystems) from scratch.
(Public Company; 1001-5000 employees; Consumer Electronics industry)
June 2000 — December 2003 (3 years 7 months)
Senior Scientist: Philips TriMedia VLIW DSP and Digital TV Domains
Written own micro-scheduler for TriMedia.
DSP (porting and optimising applications on TriMedia)
C (Linux kernel, Applications)
Optimising MPEG2 decoder for TriMedia
Ported Linux 2.2.x to DSP
Written GNU C to ANSI compiler
(Non-Profit; 11-50 employees; Non-Profit Organization Management industry)
July 1998 — June 2000 (2 years)
Network, Web and Email Management for the Europe and Middle East Region
Installed Email System and built Linux Firewall
Wrote Java Search Engine for www.worldscriptures.org
Manged Y2K upgrades
(Public Company; 11-50 employees; Airlines/Aviation industry)
August 1997 — June 1999 (1 year 11 months)
Software and Network engineer for http://www.airdata.co.uk/
Managed UNIX data center
Ported AirData data system from SCO UNIX to Fault Tolerant Dual Linux Servers
Upgraded and managed X25 data network connections from MetOffice and NATS
Installed 64K ISDN network backup units
Various network and software projects
(Privately Held; 501-1000 employees; Oil & Energy industry)
June 1995 — June 1996 (1 year 1 month)
Software Engineer for the Siesmos Seismic Data Processing System.
Fortran and C programming
High Speed Data Tape data Streaming systems to Striped RAID disks
UNIX, AIX, Solaris
Parallel Super Computer Systems
(Educational Institution; 1001-5000 employees; Information Services industry)
July 1991 — August 1994 (3 years 2 months)
Computing Officer at UKC (http://library.kent.ac.uk/library)
Porting and managing Library On-Line Public Access Systems.
Ported Cambridge Library System from VMS to UNIX
Ingres Database Management: Loaded and Tuned DS Galaxy 2000 database http://www.ds.co.uk
Windows, DOS PC, VMS and UNIX IT Support
FreeBSD CD-ROM network server Support
(Privately Held; 11-50 employees; Computer Software industry)
June 1987 — September 1988 (1 year 4 months)
Junior programmer. Maintained DATS Fortran 77 signal processing modules on PDP11s (RSX/11M+), MicroVAX (VMS), MassComps, Intel 286 PCs. See www.prosig.com
Bsc (Hon) 1st class [ top of the year ], Computer Science, 1988 — 1991
Interests in Open Source, Kernels, Real Time OS, Compilers, C, UNIX, BSD
Open Source, Kernels, Compilers, Aeromodelling, MBTI, Astronomy, Code Optimization Hacks, Code Porting, Physics, Codecs, Philosophy, Music.
Several Patents