Skip to content

Instantly share code, notes, and snippets.

View jpmckinney's full-sized avatar

James McKinney jpmckinney

View GitHub Profile
@jpmckinney
jpmckinney / utc_offset_to_friendly_identifier.rb
Created January 5, 2011 05:18
Changes from UTC offset to time zone identifier in Rails
# blog post: http://blog.slashpoundbang.com/post/2605632137/changing-from-utc-offset-to-time-zone-identifier-in
identifier = {
-11 => 'Samoa',#International Date Line West, Midway Island
-10 => 'Hawaii',
-9 => 'Alaska',
-8 => 'Pacific Time (US & Canada)',#Tijuana
-7 => 'Mountain Time (US & Canada)',#Arizona, Chihuahua, Mazatlan
-6 => 'Central Time (US & Canada)',#Central America, Guadalajara, Mexico City, Monterrey, Saskatchewan
-5 => 'Eastern Time (US & Canada)',#Bogota, Indiana (East), Lima, Quito
@jpmckinney
jpmckinney / tz_identifiers_to_rails_identifiers.rb
Created January 5, 2011 21:44
Maps tz database time zone identifiers to Rails time zone identifiers
# blog post: http://blog.slashpoundbang.com/post/2613268281/changing-from-tz-database-identifiers-to-rails-friendly
{
"Australia/Adelaide" => "Adelaide",
"Australia/Broken_Hill" => "Adelaide",
"America/Anchorage" => "Alaska",
"America/Juneau" => "Alaska",
"America/Nome" => "Alaska",
"America/Yakutat" => "Alaska",
"Pacific/Gambier" => "Alaska",
"Asia/Almaty" => "Almaty",
@jpmckinney
jpmckinney / disqus_source_code.rb
Created January 22, 2011 19:54
Downloads all Disqus source code
# blog post: http://blog.slashpoundbang.com/post/2592867566/disqus-the-missing-manual
require 'net/http'
require 'open-uri'
# The list of files to download
files = {
# used in production
'build' => {
# Disqus translations
@jpmckinney
jpmckinney / disqus_source_code.txt
Created January 23, 2011 00:13
Disqus files in the 1295633860 release
blog post: http://blog.slashpoundbang.com/post/2592867566/disqus-the-missing-manual
http://mediacdn.disqus.com/1295633860/build/lang/ar.js
http://mediacdn.disqus.com/1295633860/build/lang/af.js
http://mediacdn.disqus.com/1295633860/build/lang/bg.js
http://mediacdn.disqus.com/1295633860/build/lang/zh.js
http://mediacdn.disqus.com/1295633860/build/lang/zh_HANT.js
http://mediacdn.disqus.com/1295633860/build/lang/cs.js
http://mediacdn.disqus.com/1295633860/build/lang/da.js
http://mediacdn.disqus.com/1295633860/build/lang/nl.js
@jpmckinney
jpmckinney / dokdok-httparty.rb
Created February 10, 2011 23:25
DokDok API access with HTTParty
# blog post: http://blog.slashpoundbang.com/post/3230523402/use-the-dokdok-api-from-ruby
require 'base64'
require 'openssl'
require 'httparty'
class DokDok
include HTTParty
base_uri 'api.dokdok.com'
@jpmckinney
jpmckinney / opml_generator.rb
Last active November 25, 2021 17:14
Given an array of URLs, outputs an OPML file to STDOUT
# blog post: http://blog.slashpoundbang.com/post/3385815540/how-to-generate-an-opml-file-with-ruby
require 'open-uri'
require 'builder'
require 'truffle-hog'
require 'nokogiri'
# CHANGE ME
urls = %w(http://example.com/ http://example.org/)
@jpmckinney
jpmckinney / yellowapi.rb
Created March 13, 2011 23:02
Access Yellow API with HTTParty
# snippet from HackMTL 2010
require 'httparty'
YELLOW_API_KEY = 'demo'
class String
# Transliterates French accents
def transliterate
{ /[àâ]/ => 'a',
@jpmckinney
jpmckinney / opencalais.rb
Created March 13, 2011 23:04
Access Open Calais API with HTTParty
# snippet from HackMTL 2010
require 'httparty'
OPEN_CALAIS_KEY = 'demo'
class Calais
include HTTParty
base_uri 'api.opencalais.com'
@jpmckinney
jpmckinney / underscore_js_mixins.js
Created March 23, 2011 18:03
Mixins for Underscore.js
// blog post: http://blog.slashpoundbang.com/post/4047203519/mixins-for-underscore-js
_.mixin({
// @param array obj An array of two-element arrays, where the first element is
// the key and the second element is the value.
// @returns object A JavaScript object declaring key-value pairs.
toObj: function (obj) {
return _.reduce(obj, function (memo, array) {
memo[array[0]] = array[1];
return memo;
@jpmckinney
jpmckinney / twitter.add_self_to_list.rb
Created June 1, 2011 23:33
Add yourself to your Twitter list
# blog post: http://blog.slashpoundbang.com/post/6087617126/how-to-add-yourself-to-your-own-twitter-list
#!/usr/bin/env ruby
require 'twitter'
# Replace the four strings below with your own values.
Twitter.configure do |config|
config.consumer_key = 'CONSUMER_KEY'
config.consumer_secret = 'CONSUMER_SECRET'
config.oauth_token = 'OAUTH_TOKEN'
config.oauth_token_secret = 'OAUTH_TOKEN_SECRET'