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

Comparing Twitter & Google+ engagement

Or, I don't know how much longer I will bother with G+

I was employed at Google when Google+ launched. Like many Googlers, I tried it out, loved the sharing model, and stuck with the platform. People always joked that Google+ was made up of Googlers, their family, or photographers, but I still enjoyed the engagement I had on Google+ as it typically was a bit better than other places. But after . . .

Read More

December 02, 2015

How I stay happy making open source software

Or, what you can do to help make OSS contributors feel appreciated

Over the past month I have become aware of multiple people either stepping away from open source or trying to figure out how not to burn out from it [1, 2, 3,4]. After telling Thomas Caswell -- one of the project leads on matplotlib -- how I cope with open source contributions and him subsequently saying he liked what I said, I figured I . . .

Read More

November 29, 2015

Why I bought a Google OnHub router

Or, why auto-updates and looks matter more than speed in a router

When the Google OnHub router was announced, I was excited. Not just because the client software was developed at Google Waterloo where I used to work, but because the router represents Google continuing to take seriously the fact that how people get on to the internet is as important as what they use on it (the first play being Google Chrome . . .

Read More

Setember 06, 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