Author Archives: Multimedia Mike

Aw, Snap In Every Language

I’m strangely fascinated by inappropriate, colloquial error messages. Some software teams insist on smuggling them in despite what the user interface guidelines say about clear, useful error messages. Such is the case with the Google Chrome web browser and its “Aw, Snap” error message when a page crashes.



I had been seeing this message with inordinate frequency (3 guesses why) when I started to wonder how this translates into some of the other 50 languages that Chrome supports. I switched my environment’s language to ‘fr’ and saw what appeared to be Francophonic squealing:



My goodness, did they really task their translation team with finding a culturally accurate yet wince-inducing exclamation phrase for this screen in every supported language? Probably not, considering the en_US and en_GB phrases are the same (I’m assuming the phrase in question is an American expression but it could very well have crossed the pond by now). If it seems like I’m putting a lot of thought into this, imagine how much consideration various Google committees had to exert; Google is famous for not making moves unless the data says it’s okay (e.g., testing 41 shades of blue). I guess from that perspective, the translation team is lucky they didn’t get stuck with translating “Oh no this web page di’n’t just crash on you!”

While I’m fairly certain that “Aie aie aie” is not a literal translation for “aw, snap”, the following languages do feature literal translations (at least according to Google Translate): Czech, Danish, Estonian, Finnish, Korean, Slovenian, and Portuguese (Brazilian, while pt_PT translates to “Ah, balls!”). A number of other languages (like German, Spanish, and Croatian) feature translations that quite clearly seem to be “Oh no!”. Turkish’s exclamation is simply “Error” which might be the most appropriate of the bunch. Vietnamese’s phrase translates to “Sorry”, which is also reasonable.

In yet another in a long series of useless exercises, I have assembled a gallery of all the Google Chrome translations for “Aw, snap”. See what your favorite language uses for the message and whether in makes any sense (alphabetical by language code): Continue reading

FFmpeg in Summer of Code 2010

As with every summer since 2006, FFmpeg has been accepted as a mentor organization in Google’s Summer of Code. With the GSoC program, college students are able to earn up to $4500 for successfully completing a task for an open source project.



Visit this year’s FFmpeg GSoC page at the MultimediaWiki for more details. According to the program timeline, the student application process begins on March 29.

Pictures of FATE Machines

Apologies for not properly crediting ideas here: Someone once suggested that it would be useful to have a MultimediaWiki page that collected information about all of the various FATE machines, rather than keeping it in the central FATE database to be displayed in a very inept fashion through the main website. Further, someone (possibly the same person) thought it would be neat to have pictures of all the machines performing FATE duty. I have done both on the new FATE Machines page. Eventually, FATE will simply link over to that wiki page rather than its own internal page.



The machine shown above is pretty much the hardest working computer on the FATE farm. It sits on the floor of my living room and constantly churns away, rebuilding and testing FFmpeg for 22 different compiler configurations.

Other FATE machine administrators are welcome to edit their machine’s descriptions and upload pictures (provided they have physical access to their machines; I’m really not sure about the arrangements that some of you have).

Book Review: Reversing: Secrets of Reverse Engineering

I borrowed this book from a colleague since it covers half of the charter described at the top of this blog (“Topics on multimedia technology and reverse engineering”). It’s called Reversing: Secrets of Reverse Engineering by Eldad Eilam (Amazon also has a Kindle edition). Basically, if you have never reverse engineered anything from binary code before but are interested in coming up to speed rather quickly, drop the cash for this book and read it from cover to cover.


Book cover: Reversing: Secrets of Reverse Engineering

I’m feeling a bit sentimental this month since I distinctly recall it was 10 years ago, February 2000, that I developed this focus on multimedia. While I often explain that I just wanted to play QuickTime movie trailers on my Linux computer, here is when I got really interested: I had gone all-Linux, all the time at home by then. I downloaded a Real video file from the internet. I tried out Real’s Linux player. It was horrible. Forget about all the spyware/malware reputations of the Windows and Mac versions; this didn’t have any of that but couldn’t even keep basic A/V sync. Still looking to find my place in the world, deciding which niche I would try to fill, that’s when I wondered what it would really require to take apart such a file, decode the audio and video, and play them in sync. And that’s when I took up my hex editor and disassembler.

So multimedia was always the primary focus. RE was secondary; I didn’t really mean to learn so much about it but the study was necessary. Over the years, I have wanted to write down more of what I have learned and other ideas and experiments I have developed (one of my primary motivations for starting this blog, in fact).

How this all connects to the book is: This is the book I would have liked to write about RE. Frankly, the book didn’t really teach me anything new. It was a compendium of everything I’ve read, learned, and independently discovered over the past 10 years regarding RE. And that’s exactly why I think it’s such a valuable book. I’ve encountered no shortage of people who wish to learn these darks arts of binary RE. This book is a great starting point. It’s the book I wish I had started with 10 years ago (I see that it was first published 5 years ago, which still was too late for me).

One shortcoming I did observe during my skimming of the more than 500 pages is that the RE targets are mostly things like cryptographic algorithms, malware, copy protection, and DRM. My focus has always been to reverse engineer some rather large and tedious multimedia decompression algorithms. It’s a different domain with some different problems and assumptions.