Skip to content

Instantly share code, notes, and snippets.

View toddsiegel's full-sized avatar

Todd Siegel toddsiegel

  • Solera Software, Inc.
  • Denver, CO
  • 20:01 (UTC -06:00)
View GitHub Profile
@toddsiegel
toddsiegel / gist:9453514
Created March 9, 2014 19:52
Queries To Help with Tuning MySQL
-- Determine size of databases
-- Source: http://stackoverflow.com/questions/1733507/how-to-get-size-of-mysql-database
SELECT table_schema "DB Name", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
FROM information_schema.tables
GROUP BY table_schema;
-- Size in MB of the innodb_buffer_pool_size. Default is 128 MB.
-- More here: http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size
SELECT @@innodb_buffer_pool_size / 1024 / 1024
@toddsiegel
toddsiegel / gist:7474971
Last active August 18, 2023 21:59
Dependecy Injection
class Payment
def process(gateway)
gateway.verify(self) # duck typed.
end
end
class PaymentTest
def test_process
payment = Payment.new
payment.process(MockGatway.new)
[~/Projects/exercism]$ ruby ruby/rna-transcription/rna-transcription_test.rb
Run options: --seed 51147
# Running tests:
EEEEE
Finished tests in 0.001201s, 4163.1973 tests/s, 0.0000 assertions/s.
1) Error:
# invoices_controller.rb
helper_method :available_filters
def index
@invoices = Invoice.send(filter_scope)
end
private
def available_filters
@toddsiegel
toddsiegel / gist:4286455
Created December 14, 2012 15:57
Ruby anagram finder that fit in a tweet.
IO.readlines("/usr/share/dict/words").map{|w| w.chomp}.select{|w| w.downcase.chars.sort.join == word.chars.sort.join}.reject{|w| w == word}
@toddsiegel
toddsiegel / gist:4243843
Created December 9, 2012 08:01
Array#move: Move the first matched element in an array. Safely wraps and supports negative distances
class Array
def move(element, distance)
current_pos = index(element)
return self if current_pos.nil?
new_pos = (current_pos+distance) - ((current_pos+distance)/length)*length
delete(element)
insert(new_pos, element)
end
end