Curriculum Vitae

 

I have withheld some contact details for privacy reasons, for a full PDF printable copy with all details, please contact me directly.

Last update: 2nd September, 2015

Personal Details

Full Name: Stuart Longland
Contact Phone: +61 439 890 891 (Mobile)
Email Address: stuartl at this-domain (longlandclan.id.au)

Key Skills

  • 22 years programming experience
    • Assembly (i386)
    • BASIC (QBasic, VisualBASIC, RealizerBASIC)
    • C
    • C++
    • C#
    • Haskell
    • Java
    • Perl
    • PHP
    • Python
    • Databases: MySQL
    • Frameworks: Qt
  • 20 years Linux experience
    • Debian
    • Gentoo
    • Red Hat
    • Slackware
    • Ubuntu
    • Architectures: AMD64, ARM, i386, MIPS
    • Kernel development
  • 17 years website development experience
  • 15 years network administration experience
  • 10 years Embedded Systems experience
    • 8, 16 and 32-bit Microcontrollers:
      • Atmel AT91SAM7X128 (ARM4)
      • Freescale i.MX27 (ARM9)
      • Luminary Micro Stellaris LM3S8962 (Cortex M3)
      • Rabbit Semiconductor RCM4000 (Proprietary)
      • Texas Instruments MSP430F135, MSP430F149 (Proprietary)
      • Texas Instruments TMS320LF2406A DSP (Proprietary)
      • ST Microelectronics STM32F103 (Cortex M3)
      • Atmel ATMega (AVR)
    • RTOS Kernels:
      • ECOS (RedBoot)
      • FreeRTOS
      • uC/OS-II
  • 7 years (since 2008) Radio Communications experience:
    • “Standard” licensed amateur radio operator since mid 2008
    • Most bands between 80m and 70cm
    • Base station, portable and “bicycle mobile”
    • Most analogue voice modes, and some digital

Qualifications

  • Bachelor of Engineering (Electronics) / Bachelor of Information Technology (Software Engineering), QUT 2009.
  • Certificate III Information Technology, St. James College 2002.
  • Certificate III Arts (Webdesign), Brisbane Institute of TAFE, 2001.

Community Interests

Professional Experience

June—Oct 2010: Jacques Electronics

Jacques Electronics is a communications firm based in West End who specialise in voice intercom systems. My work here (as a subcontractor through Eze Corporation… see below) involved development of software for their newest range of video/voice-over Internet Protocol intercom systems.

Much of the work revolved around the Ka-Ro Electronics TX27 processor module, which is based upon the Freescale i.MX27 System-on-chip. This processor module ran the Linux kernel, and booted using the RedBoot bootloader.

The work involved development of both Linux kernel device drivers for in-house developed and off-the-shelf peripherals, and software for production testing of manufactured PCBs. This included modification of the RedBoot bootloader to enable it to configure the Linux kernel based upon the contents of an on-board EEPROM.

2008—2010: Eze Corporation

This began as voluntary industrial experience for my university studies. Following on from this they took me on initially part-time during my holidays from uni, then full-time immediately following my studies.

Eze Corporation are a small R&D company who specialise in BLDC motor control for electric vehicles. Their flagship product is the SmartWheel control system which allows control of an arbitrary number of independently steerable wheels. The system allows electric vehicles to be highly agile, performing tight maneuvers such as sideways movement and rotation on-the-spot.

My role involved:

  • Implementation of firmware for a “Driver’s Control Console”
  • Protocol and CAN device driver development on the separate motor controllers, DCC and desktop computer software
  • Development of test and visualisation software (using Qt)

2005—2013: Developer, Gentoo Foundation

My work with the Gentoo foundation centres around the support and maintenance of their MIPS port, targeting Silicon Graphics, Cobalt Networks and more recently, Lemote hardware. Gentoo is also capable of running on many more systems, with users often trying out the OS on many exotic platforms. In addition, I help maintain the Gentoo/MIPS handbook, which covers the installation procedure for our main platforms.

More recently, I have also had a hand in maintaining Mozilla’s products on Gentoo, namely Firefox and Thunderbird.

The work was an ongoing hobby of mine, and continues to provide opportunities for me to keep my IT-related skills in check.  I retired from Gentoo in February, as these days I don’t have as much free time as I did back at university.

2003—2008: Network Administrator, Asperger Services Australia

Asperger Services Australia is a small not-for-profit organisation aimed at assisting individuals (and their families) with Asperger’s Syndrome.

In my role here, I was responsible for maintenance of the entire network, including the office server, internet link and workstation computers. The server ran Linux (initially Red Hat, but later migrated to Gentoo), and acted as primary domain controller for 5 Windows XP workstations. The network featured roaming profiles and remote VPN access (using OpenVPN).

The server itself acted as the main router (with PPPoE… their Bigpond-supplied ADSL modem dated back to when ADSL modems were plain modems, not routers), mail server (primary MX for domain) and file server.

Towards the latter part of my role there, I also took on maintenance of the website as well, which I also modified to
suit their needs.

2010—Current: Software Engineer and Network Administrator: VRT Systems

VRT Systems are a systems integrator company who specialise in SCADA and energy management.  My involvement there was purely as a software engineer, working on a project that would become a key component in their flag-ship “Wages Hub” product.  This component, then dubbed “Meter Master” is a Python-based framework that acted as a toolkit for energy meter data collection and export.

What initially began as a means of extracting energy usage data out of a Satec energy meter via Modbus (using pymodbus) and injecting that into the SQL back-end of an Ion Enterprise energy management system, this tool now supports bi-directional access to Ion Enterprise and CET PecStar, and has been successfully interfaced to a number of meter devices including EDMI, Wavenis, CET and Schneider Electric meters.

Over the last few years, I have become involved in expanding this project and developing internal support systems such as their resource planning system (based on OpenERP).  More recently, I have taken on the role of deputy network administrator, managing a small network of about 30 computers (mostly Windows 7), and several (mostly Linux-based) servers.

The latest work has been into Cloud-style computing stacks such as OpenStack and their applicability in managing the office computing workloads on a small scale cluster consisting of Core i3-based mini-ITX nodes.

Non-work experience:

Programming Experience:

Much of my programming skills can be traced back to early my early fascination with computers. I first learned to program in BASIC (QBASIC dialect) back in 1994, largely self-taught.  This flowed on to other BASIC dialects such as CA RealizerBASIC and VisualBASIC 4.0.

Much of the software was fairly basic in nature. There was however some experimentation, particularly with writing device drivers for various peripherals… some of which was reverse engineered.

Upon entering the world of Linux, I discovered many other programming languages such as Perl and Python. Again, all knowledge here is self-taught.

University helped introduce me to some of the more mainstream languages, in particular, Java, C++ and C#. This spurred me on to learn about related languages such as C in my own time.

I now program mostly in C or Perl, but may also pick up and use others such as PHP or Assembly, depending on what I’m working on.

Electronics and radio experience:

My interest in electronics also dates back to early primary school, but it has only been since studying at university and learning the theory that I got serious with electronics.  Radio in particular has been a fascination for a long time, and it was learning about modulation techniques, and asking questions about it … I discovered amateur radio.

I’ve been on the air ever since, experimenting with antenna designs, various modes of communication, and with mobile communications. During my time at Jacques, I was regularly heard on 2m as a “bicycle mobile” station, and have also made many long-distance contacts using the bicycle-mounted station — two whilst mobile on 40m.

Radio continues to hold a great fascination for me, and it is this that drives much of my exploration into the world of electronics.  Another driver for my interest in electronics, is embedded systems programming, working with small microcontrollers.