Evan Laforge

Musician, Programmer
qdunkan@gmail.com

Education

BFA in Composition, California Institute of the Arts, 2002

Experience

California Institute of the Arts, Valencia, USA 1998 - 2002
Studied gong kebyar and gender wayang with Bapak Nyoman Wenten. Performed in the CalArts kebyar ensemble as well as assisting teaching and performance at the UCLA and Pomona college ensembles.

Munduk, Buleleng, Indonesia 2002 - 2004
Studied gender wayang and gong kebyar with Bapak Made Terip in Munduk, Buleleng. Performed at nganten (weddings), ngaben (funerals), masangih (tooth filing ceremonies), odalan (temple anniversaries), and competitions, including several province-wide events. Learned Indonesian and conversational Balinese and Javanese.

Sekar Jaya, California, USA 2004 - 2006
Performed with Gamelan Sekar Jaya, in gong kebyar, angklung, gender wayang, and gong suling ensembles. Participated in numerous performances, including "A (Balinese) Tempest" wayang with Larry Reed's Shadowlight ensemble.

Taiwan National University of the Arts, Taipei, Taiwan 2009
Informally taught angklung as an assistant to Professor Lee Ching-huei (李婧慧). Classes taught in Mandarin.

Gadung Kasturi, California, USA 2007 - present
Performed with the newly-formed Gadung Kasturi music ensemble. I assist with transcription and teaching, in addition to performing on gangsa, gender rambat, trompong, and kendang.

Google, California, USA 2007 - 2017
Software engineer at Google, initially in the datacenter group and later in geo. Some projects:
  • Hardware Ops, 2007 - 2010
    • Touchpad: This was an application for handheld and later laptops for datacenter repair work. I was author of the initial versions, and later tech lead for ongoing maintenance. It was used for all machine repairs in Google datacenters from 2007 until sometime around 2009.
    • R3: This was a machine management system. It would accept suspected broken machines and coordinate automatic testing, reinstallation, automatic diagnosis, scheduling for manual repairs, etc. Since it delegated the actual work to other systems, it was basically just a big distributed state machine, with facilities to define workflows with complicated control flow and local customization, along with global structured logging, monitoring, manual control for exceptions, and the like.

      I was the main designer and author of most of the original code, along with tech lead for two or three other developers. I later became a consultant for the software engineering team that took over its maintenance. It was responsible for the repairs workflow for almost all Google servers in all datacenters from 2009 until at least 2015.

  • GroundTruth, 2010--2017: This group created the map data used by Google maps. This includes:
    • Work on Atlas, the tool used to edit maps. Some examples:
      • Implemented live QC, which was a kind of real time lint for map data. This was a realtime version of the offline batch-oriented autochecks.
      • Implemented some autochecks, which were heuristics to find map problems. For example, analyze road networks for components with an entrance but no exit, or inconsistent road priorities.
      • Added support for multiple turn restrictions, e.g. bicycles can't pass at any time, cars can't pass during a certain time range.
      • Added support for restriction groups, so a special event can close off entire sections.
      • Implemented QC scoring, a system to prioritize QC work by ranking map problems by severity.
    • Implemented issue search, which converted issues (map metadata used to track work) to a dremel database. It did a lot of complicated ad-hoc aggregation and analysis, and was used both directly by ops and as a foundation for further analysis and dashboards. This was used to track and distribute work, and also to make decisions about employee performance and pay.
    • Design consultant for contractor projects in Seattle and Hyderabad. This was mostly database design for Django apps.
    • Lots of bug fixing, backend migrations, and other features.

Projects

I used to have a lot of them, but for the last 8 years or so my main project has been Karya, which is something between a music notation program, a music sequencer, a music language, and an IDE for that language. Details at http://ofb.net/~elaforge/karya/doc/overview.md.html

Skills

Natural languages: English, Indonesian, Balinese, Mandarin.

Technologies: recent and significant experience in Haskell, Java, C++, Python. Experience with large scale data processing, such as Map Reduce and Flume, Dremel, and of course SQL.

Additional Interests

Natural languages and writing systems, programming languages, music notation, sound synthesis, Carnatic and Balinese music.

References available on request.