For the last few years, I've been doing most of my programming in Python. Python is a wonderful language that has learned from the mistakes of past languages.
Python has always had a problem with performance. This is not because it is poorly programed, but that most people are more familar w/ C style programming than LISP. I have put together a Python: Best Practices by John-Mark Gurney that explain some of the most common mistakes, and proper ways to fix them. Please send me email on things I should add to this page or if you have any comments.
I added a Python: Tips and Tricks page.
After a suggestion by a friend, I am now making some simple Python scripts that I've written available for download. These scripts are very fragile as they were developed for my own testing or needs, and are not heavily tested. Patches are welcome.
Package | Version | Desciption |
---|---|---|
PyMedS | v0.5 | Python UPnP Media Server |
After Eivind challenged me to figure out what: unsigned i, c = <random number>; for (i = 0; c; i++) c ^= c & -c; printf("%u\n", i);
did, and the helps that such a simple thing can do. I have put together a little page that contains useful bitwise tricks you can do on numbers. Hope you enjoy that page of bitwise tricks.
Package | Version | Desciption |
---|---|---|
btree | v1.0 | an implementation of B-trees |
cgiparse | v0.9b | parse web forms |
fib | v1.1 | Fibonacci heap implementation |
libcache | v1.0 | simple in memory cache library to prevent too many itmes from being stored in memory |
libdata | generic data structure framework | |
libmylib | small library of routines | |
mime | v1.1 | library for decoding mime messages |
mmalloc | malloc restricted to a block of memory | |
prtfwd | forward std{in,out} to a host/port | |
skiplist | v1.1 | poor man's binary tree |
table | convert tab delimited spread sheet to web table | |
ttime | v1.0 | library for manipulating times (add, sub, mul, and convert to/from timespec/timeval) |
Please note that I decided to put this web page together very quickly, so some code may not behave as expected. I checked some of the code out from the head of a branch, so some code may be unstable. I will go more into depth about each code's stability once I flush out each package's page.
All the code above was coded by John-Mark Gurney <jmg@funkthat.com>. If you have any questions, comments, or bug fixes, please send them in.
I do plan on making available a web based mailing list to announce new modules. I haven't writen the cgi for it yet, but do expect it in the near future.