I have some good news, and I have some bad news. Since the world is so accustomed to bad news as of late with the economy and what not, I’ll start with that.

I will no longer be developing my first add-on, the Rooster Teeth Site Extender. I’ve established that I simply do not have time to maintain it, or do the reviews. It’s disappointing to both me, and its users to have an owner who isn’t really owning it.

Now for the good news. I just saved a bunch of money on my car insurance – er, wait. That’s not it. There is a new maintainer! In fact, I’ve already transferred the ownership of the project over to him. He cares a lot more about the project than I do, so it’s a good fit.

You can still report bugs in the same place as before, but I’m just a consultant of the project now. I wish the project luck, and it’s been fun while it lasted!

Firefox Mozilla RTSE

Asynchronous Storage API

That asynchronous storage API I’ve been working on for a while has finally been pushed to mozilla-central. That means you can now run database queries off the main thread without blocking the UI. This includes both read and write statements.

This may not seem like a big deal, but there is a big benefit to using this API over the existing synchronous API. SQLite performs a file system operation called fsync which pushes the data in the file system’s cache to the disk. This operation is inherently synchronous, and on some file systems (like ext3), can take substantial amount of time given the right circumstances. If this is ran on the main thread, the UI is locked up the whole time. By using this new asynchronous API, you won’t have to worry about that fsync holding up the main thread at all!

Perhaps the best part about this new API is that it doesn’t require many code changes. You still create SQL statements the same way, but instead of calling execute or executeStep on the prepared statement, you just have to call executeAsync. The method takes one parameter – a callback that notifies on completion, error, and results. The callback is optional on the off chance that consumers don’t care if something finishes successfully or not.

Iterating through results is not much different from before either. The only difference is that results may be chunked, so the callback may get notified about results several times (with only the new data). Some good example code can be found in the tests that landed with this new API.

I’d really like people to try it out and see if they have any issues with the API. There are already a few refinements with bugs filed, and a few more up in my head that we might want if the need arises.

Personal RTSE


When I upgraded WordPress earlier this week, a also moved web hosts. I left all of my subdomains over on the old host because I didn’t have time to move them all over yet. Turns out that they aren’t working. I’ve fixed one of them, and plan to fix the rest tonight, but some of my add-ons sorta depend on stuff being around that clearly aren’t. Everything should be back up tomorrow. Please pardon my construction dust…


Growl Extension v1.0.2

I uploaded the newest version of the add-on earlier today to AMO, so once it gets approved, you’ll get a nice update. The following issues were fixed in this release:

  • (Thunderbird) Fixed subject encoding issues that sometimes occurred with messages.
  • (All) Added a de localization.
  • (Thunderbird) Stopped displaying RSS feeds due to the vast number of notifications that were sent. This is only temporary until a delayed system for dispatching notifications is created that will handle a large load of notifications (Growl will actually handle this in 1.1, so it may not be worthwhile)

Today I just committed a patch to trunk that properly selects the message when you click on a notification in Thunderbird. I’m not going to release that just yet as I want to play with it myself a bit.


Growl Extension v1.0.1 Released!

That’s right, I finally got around to releasing the latest version of the Growl Extension for Firefox 2.0 and Thunderbird 2.0. This one has some nice fixes in it:

  • Cleaned up a memory leak when registering notifications
  • Enabled Notification support for Chatzilla
  • Enabled click-back support for Chatzilla notifications (focuses Chatzilla window)
  • Enabled click-back support for download notifications (opens/focuses the Download Manager)
  • Enabled click-back support for new mail notifications (opens/focuses Thunderbird)

My testing has shown this to be a rock solid release, and I’m quite proud of it. I have a few more things planned for it, so there still should be a few more releases, but otherwise, there isn’t much more to be done.

You can grab the extension on