Skip to content

Instantly share code, notes, and snippets.

View sahglie's full-sized avatar

Steven Hansen sahglie

View GitHub Profile
def subsets(array)
subsets = []
array.each do |elem|
new = subsets.inject([]) { |accum, n| accum << n.dup.push(elem) }
subsets.concat(new)
subsets << [elem]
end
subsets
end
@sahglie
sahglie / gist:654159
Created October 29, 2010 19:00
sudoers
## Allows runner to run all commands
runner ALL=(ALL) ALL
def parse_var(text)
if text.include?(",")
return test.split(",")
elsif text.include?(",")
return test.split(";")
else
[text]
end
end
@sahglie
sahglie / eulers_method.rb
Created February 28, 2011 03:09
Simple program to approximate y if have dy/dt
def eulers_method(range, h, t, y, &block)
calculations = []
calculations << [t, y]
while t <= range.last
slope = yield(t, y)
yn = y + (slope * h)
y = yn
t += h
calculations << [t, yn]
end
@sahglie
sahglie / euler_11.rb
Created July 31, 2011 06:14
Euler number 11
def find_largest_product(matrix)
matrix = matrix.map { |array| array.map(&:to_i) }
sum = 0
0.upto(16) do |i|
0.upto(16) do |j|
m4x4 = extract_4x4_at(i, j, matrix)
candidate_sum = find_4x4_sum(m4x4)
sum = candidate_sum if candidate_sum > sum
end
@sahglie
sahglie / python_euler_37.py
Created August 1, 2011 17:26
python_euler_37
def truncated_subsets(prime):
if len(prime) == 1: return [prime]
subsets = []
for i in range(1, len(prime)):
subsets.append(prime[i:len(prime)])
subsets.append(prime[0:len(prime)-i])
return subsets
def is_truncatable_prime(prime, primes):
subsets = truncated_subsets(prime)
@sahglie
sahglie / ruby_euler_15.rb
Created August 1, 2011 23:37
ruby euler 15
class NxNGrid
class Node
attr_accessor :paths
def initialize(pos)
@pos = pos
end
def to_i
@sahglie
sahglie / gist:1268701
Created October 6, 2011 21:17
efts_controller#update_confirm Bug
def update_confirm
@eft = Eft.find_latest_unconfirmed_edit(@user.student_id)
@eft || (redirect_to(eft_url) && return)
if params[:confirm]
@eft.update_attribute(:confirm_flag, true) ##### @eft.updated_at doesn't get updated #####
Notifier.deliver_confirmation_for_student(@eft.email_address) if Rails.env == "production" && session[:admin_uid].nil?
audit_notification()
redirect_to(completed_eft_url)
else
@sahglie
sahglie / gist:1268708
Created October 6, 2011 21:20
efts_controller#update_confirm Fix
def update_confirm
@eft = Eft.find_latest_unconfirmed_edit(@user.student_id)
@eft || (redirect_to(eft_url) && return)
if params[:confirm]
@eft.update_attribute(:confirm_flag, true)
@eft.touch() ##### Now @eft.updated_at gets updated #####
Notifier.deliver_confirmation_for_student(@eft.email_address) if Rails.env == "production" && session[:admin_uid].nil?
audit_notification()
redirect_to(completed_eft_url)
@sahglie
sahglie / ruby_fun.rb
Created May 13, 2012 00:28
Making ruby act like python
class TestObject
def method_missing(message, *args, &block)
if !self.respond_to?(message) && message[/=/]
self.class.send(:attr_accessor, message[0...-1])
self.send(message, args[0])
else
super
end
end
end