Should you become a freelance translator?

I'm a freshman in college, and I'd like to know what I should study in order to become a freelance translator. Every once in a while, I see questions like this posed on mailing lists for translators. Sometimes people will find my blog and contact me directly with similar questions. I think that freshman year […]

Mocking file output for unit testing

Having a unit test harness makes modifying code a lot easier, because it lets you quickly spot anything you've broken as you're coding. But when you've got legacy code that doesn't have unit tests, getting the code into a test harness can be a lot of work. You've got code connecting to databases, touching the […]


Here's a not-serious field guide for choosing a scripting language. Perl Choose perl if you think that scripting is for quick-n-dirty tasks, and your language ought to look like it. Or if you like how it looks when Snoopy swears. Ruby Choose ruby if you think that perl is pretty cool, but it should be […]

Another argument against rewrites

I read an interesting post about the launch of Delicious 2.0. When Yahoo! bought, they immediately rewrote the entire site in a new language (two, actually). The rewrite took three years, didn't add significant functionality, broke some old functionality, and introduced a bunch of new bugs — even after three years. As Delicious stagnated, […]

Know when to say “no” — and whose fault it is when you don’t

As a freelance independent translator, I often have a hard time saying no to my clients. This is a pretty common problem with translators. There are a lot of reasons why translators have trouble saying no to clients. One is that translators are generally on the introverted side. You kind of have to be introverted […]

Using custom functions with SQLAlchemy and SQLite

I recently developed a Web-based translation memory (TM) application in Python. One thing the application does is fuzzy glossary matching: given a source sentence, it'll find all terms in the glossary that are fuzzy substrings of that sentence (using my fuzzy substring matching module, which is based on the Levenshtein distance algorithm), and return the […]

Recipe for spiraling translation quality

I lot of translation agencies make unrealistic promises when it comes to translation memory. Here's one: Cost savings You will never again pay for previously translated sentences – irrespective of how many times these sentences reappear in different documents we translate for you. To a customer, that probably sounds great. But let's think about this […]

Book Review: CherryPy Essentials

I recently created a server application to share Felix memories/glossaries over a local network. After a simple test application, I was confident that CherryPy would serve my needs, so I bought CherryPy Essentials (Sylvain Hellgegouarch) and started hacking. The story of a website The book uses a practical-minded, show-me-the-code style that I personally like. The […]