Richard Guy Briggs
80
Wurtemburg Street
Ottawa, Ontario, CANADA, K1N 8M2
+1 613
860-2354
rgb
at tricolour dot net
http://tricolour.net/
Linux kernel network security programming
Embedded video hardware device driver programming
Telecommunications hardware device driver programming
Protocols: IPv6, IPv4, IPSec (ESP, AH, PFKEYv2, IKE), TCP, UDP, ICMP, HTTP, BRI, PRI, ethernet, 802.3
Processors: x86, ARM9, PowerPC, MIPS, 680x0 (68302)
Linux server admin: BIND DNS, SMTP, listserves, POP3, SSL, IMAPS, webmail, DHCP, Apache, SSH, IRC, SMB/CIFS, O/S installation, update, upgrade
Operating Systems: Linux (Debian, Ubuntu, TinyCore, SnapGear(uClinux, uClibc, U-boot, busybox), Redhat, SuSE, Caldera, Slackware, SLS), OpenBSD. Historical: MS Windows/NT, MS-DOS, UnixWare, Solaris, SCO UNIX, Netware, IRIX, OS/2, MacOS, ULTRIX, AIX, Interactive UNIX, CMS/VM, RT-11/RSX-11/TSX-11
Languages: ANSI C(gcc, cc), bash, perl, HTML, Python, Javascript. Historical: ARM9 assembler, 80x86 assembler, 68xx0 assembler, Prolog, dBase III+, Fortran IV, Lotus 123, Pascal, Waterloo Structured BASIC.
Hardware: reading schematics, debugging, probing, modding, digital scope, network analyser, OTDR
Public speaking and teaching, children to adults, topics have included: political platform presentation and defence, sexual health education, community electronic networking, open source network security, building energy efficiency features, solar electric vehicle fundamentals, human powered vehicle designs, intro to various open source tools, travelogues, residential solar panel technology
2010 - present: Contract Software Engineer
at
Tricolour Consulting (Ottawa)
Ruggedized Solid State NAS Embedded Linux system development (C, Perl, shell)
Embedded Linux network filesystem metadata integrity testing.
Embedded Linux build system porting.
Linux IPsec cryptographic processing testing.
2009: Term Software Engineer
at Amita
Corporation (Ottawa)
Linux minimalist distribution customization.
Linux O/S boot encryption survey.
Survey state of Linux on embedded development or evaluation platforms.
2007 - 2008: Senior Software Engineer
at
Axentra Corporation (was OEone)
(Ottawa)
Researched Certificate Authority requirements to implement a Hardware Security Module-based signing authority for Customer Premises Equipment.
Brought up an RPM development environment on MIPS and ported RedHat ES4 and custom RPM packages from ARM/PPC/x86 to MIPS.
Enhanced Perl release generation scripts for greater automation.
Added features and fixed bugs in CPE from kernel up to web UI for Linux on x86, ARM9, PPC
Execute performance testing on CPE to localize and eliminate bottlenecks
2004 - 2007: Senior Software Engineer
at
Lumenera Corporation (inc. 2002)
(Ottawa)
Design team member for new digital network surveillance cameras and adding features to existing models
Code software for digital network surveillance cameras, from kernel modules, imager drivers, API and Javascript GUI
Develop primarily in C, but also Python, Javascript, Unix shell
Develop for Linux on ARM9, x86, some exposure to Freescale (PPC) and TMS320C6xxx
Perform Linux system maintenance on common facilities
Acted as a mentor to junior and new team members
2003 - 2004: Software Engineer
at startup
Axigon Healthcare Technologies, (Inc. 2003, now defunct) (Ottawa)
Assessed and instrumented Speex patent-free speech codec as to suitablility for porting to a potential product platform
Contributed to design of network protocol and started development of network code for a future product
Worked with 3 different platforms including Linux-x86 userspace, Ubicom IP2022 SDKv5.4 and Microchip PIC 18 family
1997 - 2003: Software Engineering Contractor
FreeS/WAN
Project (Internet)
Maintained and augmented KLIPS, the kernel portion of this IPsec implementation for Linux.
Matured the FreeS/WAN kernel code to clear SADB and SPDB, unload module, statically link.
Implemented the PF_KEY_v2 socket family for the Linux kernel for use in FreeS/WAN.
Added a library to implement PF_KEY_v2 message building and parsing, shared by userspace and kernel space.
Reviewed and Integrated patches and features from open source contributors.
Maintained manual keying userspace utilities.
Participated in IPsec protocol development activities by attending IETF (Internet Engineering Task Force) meetings.
Tested packaging and interoperation.
Participated in IPsec interoperation workshops (bakeoffs) between IPsec vendors.
Made professional conference presentations in Ottawa (Ottawa Linux Symposium (OLS) - multiple years, SANS 2000), Sweden (NordU 2000), Paris (IPsec), Germany (Linux Kongress 2000), Australia (Sydney Linux Expo 2000).
1997: Software Engineering Contractor
Vitana
Corporation (Gloucester) (now trading as Pixelink)
Device driver porting from SolarisPC 2.5 to SCO OSR 5.0 UNIX for a family of multi-line (T1, E1, ISDN) telecommunications SCSA/MVIP cards.
1995 - 1996: Software Engineer
Vitana
Corporation (Gloucester) (now trading as Pixelink)
Maintained and developped device drivers for Mitel ISA bus telephony cards (dual T1, dual E1, 8-line ISDN), some with embedded 68302 processors, under SCO UNIX, UnixWare, OS/2 and Solaris,
Hardware and software documentation for ShapeGrabber, a 3-D laser imaging PCI processor with accompanying API,
Hardware documentation and software development for PCI to Motorola Qbus bridge chip evaluation board.
In-house NetWare, Solaris, MKS SI Configuration Management, UNIX and TCP/IP network support.
2010 - (ongoing): M. A. Sc., Electrical and Computer
Engineering, (part-time)
University
of Ottawa
Interest: Signal Processing
Completed:
Adaptive Signal Processing
Image Processing and Communications
B. A. Sc., Computer Engineering , Cum Laude
(Honours)
University of
Ottawa
Final year project: Artificial Neural Network Speech Recognition
Student project involvement: RALOS II Solar Car Team Electrical Systems Co-ordinator
Community Web/Mail Host (since 1998): Green Party, HPVOoO, CfSC, ConsCoop, OCLUG
Founding member of several organizations: HPVOoO, CCFood, ConsCoop, OCLUG
Designer/builder: ¾ ton bicycle cargo trailer
Experimental Solar Car Rayces: Various positions over 9 events in Canada/USA/Australia (1992-2008):
Participating Team -- Electrical Systems Coordinator/Strategy Team Member
Event Staff:
Technical Assistant
Observer
Technical Observer
Chief Electrical Scrutineer
Jury Member
Observer Manager
Photographer
Green Party:
Email list host and moderator/Riding
President/Electoral Candidate September 1997 - May 2003:
Founder/Chief Architect/Chief Administrator/Chief Trainer
Conservation
Co-operative Homes (ConsCoop) Network Committee (Ottawa) January
- April 1997: Home for Destitute Children (Orphanage) Volunteer
- Tutor/Teacher
Child
Haven International - Canada/Nepal (Kathmandu) August 1996 -
2004: Co-founder/Collator/Credits
C C Food Club
(Conservation
Co-operatives Homes) February 1996 - January 1997: Maintenance
Committee Chair
Conservation
Co-operatives Homes (Ottawa) March - April 1994:
Jackeroo
Nookawarra Station (Western Australia)
January 1994: Volunteer Neural Network Researcher
Department
of Electrical Engineering, University
of Queensland (Australia) 1991 - 1993/1997 - 2000: Technical
Producer for weekly public affairs show, volunteer
CHUO
FM 89.1, University of Ottawa / CKCU
FM 93.1, Carleton University
Ottawa Canada Linux Users Group (OCLUG), (since 1998), founding board member
OCRI UNIX (OCUNIX), (1990-1998)
IEEE, (1987-1993)
Canada Green Building Council (since 2012)
Music, Recording, Photography, Long Distance Bicycle Touring, Recumbent Bicycles, Canoing
Page last updated by Richard Guy Briggs Thu Mar 22 13:53:05 EDT 2012