Vernon Mauery

email: [my first name] (at) [my last name] (dot) com
http://vernon.mauery.com/

Skills

Programming Skills

Linux device drivers, user interfaces, embedded systems development, porting, debugging

Operating Systems

Linux, AIX, HP-UX, Palm OS, Windows

Development Tools

CVS, SourceForge, git, VIM, GCC, GDB, crash, KDB, KGDB, DDD, Autotools

Programming Languages

C, C++, ASM (MIPS, x86, ATMega), Bash, Python, PHP, SQL, HTML, Java

Interests

DIY electronics, Amateur radio (N7OH), embedded programming, networking, food (eating and cooking), reading, music, outdoors, woodworking, learning stuff

Experience

2006 to Present

IBM: Linux Technology Center

Beaverton, OR

  • Worked on the Real-Time Linux team to get Enterprise Real-Time Linux running on IBM hardware
  • Helped debug several networking issues in the -RT kernel (drivers, throughput bottlenecks, etc.)
  • Reduced hardware latency working with BIOS and BMC teams to remove SMIs from select IBM platforms
  • Rewrote the ibm_rtl driver and got it accepted into the Linux kernel
  • Lead interlock meetings with SuSE's SLERT team and RedHat's MRG team to make sure that IBM had a good relationship with each vendor

2004 to 2006

IBM: Linux Technology Center

Beaverton, OR

  • Work with a team of ten to support RedHat Linux and SuSE Linux on xSeries servers
  • Worked to support acpiphp and shpchp drivers on xSeries hardware
  • Led a small team to support OpenIPMI drivers and userspace program ipmitool on xSeries hardware
  • Rewrote the ibmasm RSA I driver to use the kernel events subsystem
  • Worked on the Real-Time Linux team to get Enterprise Real-Time Linux running on IBM hardware
  • Helped debug several networking issues in the -RT kernel (drivers, throughput bottlenecks, etc.)

2002 to 2004

Libstk: Open Source Set-top Box Toolkit

Provo, UT

  • Worked with a team of four core developers to design and implement Libstk
  • Researched latest C++ programming techniques to create cross-platform widget set
  • Uses Boost smart pointers and signaling, Freetype, and Überscript internationalization
  • Designed to be platform independent (rendering and event subsystems)

Summer 2002

IBM: Extreme Blue Internship Program

Austin, TX

  • Worked on a development platform for IBM's NP4GS3 Network Processor
  • Helped develop a software development suite for the NP4GS3
  • Presented this product with my team to IBM top level executives

2000 to 2001

Senior Project: Embedded Mobile MP3 Player

Provo, UT

  • Lead a team of three core developers to design and implement EMMP
  • Built and presented a working prototype to the Engineering Department
  • Project included over 20000 lines of code, custom kernel driver, custom user interface

Education

1999 to 2004

Brigham Young University

Provo, UT

April 2002
Bachelors in Computer Engineering
GPA 3.6
April 2004
Masters in Computer Science
GPA 3.85

Relevant Coursework

  • Embedded and Real-Time Systems
  • Operating System Design
  • Computer I/O Systems
  • Linux Kernel Internals (IBM course)
  • Linux Device Drivers (IBM course)
  • Linux Kernel Debugging (IBM course)