Skip to content

Instantly share code, notes, and snippets.

View sirpengi's full-sized avatar

shu.chen sirpengi

View GitHub Profile
@sirpengi
sirpengi / hmmm.py
Created July 10, 2014 08:18
looks bad when I outline it like this
if:
if:
if not:
raise
if:
elif:
if not:
raise
if:
elif:
@sirpengi
sirpengi / output.txt
Last active August 29, 2015 14:01
some sandpile thing
We couldn’t find that file to show.
@sirpengi
sirpengi / keybase.md
Created March 31, 2014 06:33
keybase.md

Keybase proof

I hereby claim:

  • I am sirpengi on github.
  • I am sirpengi (https://keybase.io/sirpengi) on keybase.
  • I have a public key whose fingerprint is EF6E FAE9 4D6B CA66 8EA2 4C1F B6BE 3624 D5BC 9DA1

To claim this, I am signing this object:

@sirpengi
sirpengi / error.js
Last active August 29, 2015 13:57
roll20 bug
on("ready", function() {
var n = +new Date();
var obj = createObj("rollabletable", {
name: String(n)
});
obj.set("name", "post_" + n);
});
@sirpengi
sirpengi / question
Last active August 29, 2015 13:57
proggitquiz
"If the integers from 1 to 999,999,999 are written as
words, sorted alphabetically, and concatenated, what
is the 51 billionth letter?"
To be precise: if the integers from 1 to 999,999,999
are expressed in words (omitting spaces, 'and', and
punctuation[1]), and sorted alphabetically so that
the first six integers are
eight
@sirpengi
sirpengi / output.txt
Created February 27, 2014 18:40
Look at that O(n)
[sirpengi@localhost tmp]$ python anagrams.py
############# (1.31171178818)
################ (1.60090017319)
################### (1.9009168148)
###################### (2.23292398453)
######################### (2.55905890465)
from collections import Counter
with open("/usr/share/dict/words") as fh:
solutions = {}
for i, line in enumerate(fh.readlines()):
if i > 100000:
break
w = line.lower().strip()
h = tuple(sorted(Counter(w).elements()))
if h not in solutions:
solutions[h] = set()
@sirpengi
sirpengi / lolpaypal.txt
Created November 26, 2013 03:20
Lol, paypal's short message is longer than the long message.
DoExpressCheckoutPayment failed:
{
'ACK': 'Failure',
'TIMESTAMP': '2013-11-26T03:18:22Z',
'L_SEVERITYCODE0': 'Error',
'L_SHORTMESSAGE0': 'Transaction refused because of an invalid argument. See additional error messages for details.',
'L_LONGMESSAGE0': 'A successful transaction has already been completed for this token.',
...
}
@sirpengi
sirpengi / gist:7536374
Created November 18, 2013 22:16
youtube's awesome error message
500 Internal Server Error
Sorry, something went wrong.
A team of highly trained monkeys has been dispatched to deal with this situation.
If you see them, show them this information:
q8tvTqOwLT5ji9a9wG0Llddj-MDpqyJ1XouR3hxmRuTNbNcu_KX36T9aJ2fw
iI0gqMVvBdrg-N1MWH8UZazCKQlx2BQ-Q8c356TX-pioVoQgyfyHoLcvHJOn
7Va6HYO_aRWC0Y1oYX1ael5_BrqOBS-G87TTPZijllTyuswFiilV20k9ICve
@sirpengi
sirpengi / diagonal-sum.clj
Created September 13, 2013 20:21
diagonal sum in clojure
(ns diagonal-sum)
(defn ds-step [[v prev step]]
[(+ v (* 4 prev) (* 10 step)) (+ prev (* 4 step)) (+ step 2)])
(defn ds-seq []
(map first (iterate ds-step [1 1 2])))
(println (take 10 (ds-seq)))