Possibly the best name for a programming language ever

Coq.
I would love to see this adopted at the Enterprise level. Could you imagine slipping sentences like these into your next corporate-drivelspeak document?
The vendors have really bent over backwards to make introducing Coq as painless as possible.
We don't believe in shoving Coq down people's throats. In fact, we've found that once people have had a […]

Translating maru batsu into English

Japanese has a very handy shorthand for rating things:

symbol
pronunciation
meaning


nijuu maru
excellent


maru
good


sankaku
fair

×
batsu
poor

I avoid using these symbols in my English translations. Even if a legend is included, I think they're too "foreign" to be easily understood by non-Japanese speakers.
The "translations" I use depend on the context. If the full range of symbols is used for ratings, I often […]

Intermediate Python: Pythonic file searches

It's very easy to get up and running with Python, but programmers coming from other more verbose or procedural languages tend to write code that's not very pythonic — that is, it doesn't use Python idioms that experienced programmers use.
The problems with un-pythonic code are that it tends to be more verbose, more difficult to […]

The partial rewrite

I haven't been doing much blogging lately. Instead, I've been busy working and hacking. On the hacking side of things, I've been doing a partial rewrite of my big application, a translation-memory application written in C++.
The application is now about 10 years old, and over time and several releases it's grown more and more difficult […]

Text speak conversion in Python!

Want to write in txt spk like all the cool mobile-toting kids, but tired of figuring out which letters to leave out? No problem — just run your text through the handy to_txt_spk function!

>>> def to_txt_spk(words):
    return "".join(c for c in words if c not in "aeiou")
>>> to_txt_spk("Impress your friends with your text speak […]

Version 0.2 of subdist module released

Just a quick note that I've released version 0.2 of my subdist module.
What is subdist?
subdist is a C Python extension that calculates fuzzy substring matches, based on Levenshtein distance.
subdist works purely with Unicode strings; calling one of its functions with a non-Unicode string will raise an error.
What's new in version 0.2?
Version 0.2 adds a get_score […]

Aim high

Alex Martelli has a great quote on optimization in Python in a Nutshell:
Start by designing, coding, and testing your application in Python, using available extension modules if they save you work. This takes much less time than it would with a classic compiled language. Then benchmark the application to find out if the resulting code […]

The past, present, and future of optimization

I have a relative ("Dan") who used to earn a living optimizing code in the late 70s and early 80s. Around then, a new-fangled high-level language named "C" was starting to catch on, but companies didn't like all the wasted cycles in C programs due to the under-optimized assembly code that their C compilers were […]

The machine-translation pipe dream

An article in Sankei News about NEC putting machine translation onto mobile phones (Japanese) has created a bit of buzz on Honyaku (a mailing list for J<>E translators).
Every time some new development in the machine translation world comes out, translators start to worry about whether they're going to be put out of work. Let […]

Extending Python with C: A case study

Near-100x speedup with a C extension
I recently wrote about an algorithm for fuzzy matching of substrings implemented in Python. This is a feature that I needed for a piece of software I'm currently developing.
When I started using the fuzzy_substring function on some test cases, however, it was unacceptably slow. Using a modestly large test corpus […]

« Previous PageNext Page »