CHARLES D. HAVENER
16 Michael Rd.
Maynard, Mass. 01754
(978) 897-4499
cdh@cdhconsult.com (www.cdhconsult.com)
SUMMARY
I am a senior software developer and architect with in depth experience developing high quality System and Application programs using Java, on Unix or Windows operating systems. Major strengths in Java web technologies (Servlets/JSP JSTL), Java Swing GUI’s, object-oriented design, translators, interpreters, compilers, and network applications. Experienced in Java using the JBuilder and NetBeans IDEs,Tomcat, MySQL, JDBC, C++, and STL. Also experienced with JavaCC, YACC, SPARC, RS6000, SP2, Sun Solaris, and AIX. I was a senior instructor in Advanced C++ at Northeastern University. I am a Sun Certified Java Programmer. I have used Oracle, SQL Server and MySQL databases.
Attention Recruiters: I work exclusively over the Internet as a telecommuter on distributed development teams. I am not seeking full time on site work.
PROFESSIONAL
EXPERIENCE
CDH Consulting, Maynard MA (full time 2001 - present)
See my web site http://www.cdhconsult.com for images of GUI’s and more details on recent projects.
I designed and implemented an interactive graph Java Swing GUI Applet using the JGo framework from http://www.nwoods.com.
I designed and implemented a complete e-commerce web site with over 8000 products using Java Servlets, JSP, JSTL, and JavaScript driven by the MySQL database. The site originaly used iframes but has been converted to a tile based approach. The registration page uses AJAX to provide the user feedback on their login name choice before pressing the submit form button. http://www.universalmedicalinc.com. I also developed a custom Java Swing GUI, fully threaded using the SwingWorker, to manage all aspects of the site from image scaling, through Excel spread sheet conversion to MySQL format, to database editing using the JBuilder Data Express components.
I also designed and developed software for the Intel IPMI hardware monitor board from Pigeon Point systems in Dev Studio using C++. A Java GUI was initially implemented for prototype work. The software was enhanced to service multip[le monitor boards over a TCP/IP network using a MOXA serial port interface. My web site has images and more information.
Pittsburgh Simulation, client of CDH Consulting(2001 to 2004)
I designed and developed Verilog and SDF compilers for Pittsburgh Simulation (http://www.pitsim.com) working over the Internet from Maynard MA. Verilog is a circuit design language. SDF, standard delay format, is a language used to specify circuit-timing constraints. This was a very large Java project and used the JavaCC parser tool and the Purdue Java Tree Builder Tool. The Verilog compiler builds a graph intermediate data structure that it modifies extensively. Recursively walking the graphs produces all the net list connectivity data for a Mapper program, written in Java, that produces gigabyte sized binary files to load into their V400 simulator accelerator. A paper describing the XML persistence of the graphs was published in the June 2003 issue of JavaPro magazine.
Elm Square Interactive / Exit41 Inc., Andover Mass. (1999-2001)
I developed a
very reliable multithreaded Java application to display and control the flow of
orders thru the “Kitchen Video System” of fast food stores like
McDonalds. I developed a comprehensive set of register kit Java beans with
special bean customizers to facilitate building intensely graphical java
GUI’s for the food ordering register. I designed and implemented a
customer modifiable register application that stores JPanels full of image
buttons into a Microsoft SQL server database using an XML persistence
mechanism. Most of this development was done from Maynard over the Internet.
Epsilon Data
Management Inc., Burlington Mass. (1992-1999)
I worked on Epsilon’s eInteract Web infrastructure for over a year using Java, JBuilder and Oracle 8.0.5 and the Oracle App Server using both the JCorba and JWeb (i.e. Servlet) cartridges. I developed multi-threaded GUI’s using both Java Swing and Borland JBCL components and also both JDBC and Borland’s Data Express architecture to access the data base. IP multicast was used to monitor several running services. Visual Source Safe used for software control.
In the mid 90’s I Designed and implemented a custom query language compiler for EQL (Epsilon Query Language) and a run time environment in C++ for terabyte size data bases which is used on the IBM SP2 parallel super computer. The query language compiler is a large object oriented design. The query language has many unique constructs and data types and is very context sensitive. Yacc and Flex were used to implement the grammar. I published two papers describing this project.
Iris Graphics Inc., Bedford Mass. (Senior Software Engineer 1990-1992)
I designed a distributed Unix network application using TCP/IP stream sockets and daemons to control the expansion and printing of color images.
GenRad Inc., Concord and Bolton MA (Sr. Principal Software Engineer 1982-1990)
I Designed and implemented software for integrated circuit and printed circuit board test systems(C, C++, Vax/Ultrix, Unix V.2).
PROFESSIONAL
ACTIVITIES AND ASSOCIATIONS
Member of the Association for Computing Machinery SIGPLAN(ACM) since 1976.
Taught C++/C in the Northeastern State of the Art program 1980-1996.
EDUCATION
Boston University, Master of Science in Computer Science, 1985.
Concentration in Compilers and Artificial Intelligence (expert systems)
Cornell University, BSEE & Master of Electrical Engineering, 1960-1966.
Elected to Eta Kappa Nu for Scholastic Achievement
PUBLICATIONS &
PRESENTATIONS
Serialize Java Data Objects to XML – JavaPro Magazine June 2003
EQL – The Query Language You Never Heard Of – ACM SIGPLAN 1998
A C++ Application Story - C++ Report (describes EQL compiler) Feb 1994
An Object Oriented Frog Pond - The C/C++ Users Journal May 1993.
An Object-Oriented Design Example in C++ - C Users Journal, August 1990
A C to C++ Migrator Tool - The C Users Journal, October 1989
Connect Four With Alpha-Beta Pruning - The C Users Journal, April 1989
CONTINUING
TECHNICAL EDUCATION
I maintain a large library of texts and journals and continue to attend various seminars, such as the ACM Boston chapter spring and fall seminar series, and users groups, such as NEJUG - the New England Java Users Group.