Donal Lafferty CONTACT DETAILS Mail: 53 Westgate St. Augustine St. Christchurch Dublin 8 Rep. of Ireland Email: lafferty@engineer.com Tel.: +353 86 805 8802 (Home) Web: http://www.precise-concise.com Citizenship: Canadian, Irish EDUCATION Sept 1999–Present Trinity College Dublin Dublin, Ireland * Completed PhD in Aspect-Oriented Programming Software Development supervisored by Dr. Vinny Cahill. Aug 1995– Aug 1998 APEGGA Edmonton, AB, Canada * Completed mentorship program to become a Professional Engineer licensed by the Association of Professional Engineers, Geologists, and Geophysicists of Alberta. Sept 1991– April 1995 University of Alberta Edmonton, AB, Canada * B.Sc. with Distinction in Computer Engineering. RESEARCH PUBLICATIONS Conference: Lafferty, D. and Cahill, V., Language-Independent Aspect-Oriented Programming, in OOPSLA’03, (Anaheim, California, USA, 2003). [18% Acceptance Rate] Text Book: Cahill, V. and Lafferty, D., Learning to Program the Object-Oriented Way with C#, London: Springer-Verlag UK, 2002. (http://csharp.dsg.cs.tcd.ie) DEVELOPMENT ROLES 2002–2004 Weave.NET Dublin, Ireland Designer, Developer, Project Manager * Weave.NET is weaver for language-independent aspect-oriented programming. (Source: http://www.precise-concise.com/WeaveDotNET.zip) 2002 CLIFileReader Demo Dublin, Ireland Designer, Developer * Package to demonstrate using CLI File Reader library to access CLI metadata and IL (byte code) streams. (Source: http://dotnet.di.unipi.it/MultipleContentView.aspx?code=155) INDUSTRIAL EXPERIENCE PROJECT LEADERSHIP Jan 1997–Sept 1999 GE Fanuc Edmonton, AB,Canada Lead Developer – Embedded Real Time Control Team GLC 100 Project: * Responsible for development and release of realtime control kernel for a proprietary machine controller with touch screen MMI powered by NEC V810 processor and RX732 Itron O/S, system coded in C++. (http://www.pro-face.com/product/glc.htm) FrameworX Project: * Responsible for development and release of ControlView CE, a port of GLC control kernel to proprietary hardware powered by Hitachi SH3 processor and WindowsCE O/S. (http://www.geindustrial.com/cwc/products?pnlid=2&id=ctlst) Aug 1995–Nov 1996 Process Solutions Canada Ltd. Edmonton, AB, Canada Control Systems Developer University of Alberta HVAC Project: * Responsible for development and release of realtime control kernel for project to replace university-wide HVAC control system. Control kernel ran locally on industrial PCs powered by QNX with a TCP/IP stack, linked by the campus network. (http://www.pscl.com) TECHNICAL EXPERTISE Distributed programming platforms * C#/.NET Framework (4 yrs programming) * Java/JDK (4 yrs teaching). Embedded O/S’s * Windows CE V2.00/V2.10 on SH3 * QNX V2.00/V4.00 (POSIX compliant) * RX732 (Itron standard) on NEC V800 series * UNIX (Digital, Solaris) Driver development * RS232 communication protocol and drivers for WindowsNT/95 & proprietary hardware. * TCP/IP drivers for WindowsNT/95/CE & QNX. Familiar languages * C++/C * Pascal * UNIX Shell scripting (C-Shell) * VB.NET/C#/SML.NET * Java Embedded-specific tools * ROM Emulator (C++ source debugged with emulator supporting only C and V800 series assembler) * Cross compilation (Green Hills Embedded C/C++). Commercial IDEs * Microsoft VisualStudio (including VS.NET) * BorlandC++ (V4.5/V5.0) Revision control systems * RCS * SourceSafe Development methodologies * Object Oriented Analysis and Design * GE Fanuc Software’s in-house procedures (ISO 9001-1994 compliant). TEACHING COURSES Winter Term 1999 Griffith College Dublin Dublin, Ireland Lecturer * OO Design and Implementation, BSc in Computing, Senior Freshman year. * Operating Systems, BSc in Computing, Senior Freshman year. Michaelmas Term 1999 Trinity College Dublin Dublin, Ireland Lecturer * 1E8–Introduction to Engineering (Computer Engineering section), BSc in Engineering, Junior Freshman year. LECTURES Nov–2003 “Language Independent Aspect-Oriented Programming”, University of British Columbia, Canada Nov–2003 “Language Independent Aspect-Oriented Programming”, University of Victoria, Canada May–2003 “C#”, Royal Holloway, University of London, England Mar–2003 “Reflection: What use is it?”, University of Cambridge, England Dec–2001 “Java to C#”, University of Strathclyde, Glasgow, Scotland Sept–2001 “Java to C#”, Microsoft .NET Crash Course for Faculty and PhD students, Cambridge, England SUPERVISION 2000–2002 Griffith College Dublin Dublin, Ireland BSc. Thesis Supervisor * I supervised four student in both 2000 and 2001 and eight students in 2002. DEMONSTRATING 1999–2003 Trinity College Dublin Dublin, Ireland Course Demonstrator * Responsible for seminar and lab teaching for 3 groups of 8 students taking the introduction to programming course, Junior Freshman year. This involved 5 hours of instruction a week. EDUCATIONAL PROJECTS 2003 Trinity College .NET Day Dublin, Ireland Organiser * Arranged day of presentations from Microsoft technologists and university recruiters. Summer 2001, 2002 Java Text Book Website Dublin, Ireland Project Manager * Supervised a summer student each year for an 8 week projects to develop an online course for introductory Java programming course. SERVICE RESEARCH COMMUNITY INVOLVEMENT 2004 AOSD 2004 Student Volunteer Lancaster, UK 2003 OOPSLA 2003 Student Volunteer Anaheim, California 2000 ICSE 2000 Student Volunteer Limerick, Ireland BROADER COMMUNITY INVOLVEMENT 2002-2004 Dublin University Dance Society Dublin, Ireland Committee Member * Responsible for maintaining membership above 450 students, organising weekly lessons with professional instructors, and recruiting new committee members. 2001 Dublin University Dance Society Dublin, Ireland Society President * Organised participants for Tralee international dance competition as well as their training, increased membership to above 450 students. 2002–2004 Dublin Canadian Society Dublin, Ireland Committee Member * Involved in developing a Canadian community group in Dublin, and organising events such as Canada Day celebrations. 2001–2002 St. Patrick’s Day Festival Dublin, Ireland Community Volunteer * Worked information booth during this week long festival, steward for VIP stand during the parade, steward for evening functions. 1998,1999 GE Fanuc United Way Campaign Edmonton, Alberta Employee Organiser * Co-chair of United Way Campaign in GE Fanuc’s Edmonton office, * Raised $7000 in 1998, $12000 in 1999. 1998–1999 Edmonton General Hospital Edmonton, Alberta Community Volunteer * Offered company to elderly patients in extended care ward one evening a week. 1998,1999 Sourdough Raft Race Edmonton, Alberta Taylor Industrial Software Team Organiser * Organized my office to build a raft to and enter a crew for annual Sourdough Raft Race (http://www.sourdoughraftraceassociation.com/index.html) INTERESTS * Current Affairs, PC Video Games (Real Time Strategy) * Swimming, Ultimate Frisbee, Cross Country Skiing REFERENCES Prof. Vinny Cahill Associate Professor of Computer Science Trinity College Dublin * PhD supervisor * Contact: vinny.cahill@cs.tcd.ie (http://www.dsg.cs.tcd.ie/~vjcahill/contact.html) Dr. Fabien Petitcolas MSR University Relations Team Cambridge, England * Contact: fabienpe@microsoft.com (http://research.microsoft.com/~fabienpe/) Mr. Kevin Campbell Manager, GE Infrastructure Edmonton, AB, Canada * Contact: Kevin.Campbell@GEFanuc.com Mr. Tony Mullins Course Director, Faculty of Computing Griffith College Dublin * Contact: tonymmullins@eircom.net Dr. Antonio Cisternino Research Fellow University of Pisa * Contact: cisterni@di.unipi.it (http://rotor.di.unipi.it/cisterni/default.aspx)