This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# show the contents of the index | |
git ls-files --stage | |
# look at contents of a git object | |
git show [hash] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#http://stackoverflow.com/questions/2440692/formatting-floats-in-python-without-superfluous-zeros | |
#https://docs.python.org/2/library/string.html#format-specification-mini-language | |
'{0:g}'.format(3.140) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#http://stackoverflow.com/questions/2295765/generating-recurring-dates-using-python | |
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]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<iostream> | |
// 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo apt-get update | |
sudo apt-get install build-essential cmake | |
sudo apt-get install python-dev | |
#install vundle https://github.com/gmarik/Vundle.vim#about | |
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim | |
#modify .virmc to use Vundle per https://github.com/gmarik/Vundle.vim#about | |
#Add a line like 'Plugin "Valloric/YouCompleteMe"' in bet | |
# run :PluginInstall to install all the specified plugins from VIM |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | |
http://go.microsoft.com/?linkid=7729279 - by default this version will only give you a 32-bit compiler - so it will only work for installing into a 32-bit Python. | |
http://stackoverflow.com/questions/2817869/error-unable-to-find-vcvarsall-bat | |
http://stackoverflow.com/a/18045219 | |
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void | |
Stack::push(int val) | |
{ | |
StackHead expected = head.load(); | |
StackItem *newItem = new StackItem(val); | |
StackHead newHead; | |
newHead.link = newItem; | |
do { | |
newItem->next = expected.link; | |
newHead.count = expected.count + 1; |
NewerOlder