Avacoda, LLC - Daniel Dee, Senior Software Engineer - 08/08/2006

Daniel Dee

Senior Software Engineer


Contact Information

Daniel Dee
#201, Suite 206
6 University Drive
Amherst, MA 01002
Tel: (413) 256-4665
Fax: (413) 256-6443
E-mail: daniel@avacoda.com
WWW: http://www.avacoda.com

Technical Skills

Design: UML, ERD.
Languages: Java, HTML, JavaScript/VBScript, Python/Jython, C/C++, Visual Basic, SQL, Various Unix scripting languages.
Technologies: J2SE, J2EE, AWT/Swing, EJB, JDBC, JSP/Applet/Servlet, Spring, XML, XSLT.
Databases: Oracle, DB2, MySQL MS SQL Server, PostgreSQL.
Graphics/GUI: X Window System, Java AWT/Swing, Motif.
Development Tools: Eclipse, WSAD, Visual Café, Forté, Emacs/JSwat, Rational Rose, Together/J, reView.
Web and Application Servers: WebLogic, WebSphere, JBoss, Tomcat, Apache, MS IIS.
LDAP Servers: Oracle Internet Directory (OID), Netscape Directory Server (NDS)
Deployment Platforms: Unix (including Mac OS X, Linux, Solaris and most other flavors) and Windows 95/98/NT/2000/XP.

Selected Clients

Microwave Networks (USA), Aetna (USA), ING (USA), Pitney-Bowes (USA), Alysis Technologies (USA), ISO New England (USA), GE Fanuc (formerly DataViews) (USA), HappyMD.com (USA), UMass Legal Department (USA), Industrial Technology Research Institute (Taiwan), Marubun (Japan), Kee-Lung Port (Taiwan), NTT Data (Japan), Mitsubishi Heavy Industry (Japan), Daewoo Telecom (Korea), Posco Steel (Korea), Sq D (USA), AT&T (USA)

Selected Project Titles

  • Model Driven Framework for Generating J2EE Applications
  • Web-based Electronic Bill Presentment and Payment (EBPP)
  • N-tiered Scalable Web Portal
  • Financial Data Exchange Client/Server System
  • Energy Exchange Market System
  • Graphical User Interface Builder for Dynamic Data Visualization
  • On-line Mediation Software System
  • Internationalization Projects for Multibyte Languages (Japanese, Chinese and Korean)
  • Graphical User Interface (GUI) Editor for Programming Telephone Exchange System
  • Air Traffic Control System

Project Summaries

Product: Radio Configurator
Client: Microwave Networks (2006)
Role: Senior Software Consultant
Industry: Radio/Telecom
  • Developed graphical front-end for configuring microwave radios. Requires communicating with radio using SNMP and serial protocols. Used Jython for rapid prototyping. Investigated various Swing testing technologies.
  • Designed and implemented using Swing.
  • Technologies: Swing, SNMP, Serial
  • Tools: Eclipse, Java Communications API, SerialIO, CVS, SwingDesigner, FormLayout, Marathon
Product: HSA Funding
Client: Aetna (2006)
Role: Senior Software Consultant
Industry: Insurance
  • This backend application exchanges data with the bank to properly process and fund a Health Savings Account claim.
  • Designed and implemented on WebSphere using Spring.
  • Technologies: J2EE, Java, Spring WebSphere, DB2
  • Tools: WSAD, JUnit, Rational Rose, Rational Clearcase
Product: Model Driven Framework for Generating J2EE Applications
Client: ING (2004-2005)
Role: Senior Software Consultant
Industry: Financial
  • The internally developed tool enables ING developers to quickly generate a framework for their J2EE applications from a UML model that already embody all the best J2EE practices. Model can be updated and code regenerated without losing manually modified code. Ant script is written to package the code for WebLogic, WebSphere and SunOne application servers. UDB, Oracle, MS SQL and MySQL are all supported.
  • Designed, implemented and deployed automated build and test system using JUnit, Cactus, StrutsTest, HTMLParser and HttpUnit.
  • Investigating use of JellySWT, SWT, JFace and JLisa to revamp current code generator GUI with an eye for making future feature enhancement easier and less error prone.
  • Technologies: J2EE, Java, EJB, XML, XSLT, JSP, WebService, WSDL, WSIF, Struts, WebLogic and WebSphere, Oracle and DB2, Jelly, SWT, JFace
  • Tools: Eclipse, Emacs/JDK/JSwat, WSAD, JUnit, Cactus, HttpUnit, HTMLParser, StrutsTest, Rational Rose, PVCS, Classcycle, OptimizeIt
Product: Web-based Electronic Bill Presentment and Payment (EBPP)
Client: Pitney-Bowes docSense (2000-2002,2003-2004)
Role: Senior Software Architect
Industry: Financial
  • The product helps companies quickly build branded web sites for presenting bills and processing payments online. It uses J2EE technologies and is designed to be portable across application servers (WebLogic 6.1/WebSphere) and databases (Oracle 8i/IBM DB2). Authentication is handled via LDAP (OID/NDS) for added security and flexibility.
  • Participated in the design of the system. Taking its cue from Struts, but with a completely new design, the product uses an MVC (model-view-controller) model. The design allows EBPP web site builders to customize the display layout, menu actions and certain other behaviors by simply editing XML-defined view and action files without programming. All business logic resides in the EJB backend. Wrote specifications utilizing UML use cases, class diagrams, sequence diagrams and database ERD for the project (UML tool used is Together/J). Implemented the first-cut of the EJB framework for the system.
  • Designed configuration management system to manage source code.
  • Designed and developed automatic system for nightly builds, unit tests (JUnit) and release using makefiles and scheduled tasks. Automatically builds EAR files for WebLogic and WebSphere. Automatically generates SQL scripts and JDBC code for Oracle and DB2 from schema defined in XML and transformed using XSLT. 
  • Wrote a Java parser that generates EJB remote interfaces from beans. Wrote make script for packaging the EJBs either individually or as one giant JAR file (automatically consolidating all deployment descriptors). Wrote program to setup LDAP directories and attributes from an LDIF file that works for both OID and NDS, and for tearing it down recursively. 
  • Helped managed overall development process to ensure quality by reviewing and analyzing code regularly for threading issues, memory leak, redundancy, obsolescence, and circular dependencies, while mentoring junior programmers about such issues, and advising the project leader of any such issue if the situation requires it.
  • Technologies: Java, EJB, XML, XSLT, JSP, WebLogic and WebSphere, Oracle and DB2
  • Tools: Emacs/JDK/JSwat, Symantec, Visual Age for Java, JUnit, Together/J, reView, OptimizeIt
Project: N-tiered Scalable Web Portal
Client: HappyMD (2000-2001)
Role: Senior Software Architect
Industry: Healthcare
  • HappyMD.com is a health information web portal designed for the Chinese market. It uses open source J2EE technologies (Tomcat, JBoss) and is designed to be language neutral (I18n, internationalization), so the site can be switched between languages seamlessly. 
  • Co-designed and supervised its overall development using open source n-tier architecture: Apache (web server), Tomcat (servlet engine), JBoss (EJB app server) and Oracle (database). Designed the database schema. Designed and implemented reflection-based layer to assist JSPs in accessing the EJBs. Wrote specification using UML use cases, class diagrams, sequence diagrams and ERDs for client and developers. 
  • Managed overseas and local developers, while ensuring quality by reviewing and analyzing code regularly. 
  • Design issues include how to upload Chinese Word documents into the database and how to display them on the web site. Have to ensure that multibyte documents are not mangled when getting them into and out of the system. Ensured Oracle is installed correctly to support mutlibyte characters. Ensured that language encoding in the JSPs and HTMLs are appropriate for the language being displayed.
  • Technologies: Java, EJB, XML, XSLT, JSP, WebLogic, jBoss, Apache, Tomcat, Oracle
Project: Financial Data Exchange Client/Server System
Client: Alysis Technologies (now Pitney Bowes docSense, 2000)
Role: Senior Software Engineer
Industry: Financial
  • Designed and developed a system for exchanging OFX (Open Financial Exchange) financial data
  • Technologies: Java, Servlet, JCup, JLex
Project: Energy Exchange Market System
Client: ISO New England (1999-2000)
Role: Technical Manager
Industry: Utilities - Power
  • Worked with a team of Java developers and DBAs to revamp the Billing Subsystem. Used UML use cases, class diagrams, sequence diagrams and ERD to design and model the subsystem. Implemented the invoicing wizard applet. 
  • Managed a team to enhance the Market System (moving it to version 2).
  • Analyzed and recommended backup and archiving strategy.
  • Developed the invoicing sub-system.
  • Technologies: Java, CORBA, WebLogic, Oracle
Project: ViviGraphics
Client: Wigitek Corporation (1997-99)
Role: President
Industry: Data Visualization
  • ViviGraphics is a visual programming editor for building JavaBean-encapsulated interactive graphical application. It uses Java AWT and Swing for its GUI and JDBC to interact with the data source. 
  • Conceived, co-designed, and oversaw development, licensing, production and marketing. ViviGraphics uses an MVC architecture. The visual programming editor uses a dataflow model. The generated output is a JavaBean that can be incorporated into an IDE, or ViviGraphics itself. Used UML use cases, design patterns, class diagrams and sequence diagrams to design and model the subsystem.
  • Technologies: Java, AWT/Swing, JDBC
Project: On-line Mediation Software System
Client: UMass Legal Department (1998)
Role: Consultant
Industry: Legal
  • Designed and supervised development of an on-line mediation system
  • Created interactive graphics for expressing and analyzing disputes
  • Technologies: Java, Servlets, MS SQL Server
Project: Internationalization Projects for Multibyte Languages (Japanese, Chinese and Korean
Clients: Various (1993-2000)
Role: Consultant
Industry: Various
  • Assisted in the development of technologies to enable multibyte text input and output in Japanese, Chinese and Korean.
  • Technologies: C, X/Motif
Project: Graphical Editor for Programming Telephone Exchange System
Client: Prism Systems (1991-93)
Role: Senior Software Engineer
Industry: Various
  • Developed of a graph layout library using X and Xt for programming a telephone exchange system.
  • Resolved problems in displaying graphs containing nodes with loopback arcs, whose subgraphs may be reduced or expanded to optimize the use of display real estate. Visited customer on-site.
  • Technologies: C, X/Motif
Project: Air Traffic Control System
Client: Air Canada (1990)
Role: Senior Software Engineer
Industry: Various
  • Developed as part of a team a flight monitoring system
  • Solved problem involving the repair of graphics of overlapping objects (such as airplanes and waystations).
  • Technologies: C, DataViews

Education

M.S. Computer Systems Engineering, University of Massachusetts, Amherst. (5/87)
M.S. Electrical Engineering, University of the Philippines, Diliman. (5/85)
B.S. Electrical Engineering, University of the Philippines. Cum Laude. GPA 3.4/4.0. (5/83)

Foreign Languages

Chinese: Mandarin, Fukienese, Taiwanese, Understands Cantonese (HongKong)
Filipino: Tagalog

Publications

  1. Dee, Daniel (1998) Implementing Callback-Style Support for Java's AWT, Java Developer's Journal, Vol 3, No 4
  2. Dee, Daniel (1998) Widget-izing Java's Graphical User Interface Components, Java Developer's Journal, Vol 3, No 6
  3. Dee, Daniel (1998) Linux on the Compaq Presario 1000 Series, Linux on Laptops (http://www.cs.utexas.edu/users/kharker/linux-laptop), Sep 1998
  4. Dee, Daniel (1999) HotSync-ing the Palm III and the Notebook PC Via the Infrared Link, Oct 1999
  5. Dee, Daniel (1998) Implementing a Grid Layout Manager with Positionable Components, Java Developer's Journal, Vol 3, No 12
  6. Dee, Daniel (1999) Building a Tree Viewer, Java Developer's Journal, Vol 4, N4
  7. Nielsen, Dale and Dee, Daniel (1999) Upgrading Linux Over the Internet, Linux Journal, May 1999