Geek Hideout
Resume
Printable version.
Text-only version.

Fred Bulback
Software and Hardware Developer

Location: Near Austin, TX
email: sg_employment@geekhideout.com
URL: http://geekhideout.com

Summary Of Qualifications

  • Expertly skilled with C/C++, SQL, CGI, assembler, Delphi, Visual Basic, embedded design, and device driver development for Linux, OpenBSD, Windows (3.x/95/98/ME/NT/2000/XP).
  • Highly knowledgeable with many operating systems, including Unix (AIX, Solaris, HP-UX, FreeBSD, OpenBSD, QNX, Linux), Windows (3.1,95/98/Me, NT/2000, XP), DOS, OS/2, MacOS.
  • Extensive experience in hardware and software development.
  • Adept at writing high-performance, easily maintainable code.
  • Strong problem-solving and troubleshooting skills.
  • Project management skills, including client procurement, proposal and contract writing, client communications, and development team management.
  • Technical writing and documentation

Employment History

Freelance consultant/contract developer/writer (1998 - present)

  • Migration of a massive Oracle database to MySQL running under RedHat Linux.
  • Development of Palm Pilot based software for the purpose of calibrating pressure sensors
  • Software development of a PIC 16F877 data logger. Written in C.
  • Fuzzy logic software for Linux to regulate an industrial pressure calibrator. Written in C.
  • Development of a Windows based application that will install software updates onto an industrial pressure calibrator. Written in Visual C++.
  • Migration of 3 million lines of Solaris source code (mostly C++ (VisualAge) and Imake and make, with some Perl, shell scripts and Cobol) to AIX for a telecommunications billing package.
  • Migration of some 3DFX video drivers from Windows 2000 to Linux.
  • Development of a tool to administer databases.
  • Development of software and hardware for a USB based data acquisition system. (Visual C++, Delphi, PIC assembler).
  • Development of a Windows 2000 driver for a high-performance teleconferencing system. (Visual C++, Assembler)
  • Linux and FreeBSD based software for an "online community." Included many CGI scripts that generated pages on the fly. (Perl, GCC)
  • Data conversion tools for a major time and attendance company. (Delphi, Paradox, SQL Server, Oracle, Interbase, Sybase)
  • Technical articles on a variety of subjects, mostly related to low-level drivers.
  • Development of Plug and Play ISA/PCI/PCMCIA cards and a USB device for interfacing with JTAG compatible circuitry.(C/C++, Assembler)
  • High speed device drivers (95/98/NT) for JTAG interfacing. (C/C++, Assembler, Delphi)
  • Upgrade of database software for a local trucking company. (Delphi, Paradox, Interbase)
  • Printed circuit board design for a previous employer.

Sphere Research Corporation (1995 - 1998)

Vice President of Software Development.

Responsibilities:
  • Project acquisition and feasibility.
  • Writing contracts.
  • Assignment of specific tasks to co-workers.
  • Software and hardware development.
  • Placement of orders for software and electronic components required for a project.
Projects:
  • Water quality device. Measures water turbidity (murkiness), suspended particle size, pH, conductivity and temperature. Consists of two parts; a hand-held operator interface and a submersible sensing head. The primary use of this device is in the field where the operator merely has to dip it into a river or lake and get a pass/fail reading. Each reading is also logged into internal memory, allowing more advanced analysis upon return to the lab. This unit was designed to be very low in power consumption, employing advanced power management techniques to achieve this. (Delphi, C, PIC assembler)
  • Security device for credit cards. This is a wallet-sized device in which up to two credit cards can be placed. Once inserted, the cards become secure and the only way to remove them is to enter the correct code into a keypad. Should the incorrect code be entered too many times, the device goes to sleep for an hour, and should it be physically tampered with, the magnetic stripe is destroyed with a high energy burst of heat and the card itself is stained with a permanent bright ink. (PIC assembler)
  • Voice alert module. This was an add-on option for an aircraft audio system. Using an on-board solid-state recording device, it monitors up to six incoming signals and should one of them not be in the proper state, a voice warning is routed to the pilots headset. This product was designed under rigourous guidelines to place it above the existing standards expected of military and commercial avionics. (Delphi, C, PIC assembler)
  • Radio beacon. Transmits a voice message to nearby aircraft, warning of a potential hazard. Upon hearing the message, the pilot has the option of "keying" his or her own transmitter three times in a row to activate a conventional strobe beacon. The usefulness of this product exists in populated areas where a continuously flashing beacon is bothersome to the inhabitants. (C, PIC assembler)
  • RFID reader for auto security. This small unit mounts inside a vehicles dashboard and is responsible for arming/disarming the ignition when a unique smart card "key" is brought in proximity of it. (Delphi, Visual Basic, PIC Assembler, C)

Frank Controls Ltd. (1994 - 1995)

Software and Hardware Developer.

Responsibilities:
  • Research and development of new products (software and hardware).
  • Ordering.
  • Hiring of employees for in-house product assembly.
  • Coordination of software projects.
Projects
  • Windows-based control software. This was developed to replace the existing DOS-based software for controlling the operation of a wood drying kiln. (Delphi, Visual C++)
  • Designed a replacement for existing embedded controller used for the drying of lumber. This was to be the companion of the above-mentioned software and utilized fuzzy logic for improved efficiency and a potentially considerable cash savings to the customer. (C, Assembler)
  • Design of a cutting table for in-house assembly. This employed three computer controlled stepper motors to "rough-cut" sheet metal. (Delphi, Visual C++, Symantec C++, embedded C, Assembler)
  • Dew point meter. Determined the temperature at which dew would form. This product was designed for the harsh, high-temperature environment of a wood drying kiln. (Delphi, C, Assembler)
  • Industrial controller. Used PLCs and ladder logic to act as a safety net between the computer and the industrial hardware.

Selkirk Scientific (1990 - 1994)

Hardware Manager (included software development)

Responsibilities:
  • Research and development of new products (software and hardware).
  • Ordering.
  • Hiring of employees for in-house product assembly.
  • Coordination of software projects.
Projects
  • Windows-based continuous flow and atomic absorption software for the analysis of chemicals. This software package replaced an existing DOS package. It includes advanced drivers for performing real-time I/O and RS-232 operations. This was a huge project, consisting of approximately 100,000 lines of Borland Pascal code and has sophisticated graphing and reporting features. (Borland Pascal, Visual Basic, Borland C++, Visual C++)
  • Stand alone data-acquisition unit. This is an RS-232 controlled device that has eight analog inputs and converts the signals to 24 bit value for upload to a host computer. It also features the autonomous control of eight auto-samplers.
  • Development of a embedded controller based upon the NEC V25 (8088 compatible) microcontroller. OS development was done in-house and features a real-time, multitasking kernel with advanced memory management techniques. This product eventually evolved into the stand alone unit mentioned above. (Assembler)
  • 4 channel, 24 bit A/D ISA card with 24 bit digital I/O.
  • 8 channel, 12 bit A/D ISA card with 24 bit digital I/O.
  • 8 channel, 12 bit A/D microchannel card with 24 bit digital I/O.
  • Custom continuous flow software for a company that had special requirements. This was a DOS based package that employed a background TSR for data collection. (QuickBasic, Assembler)

Education

East Kootenay Community College (1988 - 1990)

  • Completed two years of electronic engineering.

Skills

Known Programming Languages

  • Assembler (80x86, 8051, 6502, Z80, PIC, 68xxx)
  • C/C++ (Visual C++, Borland C++, C++ Builder, GNU C/C++, VisualAge C++, LCC, ThinkC and ObjectiveC (for Macs))
  • BASIC (Visual Basic, QuickBasic, QBasic, REALbasic, VBA, Turbo Basic)
  • Pascal (Turbo, Borland, Delphi)
  • Tcl/Tk
  • Forth
  • Fortran
  • HTML
  • Java (including JavaScript)
  • Perl
  • PHP
  • SQL
  • Makefiles (including imake)
  • Shell Scripts

Software Development Knowledge

  • Extensive knowledge of the Windows API.
  • Windows device drivers (including NT kernel mode and WDM drivers)
  • Linux device drivers (including loadable modules)
  • QNX device drivers
  • Real-time, high-performance device drivers.
  • CGI programming.
  • Creation of diagnostic tools.
  • Unix-based development.
  • Pth and Pthreads.
  • Neural networks and fuzzy logic.
  • Construction of compilers and interpreters.
  • Some PalmOS experience.
  • RCS, SourceSafe and other revision control systems.

Electronic Development

  • Microcontrollers (8051, PIC, Scenix, 68HC11, V25/35)
  • Embedded systems
  • A/D, D/A (particularly low-rate, high resolution)
  • Linear
  • Digital
  • PLDs, including FPGAs
  • Discrete
  • Printed Circuit Boards (including multi-layer and emission sensitive hand-routed boards)
  • Interface cards for PCs (ISA and PCI)

Operating Systems

  • Windows (3.1, 95, 98, ME, 2000, NT)
  • Unix (many varieties, including Solaris, AIX, HP-UX, QNX, Linux(Red Hat, Debian, Slackware), FreeBSD, OpenBSD, NetBSD, SCO, Minux)
  • DOS
  • OS/2
  • MacOS (including system 9 and OS X)

Protocols

  • TCP/IP
  • I2C
  • USB
  • Firewire
  • Microwire
  • RS232
  • RS485/RS422
  • JTAG
  • Smart card
  • Many more. I have interfaced to many obscure devices.

Notable Software Experience (i.e., non commonplace)

  • Apache Webserver (Unix and Windows)
  • Sambar Webserver
  • Samba
  • QMail
  • WinRoute, WinGate
  • MathCAD
  • AutoCAD
  • Corel Draw
  • Paint Shop Pro
  • Macromedia Flash
  • Photoshop
  • GIMP
  • Adobe Distiller
  • Dreamweaver
  • Assorted Schematic Capture/PCB packages (PADS PCB, Protel, Orcad, Eagle, HiWire)

Notable Development Tool/Library Experience

  • SoftICE
  • glib
  • gtk
  • RogueWave
  • Oracle
  • BEA Tuxedo
  • Persistence
  • Code1
  • CScope

Other Skills

  • Network administration
  • System configuration
  • Metal working
  • Technical writing
  • Industrial control (inluding PLCs and ladder logic)

Achievements

  • Wrote two books, "Programming Delphi Custom Components," and "Parallel Universe, Programming the Parallel Port under Windows."

Personal

  • Avid reader, bicycler, runner, and geocacher.
  • I have a small network at home which connects different machines running a variety of operating systems: Windows 2000, Slackware Linux, FreeBSD, OpenBSD, QNX, Solaris, and HP-UX.
  • I have written a handful of freeware and shareware, the most current of which is:
    • Parallel port monitor.
    • Servo motor controller.
    • Stepper motor controller.
    • An application that accepts a string of text, a start color, a stop color, and generates HTML code that transverses the range specified colors.
    • Windows and Linux libraries that allow easy port I/O.
    • A widely popular commodity trading game.

References

  • Available upon request.
Printable version.
Text-only version.