Oakland,
CA
E-mail:
e@cubelogic.org
WWW:
http://cubelogic.org/
Programming blog:
http://goto0.com/
Open Source projects:
http://github.com/ettore
Résumé also available in plain text, RTF.
(updated September 2010)
OBJECTIVE
Develop elegant applications, preferably in Objective-C or Erlang.
EXPERIENCE
8/2008 - present, Sr. Software Engineer, InfoDome (Oakland, CA)
- Developed large parts of the front end of an online database application (MySQL based).
- Wrote code in ActionScript/Flex (self taught) and contributed Java code when needed.
- Agile development with weekly iterations, using TDD for various modules of the front-end.
- Contributed UI design ideas inside a fast-paced startup environment.
6/2008 - 12/2008, iPhone Engineer, Networks in Motion (Telecommuting contract)
- Collaborated on an iPhone application to provide turn-by-turn GPS navigation.
- Contributed code to their geo-location map algorithms.
SpaceNavigator project (9/2006 - 7/2008)
- Designed and implemented in C++ the joystick architecture of Second Life on Mac OS X and Windows. Shipping since v1.20.
- Wrote software to support 3Dconnexion devices, in particular the SpaceNavigator, on Mac OS X, Linux and Windows.
- Added support to Blender jointly working with its open-source community. I contributed patches and plug-ins for Mac OS X, Windows and Linux. The beta for all platforms was delivered in 2.5 months since inception.
- Ported the Google SketchUp plug-in (C++, Ruby) from Windows to Mac OS X.
- Self started a project for a JavaScript extension for Firefox.
- Created a Mac OS X QuickTime component for navigating QTVR movies.
- Created and released sample C code for 3Dconnexion's SDK for OS X.
- Wrote a software update application using the Cocoa framework.
NuLOOQ project (5/2005 - 8/2006)
- Served as one of the first engineers of NuLOOQ, from initial design through launch. Product was shipped to thousands of retail customers and won various awards ("DigitalFocus 2006 Innovation Award", "2007 PC World 20 Most Innovative Products Award").
- Sole engineer of the Adobe InDesign plug-in (Mac and Windows), implemented in C++ and Objective-C. Self-taught the InDesign SDK and basic Win32 API.
- Designed and implemented in C++ (with some C, Objective-C, Perl) various modules of the "tooldial" software for Mac OS X, including license system, summary generator, Photoshop Actions parser, hotkey manager for keyboard/mouse/NuLOOQ events. Adopted Test-Driven Development to produce verifiable outputs and automated unit tests.
- Implemented an Adobe InDesign plug-in (Mac, Windows). Self-taught Win32 API.
- Leveraged the Carbon, Cocoa, STL, LMX, OpenTop frameworks.
11/2003 - 12/2004, Lead Software Engineer, Nfinite Productions LLC (Telecommuting Contract)
- Sole engineer of Rap-A-Matics, a cross-platform J2SE educational application for elementary school students.
- Took care of all engineering tasks (for Mac OS X and Windows): coding, GUI design (AWT + Swing), Flash/QuickTime integration, Windows installer.
- Followed the project from conception to release.
- Learned and used the QuickTime for Java framework with no impact on deadlines.
8/2003 - 9/2004, Applications Engineer, Oracle Corp. (Redwood Shores, CA)
- Worked in the Oracle Projects development team for Family Pack M product (part of their eBusiness Suite), using Oracle Applications Framework (v11.5.10) on Linux and Windows.
- Detail-designed the reporting module under strict performance constraints (such as dealing with millions of records). My JavaBeans and PL/SQL components were successfully used by the entire team.
- Coded user-configurable pages, computing 150+ summarized measures such as cost, effort and billing information on different dimensions such as resource and time.
- Independently wrote Perl scripts for XML processing and shared them with the team.
3/2003 - 7/2003, Web Developer, Captainsinn.com (Moss Landing, CA)
- Cross-browser web authoring (valid HTML + CSS), with separation between content and presentation.
5/2001 - 12/2002, Software Engineer, Ekar S.p.A. / Altran Group (Milan, Italy)
- Collaborated to the redesign of a large stocks & bonds management system into a 3-tier OLTP application built on Oracle and J2EE.
- Java, JSP, PL/SQL, JavaScript development.
- Contributed experience and code toward extending the Oracle BC4J framework.
- Joined the project in the early stages of development until first release.
12/2000 - 05/2001, CISE (Forlì, Italy)
- Created an online directory with English/Italian localizations, used by hundreds of manufacturing companies to query listings of suppliers and services.
- Designed the DB on Oracle8i and developed the user interface with JSP and servlets.
PERSONAL PROJECTS
Cubelogic (own business)
- Currently developing an iPhone app using the iOS SDK and Erlang (2010)
- Designed and developed cl_debug, a light weight logging/debugging C library (2005)
- Designed and developed SimpleTimer, a Mac OS X Cocoa application to program reminders (2001)
- Initiated the design of a natural language analysis/synthesis application in C++. The idea is to have a system able to assimilate text from external sources (plain text files, web sites, etc.) and then automatically build a semantic net. (2004)
- Designed and implemented HaikuGen, a haiku poetry generator that uses semantic nets to deliver meaning. The entire system is written in Prolog and produces meaningful phrases. (2000)
SKILLS
- Programming languages: Objective-C, C, C++, ActionScript, Erlang, Java, SQL, Prolog, Lisp/Scheme.
- Frameworks: Cocoa, iOS, Flex, Erlang OTP, JSP, QuickTime for Java, STL, LMX, Opentop, Adobe InDesign SDK.
EDUCATION
Master of Science degree in Electronic Engineering, Università Statale di Bologna, Italy, 2000.
GPA: 3.72
SPOKEN LANGUAGES AND LEGAL STATUS
Native in speaking, reading and writing Italian.
Fluency in English (speaking, reading and writing).
Green Card.
REFERENCES
Available upon request.