Adblock Plus and (a little) more

Translating Adblock Plus: Dumping Babelzilla for Crowdin · 2012-11-09 13:40 by Wladimir Palant

The Adblock Plus project has been using Babelzilla for translations for more than six years. Yet, time has come to change that. Two days ago I moved the translations for all my extensions from Babelzilla to Crowdin, meaning Adblock Plus, Element Hiding Helper and JavaScript Deobfuscator. This was preceded by a lengthy pilot phase with the Customizations for Adblock Plus extension and recently also Adblock Plus for Chrome.

Read more Comment [3]

Tags:

Removing Do-Not-Track support from Adblock Plus · 2012-10-27 01:10 by Wladimir Palant

I still believe that the Do-Not-Track proposal is the most promising idea to let users opt out of tracking, it offers some value even to the people using Adblock Plus with the EasyPrivacy filter list. The proposal gained a lot of traction already and will continue to gain speed. Adblock Plus was one of the first implementors, and yet I decided that this feature is no longer worth keeping.

Read more Comment [9]

Tags:

Modularization in a restartless extension · 2012-07-12 17:21 by Wladimir Palant

A simple restartless extension can probably keep all its code in the bootstrap.js file. However, it gets crowded there very soon. Plus there is some code that is really only boilerplate and should probably kept separate from your actual code.

This sounds like a job for JavaScript code modules. It is mostly a matter of taste (I prefer CommonJS module syntax) but there is one really big disadvantage of JavaScript code modules: they have to be unloaded explicitly when your extension is shut down. Which means that you either have to keep a list of modules to unload in your bootstrap.js file or add cleanup code each time you load a module. I find neither approach very compelling.

Read more Comment [6]

Tags:

Why you should make your next add-on restartless · 2012-07-12 14:18 by Wladimir Palant

Note: This article is not about extensions based on the Add-on SDK (Jetpack). You don’t have to use the SDK to create a restartless extension. Just wanted to point this out explicitly to avoid confusion.

An extension that will install without requiring a Firefox restart? This was a nightmare to develop not too long ago. Fortunately, things changed and the last showstopper bug was fixed in Firefox 8. Effort to create a restartless (or bootstrapped as it is called officially) extension is acceptable now. In fact, I have converted all my extensions and removed support for classic non-restartless extensions from my build tools — I am certain that I am not going back.

Read more Comment [3]

Tags:

Where did the Adblock Plus unit tests go? · 2012-06-23 17:13 by Wladimir Palant

You probably asked yourself already what happened to the Adblock Plus unit tests. What? You didn’t? You don’t even know what unit tests are? Oops… Sorry about having bothered you. I guess nobody is reading past this point but I just have to explain it nevertheless.

Read more Comment [2]

Tags:

Closed my LinkedIn account · 2012-06-08 16:30 by Wladimir Palant

A bunch of posts on Planet Mozilla reminded me that there is still one social network that I am a member of. So it was time to reconsider whether having a LinkedIn account was worth it.

Read more Comment [6]

Tags:

Preventing background tabs from wasting your computer's resources · 2012-05-12 13:27 by Wladimir Palant

Taras recently blogged on how websites manage to ruin Firefox performance by continuing to do something even though their tab is no longer active — they keep updating the view that you cannot see. He wondered whether it would be possible to suspend these tabs from an extension. I looked into this and there is a way to suspend all timeouts for a tab — something that an extension could use. Getting the details right wasn’t quite trivial but I think that my extension gets it right now: Suspend background tabs. Enjoy!

Read more Comment [18]

Tags:

Using asynchronous file I/O in Gecko · 2012-04-05 20:38 by Wladimir Palant

I’ve finally decided to start using asynchronous file I/O in Adblock Plus (probably about time). I didn’t expect this to be too complicated, mostly messy because of all the callbacks. Well, I was mistaken. I will write down what I figured out, this might help somebody.

Read more Comment [3]

Tags:

Upcoming and past changes to application compatibility · 2012-03-16 08:02 by Wladimir Palant

Starting with version 2.0 Adblock Plus requires at least Firefox 3.6.13 to be installed (or Thunderbird 3.1.7 or SeaMonkey 2.1). We really don’t support earlier Firefox 3.6 versions because of a critical bug that will cause Flash to break. Unfortunately, this limitation initially couldn’t be enforced by technical means (due to a limitation on addons.mozilla.org) so some people with old Firefox 3.6 versions nevertheless got it installed. If you are one of them: you should update your browser as soon as possible, already because of the numerous known security issues in the old versions.

Read more Comment [4]

Tags:

Random thoughts on democracy and Russian presidential election · 2012-03-12 12:54 by Wladimir Palant

As some of you might know, Russia sort of elected a new old president a week ago. After taking a 4 years break as prime minister Putin now becomes Russian president for the third time. I’ve been following the Russian-language reactions to the election which I find quite interesting. While I like most readers of this blog have the luxury of living in a democracy, sometimes I need a reminder about what actually constitutes a democracy. Hint: elections in regular intervals are not sufficient.

Read more Comment [4]

Tags: