My home email
You can download my standard resume in Microsoft Word format
here. The following content
expands on the basic resume theme by providing more details.
I am a computer professional with many years of embedded software engineering experience most of which is in wireless communications of one sort or another. I specialize in solving problems related to embedded systems - not just hacking out code.
I am now working for PolarSat which manufactures satellite communication equipment. I feel lucky to find work in my field: there is little modem related design work being done in North America. Satellite communication is a different animal than land based wireless, being high speed, high bandwidth and of course suffers a huge propagation delay on an expensive leased channel. I will post more details after a few more months experience with them and get past the transitional learning curve.
I have led quite a few projects. I used to wing it and was good at it, now we have the project managers book of knowledge (PMBOK) which formalizes the process - but good data is still required to make good decisions. Software engineering is different from other sciences as there are few basic physical laws governing the software domain. Trade-offs are still quality, time and cost. That said, I have always had a good intuitive feel for projects. I am able to move into a new fields with little difficulty as I have a broad background in technology to start with. You can't pull the wool over my eyes - I know hype when I hear it.
A significant part of my career has been in the proprietary wireless world at Dataradio. I started with simple modem control software and progressed to designing RF MAC's and other algorithms related to the bottom 2 or 3 layers of the RF OSI stack. Others (with PHD's in math) did the channel coding in dedicated DSP's. These products always ran on proprietary hardware. There is an awful lot of technology in the wireless world. While we were doing this wireless hardware technology rushed to the forefront and went ballistic for speed at the cost of range. Thus cellular, 3G+ data and 802.11 and 16 technology drove the hardware to very low cost but very short life cycles. Dataradio's compromises were for range and reliability first then speed as most sales were into the SCADA market which has a long industrial life.
Project and team management (SW and HW)
Planning & designing embedded systems (most recently proprietary wireless)
Real time driver design and coding for performance
Debugging s/w and h/w issues
Wireless MAC's and mesh routing design and implementation (now unfortunately becoming exclusively VHDL in custom chips costing $10)
Pre Sales and Post Sales technical support for tech products
Customer advocacy (and the out of box experience)
Homologations - of all types
After taking a well deserved year+ off to recharge, I did some basic web design, (SSI, Python scripts, forms, SEO). Wrote a custom scanner to PDF application and a basic site log processor (in Python). I wrote a small Linux kernel driver - to realize thats its not rocket science - just different than Precise's MQX (last count I saw there were about over 100 different O/S for embedded systems). Also doing some editorial writing on avionics and aviation topics.
CalAmp is a public stock company providing wireless communication solutions that enable anytime/anywhere access to mission-critical data. CalAmp acquired Dataradio in 2006. CalAmp suffered like many public companies during the financial crash of 2008.
Inheriting this product from CalAmp when Dataradio was sold to them, I was given responsibility for the international cellular carrier certification and approvals of the 3G+ Cellular / WiFi based data modem (Vanguard). Starting from scratch I was able to get things organized and managed the application process for RF and environmental certification, FCC part 15 b, c and PTCRB (GSM).
I submitted the requests for approvals to Verizon (ODI), AT&T, Rogers Wireless and Bell Mobility and designed and executed 3G field mobility tests. Each carrier has surprisingly different requirements but GSM carriers all require recertification by the PTCRB. Verizon (CDMA) ODI has about 1800 tests that need to be reviewed before submission.
This is the Vanguard 3G Cellular modem with diversity RF capabilities. "Where ever there is cell coverage you can have mobile data capabilities." Old hat now I guess but they work really well - even in fringe areas down to -100 dBm. Throughput (HSPA) drops only by about half moving at 100kph (60 MPH). Support hardware is based on Linux and an Arm 9 processor. Its a "me too" product - almost anyone can make them as the key is the cell module and getting to market fast. The next step, 4G, should provide high resolution video download capabilities at increasingly affordable rates. Can you say - iPAD?
The heart of the Vanguard cellular modem is a Sierra Wireless OEM module. (There are only about six OEMs of cell data cards in the world). It is a full voice cell phone with megabit data and USB interface capabilities using Qualcomm hardware and their O/S. The full test suite that Sierra ran needs to be run again because the cell network access and back-off mechanism is coded outside the OEM module. There can also be RF de-sense issues from the CPU and WiFi subsystem. The product test versions have to be carefully managed.
Achievements: Individual carrier applications reviewed and submitted quickly resulting in approvals from Bell, Rogers and AT&T and an official investor press release from CalAmp (09-04-02).
Supervised and lead a team of 5 building a license-free mobility wireless system. With regard to the trade-offs, quality, time and cost: a 4½ month time frame was absolute - and at minimal cost. This means it was basically a - what can we throw together quickly for the ISM band? type of project. The real goal was to get some ISM mobile field measurements to help sell to CalAmp management the upcoming 4G WiMAX 802.16e SEQUANCE (France) based project during very difficult financial times. (There is nothing quite like being part of an over extended public company during a market crash)! There was no time to integrate a sophisticated on air protocol. I was responsible for the overall planning, estimating and implementation supervision.
One of the more interesting parts was the full port and optimization of the hyper-code DSP channel coding algorithms into the MPC 8270 which was substantially idle - saving one of the normally two installed DSPs. The final PPC port ran at fully 50% of what the Motorola 56307 DSP's could achieve - which is very good and shows how fast an orthogonal CPU like the PowerPC with big primary queues and a good C compiler can be. The Precise MQX real time O/S is used in all standard Dataradio product platforms and performs well and is essentially bug free.
Achievements: Led the tiger team to a working prototype in 4½ months.
I designed a P25 compatible radio communication system reusing the existing mobile platform hardware. The goal here was to be able to claim P25 grandfather status and double available spectrum to customers in the 700 MHz band. Using the published P25 standards we implemented the basic minimal data transmission protocol. We stopped when we could send and receive P25 messages and prove we meet the specifications down to the bit level. I supervised 4 people and got great help from the channel coding team. I integrated all of the decode path and wrote a P25 status report on a dedicated TCP port. The final code is a dual boot product allowing normal mobile operation or P25 data operation.
Achievements: After analyzing the lengthy P25 specifications, conceived a way to implement the minimum functional set required and then worked to implement and release it to production.
Dataradio was acquired by CalAmp in mid 2006.
I was responsible for the complete network design and implementation of a license-free synchronous hopping wireless system. I coded modules/drivers for the core of the wide band hopper using the MQX O/S (running on a MPC 8270 PowerPC). As we were unable to use a WiFi ASIC chip solution at the time, the product required a fully software defined solution. One commercial absolute was to use 4FSK 512kbit channel coding in a 300kHz channel to maximize range.
I designed a network scheduler that would pack packets end to end with no space between them. The solution found was to calculate what the channel should be doing in a few ms in advance of channel real time, load the DSP with a list of commands and packet events slightly in advance and let the DSP just worry about keeping real time, playing the event list blindly and perform the channel decoding. This not only moves the random complexity out of the DSP (always a good thing as the math guys are not great random logic coders) to the PowerPC with a proper O/S. Its a perfect division of complexity. This scheduler works very well to eliminate radio turn around overhead (except for user data flows) and gets around the potential loss of efficiency due to having to insert many sync packets at a very precise time no matter what the network is doing. The solution is a rather complex event system requiring the PPC and DSP to be synchronized very closely.
I also helped test a neighbor discovery algorithm which was based on sending only the table deltas across the network - eliminating the cascading of routing table updates that can flood a limited BW RF network. It's based on only sending hashed IP routing tables information unless a full update is required. The IP neighbor routines keep track of RF link hop counts to provide alternate routes if one path breaks. I also designed and tested hand-off decision algorithms which are actually quite difficult when you have a shared noisy band - as RSSI and packets are constantly being interfered with from other systems. It would be much easier and more precise in a private band like cellular has.
An interesting aside was the search for a better media protocol we could use. We researched and settled on, coded and tested a variant of the SYN MAC distributed MAC protocol (for a synchronous L2) providing quick and fair network RF medium (mesh) access. It's essentially a RF implementation of the Bosch CAN bus - a type of bit dominant protocol. It has the property of being fair to all nodes (unlike 802.11), easy to prioritize media access for QoS, uses little BW overhead, attaches to the sync period nicely (the SYN part) has a predictable overhead and also solves the hidden terminal issue. The MAC scheduler allowed us to easily perform the bit dominance testing over the air in real time. While SYN MAC never made it to production due to product marketing and time constraints, It was a perfect match to operate inside the scheduler. We had all the elements of a full up efficient mesh routing, self discovery, IP roaming wireless system running in the lab. This is where team work pays off - in complex projects.
A part of the project involved writing DSP boot processes and DSP process monitoring threads. This involved a lot of file and version checking, reporting, self test algorithms and at the bottom, a DMA driver that would be quick and convert 32 bit words into 24 bit DSP words. When running Hyper code channel coding the demodulator returns a full floating point value for every sampled symbol so there can be a lot of DMA traffic per packet to handle.
We successfully installed at a customer site a 42 km point to point link using only 30 dBm of RF. This is a long distance to link in the 900 MHz ISM band with only 1 Watt.
The scheduler scheme allowed us to sample the network for RSSI in real time delivering to the customer a calibrated spectrum display for diagnostic purposes while the system is in full operation.
Also tasked to research and write procurement proposals for major software modules such as Flash file systems, USB and 802.11 hardware MAC's and derived recommendations from the results.
Achievements: Designed the fundamental hopping algorithm to obtain 380k bit user throughput from the 512k bit channel coding - using only software. Created a network event scheduler scheme to control the MAC layer via the DSP's and its complimentary DMA driver which was reused on the newer mobile platform too. Key was the reuse of the existing standard software platform in reducing hardware costs.
Presented with new software configurable digital radio receiver hardware, was tasked with creating new software to run it. Responsible for all software design aspects. Drafted the software specifications and designed, tooled, coded and documented the first revision of the receiver's control firmware.
Achievements: After understanding the requirements, proposed, designed, documented and implemented the soft radio control software. Good use of object oriented design (Object Use Case Design, Jacobson) provided a robust and flexible foundation. This unit has become the main receiver for the Dataradio Paragon 3 and 4 base stations and this software has well withstood 2 major hardware and software revisions.
Reverse engineered a competitor's 900 MHz hopping radio modem and designed one for Dataradio's hardware. I generated the preliminary technical investigation of the next generation of Internet connected public safety vehicle information systems. I reviewed all the requirements, CPU's, proposed RTOS's, connectivity software and tool chains and made recommendations from it.
Achievements: By careful analysis and teamwork I was able to plan the hopper radio system to reuse older existing hardware. The preliminary investigation of the new platform formed the basis of the next design cycle of the new Next Generation hardware platform in use today.
Designed firmware for a family of SCADA type radio modem products, using Motorola 68HC11 controller (simple DGMSK modulation). Developed and was granted a patent on the on-line and off-line diagnostic standards for SCADA radio modems. These new SCADA modems are the next generation but similar to those used on the highly successful Mars Pathfinder mission.
(NASA replaced all connectors with flight grade harnesses and built a special chassis for the flight. Otherwise, it's the standard commercial unit. NASA purchased 32 units, tested and selected the best performing for flight and standby. Yes, its true, (look at the picture carefully) the mission flew to Mars with hardware jumper wires on the modules. JPL Link to Pathfinder Modems)
Designed setup software using OOP (Use Case approach) for Motorola and Dataradio telemetry and radio modems (described above). Extensive use of C++ using Zinc GUI (now part of VxWorks) multi platform window framework.
Implemented some phases of ISO 9001, code reviews, test suites and improved testability. Ported the DMP protocol from UNIX to DOS using C++.
Achievements: After reviewing digital radio transmission theory and practice designed and coded a very successful line of reliable radio modems. These modems are an industry SCADA standard and are sold worldwide.
firmware for (real time) video equipment used in documenting the
film to tape transfer process on Rank/Cintel Telecine machines.
Tested products in transfer suites in video post production houses
in Montreal and Los Angeles.
A startup operation, managed
overall project, budget and commissioned industrial designs for a
replacement for European mechanical tachographs. Attempted to get
approval from German Government.
responsibilities were for Taxi Meters and Electronic Tachograph for
heavy class 6 vehicles. Reviewed hardware designs and ensured
highest levels of electrical immunity for the hardware using a
Schnaffner SAE noise generator, near field RFI. Wrote the initial
version of the report software in Pascal for the tachograph, a
sample log is shown below.
Video arcade game design
(story boarding) and implementation. This was for the large upright
professional coin game(s). Cooperative task swapping and sound all
handed coded in assembler. Custom graphic editor in Pascal. Heres a
screen shot of it running in Linux using kxmame. People are
interested in preserving many of these quirky games - which is
Bachelor of Computer Science
Concordia University, Montreal.
Portable Data Cartridge, Unassigned USA 5,408,421
The data cartridge patent was prosecuted by myself i.e. I did the prior art search and document submission to the US PTO. Unassigned means we own it ourselves. The patent is basically a 100% power safe journaling system with a neat time stamp mechanism. It probably should have been two patents - but this was much less trouble and we got away with it.
Radio Modem, Assigned to Dataradio USA 6,151,355
Like many patents, this modem patent is not a really important patent scientifically, really just a way to ensure commercial control over the diagnostics format for Dataradio. There are other ideas Dataradio did not patent as it would give away too much proprietary details, invite unjustified legal actions or were deemed to have insufficient commercial import.
Significant coding time in: C, C++, Pascal(s), Fortran(s), many 8 to 60 bit machine assemblers, Precise MQX RTOS, PPC 8270 PPC 850,(DMA etc.) power PC's, Zinc GUI (graphical window framework now in VxWorks), Tortoise client for CVS (Concurrent Software Versions System) in Windows, Windows Office tools and OpenOffice. Good with routing and IP in general. HTML and Python (for my personal web site). Processed applications for PTCRB (GSM), FCC part 15 certs, Verizon ODI (CDMA), ISM wireless, wireless SCADA. FAA STC process. Use Case Object Oriented Design and Edwards Demming as the great inspiration for all the following constant improvement methodologies such as 6 sigma etc. Now getting into the Linux/Debian world and writing some Python scripts. I really don't want to do much head down coding anymore but Python is tres cool!
You can download a bit of sample C code running everyday (right click to save).
Instrument rated private pilot, land and seaplane, US and Canada. While I can't walk on water, I can land there - and more than once!
Photography (product shots, fine art) and some graphic design.