Skip to content

Instantly share code, notes, and snippets.

View stewartpark's full-sized avatar
🏠
Working from home

Stewart Park stewartpark

🏠
Working from home
View GitHub Profile
@stewartpark
stewartpark / monty_hall_simul.py
Last active February 25, 2016 08:59
Monty Hall Problem
"""
https://en.wikipedia.org/wiki/Monty_Hall_problem
"""
import random
def do_game(change_selection):
# Initial door
doors = [1, 0, 0]
from pyquery import PyQuery as pq
import requests
open('./video.mp4', 'wb').write(requests.get(pq(url=pq(url='http://dogvideos.tumblr.com/post/93519938318/videohall-how-dogs-react-to-human-barking')('iframe').attr('src'))('video source').attr('src')).content)
@stewartpark
stewartpark / mergesort.py
Created January 29, 2016 23:35
Merge sort
"""
Merge sort
"""
first = lambda l: l[0] if len(l) else None
last = lambda l: l[-1] if len(l) else None
first_half = lambda l: l[:len(l)/2]
last_half = lambda l: l[len(l)/2:]
merge = lambda a, b: (
[first(a)] + merge(a[1:], b) if first(a) < first(b) else [first(b)] + merge(a, b[1:])
@stewartpark
stewartpark / aggregate_gb.py
Last active January 21, 2016 01:53
Aggregate the console output of `ag` and git blame it.
from collections import Counter, defaultdict
from subprocess import check_output
import sys
import re
name_extractor=re.compile(r"\(.+?\)")
e=defaultdict(set)
try:
while True:
@stewartpark
stewartpark / slack_coverage.py
Last active August 7, 2017 12:33
Automated test coverage report. (Jenkins<3Slack)
"""
Slack coverage.py notifier.
Stewart Park <stewartpark92@gmail.com>
It reports test coverage to a Slack channel as a Jenkins bot.
Add this as a post-build/build step once coverage.py generates the html report.
Once everything is properly set up, you can add a badge on your README like below:
[![Coverage.py](http://<jenkins-host>/job/<job-name>/coveragepy/badge.svg)](http://<jenkins-host>/job/<job-name>/coveragepy/)
@stewartpark
stewartpark / xor_dec.py
Created October 13, 2015 16:21
Foobar password decryption
#!/usr/bin/env python3
from functools import lru_cache
"""
The encryption equation is given as:
D_i = (129M_i) XOR (M_(i-1)) (mod 256)
where D denotes a encrypted string, M is the message.
Thus, the message equation derived from the original equation should be:
@stewartpark
stewartpark / xor.py
Created October 12, 2015 08:17
Simple XOR learning with keras
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD
import numpy as np
X = np.array([[0,0],[0,1],[1,0],[1,1]])
y = np.array([[0],[1],[1],[0]])
model = Sequential()
model.add(Dense(8, input_dim=2))
from __future__ import print_function
from collections import OrderedDict
N = input()
raw_records = map(lambda x: raw_input(), xrange(N))
records = OrderedDict()
# Since the syntactic correctness is given in the example, and also the order of the names can be simplified to the length of the name,
occurence = lambda x, y: len(x) - len(x.replace(y, ''))
order = lambda x: (10 * len(x.split())) - occurence(x, '.')
@stewartpark
stewartpark / hashitout.py
Created October 11, 2015 21:32
Foo.bar hash it out
#!/usr/bin/env python
def memoize(f):
memo = {}
def helper(*args):
x = str(args)
if x not in memo:
memo[x] = f(*args)
return memo[x]
return helper
@stewartpark
stewartpark / gist:ed4327df81accd192bf2
Created October 11, 2015 20:01
taco-recommend.md
Ezpz. :D
https://taco-spolsky.github.io/?____valueOf#|checksum=9284326|Stewart Park=