Skip to content

Instantly share code, notes, and snippets.

View alexmcpherson's full-sized avatar

Alex McPherson alexmcpherson

  • Colorado
View GitHub Profile
@alexmcpherson
alexmcpherson / duties.md
Last active December 3, 2015 20:36
Point Guard Duties and Expectations

Point Guard

The point guard role is in place for a few reasons:

  • To address priority 1 bugs as fast as possible
  • To protect the focus of feature-devs from various distractions
  • To have consistent ability to pay down technical debt
  • To give devs broad exposure to the product via bugs and debt paydown
  • To give devs time to explore new ideas that could benefit the product and Kapost
  • To enable skill building in debugging, triaging, and assessing risk/impact of bugs
@alexmcpherson
alexmcpherson / circle.yml
Created July 28, 2015 23:12
CircleCI consuming private node modules
dependencies:
pre:
- |
npm login <<!
$NPM_USERNAME
$NPM_PASSWORD
$NPM_EMAIL!
@alexmcpherson
alexmcpherson / package.json
Last active August 29, 2015 14:22
package.json example
{
"name": "app-name",
"scripts": {
"webpack": "$(npm bin)/webpack --devtool cheap-module-eval-source-map --progress --colors --watch",
"webpack-prod": "$(npm bin)/webpack -p",
"test": "mocha --compilers js:babel/register",
"test-coverage": "mocha --compilers js:babel/register -R html-cov --require blanket > coverage.html && open coverage.html",
"test-watch": "mocha --compilers js:babel/register -w",
"postinstall": "npm run webpack-prod"
@alexmcpherson
alexmcpherson / componentSpec.js
Created June 12, 2015 17:46
Testing examples
import React from "react/addons";
import jsdom from "mocha-jsdom";
import {expect} from "chai";
//See https://facebook.github.io/react/docs/test-utils.html for available methods
let {TestUtils} = React.addons;
import TitleBar from "js-app/components/titleBar";
@alexmcpherson
alexmcpherson / gist:e414f92976f90e6a46a9
Last active August 29, 2015 14:19
Culture for Kapost Bonsai

Practical / Tactical

Be on time to meetings or alert an hour ahead of time if you'll be late

Meetings need a goal and a runner to get that goal accomplished

Defend your time from distractions and use it effectively on moving product forward

Prefer Slack over email over in person interruptions over a set block of time

@alexmcpherson
alexmcpherson / css_resources.md
Last active August 29, 2015 14:17 — forked from jookyboi/css_resources.md
CSS libraries and guides to bring some order to the chaos.

Libraries

  • 960 Grid System - An effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.
  • Compass - Open source CSS Authoring Framework.
  • Bootstrap - Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.
  • Font Awesome - The iconic font designed for Bootstrap.
  • Zurb Foundation - Framework for writing responsive web sites.
  • SASS - CSS extension language which allows variables, mixins and rules nesting.
  • Skeleton - Boilerplate for responsive, mobile-friendly development.

Guides

@alexmcpherson
alexmcpherson / rails_resources.md
Last active August 29, 2015 14:17 — forked from jookyboi/rails_resources.md
Rails-related Gems and guides to accelerate your web project.

Gems

  • Bundler - Bundler maintains a consistent environment for ruby applications. It tracks an application's code and the rubygems it needs to run, so that an application will always have the exact gems (and versions) that it needs to run.
  • rabl - General ruby templating with json, bson, xml, plist and msgpack support
  • Thin - Very fast and lightweight Ruby web server
  • Unicorn - Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels.
  • SimpleCov - SimpleCov is a code coverage analysis tool for Ruby 1.9.
  • Zeus - Zeus preloads your Rails app so that your normal development tasks such as console, server, generate, and specs/tests take less than one second.
  • [factory_girl](h
@alexmcpherson
alexmcpherson / javascript_resources.md
Last active August 29, 2015 14:17 — forked from jookyboi/javascript_resources.md
Here are a set of libraries, plugins and guides which may be useful to your Javascript coding.

Libraries

  • jQuery - The de-facto library for the modern age. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
  • Backbone - Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
  • AngularJS - Conventions based MVC framework for HTML5 apps.
  • Underscore - Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects.
  • lawnchair - Key/value store adapter for indexdb, localStorage
@alexmcpherson
alexmcpherson / gist:97a4160c08a5e06a0acb
Last active February 13, 2016 10:23
Google.com <enter> interview question

This was my very first take with no research on what happens when you press in Chrome with Google.com in the address bar:

  • press enter on keyboard
    • some switch gets connected
    • hardware encodes signal for key to go over USB
    • sends signal over USB
  • computer gets enter signal
    • driver gets signal from keyboard
    • signal translated into an OS-level event probably was pressed
  • OS knows what program has focus, dispatches event to that program
@alexmcpherson
alexmcpherson / pr-template.md
Created October 28, 2014 21:27
sprintly-specific content

Definition of Done:

  • Is there appropriate test coverage? (e.g. ChefSpec, Mocha/Chai, Python, etc.)
  • Does this PR require a Selenium test? (e.g. Browser-specific bugs or complicated UI bugs)
  • Does this PR require a regression test? All fixes require a regression test.
  • Does this PR require a blog post? If so, ensure marketing has signed off on content.
  • Does the knowledge base need to be updated?
  • Does this add new dependencies? If so, does Chef, M4, or PIP requirements need to be updated?
  • Will this feature require a new piece of infrastructure be implemented?
  • Are any new services fully automated in Chef?
  • Are there ChefSpec tests for the new Chef recipes/cookbooks?