Skip to content

{ Category Archives } Thunderbird

Thunderbird Jetpack Teasers: Words per Minute in Compose

jetpack.future.import("thunderbird.compose"); jetpack.thunderbird.compose.appendComposePanel({ onReady: function (panel, composeContext) { let doc = panel.contentDocument; let msgNode = $("<span />", doc.body).appendTo(doc.body);   let started =; setInterval(function() { let words = composeContext.getPlaintextContents().split(/\s+/); let secs = Math.ceil(( – started) / 1000); let wordsPerMinute = Math.floor((words.length * 60) / secs); msgNode.text(wordsPerMinute + " words per minute."); }, 1000);; }, […]


So’s your facet: Faceted global search for Mozilla Thunderbird

Following in the footsteps of the MIT SIMILE project’s Exhibit tool (originally authored by David Huynh) and Thunderbird Seek extension (again by David Huynh), we are hoping to land faceted global search for Thunderbird 3.0 (a la gloda) in beta 4. I think it’s important to point out how ridiculously awesome the Seek extension is.  […]

Tagged , , , ,

Using VMWare Record/Replay and VProbes for low time-distortion performance profiling

The greatest problem with performance profiling is getting as much information as possible while affecting the results as little as possible.  For my work on pecobro I used mozilla’s JavaScript DTrace probes.  Because the probes are limited to notifications of all function invocations/returns with no discretion and there is no support for JS backtraces, the […]

Tagged , , , , , , , ,

Thunderbird Jetpack messageDisplay.overrideMessageDisplay fun.

As part of our goal to make it easy to write extensions for Thunderbird 3, we’ve been working on getting Jetpack running under Thunderbird and exposing Thunderbird-specific points. This is all experimental, but it’s having good results. The first example replaces the message you get from twitter when someone follows you and instead shows you […]

Tagged ,

thunderbird, gloda, exptoolbar, protovis, paninaro, oh oh oh

Thunderbird.  With the global database, gloda.  Using the exptoolbar extension.  Using the protovis javascript visualization library.  For reals!  Not a prank!  Just grab the most recent XPI or grab the repo.  And be using a nightly (beta 2 might work?) What you are looking at: The exptoolbar search results page, augmented with a visualization. Each […]

Tagged , , ,

understanding libmime using chroniquery and unit tests

Mailnews’ libmime is one of the harder modules to wrap one’s head around.  8-letter filenames where the first four letters tend to be “mime”, home-grown glib-style OO rather than actual C++, and intermingling of display logic with parsing logic do not make for a fun development or even comprehension experience. Running an xpcshell unit test […]

Tagged , ,

LogSploder, logsploding its way to your logs soon! also, logsplosion!

In our last logging adventure, we hooked Log4Moz up to Chainsaw.  As great as Chainsaw is, it did not meet all of my needs, least of all easy redistribution.  So I present another project in a long line of fantastically named projects… LogSploder! The general setup is this: log4moz with a concept of “contexts”, a […]

Tagged , , ,

Thunderbird and gloda go to meme-town

Sure, a word cloud of your blog posts is cool… but what if you could take any search of your e-mail, and turn that into a word cloud?  And then, if you click on one of those words, your search constraints would be revised to use the word you clicked on (and you’d get a […]

Tagged , , , ,

I’ll be wanting that latte machine now…

in context credits where credits due: thread arcs a la the nice people at the IBM CUE group the search view prototype is implemented by David Ascher.  the positioning of the visualization is on me as a quick hack, though. the search view prototype is designed by Bryan Clark, and he has even better stuff […]

Tagged , , ,

Thunderbird full-text search prototype a la SQLite FTS3

Full-text search using FTS3. Full-text search with a contact constraint. The global database sqlite file resulting from indexing all of is about 13M for something like 4500 messages.  We’re providing FTS3 with the bodies (but not attachments!) of all the newsgroup messages and the subjects of the messages which initiate new threads.  For real […]

Tagged , ,