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.