JOSEPH THOMAS
3024 West Queen Lane
Philadelphia, PA 19129
Cell :   215-906-2892
home:  215-849-0589

http://chaos.phy.ohiou.edu/~thomas
shijujt@yahoo.com

 

Over six years of experience in all stages of software development life-cycle: Functional Design, Technical Design, Data Modeling, Programming and Integration. About two years of experience in teaching HTML, CSS, JavaScript, J2SE Platform, J2EE Architecture, and XML technologies.

Education

  • Ph.D. Physics, Ohio University, Athens, Ohio, (Sep. 1993 – Mar. 2000).  Non-smooth Dynamics of Vibro-impact Systems
  • M.S. Physics, Delhi University Delhi, India (Aug. 1990 - Aug, 1992)
  • B.S. Physics, minor in mathematics and chemistry, St. Stephen’s College Delhi, India (Aug. 1984 – Aug. 1987)

Skills

  • Programming Languages:
    • J2SE & J2EE: Core Java, Swing, JSP, Servlets, EJB, JMS, JDBC, JNDI, RMI-IIOP, JavaMail, Jakarta Struts, Tiles, Validation Framework, Taglib, and Jakarta-commons sub-project
    • XML: DTD, XML-Schema, XSLT, XPath, DOM, SAX, JDOM
    • C++, C, Fortran
    • Scripting Languages: Unix-Shell Scripting, AWK, SED, JavaScript, HTML/XHTML, CSS, SQL
    • Others: CVS, Ant, Make, Matlab, Mathematica, Install Anywhere, Bugzilla
  • Operating Systems and Environments: Unix (SunOS, Solaris, AIX 5.1L), Linux (Redhat 5.1-9.0), XWindows, Motif, MS Windows, OWL, CGI Programming using C
  • Application Servers: Weblogic (5.1 - 7.0), Websphere (3.5 - 4.0), and JBoss (2.4.4) with Tomcat (3.1 - 4.1.24)
  • Database: Oracle, MySQL, Cloudscape

Projects

Software Development  :

 

·        Java API  and Lotus Domino C Software Engineer (Compoze Software Inc. Aug 2003 - Present)

            As a Compoze Java API developer and Lotus Domino C software engineer I was responsible for:

o       API Development

§         Designed, developed, certified and supported the foundation Compoze Java Domino API product

§         Ported the Compoze Domino Native service to RedHat Linux 8.0/Redhat WS 2.1 with gcc 3.2.0

§         Developed several key components of the underlying C/C++ code layer on top of which the Compoze Domino Java API is developed

·        Compoze Memory Manager: A C memory manager utility module for tracking memory usage, detecting memory leak by the underlying Compoze C Domino API

·        Compoze Domino Admininstrator Console: A Java Swing based application that allows remote administration of  Compose Domino Service (Java/C)

·        Compoze Domino Logging Manager: (Java/C)

§         Produced deliverables required for different phases of the project including sequence diagrams, object models, Java code, Javadocs, technical requirements documents, status reports, test scripts, and knowledge transfer documents

§         Participated as a system tester during test phase of product development and took responsibility for creating, running and analyzing performance and endurance tests

§         Developed build scripts to automate nigtly and weekly build of the Compoze domino product

o       Sales Support

§         Supported the Compoze sales staff in pre-and post-sales activities

§         Managed customer relationships in concert with the Compoze sales team

o       Customer Support

§         Supported customer help calls

§         Debugged, analyzed and fixed application problems/issues

§         Assisted customers when performing Proof-of-Concept engagements to help ensure Compoze’s ability to deliver a comprehensive and effective solution

o       Compoze Bug Tracker

§         Installed, Configured and Customized the open source bug tracking software - Bugzilla for internal use by all API and Portal developers

§         Developed custom modules for Bugzilla to support custom features internally required

§         Custom features implemented in bug tracking system were coupled with the Compoze products’ build process

·        Timesheet, Expense, and, Project Management Tool (STEP) (Millenium Infosystems Oct. 2002-Jul. 2003)

Timesheet, Expense, and, Project Management Tool enables employee to Log on to the system and submit the timesheet, expense report and manage task.

(ROLE: Design/Developer/Integrator/Deployer)

o       Define Stage

§         Requirement gathering from end users and writing down business process

§         Enhance Business Requirements and translate it to HTML prototype

§         Preparation of Design Documents and Application Definition Documents

o       Design Stage

§         Implementation Design, and Data Modeling of STEP Management using Objected Oriented Process and standard Design  Patterns

o       Develop

§         Developing STEPS using J2EE Architecture - Java, JDBC, JNDI, JSP, Servlet, XML, and several Jakarta-apache products

§         STEPS, based on the Struts MVC framework (with a Tiles presentation layer) and  jakarta commons project, is designed for multiple roles, providing different interfaces for the various types of administrators and users

o       Deploy

§         Installation and Configuration of IBM Websphere Application server on NT and Solaris servers

§         Configuring Front-End HTTP Apache web-server with IBM Websphere Application servers

§         Writing Perl scripts to make Deployable Jar and War files

§         Convert Perl/shell scripts into Ant build scripts to make Deployable Jar and War files

§         Deploying the entire Application on Websphere Application server

·        Tesoro Petroleum, San Antonio, TX. Mar. 2002 – Sept. 2002 (http://www.tesoropetroleum.com):

o       Custody Management System(ROLE – Database Script Developer/Build Master)

      Developed using Visual Basic, ASP, Oracle.

§         Designed data model using Rational Rose and incorporated schema diagrams

§         Implemented a parser/code generator engine to convert unstructured data to SQL code

§         Maintained Oracle database schema, scripts, and analyzed complex data

§         Implemented scripts for automatic loading of master data

·        Excelon Corporation, Burlington, MA. Jul. 2000 – Feb. 2002 (http://www.exceloncorp.com):

o       COCOMO – Software Cost Estimation Tool (ROLE Architect/Enterprise Java Developer)

§         Led a group of ten business and technical consultants to design, develop, and deploy  a multi-tiered, distributed, transactional, software cost estimation (COCOMO) tool based on J2EE architecture.

§         Technologies used were Servlets, JSP, EJB, JNDI, JDBC, RMI-IIOP on server side and HTML, CSS, and Javascript on the client side.

§         The MVC design pattern was used at the web-tier layer to decouple the presentation from the application data processing.

§         The application was deployed with IBM Websphere 3.5.2, application server on Solaris 2.7

§         Wrote Ant build scripts to automate the build process.

§         Deploy the entire Application on Webspshere Application server

o       J2EE Reference Implementation (ROLE  Enterprise Java Developer)

§         The J2EE reference application was developed to demonstrate a recommended implementation of core J2EE technologies

§         It included various design techniques to integrate key J2EE technologies such as JDBC, JNDI, Enterprise JavaBeans (EJB), Servlets, and Java Server Pages (JSP), and Struts framework on WebLogic application server

§         The Apache Struts framework was integrated into the presentation tier which enabled a central organizational structure for building, controlling, and extending web applications. Custom Struts JSP tags were used by page-designers to create displays

§         The Reference application presents an example of a scalable enterprise application. Project team developers can use it either as a pattern of how to design and develop a J2EE enterprise application, or as a source of reusable components, or both

§         Standardized the source directory structure for an automated local and remote deployment using the Ant build tool

Technical Training  (Jul. 2000 – Feb. 2002):

·        US Navy (http://www.fmso.navy.mil), Ultramar Diamond Shamrock (http://www.valero.com), College Foundation Incorporated (http://www.cfi.org/), WebCT (http://www.webct.com/) and Economical Insurance Group (Canada): the following technical courses were designed, developed, and taught with a particular emphasis on rapid application development methodology and industry standard best practices:

                 (Role: Portal Developer/ Course Designer/ Course Developer/Instructor)

o       HTML, CSS, & Javascript

o       Programming with Java

o       Servlets and JavaServer Pages

o       Enterprise Java Beans (EJB)

o       XML (DTD, Schema, DOM, SAX, JDOM, XSLT, XPath)

·        Seagate (http://www.seagate.com): Corporate Portal Development

                  (Role: Portal Developer/ Portal Course Designer/ Developer/Instructor)

o       Designed and developed a three day technical training curriculum on "mySeagate" intranet corporate portal developed for Seagate corporation

o       The course taught developing rule-based templates (TIBCO Portal Builder) for content aggregation, portal administration, and on integrating legacy Seagate data source into portal-style content presentation

o       The portal was developed using TIBCO Portal engine and messaging components, on iPlanet Web server. Netegrity Siteminder was used for authentication and Vignette StoryServer for content management

·        Internal Training and Mentoring (August 2000 – January 2002)

            (Role: Course Designer/ Course Developer/Instructor)

o       Provided framework code and templates for commonly used application logic patterns and user interface idioms.

o       Trained over 300 C-bridge internal consultants for core Java, server side Java and XML based technologies.

o       Played mentoring role for new hires on several aspects of Rapid application development methodologies, J2SE, and J2EE best practices.

o       Started and conducted a self-study based approach to consultant training with an intention to formalize an approach that allows consulting staff to efficiently explore new technologies.

o       Put together documentation for standards and best practices, and encouraged commitment to building a high quality and maintainable application.

Scientific Computing  (Ohio University 1995 – 1999)  (ROLE  System Modeling and Simulation)

·        Modeling and Simulation Tools: Ohio University (http://chaos.phy.ohiou.edu/~thomas): Research and Development  (The following softwares were released under GPL terms)

o       HDARPF (Borland C++):

§          Real Time Chaotic Process Control and Model analysis software developed in Borland(5.0) C++, with GUI developed using OWL library.

§          Multi-threaded implementation to synchronize read/write with a National Instrument data   acquisition board (Released 1997)

o       Vibro-Impact System (C, X-Window):

§         Chaotic Impact System Analysis and Control software (C, XWindow) (Released 1999)

o       Coupled Hyper-Chaotic System (C, X-Window):

§         Analysis Tool for spatially extended dynamically coupled systems (C Motif/Xlib) (Released 1999)

·        Data Analysis : Ohio University (http://chaos.phy.ohiou.edu/~thomas):

o       Regression analysis, spectral analysis, noise filtering

o       Attractor reconstruction, detecting unstable periodic orbits in a chaotic attractor and controlling them

o       Pattern recognition using Artificial Neural Network technique

o       Genetic Algorithm (GA) implementation for searching both discrete and continuous solution space

Miscellaneous Utilities and Projects (1995 – 1999)

·        Ohio University (http://chaos.phy.ohiou.edu/~thomas)

o       Lisp Shell - A user shell that supports lisp syntax and provides basic shell services such as launching Unix commands, input/output redirection, pipes etc.

o       Data to Postscript Filter (d2ps): 2- and 3-D data plotting utility with color postscript output

o       HTML to Latex Filter Engine (h2l): A filter, written in GAWK, to convert an HTML document to LATEX/PS/PDF document

o       Remote Procedure Call (RPC) based application - A distributed asynchronous system to study the use of UNIX semaphores and RPC mechanisms. Demo project was a race-car system where race-car client processes (with different control algorithms) would compete against each other on a central race track server.

o       Several independent (C/C++/Java) implementation of systems described by ordinary differential equations (ode), partial differential equations (pde), iterated function systems (IFS), Lindemayer systems (L-systems), cellular automata (CA), delay differential equations and other nonlinear dynamical systems.

Positions Held

·        Software Engineer Compoze Software Inc. (Aug. 2003-Present)

·        Senior Developer Millenium Infosystems (Mar. 2002 – July 2003)

·        Senior Developer/Corporate Trainer at C-bridge Internet Solutions and Excelon Corporation (Jul. 2000 to Feb. 2002)

·        Teaching/Research Assistant (Sep. 1993- Dec. 1999) Ohio University, Department of Physics, Athens

·        Student Senate (Aug. 1995- Jul. 1996) Ohio University, Department of Physics and Astronomy Representative

Selected Presentations/Publications

Presented papers at various professional international physics meetings. Among others: APS Centennial Meeting, Atlanta (1999), Dynamics Days, Atlanta (1999), 4-th Experimental Chaos Conference, Boca Raton (1997), APS March Meeting, St. Louis (1996), 3-rd Experimental Chaos Conference, Edinburgh (1995).

·        J. Thomas, Non-smooth Dynamics of Vibro-impact Systems Ph.D. Thesis, March 2000

·        J. Thomas and R. W. Rollins, Hysteresis, Grazing Collisions, and Chaos Control in an Impact Oscillator to appear in Phys. Rev. E

·        Stephen Kariuki, Howard D. Dewald, Joseph Thomas, and Roger Rollins, Electrochemical Oscillations of Indium(III) in Nitrate and Chloride Solutions., Journal of Electrochemistry, 1998

·        M. A. Rhode, J. Thomas, R. W. Rollins, and A. J. Markworth, Automated adaptive recursive control of unstable orbits in high-dimensional chaotic systems, Phys. Rev. E, 54, pp 4880-4887, (1996)