User:Mstone/Tricks

From OLPC
< User:Mstone
Revision as of 21:01, 23 September 2008 by Mstone (talk | contribs)
Jump to: navigation, search
verbose python tracebacks
Just import nice_traces; if you're feeling fancy, then consider trace(sys.exc_info())
verbosity controls on logging
See trac_helper.py
pythonic relations
See my relation module and Alloy (which was my inspiration, though I've made nothing more than a poor knockoff).
relational error logging
See trac_helper.py and collect-pkgs.py.
email-based error reporting
See email_warnings.py.
rpm makefiles
See rpm-packaging as well as individual projects like [1] along with my Fedora packaging bibliography.
pymeta parser-based controllers
triagebot is based on a model-view-controller architecture where the controller object is assembled at runtime based on data collected with a metaclass.
pymeta makes it easy to pick the right response to complicated input.
python gdb macros
http://wiki.python.org/moin/DebuggingWithGdb
python memory profiling
guppy + Tomeu's memory leak testing writeup.
tree-based python context management
puritan's main.py
custom dbus decorators
sds stub
code to make pylint happy
rainbow's inject.py can be automatically checked for many errors by pylint because it passes all data explicitly through function calls.
C error handling
nss-rainbow uses a dash of code-generation and a lot of convention to be very consistent about error detection and handling.