About

Richard K. Campion

[campion.richard@gmail.com]

http://www.richardcampion.com




My Software Development journey has produced many opportunities to work within teams of software developers using C, C++ and Java. Consulting as a Software Development Engineer has kept me busy integrating all sorts of Open Source goodness, like, Collaboration System(s), Presence Frameworks, Relational Objects, Data Engines, Web Services, Business Intelligence, Edge Node Distributed Control, Data Acquisition, Analysis Environment and Team Solution designs over TCP network protocols.


From low-level data parsing, event-driven messaging to real-time web driven business process defined software.



Specialties: Software Development, BigData, Web Mapping, Internet Applications




http://www.richardcampion.com/resume


SKILLS:

  • Programming Languages: Java, C++, C

  • Operating Systems: Linux, Windows, DOS

  • Virtualization: OpenStack, Xen, VMware

  • Integrated Development Environments: Eclipse 2.1-4.3

  • Modeling: Eclipse EMF/XSD/UML, ArgoUML

  • Persistence: JPA, Hibernate, JDBC, RDB, SQL, NoSQL, XML, CSV, TEXT

  • Database Tools: Hibernate Tools, Eclipse Dali, MySQL Workbench, SQLExplorer, Teneo, Squirrel

  • Reporting / BI: Eclipse BIRT

  • MVC Frameworks: Eclipse DataBinding, SpringMVC

  • JEE: Containers: Glassfish, WebSphere, JBoss, Jetty, Geronimo, Tomcat, Jetty Embedded

  • OSGi: Equinox, Felix, Virgo

  • Web Development: HTML5, JavaScript, Canvas, GWT, RAP, JSP, WebSocket, CometD

  • Web Services: REST, JAX-RS, JAX-WS, Axis2

  • Embedded Devices: Linux, Java / Android, C/C++

  • Help Systems: Eclipse Infocenter, MS Help Workshop

  • Imaging: GIMP

  • VOIP: Asterisk, Sangoma

  • Messaging: XMPP: Openfire, Smack; AMQP: RabbitMQ,Qpid; MQTT: Paho; JMS: ActiveMQ

  • Video Streaming: Red5, FFmpeg / FFserver, WebRTC

  • Source Control: GIT, Rational Team Concert, Jazz, ClearCase, Subversion, MKS, SourceSafe

  • Build Systems, Tools, CI: Jenkins, Hudson, Tycho, Maven, Ant, Make

  • Packaging and Deployment: Eclipse P2, JNLP, Zero-G, Zip

  • Software Provisioning: Eclipse P2, Custom Agent-Server, Symantec iCommand

  • Network Management Systems: OpenNMS, Zenoss

  • Web Map Server : GeoServer


EMPLOYMENT:

.............................................................

CTO / Chief Architect

ZdsLogic Technologies, March 2014 – Present

  • Research, Extend, and Integrate OpenSource Technology.
    • HTTP, OSGi, JEE, JMS, MAIL, VOIP, AMQP, XMPP, MQTT, LDAP, SQL, NoSQL, NMS, Geo, Async, BigData, Visualization
  • Develop and Enhance front-ends and back-ends.
    • Back-ends:
      • Web Services
        • SQL and NoSQL servers provide RDB and graph data persistence.
      • WebSocket
        • OSGi Java servers provide asynchronous, real-time, services to clients.
      • Web Map Server
        • Mapping services.
      • VOIP
        • SIP and POTS communications.
    • Front-ends:
      • Front-end 1: A JSP / JavaScript / HTML5 thin client secured by LDAP or DB via Spring Security.

.............................................................

Principle Software Development Engineer

Promptus Communications, August 2011 – March 2014

  • Install, Configure, Enhance and Monitor IT Servers:
    • HTTP, OSGi, Async, BigData, JEE, MAIL, VOIP, AMQP, XMPP, MQTT, LDAP, SQL, NoSQL, NMS
  • Research and Prepare for a Converged Network Architecture installation using OpenSource Cloud / OpenSource Virtualization.
  • Designed and developed a Distributed Logging Event collector and viewer(s).
    • A wireless device (TI-MSP430) transmits events to a local device (Java Agent)
    • Remote agent(s) store common formatted log entries and forward events to a server (MQTT, AMQP).
    • Java Middleware (JPA/JNDI/Hibernate) deposits log entries into a NoSQL graph database.
    • Java Middleware sends alerts to security identity / roles when event thresholds are exceeded.
    • VOIP / SIP / XMPP connected devices receive alerts, (Asterisk / Blink / Openfire), EMail / SMTP as a fallback (Zimbra / James).
    • A web application performs aggregated calculations, displays results (BIRT).
    • Data can be exported to a Spreadsheet and/or CSV format for further analysis by third party tools. (SciLab).
  • Develop and Enhance front-ends and back-ends.
    • Back-ends:
      • HTTP server fronts all Web Access using TLS.
      • SQL and NoSQL servers provide RDB and graph data persistence.
      • OSGi Java servers provide asynchronous, real-time, services to clients.
      • VOIP server provides SIP and POTS communications.
    • Front-ends:
      • Front-end 1: A JSP / JavaScript thin client secured by LDAP or DB via Spring Security.
      • Front-end 2: An Eclipse RCP/SWT/JFace thick desktop client.
      • Front-end 3: An Eclipse RAP/RWT Rich Internet Application (RIA) client.
      • Front-end 4: An Eclipse e4 RCP/SWT/JFace desktop client.

.............................................................

Contractor - Software Development Engineer

IBM Research, December 2010 – July 2011

Sr. Developer in SDM team, involved in development and maintenance of the SDM Costing Tool.

  • Implemented bug fixes to the Eclipse RCP product as directed by the Agile team.

  • Enhanced the product with the ability to upload and download documentation files.

.............................................................

Consulting Software Development Engineer

Promptus Communications, April 2009 – December 2010

  • Developed a SATCOM Simulator for an Aeronautics Telephony provider.

  • Implemented VOIP servers.

  • Installed and configured SIP and POTS clients.

.............................................................

Software Engineer / Contractor

Mercury Computer Systems, Inc. September 2008 - to - April 2009

  • Assisted in the development of a desktop user interface by creating Eclipse plugins.

  • Created Rich Client App (RCP / SWT / JFACE) dialog boxes.

  • The Eclipse plugin is a GUI, designed to easily define embedded cluster domains and configure a distributed computer by selecting Linux OS boot images for each member of the cluster, and set common settings like network configuration parameters.

  • Created an Eclipse plugin to persist data as XML via JAXB.

  • Created an Eclipse plugin to view error logs.

.............................................................

Software Engineer / Contractor

Curtiss-Wright Embedded Controls, September 2006 - to - November 2006

  • Assisted in the development of Eclipse plugins for an RCP desktop user interface.

  • This prototype is a toolkit, designed to discover/view/monitor/record and view hardware and events. Event data was logged and stored into SQL Network and Embedded databases.

  • Implemented using Java/Eclipse/JFACE/SWT as a Plug-in and later packaged into a standalone Rich Client App (RCP).

.............................................................

Software Engineer / Contractor

Staples, August 2005 - to - November 2005

  • Developed a System Migration Utility to transfer system data from previous to current releases of Symantec/ On Technology's CCM/iCommand product(s).

  • The tool was developed using Java/Eclipse/Apache-Derby as the persistent local RDBMS.

  • The utility transferred data via a 1:1 table/element mapping Sybase RDBMS.

  • Design Tools: Apache DB tools, DdlUtils, Torque, and Turbine were used to generate the XML/XSD db schema to generate (ETL) of the data access into the Derby database for data modeling.

  • Eclipse EMF Ecore database schema. Eclipse BIRT was used to display and report logs.

.............................................................

Software Engineer / Contractor

December 2004 - to - January 2005

  • Developed a Data Warehouse using MySQL as the SQL server, client DB tools in C++ for data field formatting, syntax checking, raw data importing and formatted data exporting into the SQL server.

  • Created a Tab Delimited Text File Parser using lex & yacc in C/C++ to syntactically verify the data prior to database population. The parser performs data cleanup, data type primitives' detection, and data transformation from ASCII tab delimited files form that can then be utilized by SQL import tools.

  • The parser informs the user of data anomalies, allowing the user to make correction. Optionally, the parser produces a XML database schema for use by third-party software, in this case, Torque, to generate SQL scripts and Java business model code.

  • Created a native client db query tool in MSVC++ and ODBC.

  • Developed a J2EE web application for database views and reporting based on the portal/portlet framework of JetSpeed which builds upon the following Open-Source technologies: Java, JSP, JDBC, Apache Torque, Turbine, and Velocity, and deployed within a Tomcat container.

.............................................................

Software Development Engineer

On Technology/ Symantec, February 2000 - to - December 2003

  • Maintained and enhanced Visual C++ Win32 and Borland C++ GUI's.

  • Developed On Command CCM syntax checking enhancements,cross platform,Windows, Solaris, HP, and Linux. Developed/Maintained platform independent C/C++ static and dynamic component libraries.

  • Maintained and enhanced various command-line software distribution package development tools, developed using Visual C++ 6.0 while utilized Borland C++ Builder to develop front-end GUI(s) as a view to each command-line executable.

  • Developed a keyboard recorder to capture user keyboard actions and screen snapshots.

  • Implemented severity levels within error and log reporting.

  • Corrected defects as reported within a bug database.

  • Prototyped Java GUI's for the proposed next release of DevStudio using JBuilder, NetBeans, and Eclipse.

  • Developed parser libraries to verify the validity of system configuration data. (CCM v4.5 - v 5.6)

  • Developed internal command line and GUI tools to import parsed text data into a relational database.

.............................................................

Software Development Contractor

Concordia Mfg, February 1995 - to - December 1999

Champlin Foundations, February 1995 - to - December 1999

  • Transition IT Infrastructure from WANG-VS to PC-Network

  • Installed CAT-5 Wiring, Patch-Panels, Hubs, Servers and Clients

  • Installed MS-SQL Server

  • Created COBOL data-dump programs.

  • Created SQL DB Ingest scripts.

  • Create User Interfaces and Reports.

.............................................................

Network Administrator

Edwards & Angell, January 1990 - to - December 1994

  • Transition IT Infrastructure from WANG-VS to PC-Network

  • Installed CAT-5 Wiring, Patch-Panels, Hubs, Servers and Clients

  • Installed Sybase Server

  • Administrated a Novell 4 Network.

.............................................................

COBOL Programmer

Johnson & Johnson, February 1987 - to - June 1989

  • Developed COBOL programs for Finance and Marketing

.............................................................

COBOL Programmer

TRINA Mfg,Sept 1985 - to - January 1987

  • Developed an Order Entry System


EDUCATION:

.............................................................

University of Massachusetts Dartmouth

North Dartmouth, Massachusetts

  • Bachelor of Science in Computer Information Science, September 1998

  • Graduate Course: Wireless Sensor Networks, 2006

.............................................................

Bristol Community College

Fall River,Massachusetts

  • Associates in Computer Programming, June 1985

.............................................................