Skip to content

Instantly share code, notes, and snippets.

View hobson's full-sized avatar
💭
dev4

Hobson Lane hobson

💭
dev4
View GitHub Profile
@hobson
hobson / patch-bash.sh
Last active August 29, 2015 14:07
Shellshock bash patch and vulnerability tests, manually compiled and installed -- no package manager required
#!/bin/sh
# Manually patch and compile bash for systems like FC16 that don't have shellshock protection
# availalbe through their package managers.
# sudo yum install patch byacc texinfo bison autoconf gettext ncurses-devel
VERSION1=4
VERSION2=2
VERSION_PATCH=52
@hobson
hobson / install-sublime-text-x64.sh
Last active August 29, 2015 14:09
install 64-bit version of sublime text 2 editor in linux
#!/bin/sh
SHORTCUT="[Desktop Entry]
Name=Sublime Text 2
Comment=Edit text files
Exec=/usr/local/sublime-text-2/sublime_text
Icon=/usr/local/sublime-text-2/Icon/128x128/sublime_text.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Utility;TextEditor;"
@hobson
hobson / tree_walking.py
Created January 6, 2015 19:39
tree_walking.py
def walk_level(path, level=1):
"""Like os.walk, but takes `level` kwarg that indicates how deep the recursion will go.
Notes:
TODO: refactor `level`->`depth`
References:
http://stackoverflow.com/a/234329/623735
Args:
"""Attempt to confirm results in paper by Miller and Sanjurjo
["Confused by the Gambler's and Hot Hand Falacy?..."](http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2627354)
Calculate the probability of a streak of length 2 in a coin flip
for a small sequence of attempts ("finite sequence of iid Bernoulli trials").
The fencepost counting issue means you have to ignore one of the flips.
Perhaps this is what causes Miller and Sanjurjo to get 0.4 instead of 0.5.
"the conditional relative frequency... is 0.4 not 0.5"
"""
from random import randint
@hobson
hobson / BYOB-Learn-to-be-Logical.ipynb
Created August 18, 2015 04:54
Tech Fest Northwest Workshop -- BYOB: Build Your Own Brain
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
r"""Faulty positive semidefinite matrix generator
Using a normally distributed random matrix it's pretty
rare that you'll get a semidefinite matrix from the product,
even for low dimensions. For 3 dimensions you have about a 0.001%% yield
>>> pos_semi_matrices = generate_positive_semidefinite_matrices(num_samples=1000)
6.7% were positive semidefinite and not positive definite
45.5% were positive definite
52.2% were positive semidefinite
# Install python and some binary-dependencies from source in the user directory
# useful for Django webapps on shared hosts like Dreamhost
# BerkelyDB v 4.8 is supported by python 2.7 but not 5.3
# In addition, the bsddb module was deprecated in Python 2.6 and will be removed in 3.0
# So all this BDB stuff isn't useful, but does no harm
# linuxfromscratch.com has patch that can make python 2.7 work with BerkelyDB, if you need it
BDBVER=5.3.21
BDBVE=5.3
export LDFLAGS="-L$HOME/local/lib -L$HOME/local/BerkeleyDB.$BDBVE/lib"
# install pip & virtualenv
# create a virtual environment for your webapp
# install django in the new virtualenv
cd ~/tmp
PYVE=2.7
PYVER=2.7.3
STVER=0.6c11
# go directly to the source to get the latest and greatest
wget http://pypi.python.org/packages/$PYVE/s/setuptools/setuptools-$STVER-py$PYVE.egg#md5=fe1f997bc722265116870bc7919059ea
@hobson
hobson / gist:6802139
Created October 2, 2013 23:35
`cygcheck -d -c` Cygwin Package Information. Kind of like requirements.txt for Cygwin. This was sufficient for installing pip and `pip install numpy` (compiled/linked with gcc).
_autorebase 000013-1
_update-info-dir 00236-1
alternatives 1.3.30c-10
autobuild 5.3-1
autoconf 13-1
autoconf2.1 2.13-12
autoconf2.5 2.69-2
automake 9-1
automake1.13 1.13.4-1
automake1.14 1.14-1
@hobson
hobson / simple_cb.py
Last active April 13, 2018 17:41 — forked from DavidYKay/simple_cb.py
Simple color balance algorithm using Python 2.7.8 and OpenCV 2.4.10. Ported from: http://www.morethantechnical.com/2015/01/14/simplest-color-balance-with-opencv-wcode/
""" White balance (color balance)
Adjust colors to flatten color histogram peaks and broaden color spectrum for better color contrast.
This is also sometimes called white balancing or probability distribution whitening.
References:
- Color balance algorithm in [OpenCV](http://www.morethantechnical.com/2015/01/14/simplest-color-balance-with-opencv-wcode/)
- Ported to python by [DavidYKay](https://github.com/DavidYKay)
- Optimized (`O(N^2)` -> `O(N)`) by @alxrsngartn funded in part by NSF grant number 1722399 to [Aira](http://github.com/aira) (@jmeyers-aira)
- Incorporated into [nlpia](github.com/aira/nlpia) by @hobson