Profile_large

Brett Cannon

Why Python 3 exists

Or, the whole unicode/str/bytes thing was done for a reason

This month I held a Q&A at PuPPy (the Puget Sound Python users group) that eventually led to me explaining why Python 3 came into existence and the whole string/bytes deal. I ended up receiving a compliment on the explanation which somewhat surprised me since I naively assumed people knew at this point why Python 3 was created. In . . .

Read More

December 16, 2015

If I were designing Python's import from scratch

Or, Lessons learned from implementing import

Talk to any developer that inherits some large, old code base that has developed semantics as time has gone on and they will always have something they wished they could change about the code they inherited. After inheriting import in Python, I too have a list of things I would love to see changed in how it works to make it a bit more sane . . .

Read More

December 03, 2015

Try to not use the Python C API directly

Or, help make it easier to get rid of the GIL

If there is one persnickety thing people ask of python-dev it is for the GIL to go away. People view it as this great bugaboo of performance that hinders CPython in a world where single-core chips are becoming extremely rare. Whether the GIL is really a performance killer as some people believe (it really depends on the type of work you want . . .

Read More

August 12, 2015

Trying out Jupyter Notebooks

Or, my experience porting the "Porting Python 2 code to Python 3" HOWTO to a notebook

I happen to be on the team at Microsoft which recently launched an in-preview Jupyter Notebook service in Azure ML Studio. Before this I had heard of Jupyter Notebooks (nee IPython Notebooks) but I had never bothered installing the requisite software to give them a shot. Perhaps it was knowing that scientists seemed to be the major users of . . .

Read More

August 10, 2015

Archive

Cover image credit: http://goo.gl/photos/re3FDeopYikjWfbK8