Ted's goal is to help people by creating excellent software.
Ted is self-motivated and is continuously learning. He is actively studying biological cognitive science and experimenting with
image processing, machine vision and visual object tracking and recognition.
Ted has extensive experience developing software for instrumentation in the telephony
and internet telephony domains. He has proven ability in providing intuitive user
interfaces and building high performance, often real-time or concurrent, distributed
software that reliably interacts with other software components and hardware.
Ted first started devoloping software in high school in Waterloo in 1976!
Because he has worked in small development houses his entire career, Ted has been
responsible for all phases of the full software development lifecycle, including:
analyzing problems, reviewing code, inventing new products, architecting solutions,
estimating and scheduling, selecting hardware,
designing user interfaces, API’s and software components, selecting tools and
libraries, developing software and tests, writing manuals, help and brochures,
constructing installers, maintaining existing products and supporting clients.
2006-present Nimajin Software Consulting – Owner & Senior Programmer / Analyst
Ted is responsible for all elements contributing to the satisfaction of clients and the success of this software development consultancy. In the abstract, most work consists of developing software utilizing the network, audio and video hardware in PCs. In particular, it has consisted of:
• Analysis and improvement to existing proprietary and open source C++ code
• Development of new code for VoIP call control and media stream handling
• Server control using SOAP in C++
• HD audio transfer over WiFi in Windows C# and C on embedded Linux
• Database handling and graphical data presentation in C#
• Video capture using DirectX and rendering with DirectX and OpenGL
• Development of techniques for measuring VoIP terminal latency using libpcap
Since 2002 – Ted has been a contributor to the OPAL and Open H.323 open-source
OPAL is a large multi-threaded, cross-platform C++ implementation of H.323, SIP and AIX stacks, including presence, IVR, audio, video and legacy line
interface, suitable for many VoIP applications.
1994-2006 Microtronix Systems Ltd – Senior Programmer / Analyst
Microtronix is a leading telecommunications test equipment manufacturer. Ted led the architectural design of their primary software product in its transition to the multi-threaded Windows OS and componentization using COM. He took the major role in development of software in C++ for the system, including developing the GUI, Ac-tiveX controls for data presentation, the driver and software component to control the system’s PCI-bus hardware, components for ISDN and VoIP signalling and components for audio handling and streaming through the system for analysis.
1988-1994 Microtronix Systems Ltd – Intermediate Programmer
Ted designed and developed large subsystems in C, C++ and Assembly language, including a multiprocessor data collection system with a robust multi-channel trans-fer protocol for RS-232 and NETBIOS, a GPIB command co-processor, and a graph rendering co-processor. He coded device drivers for measurement devices and GPU chips. His analytical capabilities were valued in guiding the R&D effort.
1985-1988 Microtronix Systems Ltd – Junior Programmer
Ted delivered small well-defined projects such as an RS-232 terminal and a memory editor, and progressed to larger ones such as a multiprocessor synchronization system for embedded CPUs and a file server.
2011 Introduction to Artificial Intelligence, Stanford University on-line, 86%
2006 London Small Business Centre - Business Planning and Business Skills Workshop
1983-1985 Fanshawe College – Microcomputer Programming, A average