Skip to content

Instantly share code, notes, and snippets.

View fairchild's full-sized avatar

Michael Fairchild fairchild

  • Procore
  • California
View GitHub Profile

Stevey's Google Platforms Rant

I was at Amazon for about six and a half years, and now I've been at Google for that long. One thing that struck me immediately about the two companies -- an impression that has been reinforced almost daily -- is that Amazon does everything wrong, and Google does everything right. Sure, it's a sweeping generalization, but a surprisingly accurate one. It's pretty crazy. There are probably a hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, if I recall correctly. I actually did a spreadsheet at one point but Legal wouldn't let me show it to anyone, even though recruiting loved it.

I mean, just to give you a very brief taste: Amazon's recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams, despite various efforts they've made to level it out. And their operations are a mess; they don't real

@fairchild
fairchild / regexp_syntax.md
Created January 16, 2023 16:48 — forked from glv/regexp_syntax.md
Ruby and PostgreSQL Regular Expressions

Ruby and Postgres Regular Expression Syntaxes

Ruby's regular expressions are unusually powerful. Postgres' regular expressions are not as powerful, but they come close; close enough that it's possible to do many pattern-based queries and string transformations entirely in a query.

And sometimes, it's very useful to have a single regular expression that works

@fairchild
fairchild / fix_nokogiri_libxml_mismatch_on_mavericks.sh
Last active November 4, 2015 02:28 — forked from devpuppy/nokogiri libxml homebrew lion
eliminate the annoying nokogiri LibXML version mismatch on OSX
#!/bin/bash
# FIXME:
# WARNING: Nokogiri was built against LibXML version 2.9.0, but has dynamically loaded 2.8.0
NOKOGIRIR_VERSION=${1:-1.6.1}
LIBXML_VERSION=${2:-2.9.1}
LIBXSLT_VERSION=${3:-1.1.28}
gem uninstall nokogiri libxml-ruby
@fairchild
fairchild / setup_elastic_search.sh
Created December 16, 2012 20:14 — forked from johnvilsack/es.sh
installs elasticsearch on ubuntu 12.04 and 12.10
# installs elasticsearch on ubuntu 12.04 and 12.10
wget http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.1.deb
sudo dpkg -i elasticsearch-0.20.1.deb
@fairchild
fairchild / foo.rb
Created November 10, 2012 18:29 — forked from jameskyle/foo.rb
#!/usr/bin/ruby
require 'net/http'
META_BASE = "/2008-02-01/meta-data"
def server
@server ||= Net::HTTP.new("169.254.169.254")
end
@fairchild
fairchild / es.sh
Created May 20, 2012 22:33 — forked from shaneog/es.sh
Install ElasticSearch on Ubuntu 11.04
cd ~
sudo apt-get install unzip
sudo apt-get install python-software-properties -y
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin -y
wget https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.18.7.tar.gz -O elasticsearch.tar.gz
tar -xf elasticsearch.tar.gz
begin
require 'ruport'
rescue LoadError => err
warn "Couldn't load ruport gem: #{err}"
end
namespace :import do
desc 'Import tickets from CSV File'
task :csv => :environment do
#!/usr/bin/env ruby
# lib/etherpad.rb
#
# mechanize => 1.0.0
%w{rubygems nokogiri mechanize json logger}.each {|l| require l }
class Etherpad
def initialize(base_url, username, password)
@@base_url = base_url
@@username = username
@fairchild
fairchild / vboxfwd
Created March 2, 2010 05:35 — forked from avdi/vboxfwd
#!/bin/sh
if [ $# != 5 ]; then
echo "Utility for setting up NAT forwarding to VBox guests"
echo "Usage: $0 GUEST SERVICE PROTOCOL GUESTPORT HOSTPORT"
echo "E.g. $0 \"Linux Guest\" guestssh TCP 22 2222"
echo "NOTE: Port forwarding will only affect stopped VMs"
exit 1
fi
guest=$1
install
url --url http://10.15.0.50/centos/5/os/x86_64/
lang en_US.UTF-8
rootpw --iscrypted $1$Hi/9xDlZ$nrLa2780lRFXv4QPEK./I0
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --permissive
timezone America/Los_Angeles
bootloader --location=mbr --driveorder=xvda --append="console=xvc0"
clearpart --all --initlabel