Updated June 30, 2013
Hardware Tools, PCB Tools, Devices, Databases, Compilers, etc.
Hewlett-Packard AI, Quick Test Pro (QTP), IXIA, Spirent SmartBits, ExtJS Application Framework, Catalyst web application framework, Eclipse IDE, Mellanox Voltaire InfiniBand switches, Makefiles, GNU C/C++ (native and cross-compile), GDB, GNU Emacs (for use with GDB), Atmel Visual Studio, IAR Embedded Workbench, CodeWarrior, RealView Development Suite, various hardware debug adapters (RealView, Segger, AVR JTAGICE mkii, SiLabs, etc), UNIX System V Native C Compiler, Oracle, Sybase, Veritas File System (vxfs) and Veritas Volume Manager, Subversion (SVN), Collabnet, HP Softbench, SunOS C compiler, nroff/troff/ditroff/groff, regular expressions (regexp), Brocade FibreChannel switches, OASYS (Green Hills) 68000/10/20/30/881/851 C Cross Compiler, OASYS (Green Hills) 68K Cross Assembler, UniFLEX Native C Compiler and Assembler, Microsoft C, Microsoft Macro Assembler, Xilinx ISE Foundation/EDK/Platform Studio/ChipScope Pro, Altera Quartus II/Nios II/Megacores, Mentor Graphics ModelSim, Xilinx Spartan FPGA Family, Altera Stratix FPGA Family, Mentor Graphics Expedition PCB, Cadence OrCAD, Agilent 16700A/B Logic Analysis System and Digital Storage Oscilloscopes, Hewlett-Packard 1650B Logic Analyzer, Tektronix Storage Oscilloscopes, Synplicity Tools, CUPL Logic Compiler/Simulator, SPICE, AutoCad, Microsoft Office, PXEboot/bootp/DHCPd config, Bugzilla, ISO 9001 Process Quality Control, Release Management, Memory Management (with and without MMUs), etc.
Computer Languages, Operating Systems, Routers, etc.
Microprocessor, Embedded Processor, and FPGA Expertise
x86 (32- and 64-bit), Atmel AT32 AVR UC3 Family, ARM, PowerPC, MC9S12XDP512 (Freescale K60/S12/S12X families), 8051 (and variants), Silicon Labs C8051F060, Xilinx Microblaze, Altera Nios II, Xilinx PicoBlaze, Xilinx Vertex II/Spartan2-3, Altera Stratix/Cyclone, Cypress PSoC, Maxim/Dallas DS80C400, XPORT, Rabbit RCM2200, SPI, I2C, SPARC, UltraSparc, IPL (Itanium), MIPS R3000, 68030/68000 family, 6809, 8085, 6502, Z-80, ATCA, VMEbus, PC-ATbus, SBus, VXI, IA-64 (Itanium/IPF)
Gyan Technologies, Cheyenne, Wyoming – Firmware/Hardware/Software/Electrical Engineer (1995 – August 2007, June 2012 - Present)
o OpenStack Grizzly/Folsom/Essex and OpenNebula setup, admin, debugging, etc (Quantum, Nova, etc). Became familiar with Cisco’s version of OpenStack Folsom (using Puppet, Cobbler, Quantum, etc).
o Led development of Raman Spectrometers using embedded CPUs, CPLDs. Wrote the embedded OS, software, and configuration for same. Control CCD and laser devices using SOC (System-On-Chip) controller, UARTS, SPI, analog to digital converters, digital to analog converters, etc. Use PID control techniques to control CCD Peltier Coolers, current draw, temperature, etc. Develop and debug firmware for MCU to communicate with off-board ADCs and other devices via SPI. Embedded OS did all its own memory management without MMUs. Utilize knowledge of Verilog and Xilinx Spartan CPLD family to develop and debug real-time system. Work closely with other engineers to develop, debug, and test the entire system. Extensive use of logic analyzers and oscilloscopes and other test equipment.
o Inspect assembly output of C compiler for correctness to ensure proper operation and optimization of code.
o Schematic Capture and PCB layout using Mentor Graphics Expedition PCB and Cadence OrCAD.
o Developed AES256 implementation using accelerated hardware (Freescale K60) and on Linux servers (Python).
o Implemented Flash File System for microSD cards.
o Experience with IAR Embedded Workbench, CodeWarrior, Atmel Visual Studio
o Incorporate LCD/touchscreen LCD panels, mobile phone camera (YUV / YCbCr 4:2:2, 4:0:0 sub-sampling and JPEG video), and LCD/Camera controller into instrument for DoD. Utilized knowledge of digital color spaces to transfer images and video from camera to LCD controller to the LCD panel (RGB 5:6:5, etc) and to a host embedded processor. Designed hardware interface to LCD/touchscreen panels. Utilized mobile-phone components (e.g. 2.2 inch and 1.8 inch LCD panels and touchscreens). Incorporated LED backlight controllers and wrote software to control the LCD/touchscreen backlight.
o Develop FPGA configurations using Verilog for Xilinx / Altera FPGAs and CPLDs (e.g. Spartan, Virtex, Spartan, and Stratix).
Hewlett-Packard, Fort Collins, Colorado – HP Storage (“StorageWorks”) Division. Systems/Software Engineer V / SW Engr QA III (August 2007 – June 2012)
o Led successful development and deployment of HP Cloud Automation Infrastructure (“AI”) built around VMware ESX / Labman and HP MSA and EVA storage arrays. Wrote extensive infrastructure framework to automatically provision, deploy and manage VM clusters and physical machines in the cloud, established communications between the cloud and users, provided Network control, and automatically undeploy and unprovision resources. Automatic clusters suspend / poweroff in case of error and save state for manual analysis. Set up and managed cloud datastore on top of HP’s MSA and EVA storage products. Created distributed resource pools of components (VMs, physical servers, iSCSI storage, networks, test suites) for automatic provisioning. Infrastructure in the cloud was built dynamically from these components based on high-level abstraction description. Users could choose which components to use based on datastore (if user didn’t care, it was chosen automatically), etc.
o Architect and developer of the AI for testing HP Storage iBRIX product family. Used primarily for running program suites (e.g. tests) across HP Storage Division NAS.
o The AI sets up and manages clusters (or just single machines) via scripts supplied by users. AI supports user scripts written in Perl, Python, C/C++, and Java. Used SWIG locally or on remote machines (physical and virtual). Used STAF (Software Testing Automation Framework – OpenSource) extensively. Adaptable to any test harness. The AI also used many other OpenSource projects. Generate extensive reports. Wrote facilities to automatically write results to MySQL, email reports, schedule resources and deployments, etc. Designed high level description file formats for provisioning abstraction, testing, and other purposes.
o Developed major sections of the AI including the scheduler, VM interfaces, Cron, Resource Scheduler/Manager, Network Control, user command line interfaces, user configuration files’ format, checkpointing, logging/debugging, etc. Works with both clouds and physical machine clusters. Developed VMware Labman interface for automating suites on VM Clusters (Linux and Windows). Designed and wrote facilities to automatically generate and email reports. Used with many third-party testing harnesses (such as QA run, fsSmoke, Mantis) and facilitates working with other test harnesses. Designed to be able to test pretty much any kind of product, software or hardware.
o Saved hundreds of man-hours per month by creating automated Windows parallel build environment to work in the cloud. This allowed product builds to be completely automated for multiple users simultaneously. Used Cygwin and OpenSSH and leveraged work done by others. Shared this configuration so other engineers could use it as a template for their own cloud build servers.
o Collaborated with QA developers to deploy File System Smoke Test Harness (“fsSmoke”) in a virtual environment using the AI Framework. Collaborated with QA Developers to migrate their test harnesses to the AI Cloud.
o Developed automated Fault Injection utilities and tasks for the team’s Automated Infrastructure (AI). These allowed control of Ethernet and Fiber ChannelNetwork switch ports and controlling power to individual blades and servers using HP’s OA (Onboard Administrator), iLO (Integrated Lights Out) via SNMP, XML scripts, TCL, Expect and Perl.
o Release Management and Linux RPM packaging. Installed and administered Bugzilla. Automated QTP (Quick Test Pro) in HP’s AI.
o Convert legacy test harnesses to local requirements for HP Storage Division’s needs
o Wrote extensive documentation for both users and developers. Collaborated with others to review manuals.
o Mentored junior engineers.
o Constant collaboration with other teams in the US and Internationally to get design input of software releases and to help other teams fix their projects. Collaborated with engineers on other teams to solve problems. Gave technology presentations.
o Became very familiar with HP Storage Cluster products. Set up and tested SAN/NAS arrays. Config iSCSI disks to Linux systems.
o Collaborated with other developers to review test scripts and suites.
o Develop SNMP tools for controlling Ethernet Switches, power, and other devices.
o Set up and tested performance of InfiniBand network for iBRIX cluster using Mellanox Voltaire InfiniBand switches. Setup and administer Amanda Backup Suite on HP tape libraries for team’s main development server. Install and administer Linux and Windows Servers on numerous HP blade and rack servers. Add SAN/NAS (MSAs, etc) storage to rack-mount servers. Setup and administer team development and testing servers.
o Developed Kickstart (PXE Boot scripts/configurations for bare metal installation automation) configs for Linux and Windows OSes for various customers. Helped other teams with same.
o Mentored new/incoming members of the team.
o Took numerous internal classes to broaden my horizons
Broadcom / Precision Tech, Fort Collins, Colorado – Firmware/Hardware/Software/Electrical Engineer (September 2006 – May 2007)
o Ported Linux kernel and system to ARM-based chip (ARM926EJ-S MCU) and Broadcom board that booted from flash, executes in place (XIP) and uses a small amount of RAM. Board Bringup from bare metal to operational Linux command line via BusyBox, etc. Project Leader.
o Created x86 Linux embedded systems with optical drive boot (no hard drive). Developed builds and scripts to assist embedded system bring up. Incorporated graphics, etc onto read-only filesystem. During boot, system converted to read/write in-memory filesystem on the fly.
Covidien, Longmont, Colorado – Senior Hardware/Firmware/Software Engineer. (May 2008 – October 2009): Code Reviews for Embedded Systems written in “C”. Reviewed embedded software for a multi-cpu system according to Coviden’s internal coding standards for their Tumor Ablation Products.
Hewlett-Packard, Fort Collins, Colorado. Advanced Telephony Compute Architecture (ATCA) Embedded Systems – Test Engineer (January 2005 – October 2006): Embedded systems programming (Linux), qualification, and testing on x86/x64, ARM CPU systems, and CPU blades. Develop C programs and Perl/Expect scripts for short- and long-term testing. Setup/Provide necessary internal Linux infrastructure internal and external to ATCA chassis for PXEbooting, DHCP, etc for development, debugging, and testing. Develop user interface to PXEboot various operating systems in specific slots. Qualify/verify that vendors’ ATCA components (Shelf Managers, Ethernet Switches, PEMs, Chassis, CPU blades, etc) conform to PCMIG specifications and interoperate with each other. Found numerous defects in vendors’ ATCA components and reported these in HP’s internal ABE Defect Tracking System.
Syndrome Corporation, Cheyenne, Wyoming – Senior Hardware/Firmware/Software Engineer/Design Manager (April 2001 – August 2007): Develop FPGA configurations using Verilog for prototyping products targeting Xilinx and Altera FPGAs and CPLDs (Spartan, Virtex, Spartan, and Stratix Families). Develop custom hardware from circuit design to PCB layout and fabrication to RTL code. Use Xilinx ISE development tools including Platform Studio and ChipScope Pro. Use Altera Quartus design software along with Nios II and Megacores. Design with various microcontrollers (8051, PicoBlaze, MicroBlaze, Rabbit, ARM, Nios II, etc) in embedded designs (firmware, uClinux, and hardware). Worked with customers from concept to functional specifications to prototype to final testing to production. Design various embedded hardware components with and without embedded processors. Develop applications using C#.NET and VC++ 6 to prototype and access company-developed controller hardware attached to Windows platform. Develop Windows platform software using the Microsoft tools. Develop host applications and embedded code for USB 2.0 High-Speed devices. Extensively use Logic analyzers and oscilloscopes. Used Mentor Graphics schematic capture and PCB layout tools. Submit same to fab house for PCB manufacture. Test same before and after assembly.
Shuffle Master, Inc., Fort Collins, Colorado –Project Lead/Systems Engineer - Embedded Linux (December 2002 – December 2003), Embedded Hardware/Firmware/Applications Development (November 2003 – March 2005): Reduced equivalent of one-man-month of manual testing into an overnight automated testing session by developing a new in-house tool. Managed team for release management of internal Linux embedded software tools. Develop automated build and test/verification systems for company's embedded hardware using Linux (with real-time patches from FSMLabs). Design new embedded code implementations and test/verify same. Develop Linux systems to simulate embedded hardware environment to facilitate rapid build tests. Develop hardware solutions to facilitate rapid testing of actual hardware/Linux environment.
The Wyoming Operation, Inc. (TWO Corp), Cheyenne, Wyoming - Senior System Analyst and Director of Network Operations. Chairman Of The Board. Principal. (1996 – 2006): Key player in development and marketing efforts. Managed five employees in technical areas. Develop admin tools and cgi-bin scripts in Perl. Designed and implemented extensive Linux web-based automated user administrative and billing system. Debug and fix Linux device drivers. Develop system monitoring tools in-house. Install and administrate Unix (Linux, OpenBSD, UnixWare, Solaris, HP-UX, SCO, FreeBSD, USL 4.2, etc) and Windows Servers for Internet Service Provider (ISP) functions and at client sites. Compile, install, and administrate web servers (Apache and Microsoft Internet Information Server), ftp servers, email servers, and DNS servers for Unix and Windows. Install, configure firewalls and Intrusion Detection Systems in standalone machines and Cisco routers. Install and administrate T1 leased, Frame Relay, ATM, and Ethernet routers (Cisco IOS, Compatible Systems) and entire in-house network for the ISP. Develop Cisco router configs to handle DSL and Frame Relay as well as the main internet access for the entire company. Utilized these Cisco router facilities: RADIUS, ATM, AAA, TACACS, Line Cards, Frame Relay, BGP, OSPF, RIP, access lists, etc. Set up security on all routers. Coordinate with other ISPs and telco for T1 and 56KB leased and Frame Relay connections. Design and setup PPP server for dial-up service on Linux, Windows, and UnixWare (POTS and channelized T1). Designed and implemented xDSL for public use (Bridging and PPP over ATM, etc). Install and admin email-to-fax gateways. Install and maintain SNMP tools. Design, develop, and implement in-house networks for ISP operations. Administer and write code on Unix systems. Consult for various clients on a regular basis regarding UNIX networking and admin issues (e.g. sendmail, WANs, connectivity, web servers, security, dial-up access). Design, implement, and administer small-town community-service POPs and state-wide LANs. Co-hosted daily technology-oriented radio show.
AT&T Bell Labs / Lucent / Avaya Communication, Westminster, Colorado. Senior Systems Development Engineer / Senior Systems Analyst. (August 1995 - May 2001):
o Develop code for Conversant Customer Relationship Management (CRM) Interactive Voice Response (IVR) system. Port IVR system software from Unixware 2 and Unixware 7 to Solaris 2.x. Develop code for Multimedia Messaging system in C, Perl, shell, awk.
o Assist embedded software and hardware development teams in bringing products to market. Assist members of IVR product development teams in many aspects of Unix SVR4.2 and SVR5 functionality. Apply bug fixes and enhancements to voice/multimedia messaging system using in-house source control system. Assemble various software packages into packages and sets (for UNIX pkgadd facility) for field deployment.
o Technical point of contact for SCO/Caldera-Avaya partnership. Assist system testing teams to test new and bug-fixed software releases. Assist other teams with Unix product development and admin tasks.
o Developed extensive web interface for administrative functions (e.g. install packages, find dependencies between packages, remove packages) of Messaging System Products using Perl cgi-bin.
o Assist members of Intutity/Audix (multimedia messaging) product development teams in many aspects of Unix SVR4.2 functionality. Assist in discovering and fixing Unix kernel, driver, and library bugs; also, apply enhancements to same.
o Project Lead for a Year 2000 (Y2K) projects. Develop Perl scripts for web-based administration tool for voice mail systems. Develop/install debugging tools. Develop backup/restore software for various products.
o Project lead for Disaster Recovery product (allows restoration of UNIX system via a boot floppy and a single tape). Port installation programs for use with CD-ROM. Apply bug fixes and enhancements to voice/multimedia messaging system using in-house source control system.
o Assembled various software packages into packages and sets (for SVR4.2 pkgadd facility) for field deployment. Develop transition plan for and migrate multimedia messaging product for OS upgrades.
o Developed expert working knowledge of UNIX (USL and UnixWare) SVR4.2 kernel/library internals.
o First contact for "triage" team - emergency response to field support escalations for North America and the Pacific Rim.
o Assist system testing teams to test new and bug-fixed software releases.
o Install, administer, and troubleshoot issues involving the Veritas File System (vxfs) and Veritas Volume Manger. Assist other departments with Unix product development and admin tasks.
o Assist other developers in embedded-systems development.
o Regular participant in ISO 9000 processes for product development processes.
Senware, Broomfield, Colorado. - Senior Software Developer (March 2001 – December 2001): Develop Perl code for Automatic Oracle Database Tuning Tool. Develop Unix packages for Perl scripts and SQL code. Developed packaging for HP-UX, Solaris, AIX, DEC Tru64, and Linux. Install Oracle Database software. Developed automated testing system for verifying product’s web interface.
Government of the State of Wyoming, Laramie County, City of Cheyenne, Cheyenne, Wyoming. - (Approved Vendor) – Linux/Unix Consultant (Ongoing): Develop code, disaster recovery, data conversion, etc.
Other Clients / Work History
J.D. Edwards / ADIA Information Systems, Denver, Colorado. Senior Analyst. (January 1995 – June 1995): Microsoft Windows to UNIX porting. Write shell, awk, and other scripts. Use porting tools such as WM_MOTIF, MainWin, Wind/U, and Mirage to port Windows programs to UNIX. Develop porting plan and schedules. Work closely with Windows programming staff. Modify print engine to utilize troff/ditroff/groff for printer output.
US West / AT&T-GIS / ADIA Information Systems, Denver, Colorado. Senior Analyst. (May 1994 – October 1994): Sybase development and server porting from Macintosh to UNIX: Port servers from Macintosh environment to SVR4 UNIX. Implement/rewrite Macintosh toolbox calls into UNIX system calls and SQL using C++. Ported company-wide sales database system to Sybase/C++/SQL. Tune servers for performance by rewriting critical sections. Design/implement server architecture. Wrote shell scripts to automate field package installation.
Tandem Computers / ADIA Information Systems, Denver, Colorado. Senior Analyst. (December 1993 – May 1994): Distributed Applications Services (DAS) port from UNIX: Port DAS modules to Tandem Architecture and supply missing POSIX calls. Port DAS modules to various UNIX platforms to provide a working model. Determine POSIX calls required. Determine requirements to port to Tandem Non-Stop Architecture. Wrote missing POSIX library calls on the Tandem Architecture (the Tandem Architecture does not support many POSIX calls required by DAS). Enable modules to communicate with each other (inter-machine) via TCP/IP. Primary responsibility area: SOCKETS. Wrote various tools using shell scripts, awk, sed, and Perl.
Resource Solutions International / SHL Systemhouse / Interactive Systems / Kodak , Boulder, Colorado. Systems Engineer. (October 1992 – October 1993) :
o Automated Disk Library: Develop and test AIX SCSI device drivers for use with optical jukeboxes. Developed scripts to test and benchmark hardware and software. Developed ADL robot and drive code to test functionality and performance of ADL and SCSI AIX device driver. Benchmarked SCSI device driver to find optimum buffer size for the Kodak ADL unit. Developed test plan, code, and techniques with other team members. Wrote software to test SCSI device driver (e.g. pattern test, seek test, read test, write test, random seek). Configure SCSI equipment to work the RS/6000 and software. Wrote state machine diagrams for robot and disk drives using Hatley and Pirbhai notation. Load each modified kernel onto the target platform, network systems together as needed, perform UNIX Systems Administration functions. Wrote installation and testing documentation for the device driver. Created installation tapes for customer. Worked with customer via telephone in getting their devices to work with device driver.
o Storage Retrieval/Archiving: Researched vendors' drive and jukebox optical products. Queried vendors to find if their device driver software architecture met our requirements. Worked with other team members in developing document imaging software. Based our efforts on the TIFF 6.0 specification documents and XV 2.21.
o SMIT testing: Tested Sun version of AIX SMIT. Developed over 300 automated testing cases using an automatic testing engine for testing a Sun ported version of AIX SMIT for IBM using remote execution. Developed SMIT stanzas for SunOS platforms.
o GFI Genfare:Work with Chicago team in developing user interface. Developed Motif screens and menus. Determined usage of buttons, dialog boxes, scroll boxes, etc. for various screens. Determined under what conditions various dialogs should be used. Designed screens according to the OSF/Motif Style Guide. Develop code using JAM/Informix.
Chemagnetics / Otsuka Electronics, Fort Collins, Colorado. Product Engineer for Magnetic Resonance Imaging (MRI) and Analytical Spectrometers (September 1990 – October 1992)
o CMX I to CMX II conversion hardware/software: Led design and development of device drivers (UNIX SysV and SunOS) to interface prior-generation hardware and software (MultiBus I based) to next-generation embedded hardware and software (VME). Researched, benchmarked, and implemented various vendors' products to find best bus-to-bus (Multibus I to VME) adapter. Incorporated same into new product. Benchmarked adapters down to the bus levels (e.g. /AS to /DTACK timings) to flush out performance bottlenecks. Designed and built hardware and software tools to verify proper operation of hardware and software. Worked with programming staff to develop software interface between device drivers to application code. Developed Multibus I/SCSI benchmarking platform to investigate possibilities of a SCSI interface (instead of a bus-to-bus interface. Setup SCSI hardware and developed SCSI software to benchmark data transfer rates. Was instrumental in getting first system running at the customer's site for the Asian market and for the main industry show, The ENC. Wrote specification, delivery, installation, and user documentation for project. Specified Kernel building technique for software department. Acted as "liaison" between the Software and Engineering groups.
o CMX III: Develop embedded and system software and define software architecture on VME 68030-based embedded processor (multi- port serial board using NRZ and SDLC/HDLC) using the pSOS+/Unison real-time multi-tasking embedded kernel. Develop system software architecture for CMX III devices from embedded processors to device driver-application interfaces. Wrote device drivers for this embedded OS. Design and develop device drivers (UNIX SysV for SGI and SunOS). Researched, benchmarked, and implemented various vendors' products to find best bus-to-bus (SBus to VME) adapter. Incorporated same into new product. Benchmarked adapters down to the bus levels (e.g. /AS to /DTACK timings) to flush out performance bottlenecks. Defined the component interface architecture between the software modules on the various CPUs. Configure hardware to interface data acquisition/pulse programming devices to the SPARCStation and Silicon Graphics Personal IRIS computers. Researched and selected Bus Adapters for product. Selected the VME bus as the company's platform. Assisted in development of very fast hardware pulse-programmer and 96002 based processor. Assisted company's legal counsel in securing patents and licenses. Designed (with others) functional specifications for device drivers, VME cardcage chassis, and VME boards. Wrote Installation and test procedures for Accessory and Interface Control Processing Unit. Investigated designing our own "Dials and Buttons Box". Acted as "liaison" between the Software and Engineering groups.
o Other Roles: Played master role in selecting the VME bus as the products' base. Worked closely with directors and other departments in specifying, researching, and implementing optical storage solutions, remote computing solutions (keyboard, monitor, disk, and tape unit extensions), etc. Assisted in development of very fast embedded hardware pulse-programmer and DSP-based processor. Assisted company's legal counsel in securing patents and licenses. Provided System Administration for various UNIX systems (SGI, Sun) to provide user accounts, installing new devices, providing NFS, etc. Evaluated various companies' products (color printers, film recorders, optical storage devices, etc.) for incorporation into Chemagnetics' own products. Investigated FutureBus+ and FDDI as possible architectural components of future products. Assisted in researching European requirements for products. Assisted in developing project schedules. Specified Ethernet/Appletalk bridge device and implemented same. Assisted in planning company-wide network. Assisted company System Administrator in configuring company UNIX networks.
Compu Systems Corporation, Laramie, Wyoming. Engineering Manager, Director of Engineering (December 1987 - July 1990)
o Information Mobilizer: Managed/Led project, designed product specifications, hardware, and software for a communications loop (NCR Point of Sale System) embedded tapping device. Designed circuits and PCB layouts. Reverse engineered the NCR Point of Sale System (POS) system so that product specifications could be written, PLD equations and 25-ohm isolation interfaces could be designed, backend software could be designed, etc. Designed Manchester encoded differential-to- digital interfaces, digital PLLs, linked state machine pre-processor (Manchester to NRZ converters, digital signal multiplexers, signal verifiers, CRC checkers, bit strippers, etc.), microprocessor subsystem (68000 core with local RAM, ROM, dual-port RAM, and, watchdog monitor), status monitors, control ports, PC-AT bus interface, and VME bus interface. Worked with client on developing specifications and schedules. Developed all embedded hardware and firmware for both versions (VME and PC-AT buses). Developed embedded 68000 code to further process incoming loop data (software CRC checking, bar code check digit verification, circular queues, semaphores, watchdog resetting, etc.). Wrote embedded code in assembly and C code. Extensively used various hardware and software tools (e.g. Logic analyzers, probes, oscilloscopes, debuggers) to design and debug components and systems. Designed multi-processor communication hardware/software interfaces and implemented same: 68020 to 68000 (UniFLEX), 68010 to 68000 (UniFLEX), and 80386 to 68000 (Concurrent DOS Device Driver). Directly manipulated CPUs’ MMU (Memory Management Units) tables. Wrote Device drivers in 80386 and 68000 assembly code and C. Designed Device driver-to-application layer interface. Implemented same with assistance from staff programmers. Laid groundwork for database implementation. Developed hardware connection scheme. Established vendor relationships and arranged for tool and product demos. Demonstrated product at client site and for various government officials (e.g. Governor of Wyoming). Worked very closely with company president in proposing, specifying, demonstrating, selling, and getting client to committing to product. Wrote specification, delivery, installation, and user documentation for product.
o Snoopy: Developed embedded serial line tapping and monitoring device to monitor two-way RS-232 and RS-422 communications. Utilized standard DB-25 and DB-9 connectors and various RS-232 and RS-422 transceivers. Utilized standard computing equipment (IBM PCs) and software (Procomm and CrossTalk) to utilized the Snoopy tool. This tool was used in conjunction with the In-House POS development project.
o Point of Sale System Development: Assist Director of Software and Director of Production by debugging hardware and software problems. Assisted in development of display, keypad, and cash drawer devices.
o Wireless Terminal: Worked with outside consultant in developing an embedded wireless inventory control device. Device used an RF link to main POS system to allow store personnel to inventory products. Researched and specified display, keypad, power source, and case. Managed project to incorporate bar code wand into product.
o Other and Support Roles: Install and maintain UNIX on 80386 systems and UniFLEX on 680x0 systems. Install, use, and maintain other computer systems and subsystems. Managed development of microprocessor- controlled cable configuration checker. Report directly to the company president and consult with him on various managerial, technical, and other subjects. Wrote OS-9 software.
Advisory Committee on the Automation of the Department of Revenue of the State Of Wyoming
Wyoming Highway Department
Education: M.S. Electrical Engineering, University of Wyoming. B.S. Electrical and Computer Engineering (Chemical Engineering Minor – undeclared), University of Wyoming. Passed the E.I.T. (F.E.).
Certifications: ASTQB / ISTQB Certified Tester, Foundation Level (CTFL); Agile Certified ScrumMaster (CSM)
Other: Cheyenne Engineers’ Club
(founded 1918): President 2009, Vice President 2008, Treasurer/Secretary 2007
Wing Leader, Wyoming Wing, Angel Flight West, National Medical Charity, since 2005
President and Founding Member, Cheyenne Flying Club, since 2002
Board and Founding Member, Wyoming Pilots’ Association, a Non-Profit Org, since 2006
Favorite Past-times: Flying (Private Pilot Certificate 1999), flyfishing, cycling (mountain and roadie), baseball, basketball, hiking, acoustic guitar.