Thursday, December 16, 2004
I'm still working on the docs for Jalopy. As soon as they're done, I can do an official release and move onto the voidspace facelift. In the meantime I've created an experimental 'Python Runtime Environment'... or 'Python Test Environment'. It's built using py2exe (so windoze only) and bundles together the python interpreter with most of the standard library. It can then run any python script as a standalone. It keeps sensible values for sys.path, sys.argv and __file__.
It's useful for various things, including :
- Testing scripts with multiple versions of python. Have a test environment for Python 2.3, 2.3 *and* 2.4.
- Use python scripts on a machine that doesn't have python installed.
- Bundle several scripts together using py2exe - one build suits all.
I'm using it with wxPython to run DrPython on a machine where I can't install anything. It works fine and I've even associated all '.py' files with 'testenv' on this machine. A build and test environment without having to install anything.... Even SPE will run (which is quite a big application). It complains about a missing DLL and then runs anyway.
Check out Python Test Environment.
I've also finally made the change to Python 2.4. I've done it by configuring distutils to use the free microsoft optimising compiler - VC toolkit. I dun it by following the instructions at - http://www.vrplumber.com/programming/mstoolkit/. This means I can automatically compile most extension modules that don't already have a Python 2.4 build. Because the author of PyCrypto is worried about export restrictions, he has been unable to offer prebuilt binaries. Using my funky new setup I've built a binary installer for it. You can download it here.
PyCrypto has already been downloaded over 80 times. I'm tracking downloads via downman.py, which is my new 'simple download manager'. It's not yet publicly available, but I'm very happy with it. It collects a lot more information than it currently displays - so at some point I'll expand the range of statistics it can produce.
posted by Michael Foord on Thursday, December 16, 2004
Monday, December 06, 2004
"I assert that all progress in computer programming is progress in
improving the mental model in order to make it simpler for us to
manipulate the essential concepts."
This is a quote by Bruce Eckel from http://mindview.net/WebLog/log-0066.
It's a slightly mindy article about static versus dynamic typing (beats
alien versus predator though, at least in my book). The point he is
making here, is that programming languages are supposed to make the
computer speak a 'language' that is more like the human mental model -
and further away from the *real* language that computers speak... The language computers speak isn't even 1s and 0' but electrical impulses . Even the 1s and 0s of
binary are an 'analogy' to make it easier for humans to talk
The 'higher level' the language - the more the computer can be made to
do, using less complexity on the part of the human. The complexity is
built into the language rather than forcing it into the head of the
programmer. Of course there is always a cost.....
posted by Michael Foord on Monday, December 06, 2004