- E-mail: chris (at) cb1inc (dot) com
- GitHub: https://github.com/cb1kenobi
- LinkedIn: https://www.linkedin.com/in/cb1kenobi
- Twitter: https://twitter.com/cb1kenobi
- Location: Minneapolis, MN
Hello, my name is Chris and I'm a software architect with a specialty in JavaScript and a passion for developing open source software. I have over 17 years of professional experience. Most of my background relates to web technologies, though I have a fair amount of experience with the cloud and hardware side.
-
Programming Languages
- Primary: JavaScript, C/C++, PHP, C#, Java, SQL, Regular Expressions
- Secondary: Python, ColdFusion
-
JavaScript
- ECMAScript 5, ES2015, and ES2016
- Node.js/io.js
- Web: Koa.js, Express.js 4, hogan.js, vhost, spdy, cluster
- Testing: Mocha, Chai, Sinon, should.js
- Database: Sequelize, mariasql, redis
- Tooling: Gulp, Babel, Grunt, commander, optimist
- C++ add-ons
- Browser-side
- React.js, Redux, Dojo Toolkit, Bootstrap, Require.js, Backbone.js, Underscore, jQuery, Polymer, Angular
- Lead architect of the Titanium Mobile Web platform
- Custom AMD require() implementation
- Object-oriented JavaScript design using custom declare() mechanism
- Uses several HTML5 JS-based APIs
- Asynchronous patterns: async library, promises/deferreds, generators
-
Web Development
- HTML 5: semantic markup, video, WebSockets, web storage, geolocation, offline, web workers, web fonts, form elements, history
- CSS 3: transitions, transforms, media queries, web fonts, retina support, pseudo-selectors, sprites, less, sass
- Mobile Web: Mobile Safari on iPhone/iPad, Chrome, IE, Firefox OS, BlackBerry 10/Playbook
- Responsive web design: media queries, resizable images, viewports
- Debugging and performance analysis using Chrome Dev Tools, Firefox Dev Tools, Firebug, Wireshark
- Browser quirks and polyfills: IE6+, Android 2 web browser, Mobile Safari
- Wordpress: custom sites, themes, navigation, admin pages
- Adobe Photoshop: 3.0-CS6
-
Databases
- MariaDB, MySQL
- Microsoft SQL Server
- MongoDB, Riak, Cassandra
- Redis
-
Operating Systems
- Mac OS X, Linux (Ubuntu), Windows
-
Servers/Networking
- nginx, Apache HTTP Server
- Docker
- Memcache, Redis
- Postfix, Amavis, SpamAssassin
- Firewalls, routers, load balancers, DNS, VLANs, Wireless
-
Version Control
- git, Subversion
-
Disciplines
- Object-oriented design, design patterns
- Code optimization
- High performance, scalability
- Code accuracy
- Security, cryptography
- Mitigating technical debt
- Multi-threaded design
- Debugging, troubleshooting
- Cloud deployments
January 2016 - Present
- Super cool stuff
June 2010 - January 2016
- Developed the Titanium Mobile Command Line Interface (CLI) using Node.js
- Key architect of the Titanium Mobile Web platform using the modern HTML5 and CSS3 APIs
- Created the Titanium Windows Hybrid platform that wraps Titanium Mobile Web apps in a native C# shell and exposes native reflection APIs
- Redesigned Titanium Mobile Android, iOS, and Mobile Web build scripts to incorporate validation and parallelization
- Manage several key systems including the Jenkins CI server and Titanium module verification
- Wrote the Developer Center Q&A website using PHP (Kohana) and Dojo Toolkit: http://developer.appcelerator.com/questions
- Developed an internal corporate administration system
- Coded early marketing website and several other now defunct sites
- Presented multiple technical talks to engineering team about Node.js, JavaScript, & Regular Expressions
- Interviewed potential software engineering candidates
- Used Jira, Confluence, and GitHub for issue tracking and project management
October 2004 - December 2011
- Built custom solutions for 22 businesses nationwide
- Managed multiple subcontractors across several projects
- Responsible for all sales, billing, accounting, project management, designing, developing, and testing
- Created several websites using WordPress, PHP, ASP, ColdFusion
- Developed marketing websites with custom content management systems
- Contributed to open source projects including the Dojo JavaScript Toolkit
- Created single page applications using Dojo for authoring website content
- Deployed websites on virtual private servers in the cloud
- Built automated data backup solution using duct tape and bubble gum
- Developed a web-based accounting application using ColdFusion MX and Microsoft SQL Server
- Developed secure solutions that involved Java web services, SSL certificates and single sign-on
- Maintained software updates and general maintenance of servers
- Configured Cisco and Fortigate firewalls with VPN access for remote clients
- Client portfolio: http://www.cb1inc.com/portfolio/
- Authored several technical blog posts: http://www.cb1inc.com/blog/
October 2004 - October 2006
- Built the world's best real estate search engine using Dojo Toolkit, Google Maps, and ASP.NET
- Architected a scalable webmail application using .NET/C# and SQL Server 2005
- Added markers and balloons to static web-based ESRI-powered street maps using Javascript and DHTML
- Led a team of engineers to design and develop a scalable, customizable web application platform for a MLS listing search engine
- Wrote an internal company message board system to organize projects and related files
- Developed SQL stored procedures and user-defined functions to perform complex remote queries
- Mentored a group of junior-level engineers
- Built a relational, context-sensitive help system with a custom index mechanism and keyword highlighting
May 2000 - October 2004
- Key developer of the benefitsCONNECT online benefit administration and employee management system
- Developed several customer web applications using ColdFusion MX, Javascript, Java, JSP, and PHP
- Wrote mission critical applications and ColdFusion COM Objects using C++
- Created Java-based solutions for on-the-fly image resizing, PDF creation, HTTP request tunneling and secure remote file storage operations
- Used JavaScript for form validation and rich DHTML user interfaces
- Maintained more than 20 servers running IIS, ColdFusion, JRun, Tomcat and SQL Server
- Designed and deployed an enterprise network connecting two server environments, intranet, and Cisco IP phone system
- Responsible for designing and supporting over 10 client projects
- Accountable for time management and project time estimates
- Designed user interface compositions and graphics using Adobe Photoshop
June 1995 – May 2000
- Programmed custom utilities in C++, Java and Lisp to compute mathematical formulas
- Wrote AutoCAD routines using AutoLISP to automate processes
- Designed automated machines using Autodesk AutoCAD and Mechanical Desktop
- Created 3D animations of machinery using 3D Studio Max
-
Normandale Community College (Bloomington, MN)
Fall 1996 – Fall 2001
-
Normandale Community College (Bloomington, MN)
Fall 1996 – Fall 2001
- http://github.com/appcelerator/titanium_mobile
- http://github.com/appcelerator/titanium
- Became a full-time contributor Fall 2011
- Worked on the Mobile Web platform
- Rewrote the build scripts for each platform
- http://dojotoolkit.org/
- Became a committer October 2008
- Created the Dojo Toolkit Module for Drupal 5.x
- Contributed the dozens of bug fixes, Rotator, AutoRotator, and LightboxNano
- Open sourced "nano" widgets
- https://github.com/cb1kenobi/fields
- https://www.npmjs.org/package/fields
- Node.js library for command line prompting
- Supports Mac OS X, Linux, and Windows
- MIT licensed
- https://github.com/cb1kenobi/elevate
- MVC framework written in PHP
- Cassandra database support
- Modular design
- Built using PHP 5.3 namespaces
- Gearman job daemon for sending e-mail, etc
- BSD licensed
- Abandoned due to lack of interest in PHP in favor of Node.js
- https://github.com/cb1kenobi/prophet
- Cassandra database client
- PHP extension written in C++
- Wraps Thrift and Avro serialization and transport layers
- Exposes both a high-level and low-level API
- Built-in JSON data serializer
- Support for connection pooling and persistent connections
- PHP licensed
- Abandoned due to lack of business requirement for Cassandra
- gulp-babel-istanbul (October 2015)
- Node.js/io.js Native C++ Addons (September 2015)
- Titanium 3.2 CLI (November 2013)
- Exploring The New Titanium Command Line Interface (October 2012)
- Intro to PECL/mysqlnd_ms (April 2011)
- Cassandra - Say Goodbye to the Relational Database (May 2010)
- Xdebug (December 2009)
- Debugging Dojo Applications (February 2010)
- Titanium Powered Desktop & Mobile Applications (November 2009)
- Memcached & MySQL Sitting in a Tree (May 2008)
- Dojo Javascript Toolkit (April 2007)
- High Availability with DRBD & Heartbeat (June 2008)
- 2007 MySQL Conference Recap (May 2007)
- Dojo: Javascript's Swiss Army Knife (July 2009)
- Linux-based Network Attached Server Project (June 2007)
- Dojo Javascript Toolkit (March 2007)
- Dojo Toolkit Module for Drupal (January 2007)
- All things JavaScript & Node.js
- Lego Technic
- Fallout, Skyrim
- Databases
- AutoCAD, Maya, 3D
- Heavy metal
- Frappacinos
- Sarcasm
- Technical Debt
- Micromanagement
- Internet Explorer 9 and older
- jQuery
- Helvetica
References available upon request.