Skip to content

Instantly share code, notes, and snippets.

View hobson's full-sized avatar

Hobson Lane hobson

View GitHub Profile
hobson /
Created September 24, 2021 03:32
Noninteractive anaconda install of the latest version on linux
ANACONDA_FILENAME=$(curl "$ANACONDA_URL/index.html" | grep -E -o "$ANACONDA_PATTERN" | tail -n 1)
echo "Anaconda Installer URL: $ANACONDA_INSTALLER_URL"
# anaconda
sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
hobson /
Last active April 13, 2018 17:41 — forked from DavidYKay/
Simple color balance algorithm using Python 2.7.8 and OpenCV 2.4.10. Ported from:
""" 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.
- Color balance algorithm in [OpenCV](
- Ported to python by [DavidYKay](
- Optimized (`O(N^2)` -> `O(N)`) by @alxrsngartn funded in part by NSF grant number 1722399 to [Aira]( (@jmeyers-aira)
- Incorporated into [nlpia]( by @hobson
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
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.
"""Attempt to confirm results in paper by Miller and Sanjurjo
["Confused by the Gambler's and Hot Hand Falacy?..."](
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 /
Created January 6, 2015 19:39
def walk_level(path, level=1):
"""Like os.walk, but takes `level` kwarg that indicates how deep the recursion will go.
TODO: refactor `level`->`depth`
hobson /
Last active August 29, 2015 14:09
install 64-bit version of sublime text 2 editor in linux
SHORTCUT="[Desktop Entry]
Name=Sublime Text 2
Comment=Edit text files
hobson /
Last active August 29, 2015 14:07
Shellshock bash patch and vulnerability tests, manually compiled and installed -- no package manager required
# 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
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
# install pip & virtualenv
# create a virtual environment for your webapp
# install django in the new virtualenv
cd ~/tmp
# go directly to the source to get the latest and greatest