Note that I like learning and keeping abreast with technology, and hold CTO and CEO positions in a few companies.
credentials
BSc (UNE) 1975 - 1979
Dip Ed (UNE) 1975 - 1979
Dip Com Sc (UNE) 1979
MIEEE TO - to 2020
MACS (Snr/CP) - to 2020
Amateur Radio operator ex VK2ZZB (NSW) since 1975, now VK1BRH (ACT) - advanced class licence since 1990
Private pilot aircraft (Jan 2004), with: Command Instrument Rating, NVFR, CSU, retractable, tail-dragger, and twin-engine endorsements.
Period
Role
Application
Technology
Aug 2023
systems administrator
Developed (repeatable) procedures for working on operational/bootable Linux disks to
clone to/from:
RAW
guest VM
disk/images
re-partition the images
re-factor file systems
modify /etc/fstab mount points
perform apt update of debian releases via chroot
bootstrap
install grub for both:
MBR legacy
EFI
boot from the RAW or VM guest images
replace kernel/initramfs
convert to/from
RAW disk image
virtual disk images
for deployment or testing.
These procedures were used to migrate and upgrade a Debian 10 unifi-video NVR to Debian 12, and with a different target partitioning scheme, to permit things like faster Operating System image backups and migration to larger/smaller disks.
The next step will be to use these design notes to develop declarative data/scripting that drives an update platform written in rust, and to port that application to run on any operating system.
Think of this as a glorified gparted that knows exactly how to partition while preserving the function of the OS image, and other file-systems on the updated disk.
LVM
Linux
Kernel
file system
mounts
apt
chroot
Aug 2023
network engineer
Designed and developed a web-scripting language and web-scripting engine (using playwright API under the covers) to login to the corporate gateway/router web-server and restore all critical configuration for the network operations. This project was conceived because iiNet has periodically remotely factory reset the gateway to default configuration several times now (presumably when doing firmware updates and usually late at night). Formerly requiring me to manually restore many attributes through the only option, a web-browser interface. The web-scripting software is running as a cron job and it automatically restores the gateway configuration after it detects a factory reset of the gateway/router.
JSON used for web-script language
playwright API
node-js used for the platform
chrome browser API
HTML knowledge
Jun 2023
security engineer
hosted separate VPN tunnels in a corporate edge-router (firmware) for use by: mobile devices, office devices, and experimental devices. Installed associated IP filter rules to provide DMZ isolation from the corporate network and to restrict access to the www access only for mobile iOs devices. Developed other VPN endpoints that can provide access to the corporate network for corporate equipment and for remote access. I set this up to use for our holiday in Vanuatu - we now permanently run with the mobile device VPN on our devices.
Mikrotik Router Os
Apr 2023
software/security engineer
developed a network travel companion/road-warrior dual-channel Wireless Access Point that provides various web-browser configurable router/bridge (10) configurations for connection to motel wired or wireless networks to provide safe www access for mobile equipment while travelling. Written in node-js using systemd-networkd, supplying a web-server hosted on a raspberry pi running standard Debian (not openWrt). This should probably be migrated to rust.
debian 11,
systemd-networkd,
node-js for the web-server
raspberry pi
Nov 2022 - Apr 2023
architect
extended the node-js repository mirror with handlers to handle various repositories:
Debian apt,
node npm,
Java mvn,
Perl CPAN,
R CRAN,
Python PyPi,
gnu mirrors.
(About to investigate a rust cargo mirror.)
Perl,
C++
node-js,
dynamic HTML
css.
Sep 22
computer and electronics trainer
I am familiar with a variety of computer and electronics hardware. We formed https://regional-training.org on 20 Oct 2023 to start passing on our knowledge to the younger generations.
Wrote scripts and services to automatically backup data for:
all mariadb databases
all mediawikis
gitblit repositories
nexus respositories
bash
rsync
cron
Mar 2021
Security engineer Build from source
designed and developed node-js read/write repository server and mirror for Debian apt repositories.
Server supports renaming-releases (/<os>/dist/<release>, generating new release, metadata parsers are provided for: .deb, .dsc. Release, Sources, Packages file for metadata analysis. (TBD: Index files to be generated from database on HTTP GET. apt-ftparchive is currently used to regenerate Release files but will be replaced via metadata processing when finalised.) Integrating Build from Source scripts to use the local read/write repository server.
node-js
dynamic HTML
css
Nov 2021
Architect
developed architecture for environmental monitoring using modbus and IP. Solutions: node-red flows, grafana, influxdb and MQTT server - modernising modbus to IoT like provisions.
node-red
node-js
C++
Oct 21
Architect
designed distributed listsd processing servers to scan various security logs and maintain black and white lists that are uploaded by my corporate edge-router to block attackers. listsd is written in node-js, and is distributed across various servers and can scan logs such as:
/var/log/authn.log,
/var/log/fail2ban
etc to identify attacker IP addresses and maintain lists.
MQTT is used to keep white-list and black lists in lock-step asynchronously in all distributed listsd servers.
The router periodically obtains list deltas or full lists via the listsd HTTP server (on any server). These data may be obtained as lists, or as script that can then be executed by the router firmware to update it's lists.
MQTT
node-js
scripting
cron / bash
Mikrotik Router Os
Cisco router
ipTables
Oct 21
Systems engineering
replaced all the SLA batteries in the corporate UPS.
designed battery bank and extended the UPS with Extension Battery Module mode to 15 hours of standby
electronics
system engineering
Sep 2021
developer
implemented mqttd: a resiliant mqtt service running on Linux
node-js
mqtt broker code
Apr 2021
Security Engineer Arising Technology Systems
Evaluated and installed a roll-your-own IP security camera system using COTS IP camera and OpenSource NVR. I secured the camera network via my edge router filter rules to prevent cameras from accessing the www and phoning home. I used Reolink RLC-510/410 IP cameras connected via a PoE switch and captured with Shinobi - an Open Source (node.js) NVR deployed on an Intel NUC. Shinobi performs motion detection and recording.
Security Analysis was performed with a pcap capture from my edge-router and using Wireshark for packet inspection which informed my filter rules for the camera gaols. The goal was to provide a secure corporate integrated camera security system network that prevents infiltrations.
intel NUC
nginx
Debian 11
reolink IP cameras
Shinobi
node-js
Feb 2021 - Mar 2021
Systems engineer
Developed a watchdog server based on a raspberry pi SBC that is used to supervise all corporate networking and critical server infrastructure. Equipment is recycled when the equipment cannot be probed. Probes cover the network edge-router, network switches, security cameras, NAS, two NTP servers, VTC server, web-servers and other critical infrastructure, including probing access to DNS. Network equipment is recycled when network connectivity fails. The watchdog server manages the power on these equipment, and reset lines on low power equipment. Equipment was designed with electrical and optical isolation and the relays fail-safe to equipment-on, and resets off. The watchdog server also employs a hardware watchdog timer circuit to ensure the watchdog server keeps functioning correctly. This project came about because it became problematic to ring my wife for her to gain access and be instructed to restore services while I was working remotely, like from places such as airports, because the amount of critical equipment keeps increasing in my home office - due to expansion and thanks to covid-19. (It's a self-contained solution rather than using distributed smart-plugs, which could have been incorporated into the design.)
raspberry pi gpio
relays
python
bash
cron
networking
Feb 2021
Researcher
Investigated Lora and LoraWAN.
web-search
raspbery pi HAT
Apr 2020
Systems admin
I use this for secure VTC with my partners, friends and family instead of using insecure Zoom. This server provides fully encrypted voice and video and interoperates with the Jitsi Meet Apps.
developed /@ring web-app that rings in the web-browser when someone else connects to the specified VTC room. People can camp in the /@ring app waiting for a room to ring by using the room name or wild-card name matching. Conveniently a blank room name causes the web-app to ring when any VTC room is connected - thus monitoring the whole VTC server name-space.
jisti-meet
node-js
java
jabber
web-sockets
HTML
css
HTTPS
UDP
Debian
nginx
Intel-NUC
Apr 2019
Systems admin
Migrated off ALL Windows servers, and re-hosted the following services on Debian linux:
Developed a tier-0 GPS stimulated NTP server using chrony and GPS derived 1PPS and raspberry pi SBC that are also feeding flightaware data. I did this because I want more accurate time to improve the precision of multilateration for my own experiments, and for my mobile piaware. The network time from these 1PPS receivers is more accurate than the local university ntp pool at ANU. The only improvement I could realise is to use dedicated hardware that has hardware timestamps in the Network Interface Controller chip - which would further assist the NTP algorithms with correction of network propagation delay and jitter.
raspberry pi
GPS module
gpsd
chrony
Aug 2017 - Dec 2017
Hardware Communications Architect Consultant
Prime contractor deployed at Thales Underwater Systems - Ryde. Architect for the MHC communications system refit. Looked at IP message bus for all connected equipment, including the entertainment systems.
networking
IP radios
satellite
entertainment equipment
security systems
under-water cameras
2015 - June 2017
Senior Security Developer
KERMIT Attribute Based Access Control and Identity system
authentication via LDAP/Directory Services
identity verification
fine-grained attribute and role-based access control enforcement
LDAP
Directory Services
JPA
Java
activemq
Oracle SQL
SAML
xml
HTTP/S
HTML
css
2016
System Engineer
Deployed a few piaware transceivers for contribution to aircraft multilateration. Raspberry Pi and UHF antenna and Software Defined Radio dongles.
Deployed web-cam and web-server for runway cameras http://flyoz.ddns.net:8100. These images are fed into OzRunways and AvPlan Electronic Flight Book systems for other pilots consumption (hence the advertising).
Developed fixed-point DSP SELCAL encode and decode logic for pic DSP.
C++
pic DSP
Aviation
Amateur radio
2014
RF Engineer
Designed the HF transceiver installation in my aircraft: developed the audio interface circuitry, which included the impedance matching for the microphone input, and its frequency tailoring to eliminate the “boxy” noise caused by the aircraft engine, and designed the audio output impedance matching all with passive components to avoid failure modes.
Designed the placement of the antenna and antenna-tuner and the routing of all cables, and the transceiver grounding to minimize interference by and to/with the aircraft avionics. I even designed the antenna shackle mounting arrangement and the stringer-doubler plate with a strain relief rivet to avoid aircraft skin cracking around the feed-through insulator. Radio communications and electronics.
electronics
rf design
amateur radio
aircraft
Apr 2011 – June 2015
Senior Security Engineer
security identity and decision access control systems
Jabber,
activemq,
oracle SQL,
JPA,
identity management,
extensible meta-data
extensible Java bitsets
Access Control Decision engine
embedded API library.
various such as:
C++
java
JPA
SQL
SAML
XML
HTML
Css
2011
Engineer
Designer of Seven-of-nine, a Covert Passive Collector for aircraft multi-lateralisation position reporting. (This was designed before the mandate for mode-ES - aircraft extended squitters and before I adopted flightaware.) Hardware UHF Analogue to Digital (direct) receiver and associated digital processing. No local oscillators – to keep it covert.
electronics
r.f. engineering
microcontroller
2011
Architect/Senior Developer
Developed maritime trackers in Java (after having developed Aviation trackers to cope with 20 seconds of jitter using Kalman filters).
Khalman filters
C++
Java
mathmatica
2010 - ongoing
Software Architect
Designed and developed IR-GIS ® MapView for displaying vehicle positions, and IR-GIS ® Historical Pullback Server for recording position reports and attributed text in real-time for historical recall and display in MapView. All developed in Java (highly concurrent and performant)
Product Owner (Business Analyst and Customer Representative) for a team of 5 using Agile Scrum development. Defence.
SCRUM
2009
Senior Developer
Developed Kalman filters for tracking aircraft with up to 20 seconds of jitter (Java real-time processing).
bakeoff between:
C++
Java
Nov 2006 - Jul 2009
Senior Developer for Production Systems Defence
Vanguard Signal processing (C++), Protocol extraction (C++), Estimation and Correlation (Java), Regression Test-bed development (Java, Ant, Junt, Sql-unit, Cobertura, eclipse RCP and Cruise Control), World Projections (C++). GIS (ESRI), Google KML, and then http://ir-gis. Air Traffic Network decoding of position reports and telex, multi-headed radar fusion and dynamic earth model adjustments.
C++
Java
Java eclipse RCP
tycho
git
SQL
JavaScript
GIS
messaging
activeMQ
Oct 2005 to Nov 2006
Support specialist
metadata (SQL) and application dev. (C GUI)
C/C++ GUI
SQL
Nov 2002 to Oct 2005
Senior Developer/Architect
Workflow Manager Centrelink, Canberra Enterprise web applications interfaced with M204 Transaction processor.
Model 204 TP
HTLM
JavaScript
XSLT
XML
UML Architect
Nov 2001 - Nov 2002
Senior Developer
DFAT, Forte 4GL (3.0N.9) migration from Unix to Windows 2000/NT and some C++ support.
for Thelma, a health-based Java E-commerce project deployed at ICS global (Sydney), whilst consulting to Technology Partners Group, Newcastle.
Java B2B E-commerce development
JRun application server,
JSP
Oracle JBuilder
Oracle 8i.
Nov 2000 - Dec 2000
Performance Consultant
CSC Australia Melbourne E-tag tollway project.
Forte 4GL middleware
Sun Cluster
Oracle 8i database
May 1998 – Oct 2000
Senior Developer and OOD mentor
deployed at DFAT by BHP-IT on ADCNET ER3 release.
Rational Rose UML/RUP,
Forte 4GL middleware,
C++,
C
scripting languages.
Sep 1997 – Mar 1998
Senior Developer/Team Leader
Network Protocol and Framework Architect, Air Data Technologies. Embedded Radio Network for remote power metering.
rf knowledge
C++
Nov 1997 to present
Managing Director Arising Technology Systems Pty Limited ACN 079 817 342
Information Technology Consultancy. Enterprise Application Development. Management
C++,
Forte,
C#,
Perl
Java
node-js
Python
rust
GIS development,
antenna simulation
compiler writing
firmware design.
1997
Systems Engineer/RF Engineer
Contributed to a small part of the design of Anzac phased-array radar system (while at CEA) by suggesting that mixed-polarisation was required, because circularly polarized signals are reflected back at the opposite polarisation due to the reflection boundary.
Antenna theory
r.f. engineering
electronics
1996 – 1997
Amateur Radio Hobbyist
Numerous HF antenna designs and installations that have been published and in use world-wide Amateur Radio.
CEA Technologies. Mine Hunter communication’s system (hardware).
electronics
R.F.
systems engineering
1995 - 1997
Senior Systems Engineer
| |
Designed and built axial mode helical antennas for NVIS. (Research project at CEA Technologies.)
Amateur Radio
R.F. Antenna engineering
vector network analysis
1997
Amateur Radio Hobbyist
Built and designed common-mode rejection baluns and filters for LF through to HF.
Amateur Radio
r.f. engineering
1996
Sys Eng
Developed FPLA generated RFDS SELCAL.
Electronics.
Oct 1995 – Sep 1997
System Engineer (rf)
Proposed the broad-band RX antenna design for the Mine Hunter.
r.f engineering
1996
System Engineer (rf)
Proposed the broad-band VHF-UHF TX antenna design for the Mine hunter.
r.f. engineering
1996
System Engineer (rf)
Proposed the omni-directional SATCOM antenna design for the Minehunter.
r.f. engineering
1996
System Engineer (rf)
Contributed to the design of the hi-dynamic range common-mode-rejection differential amplifiers for the Mine Hunter broad-band receive antenna.
r.f. engineering
Jan 1996
System Engineer (software)
Debugged the firmware for one of the CEA Technology Software Defined radios (it took me 10 minutes to read the instruction set and 15 minutes to fix it) – the engineer trying to get this to work was causing a floating-point overflow which was causing the DSP to reset and the I/Q audio recovery to have clicks (each time the processor reset).
DSP assembly language
Nov 1996
Project Manager
Integration of Compucat Maritime Message Switch into the Mine Hunter Communication’s system
systems engineering
project management
1996
Amateur Radio Hobbyist
Sailor ATU 1500 modifications, Amateur Radio magazine, 1996.
Developed code that performed cable sizing and least-path placement for the Mine Hunter power and signal buses.
systems engineering
electronics
Nov 1995 – Sep 2007
Systems Engineer
Selected components for the design of the Mine Hunter telephone hybrid circuit for land-line to ships coms connection. Mine Hunter communication bus telephone interface. CEA Technologies
electronics
systems engineering
Nov 1995 – Sep 1997
System Engineer (rf)
Simulated the HF antenna on the Mine Hunter for near-field verification that common-mode choke placements were required on Mine Hunter communication bus and wiring.
Antenna Simulation (Java and FORTRAN)
Mine Hunter Systems Engineering.
Nov 1994 – Oct 1995
Flix Group Manager, Designer and Developer
Proprietary 5GL database project
Borland Pascal
Borland C++
Nov 1993 - 1994
Software Architect / Project Manager
Developed the replacement (portable) Compucat Maritime Message Switch, thus familiar with defence messaging
C++ et al.
ACP-127,
Link-11, and
Link-16 etc.
1994
Architect
Proprietary Exception replacement mechanism (C++). Architect proprietary memory allocation routines (Pascal) and Memory allocation for microprocessors and IBM/PCs (C++) Compucat Pt Ltd.
C++
Pascal
Nov 1993 – Nov 1994
Project Manager
Compucat Pty Limited. Protocol, Storage and Interface Architect. Compucat’s first C++ and Object Oriented Development. Also first project certified under AS3901.
C++
Object Oriented
AS3901 lead/project
Solaris
Windows
Aug 1993 – Nov 1993
Research Engineer / Senior Analyst Programmer
Developed Fixed and Floating point to integer processor libraries and Z-buffering graphics rendering. Fleetwork trainer kinematics. Fleetwork trainer lead engineer.
Pascal
ASM
1993
Architect
Event-driven Multitasking environment for Borland Pascal DOS applications - used as a basis for Fleet Work Trainer program Compucat Pascal/Assembly language
Pascal
ASM
1993
Architect
micro-second precision Event Monitor and program performance metering for PC compatibles). Compucat.
Pascal
IBM pc Assembly language
Aug 1993 – Nov 1993
Project Controller/Team Leader/Architect
Fleetwork Trainer (used by the RAN and NZ Navy), Compucat.
Pascal
Proprietary motion engine.
Assembly language.
1990 – 1995
Amateur Radio Hobbyist
Simulated antennas and verified them by building; my specialty was compact and elevated HF ground-plane antennas and NVIS. I have several publications in this regard, and one publication in a per-reviewed paper validating NEC-2D (which was reviewed by the NEC-2D author as it turns out).
Designed and developed un-powered Voice Activated switches for transceivers, and transceiver links using transformers and MOSFETs that operated without external power supplies.
Amateur Radio
electronics
r.f. engineering
1990
Amateur Radio Hobbyist
Designed and developed compact 160 m HF antennas for mobile use. Published in Wia magazine.
deployed at Prime R&D Boston MA, by Prime R&D Australia. Proprietary operating system (PRIMOS).
developed interpreter extensions
developed Prime Information Releases
vetted Prime Information IBM Pc releases
developed a Prime Information debugger
wrote my Ada compiler master's thesis (with-drawn)
Development languages:
FORTRAN,
PL1/G,
SPL,
Assembly language
INFO/BASIC.
1986
Architect
Designed and developed a new Database interpreter for Prime INFORMATION (PMA) which achieved up to 6 times performance improvement. Prime R&D. Prime 32R Assembly Language
PMA (Assembly language)
1984 – Oct 1989
Senior Software Engineer
Team Leader, Performance Analyst, Prime R&D Australia. Proprietary operating system (PRIMOS) (based on Multix – the precursor of Unix.)
FORTRAN,
PL1/G,
SPL,
Assembly language
INFO/BASIC.
Prime INFORMATION 4GL database.
1982
Software Engineer
Developed a BASIC interpreter (C), a PDP-11 emulator (PMA), a Z80 emulator (PMA) - using Prime Assembly Language and C language.
C
PMA
1980
Architect
Architect of a Semaphore-based operating system for PRIMOS subsequently used for teaching at the NSWIT.
FORTRAN IV
PLP
1980 – 1984
Tutor
NSWIT (now University of Technology), Broadway Sydney.
Mini Pascal compiler (Pascal),
BNF table driven parser (C),
Table-driven diss-assembler (PLP),
developed an Ada subset compiler in PL1/G - for Primos,
developed Primos hardware semaphore emulator - used for student course work
Helped port the Portable C compiler to Primos
Academic environment tutoring for wide range of subjects.
Tutor - education
Mathematics,
Assembly languages,
COBOL
PL1-G
C
FORTRAN IV
FORTRAN 77
Lisp
Ada
Pascal
RPG-II
Languages and Processors (compiler theory),
Network Analysis,
Micro-controller laboratory etc.
1980
Teacher
Qualified NSW Science and Mathematics teacher, Department of Education. (resigned to learn/teach Computing Systems)
Dip Ed (UNE) 1975 - 1979, Education
BSc (UNE) 1975 - 1979
Physics,
Chemistry
Dip Com Sc (UNE) 1979, Computing Science
1980
Amateur Radio Hobbyist
Designed and published high-impedance RF buffer amplifier circuit so I could signal-trace and tune all the oscillators in a HF transceiver that I repaired – without loading the oscillators.
Developed V.21 frequency shift-keying 600 baud phone modem, plus V.22 1200 baud tape modem (because I needed one for my computer work).
electronics
computing
1972
Electronics Hobbyist
Rewound a 250 volt laboratory variac that had some burnt-out turns on the later half of the winding.
electrical fitting
1970
Electronics Hobbyist
Designed switch-mode Triac power-supplies (regulating the primary main-supply side of the transformer).
electronic design
1970
Amateur Astronomer
Designed and developed a variable frequency inverter drive for synchronous motors used for astronomical telescope tracking.
electronic design
1970
Electronics Hobbyist
Developed Buck and Boost switch-mode power-supplies before the advent of “jungle” chips.
electronic design
1969
Electronics Hobbyist
Rewound a power drill motor armature – because my father's drill blew-up and he said I can have it if I fixed it, and then he showed me how to fix it (my dad was an electrical turner and fitter by trade). Electro-mechanical.
electrical fitting
1967
Electronics Hobbyist
Designed 400 Watt adjustable linear power supply for my father using a large TV transformer and my own-regulator design. Voltage would only boost up by a faction of a volt under a 30 amp load due to the compensation and voltage sense in my regulator design.
electronics
1966
Electronics Hobbyist
Rewinding valve TV mains transformers for power supplies that I designed.
electronics
1961
Hobbyist
Light and Morse Key circuit soldered at home direct to batteries and switches etc and taken to school.
My father made me a soldering iron and taught me to solder at an early age.