Doug Hellmann

https://twitter.com/doughellmann

Doug Hellmann is a Senior Software Engineer at Racemi and former Editor in Chief for Python Magazine. He has been programming in Python since version 1.4, and prior to Python worked mostly with C on a variety of Unix and non-Unix platforms. He has worked on projects ranging from mapping to medical news publishing, with a little banking thrown in for good measure. He is interested in usability, development processes, and dynamic languages. As a recent convert to Mac OS X, he is learning AppleScript and Objective C. Doug spends his spare time working on several open source projects; reading science fiction, history and biographies; writing the Python Module of the Week blog series; and enjoying his new patio. He lives in Athens, GA with his wife and cats.

Recent Posts | All O'Reilly Posts

Doug blogs at:
http://oreilly.com/blogs/

PyMOTW: Creating XML Documents with ElementTree

March 21 2010

In addition to its parsing capabilities, ElementTree also supports creating well-formed XML documents from Element objects constructed in your application. read more

PyMOTW: Parsing XML Documents with ElementTree

March 14 2010

Python's xml.etree.ElementTree library makes it easy to use XML data in your application or library. read more

PyMOTW: tabnanny - Indentation validator

March 07 2010

Consistent use of indentation is important in a langauge like Python, where white-space is significant. The tabnanny module provides a scanner to report on "ambiguous" use of indentation. read more

PyMOTW: cgitb - Detailed traceback reports

January 30 2010

cgitb was originally designed for showing errors and debugging information in web applications. It was later updated to include plain-text output as well, but unfortunately wasn't renamed. This has lead to obscurity and the module is not used as often as it should be. Nonetheless, cgitb is a valuable debugging… read more

PyCon 2010 Invited Speakers

December 06 2009

The list of invited speakers for PyCon 2010 has been announced, and I'm looking forward to seeing all of them. read more

PyMOTW: sys, Part 6: Low-level Thread Support

November 15 2009

sys includes low-level functions for controlling and debugging thread behavior. read more

PyMOTW: sys, Part 5: Tracing Your Program As It Runs

November 08 2009

There are two ways to inject code to watch your Python program run: tracing and profiling. They are similar, but intended for different purposes and so have different constraints. The easiest, but least efficient, way to monitor your program is through a trace hook, which can be used for writing… read more

PyMOTW: sys, Part 4: Exception Handling

November 01 2009

sys includes features for trapping and working with exceptions. read more

PyMOTW: sys, Part 3: Memory Management and Limits

October 25 2009

Python's sys module includes several functions for understanding and controlling memory usage. read more

PyMOTW: sys, Part 2: Runtime Environment

October 18 2009

sys provides low-level APIs for interacting with the system outside of your application, by accepting command line arguments, accessing user input, and passing messages and status values to the user. read more

PyMOTW: sys, Part 1: Interpreter Settings

October 12 2009

sys contains attributes and functions for accessing compile-time or runtime configuration settings for the interpreter. read more

PyMOTW: resource - System resource management

September 20 2009

The functions in Python's resource module help you probe the current resources consumed by a process, and place limits on them to control how much load your program places on a system. read more

PyMOTW: fractions - Rational Numbers

September 05 2009

Python's Fraction class implements numerical operations for rational numbers. read more

PyMOTW: decimal - Fixed and floating point math

August 30 2009

The decimal module implements fixed and floating point arithmetic using the model familiar to most people, rather than the floating point representation implemented by most computer hardware. read more

PyMOTW: dis - Python Bytecode Disassembly

August 23 2009

The dis module converts code objects to a human-readable representation of the bytecodes for analysis. read more

PyMOTW: pydoc - Online help for Python modules

August 09 2009

The pydoc module imports a Python module and uses the contents to generate help text at runtime. read more

PyMOTW: In-Memory Data Structures

August 02 2009

Python includes several standard programming data structures as built-in types (list, tuple, dictionary, and set). Most applications won't need any other structures, but when they do the standard library delivers. read more

PyMOTW: Text Processing Tools

July 27 2009

Python's standard library includes a variety of tools for working with text data. read more

PyMOTW: urllib2

July 19 2009

The urllib2 module provides an updated API for using internet resources identified by URLs. It is designed to be extended by individual applications to support new protocols or add variations to existing protocols (such as handling HTTP basic authentication). read more

PyMOTW: abc - abstract base classes

July 05 2009

Define and use abstract base classes for API checks in your code using the abc module. read more

PyMOTW: pyclbr

June 28 2009

pyclbr can scan Python source to find classes and stand-alone functions. The information about class, method, and function names and line numbers is gathered using tokenize without importing the code. read more

PyMOTW: robotparser

June 21 2009

robotparser implements a parser for the robots.txt file format, including a simple function for checking if a given user agent can access a resource. It is intended for use in well-behaved spiders or other crawler applications that need to either be throttled or otherwise restricted. read more

PyMOTW: gettext

June 14 2009

The gettext module provides an all-Python implementation compatible with the GNU gettext library for message translation and catalog management. read more

PyMOTW: json

May 24 2009

The json module provides an API similar to pickle for converting in-memory Python objects to a serialized representation known as "JavaScript Object Notation". read more

PyMOTW: multiprocessing, part 2

April 28 2009

Communication and synchronization techniques using multiprocessing in Python. read more

PyMOTW: multiprocessing, part 1

April 19 2009

The multiprocessing module includes a relatively simple API for dividing work up between multiple processes based on the API for the threading module. read more

PyMOTW: pipes

April 05 2009

The pipes module implements a class to create arbitrarily complex Unix command pipelines. Inputs and outputs of the commands can be chained together as with the shell | operator, even if the individual commands need to write to or read from files instead of stdin/stdout. read more

PyMOTW: asynchat

March 14 2009

The asynchat module builds on asyncore to make it easier to implement protocols based on passing messages back and forth between server and client. read more

PyMOTW: asyncore

March 01 2009

The asyncore module includes tools for working with I/O objects such as sockets so they can be managed asynchronously (instead of, for example, using threads). read more

PyMOTW: tarfile

February 22 2009

The tarfile module provides read and write access to UNIX tar archives, including compressed files. In addition to the POSIX standards, several GNU tar extensions are supported. read more

PyMOTW: grp

February 15 2009

The grp module can be used to read information about Unix groups from the group database (usually /etc/group). read more

PyMOTW: pwd

February 08 2009

The pwd module can be used to read user information from the Unix password database (usually /etc/passwd). read more

Writing Technical Documentation with Sphinx, Paver, and Cog

February 02 2009

An open source tool chain for producing technical articles. read more

Converting from Make to Paver

January 18 2009

Paver is a useful alternative to make, especially for Python-based packages. read more

PyMOTW: compileall

January 18 2009

The compileall module finds Python source files and compiles them to the byte-code representation, saving the results in .pyc or .pyo files. read more

PyMOTW: bz2

January 04 2009

The bz2 module is an interface for the bzip2 library, used to compress data for storage or transmission. read more

PyMOTW: zlib

December 28 2008

The zlib module provides a low-level interface to many of the functions in the zlib compression library from GNU. read more

PyMOTW: gzip

December 07 2008

The gzip module provides a file-like interface to GNU zip files, using zlib to compress and uncompress the data. read more

PyMOTW: readline

November 30 2008

readline – Interface to the GNU readline library Purpose:Provides an interface to the GNU readline library for interacting with the user at a command prompt. Python Version:1.4 and later The readline module can be used to enhance interactive command... read more

PyMOTW: array

November 10 2008

The array module defines an efficient sequence data structure that works like a standard Python list. read more

PyMOTW: struct

November 02 2008

struct – Working with Binary Data Purpose:Convert between strings and binary data. Python Version:1.4 and later The struct module includes functions for converting between strings of bytes and native Python data types such as numbers and strings. Functions vs.... read more

PyMOTW: smtpd

October 19 2008

The smtpd module includes classes for building simple mail transport protocol servers. It is the server-side of the protocol used by smtplib. read more

PyMOTW: trace

October 13 2008

read more

Recent Posts | All O'Reilly Posts

Doug Hellmann