Skip to content

Instantly share code, notes, and snippets.

@ErinCall
ErinCall / gist:1135337
Created August 9, 2011 22:10
lexical scope in if-block in perl
§ perl
use strict;
if (0) {
my $foo = 'albertsons';
}
print "->$foo<-"
Global symbol "$foo" requires explicit package name at - line 5.
Execution of - aborted due to compilation errors.
@ErinCall
ErinCall / gist:1138231
Created August 10, 2011 20:54
{}.update
>>> foo = { 'a': 1, 'b': 2 }
>>> foo.update({'b': 444444, 'c': 3});
>>> foo
{'a': 1, 'c': 3, 'b': 444444}
@ErinCall
ErinCall / gist:1230967
Created September 21, 2011 01:37
ok so this probably isn't what I should be doing, but it definitely isn't what python should be doing
>>> def foo(bar=None):
... def baz():
... if not bar: bar = 'goo'
... print bar
... baz()
...
>>> foo()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 5, in foo
Diseased Vermin
Damia, Sage of Stone
Blightwidow
Core Prowler
Fuel for the Cause
Phyrexian Crusader
Phyrexian Digester
Phyrexian Hydra
Phyrexian Juggernaut
Phyrexian Vatmother
@ErinCall
ErinCall / gist:1444091
Created December 7, 2011 18:54
I can't believe this is legal python. Not only does it compile it runs without exception
>>> def doathing():
... def printathing():
... print a
...
... for a in [ 'a', 'b']:
... printathing()
...
>>> doathing()
a
b
@ErinCall
ErinCall / gist:1444115
Created December 7, 2011 18:59
JS behaving the same way as Python did
>>> var doathing = function() { var printathing = function() { console.log(wootabaga) }; for (var wootabaga = 0; wootabaga <= 1; wootabaga++) { printathing() }}
undefined
>>> doathing();
0
1
undefined
@ErinCall
ErinCall / gist:1577622
Created January 8, 2012 07:45
Annotated the rvm install script https://raw.github.com/gist/323731
#!/usr/bin/ruby
# This script installs to /usr/local only. To install elsewhere you can just
# untar https://github.com/mxcl/homebrew/tarball/master anywhere you like.
#the first thing it does is define a bunch of methods to make things easier further on.
#That makes for sorta uncomfortable reading, since sometimes you can see *what* it's doing,
#but not *why* it's doing it. If you're mystified as to the purpose of something, go look
#at how it's used and see if that illuminates matters.
#Terminals use numbered control codes to indicate colors. It is inconvenient to try
@ErinCall
ErinCall / gist:1658586
Created January 22, 2012 20:03
I wrote a test that failed so hard it killed spork
/Users/andrew/.rvm/gems/ruby-1.9.2-p180@railstut/gems/spork-0.8.5/lib/spork/forker.rb:50: [BUG] pthread_mutex_lock: Invalid argument (EINVAL)
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.8.0]
-- control frame ----------
c:0012 p:---- s:0045 b:0045 l:000044 d:000044 CFUNC :raise
c:0011 p:0083 s:0041 b:0041 l:000770 d:000770 METHOD /Users/andrew/.rvm/gems/ruby-1.9.2-p180@railstut/gems/spork-0.8.5/lib/spork/forker.rb:50
c:0010 p:0055 s:0037 b:0037 l:000a10 d:000a10 METHOD /Users/andrew/.rvm/gems/ruby-1.9.2-p180@railstut/gems/spork-0.8.5/lib/spork/run_strategy/forking.rb:17
c:0009 p:0023 s:0031 b:0031 l:000030 d:000030 METHOD /Users/andrew/.rvm/gems/ruby-1.9.2-p180@railstut/gems/spork-0.8.5/lib/spork/server.rb:47
c:0008 p:0098 s:0025 b:0025 l:000024 d:000024 METHOD /Users/andrew/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1558
c:0007 p:0146 s:0021 b:0021 l:000020 d:000020 METHOD /Users/andrew/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1518
@ErinCall
ErinCall / gist:2026022
Created March 13, 2012 01:26
it makes a tiny difference!
# building separately...
$ java -jar scripts/build-mailing-create/tools/closure-compiler/compiler.jar --warning_level QUIET media/js/mailing-create/e2ma/e2ma.save.js --js_output_file e2ma.save.min.js
$ java -jar scripts/build-mailing-create/tools/closure-compiler/compiler.jar --warning_level QUIET media/js/mailing-create/e2ma/e2ma.js --js_output_file e2ma.min.js
$ cat e2ma.save.min.js e2ma.min.js >| all1.js
# building all-at-once...
$ java -jar scripts/build-mailing-create/tools/closure-compiler/compiler.jar --warning_level QUIET --js media/js/mailing-create/e2ma/e2ma.save.js --js media/js/mailing-create/e2ma/e2ma.js --js_output_file all2.js
<script id="template-item" type="text/html">
<li class="template e2ma-get-new-template" data-id="${id}" data-name="${name}">
<span><img src="${image}" alt="${name}" title="${name}" /></span>
<p>${name}</p>
</li>
</script>