Charles Honton

 


email: chas at honton.org

 

Background:

Chas brings employers 25 years of cutting edge experience in enterprise computing -- placing particular importance on agile software development; using test driven development with JUnit for testing and Ant for reproducible builds. Chas produces full life-cycle documentation including standards, use cases, interaction diagrams, and javadoc.  Chas has contributed extensively to the open source community.  Chas has a career emphasis in secure distributed computing using SOA, J2EE, CORBA, and TCP/IP.

Certifications:

Sun Certified Programmer for Java 2 Platform 1.4

Sun Certified Developer for the Java 2 Platform

 

Skills Summary:

Skill Domain:

Framework Architecture, Application Design, Process Design, Team Leader (SCRUM and SDLC)

Programming Languages:

Java (11 years), C++ (10 years), SQL (15 years), JavaScript, HTML, CSS, JSF, JSP, XML, UML, Bash, Assembler, Pascal, APL, Lisp, Fortran, Algol, Basic

Technical Environments:

J2EE, Windows NT, Linux, Solaris, FreeBSD, HP/UX, AIX, OS/2, Legacy DOS, Gnome Desktop, CORBA, TCP/IP

Applications/ Tools:

Eclipse, JDeveloper, JBoss, oc4j, Maven, Enterprise Architect, Erwin Data Modeler, WebSphere Business Integrator, Oracle, DB2, SQLServer, Rational Rose, Ant, JUnit, JSwat, SourceSafe, CVS, Subversion, JDO, Apache, Tomcat, Microsoft IIS, sshd, PuTTY, Lucene, Sleepy Cat, LDAP

Work Highlights:

March 2007 – Present: Intuit, Highland Hills, OH – Senior Software Engineer

Project Beacon - Customer Central Rewrite

Data acqusition web service for personal and business financial data aggregation.  Developing in a Windows environment. To be deployed in Linux / WHP.

Role: Lead Engineer

·         Overall architecture driver

·         Data model and complex methods driver

Tools: Eclipse, Code Collaborator, Maven, Enterprise Architect, Erwin Data Modeler, TeamTrack, Scrumworks, Perforce, JBoss, Oracle

Competitive Advantage Firefox Extension

Web application implemented with Firefox Extension allows meticulouos end user tracking.  Patent application pending.

Role: Lead Engineer

·         Full use of XUL, RDF, Javascript, CSS, and HTML

·         Web service backend communications via JSON

Tools: Java, JavaScript, Eclipse, Code Collaborator, Perforce, Tomcat, MoinMoin

QuickSwitch

Web application allows end users to transfer Bill Payees from their current financial institution to their new financial institution.  Patent applications pending.

Role: Lead Engineer

·         Designed and implemented integration with Metavante XML Bill Payer interface.

·         JSP pages including JavaScript

·         Ongoing deployment support

Tools: Java, JavaScript, Prototype, Eclipse, Code Collaborator, TeamTrack, Scrumworks, Perforce, Tomcat, Microsoft SQL Server, MoinMoin

Customer Central

Data model and back end application providing personal financial data aggregation.  Intuit QuickBooks Online Edition and Quicken use CustomerCentral.  Developed and deployed in a Windows environment.

Role: Lead Engineer

·         Data model maintainence

·         Ongoing deployment support

Tools: Java, Eclipse, Code Collaborator, TeamTrack, Scrumworks, Perforce, JBoss, Microsoft SQL Server, MoinMoin

October 2004 – February 2007: Brulant, Beachwood, OH – Senior Consultant

WebCharter

Three tier web application providing quote, reservation, and fulfillment tasks for a national bus charter company.  Developed in Windows and deployed in a Linux environment.

Role: Senior Consultant

·         Designed jsf layout

·         Designed back-end architecture, integrates application with eFax, email, arcGIS, Paymentech, Vtrak, JD Edwards, and PeopleSoft

·         Monitored Data Model for implementation team

·         Ongoing deployment support

Tools: Java/J2EE, Oracle JDeveloper, Oracle Database 10g, Oracle oc4j Application Server

WebSphere Business Integrator

Installed, configured, and deployed the IBM WBI suite for international manufacturer in a Solaris environment.  The suite included: Partner Gateway, MQ, and InterChange server.

Role: Senior Consultant

·         Mentored / Tutored team members

·         Configured development, test, and production environments

·         Ongoing deployment support

Tools: WebSphere Partner Gateway, WebSphere MQ, WebSphere Interchange Server

Email Gateway

Developed email gateway for national lobbying organization in a Linux JBoss environment.  Nightly processing of customer contact database pushes changes to SOA email contact service.

Role: Senior Consultant

·         Mentored / Tutored team members

·         Installed and configured development and test environments

Tools: Eclipse, Junit, JBoss

VSFTP - http://vsftpd.beasts.org

VSFTP is “Probably the most secure and fastest FTP server for UNIX-like systems”.

Role: v2.0.5 Contributor

·         Created patch to allow Microsoft office suite to connect to vsftp servers.  Provides accurate response to FEAT request.

Tools: C, make, diff

Calculated Fields and Summarizations

Form & Table application extensions create non-database calculation and summarization fields.

Role: Architect & Implementer

·         Worked closely with customer to determine requirements

·         Determined implementation integration points

·         Integrated Rhino into field display

Tools: Java, Rhino JavaScript, JSwat, Ant, JUnit, Eclipse, Subversion

Forms and Tables

GKP Desktop applet allows users to create ad-hoc reports of GKP model and other datasource schemas.  Reports can be in either a form or table format.  Report editor uses schema metadata to present field options to the end user.  Reports are then translated into OQL datastore queries.

Role: Team Member

·         Architected temporary answer table for sorts and filters

·         Mentored team members

·         Implemented embedded table fields

Tools: Java, Ant, JSwat, SourceSafe

October 2001 - September 2004: Acero, Cleveland, OH – Senior Architect

Java Desktop Integration Components - http://jdic.dev.java.net

The JDIC open source project makes Java applications first-class citizens of current desktop platforms without sacrificing platform independence by providing access to facilities provided by the native desktop such as the mailer, the browser, and registered document viewing applications.

Role: Contributor

·         Icon Service Incubator Project Owner

·         Extensive contributions to Service / Pluggable Provider Architecture.

·         Implemented Windows and Gnome icon providers.

·         Contributed Ant scripts for platform independent builds.

Tools: Java, Ant, C++, cvs, diff, patch

GKP Desktop

Web Start application provides JDK 1.4 based framework for Swing applets to access the GKP model and server.  SSH is used to securely tunnel client / server interactions through public Internet.  User accessible applets and other resources are downloaded from the GKPFS.  The file browser component provides a view of the user's home directory and supports drag&drop of files between the GKPFS and the native desktop.  Opening a GKPFS file downloads the file to the local workstation and launches the associated native desktop application.

Role: Architect & Team Leader

·         Created jndi descriptors for Web Start client application deployment

·         Integrated orb socks plug-in to direct IIOP traffic through a PuTTY client / sshd server tunnel

·         Designed and developed service / provider plug-in architecture

·         Designed automatic application resource download from centralized file service

·         Integrated Operating System Desktop

Tools: Java, Ant, Webstart, sshd, PuTTY, JDIC, Secant Extreme Server, SourceSafe

OpenSSH - http://www.openssh.com

An open source version of the SSH protocol.  OpenSSH encrypts all traffic to eliminate network-level attacks and provides host authentication and secure tunneling capabilities.

Role: Contributor

·         Created patch to allow authenticated users, without /etc/passwd entry, to use port forwarding

Tools: C, make, diff

Java Data Objects

An implementation of the JDO specification layered on the Secant Persistent Object Service.  Complete object to relational database mapping solution includes transparent object navigation and ad-hoc query language.

Role: Consultant, Team Member

·         Designed Manager/Managed Object interactions

·         Directed implementation efforts

Tools: Java, Ant, Secant Persistent Object Service, SourceSafe

PuTTY - http://www.chiark.greenend.org.uk/~sgtatham/putty

PuTTY is an open source implementation of SSH for Win32 and Unix platforms.

Role: Contributor

·         Provided patch for SSH client to support SOCKS port forwarding.

Tools: C, make, diff

Genomics Knowledge Platform Filesystem

GKPFS is a secured registry and file system used by the GKP and GKP Desktop.  Permission lists allow or deny access per user or group.  Supports user 'home' directories and conventional locations for resources such as applications, icons, and archives.

Role: Team Member

·         Designed automatic application resource downloading.

·         Implemented directory locking

Tools: Java, Ant, Secant Extreme Server, SourceSafe

Text Search Service

Text search provides text index of GKP model objects using Lucene indexer and search engine.  Incremental and batch updates of index.  GKP model metadata in conjunction with deployment descriptors drive indexing and searching.

Role: Architect & Developer

·         Designed incremental and batch updating of index

·         Integrated indexer with metadata knowledge of GKP model

Tools: Java, Ant, Lucene, Secant Extreme Server, SourceSafe

Job Controller

Provides workflow scheduler with monitoring. Checkpoints allow complex jobs to be interrupted and restarted.  Jobs can be performed on local workstation or remote job farm.

Role: Team Lead & Developer

·         Managed day to day activities and mentored a six member, two location team

·         Designed execution service architecture

Tools: Java, Ant, C++, Secant Extreme Server, SourceSafe

OpenORB - http://openorb.sourceforge.net

OpenORB is a Java implementation of the Object Management Group CORBA 2.4.2 specification and associated OMG Services.

Role: Contributor

·         Implemented loading of platform specific native libraries for RMI over IIOP

Tools: Java, Ant, C, Checkstyle, diff

Genomics Knowledge Platform

The GKP is a semantic integration knowledge model of science research objects.  Rational Rose UML model is compiled into JDO business objects using ODLC emitters. Business objects use OQL for querying datastores.

Role: Team Member

·         Created deployment descriptors for Secant Extreme Server

·         Implemented build scripts

·         Created unit tests for GKP model

Tools: Java, JDO, Rational Rose, Ant, Secant Extreme Server, SourceSafe

April 1994 - September 2001: Secant Technologies, Beachwood, OH - Architect

Apache mod_cntr - http://www.dan.co.jp/webcounter

Open source Apache web server module for page counters.

Role: Contributor

·         Contributed patch for BSD / SleepyCat database locking in web page counter

Tools: C, make, diff

JSP Web Server

Secant Extreme Server’s JSP 1.2 / Servlet 2.0 container includes a JSP compiler and hot deployment of applications.  Pluggable front-end web server can be IIS or Apache, or uses in-process Web Server.

Role: Architect & Team Leader

·         Lead three-man implementation team.

·         Integrated IIS and Apache web servers.

Tools: Java, Ant, cctask, C++, C, Secant Extreme Server, SourceSafe

Simple Service Discovery Protocol

SSDP uses multicast IP to discover TCP services.  This protocol is fully described in Internet Draft draft-honton-sdp-02.txt.  The Internet Assigned Numbers Authority (IANA) has assigned IP multicast address 224.0.1.67 for use by SSDP.

Role: Author

·         IANA liaison

EJB Server

An EJB 1.1 certified container environment for use with Secant Extreme Server.  Supports session and entity beans. Entity beans can use either BMP or CMP.  Supports standard transaction and security policies.  ODLC emitters produce EJB ties, beans and deployment metadata.

Role: Team Member

·         Integrated security with CORBA Security Server

·         Integrated transactions with DSC

·         Implemented Java / C++ bridges

·         Implemented ODLC emitters for EJBs

Tools: Java, Ant, cctask, C++, Secant Extreme Server, SourceSafe

Extreme Enterprise Server

Bundling of ODLC, AbsORB, DSC, POS and CORBA Services for a complete C++ and Java application server.  Uses Baseset to achieve platform independence.

Role: Team Leader

·         Lead four man team

·         Integrated security with CORBA Security Server

·         Integrated transactions with DSC

·         Implemented Java / C++ bridges

·         Implemented ODLC emitters for served objects

Tools: Java, C++, Ant, cctask, SourceSafe

CORBA Security Server

Supplies user credentials and resource required rights from pluggable authenticator; either LDAP or POS datastore.  User credentials include attributes such as roles and rights.  ORB client interceptors automatically transfer security credentials with each remote CORBA method invocation.  ORB server interceptors enforce operation access control.

Role: Architect & Team Leader

·         Led three man team

·         Architected ORB interactions

·         Designed and Implemented credential / rights schema

·         Implemented ORB client and server interceptors

Tools: C++, POS, LDAP, SourceSafe

Distributed Service Coordinator

The DSC provides service launching, monitoring, and fail over mechanisms for CORBA served objects.  Uses IP multicasting for intra-cluster communications.  Clients use well-known address or SSDP to discover a DSC instance.  Internet Assigned Numbers Authority (IANA) has assigned TCP port 3390 for use by this service.

Role: Team Member

·         Architected IP multicasting

·         Implemented process monitoring and launching

·         IANA liaison

Tools: C++, POS, Ant, SourceSafe

ODL Compiler

ODLC is a three-phase compiler, which parses Object Description Language, enforces property constraints, and invokes emitters.  Property constraints are expressed in configuration file.  Additional constraints and model semantics are hard coded.  Each emitter produces different output files: ORB bindings for Java and C++, POS metadata, database schema, EJB and C++ ties.

Role: Architect & Implementer

·         Authored ODL, an extension of CORBA IDL

·         Implemented Lex/Yacc compiler front-end

·         Architected plug-in emitter framework

·         Implemented multiple emitters

Tools: C++, Sandstone Visual Parse++, SourceSafe

AbsORB

A CORBA C++ ORB supporting both static and dynamic object invocation.  Uses IIOP 1.0 transport. Supports rebinding of served objects through DSC.  ODLC emitters produce client proxy and served object bindings.

Role: Architect & Implementer

·         Implemented core services

·         Implemented ODLC client stub and server tie emitters

Tools: C++, SourceSafe

Persistent Object Service

POS stores persistent objects in a relational database.  ODLC emitters produce metadata for C++ and Java objects.  Pluggable datastore driver translates metadata into database specific SQL statements.  Object Query Language allows dynamic restoration of C++ or Java objects.

Role: Team Member

·         Architected pluggable datastore framework

·         Implemented ODLC metadata and business object emitters

Tools: C++, Oracle, DB2, Sybase/Microsoft SQL Server, and SQL Anywhere, SourceSafe

Secure Internet Daemon

Shareware Internet service launch daemon for OS/2 and Windows NT.  Incoming requests are allowed or denied based upon source IP address or DNS reverse lookup name.

Role: Author

Tools: C++

Post Office Protocol Server

Shareware POP3 server for OS/2 and Windows NT.

Role: Author

Tools: C++

Baseset

Platform leveling C++ classes include files, threads, mutexes, semaphores, process control, and IPC.  Operating systems include Windows, Linux, Solaris, FreeBSD, AIX, OS/2, and HP-UX.

Role: Lead Developer

Tools: Gnu gcc, Microsoft Visual C++, Borland C++, IBM Visual C++, IBM xlc, Metaware C++, SourceSafe

Borland OWL Port

Ported Borland Object Windows Library from Windows to OS/2 Presentation Manager.

Role: Team Leader

Tools: Borland C++

April 1993 - February 1994: IOTech, Bedford Heights, OH - Analog Design Engineer

Daqbook 200

Data acquisition unit for laptop computers.  Enhanced Parallel Port controls 16-bit analog input, 12-bit analog output and digital I/O.  Timing by FPGA.

Role: Hardware Engineer

Tools: Actel FPGA designer suite, Protel circuit designer

October 1986 - April 1993: Scientific Solutions, Solon, OH - Lead Project Engineer

ISO 9000

Engineering member of Management Team responsible for direction of all new product development and ongoing product support.  Quality control team was responsible for ISO 9000 certification.

Role: Engineering liaison

NIACPA Multimedia Integrated Circuit

ASIC for multimedia computer peripheral.  Supported SCSI, digital CD, MIDI, joystick, DSP, tri-port buffer memory, and audio codec.

Role: Hardware Engineer

·         Led two man software team creating multimedia device drivers for Windows and OS/2

Tools: Mentor Graphics ASIC suite

LabMaster AD

Data acquisition peripheral card for PC compatibles.  Surface-mount analog circuitry provides sixteen channels of 330 kHz, 12-bit analog input, dual 500 kHz analog output, DMA channels for both analog input and analog output, expandable digital I/O and five counter / timers. Software routines include high speed streaming to/from disk, pre/post trigger data collection, GUI scope emulation, waveform generator, and hardware confidence tests.  TSRs support Asyst and Labtech.  Script control of all board functions.

Role: Hardware & Software Engineer

Tools: Mentor Graphics pc board suite, Microsoft Assembler, Borland Turbo C++

Route488

TSR written in assembler provides BIOS-like support of IEEE-488 interface cards to numerous high-level languages.  Reverse engineered and implemented replacement for industry standard GPIB.COM

Role: Software Engineer

Tools: Microsoft Assembler, Borland Turbo C++

MC-DAS 1612/1616

Data acquisition peripheral cards for in IBM PS/2 computers.  Sixteen channel 16/12-bit analog input, single 12-bit analog output, digital I/O, and five counter / timers.

Role: Hardware & Software Engineer

Tools: Mentor Graphics pc board suite, Microsoft Assembler, Borland Turbo C++

July 1986 - September 1986: Telxon, Fairlawn, OH - Lead Software Engineer

Protocol Switch

Multi-line converter used RS-232/485 with SDLC, HDLC, Bisync and other IBM terminal protocols to link hand-held terminals with mainframes.  Multi-tasking executive implemented in assembler.

Role: Software Engineer

Tools: Microsoft Assembler, Wizard C++

November 1983 - June 1986: Tecmar, Solon, OH - Software Engineer

Phonegate 2400

2400bps Hayes compatible modem.  Firmware processing included asynchronous character conversion, phone set monitoring, call progress detection, command line interpretation and data set connection.

Role: Software Engineer

Tools: Z8 assembler, Coherent

LabPac

Real-time multi-process executive for laboratory data acquisition and control. TSR handles simultaneous analog input, analog output, digital input, digital output, counting, and timing tasks.

Role: Software Engineer

Tools: Microsoft Assembler, Microsoft C, Borland Turbo Pascal

eLAN Printer Server

eLAN print utilities spool direct file images or format and spool text.  Output to local printers be redirected to network printer or local printer can be shared.

Role: Software Engineer

Tools: Mark Williams C

 

Professional & Educational Background:

March 2007 – Present

Intuit, Highland Hills, OH

Staff Engineer

October 2004 – February 2007

Brulant, Beachwood, OH

Senior Consultant      

October 2001 – September 2004

Acero, Cleveland, OH

Senior Architect

April 1994 – September 2001

Secant Technologies, Beachwood, OH

Architect

April 1993 – February 1994

IOTech, Bedford Heights, OH

Analog Design Engineer

October 1986 – April 1993

Scientific Solutions, Solon, OH

Lead Project Engineer

July 1986 – September 1986

Telxon, Fairlawn, OH

Lead Software Engineer

November 1983 – June 1986

Tecmar, Solon, OH

Software Engineer

September 1979 – May 1983

Case Western Reserve University, Cleveland, OH

B.S. Computer Engineering