Curriculum Vitae
Robert Fromont

Date of Birth: 26 September 1972

Summary:

I am an open source, full stack developer with years professional experience, working primarily with Java and web technologies, and specializing in natural language processing (NLP) and speech technology.

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 theoretic grounding in logic and computer science, the practicalities of software development in a variety of paradigms and languages, and a broad understanding of linguistics, including sociolinguistics, syntax, phonology, and speech processing.

I have more than two decades of professional experience working in various roles and using a variety of technologies. Starting as a C/C++ programmer in the telephony and internet connectivity industries, I've also had roles managing the development and architecure of 'traditional' RDBMS based client/server systems using VB6, C#, and SQL Server, as well as web development with MySQL, PHP, JSP, and Node, culminating the sole-charge development of a Java-based open source linguistics research tool, called LaBB-CAT, for the University of Canterbury, which has also been adopted in a number of other academic and industry settings internationally.

Having many years of experience in software design, implementation, and testing, relational database design, data and infrastructure migration, front-end user-experience design, web-based APIs and apps, and cross-platform mobile app development and deployment, I have often been entrusted with end-to-end management of software projects.

Working in both academic and commercial environments has required me to develop a range of communication skills, allowing me to interact effectively, both face-to-face and in writing, with principal investigators and founders in order to act as a bridge between research needs and technological possibilities, and also develop and present training materials for research assistants and operators. My experience with clinical speech elicitation apps has also required a deep empathy for one-time study participants who have little prior knowledge of what's required of them, in order to develop a user experience that is self-explanatory and maximally usable by participants who may have only superficial experience with using mobile and web-based technology, and who may have impairments that might otherwise make participation difficult.

I have also published a number of academic articles, and presented at conferences, in the field of Corpus Linguistics and Speech/Language technology.

I've lived in Buenos Aires, Argentina since 2004, where I have been working remotely for years.

Summary of Skills:

Programming:

Java
years experience, including the following technologies:
  • Servlets
  • Java Server Pages (JSP)
  • JSP Standard Tag Library (JSTL) and Expression Language (EL)
  • custom tag libraries
  • Applets
  • WebStart and standalone applications
  • Java Database Connectivity (JDBC)
  • Java Media Framework (JMF)
  • Play Framework
  • ANTLR for domain-specific-language grammar implementation
Web Technologies
years experience with client- and server-side coding of websites and web applications, including the following technologies;
  • HTML5
  • CSS3, including responsive web design, flex, and keyframes
  • JavaScript, including DOM API
  • JQuery, including JQueryUI and JQueryMobile
  • AJAX
  • JSON
  • React
  • Appcelerator Titanium
  • Apache Cordova
  • NodeJS with Express/Handlebars
SQL
years experience including development of stored procedures, user defined functions, triggers, etc.), using the following DBMS's:
  • MySQL
  • MS SQL Server 7/2000/2005/2008
  • MS Access
R
Some professional exposure integrating with R programs and authoring an R package.
Python
Some professional experience using Python-based NLP tools and integrating Jython with Java-based systems.
C#
15 years object-oriented programming, under Windows XP/NT/2000,Vista, 7, etc. (including development of web services, SQL Server data access)
C++
3 years experience under MS-DOS, Unixware(2.1), Solaris, Windows 95/98/ME/NT/2000
Objective C
Some experience under developing iOS plugins for Apache Cordova applications.
Visual Basic
15 years experience, including Object Linking & Embedding (OLE), Dynamic Data Exchange (DDE), database access (using MS Access and MS SQL Server), calling the Windows API, and integration with .NET applications, using VB6
PHP
Some professional experience using this server-side scripting language to implement various web-based applications, connecting to MySQL, PostGreSQL and ODBC data sources.
C
2 years experience, under MS-DOS, Unixware (1.1), AIX, Linux
ELISP
Some experience writing 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 - 18.04), Amazon Linux, plenty of experience, writing shell scripts, using the file-system, and standard utilities (grep, sed, vi, etc.)

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

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

Linguistics

Employment History:

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 LaBB-CAT, a multimodal language annotation store and corpus management system, for storage and manipulation of speech and language data to facilitate a wide variety of research projects. The system supports integration with commonly used 3rd-party tools used by researchers in this field, facilitating corpus-building using existing and new data, and extraction for processing, analysis, and visualization. It also facilitates automatic annotation of large amounts of data en-masse, reducing drudgery and increasing the rapidity with which research outcomes can be reached.

    The system enables language research at a speed, scale, and accessibility that was previously impossible in this domain, and has been adopted in a number of research institutions including:

    • the NZILBB at the University of Canterbury (Jennifer Hay, Margaret Maclagan, Jeanette King, Kevin Watson, Lynn Clark, Megan McAuliffe),
    • the Glasgow University Laboratory of Phonetics (Jane Stuart-Smith),
    • Arizona State University (Visar Berisha, Julie Liss),
    • ZAS Berlin (Stefanie Jannedy),
    • University of Hawaiʻi at Mānoa (Katie Drager),
    • Adam Mickiewicz University in Poznań (Kamil Kaźmierski),
    • Medical University of South Carolina (Boyd Davis, Charlene Pope),
    • University of Oxford (Sarah Ogilvie),
    • Griffith University (Gerry Docherty), and
    • Australian National University (Ksenia Gnevsheva).

    This work includes:

    • HTML5/CSS3/JavaScript browser-based user interface design
    • 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,
    • development of integration APIs for JavaScript and R,
    • presentations and training courses/materials,
    • documenting the project in online help, journal articles and conference presentationas.
  • Design, development and maintenance of open-source mobile apps for eliciting speech samples for direct upload to LaBB-CAT, for Android, iOS, and browsers. It presents participants with a series of screens that ask questions, present texts to read, or textual/visual stimuli for eliciting spontaneous speech, records their answers and speech, and uploads the resulting data to LaBB-CAT.

    The app has been used in a number of research projects, including the development of a corpus of dysarthric speech, a migraine-diary study, and gathering speech and attitude data from the trans community.

  • Production and maintenance of Excel spreadsheets, editor plugins, and other tools to aid academic staff and research assistants.
  • User support for academic staff, collaborators, post-docs, and research assistants.
  • Server administration and maintenance, including software installation and upgrade, data and web-app migration, administration of GitLab repositories, and facilitation of the provisioning of computing and storage resources.

Aural Analytics

Senior Software Engineer
Part-time, December 2016 to September 2019
Contact
Doctor Visar Berisha, visar@auralanalytics.com
Duties include
  • Development, maintenance, and deployment of speech corpus back end, including integration with proprietary annotation software.
  • Design, development, and maintenance of speech data collection and annotation mobile apps, including 2017 Scrip Award winning app 'SpeechAssess'.
  • Microservices infrastructure design and development using Amazon Web Services (AWS) technologies.

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), from UX through to backend database design, 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 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

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

Publications:

Public Code Repositories

Referees:

Other Interests: