Home phone: 02-6727049
Mobile phone: 054-5460079
Email: smontagu@smontagu.org

Technical skills Software internationalization (i18n)
Unicode
Character encodings and UTF
Bidi and CTL
C/C++
Java
HTML
Javascript
Web standards
Unix
Education BA Oriental Studies (Hebrew, Arabic and Aramaic), Oxford University

Professional experience

2006-2015

Mozilla Corporation

Senior Software Engineer

Responsible for Unicode support and international text layout in the Firefox browser.
  • Implemented new bidi features in HTML5 - bdi, dir="auto"
  • Implemented many CSS text features - :dir selector, text-align: match-parent, text-align-last, etc.
  • Implemented display algorithm for International Domain Names
  • Worked on vertical text support
  • Improved character encoding performance and security
  • Improved the user interface for right-to-left languages
  • Fixed hundreds of internationalization bugs in Mozilla Firefox and Thunderbird

2004-2005

IBM, Israel

Senior Software Engineer

Responsible for assessment and enhancement of Hebrew support in various IBM products.
  • Planned and implemented a port from C to Java of the Bidi implementation in ICU (IBM's International Components for Unicode).
  • Identified Bidi issues in Eclipse 3.1 and proposed solutions for implementation of right-to-left widgets for GTK.
  • Investigated level of Bidi support in SWT under Windows CE on mobile devices.
  • Assessed the Bidi support in Rational Application Developer and Rational Application Developer for Z series.

2001-2003

Netscape Communications Corporation (AOL), Mountain View, CA

Senior Software Engineer

Developer of international text layout features
  • Assessed AOL project requirement and architecture documents from the international point of view, giving feedback on both the technical level (e.g. problems of data integrity and encoding conversions) and the cultural level (e.g. issues with the different format of dates in the US and Europe).
  • Created localizable and customizable version of the Talkback error-tracking tool. Designed and implemented a technique for runtime loading of localized UI strings from a plain-text configuration file. Handled issues arising from different configuration of UI fonts in different systems.
  • Analysed performance of Mozilla layout code with Rational Quantify and found solutions to performance bottlenecks.
  • Provided consultation to the open-source community of contributors to Mozilla on internationalization issues.

1998-2001

IBM Global Services Israel

Software Engineer

Worked on right-to-left support for IBM and external projects.
  • Added Right-to-left UI capability to Windows applications.
    A client who was developing localized Hebrew versions of English applications for the Israel market required the user interface to be adapted for right-to-left layout, without access to the original source code. Developed a layer between the application and the system libraries which converted the screen coordinates and other parameters and flipped the direction of the interface elements on the fly.
  • Bidirectional ActiveX text control.
    As part of a client-server project for the HR department of Intel's new facility in Israel, text entry in Hebrew was required for use in Visual Basic applications, which was not supported in the text box widget of the version of Visual Basic available at that time. Designed and implemented an editing control with support for mixed left-to-right and right-to-left text.
  • Implemented the Bidi (Hebrew and Arabic support) for Netscape 4.x and Mozilla in a joint project with IBM Egypt.
    Learned the Mozilla layout engine and added support for right-to-left document layout and reordering of bidirectional text, even on platforms without native Bidi support. Drove the integration of the code through the mozilla.org review process and into the source tree. See my paper "The Story of Bidi Mozilla" from the 22nd Unicode Conference, San Jose, September 2002.

1984-1998

Computer 72, Jerusalem, Israel

Software engineer

Developed and provided customer support for most of the company's packages, especially in the field of accounting software for personal computers and Novell networks.
  • Adapted the company's MS-DOS book-keeping and stock-control packages for Windows. Built a new UI based on Windows 3.11 SDK around the existing business logic in COBOL. Solved issues arising from replacing the linear application process under MS-DOS with a more flexible and modular UI.
  • Lecturers' fees for the National Transport Institute. The system, working in a multi-user environment, included input of hours, preparation of monthly pay statements including deductions, automatic file export to central bank clearing to credit the lecturers' accounts and all the necessary reports, including income tax, national insurance and statistical reports allowing detailed analysis of work and costs.
  • Screen generator and handler. Developed a suite of utilities, written entirely in 8086 assembler, providing functions to display and entry data in a windowed environment under MS-DOS for COBOL programs.
  • Hebrew University Diplomas. Designed an implemented a system for the BBC Master computer which included definition of calligraphic Hebrew fonts, design of blank diploma forms including graphics and merging names of graduates from an external file in IBM format, and printing the diplomas on a laser printer.
  • Connect. A supplementary package for an existing CAD program. The project included screen and menu design and the development of special interfaces in Assembler to read and write .DBF files, handle mouse input and access DOS functions from COBOL programs.