Skip to content

Instantly share code, notes, and snippets.

View cantlin's full-sized avatar

Cantlin Ashrowan cantlin

View GitHub Profile
# home.erb.html
<% @current_user.following.each do |user| %>
<%= user['status'] %><br /><br />
<% end %>
# @current_user.following is a hash from JSON.parse(twitter_response)
# the above returns something like the following once per user
{"in_reply_to_status_id_str"=>nil, "text"=>"This Week In Dylan Lewis John Martin, a must-listen for anyone who follows @dylanljmartin http://thisweekindljm.podomatic.com", "contributors"=>nil, "retweeted"=>false, "in_reply_to_user_id_str"=>nil, "retweet_count"=>0, "id_str"=>"47517965167505408", "source"=>"web", "geo"=>nil, "truncated"=>false, "created_at"=>"Tue Mar 15 04:42:20 +0000 2011", "place"=>nil, "in_reply_to_status_id"=>nil, "favorited"=>false, "coordinates"=>nil, "id"=>47517965167505408, "in_reply_to_screen_name"=>nil, "in_reply_to_user_id"=>nil}
<div class="followed-user <%= cycle('odd odd-row', 'even odd-row', 'odd even-row', 'even even-row') %><% if(followed_user_counter > 20) %> hidden<% end %>">
# "Empty" results when this model method resides in a cache block
# app/models/user.rb
def following(cursor = -1)
Rails.cache.fetch("following/#{id}", :expires_in => 1.hour) do
result = twitter_request_authenticated('get_following', {:cursor => cursor})
followed_users = parse_body(result)['users']
twitter_user_list = []
followed_users.each do |user|
def following(cursor = -1)
Rails.cache.fetch("following/#{id}", :expires_in => 1.hour) do
result = twitter_request_authenticated('get_following', {:cursor => cursor})
followed_users = parse_body(result)['users']
twitter_user_list = []
followed_users.each do |user|
# this_user = TwitterUser.new(:twitter_id => user['id'], :screen_name => user['screen_name'], :name => user['name'], :image => user['profile_image_url'], :location => user['location'])
this_user = {'twitter_id' => user['id'], 'screen_name' => user['screen_name'], 'name' => user['name'], 'image' => user['profile_image_url'], 'location' => user['location']}
this_user['status'] = user['status']['text'] unless user['status'].nil?
twitter_user_list.push this_user
class Suggester
class << self
def variants_for word
[word.downcase, word.capitalize, word.squeeze]
end
def suggestions_for word
suggestions = self.vowel_suggestions_for word
suggestion_variants = []
#! /usr/bin/ruby
require 'dictionary'
require 'suggester'
dict = Dictionary.new
loop do
print '> '
word = gets
class Dictionary
def initialize
@words = read_source
end
def include? word
self.words.include? word
end
# Make sure we have MIME types set up for WOFF, EOT and TT fonts.
# Existing mappings for these extensions are overridden.
AddType application/font-woff .woff # http://www.w3.org/TR/WOFF
AddType application/x-font-ttf .ttf # No standard type for TT
AddType application/vnd.ms-fontobject .eot # iana.org/assignments/media-types/application
# Ensure the JS MIME type is set to what we expect.
AddType application/javascript .js
#! /bin/bash
x=`identify -format "%w" $1`
y=`identify -format "%h" $1`
data=`openssl base64 < $1 | tr -d '\n'`
type=`file --mime-type -b $1`
echo "display:block;
font:0/0 a;
color:transparent;
// Convert an HSBC "previous statement" page into a CSV
var year = 2013,
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var output = '',
rows = $('table').last().find('tr');
rows.each(function(i, row) {
if(i === 1 || i === rows.length - 1) return;