Curriculum Vitae Summary: Phil Carmody ====================================== Personal Details ================ Name: Phil Carmody Mobliz Ltd. Address: Tekniikantie 12 02150 Espoo Telephone: +358 40 5734741 E-mail: pc+cv@asdf.org Year of Birth: 1971 Academic Background =================== Appointed Apple Cooperative Researcher under the supervision of 2005 Professor Richard Crandall of Apple's Advanced Computation Group to investigate high-performance numeric computation, specifically on the Power Architecture. 1988-1991 B.A. Hons. (Class 2:1) in Mathematics, Trinity College, Oxford. 4 G.C.E. 'A' Levels, all grade 'A': 1986-1988 Mathematics, Further Mathematics, Physics, Chemistry. 2 Special Papers, both 'Distinction': Further Mathematics, Physics. Professional Experience ======================= February 2005 - present ----------------------- Field Application Engineer, Freescale Semiconductor * Onsite engineer supporting a customer's 2.5G GSM project. Embedded for the critical last 6 months of the project to assist with various aspects of their software development and testing process. Documentation creation, (customer) documentation review, (customer) code review, and debugging and maintenance of Freescale's platform code (C/RTOS). * Local support for all Linux-based mobile telephony and other portable devices, based on Freescale's iMX31 and related platforms, in Finland. Hands-on assistance customising kernel, bootloaders, etc. for project-specific hardware configurations. Real fun. * Local support for flagship Symbian-based mobile phone project with major Finnish partner. Specific responsibilities included verifying integrity of deliverables, documentation and code review, and onsite assistance at integration camps. March 2004 - February 2005 -------------------------- Consultant, Mobliz Ltd., a telecommunications consultancy. * Software specification, design, implementation, and testing in projects including: + Database backend for GSM and WAP content provision. + Web-based administration tools for the above. + Bespoke helpdesk management system. All using PHP and MySQL. * Tools in Perl and sh. * Version control using CVS. July 2002 - February 2004 ------------------------- Sabbatical - Research in the field of Computational Number Theory. Implementation of client, server, and client payloads for distributed computing project. It was mostly this private research that was behind my appointment as a Cooperative Researcher in Apple's Advanced Computation Group. Freelance PHP/SQL web consultancy. December 1998 - February 2000 - June 2002 ----------------------------------------- Software Engineer at Nokia Networks (Cambridge) which became Marconi, and subsequently Nokia Networks (Kilo, Finland) * Design and implementation of ASW-layer software for broadband and narrowband communication equipment, including: + Termination point handlers for SDH, PDH, and RF access nodes. + Generic software architecure behind all ASW components. + Maintenance of historical common libraries. + Ad hoc customer requirements for V52 access node. all of which were in C++. * Maintenance of a script-based simulation/testing platform for multi-slot racks in Perl. * Version control in ClearCase. * Defect management in ARS. November 1997 - October 1998 ---------------------------- Software Engineer at TTPCom Ltd., Cambridge, GSM Mobile Application Group (formerly The Technology Partnership Ltd.). * Design, implementation, maintenance, and testing of software for GSM handsets, including sole responsibility for: + Graphical user-interface design tool in Borland C++-Builder. + User-interface component compiler and automatic code generation tools in Perl. + Optimising 'dirty-rectangle' LCD driver in C. + Compression/decompresssion and caching libraries in C. * Build management system in Perl. * Version control was via DOS PVCS. August 1996 - November 1997 --------------------------- Consultant at Scientific Generics Ltd., an IT consultancy in Cambridge. Various roles in various projects: * Off-line log analysis tools for RF local-loop telephony system in C/C++/ Perl. * Web-based front end for those tools using CGI and gnuplot. * Productivity tools in Perl. * Automatic code generation tools to generate C source/headers and ASN.1 from a common MIB. * PCI drivers for a VOD (MPEG2) streaming system. * Version control was via ClearCase and the NT version of PVCS. December 1994 - August 1996 --------------------------- DSP Software Engineer at Loughborough Sound Images plc. (who became Blue Wave Systems, and were later absorbed into Motorola). * Software specification, design, implementation, and testing for: + OS for H.320 videophone card in C on TI's C80 DSP. + Double-buffering screen driver for the above. + Maintenance of C microkernel. * Automated build configuration in Perl. * Productivity tools in Perl, sh, LISP, and SQL. * Version control was via CMVC. July 1994 - December 1994 ------------------------- Freelance artist and computer-art consultant. Worked on Public Art projects for Manchester City Council, using a wide range of PC- and Mac-based products. September 1993 - March 1994 --------------------------- Visiting lecturer in C++ and Object-Oriented Programming at 3 Institutes of Technology in Helsinki and Espoo, Finland. * Lectured students who were already familiar with C or other imperative languages in: + Object-Oriented Programming. + C++. + Practical (real-world) programming. * Assistance with students' (bachelor's) theses in English. * Supervised lab sessions, and gave 1-on-1 tutorials on programming-related aspects of their projects. July 1991 - September 1993 -------------------------- Analyst Programmer and team leader at Pinn Cowdery Ltd., a computer graphics consultancy in London. * Responsible for specification, design, implementation, and testing of various projects: + Image compression tools for large (A0) bi-level images. + Hypermedia database in C/C++/SQL. + Image rectification utility for straightening scanned images such as maps. + Low-level drivers for various printer manufacturers. * Supervised teams of placement students. Skills ====== Fields of Expertise * Platforms: Unix (Linux/BSD), various embedded/realtime. * Languages: C, C++, Perl, sh, PHP, SQL, JavaScript. * Processors: x86, ARM, 68K, PPC, Alpha. * Development Tools: make, ClearCase, CVS, CMVC, PVCS. Languages * Expertise as above. * Familiarity with: LISP, sed, Java, Python, Tcl, Tk, awk, Mathematica, GP. Operating Systems * Linux - programming, network programming, administration, network administration, and use. * Embedded/realtime - VxWorks and various vendor-specific OSes - HI, TI. * Windows - mostly console programming. Architectures * Expertise as above. * Familiarity with: Sparc, POWER, HPPA, TI C80(DSP). Web Technology * HTML, XHTML * XML, XSLT * CGI * HTML preprocessors - PHP, ePerl * DHTML, JavaScript * Java applets * Apache administration * Client/server distributed computing