Skip to content

Instantly share code, notes, and snippets.

View jmstacey's full-sized avatar

Jon Stacey jmstacey

View GitHub Profile
### Keybase proof
I hereby claim:
* I am jmstacey on github.
* I am jmstacey (https://keybase.io/jmstacey) on keybase.
* I have a public key ASDAzj5grNTsb1RGvHM2eKUCZ5mqj17DugCq7RZFk7wiCgo
To claim this, I am signing this object:
...
/Users/bamboo/.bup: Permission denied
Traceback (most recent call last):
File "/usr/lib/bup/cmd/bup-midx", line 231, in <module>
git.check_repo_or_die()
File "/usr/lib/bup/bup/git.py", line 850, in check_repo_or_die
init_repo()
File "/usr/lib/bup/bup/git.py", line 827, in init_repo
_git_wait('git init', p)
File "/usr/lib/bup/bup/git.py", line 886, in _git_wait
Jon-Staceys-iMac:Desktop jon$ time jmstacey-rubinius/bin/rbx -X19 -Xprofile ./obj.rb
1000000 objects created.
2000000 objects created.
3000000 objects created.
4000000 objects created.
5000000 objects created.
6000000 objects created.
7000000 objects created.
8000000 objects created.
9000000 objects created.
@jmstacey
jmstacey / obj.rb
Created October 20, 2012 00:22
Object Instance Stress Test
class TestObject
def initialize
@one_var = true
end
end
objects = Array.new
@jmstacey
jmstacey / gist:3890814
Created October 15, 2012 04:23
Rubinius Profiler Graph
Jon-Staceys-iMac:Desktop jon$ time rubinius/bin/rbx -X19 -Xprofile -Xprofiler.graph ./run.rb
500000
===== Thread 1 =====
Total running time: 16.516832237000003s
index % time self children called name
----------------------------------------------------------
[1] 99.8 0.00 16.48 1 Rubinius::Loader#script [1]
0.00 16.48 1 Rubinius::CodeLoader.load_script [2]
-------------------------------------------------------
0.00 16.48 1 Rubinius::Loader#script [1]
@jmstacey
jmstacey / number_to_words.coffee
Created August 17, 2012 20:45
Number to Words (Coffeescript)
NAMES = ['hundred', 'thousand', 'million', 'billion', 'trillion', 'quadrillion', 'quintillion', 'sextillion', 'septillion', 'octillion', 'nonillion', 'decillion', 'undecillion', 'duodecillion', 'tredecillion', 'quattuordecillion', 'quindecillion', 'sexdecillion', 'septendecillion', 'octodecillion', 'novemdecillion', 'vigintillion']
WORDS = { '0': '', '1': 'one', '2': 'two', '3': 'three', '4': 'four', '5': 'five', '6': 'six', '7': 'seven', '8': 'eight', '9': 'nine', '10': 'ten', '11': 'eleven', '12': 'twelve', '13': 'thirteen', '14': 'forteen', '15': 'fifteen', '16': 'sixteen', '17': 'seventeen', '18': 'eighteen', '19': 'nineteen', '20': 'twenty', '30': 'thirty', '40': 'forty', '50': 'fifty', '60': 'sixty', '70': 'seventy', '80': 'eighty', '90': 'ninety' }
to_words = (number) ->
number = number.toString()
string = if (number.replace('-', '') == number) then '' else 'negative'
number = number.replace('-', '')
number = '0' + number while (number.length % 3 != 0)
triplets = number.match(/.../g)
@jmstacey
jmstacey / number_to_words.rb
Created August 17, 2012 18:51
Number to Words (Ruby)
NAMES = ['hundred', 'thousand', 'million', 'billion', 'trillion', 'quadrillion', 'quintillion', 'sextillion', 'septillion', 'octillion', 'nonillion', 'decillion', 'undecillion', 'duodecillion', 'tredecillion', 'quattuordecillion', 'quindecillion', 'sexdecillion', 'septendecillion', 'octodecillion', 'novemdecillion', 'vigintillion']
WORDS = Hash['0', '', '1', 'one', '2', 'two', '3', 'three', '4', 'four', '5', 'five', '6', 'six', '7', 'seven', '8', 'eight', '9', 'nine', '10', 'ten', '11', 'eleven', '12', 'twelve', '13', 'thirteen', '14', 'forteen', '15', 'fifteen', '16', 'sixteen', '17', 'seventeen', '18', 'eighteen', '19', 'nineteen', '20', 'twenty', '30', 'thirty', '40', 'forty', '50', 'fifty', '60', 'sixty', '70', 'seventy', '80', 'eighty', '90', 'ninety' ]
def to_words(number)
triplets = number.to_s.gsub('-', '').split(//).each_slice(3).to_a.each { |a| a.insert(0, '0') while a.size % 3 != 0 }
string = number < 0 ? 'negative' : ''
triplets.each_with_index do |triplet, triplets_index|
string +
@jmstacey
jmstacey / primes_debug.rb
Created December 27, 2010 07:05
Includes output from each thread
# Lucas–Lehmer primality test
# Retrieved from http://rosettacode.org/wiki/Lucas-Lehmer_test
def is_prime?(p)
if p == 2
return true
elsif p <= 1 || p % 2 == 0
return false
else
(3 .. Math.sqrt(p)).step(2) do |i|
if p % i == 0
@jmstacey
jmstacey / gist:755668
Created December 26, 2010 21:55
rubinius crash report hydra branch
Rubinius Crash Report #rbxcrashreport
Error: signal SIGSEGV
[[Backtrace]]
0 rbx 0x0000000100054a30 _ZN8rubiniusL12segv_handlerEi + 160
1 libSystem.B.dylib 0x00007fff8499967a _sigtramp + 26
2 ??? 0x00000001043d3178 0x0 + 4366086520
3 rbx 0x000000010020adcd _ZN8rubinius16GarbageCollector4scanEPNS_13ManagedThreadEb + 157
4 rbx 0x00000001002092ab _ZN8rubinius7BakerGC7collectERNS_6GCDataEPNS_17YoungCollectStatsE + 427
@jmstacey
jmstacey / primes.rb
Created December 26, 2010 21:48
Testing threading in the Rubinius hydra branch
# Lucas–Lehmer primality test
# Retrieved from http://rosettacode.org/wiki/Lucas-Lehmer_test
def is_prime?(p)
if p == 2
return true
elsif p <= 1 || p % 2 == 0
return false
else
(3 .. Math.sqrt(p)).step(2) do |i|
if p % i == 0