Skip to content

Instantly share code, notes, and snippets.


Michael Kohl citizen428

View GitHub Profile
citizen428 / safaritweet.rb
Created Feb 27, 2009
Tweet the currently active Safari tab
View safaritweet.rb
#!/usr/bin/ruby -W0
Quick and dirty way to tweet the currently active
Safari tab (title + shortened URL). Hashtags get
passed in as parameters (the hash sign gets added
by the script, so don't do it yourself)
Adapt to your needs!
View Rubinius build problem stackfull branch
OS X 10.5.6, GCC 4.0.1 (Apple Inc. build 5490)
vm/test/cxxtest/cxxtest/TestSuite.h: In function 'bool CxxTest::equals(X, Y) [with X = rubinius::Object*, Y = rubinius::MethodContext*]':
vm/test/cxxtest/cxxtest/TestSuite.h:56: instantiated from 'void CxxTest::doAssertEquals(const char*, unsigned int, const char*, X, const char*, Y, const char*) [with X = rubinius::Object*, Y = rubinius::MethodContext*]'
./vm/test/test_instructions.hpp:368: instantiated from here
vm/test/cxxtest/cxxtest/TestSuite.h:47: error: comparison between distinct pointer types 'rubinius::Object*' and 'rubinius::MethodContext*' lacks a cast
rake aborted!
Command failed with status (1): [gcc -Ivm/external_libs/libtommath -Ivm/ext...]
citizen428 / lyrics.rb
Created Mar 18, 2009
Googles for the lyrics of the currently playing song in a new Safari window
View lyrics.rb
require 'rbosa'
song ='iTunes')\(.*\)/, '').gsub(/\s/,'%20')
system("open -a Safari{song}+lyrics")
citizen428 / rps.rb
Created Mar 27, 2009
Rock-paper-scissors Sinatra app
View rps.rb
require 'rubygems'
require 'sinatra'
get '/' do
erb :index
post '/' do
erb :index
View filter.rb
module Enumerable
# operand can be a String or a Symbol
def filter(operand, value)
raise(ArgumentError, "Invalid operator") unless %w(> < >= <= ==).include?(operand.to_s)
return self if self.class == String { |el| el.send(operand, value) }
View TextMate command for posting to the RubyLearning forums
#!/usr/bin/env ruby
src ='<', '&lt;').gsub('"', '\"')
`echo "[code ruby]\n#{src}\n[/code]\n" | pbcopy `
View gist:117571
results =
`awk '{print $1}' ~/.bash_history`.split.each { |c| results[c] += 1 }
results.sort_by { |e| -e[1] }.each { |k, v| puts "#{k}: #{v}" }
citizen428 / LazyLists.rb
Created Jun 18, 2009
Quick and dirty lazy lists in Ruby, based on Hashes. This is just a quick proof of concept hack, not a real implementation.
View LazyLists.rb
class LazyList
def initialize(&block)
@ll = &block
def take(x)
(1..x).inject([]) { |ret, i| ret << @ll[i] }
def take_from(x,y=1)
View gist:137675
def get_random_char
(r = rand(36)) < 26 ? (?a+r).chr : (?0+r-26).chr
# building a string using the above method
def generate_string(len)
raise ArgumentError if len < 1
(1..len).map { get_random_char }.join
View Project Euler problem 1 in Potion
Number dividesBy = (x):
self % x == 0.
sum = 0
1 to 999 (x):
if (x dividesBy(3) || x dividesBy(5)): sum += x
(sum, "\n") join print
You can’t perform that action at this time.