| Name | Stuart Moorfoot |
| Address | xxx xxx xxx |
| xxx xxx xxx | |
| Country of residence | Australia |
| Date of birth | 8 August 1967 |
| Nationality | Australian |
| Work | 61 3 9827 7084 |
| Fax | - |
| Home | 61 3 9762 8140 |
| Mobile | 61 4 2208 1442 |
| foo@bund.com.au |
| Sun sparc, IPX, Ultra, Enterprise | Intel based PC's |
| IBM RS/6000 | Silicon Graphics IRIS / Indigo |
| Hp 700/60 | DEC 5000/25 and Alpha |
| MacIntosh Quadra, FX & CX | IBM AS400 |
| Solaris | AIX |
| Linux (Fedora Core, Debian) | SunOs |
| Windows Vista/XP/NT/Win9x, | OS/2 2.11 and Warp |
| HP-UX | OSF1 |
| IRIX | Ultrix |
| Apple System 7.1/MacOSX 10.x |
| Java J2EE EJB 2.0 - using Weblogic and JBoss. | Kodo as JDO implementation (standalone and with JCA) |
| Java JDK 1.2, 1.3.x, 1.4.x, 1.5 | Visual Works Smalltalk (2.5.x, 3.0, 5i) |
| Visual Smalltalk Enterprise (3.1) | Digitalk/V Smalltalk 2.09, 3.01 |
| Perl 5 | IBM Smalltalk and Visual Age 3 and 4 |
| Visual Basic | COBOL |
| Clipper | VBScript and JavaScript |
| Interactive SQL | awk, sed, bash/sh |
| Eiffel 2.3, 3.0 | C (gcc, sparc works) |
| Delphi | C++ |
| LISP (Scheme) | Gupta SQL/Windows |
| Ingres 4GL |
| Envy/Developer | RCS |
| CVS/SVN | Team/V |
| PCVS | Perforce |
| TWiki | Ant, Maven, Checkstyle, JUnit |
| Oracle 7.3.x, 8i, 9i, 10g | Sybase 4.9 and 11 |
| DB/2 2 2.0 and DB/2 UDB 400 |
| Enlightenment, Window Maker | CDE, KDE, Afterstep, |
| TWM/VTWM, MWM, FVWM | Windows 3.x/9.x/NT/XP |
| Motif/X11 | Sunview and Open Windows |
| Hp Vue | OS/2 Presentation Manager |
| MacIntosh toolkit |
Contract with CU Poland. Contracted to build an insurance admin system for Commercial Union Poland. This work is a J2EE / JDO implementation using Kodo JDO for persistence and Weblogic for container services such as transactions, security and distributed processing. Much of the work for CU has been focused on build generic components that enable new insurance products to be rapidly deployed to market with minimal development.
Key roles: Architectural and Senior development for swing-based front end and Architectural and senior development for J2EE / JDO solution. J2EE components: Stateless and Stateful session bean facades onto plain java objects for the business model with persistence implemented via Kodo JDO. Weblogic is used as the Application server and I'm quite comfortable with Weblogic Deployment and with using JCA Resource Connectors (for connecting the Kodo JDO environment into the container). The build infrastructure uses ant with Xdoclet for code generation of the local and home interfaces and for the deployment descriptors.
Contract with American International Assurance. Early in 1999, I took a contract position with a team developing an enterprise system for the company, mostly in Java. The development effort in the initial phases of the project focused on providing infrastructure support for components such as distributed transaction management across multiple back-end systems, object to relational database persistence and rapid GUI development frameworks. Most of the work I was responsible for in this phase was communications infrastructure to a Legacy IBM AS400 environment and relational database to object transformation (DB/2 to Java and vice-versa).
In the later stages, the project delivered specific business solutions using the frameworks and infrastructure developed in the earlier phases. These solutions where Illustration Systems, User Management and Policy Administration. The target environments for these solutions have been both an enterprise version for the illustration and Administration systems and a servlet implementation. A standalone version using Instant-DB was implemented for the Illustration system for use by agents in the field. In this phase I dealt mostly with implementing GUI front-end's for the business solutions. This included the Illustration GUI which provided for what-if analysis and was very similar in usability to a spreadsheet. The admin system GUI followed a unique design that required building specific action panels, or data entry panels, for each element that the system allowed to change. Examples include Change Of Gender, Switching Funds and Total Policy Withdrawal
A lot of the work for the Administration system involved retrieving data from and writing data to different systems. These included legacy IBM AS400 environments, smaller Fox Pro and Microsoft Access environments as well as systems using Oracle. The framework developed in the earlier stages was used extensively for these heterogeneous communication requirements. Database access, at the lower level, used JDBC and Caster XML to describe the table structure. Specific implementation objects where then plugged in to provide the vendor specific requirements such as Driver Loading and Connection Management.
In addition to systems development, I also built development support tools that allowed group development to operate seamlessly across the Unix and Windows platforms. This support tools were scripts written in perl, shell, awk and sed and provided services such as ensuring consistency when a developer was working on several source bases at the same time. The Windows versions of the script simply ran under Cygwin.
Position with Applied Financial Services as Senior Systems Designer. Early in 1998, I rejoined Applied Financial Services, which is now merged with TIBCO a financial middleware solutions provider, owned by Reuters. The position involves building interfaces into the Tibco messaging products ETX and RV. Building these interfaces requires adding a distribution layer onto the existing financial product TIB Trader, which is essentially a deal capture and risk management system.
The major focus of the work that I did at AFS was in an architectural role. I designed new and enhanced existing components across the gamut of the system. Some of the more interesting areas include the persistence layer for mapping objects to a relational schema, the deal distribution layer for ensuring that all trader front-ends receive up to date changes in position in a timely manner and the deal load and capture layer which receives deals either from the distribution layer, or from various entry facilities. The deal load and capture layer is interesting in that it provides a uniform load machine for both intra- and end of day processing.
I was also been involved in the design and implementation of a valuation and pricing component for a Data Warehousing system. This essentially requires writing an interface to the SCORE system, extracting deals, valuing them and returning the resultant valued deals.
All of the work done at Tibco/AFS was in Visual Works Smalltalk (2.5.2) with peristence managed by an Oracle (7.3) backend.
Executive with Macquarie Bank Limited, Sydney. At Macquarie Bank, I am part of a large development team implementing a derivatives / options trading and risk management system to the Investment banking arm of the bank. The implementation is in Visual Works 2.0 using Sybase 4.9 as the database and back end. The software itself provides for extensive settlement and risk management and analysis for a range of instruments, however the software is aimed specifically at the options and equity markets. Most of the work I have been doing at Macquarie revolves around extending existing functionality such as providing new types of sensitivity variations on stock or other assets.
Significantly, a large part of the development effort I have been involved in recently has been to design and build a distributed architecture for the deal capture and position update part of the system. The implementation of this design will use CORBA or Technekron's TIB as the distribution mechanism.
Software Engineer and Applications Architect with Applied Financial Services. I was employed with a Melbourne based software development company whose primary focus was within the treasury environment. At AFS I worked within a large team developing treasury software for international clients. The development platform was SunOS (UNIX) and Windows NT using the Parcplace-Digitalk implementation of Smalltalk (Visual Works 2.5.1). The project process model followed the Rumbaugh et. al. methodology and used UML as the modelling language. The software itself was architected around a client server design. The client portion implemented the treasury function and behavior of deal and FX capture for instruments such as swaps, bills, bonds, FRAs and Futures, amongst others and provided real-time global position and forward revaluation to traders.
Object persistence was maintained by several server processes that flattened objects and stored them within a relational DBMS (implemented using Oracle 7.3). The main focus of my work at AFS centered around two distinct categories. The first was a business applications category, and within this, I was part of team building a parsing and deal importation engine that facilitated deal conversion (for a wide range of instruments) between existing platforms on client databases and the AFS treasury environment.
The second category of development I worked on was a lower level one. This involved developing several server components using a 7 layer OSI model and the ANSI-Sparc three schema architecture. One of these server components handled distributed deal transactions from front-end clients and guaranteed DBMS writes, thereby freeing client application from ensuring database integrity. The responsibility for transaction management commit and rollback was left to the server. Simply stated, this server was a database writer that, for any given client, stored a cache of messages (representing transactions). The server process attempted to write the transaction onto the database and signaled all attached front-ends in the event of a successful write. This allowed real-time position updates for all currently active front-end clients. In the event of an unsuccessful write, the database writer continuously retried outstanding transactions until either they were canceled by an administration activity or they succeeded.
In the last months of my employment at AFS I developed a new server application to manage rate and network configuration. This is a system management activity and allowed administrators to remotely query the status of the network for attached, blocked and connectable front-ends. This provided centralized management of the trading environment and can be used for a variety of functions, such as disconnecting and reconnecting remote front-end applications, launching a client front-end remotely or querying current deal transactions for any or all running applications.
Footprint Software, contracted as a Senior Designer with Standard Charted Bank. During most of 1995 and 1996 I was employed as part of a contract team on a high exposure object oriented retail banking project, based in Hong Kong. The focus of the project was retail banking, specifically within a Branch Sales environment. The implementation was designed to replace the Banks existing 3270 environment, in a three phase implementation. The project was implemented using Digitalk/V Smalltalk with Team/V to manage group development.
Within the project, I worked mostly in a technical and architectural role. This involved providing services such as communication between the Bank's existing back end host platform and the front-end client applications. To provide this, we developed a set of services around an SLI interface to CM/2. In all, these services allowed business applications, such as an Account Opening or Query service to send authenticated transactions to the back end (which in this case was an MVS environment).
In addition to communications, I was also heavily involved in extending and maintaining the architectural business model that was the core of the application itself. The implementation of the business model was done using a specialized framework using the concepts of Rumbaugh et al. (1991) very closely. The product supported concepts of abstraction such as Entity, association, aggregation, classification and generalization within a Smalltalk environment.
Also related to modelling, I was also entirely responsible for object persistence. To provide this, a persistence architecture and a query engine was constructed which allowed any set of connected entities to be persistent (and thus shared, over time). Objects could be inserted into the RDBMS and retrieved at a later date, with their connections to other objects and their state intact. In addition, the architecture provided for object identification using surrogate keys (generated automatically), DBMS garbage collection and optimistic entity level locking. These services very nearly constitute and Object database, except they were implemented in an RDBMS.
Software Engineer in Santa Barbara, California with Interactive Software Engineering, working under Dr. Bertrand Meyer. Interactive Software are the originating authors and developers of the Eiffel programming environment. Much of the focus of my work there was to enhance and extend the Eiffel tool set. Primarily, I worked on developing EiffelBuild, a visual programming interface and application generator and, one of the core tools of the Eiffel suite. The environment used for development was heavily centered around UNIX and the Motif/X11 toolkit. Consequently, I had exposure to many different variants of UNIX, as Eiffel was ported to most of the major UNIX platforms.
ISE had a fairly large thin Ethernet UNIX TCP/IP network and Internet gateway. As a part-time role, I was responsible for network and system administration.
Consulting Analyst with Ernst and Young Consulting. At Ernst and Young, I worked on two projects, the first, with Coles-Myer, involved implementing data conversion programs (in C++ ) for a host-to-client server migration project. The second, larger project, with the Department of Transport and Communications (DOTC), required optimizing embedded SQL queries within an existing application. This involved evaluating and rewriting the queries in canonical form.
Research Assistant within the Department of Information Systems at Monash University. My research activities were mostly centered around object orientation. Most significantly, I was employed by the research group to implement their real-time telemetry simulation using Smalltalk/V on a MacIntosh Quadra. In addition to research assistant, I was also a sessional tutor teaching Object Oriented Analysis to 3rd year students and C programming to 2nd year students.
Monash University, Bachelor of Computer Science, Faculty of Computing (1990 to 1992). Computer Science, Honours with the Department of Information Systems, Faculty of Computing (1993).
Accounting and Clerical Assistant with Arjenta Travel. I was responsible for both accounts receivable and payable. This included producing trial balance for the accounts and bank reconciliation. During my employment at Arjenta, I implemented their accounting model using Clipper. This automated their previously manual recording system.
1993: Completed the honours (pre-doctoral) year of the Bachelor of Computing with 1st Class Honours at Monash University.
1990-1992: Completed the bachelor of Computing with a Distinction average, at Monash University, within the Faculty of Computing.
Honours Thesis: A Critical Analysis of Object Modelling Technique and Conceptual Systems Design.
Both work and character references can be supplied.