Text Version
Rob Buse
Cincinnati, OH
abqb5w@r.postjobfree.com
No recruiters Please.
Objective
To design and implement, innovative, high quality software.
Professional Experience
7.10 - Present
Software Engineer
Cincinnati, OH
Log DB
Web Interface for field service to view log files from control systems.
Replaced manual process of hunting down log files.Implemented using Python, web.py, sqlite, and lighttpd.Collects, parses, and indexes tens of thousands of logs a day.MiscellaneousWrote Python scripts to migrate 5 years of source control data from legacy source control to SVN. Scripts maintanced all history, comments, and branches.Devloped a simulation framework and libraries for communicating with control systems in Python. Control done via OPC (OpenOPC w/ National Instruments PLC) and Modbus over Serial.
6.05 - 7.10
Software Engineer
Ann Arbor, MI
Code Generator
In house tool used to specify software interfaces in XML for rapid generation of bug free, well commented, C++ classes.
Designed and implemented Generator using Python and wxWindows.Created code templates for an inter-process
communication layer that automates nested
C++ object serialization, endinaness swapping, and pretty printing of structures.Created component that generates device drivers and
stubbed IOCTL handlers.Code generator has been used in production of two device drivers and ten
server/client applications, saving developers from writing and debugging thousands of lines of code.R5000, T7000 Projects
In-dash computers for heavy truck and recreational vehicles. Systems feature CD and USB playback, an iPod interface, satellite radio, external camera display, GPS navigation, vehicle systems monitor, trip computer, and tire pressure monitors.
Wrote a VNC client using C++ and the QNX Photon mircoGUI.Developed a device driver for a serial based
touch screen device.Created an intelligent high speed serial to TCP/IP bridge that
allowed us to interface our VNC client to a
3rd party system.Wrote utility to monitor memory usage and report low memory conditions.P7000 Project
In-dash computers for public safety vehicles. Systems feature speech recognition, radio communications management, and police vehicle equipment control.
Modifed QNX based firmware updater to work with Linux MTD flash interface.Ported existing sound framework to work with Linux sound architecture, ALSA.Wrote Linux ALSA SoC driver for custom i2s device.Created userspace/kernel interrupt bridge so Legacy userspace drivers work with Linux kernel.Ported existing I2C driver to work on Linux.Mobile Media Dock Project
Portable music device docking station for vehicles, supporting iPod and flash media.
Modified Greenhills Board Support Package for the Analog
Devices BlackFin 539 processor to run on Lectronix custom
hardware.Added USB Stack and USB media detection code.Developed a shared memory version of Lectronix's
abstract inter-process communication layer.Navigation Server
Largest module for the 7000 Project. Application displays maps, calculates routes, provides audible directions, and allows searching of map data.
Created proximity search component that used 3rd party geographic
data engine to find map features and points of interest
around a given location.Modified 3rd party Python map scripts to categorize
points of interest data.Implemented map marker component which allows arbitrary
icons to be shown and updated in map coordinates.Implemented Module for installing and managing user defined POI databases.Maintained proximity search and POI components.MiscellaneousWrote wxPython based log viewer for intelligent capture and filtering of serial and syslog data.Created wxPython based regular expression search for searching source trees.Implemented posix glob for Win32.Modified U-Boot universal boot loader
to initialize Coral-P video device and display splash screen.Updated Integrity IDE Driver to support
BlackFin I/O pipelining.Wrote a tool called Generic Tester that parsed Doxygen XML
output and created C++ unit tests based on developer's
Doxygen comments.Created generic server, client, driver, and application classes
to replace standard entry points which enabled components to share
common code and be controlled from a single point. Wrote python
scripts to migrate code base to new classes.Developed Python scripts to interact with SourceOffSite source
control server and automate code sharing and moving.
3.03-6.05
Software Developer
Ann Arbor, MI
Maintained and expanded Cybernet's
massively multi-player simulation system.Added functionality to achieve
High Level Architecture (HLA IEEE standard 1516) compliance.Worked extensively with GNU/Linux, G++, Gdb, C++ STL, TCP/IP sockets, and the pthread library.
3.98-5.99
Computer Technician
Michigan Technological University, IT Department
Houghton, MI
Troubleshot, repaired, and built Intel and Sparc based computer systems
12.98-2.99
Software Developer (Contract)
Hennessey Engineers Inc.
Trenton, MI
Developed two civil engineering applications that aided in detention
basin calculations. Both were coded in C++ using Microsoft
Foundation Classes for the GUI.
5.98-8.98
Web Programmer
Bencomp Inc.
Alpena, MI
Developed an online real estate database using the
Apache web server and Perl/CGI.Personal Projects
Created seq24, a real-time MIDI music sequencing
system for GNU/Linux using GTK-- GUI library and
the ALSA midi API.Ported Seq24 to win32 using MinGW LibraryReleased under the GPL, Seq24 is currently available
with most major linux distributions.A typical new release will receive several hundred
downloads within the first week.
Flash game project's using Adobe's
Flex 3 SDK and written in Actionscript 3.0Technical features include: A* path finding, hierarchical state machines, JSON based level loading, various game AI techniques.
PIC Microcontroller
Developed a small circuit which allowed old game
system controllers to be used as a USB HID joystick on
a modern Operating System.Modified USB stack for devices hardware.
Digital Signal Processing
Developed an object oriented DSP system for
creating music synthesizers.System included band-limited oscillators,
multi-mode resonant filters, envelope generators,
and a note sequencer.Software coded in C++ using MFC and the Microsoft
DirectSound API.Education
Bachelor of Science in Computer Science
Michigan Technological University
Houghton, MI, 2002
Compiler Construction
Developed a compiler that translated a Pascal like language into Sparc assembly language using flex, bison, and C++.
Operating Systems I, II
Extended NACHOS (a minimal operating system a with MIPS simulator) to
include multi threading, system calls, virtual memory,
multi-programming, and a user shell. Computer Networks
Wrote a multi-client/server file transfer application that used raw UDP
packets and provided its own transfer control layer. Artificial Intelligence
Implemented various AI concepts in Lisp and Prolog
Parallel Programming
Wrote several scientific programs for a Linux beowulf cluster.
Computing with Geometry
Worked with C and OpenGL to implement Bezier, B-spline and NURBS curves and surfaces.
System Software Project
Member of a team that developed a graphical object relation program in Java using the swing API.
ActionScript 3.0Assembly x86, Sparc, MIPS, Blackfin, PowerPC, Microchip PIC
LibrariesC++ STLFlex/BISON
Operating SystemsMicrosoft Windows (x86)Linux (x86, Freescale 5121)QNX Rtos (Freescale 5200)GreenHills Integrity (BlackFin 539)Nexenta GNU/OpenSolaris (x86)References
Supplied upon request.