Skip to main content


Showing posts from December, 2011

View markdown on Mac OS X

Use the Quicklook plugin from here.

Simpy drop the QLMarkdown.qlgenerator to ~/Library/QuickLook or /Library/QuickLook

Now whenever you select a markdown file (.md) it will format the file and show the formatted version to you through quicklook.

The "page flash" on the kindle

The "page flash" on the Kindle 4 - the sudden turning of all the pixels black and then white, before the page is displayed - occurs every 6 page turns. It seems to be necessary because a certain amount of 'dirt' accumulates inbetween - bold letters (and also normal text) seem to leave traces pixels around the edges of the letters after they have been wiped after a page turn. The 'flash' wipes these pixels out and makes the page look crisp again.

I don't know if this is a flaw in the driver software, or a shortcoming in the e-ink display itself (that leaves the traces).

Quick state machine in Python

SM = { 'INTERTRIAL': {'TRIALSTART': 'TSTART0'}, 'TSTART0': {'TRIALSTART': 'TSTART1'}, 'TSTART1': {'TRIALSTART': 'INTRIAL'}, 'INTRIAL': {'TRIALEND': 'TEND0'}, 'TEND0': {'TRIALEND': 'TEND1'}, 'TEND1': {'TRIALEND': 'INTERTRIAL'} } nextstate = SM[currentstate].get(input,currentstate)

matplotlib installation

sudo make installlibpng (
sudo make installsudo easy_install matplotlib

Changing how numpy arrays are printed

Use numpy.set_printoptions. One of the things I like most about pylab (and numpy) is this flexibility, especially the summarization feature, which, when the array is very large, prints ellipses (...) instead of clobbering you with lines and lines of output. I like to set the threshold low (default is 1000) and I do this with pylab.set_printoptions(threshold=10)

Mac OS X install pytables and h5py

Install tables - need NumPy version 1.6Get NumPy from sourceforge and install - need Python 2.7Install python 2.7 on Lion, open new terminal (or refresh path)curl | pythoncurl | pythonsudo pip install ipythonsudo pip install tablesneed numexpr > 1.4.1, Download anc ompile numexpr -> wants to compile using gcc-4.2sudo ln -s gcc gcc-4.2sudo pip install cythonGet HDf5 from and compileCopy the hdf5 folder whereever you wantpython build --hdf5=/path/to/hdf5 (from the unzipped source of h5py)sudo python install --hdf5=/usr/local/hdf5/ (in the unzipped dir of pytables) In contrast, to get h5py working on Ubuntu:

sudo apt-get install libhdf5-serial-devsudo easy_install h5py

Dealing with strict key checking for SSH


While using sftp (or some other ssh related service) the following warning shows up and we can't use the service:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is b0:a8:eb:30:ce:1a:0e:6a:4d:7a:6b:3a:0a:c6:27:60. Please contact your system administrator. Add correct host key in /Users/xxx/.ssh/known_hosts to get rid of this message. Offending key in /Users/xxx/.ssh/known_hosts:28 RSA host key for has changed and you have requested strict checking. Host key verification failed. Connection closed

Remove the key by doing
sed -i "28 d" ~/.ssh/known_hosts

We kno…

Mac OS Lion

Things I like
New tab in terminal opens in same folderPreview can make pdfs by stringing msic documents together I don't like
Preview is sooo sluggishPreview messes up some transparency in pdfsNo save as (gotta duplicate etc etc)

++i OR i++ ?

From discussions on stack overflow we have:
++i does not expect to return a value while i++ might need to return a value.A modern compiler, for simple data types (i.e. integer) will treat the two the same if the context is right e.g. in a for loopFor an object (e.g. an interator), however, ++i will be faster than i++ because a compiler cannot optimize away the creation of a temporary object for i++