Adam Freidin
adam.freidin@gmail.com
831-359-5121
sparecycles.github.com
adam.freidin@gmail.com
831-359-5121
sparecycles.github.com
Objective
To design and develop great infrastructure and enjoyable things.Qualifications
- Programming lead on a Video Game,
 - Toolchain development in C++ and Qt,
 - Debugging in JavaScript, C, C++ and Assembly,
 - Can be a one man army or small cog in a large machine,
 - Open Source enthusiast,
 - Focused on semantics over implementations.
 
History
- 
2011–…Computer Scientist at Adobe Systems Inc.
- Flash Runtime / Smart TV porting team
 - Digital Publishing / WSDK
 - Digital Publishing / Adobe Content Viewer (Windows 8)
 
 - 
2010–2011Lead Programmer at LineMonkey
- Redeveloped the Public Interface and the Point-of-Sale HTML5 application.
 - Developed in Ruby, Rails, HAML, SQL, and JavaScript simultaneously.
 - Perfomed security analysis and made suggestions.
 - Solved issues with bad data in production.
 - Perfomed on-site client support.
 
 - 
2 weeks of 2009 - Tenera
- Integration task involving a CNC Machine, the Canon Camera API, with a Qt Graphical User Interface.
 - Program took pictures at a sequence of coordinates by sending G-code to the CNC tool to move the camera and the Canon API to shoot. Automatically found focus by selecting a Z-value with the highest local contrast.
 - Working prototype delivered in 2 weeks.
 - Implemented inversion of control using win32 fibers to interface cleanly between Qt and the visual basic script in the CNC tool.
 
 - 
2006–2009Programmer at Santa Cruz Games
- Shipped 7 titles, on the Nintendo DS, GBA, and Jakks Pacific custom hardware.
 - Developed stable memory architectures and loading patterns.
 - Developed localization engine.
 - Implemented Menus and in-game UI.
 - Integrated with publisher's localization pipelines.
 - Implemented hardware specific effects.
 
 - 
2005–2006Mathematician Intern at GizmoLabs
- Invented a projection matrix that interpolates between perspective and orthographic display.
 - Reimplemented and extended the OpenGL graphics component of a simple woodworking CAD layout program.
 
 - 
2004–2005Programmer for LEEPS at UCSC
- Developed client and server components for reasearch games.
 - Implemented java parser-evaluator for implementing game-rules.
 - Designed and developed a statemachine for managing server and client states.
 
 - 
1998–1999Audiovisual Consultant at Princeton Adult School
- Delivered, cleaned up, and supported slide projectors.
 
 
Technologies
- 
Programming LanguagesC, C++, JavaScript, Ruby, Python, Java, Bash, Batch, Objective-C, Scheme/Lisp, ML, Prolog. (Procedural, functional, and logical styles)Markup Languages/EncodingsHTML, XML, TeX, CSS, JSON, CSV, HAML, Unicode
 - 
PlatformsBrowsers: webkit (chrome, safari), gecko (firefox, netscape), trident (explorer)
Embedded Systems: Nintedo DS, Nintendo GameBoy Advance, μ'nSP
Operating Systems: Linux (POSIX), Mac OS9, OSX, Win2K/XP/Vista
Hosting Services: Heroku, Github, Speedyrails - 
ToolsVersion Control: Visual Source Safe, Subversion, Git
Graphical UIs: Qt, HTML5
IDEs: gcc+vim+make, Visual Studio, Metrowerks/Freescale, SN Systems, X-code
Graphics: The GIMP, inkscape, UFRaw, Qtpfsgui - 
Libraries/FrameworksRails, jQuery, Windows API, libc, readline
 
Education
- BS in Computer Science, and a
 - BA in Mathematics from University of California, Santa Cruz.