ALICE J. CORBIN
ali.corbin@gmail.com
https://github.com/alijc
SKILLS AND EXPERTISE
Senior software developer for Linux, UNIX, VxWorks and other real-time OSes
Fifteen years experience in writing and maintaining real-time embedded kernels
Experience writing and maintaining both kernel-space and user-space drivers for Linux.
Graphical User Interface design and implementation, using X-Windows, Motif, TK, Swing, GTK, XUL
Software development in assembly, C and C++ for PC's, workstations and embedded systems
JAVA development
Scripting experience in bash, Perl, Python, Ruby, PHP and Javascript
Use of object-oriented methods for over ten years
Multi-tasking / multi-threaded issues with inter-processor communication
Writing portable code for a variety of platforms
Mozilla development (XFCE, XUL, XPCOM)
EDUCATION
B.A. Russian Literature and Language with high honors, Phi Beta Kappa
Michigan State University and Leningrad State University
EXPERIENCE
2005 – present
SOFTWARE ENGINEER
CDK Global/ADP Dealer Services, Portland, OR
Maintain and enhance the base layer of the DMS – the central computer for a car dealership.
Port the existing code base to newer distributions, and from a 32 to 64bit architecture.
Implement an upgrade to preserve the upper levels of the code base while updating the OS layer over multiple levels of Redhat linux releases
Mostly systems development in C, Perl and Bash, with additional GUI development, in ncurses, PHP, JavaScript and AngularJS
1996 - 2005
SR. SOFTWARE DEVELOPER / Consulting Engineer
Axian, Inc., Beaverton, OR
Modified the linux kernel to deal with new hardware.
Wrote and ported kernel and X drivers.
Modified the GNU compiler and assembler for new processors.
Wrote code for a high-definition TV set-top box.
Worked on retail kiosks, based on Mozilla and Linux.
Developed a memory repair system.
Ported a large system of C code from SunOS to Solaris, forcing it into the ANSI standard, and fixing potential bugs discovered by the GNU compiler.
Developed curricula for a Linux Systems Programming course for topics including semaphores, sockets, system calls, processes and signals and pipes, and for a Linux Device Drivers course on character and block drivers.
Evaluated a UNIX operating system to find Y2K problems (specifically, OSF with enhancements for performance and parallel processing). This required both testing and code inspection.
Maintained a multi-process, multi-threaded NT system used for monitoring the health state of a parallel computing system. The NT system interfaces with hundreds of 386 processors running VxWorks which in turn monitor the 9,200 Pentium processors in the Intel TeraFLOPS system at Sandia Labs.
Developed prototypes (in Perl/Tk, Tcl/Tk, C, and combinations thereof) to demonstrate possible choices for a GUI.
Developed C++ classes to deal with language localization and with security issues.
Ported LynxOS and GNU C++ code to VxWorks on a PowerPC.
1981 – 1996
EMBEDDED SOFTWARE ANALYST, Flight Test Engineering
Boeing Commercial Airplane Company, Seattle, WA
Led a development team for a graphics application that collected data on a VxWorks platform and displayed it on a UNIX workstation, using X-Windows and Motif.
Designed, developed, tested and supported through full software life-cycle a real-time multi-tasking/multi-threaded operating system software for a network of computers running Linux, VxWorks, and HP-UX.
Developed various Perl scripts to aid software development.
Served as mentor to colleagues to improve the use of tools, methodologies and programming techniques.