April 30th, 2011 § § permalink
I — like most people comfortable with my relatively sane (yet limited) knowledge of Python — rarely go and read the python docs except when I know what I’m looking for. For example, I have a window open to itertools and collections open a lot more than I care to admit (I love you namedtuple. I loves you so much), but I rarely go off looking for new things/stuff that’s changed.
For those few of you (and really, it should only be a few of you) who don’t know — Raymond Hettinger is a python core developer and author/maintainer of quite a few interesting modules within the standard library (and a constant stream of ASPN recipes). Raymond is also highly active on python-dev and other lists the subject of this post being python-list (the one list I refuse to join just due to the time/attention tradeoff).
Oh, he’s also a current member of the Python Software Foundation board of directors. To say he’s active would be an understatement.
Back to the subject at hand: Docs.
Raymond posted something I think should see a little bit more attention — as I stated in my opener, many of us are guilty of not reading much in the way of Python docs unless we are looking for something specific. We miss out on gems/updates to older docs that really make them shine. We also miss out on new examples, and other things that really help make Python’s docs some of the best out there.
As I said in my forward to Doug Hellmann’s “The Python Standard Library By Example” -
The standard library’s documentation is good, and constantly improving/evolving. Given the size and breadth of the standard library, it’s amazing for what it is. It’s awesome that we have hundreds of pages of documentation contributed by hundreds of developers and users that are used every single day by hundreds of thousands of people to create things – things as simple as one-off scripts, and as complex as the software that controls giant robotic arms.
In Raymond’s post to python-list, he listed some new/newly updated docs that are really interesting:
The newly added/revised logging howto by Vinay (author/maintainer of the logging module) is really good to note (You have visited the python docs howtos, right? It’s here.). The additional logging cookbook nicely compliments Vinay’s revised logging module documentation.
Oh, and if you were wondering — yes, there is an easy to read list in the “What’s new” document for 2.7 (curated by Raymond) that lists out all the new Python 3 features back ported to python 2.7 for your reading pleasure.
Last night, an additional resource popped up on my radar — pyth0n.org — a site, while needing some CSS love (oh, the CSS love it needs) is an excellent way to jump to just about anything within Python (docs, classes, methods, built-ins, etc). I think I killed it with load from tweeting about it last night, so be gentle. It really is a cool site, it’s like a uber-index of Python.
As an addendum — Raymond has also become very active on posting interesting bit of python knowledge/protips on his twitter account, which have been a joy to see pop up in my tweet stream (Given how guilty I am of saying things that might be construed as “noise”). Some of highlights:
- factoid: random.sample() automatically chooses an algorithm, remember-previous-picks or remove-picks-from-the-population
- pro-tip: deque’s optional maxlen argument useful for n most recent items, moving averages, sliding windows, tailing files
- pro tip: def mean(s): return math.fsum(s)/len(s) # don’t lose precision while adding large numbers of small values.
- Dirt simple map/reduce utility for :
So, take a look around the latest docs and follow him, and other python developers such (Barry Warsaw, David Beazley, Nick Coghlan, R. David Murray, Guido Van Rossum) on twitter (you can follow me if you want). Brett Cannon (another core committer) has a twitter list of committers.
There’s been a lot of work done across the board to improve the docs, add to them and clean them up. A lot of excellent people contribute changes almost daily to them. They are a fantastic resource, and are greatly complimented by work like the Python Module of the Week (Doug Hellmann) and other tutorials spread across the web.
If you know of a particularly good tutorial, or explanation of a module, you might consider submitting a ticket citing it, and suggesting it be included into the standard library docs as well. What are some of your favorite documentation gems, or examples for Python?
I - like most people comfortable with my relatively sane (yet limited) knowledge of Python - rarely go and read the python docs except when I know what I’m looking for. For example, I have a window open to itertools and collections open a lot more than I care to admit (I love you ...
April 25th, 2011 § § permalink

For a 5 month update, check out: “The Standing Desk Experiment 5 Months in”
For about the past year or two, I’ve been working on improving my “state of being” for lack of a better term — focusing on more productivity, health, etc — I think everyone goes though this at one point or another. Various events of the past year — an incoming second kid, badly dislocating/injuring my knee and rehabilitating that, realizing that being an overweight, unhealthy geek probably wasn’t in my, or my families’ long term interest and seeing my little girl grow up faster than anything I’ve ever seen (see this excellent post by Merlin Mann — “Cranking”) has triggered me to make a series of changes, the most recent of which is directly interesting to a lot of you — I’ve switched over to a standing desk setup at work.
» Read the rest of this entry «
For a 5 month update, check out: "The Standing Desk Experiment 5 Months in"
For about the past year or two, I've been working on improving my "state of being" for lack of a better term - focusing on more productivity, health, etc - I think everyone goes though this at one point or another. ...
April 17th, 2011 § § permalink
Introduction
It’s been over a year since I was elected by the PSF membership to be a member of the board of directors of the Python Software Foundation — this past week, I was lucky to be reelected. In that year, and even in the years prior to my election, I’ve long wanted to write down my thoughts and feelings about the foundation. This includes what it is, what it does and what it should do. You’d be stunned how many people — PSF members included — who don’t know the answer to these three things. Worse still, you’d probably be even more surprised to find out many people who don’t think the PSF should exist — or even that it exists at all.
Before we start, I want to clarify a few things:
- What follows is my opinion; and may be shared by some — or none — of the current 13 PSF board members.
- What follows is not the opinion of my employer (not that I need to say that…).
- What follows has no relation or bearing on my role as co-chair and program committee chair of PyCon.
- What follows may be incomplete, I reserve the right to amend or make clarifying statements.
- None of this is meant as a criticism of any past directors, members, etc.
With that pile of disclaimers done, I will state this: what follows is my official opinion of the PSF and it’s duties and role in the Python Community as a director of the PSF — this means that if you are a PSF member, and disagree with what follows, consider voting against me when the election comes up this year. I will state that it is my goal to not only express what I think the PSF is, does and should do but also to provide something that:
- Helps explain the fundamentals of the PSF.
- Helps explain what the Board of Directors is.
- Helps make the argument why companies should become sponsors.
- Helps make the argument as to why you should donate to the PSF.
Much of what I will be writing may be a simplified or updated version of the information that is also on the main Python Software Foundation page. I’d like to note that this post has spanned several months of on-and-off writing — and PyCon 2011 right in the middle of it, so there is some information shear as time passed.
» Read the rest of this entry «
Introduction
It's been over a year since I was elected by the PSF membership to be a member of the board of directors of the Python Software Foundation - this past week, I was lucky to be reelected. In that year, and even in the years prior to my election, I've long wanted to write ...
April 10th, 2011 § § permalink
I posted the Python Mentors — Python Core Mentorship site last night. It’s pretty bare/minimalist (intentionally) right now — if there’s information you think is missing, or something you would like to see, drop me a comment or an email. Feel like hacking on the source? Check out the bitbucket repo — it’s a simple blogofile site right now, and I don’t think we need much more for the forseeable future.
Many thanks goes to OSUOSL for the free hosting.
I posted the Python Mentors - Python Core Mentorship site last night. It's pretty bare/minimalist (intentionally) right now - if there's information you think is missing, or something you would like to see, drop me a comment or an email. Feel like hacking on the source? Check out the bitbucket repo - it's a ...
April 5th, 2011 § § permalink
So, after my initial proposal to Python-Dev about the core mentorship program I received a pretty impressive outpouring of support and inquiries from people — both mentors and “students” looking to join into the program. Frankly, I’m floored at how positive the response has been.
I got the mailing list up in short order (go here), and anyone who expressed interest to me, or on the python-dev list was directed to it — we have a total of 57 members right now, and many of the mentors have sent introductions to the list. We’ve also to hashed out the initial code of conduct, as well as productively answered questions.
Things seem on track — modulo my inability to carve off time to deploy the small static about site to pythonmentors.com — on my task list for today. Just to share for your own edification, below is our python-inspired (meaning: simple, succinct) code of conduct for the mailing list:
The following code of conduct is not meant as a means for punishment, action or censorship for the mailing list or project. Instead, it is meant to set the tone and expectations and comfort level for mentors and those wishing to be mentored on the list.
- We ask everyone to be welcoming, friendly, and patient.
- Flame wars and insults are unacceptable in any fashion, by any party.
- Anything can be asked, and “RTFM” is not an acceptable answer.
- Neither is “it’s in the archives, go read them”.
- List archives are available only to subscribers, but subscription is open to everyone.
- Since the archives are “closed” — cross posting to public mailing lists is discouraged.
- Statements made by core developers can be quoted outside of the list.
- Statements made by others can not be quoted outside the list without explicit permission. [1]
- We endorse the PSF’s Diversity statement.
- The list administrators reserve the right to revoke the subscription of members (including mentors) that persistently fail to abide by this Code of Conduct. [2]
[1] Anonymised paraphrased statements “someone asked about…” are ok — direct quotes with or without names are not appropriate.
[2] All mentors are signed up as administrators.
The next steps are to get the basic site up (nothing fancy) and to get a blog post up on the newly minted python insider blog. Otherwise: I encourage those looking to learn and contribute to join in, the water is fine.
So, after my initial proposal to Python-Dev about the core mentorship program I received a pretty impressive outpouring of support and inquiries from people - both mentors and "students" looking to join into the program. Frankly, I'm floored at how positive the response has been.
I got the mailing list up in short order (go ...