Skip to content

Instantly share code, notes, and snippets.

Harlow Ward harlow

Block or report user

Report or block harlow

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View checkpoint.go
package checkpoint
import (
harlow / profile.go
Last active Mar 11, 2017
Struct w/ return vals from Aboutme API
View profile.go
// if "name" is returned as `[]` in JSON payload the json.Unmarshal func will panic in Golang
// Name struct {
// GivenName string `json:"givenName"`
// FamilyName string `json:"familyName"`
// Formatted string `json:"formatted"`
// } `json:"name"`
type Profile struct {
ID string `json:"id"`
Hash string `json:"hash"`
RequestHash string `json:"requestHash"`
harlow / app_launched_event.rb
Last active Jan 6, 2017
Ruby based ETL pipeline with and Redshift
View app_launched_event.rb
# lib/transformers/mixpanel/app_launched_event.rb
module Transformers
module Mixpanel
class AppLaunchEvent
def initialize(data)
@data = data
def csv_row
harlow / worker-pool.go
Last active Apr 24, 2019
Worker pool to control concurrency and collect results
View worker-pool.go
package main
import (
const concurrency = 3
harlow /
Last active May 18, 2018
DynamoDB on Travis-CI

DynamoDB on Travis-CI

Leverage docker-compose to boot up the service and set a DYNAMODB_URL as an Env var. As described in the AWS Ruby SDK we can pass in a custom endpoint to the client.

client = ENV['DYNAMODB_URL'])
View registration.rb
class Registration
# Make this model play nice with `form_for`. Gives us validations, initialize, etc
include ActiveModel::Model
# Accessors for the fields we are exposing in the form
attr_accessor :email, :password, :zip
# This is an implementation detail of our authentication (Clearance). It's ultimately going to
# sign this object in and that process expects a user object that has these fields available
delegate :remember_token, :id, to: user
harlow / cache.go
Created Aug 24, 2016
Golang cache map
View cache.go
package cache
import (
harlow /
Last active Aug 14, 2019
Eng Management

Recently, we were fortunate to bring together top CTO talent from inside and outside the First Round Community to share best practices, challenges and insights. Key topics included how to create a great management team, introducing structure to your org, and tools for better technical productivity. Notes from this session are below.


  • It's easy to build a management structure when things are early and small. But don't over-optimize this structure. It will change as you bring people on. For example, don't give out management titles until you have at least four teams.
  • The best tactic is to have everyone start out as an engineer, then hire an engineering director and split the team in half. This is the cell-splitting model -- grow a team then split it into different cells.
  • Don't promote people into management roles too early. It's better to hire a manager than to promote from within the ranks. The latter only causes conflict.
  • Always remember, while someone might be a bril
harlow / first-name-synonyms.csv
Last active Mar 12, 2019
First name synonyms for Elasticsearch synonym filter
View first-name-synonyms.csv
We can make this file beautiful and searchable if this error is corrected: It looks like row 2 should actually have 4 columns, instead of 5. in line 1.
You can’t perform that action at this time.