Seeking technology consulting assignments — licensed software engineering consultant with a reputation for:
designing and delivering high-quality software on schedule;
quickly learning and adopting new and diverse technologies;
communicating effectively with different functional departments,
all levels of management, and external customers; and
mentoring and leading fellow team members.
Qualifications
Over 24 years of successful, diverse engineering and business experience.
22+ Years of Software Experience
Extensive experience with user interfaces, device drivers, multitasking/multiprocessor real-time software, data/network/TCP/IP communications, and interactive voice response (IVR) systems.
Excellent understanding of the embedded microprocessor environment including specification, development, software and hardware debugging techniques, and QA testing.
Expert in HTML, XHTML, XML, XSLT, JavaScript, SMTP, and ISAPI website technologies. Proficient in ASP.Net.
Proficient in CSS.
Expert in C and C++ including Microsoft Foundation Classes (MFC).
Proficient in C#, Visual Basic, Microsoft .NET, FORTRAN, and many microprocessor assembly languages.
Knowledge of SQL and database usage and functionality.
Proven skill in commercializing R&D projects and translating doctoral theses to functional software implementations.
3 Years of Hardware Experience
Experience includes design, debug, and simulation of digital electronics.
Can communicate effectively with hardware designers using their terminology.
Knowledge of various hardware description languages (HDL) including VHDL, Verilog, SystemVerilog, and SystemC.
Other Abilities
Possess excellent communication and inter-personal skills.
Learn, apply, and build upon new concepts quickly.
Perform effectively in high-pressure situations.
Equally capable of independent development or working as a team member or team leader.
Functional understanding and experience in all business arenas including strategic, marketing, financial, and janitorial.
Education
Master of Business Administration (MBA), Lehigh University, 1985.
Bachelor of Science in Electrical Engineering (BSEE), Lehigh University, 1982.
Miscellaneous
IEEE Member since 1981.
Professional Engineering License in Commonwealth of PA, 1987.
Patent 5,349,682, issued 1994, titled "Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors." Thirty-eight (38) other patents issued to 3rd parties have subsequently referenced this patent.
Received a Top-Ten Instructor Award at the 2006 Custom Electronic Design and Installation Association (CEDIA) Expo – a trade show attended by more than 30,000 people
CEDIA Subject Matter Expert (SME) responsible for CEDIA University core curriculum course development in the areas of data communication protocols, system integration methods, and residential integration project management.
Taught seminars since 2001 for the CEDIA on the reliability of data communication protocols and product pricing practices.
Author of "A Case Study in Website Maintenance (CMS) Using XML", 2002.
Author of OS/2 Magazine article on a patented distributed parallel processing technology, 1992.
Co-author of four published papers and director of an educational videotape in the field of metallurgy, 1984.
Private Pilots License, 1989.
Project Highlights
InterDigital Communications Corp. SlimChip Product Line
Developed co-verification test cases exercising high- and low-level UMTS functionality of the Register Transfer Level (RTL) System on Chip (SoC) design. Primary architect and developer of a hardware abstraction layer (HAL) to support applications on multiple simulation platforms. Ported the ASIC system-level test bench software to the SoC Designer environment creating additional SoC Designer components as necessary. Simulation environments included Mentor ModelSim and QuestaSim and Carbon Design Systems SoC Designer (formerly owned by ARM) and Carbon Model Studio. Application programming was in C; hardware design used a number of hardware description languages including VHDL, Verilog, System Verilog with the Direct Programming Interface (DPI), and SystemC. Rational ClearCase provided source code management.
Sycamore Networks Corp. (formerly Eastern Research Inc.) DNX Narrowband Product Line
Merged ten branches of source code (while changing compilers as well) into a single unified version in approximately three weeks – well ahead of client's schedule. Led the effort to correct and eliminate over 320 defects – a number of which were known for years but considered unfixable. Improved the user interface (UI) menus for clarity and consistency of usage. Researched and selected a Secure Shell (SSH) library and demonstrated fully integrated SSH functionality in six weeks. Throughout the year-long assignment, provided immediate and timely resolution to customer issues working closely with customers and the field service team. Programming was in C++. Debugging accomplished with JTAG in-circuit emulators (ICE). Source control provided by Visual SourceSafe.
McData Corp. (formerly CNT) UMD Director Class Fiber Channel Switch
Designed and developed algorithms for the efficient routing of high-speed Fiber Channel (FC) data in accordance with user-configurable constraints. Designed and developed high-reliability infrastructure classes to communicate user constraints among multiple distributed processors. Increased efficiency of multiple engineering teams by developing software emulation classes for the ASIC routing module providing more accurate hardware emulation for the PC software test environment. Embedded environment used multiple redundant processes distributed across many Power PC microprocessors running the Enea OSE operating system. Development environment relied heavily on Rational Rose UML Modeling, C++, STL, Greenhills compilers and build environments, and PVCS source control.
ESC HMS Insight Framework
Designed and developed a Windows .Net application framework to provide complete testing and debugging of home management systems (HMS). The Insight framework incorporates a multiple-document interface (MDI) to handle and display multiple subsystems in a project. Subsystem modules provide functionality for command creation and transmission, protocol packet capture and analysis, and hardware emulation allowing for the complete development and testing of an HMS before installation and on-site debugging during and after installation. Framework uses an XML definition of the subsystem communication protocol which is then transformed (using XSLT) into C# source code to implement the command creation user interface (UI) form and to provide packet analysis functionality. The XSLT transformation is provided through a Visual Studio add-in built upon the .Net Automation Code Model. Framework uses multiple threads to handle communication flows directing events to subscribed clients. Installed subsystem module plug-ins are discovered and installed through .Net reflection. Programming was in C# and XSLT.
Windows XP Embedded (XPE) Application for Super-Yacht Security System
Designed and developed a multi-threaded, high-reliability Windows XP Embedded application and serial protocol which acted as a communication gateway between a Crestron control system and multiple Tracer TCU-7 modules. The XPE application provided RS-485 driver services polling the Tracer modules for status changes in the buss-connected sensors. Appropriate events were communicated to the Crestron controller for annunication on the $60MM (no pressure here!) yacht's bridge. Additional features included sub-second event response time, RS-485 collision detection, missing/duplicate comm message detection and recovery, Crestron emulation for no-hardware debugging, event logging and exception reporting, and a separate watchdog process to monitor the primary application. The application executed on an Arcom SBC-GX1 single-board computer (SBC) running XPE. Programming was in C++ using MFC.
ESC Home Management System
Developed numerous protocol interfaces for residential and commercial systems allowing control of these systems through a touch-screen graphical user interface (GUI). Advanced protocols required the development of Dynamic Data Exchange (DDE) and OLE for Process Control (OPC) gateway software to translate to and from simpler RS-232 protocols. Updated many GUI features and the macro language. The entire code base was subsequently ported from an extended MS-DOS environment to Win32. Programming was in 80x86 assembly, C, C++, and MFC.
Developed from initial concept to patented functional software, middleware that allowed applications to divide themselves among available processors for processing in parallel. Available processors can be located within the same box (symmetric multi-processing, i.e. SMP), on a local area network (LAN), or in processor pools available through the Internet. Also responsible for user and programmer documentation as well as assisting patent attorney in reviewing application and subsequent filing for and achieving patent protection for the technology. Programming was in C and used named pipes, IPX, and TCP/IP for inter-process communication (IPC).
Assumed maintenance of ElectronicSolutionsCo.com after initial design was completed by web development company. Responsibilities include continued updating of pages to implement marketing programs, generation of new pages to provide additional user content in support of marketing, conversion from HTML to W3C-validated XHTML, and development of a Visual Basic Script (VBScript) program to generate a truly functional framed version of the website as well as a non-framed version based upon a single set of original content pages.
BetterGoBids.com(website discontinued)
Developed one of the first two and the only free bid gap analysis tool for Overture's (formerly Goto.com) pay-per-click (PPC) search engine. Scraped HTML search results for advertiser domain and advertiser's bid amounts and applied bidding rules to minimize click-through costs. All analysis logic was implemented using ISAPI DLLs with complete usage logging and automatic error notification by email to BetterGoBids.com administrator. Later expanded to include an additional 10 PPC search engines. Programming was in C and C++ using ISAPI, MFC, and the Standard C++ library (STL).
MandGHobbies.com(business discontinued)
Developed and deployed a simple website content management system (CMS) based upon XML and XSLT. Client-side JavaScript manipulation of the page's underlying XML in a quasi-WYSIWYG format allowed the website owner to modify content within strict style guidelines and without knowledge of HTML or CSS. Initially, server-side publication of new HTML pages built from the modified XML, publication of any new images, and archiving of old pages was accomplished through an ISAPI DLL that transformed the XML using the appropriate XSLT. A change in hosting provider required re-implementing the server-side functionality using ASP.Net and Managed C++. A case study and publicly available working copy of the technology is available at:
With all the ISAPI development I was doing, it became cumbersome to stop and start the IIS service to refresh ISAPI DLLs – especially when the DLL was on a hosted server beyond my immediate control. The solution was to create an extremely simple ISAPI DLL that would examine the URL's parameters, load the specified functional ISAPI DLL, call the appropriate functions with the appropriate parameters, and then unload this DLL so a new version with more features (well, hey, since there are never any bugs in my code, more features must be the reason this was needed) could be uploaded to the website. Programming was in C and C++.
IIS ISAPI Redirect Filter
Developed an ISAPI filter for Microsoft IIS to allow transparent redirects of obsolete or simplified URLs to current web pages. This prevents search engines from seeing a page redirect, which they typically treat as search engine spam. Filter can be configured with a simple ASCII file so changes can be made quickly. Programming was in C.
IIS ISAPI Contact Form Email Handler
Developed an ISAPI DLL for advanced handling of HTML email contact forms. Major features included specifying required fields based upon other form answers, using form data as default answers to other form entries, specifying form data not to be included in the resulting contact email, and the complete packaging of the remaining form data plus additional HTTP request data in an HTML email sent to the specified address. Programming was in C and C++.
Automatic Fantasy Football Scoring
Through a combination of XSLT and XML developed an automated method to score fantasy football leagues using weekly player and team statistics gathered from two different websites. XSLT transforms scraped various webpages for statistics and provided all XML data management including numerous player and fantasy team reports by incorporating the league's scoring rules.
SpeakEZ Speaker Verification
Commercialized a number of doctoral research projects for Rutger's University professors and doctoral candidates for verifying a person's identity by his or her speaking a password. Technology was deployed in MS-DOS and NT platforms for interactive voice response (IVR) technology demos and also deployed in prisons for controlling prisoner access to outside phone lines. The technology used neural networks to pass/fail voice characteristics determined through Fourier transforms mapped into multiple dimensions against a known sample. Programming was in C and C++.
Infotron LanSpan Router
In 6 months, designed and developed from concept to released product, high-performance embedded application and driver software for the Ethernet interface of one of the first Ethernet/WAN (wide-area network) MAC-layer routers. During phase 2, designed and led a 4-person team to implement communication mechanisms providing guaranteed end-to-end communications between routers and external management systems and a highly-optimized, embedded SQL server providing consistent data access for network components. Programming was in Motorola 68000 assembly language and C.
Elcom Due Diligence
Provided complete 3rd party examination of Elcom covering all aspects of their technology, product, and business model for a Philadelphia area venture capital firm. Reviewed technology theory with Elcom's chief engineer as well as development test results, patent applications, product return rates, customer support call rates, competitive technologies, management and licensing contracts.
Three-Mile Island Printer Interface
Worked tactfully with union technicians to debug new hardware interface that translated EBCDIC to ASCII allowing reactor status and alarm conditions to be printed to a DEC printer rather than the substantially slower IBM Selectric Typewriter – a major contributor to the facility's escalating problems in 1979.
The Desktop Company's XFolder for OS/2
Conceived and developed a Work Place Shell (WPS) enhancement for OS/2 to undo accidental rearrangements of the WPS desktop. Subsequent versions included enhanced desktop arrangement options based upon heuristic algorithms created for arranging rectangles of different sizes into uniformly spaced rows and columns within a larger containment rectangle. Also guided a successful full-color magazine advertising campaign for the product achieving profitability within two months of product release (and continuing right up until the time OS/2 died). Programming was in C.
Business Keyphone System
Wrote Intel 8051 assembly language application for central controller of a business keyphone system. Application processed all key requests from phone stations received through multiple RS-232 ports and converted these to DTMF, intercom, or other requests all of which required resource management and allocation among the system's internal communication pathways and central office (CO) lines.
Automatic Adjustment of a Cutting Bar on a Farm Field Mower
Implemented the design specification for adjusting the cutting bar of a field mower in a manner similar to a human operator with an embedded microprocessor and 8048 assembly language program. Controller monitored two automobile engine knock sensors installed one at each end of the cutting bar. By measuring the time difference between the sensors detecting the knock of the rotating blade against the cutting bar, the controller could determine which direction to move each end of the cutting bar for proper adjustment. In the lab, the controller was able to determine the knock location to within a ½ inch on an 18-inch piece of steel. Unfortunately on the actual mower, there was not so much a knock as there was a sliding of the curved blade across the cutting bar that completely concealed the initial contact impulse – determination of the initial contact point was impossible.
Monitoring Page Section Feeder for Book Binding
Wrote pattern-recognition software to monitor section marks on pages being fed to a conveyer belt for book binding operation. Section marks were detected using LED emitter/sensor pairs. Software detected edge marks and internal mark spacing to ensure identical sections were being placed in feed hopper. Programming was in 8048 assembly language.
Active Material Void Detector for Battery Plates
Wrote pattern-recognition software to monitor battery plates on a conveyer belt for missing active material paste. High-performance software had to locate, group, and count gaps in paste applied to lead plates rejecting those plates that failed specifications. Programming was in 8048 assembly language.
Microprocessor Design for Process Control Terminal
Created two circuit designs utilizing different processor families to implement 250-page specification for a process control terminal.
Hardware Diagnostics for Data Switching Equipment
Worked closely with hardware engineers to develop diagnostic software covering all possible hardware data and control paths down to the bit level. Programming was in Motorola 68000 assembly language.
Employment
Electronic Solutions Company (ESC), Reading, PA
May 1994 - Present
Sr. Partner Software - Founded ESC by formalizing long-term working relationship with hardware engineer, Mario Leone. ESC provides concept-to-commercial product engineering services for both software and electronic products. Extensive work developing graphical user interfaces, control logic, and device drivers for the home automation industry. Also developed various website technologies for use on both the ESC website and others including numerous ISAPI DLLs and extensive XML/XSLT/JavaScript content management tools. Coding has been in C, C++, assembly, C#, Visual Basic(VB) and has utilized Dynamic Data Exchange (DDE), OLE, COM, MFC, STL, and .Net.
Rosenberry Consulting Ltd. (RCL), Reading, PA
May 1986 - April 1994
Engineering Consultant - Software design and coding in environments as diverse as minicomputers, PCs, and embedded microprocessor systems. Have written software for user interfaces, network management, databases, and financial analysis. Am familiar with LANs and network management software. Coding has been in C, assembly, spreadsheet, and database languages. Also have taught a number of seminars for businesses on Excel, PCAD, and OS/2.
Electronics Consulting Services, Reading, PA
May 1985 - May 1986
Project Engineer - Project assignments included 8051 software for an office phone system, 8048 software to control a piece of farm machinery, a 32000-based system design for a smart terminal for process control equipment, pattern recognition software for two different projects, and a FORTRAN diagnostics package for process logging hardware. Improved the engineering staff's efficiency through a schematic capture and printed circuit board CAD system and by upgrading the microprocessor development systems in use.
Self-Employed, Bethlehem, PA
May 1983 - May 1985
Engineering Consultant - Using ECL logic and the 8088 microprocessor family, developed circuitry and software to digitize and store a RGB computer monitor signal. Developed hardware and software for an 8051 project to imprint characters from a keyboard onto photographic paper. Also wrote a dBase II application for inventory control and customer monitoring to be used by an equipment brokerage firm.
Lehigh University, Bethlehem, PA
June 1983 - January 1985
Project Assistant - Wrote FORTRAN routines for a wire-frame model to solids model conversion program. Main responsibilities included model editing routines and modifications to the low-level graphics drivers to support various terminals. Program was developed on a DEC VAX with VMS. Also became proficient in McDonnell Douglas' Unigraphics and Structural Dynamic Research Corp.'s IDEAS. Duties often included system management tasks.
Lehigh University, Bethlehem, PA
December 1981 - May 1983
Project Assistant - Programmed in FORTRAN and PASCAL for a metallurgy research project sponsored by Bethlehem Steel. Developed a multi-variable optimization algorithm to model a strip rolling process. Program development began on a Cyber 720 and was then ported to an IBM mainframe. Later wrote a FORTRAN graphics program to calculate and display the metal distortion pattern for a drawing or extrusion process. The software was the basis of a metallurgy laboratory class, two doctoral research projects resulting in four published papers, and an educational videotape.
IBM General Technology Division, Burlington, VT
May 1981 - August 1981
Cooperative Education Assignment - Used IBM's circuit simulation program (ASTAP) to develop and verify transistor models for a MOSFET wafer manufacturing process. Analysis included precision signal measurement at the wafer level and finite element analysis of different transistor structures.
IBM General Technology Division, Burlington, VT
January 1980 - May 1980
Cooperative Education Assignment - Measured and compiled data on various integrated circuit parameters to verify that the manufacturing process was within the specifications. Also wrote an APL program to statistically count the number of test sites that were defective due to non-process causes.