Latest entries

See also: about the author, about this site.

How Python does Unicode

As we all (hopefully) know by now, Python 3 made a significant change to how strings work in the language. I’m on the record as being strongly in favor of this change, and I’ve written at length about why I think it was the right thing to do. But for those who’ve been living under a rock the past ten years or so, here’s a brief summary, because it’s relevant to what I want to go into today:

In Python 2, two types could be used to represent strings. One of ...

Entry published September 5, 2017. Read full entry.

Let's talk about testing Django apps

For quite a while now, I’ve maintained several open-source Django applications. And with Django 1.11 on the horizon, it’s time for me to go through and make any changes and clean out their issue queues while I’m at it, so I can roll new officially-compatible releases. When I’m doing this, I always like to try to evaluate the current state of the art and see if I can switch over to better ways of doing things, since Django gets a new features with every release and people in the ...

Entry published April 3, 2017. Read full entry.

How to break Python

Don’t worry, this isn’t another piece about Python 3. I’m fully in favor of Python 3, and on record as to why. And if you’re still not convinced, I suggest this thoroughly comprehensive article on the topic, which goes over not just the bits people get angry about but also the frankly massive amount of cool stuff that only works in Python 3, and that you’re missing out on if you still only use Python 2.

No, this is about how you as a developer can break Python, and break it ...

Entry published November 28, 2016. Read full entry.

On Python 3, again

A while back, Brett Cannon went into some detail on why Python 3 happened (that is, why it was backwards-incompatible with Python 2 and why it was backwards-incompatible in the particular ways it was). Python 3 has been pretty controversial, with people I respect chiming in on both sides of the good idea/bad idea debate. And the transition (which Brett has also taken a recent look at) has indeed been slow, but that at least was fully expected — at the time, I remember announcements coming from the Python ...

Entry published June 10, 2016. Read full entry.

Things and stuff

I’ve been awfully busy lately, but also thinking about a lot of stuff. Since microblogging is no longer really a thing I have access to (Pownce, I miss you), that means doing periodic brain dumps, yay!

Conferences and costs

Over the past few months there’s been a pretty significant conversation starting about tech conferences and “paying” speakers (where “paying” typically means at least providing a free ticket to anyone giving a talk). Which is a topic full of complicated thoughts for me.

On the one hand, the obvious argument: there’s significant overlap ...

Entry published May 5, 2016. Read full entry.