Skip to content

Instantly share code, notes, and snippets.

@pullmonkey
pullmonkey / gist:1371377
Created November 16, 2011 21:01
formgen sample fields_for2
<div class="fields">
<div class="field">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :image %>
<%= f.file_field :image %>
</div>
</div>
@pullmonkey
pullmonkey / euler_problem_14.rb
Created March 9, 2012 21:23
euler_problem_14
$chain_lengths = {:largest_num => 0, :largest_chain => 0, 1 => 1, 2 => 2}
def get_chain_length_for(n)
return $chain_lengths[n] if $chain_lengths.has_key?(n)
next_n = 3 * n + 1 if n.odd?
next_n = n / 2 if n.even?
return ($chain_lengths[next_n] = get_chain_length_for(next_n)) + 1
end
(2..999999).each do |x|
@pullmonkey
pullmonkey / gist:2502027
Created April 26, 2012 19:03
Spreadsheet gem add header to every page
module Spreadsheet
module Excel
module Writer
class Worksheet
alias_method :write_from_scratch_without_header, :write_from_scratch
def write_header
write_op opcode(:header), [@worksheet.header.bytesize, 0].pack("vC"), @worksheet.header
end
def write_from_scratch
write_header
@pullmonkey
pullmonkey / gist:3179054
Created July 25, 2012 22:18
httpi with curb (spnego and multipart file upload)
require 'rubygems'
require 'httpi'
require 'curb'
# at some point before the request is made you'll need a kerberos ticket
# i.e., kinit -k -t ticket_path
image_path = "/tmp/some_image.jpg"
url = URI.escape("https://some_ssl_spnego_url.com/upload_file_here")
@pullmonkey
pullmonkey / gist:3183134
Created July 26, 2012 16:42
topaz signature pad java code
import java.awt.image.BufferedImage;
import java.beans.Beans;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.logging.FileHandler;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import com.sun.image.codec.jpeg.JPEGCodec;
@pullmonkey
pullmonkey / gist:3188668
Created July 27, 2012 15:28
USB MagTek Card Reader in Ruby
require 'rubygems'
require 'usb' # this is the ruby-usb gem, I'm also using libusb 1.0 and linux
require 'logger'
class MagTek
def initialize
@device = find_device
interface = @device.interfaces.first
@endpoint = interface.endpoints.first
@logger = Logger.new("/var/log/monitor_usb.log")
@pullmonkey
pullmonkey / gist:3188719
Created July 27, 2012 15:36
Using the magtek class in Ruby
require File.dirname(__FILE__) + '/magtek.rb'
require 'logger'
require 'rubygems'
require 'httpi'
require 'curb'
Process.daemon
logger = Logger.new("/var/log/monitor_usb.log")
logger.level = Logger::INFO
@pullmonkey
pullmonkey / gist:3318540
Created August 10, 2012 22:09
Dynamic Select Box Rails code
# create new rails app
# rails new dynamic_select_boxes -m https://raw.github.com/RailsApps/rails3-application-templates/master/rails3-haml-html5-template.rb
# create models:
# rails g model genre name:string
# rails g model artist name:string genre_id:integer
# rails g model song title:string artist_id:integer
# rake db:migrate
@pullmonkey
pullmonkey / gist:3319671
Created August 11, 2012 01:03
dynamic select setup
# create new rails app
rails new dynamic_select_boxes -m https://raw.github.com/RailsApps/rails3-application-templates/master/rails3-haml-html5-template.rb
# create models:
rails g model genre name:string
rails g model artist name:string genre_id:integer
rails g model song title:string artist_id:integer
rake db:migrate
@pullmonkey
pullmonkey / gist:3319679
Created August 11, 2012 01:04
dynamic select seed
3.times do |x|
genre = Genre.find_or_create_by_name(:name => "Genre #{x}")
3.times do |y|
artist = Artist.find_or_create_by_name(:name => "Artist #{x}.#{y}", :genre => genre)
3.times do |z|
Song.find_or_create_by_title(:title => "Song #{x}.#{y}.#{z}", :artist => artist)
end
end
end