Linkedin:
Experience includes tactical defence communication protocols research/prototyping, data deduplication implementation, real-time linux kernel module development, network bandwidth shaping algorithms, financial back-office software, University mathematics lecturing, teletraffic research, etc.
Software languages, APIs, tools, environments:
* Compiled languages: C, C++, Go, Pascal, Fortran
* Script languages: PHP, Perl, C-shell, bash, Basic
* Functional languages: Erlang/OTP
* Databases: PostgreSQL, MySQL, Oracle PL/SQL, couchbase
* Version control: Git, Subversion, CVS, SCCS
* Development OS: Linux, BSD, MS-Windows, VMS, PalmOS
* GUI programming: wxWidgets, GTK+, Perl/Tk, Xlib
* Web-page languages: HTML, CSS, Javascript
* Linux kernel module development
* Apache module development
* Microprocessor programming: Microchip PIC16C74A
* Assembly languages: Motorola 68000, Compass (CDC 6400)
* Typesetting languages: TeX, LaTeX, MetaPost, Postscript
Related skills and experience:
* Recursive hierarchical modular software/systems design
* System/network robustness/reliability analysis and design
* Discrete-event simulations of protocols/systems
* Communications protocol standards contributions
** IEEE 802.6, CCITT, B-ISDN, GPRS
* Tactical defence communications architectures
** MIL-STD-188-220B, HF skywave
* Other communication technologies expertise
** GSM, ATM, ROHC, PPP, TCP proxy
* Mathematical modelling and analysis
* University mathematics teaching
Mathematicians are accustomed to learning rapidly from compact, abstract specifications. For example, all of mathematics comes from 20 axioms for logic and sets. Pure mathematicians also believe that errors are unacceptable.
As a student, I worked in an agricultural implements factory, a cornflour factory, a mag wheel factory, on a chicken research farm, as a high school teacher, and as a restaurant kitchen hand.
I prefer short/medium term contracts doing things which other people find very difficult.