Skip to content

Instantly share code, notes, and snippets.

c0ldlimit / gist:923089083b5c603397d0
Created October 10, 2015 03:58
#python password hashing
import base64
import uuid
import hashlib
def hash_password(password, salt=None):
if salt is None:
salt = uuid.uuid4().hex
hashed_password = hashlib.sha512(password + salt).hexdigest()
# show the contents of the index
git ls-files --stage
# look at contents of a git object
git show [hash]
c0ldlimit /
Created May 6, 2015 19:37
#python formatting floats in python without superfluous zeros
c0ldlimit /
Created May 5, 2015 20:23
#python generate dates for every third friday
import dateutil.rrule as dr
import dateutil.parser as dp
import dateutil.relativedelta as drel
rr = dr.rrule(dr.MONTHLY,byweekday=drel.FR(3),dtstart=start, count=10)
print map(str,rr)
print map(str,rr[::2])
c0ldlimit / fib.cpp
Created April 6, 2015 23:39
#advcpp #hw1
// primary template
template<int i>
struct Fib {
static int const value = Fib<i-1>::value + Fib<i-2>::value;
// specializations to stop recursion
// specialization is indicated
c0ldlimit / gist:17d5e2ba913b6e564693
Last active August 29, 2015 14:18
#youcompleteme vim install
sudo apt-get update
sudo apt-get install build-essential cmake
sudo apt-get install python-dev
#install vundle
git clone ~/.vim/bundle/Vundle.vim
#modify .virmc to use Vundle per
#Add a line like 'Plugin "Valloric/YouCompleteMe"' in bet
# run :PluginInstall to install all the specified plugins from VIM
c0ldlimit / gist:22b636302e79b8a64a30
Created March 18, 2015 18:34
#phantomjs nodejs and selenium install notes
sudo apt-get install nodejs
sudo apt-get install npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
npm -g install phantomjs
pip install selenium
c0ldlimit / gist:5095b384db3595869ebb
Last active August 29, 2015 14:16
#python #windows install notes
cannot find vcvarsall.bat when trying to build Python libraries. Python 2.7 is built with the Visual Studio 2008 compiler and so extension modules must be build with the same compiler. So install VS C++ 2008 Express which will set the VS90COMNTOOLS environment variable. - by default this version will only give you a 32-bit compiler - so it will only work for installing into a 32-bit Python.
Update for x64 Compilers: By default this will only give you a 32-bit compiler. I learned (from here and here) that you can download specifically the Windows SDK for Windows 7 and .NET Framework 3.5 SP1 which gives you a x64 compiler for VC++ 2008 (VC++ 9.0) if you need it. Just when you are installed it, you can uncheck everything except Developer Tools >> Visual C++ Compilers which will keep you from installing all the extra SDK tools that you may not need.
c0ldlimit / lockfreestack.h
Last active August 29, 2015 14:16
Stack::push(int val)
StackHead expected = head.load();
StackItem *newItem = new StackItem(val);
StackHead newHead; = newItem;
do {
newItem->next =;
newHead.count = expected.count + 1;