Main

April 1, 2009

This morning, Mozilla officially renamed “add-ons” to “change-arounds”. Apparently the move is intended to capitalize on Barack Obama’s campaign for President, which centered around the word “change”.

Add-ons never added to my hard drive’s available space, and the extensions I’ve authored never added to my bottom line. So, though I find the new name a bit awkward, I’m thrilled that Mozilla is finally listening to the more pedantic parts of their user base for once. I just Twittered a Mozilla official, who wished to either remain anonymous or place me under an NDA. He assured me – off the record – that the Internet Explorer team plans to make the same change to their browser interface, possibly as soon as the next Patch Tuesday come-arounds.

Mozilla had planned to rename the feature “Take-outs” – reflecting the subtractive nature of many extensions and themes – and had already commissioned a series of cute Chinese take-out box icons. However, the nearby Lucky Wok restaurant stepped in at the last minute, threatening legal action. “Developers need Chinese take-out for late-night coding sessions,” explained the official, again off the record. “You wouldn’t believe how many bugs we’ve traced back to the presence of pizza or TV dinners in the building. You just don’t get that with moo goo gai pan.”

I’ve just updated AVIM’s website and its listing at Firefox Change-arounds to reflect the change. The Mozilla official fully expects other change-around developers to follow suit. But you didn’t hear it from him.

[Update] After much outcry from such Facebook groups as “I miss OLD Firefox Add-ons!!!11!!”, Mozilla has changed the name back. The fact that it’s now April 2nd must’ve factored into the decision, too.

February 15, 2009

First things first: if you use version 20080728.280 of my AVIM extension, upgrade to version 20080728.306 now.

Last Friday, Adblock Plus developer Wladimir Palant refuted five typical excuses for calling the eval() function in JavaScript. I remembered that function well: take any string, pass it into eval(), and the string gets executed as though it were ordinary code. When I took Stanford’s hacking class last spring, we developed an exploit that targeted a fictitious website’s generous use of the function. eval() is the most easily abused function available to JavaScripters, because it’s such a tantalizing shortcut. Why bother learning DOM Level 3 when you can call one function and move on?

Were you to conduct a comprehensive survey of computer programmers, I’d suspect that nearly all of us would rate ourselves “above average” programmers who keep particularly good best practices in mind at all times. Like, to avoid eval() at all costs. But I called that function – once – and Wladimir caught me.

Continue reading "Wrong" »

December 9, 2008

In July, when I last wrote about AVIM, it was a Firefox extension that let you easily enter fully-accented Vietnamese into any webpage, as well as most of Firefox. It also supported a few well-known Firefox extensions.

Since then, AVIM has gained French and Chinese localizations and added support for all of Firefox. More importantly, the extension now supports a number of Mozilla-based applications, including Songbird and Flock. AVIM’s also been downloaded nearly 30,000 times and serves over 1,700 people as of last month.

Mozilla Messaging today released the first beta of Thunderbird 3. Since it runs on Mozilla 1.9, AVIM supports it too. It’s a boon for Vietnamese speakers who still use a desktop application for reading e-mail and news feeds.

You can download AVIM for free and drag the file into Thunderbird’s Add-ons window. Alternatively, you can use Thunderbird 3’s new Add-ons Manager to install an older version of AVIM hosted by Mozilla.

One thing you’ll notice about AVIM is that, even though the extension is intended for Vietnamese speakers, the extension’s menus aren’t necessarily in Vietnamese. If your copy of Thunderbird is in English, for example, AVIM is also in English. That’s because I designed the extension to blend in with the application as much as possible.

Unfortunately, efforts to translate Thunderbird into Vietnamese aren’t complete yet. In the meantime, you can force AVIM to display in Vietnamese anyways. Regardless of AVIM’s interface language, the extension will continue allowing you to type in Vietnamese.

You might’ve noticed that AVIM is essentially in maintenance mode. I’ve implemented all the big changes I have planned, and I really don’t have much time to work on the software in the near future. However, you’ll continue to see AVIM support more and more applications as they upgrade to Mozilla 1.9. Someday, I’ll get around to writing an operating system–level IME, so you’ll get AVIM’s well-known flexibility no matter which application you’re using. Someday.

As always, I welcome any contributions to the AVIM project, whether in the form of code or translations, or by spreading the word. Working on AVIM’s code require little more than a working knowledge of JavaScript and Vietnamese. For any code or translation contributions, you’ll receive due credit on a widely-used piece of software and the satisfaction that you’ve helped real people in a measurable way. If you’d like to help out, please contact me.


  1. AVIM extension is now AVIM change-around
  2. Wrong
  3. AVIM not just for Firefox
  4. AVIM for Firefox