Curriculum Vitæ for Martin D Kealey

Overview

Skills

Employers

A complete personal history is available on Old Friends

Other recent activities

(Contact details for these organisations available on request.)


Details of recent work

Independent Contracting

Since 2018 I have taken on several short-term and part-time roles, including:

The Religious Society of Friends (Quakers) NZ

I am the senior technical advisor for the Quakers NZ website and intranet oversight committee. Quakers have extremely exacting requirements around handling of personal data, requiring extensive consultation to produce technical designs that accommodate all needs.

Lotus Genealogy Solutions Pty Australia

I have been retained by LGS as their technical advisor.

Google Inc

From 2015 to 2018 I was a Site Reliability Engineer with Google, working in their Sydney office.

Volunteer Service and partial employment

From 2012 to 2014 I was the principal care-giver for an infirm family member. When my charge was in "better" health, I took on day-by-day casual work (mostly non-IT), and did voluntary work for community groups such as churches (mostly IT).

Some of my voluntary IT work is visible on GitHub

NZ Bus

(Previously Stagecoach)

I had part-time work as a bus driver with Stagecoach/NZbus almost continuously between 2003 and 2015, with the agreement of my other employers. In particular I had a "mornings only" school bus route from 2010 to 2013, and other day-by-day assignments when family commitments allowed.

Catalyst IT

I worked for Catalyst on a 4-month fixed-term contract in 2012. The role was primarily web development using Mason for a large client.

Vodafone NZ

I joined Ihug as a senior systems engineer, in late 2006 just as it was acquired by Vodafone. For over a year it continued to run as a stand-alone operation, but in April 2008 its brand was merged, and from then operations were gradually merged as well. With this came a series of role changes, including system integration, software design, capacity planning, tender drafting, and vendor liasson.

Signature Internet Group

Since 1997 I have been running my own web hosting service. In September 2000 I moved that to operate under an incorporated limited-liability company.

This has involved me in all aspects of a corporate operation — albeit small — from hardware maintenance to outage scheduling to marketing, but the bulk of time has been spent on technical administration and building new software features.

Open Systems Specialists

OSS is an IT integrator for small to medium sized businesses, focussing on "being their IT department".

I worked there installing, configuring, troubleshooting and maintaining standardised desktops, back-end servers (hosting Samba and CommuniGate), firewall systems (Squid, CommuniGate, PostFix) and various network devices.

Stagecoach

Stagecoach (now NZ Bus) is a major operator of public transport facilities in New Zealand, including buses and ferries, in Auckland and Wellington.

A spell away from IT. After 20 years as an IT professional, and the contraction of the IT industry in the wake of "Y2K", it was time to take stock of my life, and to find out if I could do something else. The answer was "yes", and I found I rather enjoyed the expanded "people contact", but eventually I missed the challenge of IT.

Asterisk

Asterisk is a local (NZ) supplier of open-source-based appliances such as the Firefly firewall and the Firefly-X thin client for X-windows, VNC & RDA.

I worked there during 2003 as mixture of network consultant and software developer. The network consulting work refreshed my skills with Linux technologies such as "iptables" and network security, while the software development maintained my Perl skills.

Although nominally a VOIP service company, as is common with many small companies they took on whatever work their staff could handle in order to keep up cashflow, so the work was varied, with few long-running projects.

Since I worked for them, Asterisk has been acquired by gen-i. (If you ask I'll tell you the story about the cockatiel mascot.)

Peace Software

Peace Software is an internationally recognised supplier of customer management solutions to the utility sector, especially energy retailers.

I worked between 1999 and 2002, in a number of roles including application development, internal support, and research analyst.

In the Internal Support role I lead the development of tools to aid the use of the newly introduced ClearCase source-code control system, and build process that would manage multiple release versions. These were mostly written in Shell and Perl.

In the research analyst and development roles I worked on projects connected with the creation of a new web front-end to what had hitherto been a textual terminal application. Among these was a query-aware cache server to optimize database accesses required for dynamic HTML pages containing large numbers of "Java Beans" -- each making its own "database query".

Wang NZ

Wang is a business integrator supplying a number of large customers such as Air New Zealand with the totality of their IT needs. In 2000 they were renamed gen-i.

I worked there in 1997 as a web developer (during the heyday of the "Dot Com" boom), and then until 1999 as a consultant within their "networks" group; my specialty was configuration and maintenance of Unix systems from a networking and security perspective, but I was also involved with configuring Windows NT-4 servers and workstations, and various devices such as Cisco routers. For part of this time I was posted with Air New Zealand, where I assisted with their "desktop migration" program, and identified a number of optimisations to their network; I was also posted with Mercury Energy, initially to create a tool that would export their billing records to the "JetForm" design tool, and then to create an automated test framework to check that invoices were produced by the new "SAP" system that exactly matched the old system.

Creative cGi

Creative cGi was a small web development company, providing web pages and other software development to a number of clients.

I worked there during 1997 as a web programmer and network admin.

Bellsouth

I worked as a subcontractor to one of Bellsouth's contractors, rewriting their software to implement an SMS/SMTP gateway, at the time titled "MagaZine", and implementing a "TAP" gateway from scratch (that allowed the mobile network to emulate a dial-up Pager service.

These involved interactions with various hardware devices, deep understanding of the 3 protocols, and storing deferred messages and routing information in an Oracle database.

Bellsouth's New Zealand mobile phone operation was sold to Vodafone in 1997, and renamed accordingly.

Doughty Group

This was a contract to develop a data collector for Fiji Telecom's then-new X.25 network.

Doughty Group has changed its name several times; it has also been known Cray Communications (CrayCom).

I worked on contract with them to develope monitoring software for Fiji Telecom's X25 network. This entailed configuring the monitoring interface on a number of X.25 switches, and writing software to collect the output on a continuous basis and present it in a format usable by Fiji Telecom's existing customer billing software.

Magnavas

Magnavas was a specialist development house that designed and manufactured radio modems for the New Zealand market.

I was the software architect for the real-time kernel, and analyst for the communications protocol requirements, working very closely with the hardware developer.

Along the way I was principal in the development of an inexpensive in-circuit-emulator for the Z-80 CPU, to assist our development efforts.

ECONZ (Electronic Company of NZ 1971 Ltd)

ECONZ is still going after 52 years! While there I worked on a number of projects, including a replacement for the Livestock Improvement Corporations milk monitoring systems, and updates to the Automobile Association's call-centre software.

Omnitech & Phoenix Software

While at Omnitech I was the principal developer of the software portion of a product to send and receive facimile documents, including an email-to-fax gateway. Later I worked on general Unix & Xenix consultancy for Phoenix Software, the parent company. (Omnitech started as a separate company but a majority shareholding was acquired by Phoenix Software about a month after I started.)


Experience & Skills

My principal and most valuable skills are these: firstly I am a generalist problem-solver (and only incidentally a specialist in some areas), and secondly I am adept at reading instruction manuals and remembering them.

I know in detail over two dozen computer languages and as many operating systems including at least a dozen versions of Unix and Linux -- and some of these I wrote from scratch myself. Whilst many of them are now obsolete, the ideas they embodied live on; operating systems currently on the market are all FAR more alike than those of even ten years ago: each one simply incorporates nearly everything from earlier operating systems.

Site reliability

Operating at "google scale" - millions of machines, petabytes of data, and billions of customers - needs a shift in mindset. Anything that can possibly go wrong will happen within minutes of pressing the "deploy" button, and things that "can't" go wrong are pretty much a daily occurence. Successfully operating at this scale exercises skills that become ingrained as habits and reflexes.

Software development

I have worked now for over 2 decades developing software in many languages. HR staff are often tasked to seek programmers with experience in a specific language; however unless the task is less than a few days, the value of such experience is not really key, and indeed may be outweighed by the wider breadth of experience gained by working in multiple languages.

On the simplistic level, the majority of common languages today have very similar sets of features, with only minor syntactic differences, so the time needed to adapt from one to any other is trivial. And as the breadth of experience widens, the time to adapt decreases even for less common languages — rather like learning human languages.

More profoundly, the synergy of working in multiple languages gives a better perspective on the options for implementing a given human problem. And after so many programming languages, learning another will not even be a challenge, let alone a significant delay.

Having said that, I do have experience in languages likely to be of current interest, including:

I have experience (and competence) with version control systems including:

I have experience packaging into both RPM & DEB packages.

My preferred development is of course the well-structured "think of everything first", but as every project manager has learned to their cost, that's rarely a viable option. Most often the client doesn't know what they want until you show them what they don't want...

But seriously, my normal development mode is a cascading prototype-test-rewrite-test-refine approach, where each module is first prototyped with a test harness, then once it is stable, further tested & refined in the course of building the next layer on top. By taking time to make each module well-tested along the way, the end result is stable and relatively bug-free, and with proper separation of layers, even wholesale revision of client requirements can be accommodated, the required changes being mainly confined to the top-level modules.

Unix

Unix administration is probably my third biggest skill: I've been running my own hosting service on Linux boxes since 1997 and before that administered Unix systems for Phoenix Software, Wang and Creative cGi, and at home.

I started using "UNIX version 6" in 1984 while at Auckland University, and while there also used VAX Ultrix and SCO Xenix. Later I worked with SCO Xenix and SCO Unix in my "first real job". Eventually I installed QNX (version 4) and Linux (version 0.8.3) on my home machines. Nowadays most Unices are rather similar, but I've seen enough versions over the years not to get tripped up by the differences that still exist. I've also worked with enough non-unix systems to have some idea "what's out there" that might crop up in using yet another variant of Unix.

Perhaps you want a Red Hat specialist. I have only spent about two years working professionally with Red Hat, which might at first blush not seem experienced enough for your role. However I've also spent two years professionally managing CentOS (including building custom rpm's); I've used CentOS & Red Hat extensively in personal roles; I gained a RHCSA incidentally to my role at Vodafone; and (bearing in mind that Red Hat is 99% the same as all other versions of Linux, and that Linux is 98% the same as all other versions of Unix) I have been using Unix of one sort or another for over thirty years.

So despite "only two years of Red Hat experience", I can tell most seasoned RedHat administrators things they didn't know about Red Hat, simply because they're part of all modern Unix systems. The things that make Red Hat distinct from other versions of Unix are mostly cosmetic, and those differences that go deeper don't really take more than a few hours to grips with. And the same goes for other Unix versions, even SuSE Linux with its enhanced security model — which incorporates security features that have analogues in other operating systems.

For the record, these are the versions which I've spend substantial amounts of time on:

and several now-obsolete varieties such as SCO Xenix, QNX v3, VAX Ultrix, PDP-11 UNIX v6.

Other operating systems

The most obvious other operating system I've used and administered has been Microsoft Windows. Starting with MSDOS 3.1, through Windows 3.1, Windows NT 3, Windows NT 4, Windows 95, Windows 98, Windows 2000 (aka Windows NT 5), Windows XP and Windows 2003. Since Windows NT4 I've been using the POSIX subsystem, making multi-user systems with Citrix & WTS, and severely customizing the registry.

Besides Linux and Unix I've also used & administered:

Network Services

Most of my roles have involved design, implementation and administration of mail servers, web servers and DNS servers, including particularly Vodafone and OSS, as well as personally. In all I've probably spent over 20 years doing these.

Networks

I've been involved at most levels of network design and administration from soldering a cross-over serial cable (based on my reading the hardware specs of a serial port) and transfering files using z-modem (1984), to writing driver firmware for radio modems (1992), through to maintaining mailing lists and web pages for interest groups, and pretty much everything in between.

At the network admin level, my major work in this area was with Vodafone and Wang (with some at Asterisk and Open Systems Specialists), doing analysis and design of multi-site networks with multi-layer firewalls and dynamic (failover) routing. At Wang and OSS I also did intrusion testing for pre-arranged clients.

At the application level, I've been writing network-centric programs since 1987.

At the hardware level, I first wired a burglar alarm in my treehouse in 1974 ... and put a 48-point patch panel and wireless hub in my real house in 2006.


A note about Security

Security isn't an add-on, but rather a mind-set from the initial design onwards.

So, I habitually make security part of everything I do, from the ground up. That way there can be no surprises later. (Even when security has been short-changed in the interests of expediency, it is documented exactly where, how, and why, so it's not a surprise.)

In software development, it means having a clear model of who is trusted and considering everyone else by default to be untrusted — so, for example, you don't allow invalid parameters to put a module into an inconsistent internal state.


Contacts

Phone/Mobile:
+61 423339370
Email:


Note: this is a short-form CV; if you would like further details please select from the following list:

Last updated 26 Jan 2023