Feburary 2014 - Present | San Francisco, CA
- ✓ Wrote yaml parsing and writing for an automated translation app.
- ✓ Moved deprecated Test::Unit tests into either RSpec and Cucumber.
- ✓ Replaced the remnants of Classic Pagination (a deprecated, inefficient Rails pagination plugin) with references to Will Paginate.
- ✓ Created Blurb's conventions for the Ember-QUnit tests in Blurb's Ember repository.
- ✓ Learned the more complicated parts of Blurb's code-base through documenting them in RDoc.
- ✓ Helped train less experienced employees in learning Blurb's main repository and Ruby on Rails conventions.
Markovosophers is a 3-gram text generator Sinatra and Redis app deployed on AWS. This is the first application I have deployed that uses either Sinatra or Redis and it is the first application I have deployed on AWS.
Favorite bit: 2gram_word_table.rb, the initial version of Markovosophers's WordTable, a concise (43 lines) Markov chain model.
Hack Underflow [Github]
Hack Underflow is a Stack Overflow clone that implements the questions, answers, comments, and editing features of SO. It also has an SO-inspired points system that awards privileges (such as voting and editing) at certain point levels. Hack Underflow started life as a Ruby on Rails app, but I have since converted it into a single-page Backbone.js app.
In order to seed the database of Hack Overflow with some existing questions and answers, I used nokogiri to scrape and parse a few hundred questions from Stack Overflow, for which I had to learn how XPath works.
This project also uses Foundation stylesheets, kaminari, friendly_id, underscore.inflector, and serializeJSON.
Favorite bit: seeds.rb, where I scrape Stack Overflow and use the resulting data to seed my DB.
A week of creating almost identical Rails controllers for multiple projects inspired me to write crud_generator, a rubygem that automatically creates default CRUD actions for your Rails controllers.
Favorite bit: the generate_crud_actions method, which can properly handle three powerful use cases in only 10 lines of code.
Active-Record-Lite is a reverse-engineered version of the find, where, has_many, belongs_to, has_one_through, and has_many_through methods of ActiveRecord::Base.
Favorite bit: the has_many_through method, which was a particularly tricky series of joins to get right.
Rails-Lite is a recreation of Rails's ActionController::Base and Application.routes using WEBrick.
Favorite bit: router.rb, a concise implementation of Rails's router.
I work at Pivotal as a Software Engineer. I have been a developer for the past 4 years. I have worked with Backbone, Ember, Angular and React on EcmaScript 5 and 6 and CoffeeScript. I have also developed an expertise in Ruby on Rails. Within a few months, I went from attending my first Railsbridge and writing my first line of code to teaching at Railsbridge and helping others have their first Ruby and Rails experiences. I am leading a team of developers on creating a test driven Ruby CLI for provisioning infrastructure on and deploying to Microsoft Azure. In the past, I have led efforts to standardize usage of testing frameworks and testing conventions. I obsess over writing clean code and test driving as much of my code as possible, especially in ways that I have not often seen test driven development. I have often used side-projects as a way of solving problems and annoyances I have experienced in my professional career and testing out new ideas about writing even cleaner better tested code. Recently, I have become interested in understanding how and why people feel excluded in teams and am working to make my current team as inclusive as possible.
University of California, Berkeley
Bachelor of Arts, Philosophy, May 2013
Bachelor of Arts, Music, May 2013
Graduated with distinction, GPA: 3.7
Technical Courses Include:
- ✓ Intermediate Logic and Computability
- ✓ Philosophy and Game Theory