Resume of
Greg McFarlane
Email:
gregm@iname.com
January 1997
Experience summary
- Education
- B.Sc (Sydney University 1978)
- Years in software industry
- 16
- Positions held
- Software developer, R&D researcher, University tutor in computer science.
- Processors
- Sparcs, Apollo, NCD, Pyramid, Vax, NEC PC98, IBM PC
- Operating systems
- Unix (Solaris, SunOS, Domain, Xenix, Interactive, SCO), MS DOS
- Languages
- C, C++, python, perl, sh, awk, tcl, itcl, Pascal,
Fortran, 8086 assembler
- Tools
- imake, make, RCS, SCCS, cvs, vi, sed, FrameMaker, TeX, troff, pic, tbl
- Communications
- BSD sockets, TCP/IP, Sun RPCs, ISDN
- Graphics
- Xlib, Athena widgets, Motif, InterViews, Andrew Toolkit, Xview,
DevGuide, Parallax Xvideo, XDesigner, DataViews, Tk, Python/Tk
- Databases
- Oracle
Experience
- Contract software developer
International Network Management Systems, Telstra, Sydney
-
July 1993 to present
Developing graphical network management systems for use by the Network
Operations Section. Used a number of external tools such the OSE C++
class libary, XDesigner, DataViews, Tcl/Tk, [incr Tcl], the AudioFile
System and Python. Also used in-house systems such as a C++ templated class
library and an agent-based publish and subscribe messaging system.
Responsible for:
- Implementing a new version of the messaging system debugging
tool.
- Working on several graphical network management systems for fax,
satellite, switching and SDH transmission networks.
- Developing configurable applications to display graphs of historical data.
- Creating several agents for the messaging system, such as an
audio alarm agent and an agent for mirroring other agent's messages.
- Making enhancements to existing systems.
- Writing system documentation for existing applications and
libraries.
- Writing extensions to Tcl to access the messaging system and
embed DataViews views in Tk widgets.
- Managing the configuration and building of Tcl and its
extensions.
- Managing the Tcl development environment.
- Creating a class library of widgets using the [incr Tcl] language.
- Being involved in the decision to move from Tcl to
python for new deveopment.
- Being part of a team developing a python megawidget library.
- Developing several graphical network management applications in python.
- Developing python interfaces to the Oracle database.
- Being involved in the implementation and release of a major systems
upgrade to all INMS operational software, including the development of
a distributed process management tool for use when maintaining the
system and also during failover.
- R&D contractor
Multimedia Communications Group, OTC R&D, Sydney
-
July 1990 to June 1993
Researching Broadband networks and the services and applications that
can benefit from the higher bandwidths provided by them, such as
computer supported collaborative work and desktop video-conferencing.
Responsible for:
- Designing and implementing an X application-sharing system with
conference control and X protocol multiplexing.
- Designing and implementing an X event record and playback tool
and an interactive X protocol monitor for testing and debugging X
applications.
- Building and maintaining an analogue multimedia network,
including the design and implementation of a name server and
connection server.
- The specification and project management of an external research
project to develop a film and video collaborative pre-production
system over ISDN.
- Enhancing and maintaining a LAN-based multi-point desktop video
conferencing system.
- Designing and implementing a video-in-a-window application using
video overlay.
- Creating and presenting multimedia computer supported
collaborative work demonstrations at exhibitions, conferences, trade
shows, launches and OTC customer centre.
- Giving advice on X and C to other sections within R&D.
- Software developer
Expert Solutions Australia, Sydney
-
April 1989 to June 1990
Working with a software development team on graphical applications for
external clients. Responsible for:
- Creating the functional specification and designing and
implementing the graphical modules of an interactive graphical
interface to an aircraft scheduling system.
- Creating rapid prototypes of the scheduling system for early
evaluation by the customer.
- Managing the project's source code management environment.
- Implementing the graphics modules of an interactive train
monitoring system.
- Software developer
ASCII Corporation, Tokyo, Japan
-
April 1985 to November 1988
Working with the System Development Unit. Responsible for:
- Porting the X11R2 X Window System server to MSDOS for NEC PC98,
NEC XL2 and IBM AT machines with EGA graphics, using cross-development
from Unix platfrom.
- Implementing a number of demonstration clients such as a kanji
troff previewer and a plot(1) interface to X.
- Working with GSS in Oregon, USA to port the X11 server to 386
machines running Xenix.
- Implementing a controller for the Canon LBP20 laser printer
running on an NEC PC98 using bit mapped memory and troff, TeX or kanji
fonts.
- Developing lpr filters for the controller, including plain ascii,
troff, plot, GKS and sun screen dump.
- Developing related software including a troff previewer for NEC
PC98 using ROM kanji fonts or font files and a system to incorporate
GKS/SPP graphics into troff text.
- Converting a number of programs to handle 2-byte Japanese
characters, including Metafont, GKS, troff text formatter and bibtex
and its style files.
- Technical rewriting of documents from Japanese into English.
- Computer Science tutor
Department of Computer Science, Sydney University
-
June 1980 to December 1984
Responsible for:
- Tutoring in a full range of courses over all years, including
Programming (Pascal, Fortran, PDP-11 Assembler), Numerical Methods,
Digital Machinery, Graphics and Image Processing, Languages and
Translators.
- Preparing course material, student notes, CAI program scripts and
software.
- Research included the development of a computer animation system
running on an Imlac vector graphics display and recording on 16mm
film.
Pubications
- McFarlane, G., "Xmux - a system for computer supported
collaborative work", Proc. 1st Australian Multimedia Communications,
Applications and Technology Workshop, OTC, Sydney, 1991
- McFarlane, G. and Beadle, P., "Distributed Applications and the
X Window System", submitted to Journal of Software Practice and
Experience, 1992
- Beadle H.W.P., Judge, J., McFarlane, G., and Hayes, L.M., "The
human side of multimedia telecommunications", Proc. 2nd Australian
Multimedia Communications, Applications and Technology Workshop,
Melbourne, 1992
- Beadle H.W.P., Judge, J., McFarlane, G., and Hayes, L.M.,
"Desktop teleconferencing for broadband networks", Proc. 2nd
Australian Multimedia Communications, Applications and Technology
Workshop, Melbourne, 1992
- Beadle H.W.P., Judge, J., McFarlane, G., "Enabling software
technologies for multimedia telecommunications", Proc. 2nd Australian
Conference on Telecommunications Software, Wollongong, 1993
- Chandler, A., Gidney, E. and McFarlane, G., "Computer supported
collaborative work for film pre-production", Proc. 3rd Australian
Multimedia Communications, Applications and Technology Workshop,
University of Wollongong, 1993
Professional courses
- 1992
-
"World Class Software Technologies for the 1990s", Edward Yourdon, 2 days
- 1989
- "Object Oriented Programming in C++", Mike Mowbray, 2 days
Other work
Other work has included a University Textbook Representative for Pergamon
Press Australia, a contractor working on a personnel database in Pascal on
Apple II, a camera operator with Sydney University TV Service and a taxi
driver.
Other qualifications
Royal Society of Arts Preparatory Course in Teaching English as a Foreign
Language. Can speak intermediate Japanese.
Other interests
Filmmaking, cinema, politics, cycling, hiking, Japan