Curriculum Vitae
Robert Fromont
General Information:
Summary:
Born in New Zealand, I attained a BA in Philosophy at the
University of Auckland and an Advanced Certificate in Business
Computing at Auckland Institute of Technology (both in 1996), and a BSc in
Linguistics at the University of Canterbury (in 2003).
My studies gave me, among other things, a good grounding in:
- computer programming - primarily in C/C++ but also Visual Basic,
Pascal, and functional/logic programming languages)
- a variety of computer operating environments (Windows, Unix, Macintosh)
and tools (Emacs, vi, GUI IDEs)
- formal logic, set theory, relational database systems and
SQL
- the fundamentals of linguistics, including sociolinguistics,
syntax, phonology and the IPA
- the Spanish language.
After graduating in 1996, I took the role of a Software Engineer at an
Auckland-based High-Technology Telephony Software company. Initially maintaining
a Voice-mail/Fax-mail system in C, my role changed to be more project-oriented
(designing, implementing, and testing software components) in the Interactive
Voice Response area of the product. I was mostly involved with the design,
implementation (in C++), and testing of the Call-flow Logic Interpreter
component of the product, and related interface components.
At the beginning of 1998, I moved from Auckland to Christchurch, but
maintained my position, working from home towards completion of subordinate
software components, until the end of the year.
Since the beginning of 1999, I have been working mainly freelance in a number
of areas (maintaining and developing a ticket-booking system implemented in Visual Basic and C#,
implementing a number of web-based applications, including a
java-based Linguistics research tool for the University of Canterbury, maintaining an Internet
Proxy/Gateway product in Visual C++), and pursuing a number of other
activities, including the completion of my studies at the University of Canterbury.
During this time my interest in Internet technology, and in particular Java, has
increased, and I have spent some time developing my skills in this area.
In 2004 I moved to Argentina, but continue to 'telecommute' to New Zealand and other places, while spending my nights in the milongas of Buenos Aires dancing the tango.
Summary of Skills:
Programming:
- Java:
- Extensive professional experience writing Applets, Servlets, tag libraries, and WebStart
applications, using Sun's JDK 1.1 - 1.6, including use of Swing components,
JDBC (MS Access and MySQL), interacting with the Java Media Framework, and the HTK for speech-recoginition training.
- C#:
- Extensive professional object-oriented programming, under Windows XP/NT/2000,Vista, etc.
(including development of web services, SQL Server data access)
- C++:
- Extensive object-oriented programming, both professionally and
academically, under MS-DOS, Unixware(2.1), Solaris, Windows 95/98/ME/NT/2000
(including use of MFC)
- Visual Basic:
- Extensive professional experience, including Object Linking &
Embedding (OLE), Dynamic Data Exchange (DDE), database access (using MS Access
and MS SQL Server), and calling the Windows API, using VB6
- HTML:
- Extensive professional experience, including frames, iframes, tables and
forms, and cross-browser standardisation issues
- JavaScript:
- Extensive professional experience enhancing the interactivity of
HTML documents and performing HTML form validation using client-side scripting
- JSP:
- Extensive professional experience writing Java Server Pages to utilize legacy
Java classes, and implement commercial web-applications.
- PHP:
- Substantial professional experience using this server-side
scripting language to implement various web-based applications, connecting to
MySQL, PostGres and ODBC data sources.
- ASP:
- Some professional experience using Microsoft's VBScript for server-side
scripting to implement an intranet web-based application, connecting to MS SQL
Server, and using embedded ActiveX controls in conjunction with client-side
JavaScript.
- Cold Fusion:
- Some professional experience using Cold Fusion to implement a
web-based Contact Management application.
- SQL:
- Academic experience with Oracle SQL, and extensive professional experience with MS
Access, MS SQL Server 7/2000/2005/2008 (including development of stored procedures, user defined functions, triggers, etc.), and MySQL. Also some Academic exposure to Oracle Forms and DBMS system
commands
- C:
- Extensive programming, both professionally and academically, under MS-DOS,
Unixware (1.1), AIX, Linux
- ELISP:
- Some professional experience writing HTML, Java, and CSS extensions for Emacs.
- Pascal/Object Pascal:
- Extensive academic experience, in the Apple MacIntosh environment, using
ThinkPascal
- Delphi:
- Professional experience with object-oriented programming, on Windows 95/98/ME
- COBOL:
- Academic experience, using IBM's AIX VS compiler in a Unix (AIX)
environment
- DBXL:
- Academic experience, DBase-type database 3GL, under MS-DOS
- Assembly Language:
- Academic experience, using Intel 8086 assembly language, and also VAX VMS
assembly language
- Prolog:
- Academic experience in Logic/Expert-Systems programming, using PD Prolog
under MS-DOS, and SICStus Prolog under UNIX
- Gopher:
- Academic experience with functional programming, under UNIX
- Lex/Yacc:
- Some professional exposure to Lex and Yacc, producing expression parsers
Operating Environments:
- MS-Windows
- versions 3.1, 3.11, 95, 98, ME, NT, 2000, XP, Vista, 7; extensive experience, in both
stand-alone and networked environments
- Mac OSX
- OS X
- UNIX
- Linux, IBM AIX (RS6000), Unixware (1.2 - 2.2), Solaris, plenty of
experience, writing shell scripts, using the file-system, and standard
utilities (grep, sed , vi, etc.)
Software Packages:
- Software Development Environments
- Emacs (Unixware, Solaris, Windows NT, Linux)
Microsoft Visual Studio and MS VS.NET (MS Windows 2000/XP)
and MS Developer Studio
(Windows NT/95/XP/Vista/7)
Borland C (MS
DOS)
Borland JBuilder (3.5)
NuMega SoftIce (3.24)MS InterDev (Windows NT/95)
MS Source Safe (Windows
NT)
CVS (Unixware, Solaris, Linux, Windows)
Rational Rose (4.0)
- Office Automation
- MS-Office version 6, 7, 97, 2000, 2003; Word, Excel, Access, PowerPoint,
Outlook, Visio
Openoffice
Seagate Crystal Reports 7/8/9
Lotus Notes
Academic History:
Advanced Certificate in Business Computing (Auckland Institute of
Technology, 1996) |
|
C/C++/VB Programming, Operating Systems
|
Bachelor of Arts (University of Auckland, 1996) |
|
Philosophy, Computer Science, Psychology, Music
|
Bachelor of Science (University of Canterbury, 2003) |
|
Linguistics, Cognitive Science, Psychology, Mathematics
|
Employment History:
 |
University of Canterbury Linguistics department: Contract Software Developer
Part-time, from June 2003 |
- Contact:
- Jen Hay, +64 3 364 2987 ext 6242 (jen.hay@canterbury.ac.nz)
- Duties include:
-
- Design, development and maintenance of a browser-based Digital
Transcription system to facilitate linguistics research in the
department
(called ONZE
Miner), using java web-start applications, jsp pages, and
servlets on a Jakarta Tomcat/MySQL platform, including security
integration, applet-interaction with 3rd party tools, management
of conversion of audio and other data between different formats,
integration of existing lexical databases (CELEX) to provide
advanced searching capabilities, using HMM Toolkit to train voice
recognition models for time-alignment, and documenting the project
in online help and a journal article.
- Production and maintenance of MS Excel spreadsheets and other tools to aid academic staff
 |
PatronBase (formerly Solution Architects): Head Software Engineer
Part-time, from April 1999 |
- Contact:
- John Caldwell, +64 21 663 731 (john@patronbase.com)
- Duties include:
-
- Maintenance of current software modules (in VB6 and C#, on Windows 95/NT
systems, including the ticketing system PatronBase), including bug-fixing and feature enhancements, as well as porting
from MS Access to MS SQL Server data access and maintaining reporting tools
using Crystal Reports
- Production of install sets (using InstallShield Express and
MS Developer Studio)
- Integration of Javascript and Java technology into Lotus Notes
environment to facilitate web-enablement, and to allow enhanced visual
presentation of data by the addition of graphing applets and development of
a data-collection applet for extracting data from Lotus Notes databases
- Specification, design, implementation, and testing of new tools, software
modules, products, and web applications, using VB6, C#, Java, Cold Fusion, MS Access, MS SQL Server, MySQL
 |
Qbik: Software Developer
Full-time, from September 2000 to June 2001 |
- Contact:
- Nick Egerton, +62 9 308 2500 (nick@qbik.com)
- Duties include:
-
- Development of a good understanding of common internet protocols, from
the fundamentals of IP packet structure, to higher-level protocols such as
FTP, PPTP, HTTP, etc.
- Maintenance of the WinGate engine (Internet proxy server), in C++
- Maintenance of WinGate's GUI configuration and monitoring tool, GateKeeper, in C++ using MFC
- Maintenance of the WinGate Internet Client, a Layered Service Provider DLL for internet connectivity through
WinGate using Qbik's Winsock Redirector Protocol (WRP), in C++
- Maintenance of the WinGate WWW Proxy Authentication Client in Java
- Mainenance of WinGate's Network Address Translator (NAT), in C, using NuMega's SoftIce for network driver
debugging, and Microsoft's Network Monitor for analysis of IP packets
Boulevard Web Systems: Contract Web Application Developer
Part-time, from July 1999 to September 2000 |
- Contact:
- Warwick Schaffer, +64 3 365 6480 (warwick@blvd.co.nz)
- Duties include:
-
- Design, development and maintenance of an internet-based Application
Service Provider platform (netStep) and various application modules (including an
internet-café management system and a point-of-sale/inventory system). This
includes Java Servlets, JSP, and PHP web application development, LDAP
directory design,
maintaining Delphi client applications, and prototyping clients using
Java technology. An XML middle-ware component and a SOAP server have also been developed
for client/server communication.
- Development of web-based internet applications for external clients,
using PHP for server-side scripting, and javascript for client-side
validation
- Development of internet applications internally for Boulevard Web
Systems, including development of a Java applet/application for planning and
project management (using Swing components and JDBC to connect to a MySQL
database)
 |
Omega Technologies: Contract Web Application Developer
Part-time, October 1999 |
- Contact:
- Del Robinson, +64 3 385 3856 (Del@OmegaTech.co.nz)
- Duties include:
-
- Assistance in developing a web-based intranet application for external
clients, including the use of client-side ActiveX components controlled by
client-side JavaScript, and server-side VBScript
- Assistance with development of a Java applet for graphically presenting
data provided by a CGI application
 |
VECommerce (formerly Voice Link): Software
Engineer
Full-time, September 1996 to November 1998 |
- Contact:
- Brett Feldon, +64 9 358 0588 (brett_feldon@vecommerce.com)
- Duties included:
-
- Maintenance of current software modules (in C, on Unixware systems, and
in C++, on Windows systems)
- Production of Software Requirements Specifications (according to IEEE
standard formatting)
- Production of detailed Software Design Documents
- Implementing documented designs, predominently in C++, under Unixware,
Solaris, and Windows NT
- Production of automated Unit Testing suites to test classes and modules
implemented
Referees:
Other Interests:
- Argentine Tango - this intimate dance is the original reason for moving to Argentina. I've been dancing tango since January 2001, and have since found never-ending challenges and delights in its intricacies and subtleties.
- Spanish - stemming initially from my interest in tango, and ultimately from day-to-day necessity, learning to speak Spanish has been at once challenging and fascinating. Reading my favourite author, Jorge Luis Borges, in his native Spanish continues to be an illuminating experience. Some informal and professional translation work keeps me extending my vocabulary and grammar.
- Philosophy - completing my degree in Philosophy has not meant an
end to my interest in it. I have a stack of books to read...
- Artificial Intelligence - I think my interest in AI is what
initially drew me into Computing, and also into Philosophy. My computer is, as yet,
not self aware, but I continue to study and ponder the subject.
- Music - I have played the piano since age 5. During 1995/96, I
played keyboard in a successful Auckland "Ska" band called "The Managers".
Since then I have endeavored to keep my hand tickling ivories on a regular
basis; I enrolled in a part-time Jazz course for 2000, and have played in a
several jazz bands. Learning to play tango is the unsurprising direction I'm now heading.