<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<article>
<title>Resume</title>

<articleinfo>
<authorgroup>
<author>
  <firstname>Michael</firstname>
  <surname>Still</surname>
</author>
</authorgroup>
</articleinfo>

<sect1><title>Personal details</title>
<para>
I am a resident of Canberra, Australia. I also hold Australian citizenship.
</para>

<para>
I may be contacted at:
</para>

<programlisting>
	email		mikal@stillhq.com
	phone		+61 419 286 329
	postal		33 Fred lane Cres, Gordon, ACT, 2906, Australia
</programlisting>
</sect1>

<sect1><title>Academic qualifications</title>
<para>
I possess a Higher School Certificate (year 12) from Canberra Grammar School, in which I was rated in the top 10% of the state for almost all of my subjects, and was in the top 10% of the state overall.
</para>

<para>
I also hold a Bachelor of Computer Engineering (BEng) from University of Canberra, with first class honors. I started this degree in 1996, and completed it in 2003, having studied part time for the majority of the degree. I am currently undertaking a part-time PhD at the Australian National University, looking into methods of computer assisting device driver development.
</para>
</sect1>

<sect1><title>Industry certifications</title>
<para>
I currently hold the LPI LPIC-1 certification.
</para>
</sect1>

<sect1><title>Industrial qualifications</title>
<para>
I have been trained in the following fields (this does not include on the job training and experience):

<itemizedlist>
<listitem><para>Microsoft SharePoint ISV integration</para></listitem>
<listitem><para>Microsoft Smart Client implementation</para></listitem>
<listitem><para>Microsoft .NET development (essentials and industrial strength)</para></listitem>
<listitem><para>Windows Server 2003 certification for ISV software products</para></listitem>
<listitem><para>Linux systems administration</para></listitem>
<listitem><para>TRIM Records Management, EDMS and Workflow products</para></listitem>
<listitem><para>C++ development</para></listitem>
<listitem><para>FileNET EDMS and Workflow products</para></listitem>
<listitem><para>Prince II project management methodology</para></listitem>
<listitem><para>Oracle database administration</para></listitem>
<listitem><para>Windows NT system administration</para></listitem>
<listitem><para>Solaris system administration</para></listitem>
</itemizedlist>
</para>
</sect1>

<sect1><title>Personal projects</title>
<para>
I have worked on the following personal projects, many of them licensed under an Open Source license of some form:
</para>

<itemizedlist>
<listitem><para>several DocBook packages, including a build engine, a formatted comment extraction system, a groff to DocBook converter, and partial responsibility for the kernel-doc infrastructure used for the <trademark>Linux</trademark> kernel</para></listitem>
<listitem><para>a techtonic movement visualization package, developed for researchers at University of Canberra and MIT</para></listitem>
<listitem><para>a FAT file system decoder</para></listitem>
<listitem><para>a proof of concept API implementation for the GNU privacy guard PGP implementation</para></listitem>
<listitem><para>a raster graphics library</para></listitem>
<listitem><para>various <trademark>Linux</trademark> kernel patches</para></listitem>
<listitem><para>several PDF packages, including a generation API, a scripting front end to the generation API, a PDF parser API, and a simple editor</para></listitem>
<listitem><para>several PNG image utilities</para></listitem>
<listitem><para>a DNS server written in Bourne again shell (bash)</para></listitem>
<listitem><para>a SnoopyPro, USB protocol analyzer log dumper</para></listitem>
<listitem><para>...and many other smaller projects (see http://www.stillhq.com/extracted/ for a full list)</para></listitem>
</itemizedlist>

<para>
It should be noted however, that I also have experience in developing commercial applications as well.
</para>
</sect1>

<sect1><title>Internet community</title>
<para>
I have previously been the author of the comp.text.pdf USENET frequently asked questions document, and have an active blog at http://www.stillhq.com
</para>
</sect1>

<sect1><title>Professional bodies</title>
<para>
I have held the following positions within a variety of professional bodies:
</para>

<itemizedlist>
<listitem><para>2004 - 2005 onwards: Ordinary committee member, Linux Australia</para></listitem>
<listitem><para>2003 onwards: Ordinary committee member, the Australian Unix Users Group</para></listitem>
<listitem><para>2002 - 2003: Secretary, Canberra Chapter, the Australian Unix Users Group</para></listitem>
<listitem><para>1997 - 1998: Chairman, Young Engineers Canberra, Institute of Engineers Australia</para></listitem>
</itemizedlist>
</sect1>

<sect1><title>Current employment</title>
<para>
I am currently employed as a senior software engineer with TOWER Software Pty Ltd (http://www.towersoft.com.au), a leading ISV in Australia. This work involves management of complex exploratory development efforts, as well as project and product management and system development for our commercial software products.
</para>

<para>
The majority of my time is spent solving complex technical problems. These might be problems I have encountered myself while implementing a system, but also includes problems delegated from other members of the team. These problems have ranged from errors in complex pieces of code dealing with images at a bit level, network programming, system design and implementation, or solving problems related to Microsoft Windows development. I am also responsible for large amounts of development in areas which were previously poorly understood by TOWER.
</para>

<sect2><title>Examples of recent development experience</title>
<para>
The following examples of systems I have recently developed might be of some assistance.
</para>

<sect3><title>API work</title>
<para>
Panda, an open source PDF generation API. Panda supports all of the major PDF constructs, as well as containing JPEG, PNG and TIFF support. This involves low level manipulation of TIFF images into the subset of the TIFF specification that is supported by the PDF specification.
</para>

<para>
PandaLex, an open source PDF parsing engine. This involves a bison and flex parser where some of the information parsed is binary. This library allows PandaEdit to support modification of existing PDF documents, as well as aid the reverse engineering required for development of support for linearized PDF.
</para>

<para>
PandaScript, an open source scripting interface to Panda, which was developed using bison and flex.
</para>

<para>
A Web Service version of the extensive TRIM SDK.
</para>
</sect3>

<sect3><title>Application work</title>
<para>
I have been involved with the implementation of various Internet based systems for IPAustralia, the Australian Patents, Trade Marks, and Designs offices. I have developed several large scale PDF generation applications for IPAustralia. These were developed in C using a PDF generation API, and partially led to the development of Panda.
</para>

<para>
Development of a standard data loading infrastructure for IPAustralia capable of dealing with a large range of data input from CD ROMs, DVDs, tapes and scanning applications. This infrastructure is based on a UNIX server process, and is responsible for the loading of 99% of the corporate mission critical data.
</para>
</sect3>

<sect3><title>Large scaling image processing and storage</title>
<para>
A selection of imaging applications which involve low level manipulation of image data. These have used libtiff, libjpeg and are starting to use libpng. Types of applications developed include image conversion, text insertion and data extraction applications. These applications are developed as needed internally by IPAustralia.
</para>

<para>
The ongoing maintenance and development of several corporate imaging systems, ranging for 9 million TIFF images, to 500,000 TIFF images, to 200,000 PDF documents.
</para>
</sect3>

<sect3><title>Commercial software development of a leading Records Management and EDMS product</title>
<para>
This has included implementation of the ODMA specification, the parsing of Microsoft structured storage files, MFC user interfaces, document content searching, a custom web server, and many other projects. Development was initially undertaken under win32 using COM and DCOM in C++. Subsequently some development work was undertaken in C# using the Microsoft .NET Framework and Microsoft .NET Compact Framework.
</para>
</sect3>

<sect3><title>System Testing</title>
<para>
I believe that proper testing of code before release is important. At one of my previous jobs (in the list below), I was a member of the team responsible for the testing of a complex Internet application for Australia's largest telecommunications company. This involved the generation of use cases, test scripts, the planning of regression, unit and occasionally acceptance testing, and the implementation of this testing.
</para>

<para>
I have previously been  responsible for the acceptance testing for the Windows and Unix APIs for an EDMS / Workflow suite from Objective Corporation.
</para>

<para>
I have also liaised with the Quality Assurance team at TOWER Software on many occasions, and understand the issues involved with testing of complex commercial software packages.
</para>
</sect3>

<sect3><title>Kernel development</title>
<para>
I have a contributed a variety of patches to the Linux kernel, starting with the late part of the 2.5 development series. Many of these patches are janitorial in nature, although I have also worked on the kernel-doc documentation infrastructure. For more information about the current status of my kernel patches, you can check my patch tracker at: http://www.stillhq.com/cgi-bin/patchtrack?dir=linux/patches
</para>
</sect3>

<sect3><title>Other</title>
<para>
I have also been involved with many other coding and systems administration projects, the above a merely some recent highlights. These include web based, Windows based, and UNIX based systems. I have also undertaken mainframe integration work. I have been involved with the support of various mission critical systems.
</para>
</sect3>
</sect2>
</sect1>

<sect1><title>Expertise</title>
<para>
Below is a list of the expertise I have previously developed. I am confident in developing other areas of expertise as required.
</para>

<para>
<command>Development environments:</command> GCC, GDB, Microsoft Visual Studio 6, Microsoft Visual Studio .NET (2002, 2003 and Whidbey), Borland C++ Builder, Borland JBuilder.
</para>

<para>
<command>Development tools:</command>CVS, Visual Source Safe, dmalloc, distcc, ccache.
</para>

<para>
<command>Hardware:</command> Intel x86, Sun Microsystems and IBM RS/6000 series machines. I have also developed applications for mobile devices such as Pocket PCsM, and Smart Phones. I have configured a variety of X Terminals, and Winterms, including devices from NCD, Labtam, and Wyse. My most recent work has focused on x86 based platforms.
</para>

<para>
<command>GUI toolkits:</command> Java, Java Swing, Windows MFC, wxWindows, WinForms.
</para>

<para>
<command>Languages:</command> C, C++, C# (C Sharp), Java, UNIX shell (Bourne and Bourne Again mainly), Perl, Bison / Yacc, Lex / Flex, Expect, M68000 assembly, limited x86 assembly, ASP, ASP.NET, Visual Basic, and Visual Basic.NET. I have tutored in software development methodologies, and software development at a University level.
</para>

<para>
<command>Markup formats:</command> HTML, SGML (including DocBook), XML.
</para>

<para>
<command>Networking:</command> Including Windows, Linux, FreeBSD, Cisco and Cabletron based solutions. Most of my knowledge revolves around TCP/IP and it's associated protocols such as RIP, BGP, OSPF, DHCP, DNS, et cetera. I have tutored in networking at a University level. I have also implemented DNS, SMTP, HTTP, and vCARD solely from reference to the relevant specifications and reference books.
</para>

<para>
<command>Operating systems:</command> Linux, FreeBSD, Solaris, AIX, various Windows iterations. I have a variety of accepted patches in the Linux kernel. I have tutored in Operating Systems at a University level.
</para>

<para>
<command>Packaging / portability:</command> autoconf, automake, libtool.
</para>
</sect1>

<sect1><title>Presentations</title>
<para>
I have given the following technical presentations:
</para>

<itemizedlist>
<listitem><para>October 2000: Canberra Linux User's Group, <emphasis>Panda</emphasis></para></listitem>
<listitem><para>November 2000: Australian Open Source Symposium, <emphasis>Panda</emphasis></para></listitem>

<listitem><para>June 2001: Australian Open Source Symposium, <emphasis>2D Imaging using Open Source</emphasis></para></listitem>
<listitem><para>September 2001: Australian Unix User's Group Annual Conference, <emphasis>Open Source PDF handling with Panda and PandaLex</emphasis></para></listitem>

<listitem><para>May 2002: Canberra Linux User's Group, <emphasis>TrivSQL: A SQL database implemented with tdb</emphasis></para></listitem>
<listitem><para>May 2002: Canberra Linux User's Group, <emphasis>Building an 802.11b access point with linux</emphasis></para></listitem>
<listitem><para>August 2002: Australian National University Guest Lecture COMP3410, <emphasis>Electronic Document Management with TRIM</emphasis></para></listitem>
<listitem><para>September 2002: Australian Unix User's Group Annual Conference, <emphasis>Graphics programming tutorial</emphasis> (cancelled due to lack of enrollments)</para></listitem>
<listitem><para>September 2002: Australian Unix User's Group Annual Conference, Session Chair, Linux Kernel track</para></listitem>
<listitem><para>October 2002: Canberra Linux User's Group, <emphasis>Using the autotools for your application</emphasis></para></listitem>
<listitem><para>November 2002: Australian Unix User's Group, Canberra Chapter Technical Symposium, <emphasis>Fixing whats wrong with bind: shdns</emphasis></para></listitem>

<listitem><para>April 2003: Canberra Linux User's Group, <emphasis>The PandaEdit PDF editor</emphasis></para></listitem>
<listitem><para>May 2003: Australian Unix User's Group, Canberra Chapter Technical Symposium, <emphasis>Open Source inservice for ACT secondary school teachers</emphasis></para></listitem>
<listitem><para>September 2003: Australian Unix User's Group Annual Conference, Session Chair, WWW track</para></listitem>

<listitem><para>January 2004: linux.conf.au, Fixing what's wrong with Bind</para></listitem>
<listitem><para>June 2004: Canberra Linux User's Group, <emphasis>An introductory FUSE tutorial</emphasis></para></listitem>
<listitem><para>July 2004: Ottawa Linux Symposium, <emphasis>An introductory FUSE tutorial</emphasis></para></listitem>
<listitem><para>September 2004: Australian National University Computer Science Seminar, <emphasis>An introductory FUSE tutorial</emphasis></para></listitem>
<listitem><para>September 2004: TRIM User's Forum IT Stream, <emphasis>The TRIM Web Service</emphasis></para></listitem>
</itemizedlist>
</sect1>

<sect1><title>Publications</title>
<para>
I have had the following articles and papers published:
</para>

<itemizedlist>
<listitem><para>September 2001: Australian Unix User's Group Annual Conference Proceedings, <emphasis>Open Source PDF handling with Panda and PandaLex</emphasis></para></listitem>

<listitem><para>March 2002: IBM Developer Works, <emphasis>Graphics programming with libtiff: Black and White</emphasis></para></listitem>

<listitem><para>May 2002: Australian Unix User's Group Newsletter (AUUGN), <emphasis>Graphics programming with libtiff: Black and White</emphasis> [reprint]</para></listitem>

<listitem><para>June 2002: IBM Developer Works, <emphasis>Graphics programming with libtiff: gray scale and color images</emphasis></para></listitem>

<listitem><para>March 2003: Australian Unix User's Group Newsletter (AUUGN), <emphasis>Tuning and customizing a linux system (book review)</emphasis></para></listitem>

<listitem><para>July 2003: IBM Developer Works, <emphasis>Graphics from the command line: Flip, size, rotate, and more with ImageMagick</emphasis> (this item was subsequently linked to and discussed on Slashdot, Linux Weekly News, Linux Today, LinuxDevices.com, Linux.com / OSDN, linux.box.sk, and many other sites)</para></listitem>

<listitem><para>August 2003: Linmagau, <emphasis>JPEG to MPEG conversion howto</emphasis></para></listitem>

<listitem><para>October 2003: Australian Unix User's Group Newsletter (AUUGN), <emphasis>Google Hacks (book review)</emphasis></para></listitem>

<listitem><para>October 2003: Australian Unix User's Group Newsletter (AUUGN), <emphasis>Checking C Programs with Lint (book review)</emphasis></para></listitem>

<listitem><para>October 2003: Australian Unix User's Group Newsletter (AUUGN), <emphasis>Essential CVS (book review)</emphasis></para></listitem>

<listitem><para>January 2004: Linux.conf.au Conference Proceedings, <emphasis>Fixing what's wrong with Bind</emphasis></para></listitem>

<listitem><para>March 2004: IBM Developer Works, <emphasis>More graphics from the command line</emphasis></para></listitem>

</itemizedlist>
</sect1>

<sect1><title>Academic employment</title>
<para>
I have held the following academic positions, in addition to my full time career in the IT industry:
</para>

<itemizedlist>
<listitem><para>2002: University of Canberra, Tutor, Distributed Systems Technology: 2 sessions (this is an introductory networking unit revolving around TCP/IP networks and their various protocols)</para></listitem>

<listitem><para>2002: Australian National University, Guest lecturer, COMP 3410: Guest lecturer on Electronic Document Management, August 2002</para></listitem>

<listitem><para>2003: University of Canberra, Tutor, Systems Software: 1 session (this is an Operating Systems unit)</para></listitem>

<listitem><para>2003: Australian National University, Tutor, COMP 2210: 1 session (this is a software design methodology unit)</para></listitem>

<listitem><para>2004: Australian National University, Tutor, COMP 3310: 2 sessions (this is a network programming and design unit)</para></listitem>

</itemizedlist>
</sect1>

<sect1><title>Employment history</title>

<sect2><title>Senior Software Engineer, TOWER Software Engineering Pty Ltd</title>
<para>
August 2001 onward.
</para>

<itemizedlist>
<listitem><para>Member of the team responsible for the server side coding for a world leading Electronic Document Management and Records Management package, TRIM. TRIM is currently deployed at over 1,000 sites world wide, with more than 750,000 licensed users</para></listitem>
<listitem><para>Implemented a wide range of technologies, including document content indexing, ODMA compliance et cetera</para></listitem>
</itemizedlist>
</sect2>

<sect2><title>Team Leader, IPAustralia</title>
<para>
November 1999 to August 2001.
</para>

<itemizedlist>
<listitem><para>Manage a team of developers producing corporate imaging and storage solutions</para></listitem>
<listitem><para>Lead C programmer for the organization</para></listitem>
<listitem><para>Requirements analysis, system design and architecture and implementation for corporate systems</para></listitem>
<listitem><para>Project management of the development portion of selected corporate projects</para></listitem>
<listitem><para>Systems administration of a small number of development machines</para></listitem>
<listitem><para>XML, HTML and SGML work, including coordinating the approach to these markup environments across the company</para></listitem>
</itemizedlist>
</sect2>

<sect2><title>Systems Administrator / Developer, IPAustralia</title>
<para>
March 1999 to November 1999.
</para>

<itemizedlist>
<listitem><para>Systems administrator for FreeBSD, AIX and Solaris systems</para></listitem>
<listitem><para>Developer (C, Java, UNIX shell, and Visual Basic)</para></listitem>
<listitem><para>Supported existing systems in various languages (C, UNIX shell, and Perl)</para></listitem>
<listitem><para>These tasks included a large amount of client liaison work, and systems analysis and design</para></listitem>
</itemizedlist>
</sect2>

<sect2><title>Network Manager, NATSEM, University of Canberra</title>
<para>
April 1998 to March 1999.
</para>

<itemizedlist>
<listitem><para>Systems administrator for Solaris, Linux and Windows NT systems</para></listitem>
<listitem><para>Support for Windows 95 desktop machines</para></listitem>
<listitem><para>Support of various Cisco network hardware and the LAN infrastructure</para></listitem>
</itemizedlist>
</sect2>

<sect2><title>Department of Defense</title>
<para>
July 1998
</para>

<itemizedlist>
<listitem><para>Java development</para></listitem>
</itemizedlist>
</sect2>

<sect2><title>Network Manager, Signadou campus, Australian Catholic University</title>
<para>
February 1998 to June 1998 and August 1997 to November 1997.
</para>

<itemizedlist>
<listitem><para>Systems administrator for Windows NT servers</para></listitem>
<listitem><para>Support of Windows 3.11, 95 and NT desktop clients</para></listitem>
<listitem><para>Manage Cisco and Cabletron network hardware</para></listitem>
</itemizedlist>
</sect2>

<sect2><title>Network Support, Education and Management Faculties, University of Canberra</title>
<para>
August 1997 - April 1998.
</para>

<itemizedlist>
<listitem><para>Systems administrator for Solaris, Macintosh and Windows NT systems</para></listitem>
<listitem><para>Support of Windows 3.11, 95, NT, Macintosh and Linux desktop systems</para></listitem>
<listitem><para>Manage network hardware from various vendors</para></listitem>
</itemizedlist>
</sect2>

<sect2><title>Software Tester, Aspect Computing</title>
<para>
February 1997 to September 1997.
</para>

<itemizedlist>
<listitem><para>Planning and implementation of a testing plan for a large SQL Oracle database with HTML front end including development of test cases, unit, system, acceptance and regression testing and liaison with developers</para></listitem>
</itemizedlist>
</sect2>

<sect2><title>Explainer, Questacon</title>
<para>
August 1995 to July 1998.
</para>

<itemizedlist>
<listitem><para>Explain varied exhibits to customers of widely varied educational, national and ethnic backgrounds</para></listitem>
</itemizedlist>
</sect2>
</sect1>

<sect1><title>Referees</title>
<para>
Douglas Jackson, of 35 Fred Lane Cres, Gordon ACT 2906 Australia has agreed to act as a referee. He may be contacted at doug.jackson@citadel.com.au.
</para>

<para>
Further referees are available upon request.
</para>
</sect1>

</article>
