Summary
I founded Zotech Software around March of 2005,
with the objective of developing and marketing
software as an Independent Software Vendor.
The first product was a web based application
to support Agile Software Development through
process automation and tracking. The product
failed to gain sufficient funding to reach market
and the intellectual property developed was
subsequently sold to a competing interest.
From there, I repurposed Zotech as a Consulting /
Research and Development practice, and have operated
it in that capacity since early 2007. I've worked on
a wide range of projects, both commissioned and
speculative, a selection of which are highlighted
below.
Project Highlights
- Project ‘Z’:
As noted above,
Zotech's first product was an Agile Development
Process automation and tracking application. The
product was to be marketed initially as an online,
hosted solution. Users would be able to enter key
project data—feature descriptions, priorities
and estimates; task assignments and work logs; QA
feedback and customer responses; etc.—and would
track progress, providing reporting and visualization
on key metrics such as velocity and burn-down charts,
defect/feature ratios, and so forth. Similar products
currently on the market include offerings from
VersionOne and AxoSoft, among others.
Technologies Used:
Java / Java Servlets / JavaServer Faces / Struts 2 /
Hibernate / Spring / Postgres / XML / HTML / CSS / JavaScript
- xRest Web Application Middleware:
An Open Source project,
xRest
is a middleware API for the
Express web framework. It supports implementing RESTful
HTTP service end-points through intelligent request
routing and HTTP content negotiation, allowing a single
'controller' component to serve full HTML responses
to browser and Ajax requests as well as JSON/JSONP,
XML, plain-text and other formats suitable for
consumption as web services. The entire project is
written in server-side JavaScript running on
Node.
Technologies Used:
Server-Side JavaScript / Node / Express / JSON /
XML / REST / Web Services
- Custom Dojo Widget Library:
Before Dojo's UI framework was as mature as it is today,
I was contracted to develop a number of custom widgets,
as well as produce enhancements and bug fixes for existing
widgets in the Dojo Framework. Where possible, enhancements,
fixes and widgets were contributed back to the Dojo project;
the remaining widgets were published as an independent
Open Source project. Although I terminated my involvement
with that project once the contract expired, it continued to
be developed and maintained by others until advances in the
core Dojo Framework made it increasingly obsolete.
Technologies Used:
Dojo Framework / JavaScript / Ajax / HTML / CSS
- Terrain Voxelization and Nav-Mesh Generator:
Aimed at improving the spatial awareness of AI driven
game agents in Unity3D productions, this project
analyzed terrain- and scene-model data using a 3D
rasterization process to decompose the scene into
voxel data. A watershed algorithm then aggregated
the voxel data to produce a connected mesh of navigable
regions, with attached meta-data to support efficient A*
and HPA* path finding. The work was largely based on
Mikko Mononen's Recast Navigation project,
implementing the same algorithms in C#, adapted to
Unity's APIs.
Technologies Used:
C# / Unity3D / Mono / .Net
Summary
Critical Path is a market leading supplier of Internet
Messaging solutions and services. My role involves
working with products providing advanced, highly
scalable messaging solutions for email, calendaring,
address book, file management and multi-media services
delivered via multiple channels (HTML, WML, iMode,
Pocket PC) and available as licensed software or
hosted services.
My primary role is as technical team lead of the
application framework that forms the basis for web
based UI components for all of Critical Path's
messaging services. I have also assumed various
ancillary lead roles at different times, dealing
with customer escalation and support issues, sales
initiatives, team development, process improvement
and more.
Roles and Responsibilities
- Coordinating activity between sales, marketing,
engineering, quality assurance, professional
services and technical support staff to ensure
timely and effective responses to customer
enquiries, marketing and technical requirements
and internal business needs.
- Leading one of three tracks and participating
fully in a company wide engineering summit with
the objective of identifying key opportunities
for the integration of the company's software
products into a cohesive messaging platform and
driving consensus among key engineering staff on
implementation approaches.
- Team and technical leadership in the development
of a Java based web application framework (similar
in purpose to frameworks such as Struts or Turbine),
including requirements specification, technical
design, resource allocation, development, testing
and delivery.
- Developing and incrementally improving a number of
documentation, process and technical initiatives to
facilitate my team and others throughout the company
in achieving maximum effectiveness in developing and
delivering excellent solutions.
- Collaborating in standards track work on the Access
Control Protocol sub-group of the IETF's WebDAV
working group to help define this protocol extension
and ensure compatibility and compliance in Critical
Path's products.
- Assessing new technologies and third party solutions
for applicability and value to Critical Path's messaging
UI solutions.
- Team development including assisting in the hiring of
new staff, providing training, skills development and
mentorship to existing staff and participating in
performance reviews.
Skills and Technologies Used
Java, J2SE, J2EE, XML, XSL, HTML, HTTP, WebDAV, Sevlets,
JSP, web applications, device independence, product and
project management, object oriented analysis and design,
communication, software production.
Summary
DocSpace was a successful startup providing cutting edge
secure web based messaging services and PKI solutions via
the web through an ASP style managed/hosted service. It
was aquired in early 2000 by Critical Path, Inc. which is
still hosting the services developed at DocSpace.
I joined as a Software Engineer and was soon rewarded
for my efforts and contributions with project lead
responsibilities. My role was primarily design,
implementation and testing of new features on the DocSpace
application suite.
Roles and Responsibilities
- Consistently executing on extremely tight schedules
(product release cycles as short as six to eight weeks)
to provide quality software to a deadline.
- Designing and delivering a mechanism to provide distributed,
delegated access control to administrative functions in the
web based administration component of the DocSpace offering.
- Designing and delivering a cryptographically secure scheme
for email distribution of URLs for content delivery that
was patent pending at the time of DocSpace's acquisition.
- Providing rapid response to technical support issues including
technical analysis and fault resolution.
Skills and Technologies Used
Java, J2SE, XML, XSL, HTML, HTTP, WebDAV, Servlets, RDBMS (Oracle,
SQL Server), web applications, analysis and design, software
production, communication.
Summary
I joined GroveWare shortly after it was founded to
develop web applications using a proprietary framework
based on an XML messaging architecture. Their first
product to market was a calendaring application for
event publishing targeted at educational campuses.
My roles included helping to bring GroveWare's first
product to market, contributing to the development of
a variant focused on small business customers and
defining and developing a third product providing
on-line discussion forum functionality.
Roles and Responsibilities
- Specification, design and implementation (including
market research, competitive analysis and requirements
definition; project scheduling, reporting and resource
monitoring; application' development and testing) of an
Internet-based bulletin board-like forum application
based on GroveWare’s core technology utilizing a
multi-threaded XML messaging architecture implemented
in Java 1.1/1.2 on top of an object oriented database
back end with an HTML user interface generated from
DSSSL-styled XML.
- Developing, supporting, maintaining and debugging
GroveWare's event notice and calendar publishing
applications using the same core technologies under
Linux, Solaris 2.6 and Windows NT 4.
- Enhancing and expanding the development environment and
multi-platform build process to manage multiple products
and product variants in a single centralized repository.
- Assessing XSL and CSS as possible replacements or
extension mechanisms for the DSSSL styling layer of
GroveWare's products.
- Specifying, designing and developing a simple in-house
HTML-based CRM tool for sales contact tracking in Perl
with MySQL.
- Assisting in application testing, bug tracking and quality
assurance; code and architecture reviews; writing
documentation and on-line help.
- Performing hardware upgrades, network monitoring,
maintenance and support for the company's IT
infrastructure including Intel and Sun SPARC machines
running Linux, Solaris 2.6, FreeBSD 2.2, Windows NT,
Windows 95 and Windows 98.
Skills and Technologies Used
Java, XML, XSLT, CSS, DSSSL, Jade, Object Databases (Object Design
Inc's Object Store PSE Pro, Poet Software's Poet), CVS, make, Perl,
shell scripting, Jikes, Perl, MySQL.