Continuous integration in python using watchdog

watchdog is a cross-platform python module for watching directories for changes. I use watchdog to run continuous integration on my projects: every time a file changes (e.g. is saved, deleted, or created) in the directory I am watching, a script will automatically run unit tests, compile libraries, build docs, and run other tests, as necessary. […]

The importance of appearing confident

I've been neglecting this blog for some time, but thanks to a nice reminder from a reader, I'm back. As translators, we need to be humble about our work. Translation spans so many fields, from foreign-language study, to writing, to subject-matter knowledge–not to mention the actual skill of translation–that it's nearly impossible to fully master […]

Life in America

Note: although I am now a Nintendo employee, my postings should not in any way be interpreted as being on behalf of or condoned by Nintendo. They are my personal views only. And now that that's out of the way… It's been a whirlwind month. I left Okinawa on March 10, just one day before […]

Version 2.1 of Count Anything released

I just released version 2.1 of my free word-counting program, Count Anything. Click here to get the latest version. This is a minor release with two fixes: the "No" button of the check for updates dialog was broken, and files on the results page are now in alphabetical order (in the next release, I'll make […]

Going to work for the (short, Italian) Man

Last week, I took a job as a technical translator at Nintendo of America. I'll be moving to Redmond, Washington at the end of February, and my family will move out there permanently in June. While it'll be hard to leave behind my life of relative freedom in sunny, laid-back Okinawa for the corporate world […]

The Dunning–Kruger effect and you

According to Wikipedia, The Dunning–Kruger effect is a cognitive bias in which unskilled people make poor decisions and reach erroneous conclusions, but their incompetence denies them the metacognitive ability to realize their mistakes. The more ignorant you are about a subject, the easier it seems to you. When I was starting out as a translator, […]

Long-term outlook for translation industry

I recently read two books with rather gloomy outlooks for our future civilization: The Ecotechnic Future and The Long Descent. Both books predict that when the petroleum runs out, human civilization will go back to pre-industrial levels. While I don't necessarily agree with all the conclusions of these books, other than the obvious fact that […]

Setting contentEditable in a wxPython IEHtmlWindow

wxPython's iewin.IEHtmlWindow lets you host the Internet Explorer browser control in a wxPython window. Doing so is quite simple: import wx from wx.lib import iewin class MyFrame(wx.Frame):     def __init__(self):         wx.Frame.__init__(self, None, title="IEHtmlWindow")         self.ie = iewin.IEHtmlWindow(self)         self.ie.Navigate("http://example.com/") # your URL here app […]

Some numbers

A freelance translator's income can be calculated by the following formula: r * p * h * d * w where: r = rate p = pages per hour h = hour worked per day d = days worked per week w = weeks worked per year Let's try plugging in some numbers. Say that […]

Dear Steam: Geographical embargoes are stupid

At a time when piracy is putting a dent in video-game sales, Steam appears to be quite successful. Their success is due to two main factors: It's easier to buy a game on Steam than to pirate one Steam offers advantages over pirated apps When you buy a game from Steam, it automatically downloads to […]