Specific Experience

General

  • Embedded systems
  • Software architecture
  • Object Oriented Design
  • Schedule creation and maintenance
  • Requirements gathering
  • Specification writing
  • Unified Modeling Language
  • Design patterns
  • Classroom-based instruction/community college teaching (Electronics, OOD, Programming )

Languages

  • C
  • C++
  • Java
  • Objective C
  • Power PC, 68000, i386, and other assembly languages
  • Perl
  • Javascript/HTML/CSS/AJAX
  • Unix shells
  • Tcl, Expect

Tools

  • GNU tool chain, CygWin
  • Eclipse
  • Green Hills MULTI tool chain
  • Microsoft Visual Studio
  • Apple XCode
  • STL, Boost
  • Subversion source control
  • CVS source control
  • Perforce source control
  • PVCS source control
  • Microsoft Visual Source Safe
  • Microchip MPLAB
  • Cypress PSoC Designer
  • Enterprise Architect UML tools
  • Doxygen, JavaDoc

Operating System Programming

  • Linux kernel development
  • Linux driver development
  • Linux systems administration
  • Pthreads programming
  • LynxOS Real Time OS
  • Green Hills VelOSity
  • ThreadX
  • MicroC/OS-II
  • Windows Win32
  • Mac OSX
  • Phar Lap ETS

Communications

  • Sockets programming
  • TCP/IP, UDP, Multicast, HTTP
  • Bonjour/Zeroconf
  • I2C
  • SPI
  • RS-232, 422, 485, etc.
  • USB
  • HDLC, BISYNC
  • SCSI
  • I2S, SPDIF
  • MIDI
  • NMEA protocol

Hardware

  • Intel 8086 - Pentium processors, real and protected modes
  • Motorola 68000 processors
  • Freescale ColdFire processor (5206, 5307, 5272, 5474)
  • Freescale Power PC processors
  • ARC processors
  • Microchip PIC processors
  • Atmel AVR processors
  • Cypress PSoC processors
  • Zilog Z80 processor
  • Motorola HC11 processor
  • PC-104 systems
  • Flash memory technologies
  • Logic Analyzers, scopes, etc.
  • Basic digital hardware design