Skip to content

Instantly share code, notes, and snippets.

View brandur's full-sized avatar

Brandur Leach brandur

View GitHub Profile
> u = User.first
=> #<User id: 23, email: "brandur+t003@heroku.com", created_at: "2012-03-13 14:38:11", invited_by_id: nil, last_
login: "2012-03-13 14:39:46", reset_password_hash: nil, salt: nil, password_hash: nil, heroku_garden: nil, last_
git: nil, deleted_at: nil, payment_session_key: nil, confirmed_billing_info: nil, beta: nil, zendesk_created_at:
nil, verified_at: nil, billing_name: nil, billing_address: nil, billing_card: nil, invited_on: "2012-03-13 14:3
8:07", invite_converted_on: nil, pending_payment_session_key: nil, cached_usage_total: nil, confirmed_billing_at
: nil, max_apps: nil, api_key: "ca0ff390071bf08e038752154dd2c05533a810a9", signup_source_id: 6, rate_limit: nil,
first_name: nil, last_name: nil, invitation_secret: nil, password_hash_v2: "$2a$10$5PKpvQaDF2Lp0iGFl9KxKuoLO76s
4lMTFdizjxpgGqY4...", pref_site_version: nil, full_name: nil, accepted_tos_at: "2012-03-13 14:38:11", receive_ne
wsletter: false, suspended_at: nil, suspicious_since: nil>
@brandur
brandur / ajax_setup.coffee
Created September 1, 2012 22:10
Ajax Setup
$.ajaxSetup
headers:
Authorization: "Basic #{toBase64(":supersecretpassword")}"
@brandur
brandur / index.html.haml
Created October 30, 2012 04:15
iscorein.heroku.com / welcome#index
%h1 No
@brandur
brandur / activerecord-2
Created June 5, 2013 05:49
Moving a non-trivial app from ActiveRecord 2.3.17 to ActiveRecord 3.2.13
# ab -n 1000 -c 10 -A :xxx https://api.brandur.herokudev.com/apps
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking api.brandur.herokudev.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
@brandur
brandur / twitter-auth.md
Last active February 13, 2020 22:13
Twitter auth

Easy Twitter API OAuth 2 Access

  1. Go to your applications. Create a new one, and find the values in the Consumer Key and Consumer Secret fields.

  2. Use OAuth client information to produce an OAuth 2 access token:

    curl -i --user <consumer_key>:<consumer_secret> -X POST https://api.twitter.com/oauth2/token -d "grant_type=client_credentials"
    
    {"access_token":"<oauth2_token>","token_type":"bearer"}% 
    
@brandur
brandur / heroku-api-stub.md
Last active December 20, 2015 22:09
Engineering API-driven Applications Using Service Stubs

Engineering API-driven Applications Using Service Stubs

Developing applications against foreign services like the Heroku Platform API can unlock a powerful set of otherwise unavailable features, but can come with drawbacks: development must occur online, valid credentials are required, calls your code makes will reveal and manipulate real data, and API calls in tests have to stubbed out individually.

This article will offer a short overview on how these pain points can be

@brandur
brandur / readability-oauth.md
Last active December 21, 2015 05:39
Acquire Readability OAuth token
gem install oauth
irb
consumer = ::OAuth::Consumer.new(
  "OAUTH_KEY", 
  "OAUTH_SECRET", 
 :site=&gt;"https://www.readability.com/",
@brandur
brandur / sf-traffic-rules.md
Last active December 22, 2015 06:39
SF Traffic Rules

SF Traffic Rules

  1. Don't run red lights by more than 5 seconds. 20 seconds if you're in a bus or large truck.
  2. Rule 1 doesn't apply during high traffic situations. If your green is ending and traffic hasn't moved on the other side of the light, it's okay to block the intersection as long as you're not doing it by more than four or five cars deep. Remember, pedestrian walks are a nice place to come to rest as you won't be blocking cross traffic.
  3. Know the SF intersections controlled by red light cameras, and be careful with rules 2 and 3 in them. Red light cameras are blatant revenue-generating scams cooked up by malicious and profiteering governments, but receiving a ticket from one may mean that you'll have to inconviently attend court before it can be properly thrown out.
  4. If you didn't see that your light was changing, it's fine to park on top of the near pedestrian walk. In these cases pedestrians must go around you, even if it means edging into oncoming traffic. Remember, you're in a car and
@brandur
brandur / api-update-with-notes.md
Last active December 22, 2015 16:29
API Update

Current Projects

V3 GA

  • Blocked on security in releases
  • Need to finish up some client libraries -- JSON schema designed, and doc.json is being ported over

Orgs

  • Product is being shipped

Fenced code blocks inside ordered and unordered lists

  1. This is a numbered list.

  2. I'm going to include a fenced code block as part of this bullet:

    Code
    More Code