back to BoO

Welcome to John-Mark's PC


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.

PyMedSv0.5Python 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.

C Code

btreev1.0an implementation of B-trees
cgiparsev0.9bparse web forms
fibv1.1Fibonacci heap implementation
libcachev1.0simple in memory cache library to prevent too many itmes from being stored in memory
libdatageneric data structure framework
libmylibsmall library of routines
mimev1.1library for decoding mime messages
mmallocmalloc restricted to a block of memory
prtfwdforward std{in,out} to a host/port
skiplistv1.1poor man's binary tree
tableconvert tab delimited spread sheet to web table
ttimev1.0library 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 <>. 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.

Copyright © 1999-2002 by John-Mark Gurney.
All Rights Reserved.