Stack Overflow: http://stackoverflow.com/users/856925/kaolin-fire.
Apple App Store: https://itunes.apple.com/vg/artist/kaolin-fire/id506161943.
Other Apps I've Written: TextDetective: https://itunes.apple.com/us/app/textdetective/id541494875?mt=8, MagniFire: https://itunes.apple.com/us/app/magnifire/id589564315?mt=8, Saintify: https://itunes.apple.com/us/app/saintify/id608804799?mt=8.
- BS in Electrical Engineering/Computer Science, 1995-2000. Focus in Bioelectrical Engineering. Core courses included digital design, signal processing, bioelectrical interfacing, algorithms, and system modeling.
University of California, Berkeley (Berkeley, California, USA)
Skills 3.0 [2010+]
Languages: Objective C/C++/C, Python, AS3.
Language Toolkits: Cocos2d, OpenCV.
Programming: Product Development, Algorithms, Object Oriented Design, Computer Vision, Probabilistic Graphical Models.
Databases: PostgreSQL, MySQL.
Software: Adobe Photoshop, Xcode, vi/vim.
Server Software: git, svn, bash/tcsh.
Operating Systems: OS X, FreeBSD.
Skills 2.0 [2005-2010]
Language Toolkits: OpenGL, OpenAL.
Programming: Algorithms, Object Oriented Design, E-commerce, Cross-platform development, XML.
Software: Adobe Photoshop (8-CS2), vi/vim.
Server Software: BIND, Apache httpd, varnish, postfix, svn, mailman, bash/tcsh.
Operating Systems: Linux (Fedora), FreeBSD, Dos/Windows, OS X.
Skills 1.0 [1995-2005]
Languages: Java, JSP/Servlets, JDBC, Perl, Lisp/Scheme, Motorola 6510 Assembly, MIPS, LaTeX.
Language Toolkits: GLUT, MFC, DirectDraw, GTK+, SVGAlib.
Programming: Patterns & Antipatterns, i18n.
Databases: PostgreSQL, SQL Server, Access, mSQL.
Software: Blender, Gimp, make/ant.
Server Software: Resin, Tomcat, Sendmail, CVS/Perforce, bash/tcsh.
Electrical Engineering: Embedded devices, Fourier/Laplace/Z transforms, FPGA design.
Operating Systems: AIX.
- Neuroelectrical Engineering. This includes neurochemistry, biology, electrical engineering, interfacing, artificial intelligence, theories of consciousness, chaos theory, and all things related.
- "The Arts". I enjoy painting (generally abstract/surreal), and writing fiction and poetry. I run a few writing-related sites and publish an award-winning magazine of literary + genre fiction, poetry, and art.
- Gaming. I develop the odd computer game on the side: desktop (Win/OSX/linux), Flash, and iPhone. That's generally how I sit down to learn a new language, platform, or technology, if I don't already have a problem defined for me.
Excellent communication and problem-solving skills, with a strong ability to adapt to the situation at hand.
Specialties include (but are not limited to) database interfaces, creating data channels between heterogeneous systems, quickly evaluating and learning new technologies, and designing systems that run themselves.
Many years of experience using and administering a wide range of computer platforms.
Well-rounded person with an eclectic set of interests, ideas, and hobbies; I add personality and depth to any situation.
Favorite words include: context, perspective, and scale.
A9 (San Francisco, California, USA)
- Architected, prototyped, designed, and implemented portions of—and managed a small team implementing the rest of—a city-scale data acquisition project (Python, C++, Objective-C, PostGreSQL, computer vision, UX)
- Advised/mentored/assisted the building of supporting tools for same, and building them out for other projects (Python, Flask, SQLAlchemy, PostGreSQL, js)
- Presented two posters and a talk at successive internal computer vision conferences; chaired another set of talks at same. (Keynote, UX)
- Implemented several prototype apps for exploration of UX and technical ideas (Photoshop, UX, Objective-C)
VP of Products
Blindsight (Berkeley, California, USA)
September 2012-April 2014
- Guided development on an increasing array of products (Objective C/C/C++, Photoshop, UX)
- Wrote and submitted grants to the NIH and NSF; developed an academic poster as well as a Google Talk (Keynote)
Senior Software Engineer
Blindsight (Berkeley, California, USA)
September 2011-September 2012
- Turned a decade of research into a real product on the App Store; drove UX for accessibility and "curb appeal"; product has received rave reviews from the blind community (Objective C/C++, Photoshop)
- Developed a number of iOS proof-of-concept apps and research tools for internal use and to promote the technologies involved to interested parties (Objective C/C++)
- Designed and implemented a "ground truth data system" for collecting and annotating data to help train our algorithms against (Python, CherryPy, Postgresql, Octave)
- Defined a simple and efficient clustering algorithm for a key tier of our text detection algorithm
Senior Software Engineer
510 Systems (Berkeley, California, USA)
June 2010-August 2011
- Maintained and extended company's flagship software (git, C++, cmake, Qt)
- Developed a proof-of-concept server for GIS-related information (python)
- Instigated, developed and maintained a company-wide database of information where none had existed; extended with three separate front-ends, with the intention of bringing them together after further exploration (python, php, js, sqlite, cron)
Hand Brewed, LLC (Los Angeles, California, USA)
January 2006-August 2010
- Managed, architected, and/or developed over fifty projects for a wide variety of client needs/budgets, including:
- Developed iPhone proof-of-concept-app to integrate with varied data sources over multiple threads.
- Launched full re-development of valenciaacura.com (custom content management system, integration with Reynolds & Reynolds inventory system, integration with VINLink VIN detailing system)
- Launched full re-development of campusbooks.com (custom content management system, custom reporting, ongoing maintenance and extensions of development)
College of the Canyons (Santa Clarita, California, USA)
August 2006-May 2008
- Taught C as an intro-level programming course and C++ as a second-semester course; focused C around procedural code with specific attention to scope, memory management, and problem solving. C++ focused on OO-Design paradigms and using other libraries such as wxWidgets, SDL, and OpenGL.
Centric (Valencia, California, USA)
November 2004-January 2006
- Defined a solid and defensible requirements document format; this requirements document enabled clients, designers, and developers all to understand, discuss, and agree upon what was being done.
- Mentored more junior developers in languages and concepts; Delegated tasks and set timelines
- Created a fast and extensible framework for future development that is especially easy for a new developer to come up to speed on; shifted Centric's development paradigm towards fast development of modular, standards-heavy sites that load faster and are simpler and faster to maintain
- Managed and developed several key accounts; had a part in redeveloping several sites for Memorex, as well as local organizations and large email campaigns.
Timbuk2 Designs (San Francisco, California, USA)
June 2003-November 2004
- Re-architected the business logic of the website so as to integrate it with manufacturing and finance, normalizing information storage.
Freelance Web Developer
Self-employed (Oakland, California, USA)
July 2002-June 2003
- Continued to expand on techniques and strategies developed at Pharsight nee Metazoa.
- Built a string of websites for companies and individuals of disparate taste and requirements.
- Advised on and maintained legacy code.
Pharsight Corp, formerly Metazoa, Inc. (San Francisco, California, USA)
March 2000-July 2002
- Designed an enterprise intranet application and managed a small team of programmers to implement it. Chose technology platforms and designed product development cycles and documentation standards. Mentored team members and anyone interested in the technologies involved.
- Designed and implemented a system for pharmaceutical R&D, with complete auditing, revision control, and user authentication, including design of application and server security, with JSP/servlets and a transactional DB.
- Maintained and tuned FreeBSD, MySQL, PostgreSQL for optimal performance and security.
- Maintained/streamlined/refactored old and externally developed code.
- (2011)Heaven and Hell (http://erif.org/code/games/tetris.php) Implemented the xkcd comics "Hell" and "Heaven" within 12 hours of their being posted. "Heaven" was posted about on Boing Boing, ycombinator, kotaku, and more. Written in AS3.
- (2008)Detritus (http://erif.org/code/detritus/) maps the standard Asteroids torus to the surface of a sphere; the game is largely unchanged from traditional play excepting the use of 3d models and the odd orientation of the rest of the playing field (and a few powerups). This was my first serious foray into C++, and gave me a chance to brush up on trig and geometry, as well as learn about quaternions. Written in C++ with OpenGL, OpenAL, and SDL.
- (2003)Falling Up (http://erif.org/code/fallingup/) is a "twist" on the standard falling tetronimos game, and is by far my most well-received. Building on ideas of an earlier version ("Groovy Tetris" ~ written with a C core and compiled with MFC for Windows and GTK+ for linux), this was my first foray into OpenGL. I later ported Falling Up to the iPhone using an ObjectiveC wrapper (and the reduced OpenGL ES library), but had to remove the app from the app store due to complaints from The Tetris Company.
- (2001-)poemranker (http://poemranker.com) is a cross between a poetry workshop and the amihotornot phenomenon. I designed, wrote, and maintain the site. It was Yahoo's pick of the day (July 7, 2002) and has been covered in the UK's Guardian, twice, and once on BBC Radio 2.
Last modified 10 May 2016.