Harry Stein

hstein@airmail.net

Summary:

Professional Experience:

03/11/04 – current – SENIOR SOFTWARE DEVELOPER (CORPORATION  PROVIDED UPON REQUEST), Frisco, TX


+ Wrote and maintained several Windows XP services written in C# (.NET 1.1 framework) and Java which were listening socket-based and which maintained persistent socket connections to allow proprietary transaction data to stream and be collected, parsed and logged to SQL tables or to trigger fetches and adds/modifies for tables related to credit-card merchants and their POS terminals.

+ Maintained and wrote several Javascript/VBScript-based ASP pages for merchant servicing.

+ Wrote several rich and complex clients in C#: (a) a graphing utility to show number of transactions and sales settled/cleared over any period of time (with linear regression for estimating future), (b) parsing of authorization and settlement debug trace files to allow test and certification group to see field-by-field breakdown of transaction submittals and card-issuer responses in Word RTF files.
+ Supported merchant servicing center with SQL scripting requests that normal applications and web pages did not handle.


09/08/03 – 01/01/04 –
CONTRACTOR CONTRACTOR/CONSULTANT Datamatic LTD., Plano, TX

+ Ported beta gas metering firmware from Microchip Assembler to C (Hi-Tech). Code reviewed and found three field-critical errors previously undetected in demos and testing. Also adapted an open-source emulator to automaticaly detect bank switching errors (two found) after also writing C++ console application to parse Microchip .LST file (to input to an open-source Microchip emulator for testing and dynamic verification that Assembler version was bank switching properly to access variables).
+ Modified configurator device firmware to set water metering units to factory defaults.
+ Fixed meter-reading RouteManager (Windows C++) software issues for maintenance release. Also involved Windows script hosting and SQL scripts/database.

06/01 – 07/03 –
CONSULTANT for ViaSys Critical Care (CA and TX)

+ Developed ScreenManager GUI class (3,000 lines C++) which managed GUI window objects for touchscreen-based embedded application using ATI/Nucleus and CAD-UL C++. Application is for a computer-assisted ventilator system. Designed window object control "focus" stack to allow minimal redraws when window object took or released focus (including overlapped and "smudged" algorithms to determine if redraws were necessary).
+ Wrote highest priority AlarmTask (5,000 lines C++) which asynchronously schedules, detects and displays cascaded alarm messagebox windows representing all breathing-related, fixed, and inoperable alarms with features of allowing alarm messageboxes to be moved-to-front, auto-flashing of active alarms at varying alarm-priority specific duty-cycles, ability to GUI-clear inactive alarms and manage (activate/suspend) audible-tones associated with alarm priorities and invoked by press/release of pushbutton switch, GUI LCD touchbutton to asynchronously minimize/maximize all alarms displayed, and an asynchronous touchscreen button control to edit alarm parameters. This, combined with Screen Manager work, made a completely modal system (amodal with respect to alarms and editing alarm parameters).
+ Wrote real-time charting software.
+ Conducted numerous performance measurement experiments relating to use of cache and determining servo-cycle "choke" point and amount of usable bandwidth left (in servo cycle) for lower-priority tasks.
+ Mentored and helped design work by staff in areas of C++, OOP, performance issues, Tone Manager design, clock-display routines, reducing time spent at interrupt level, multithreading issues, LCD/touchscreen display driver performance improvement (15% achieved), and better use of C++ OOP/OOD features.

01/01 – 03/04 - SENIOR CONSULTANT , SIMMONS CORPORATION, TX.

+ Developed several Atmel applications involving drivers (written in C) for ring-buffer-based serial ports (both Atmel onboard and National Semiconductor offboard UARTs), thermistors, and SPI interface to probes measuring liquid levels. Also ported several HC11-based applications to Amtel board using Atmel 103L CPU with CodeVision. Developed command-line serial interface to perform probe and proprietary diagnostics.
+ C++ and C development of three revenue-generating 68HC11 applications and maintained an 8051 serial-based embedded server C application: two of these sent/received commands/reports from fuel-probes monitoring water, temperature and fuel levels in a fuel-tank and at the same time receiving/transmitting commands/reports from/to another 8051-based security-panel embedded application. The third embedded application ran inside a Simmons-proprietary probe to measure water/temp/fuel levels & respond to requests from the first app. Work also involved serial interrupt handlers (NS16650), timers, and state-machines.
+ C++: developed MFC GUI dialog apps to provide parsing, plotting, & analysis of probe data. All development and simulation for all applications done under Visual Studio or CodeVision.
Second time with Simmons.

12/00 – 04/01 – LEAD CONSULTANT , ALCATEL USA, TX.

+ Developed application to automate generation of Clearcase source-fetches and auto-generate makefile to effect local-builds outside the Clearcase CM "view" (all under a Sun Solaris workstation environment).
+ Developed and innovated one-of-a-kind awk symbolic debugger using gawk itself. Supports breakpoints, watchpoints, tracing and display of global variable values. Wrote extensive gawk scripts.
+ Began porting layer between legacy applications running proprietary real-time operating system (under Z8000 H/W) to PowerPC platform running LynxOS. Goal: be POSIX 1a , 1b, & 1c compliant.

5/99 – 12/00, LEAD DEVELOPMENT ENGINEER, WEBLINK WIRELESS INC., TX.

+ Lead C design and development engineer. Developed an application framework (library) and several real-world ANSI-C embedded applications for a wireless (Motorola) telemetry device written as C-code on an ARM-chip based platform) utilizing RF messaging (Motorola Reflex25 protocol), memory/flash-file management, and serial protocol APIs for a telemetry device (Motorola CreataLink 2XT) utilizing serial port, I/O pins, and an A/D port interface (details under NDA). All development done in combination of MS Visual Studio (simulation) and an ARM IDE to compile/test/debug actual code on the ARM chip with (otherwise unused) ARM IDE.
+ Researched Java Virtual Machines & use of interpreted languages for embedded app (details under NDA).+ C++ development of 10,000 source-line MFC GUI application which parsed complex data files and updated Access databases in real time using DAO.+ C++ development of MFC GUI/socket app to do wireless Over-The-Air-Programming of paging device.
+ C design and development of persistent flash memory API to overcome wear-leveling and power fail losses due to flash sector erases in embedded telemetry device.
+ Specified, designed and implemented (single-handedly) several embedded telemetry applications including ones for (a) DEX-vending, (b) RF coverage, (c) home-appliance automation, and (d) Quality of Service utility. Framework included device configuration management, command-line user/interface, timer management, and a multi-level state-machine design all under priority-based, proprietary Motorola RTOS.
+ Primary interface to Motorola management and development team for all development issues, key problems/issues found, and enhancement requests. Really helped shape up an already very good product and made it even better (that's what Motorola said)! Also provided key embedded technical support to customers/partners writing their own applications.

2/98 – 5/99 - SENIOR CONSULTANT , SIMMONS CORPORATION, TX.

C++ development of serial communications interface and GUI application acting as a modem-based server/gateway between embedded fuel-tank monitoring system and database server. Used Visual Studio C++ 1.52 and C++ 5.0/6.0 to write 15,000 lines of C++ OOP code under Windows NT containing SDI, MFC, event-handling synchronization code and using GreenLeaf COM OCX. Internal communications engine designed as object-oriented hierarchical state-machine to support dialing out and receiving calls-from remote system using proprietary communications protocol. Researched porting application into automation server and COM components.

10/98 - 12/98, SENIOR CONSULTANT , BABBAGES-ETC, TX.

Rewrote PDS Basic module to update "store" and inventory Btrieve files for transfers from/to defective to non-defective, shrink, and reverse shrink for nightly batch processing of 450 retail stores. All sales movements (sales, returns, purchase-from-customer) also processed by module. Implemented partial "transaction" integrity capability by making modules restartable if fatal errors detected. Redesigned and rewrote module handling distribution discrepancies via receiveds.

10/97 - 2/98, SENIOR ENGINEER, ALCATEL NETWORK SYSTEMS, TX.

C++ development: maintained and added GUI dialog components to an HP/UX (UNIX) Softbench C++ program implementing a cross-connect wizard for SONET ADM. Software used HP UIM/X and developed on Windows NT.

6/97 - 9/97, SENIOR CONSULTANT , B.R.B.A., TX.

C++ software development of a test engine for client/server Internet-based credit-application submission package. Engine was object-oriented Visual C++ console application using Winsock socket programming, WIN32 API, MFC, SQL for Sybase, & multi-threading/synchronization and running/developed under NT.

1/96 - 5/97, SOFTWARE ENGINEER, ASSET INTERTECH, INC., TX.

C++/C development of a scan engine enhancements for IEEE 1149.1 boundary scan support. Software used Borland C/C++ in Windows NT environment. Wrote 10,000 line installation software program using INSTALLSHIELD3 (C/Pascal-like) to handle multi-product CD-ROM/floppy/disk distribution for Windows 95/NT. Used WIN32 API to install NT services, process .INI files, update NT/95 Registry, load/access security DLL, and install third-party products. Also, instrumented scan engine software with Cantata coverage analysis tool to determine test suite coverage.

2/95 - 1/96, SOFTWARE ENGINEER, DNA ENTERPRISES, INC., TX.

C++ (Metaware) development and rewrite of GUI components and portions of real-time inter-process communication for audio portion of digitally-switched air-traffic controller system. Software written with Metaware C++ using ZINC GUI application framework running under real-time PSOS on a 386 PC.

4/93 - 2/95, SW ENGINEER, CONVEX COMPUTER CORPORATION, TX.

+ C++ port of symbolic debugger (300,000 lines of OOP/OOD C++) from a UNIX-based hardware platform to HP PA-RISC based architecture. Work accomplished includes process-model control interface (signal handling, implementation of breakpoints), porting FORTRAN intrinsic library to use a C++-calls-FORTRAN interface, and providing support for reading core files.
+ C++ development of 64-bit integer class.
+ Taught C++ course. Took OOD (using FUSION) graduate course at UTD. Wrote complex scripting tools for source browsing and test-case analysis using CONVEX / HP-UX UNIX shell (csh, tsh) programming languages.

3/92 - 4/93, PRESIDENT, Realtime Solutions Incorporated, Pompano Beach, FL.

Developed, productized, marketed and sold a Symbolic Debugger product for FORTRAN 77 running on MODCOMP 32/xx computers. Written in FORTRAN 77 and MODCOMP Assembler Language and achieved through a joint business relationship with MODCOMP.

1/79 - 3/92 (14 YEARS) MODULAR COMPUTER SYSTEMS, INC., POMPANO BEACH, FL: 12/90 - 3/92 (2.5 YEARS))
Manager Development Products Assurance
(12/90 - 03/92: 2.5 years): Provided technical/personal leadership and motivation for five software programmers responsible for testing all hardware and software systems provided by MODCOMP (real-time operating systems, compilers, editors, tools, applications, networking, and specialized hardware controllers). Produced and assisted with test plans, test designs, and testing of both proprietary and UNIX real-time operating systems.

Member Technical Staff (01/79 - 12/90):
+ Ported C run-time library from standard UNIX to proprietary real-time UNIX.
+ Designed and implemented kernel synchronization routines (Assembler) for real-time process scheduler, memory management, interrupt handlers, system loader, and real-time system calls to be used in port of proprietary operating system to multi-processor version.
+ Fixed 400+ customer-reported software problems and developed many areas of functionality in kernel and system tool areas of a proprietary real-time operating system’s executive services, I/O subsystem (device drivers), memory management, and process management subsystems. Became key employee and expert in MODCOMP operating systems, machine architecture, Assembler language, and operating system design.
+ Developed extensive CPU/systems benchmarks and regression tests to supplement diagnostics and analysis of robustness and performance of new real-time computer board, firmware and hardware design changes to existing designs. Also developed CPU instruction-set timing analyzer.
+ Designed and implemented two key products (50,000 line applications): (1) a source-control management system integrated with database system and (2) a query-language interpreter for a proprietary database system.

Education:

Strengths:

the end


Member number:7315
Additional Contact information is available on the
Information Page.
Software Contractors' Guild ( www.scguild.com)
Copyright(c) 1995 - 2001 Harry Stein and Software Contractors' Guild, Post Office Box 257,Nottingham, NH USA 03290-0257