Skip to main content

Posts

Showing posts from August, 2007

Perfect Chaos

matplotlib has a very artistic line color choice algorithm.

GUIs are evil

Well, not really. Like most things a GUI is neither good nor evil, but a shade of something in between. However, for a while, before I caught myself, I was spending large amounts of time writing GUIs for analysis. Time that would have been better spent writing analysis code and debugging it and documenting it and writing papers as a result of it. I taped a piece of paper in front of my desk that said 'NO GUIs' to remind myself.

Programming a GUIs is a time trade. Creating a GUI trades time now for time later. The catch is that the time later usually goes to an 'end user' rather than you.

When to write a GUI:
A GUI for MATLAB or Python is good for code that will be repeatedly used to run analysis by people who have no interest in knowing the underlying code.A GUI is good for tasks that have a strong visual component: this means analysis that is done by displaying data on screen on which you have to indicate things by clicking on them.Your analysis code is all finished and …

Loading matlab binary (.mat) files into python

It happens. You have old data in matlab .mat format or your colleagues insist, for some obscure reason, on using MATLAB. You need scipy.io.loadmat and scipy.io.savemat from scipy.

import scipy.io
X = scipy.io.loadmat('mydata.mat')

X now contains a dictionary whose keys correspond to the variable names saved in the original mat file.

UPDATE:
Nested dictionaries seem to be a problem. A kind soul has a short set of methods that converts nested dictionaries here.

UPDATE:

Look here (scipy cookbook) for how to handle mat files from recent versions of matlab

Gravity Pods

I was looking for a 'game' just like this!



Set your initial trajectory so that the projectile winds is way to the target following a iso-potential line. Adjust sources and 'sinks' of gravity to adjust the iso-potential lines so that your projectile hits the target.

Betch'a didn't even think of iso-potential lines as you were busily setting up that rube-goldberg contraption!