Curriculum Vitae

2007

Overview
Ofer Faigon

Consultant, Sr. Software Architect

skype: ofer_faigon

Born: 1959


Formal Education
M.Sc. cum laude in Computer Science, Hebrew University, Jerusalem, Israel.
B.Sc. cum laude in Computer Science, Hebrew University, Jerusalem, Israel.
Professional Experience
2005-2011 TimeBridge Ltd. (Personal Scheduling Manager)
Software Architect
  • Participation in the design of the system and selecting core technologies.
  • Design and development of a 70kloc server in Python.
  • Design and development of numerous support tools.
  • System administration of a network of Linux servers.
Environments: Linux, Windows.
Languages: Python, BASH shell script, SQL, PHP.
Technologies: SOAP, Apache, MySQL, mod_python, Postfix, Shorewall, SSH.




2002-2005 Independent Consultant

Various projects, including:

  • Designed and implemented a demo web based video viewing and encoding service.
  • Image super resolution algorithms.
  • Designed a web based system for scanning and uploading images.
  • Installed and administered a small LAN consisting of several Windows and Linux machines.
  • Built several web sites, complete with graphic design, GUI design, programming and maintenance tools.
  • Designed a microcontroller-based device and developed DSP algorithms for it.
  • Designed and implemented an advanced GUI IRC client.
  • Trivia: I was the first to solve pythonchallenge.com (all levels). I also contributed a few more difficult levels. Seriously, it was fun.
Environments: Windows, Linux.
Languages: C++, C, Javascript, Python, PHP, OpenScript, Ruby.
Technologies: GTK+, wxWindows, TCP/IP, Samba, Postfix, Shorewall, Apache, DHTML, Javascript, CSS, streaming media, Flash...




2000-2001 Proficiency (collaboration infrastructure for mechanical CAD systems).
Chief Architect
  • Consulted and solved problems in a complex environment (C++, NT 4.0, Solaris).
  • Participated in designing and implementing the infrastructure for a CAD system (C++, STL).
  • Designed and implemented a user emulation system for X-Windows and MS-Windows, and authored the user's manual for it (C, C++, Tcl, X-Windows, MS-Windows, XMLRPC, HTML).
  • Web based GUI for the main company product (HTML, DHTML, Javascript, CSS, NS4+IE4, JSP, Java, servlets, J2EE, SQL, WebSphere application server).
  • Debugging tools (C++, asm, low-level kernel/compiler/linker/loader calls in Solaris and MS-Windows, ELF).
  • Established de-facto documentation and coding standards.
Environments: NT 4.0, Windows 2000, Solaris, other Unix flavors.
Languages: C++, Java, C, Javascript, HTML, CSS, XML, Tcl, Python, bash.
Technologies: J2EE, JSP, SQL, STL, X-Windows core protocol, XLib, DHTML, TCP/IP, ELF...




1993-1999 BRM (Technically-oriented Venture Capitalist specializing in Internet related startups).
Sr. Software Architect
  • Consulted to Checkpoint LTD. on UI issues.
  • Norton Enterprise Backup (C, Novell+DOS, IPX/SPX, TLI):
    Participated in the architecture design.
    Designed and implemented an object oriented database with event notifications and a communication layer for coordinating the distributed work of multiple UIs, backup devices and central control in a distributed system spanning several operating systems.
  • Enterprise Fax Server.
  • BackWeb (C++, MS-Windows, COM): Participated in the design from the very beginning. Co-authored the Polite Agent patent. Invented and implemented the infoFlash technology. Designed a communication protocol over UDP for the reliable distribution of large amounts of data over intermittent connections.
  • ProSight (DHTML, JavaScript, ASP, MS-Windows): Designed the basic architecture of the whole product - a project portfolio management system with automated information collection. Designed the basic architecture of the DHTML UI. Designed and implemented several widgets in ASP/JavaScript/DHTML.
Environments: MS-DOS, MS-Windows, Novell NetWare.
Languages: C, C++.
Technologies: IPX/SPX, TLI, TCP/IP.




1993 Freelance
  • A modem device driver and documentation, whose source code was published by National Semiconductor as a working example for driver and application developers.
Environments: MS-DOS.
Languages: C.
Technologies: Serial line device driver.




1988-1992 Rosh Intelligent Systems (Expert system for field engineers)
Software Architect
  • Consulted and was involved in most of the development activities.
  • Numerous prototypes and infrastructure modules.
  • Graphical editor for the knowledge base.
  • Unix-PC communications, remote execution infrastructure for mixed environment compilations.
  • Expert system user interface.
  • Computer-based training authoring system: design, implementation, documentation, customer training, customer relations.
  • Translator between two Prolog implementations for porting a large application.
Environments: MS-DOS, MS-Windows/MFC, Apollo Unix workstations.
Languages: C, C++, OpenScript, Prolog.
Technologies: ToolBook, Guide, Actor, dBase.




1985-1987 Clarity (CAD system for VLSI design)
Senior Software Architect
  • Infrastructure and user interface for a large CAD system for VLSI design, sticks graphical editor, geometric algorithms.
  • A Pascal to C translator that was better than the available commercial products.
Environments: Apollo Unix workstations.
Languages: Pascal, C.
Technologies: Lex + YACC.




1982-1984 A&CA (CAD system for architects)
Programmer
  • 3D solid modeller with hidden line removal, body intersection operations, etc.
  • Hidden surface removal module for a new IBM Graphic Terminal.
Environments: IBM 370, VM/CMS.
Languages: Fortran, APL, Asm/370, IBM Graphic Terminal language.
Technologies:




1977-1982 Israel Defence Forces
Programmer
  • Set up methodologies and standards in coding, documentation and design, which remained in effect for over 15 years.
  • Infrastructure design and implementation
  • Designed and implemented a CLIB-like library in IBM370 Asm and Fortran IV for Fortran IV applications.
  • Designed and implemented a communication-optimizing 3270 terminal driver.
  • Set standards and guidelines for UI design.
  • Designed and implemented a configurable, extendible and scriptable mini relational database application which remained in service for over 20 years.
  • Designed a UI macro language and developed an interpreter for it.
  • Numerous applications, infrastructures and user interfaces.
Environments: IBM 370, MVS, TSO, Solaris, HP-UX.
Languages: Fortran IV, Asm/370, C.
Technologies:
Patents

US 6,374,289, US 2001027479, EP 0993163 - Distributed Client-Based Data Caching System.

EP 1214647, WO 0118670, AU 7035500 - User Emulation For Computer Aided Design Data Exchange.