Curriculum Vitae
Robert Fromont

General Information:

Date of Birth: 26 September 1972
E-mail: robert@fromont.net.nz

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), a BSc in Linguistics at the University of Canterbury (in 2003), and a BA(Hons) in Linguistics at the University of Canterbury (in 2013).

My studies gave me, among other things, a good grounding in:

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 various software components, until the end of the year.

Since the beginning of 1999, I have been working in a number of areas, including the development of a java-based Linguistics research tool for the University of Canterbury, maintaining and developing a ticket-booking system implemented in Visual Basic and C#, maintaining an Internet Proxy/Gateway product in Visual C++, and implementing a number of web-based applications. I have also been pursuing a number of other activities, including further study at the University of Canterbury. During this time my interest in Internet technology, and in particular Java, has increased, as has my interest in Machine Learning, Natural Language Processing, and Computational Linguistics, and I have spent some time developing my skills in these areas.

In 2004 I moved to Argentina to spend my nights in the milongas of Buenos Aires dancing the tango. I continue to 'telecommute' to New Zealand and other places, while spending my spare time with my young family in Buenos Aires.

Summary of Skills:

Programming:

Java:
Extensive professional experience writing Applets, Servlets, JSP, 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-recognition training.
HTML:
Extensive professional experience, including cross-browser standardisation issues and HTML5/CSS3
JavaScript:
Extensive professional experience enhancing the interactivity of HTML documents and performing HTML form validation using client-side scripting, jquery, AJAX, JSON serialization, etc. and developing mobile apps using Appcelerator Titanium and Apache Cordova
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.
Python:
Some professional experience using python-based NLP tools and integrating Jython with Java-based systems.
C#:
Extensive professional object-oriented programming, under Windows XP/NT/2000,Vista, 7, 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
PHP:
Substantial professional experience using this server-side scripting language to implement various web-based applications, connecting to MySQL, PostGres and ODBC data sources.
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.

Operating Environments:

Microsoft Windows
3.1, 3.11, 95, 98, ME, NT, 2000, XP, Vista, 7, 10
Macintosh OS X
10.8, 10.9, 10.12
UNIX
Ubuntu Linux (12.04, 14.04, 16.04), Amazon 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.)

Academic History:

AIT Logo

Advanced Certificate in Business Computing (Auckland Institute of Technology, 1996)

C/C++/VB Programming, Operating Systems
University of Auckland Coat of Arms

Bachelor of Arts (University of Auckland, 1996)

Philosophy, Computer Science, Psychology, Music
University of Canterbury Coat of Arms

Bachelor of Science (University of Canterbury, 2003)

Linguistics, Cognitive Science, Psychology, Mathematics
University of Canterbury Coat of Arms

Bachelor of Arts with First Class Honours (University of Canterbury, 2014)

Linguistics

Employment History:

NZILBB logo

New Zealand Institute of Language, Brain and Behaviour (NZILBB), University of Canterbury:
Software Programmer

Part-time, since June 2003

Contact:
Professor Jennifer Hay, +64 3 364 2987 ext 6242 (jen.hay@canterbury.ac.nz)
Duties include:
  • Design, development and maintenance of an open-source, browser-based Linguistic Corpus Annotation system to facilitate linguistics research (called LaBB-CAT), using java web-start applications, jsp pages, and servlets on a Tomcat/MySQL platform, including
    • media handling using Java APIs and HTML5 elements,
    • automatic annotation modules, including integration of existing lexical databases (CELEX, Unisyn, CMU Dict) to provide advanced searching capabilities,
    • machine learning modules, such as using HMM Toolkit (HTK) to train voice recognition models for time-alignment,
    • security integration,
    • server-side and client-side integration with 3rd party tools, using web-based APIs, Java applets and browser extensions
    • management of conversion of audio and other data between different formats,
    • presentations and training courses/materials,
    • documenting the project in online help, a journal articles and a conference presentation.
  • Design, development and maintenance of open-source mobile apps for eliciting speech samples for direct uplooad to LaBB-CAT, for Android, iOS, and browsers.
  • Production and maintenance of MS Excel spreadsheets and other tools to aid academic staff
PatronBase Logo

PatronBase (formerly Solution Architects):
Chief Software Architect

Part-time, from April 1999 to September 2014

Contact:
John Caldwell, +64 21 663 731 (john@patronbase.com)
Duties included:
  • Maintenance of current software modules (in VB6 and C#, on Windows 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 Logo

Qbik:
Software Developer

Full-time, from September 2000 to June 2001

Contact:
Nick Egerton, +62 9 308 2500 (nick@qbik.com)
Duties included:
  • 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 included:
  • 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 Logo

Omega Technologies:
Contract Web Application Developer

Part-time, October 1999

Contact:
Del Robinson, +64 3 385 3856 (Del@OmegaTech.co.nz)
Duties included:
  • 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
Voice Link Logo

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

Publications:

Robert Fromont & Jennifer Hay (2008) ONZE Miner: the development of a browser-based research tool, Corpora. Volume 3, Pages 173 – 193 DOI 10.3366/E1749503208000142, ISSN 1749-5032, Available Online Nov 2008.

Robert Fromont & Jennifer Hay (2012) LaBB-CAT: an Annotation Store, in Proceedings of Australasian Language Technology Association Workshop, pages 113 – 117

Robert Fromont & Kevin Watson (2017) Factors influencing automatic segmental alignment of sociophonetic corpora, Corpora. Volume 11 Issue 3, Pages 401 – 431 DOI: http://dx.doi.org/10.3366/cor.2016.0101, ISSN 1749-5032, Available Online January 2017.

Robert Fromont (2017) Toward a format-neutral annotation store, Computer Speech & Language. DOI: http://dx.doi.org/10.1016/j.csl.2017.01.004, Available online 9 February 2017.

Referees:

Other Interests: