Frank
C. Earl
1536 Fuqua Dr.
Flower Mound, TX 75038
(817)
210-3002
frank@earlconsult.com
Skills:
|
Programming Languages: |
C/C++, Pascal/Object Pascal, Java, Forth, Ada, Visual Basic, SQL, Tcl/Tk |
|
Operating Systems: |
Linux, Windows 2000/XP, Solaris, OS-9 |
|
Databases: |
DB2, Oracle, PostgreSQL, MySQL, Interbase |
|
Middleware: |
CORBA, COM/ActiveX, XPCOM, ADAPTIVE Communications Environment(ACE), The ACE Orb (TAO), iWARP Verbs, Simple DirectMedia Library(SDL), OpenPlay, RakNet |
|
GUI Toolkits: |
Fltk, Qt, GTK+, Tk |
|
Metadata Frameworks: |
OpenEmbedded |
|
Cross-compilation Toolchains:s |
Scratchbox2 |
|
Applications: |
MS Office, StarOffice, ApplixOffice, Corel Office, Visio, TeX, LyX |
Experience:
Tektronix Texas, LLC.
Richardson, TX
October 2008 - Present
Sr. Software Engineer
Languages: C/C++, Python
Operating Systems: Linux
Networking Protocols: TCP/IP, UDP/IP
Middleware: STL, ACE/TAO, OpenIPMI, OpenHPI
Metadata Frameworks: OpenEmbedded
Cross-compilation Toolchains: Scratchbox2
Responsible for maintenance and design work for Tektronix Texas' systems platform, used by their network assurance and network monitoring probe systems. Work included:
Development work to provide a high-availability server design to remove any single point of failure with the current systems platform software derived from MontaVista Carrier Grade Edition 5.1. Work continued efforts from the effort involving Monta Vista CGE 4.0.
Development work to provide a communications framework to replace the Sun RPC derived framework used to manage and monitor system health of Tektronix' ATCA based probe systems. The framework was based off of OpenHPI to allow communications and control of two differing ATCA shelves with largely differing command and control interfaces.
Development work to provide an advanced cross-compilation toolchain set to replace the framework currently in place, using Scratchbox2 as the basis for the toolchain.
Development work continuing the research work using TAO and ACE underneath the current application communications framework.
Development work continuing the research work using OpenEmbedded to provide a custom embedded distribution for Tektronix' new Netronome based link processor blade now in development.
Tektronix Texas, LLC.
Richardson, TX
February 2008 - October
2008 Sr. Software Engineer (Contract)
Languages: C/C++, Python
Operating Systems: Linux
Networking Protocols: TCP/IP, UDP/IP
Middleware: STL, ACE/TAO
Metadata Frameworks: OpenEmbedded
Responsible for maintenance and design work for Tektronix Texas' systems platform, used by their network assurance and network monitoring probe systems. Work included:
Development work to improve the reliability of their current RAID system.
Development work to provide a high-availability server design to remove any single point of failure with the current systems platform software derived from MontaVista Carrier Grade Edition 4.0
Development work to provide a new base for a next generation of systems software that was designed for overall ease of maintenance and to provide five nines of reliability at a lowered cost than the previous design. This work used the Linux distribution build framework and corresponding metadata provided by the OpenEmbedded project. It also utilizes the TAO real-time CORBA ORB to bring a layer of plug-and-play, self-provisioning, and fault tolerance that the previous design did not possess.
Coollogic,
Inc.
Dallas,
TX
August 2002- Present
Chief Technologist
Languages:
C/C++, Java, PHP
Operating Systems: Linux
Middleware: STL,
CORBA, ACE
Databases: MySQL, PostgreSQL
GUI Frameworks: GTK+,
Fltk, Qt
Applications: Apache
Responsible for providing the
technical vision and overall engineering management for Coollogic.
Work included the following:
Providing the overall architechture and design of the current and planned product offerings from Coollogic.
Providing research for and writing white papers regarding the overall state of security technology in the SCADA segment of the Information Technology industry, and the overall consequences of a failure induced by a remote attack on the same. Much of the work in question has been referred to and quoted in the latest book by Larry Ness of Nessgroup International, “Securing Utility and Energy Infrastructures”, published by John Wiley and Sons, Inc.
Development of the reduction to practice for several pending Patents filed by Coollogic involving a secure monitoring and control system for communications and SCADA gateways.
Development of a secure monitoring, control, and communications framework intended for the purposes of providing physical and "cyber" security for untilities such as power companies.
Development of a non-obtrusive SCADA system intended for deployment in residential and small commercial contexts to facilitate utility resource management without noticable impact on consumer usage of those resources.
Development of a system design to monitor the overall health of the nation's power grid, based off of the non-obtrusive SCADA components, Coollogic's hardened embedded Linux distribution, and various networking systems including Corridor Systems' broadband over power line systems.
Development of a series of different cryptographic systems intended to secure legacy SCADA systems.
Design and development of a next-generation, modular embedded Linux distribution to enable ease of initial deployment of a system solution and field upgradability.
Evaluation of third party technologies for purchase or inclusion through alliances with the companies providing the same. This includes advanced teleconferencing solutions, physical and cyber security devices.
Managing the technology aspects of our business alliances.
Participation in business development work for Coollogic.
Managed a team of four engineers working on producing usable products and services derived from the proof-of-concept systems mentioned above.
Linux Game Publishing
Nottingham, UK
September 2002- Present
Team Lead, Contract
Languages: C/C++
Operating Systems: Linux
Middleware: OpenPlay, RakNet, SDL
Responsible for developing cross-platform versions of popular PC and Macintosh game titles with Linux being the primary target system. Work included the following:
Leading a team of developers on the current, in-progress Disciples 2 project.
Managing the relationships with ATI, NVidia, AMD, and other hardware vendors.
Bug fix work for the OpenGL rendering layer code for the Linux version of the Diesel game engine for Ballistics.
Development of an input layer for the game Ballistics using SDL as the base framework.
Development of a multiplayer network layer for the game Ballistics using OpenPlay as the base framework.
Development of a multiplayer network layer for the game Ballistics using RakNet as the base framework.
Development of the PowerPC version of Ballistics for Linux.
Development of the Athlon64 version of Ballistics for Linux.
Development of the Athlon64 version of SoulRide for a demonstration of AMD64 architechture work in progress at the 2005 Game Developer's Conference.
Development of hand-optimized assembly code bit-blt routines for the PowerPC version of Majesty for Linux.
DRI bug fix work for the purposes of stabilizing the PowerPC support of Soulride for Linux.
NetEffect
Semiconductor
Austin,
TX
May 2006 - Present
Sr. Software Engineer
(Contract)
Languages:
C/C++, Tcl/Tk. X86 Assembly
Operating Systems: Linux
Middleware:
iWARP Verbs
GUI Frameworks Gtk+, Qt, Fltk
Responsible for the development of new functionality for the Linux driver and API libraries for NetEffect’s new NE010 iWARP 10 Gigabit Ethernet channel adapter for X86 architechtures. Work included:
Development of a Fast BSD Sockets wrapper library, providing a BSD sockets like interface on top of a lightweight User Level Protocol (ULP) on top of NetEffect’s implementation of the iWARP extensions to the Ethernet TCP/IP protocol specification.
Testing of current popular benchmarking tools used by the High Performance Computing (HPC) community against the aforementioned library.
Development of new benchmarking toolset to better show off the card’s performance as the previous tools were inadequate for measuring the real performance of the driver library.
Development work for the OpenFabrics compliant driver to provide Sockets Direct Protocol support for the new adapter.
Nexa Technologies, Inc.
Plano, TX
April 2005 - Present
Sr. Principal Engineer
Languages: C/C++, Java, Tcl/Tk
Operating Systems: Linux, Windows 2000/XP
Middleware: ACE/TAO, JSP, Spring, iBatis
GUI Frameworks: Fltk, Tk
Responsible for development of new features for Nexa's securities trading and data products. Work included:
Development of a secured index lookup engine for Tick Data's tick-by-tick equities database. This provides the ability to supply a securities symbol for a given equity offering and a date range and be able to immediately find the currently surviving company, even if the security is no longer trading under that symbol. It also provided similar lookups for CUSIP identifiers.
Development of an e-commerce site with hooks to allow Tick Data's proprietary application, TickWrite, the ability to download daily updates and new data orders via the same site. This site used JSP, Spring, and iBatis to accomplish the tasks in question in a timely manner.
Initial design work for the re-design of the infrastructure systems that are used to provide real-time data direct from the securities markets as the trades occur. This includes design work to allow the system to be effectively and efficiently clustered across multiple servers. Initial re-work used the ACE and TAO network libraries as a base for the object design.
Development work to make the stock ticker plant code base fully and completely ANSI C++ compliant
Development work to make the stock ticker plant code 64-bit clean in the event that the code is migrated from 32-bit x86 architechture machines to AMD64/EM64T (Athlon64/Opteron) based machines.
Development work to make the text mode, command line interface diagnostic and control tools for the stock ticker plant into GUI based tools using FLTK and Tk as the base GUI libraries. Code was migrated from a strictly Unix-only code base to a cross-platform one, with Linux and Windows XP as the intended targets.
Coollogic, Inc.
Dallas, TX
May 2001 - August 2002
Sr. Software Engineer /Team Lead
Languages: C/C++, Java
Operating Systems: Linux
Middleware: CORBA, XPCOM
Responsible for providing enhancements to Coollogic's embedded Linux distribution for set-top boxes. Work included the following:
Development of the new OS and distribution core for the 3.X releases of Coollinux.
Development of the new OS and distribution core for the 4.0 release of Coollinux.
Development of the picture-in-picture functionality offered in the 3.0 release of Coollinux.
Development of accelerated video and for the framegrabber cards used for Coollinux' picture-in-picture support.
Development of accelerated video and for the framegrabber cards used for Coollinux' picture-in-picture support.
Development of custom features such as providing PDF viewer support for set-top boxes.
Development of an automated meter reading (AMR) application for the power industry.\
Development of Liunx device drivers for electric power meters for the AMR application.
Development of the communications framework to support the AMR application.
Development of device drivers for an OSGI compliant services gateway for purposes of AMR and smart home applications.
epicRealm Operating Company, Inc.
Richardson, TX
July 2000 - May 2001
Sr. Software Engineer
Languages: C/C++, Java
Operating Systems: Linux
Responsible for providing new designs and implementations for the same of desired enhancements to the caching technology used in epicRealm's intelligent content delivery network and in their new managed cache offerings. Work included the following:
Development of a new caching engine using none of the NLANR squid cache engine code base.
Development of a scheme to accommodate partial content caching for ranged requests placed to the origin World Wide Web servers.
Development of a new store object indexing scheme within the NLANR squid cache engine based off of self-balancing AVL trees instead of the hash map that is currently used.
Development of a scheme to cache content that is authenticated through HTTP 1.0 basic authentication.
Development of a library to determine the number of connections currently in progress to a given server or group of servers, intended to assist in cache coherency and flow management of requests going to origin World Wide Web servers from the epicRealm data center cache racks.
TransCore, Inc.
Dallas, TX
Sept. 1997- July 2000
Sr. Software Engineer/Team Lead
Languages: C/C++, Java, SQL
Operating Systems: Linux, Solaris, Windows NT
Databases: DB2, Oracle, PostgreSQL, MySQL
Middleware: CORBA
Responsible for the overall design and development of the monitoring, access control, and transaction collection/processing subsystems of TransCore's PassKey parking and ground transportation management system (GTMS). Work included the following:
The development of a series of cross-platform driver modules that supported the operation of Opto-22 industrial I/O systems using the OptoMux protocol.
The development of a series of cross-platform drivers to support TransCore's line of RS-232/422 based RFID tag readers. The drivers in question were, at that time, compliant with the ANSI T6 RFID API specification.
The development of open sourced (http://sourceforge.net/projects/vsbc6) driver modules for the Linux kernel to support the industrial I/O interfaces on the Versalogic VSBC-6 single board computer.
The development of a cross-platform data collection system designed to monitor the state of a parking lane or a GTMS checkpoint to correctly identify a given vehicle via data collected from industrial I/O devices attached to the computer running the system and an ID obtained from a RFID tag containing a unique signature identifying the specific vehicle.
The development of a cross-platform transaction collection and processing system using the open sourced TAO CORBA ORB for connectivity to and from the transaction collection units and the transaction processing servers running against a DB2 database holding the client account and billing information.
The development of a cross-platform version of the database interface library for the transaction processing engine using ODBC/CLI as the framework for the same.
The development of an embedded systems version of the previously mentioned data collection system, using the Versalogic VSBC-6 single board computer, an embedded version of Linux (kernel version 2.2.15) residing on a flash disk, and a Linux specific version of the collection system.
The development of a virtual private network system to securely connect TransCore's remote customer sites to TransCore's support network for efficient transfer of billing information to the clearinghouse operations at TransCore and to provide efficient support by way of secure remote administration.
Diamond Head Software, Inc.
Richardson, TX
Feb. 1995 - Sept. 1997
Software Engineer
Languages: C/C++, Object Pascal, Visual Basic
Operating Systems: Linux, Windows NT
Middleware: COM/ActiveX
Responsible for the design and development of high-performance document imaging components and server subsystems for use with RAD development environments such as Visual Basic and Delphi. Work included the following:
The development of a simple universal thunking layer designed to allow Win32 code to correctly run under all Win32 API layers, including Win32s, while only using one source tree for all the code for the application using it.
Development of a set of ActiveX components to expose the functionality of the Pixel Translations, ISIS image scanning, file, display, and print libraries.
Development of a base object system, signaling model, and initial components for their 4.0 version of their ImageBASIC ActiveX component line.
The development of the RPC system initially used in their Tempest document server system.
The development of the Tempest TIFF image accelerator server and client subsystems.
Algo Communications Corporation
Dallas, TX
Feb. 1994 - Feb. 1995
Software Engineer
Languages: C/C++, Object Pascal, Visual Basic
Operating Systems: Windows 3.11/95/NT
Responsible for the development of new user interface libraries and code. Work included the following:
Development of UI toolkits extending the functionality of Borland's Object Windows Library (OWL.)
Development of a Windows sound driver intended to work with voice modems that did not provide integral sound support. Work used serial port only interaction with the modems to provide record and playback as needed by the Windows TAPI specification at that time.
Development of a Delphi based registry configuration tool to assist in configuring the printer port settings to help avoid printing pass-thru problems with a parallel port based TAPI phone, called PC-Phone.
Electrospace Systems, Inc. (Raytheon E-systems Div.)
Richardson, TX
July 1993- Feb. 1994
Software Engineer
Languages: C/C++, Object Pascal, Visual Basic
Operating Systems: Windows 3.11/95/NT
Responsible for the development of engineering analysis and calibration software for the Army's IEWCS program. Inactive Secret clearance.
Dental Plan, Inc.
Dallas, TX
July 1991- July 1993
Programmer/Analyst
Languages: C, Object Pascal, Quick Basic Professional
Operating Systems: DOS
Responsible for the development of new features for Dental Plan's main product, Easy Dental.
OmniSys, Inc.
Greenville, TX
Dec. 1990- June 1991
Programmer/Analyst
Languages: C
Operating Systems: DOS
Responsible for the development of new features for OmniSys' durable medical equipment management system.
Digital Switch Corporation
Plano, TX
June 1990- Nov. 1990
Software Test Engineer
Languages: C, Forth
Operating Systems: DOS
Responsible for the development of testing software for the purposes of regression and integration testing for cross-connect systems.
Education:
1989 - East Texas State University (Texas A&M at Commerce), BSCS
1989-1991 - East Texas State University (Texas A&M at Commerce), MSCS (Incomplete)
Outside Projects:
Lead developer for
the open source VSBC6 (http://sourceforge.net/projects/vsbc6)
industrial I/O driver project.
Lead developer for the Intelogis
Passport (http://sourceforge.net/projects/pport1) powerline
networking driver project.
Developer for the Utah-GLX
(http://sourceforge.net/projects/utah-glx )
3D accelerator driver project.
Works include:
Support for the Matrox G400 chipset.
Support for the ATI RagePRO chipset.