2019 (3 months)
Kotlin and Corda
Contract developer —
their project named "Braid" is middleware
that connects applications to CorDapps running on Corda nodes.
I developed its
support for OpenAPI annotations, which document CordApp flow classes;
a sample CordApp for testing;
and user login.
2019 (6 weeks)
TypeScript and React, React Router
To learn React I used it to write
a clone of Stack Overflow's main web pages and components --
with the URLs which define its interface with its server,
and mocking the backend so that the UI can be exercised.
2018-2019 (3 months)
TypeScript and Node.js
Contract developer —
the product was a capital markets Blockchain.
I developed all its support for Smart Contracts,
ensuring their evaluation at runtime will be deterministic.
I also refactored the system; improved performance; and made it easier to test.
Strawberry Media (Remote)
Sole developer, reporting to the CEO —
the product was a web application for first responders:
which presents hazmat and vehicle rescue data,
and lets users collaboratively annotate maps and floorplans.
Research in Motion, Blackberry (Toronto)
With the team porting WebKit to BlackBerry —
I helped code the media player which supported
C#, WinForms, SQL, ORM, HTML and CSS
I developed a requirements management application for Windows desktop — one component
displays and edits HTML, it is published at http://modeltext.com
NewStep Networks (Toronto)
C++, Windows Mobile, MFC, TAPI, VoIP, SIP
Developing call-switching telephony software —
I helped intercept the standard Phone application on Windows Mobile
by writing a device driver, a redirector for TAPI;
and I refactored their Linux telephony server.
UVA Capital Corp. (Toronto)
C#, UML, WinForms
Developing a heart monitor —
I read about cardiology, architected the system with other developers,
developed a real-time signal display,
and encoded diagnostic rules for a prototype "diagnostic server".
VoiceGenie Technologies (Toronto)
C++, Linux (gcc, gdb, and valgrind), CTI
I integrated their VoiceXML IVR with a 3rd-party CTI (i.e. with Cisco's ICM).
For that project I pre-planned the implementation and, at their request, the schedule.
LANSource Technologies, 3Com (Toronto)
C++, Windows, SQL, device drivers, C, x86 assembly
I was a first developer at this startup in 1991,
later chief of a team of 20 in 1999 when 3Com bought it.
I trained new developers, and oversaw the software's evolution, from DOS TSRs to a telco-grade fax server.