Do the math

I don't like doing so-called "native checks," or proofing other translators' work in general. It just turns into a bad experience way too often. I'm candid about this with clients. I tell them I prefer not to do that sort of work. Sometimes they ask anyway, and if they're good clients (i.e. they send me […]

What price elegance?

In a recent post, I gave some code for counting the top n most frequent words in an arbitrary text file using itertools.groupby. The code is written in a somewhat functional style. It's short and, dare I say, kind of elegant. But it turns out that this code is quite a bit slower than an […]

Counting occurrences in a sequence with itertools.groupby

itertools.groupby is a great tool for counting the numbers of occurrences in a sequence. Here are some examples from the interactive interpreter. A list of numbers >>> # Create a random list of numbers >>> from random import random >>> numbers = [int(random() * 10) for x in range(20)] >>> numbers [8, 0, 3, 2, […]

Making the robot dance

Some time around 1980, my elementary school classroom got a computer. While most of the other kids fooled around playing Hunt the Wumpus, my friend and I found the BASIC manual that came with the computer. We laboriously copied in the code to make a "robot" appear on the screen. After a lot of typos, […]

Using chardet to convert arbitrary byte strings to Unicode

chardet is a fantastic module for finding the encoding of arbitrary byte strings. You can combine this with a check for a BOM to pretty reliably turn them into Unicode. Edit: Thanks to Kirit's comment below, I added code to check for UTF-32. import chardet def bytes2unicode(bytes, errors='replace'):     """Convert a byte string into […]

Delivering the bad news

A few weeks ago, a translation agency I work for occasionally called me in a panic. It seems that a major client had rejected one of their Japanese-to-English translations, calling it "unreadable," and providing another translation as a sample of the quality they were after. The agency wanted to pay me to review their translation, […]