--- ---

Curious about how your add-on will get along with Firefox 3?

Firefox 3 is coming down the pipeline along with a pile of great new features like caching web apps so they are available offline and the new Places API that provides a powerful interface to your bookmarks and history. No need to fret if your extensions will be compatible though - here's the lowdown on what it takes to stay up to date:

10000 commits and going strong

Mozilla’s SVN repository was started on September 2nd, 2006 and just hit 10000 commits. That’s an average of over 19 commits a day for 520 days straight!

CakePHP's cache that wouldn't quit

I had the joy of debugging some unit tests the other day on AMO and ran into caching trouble. Turns out the bug for this was filed over a year ago, but I tested it in the latest build of Cake (1.1.18.5850) and it’s still not fixed.

Quick overview of mozilla.com publishing process

(apologies in advance to anyone without an LDAP account. A lot of the links here point to content behind authentication. If you're really curious about what's going on back there, you're welcome to check out the Kubla source.) Over the past couple of days I've felt a growing confusion about how the web infrastructure works on www.mozilla.com. People are beginning to use Kubla (it's started with a small set and is steadily growing), and they're asking some good questions that hopefully I can help answer here: Firstly, I think everyone with access has already seen this diagram, but bear with me: Fresh changes are committed to the first (top) tier - also referred to as "trunk". If you're making the change yourself you're actually affecting this tier. You can preview any of the changes from the first tier on www-trunk.stage.mozilla.com. The second tier (also known as "stage" or "staging") is where changes are previewed before they are pushed live. When something is pushed from trunk to stage it will be on this second tier and viewable at www.stage.mozilla.com. To get to this tier, a change needs to be approved by a human (a publisher in Kubla). If you have access and you want to see the differences between trunk and staging, look at the staging queue. The final tier is our live site (or "production"). Anything pushed on to this tier will be on www.mozilla.com within an hour, automatically. To get to this tier, a change needs to be approved by an admin in Kubla. The differences between the staging site and the live site can be seen in the production queue. One of the main things to remember is that changes are not instantaneous. Moving a change from trunk to stage and stage to production both require human interaction. The staging site and the production site are updated periodically (Kubla shows an estimated time to next update on the left hand menu when you log in). For production particularly, this is definitely an estimate. The updates still need to rsync to our servers and then the aggressive caching in front of them needs to expire. Generally that's an additional 15 minutes. For changes that need to go out together or at a specific time we can speed up some of this process, but it becomes less automatic the faster we want it to go. For most updates the automatic systems should work fine. As always, I'm happy to answer questions if you have them, either about this process or Kubla itself.

Portland Coder Party Tonight

Sorry for the short notice but there is a December Coders Bash tonight that Mozilla is helping sponsor. It starts at 7pm at CubeSpace. Drop by if you get a chance - it's informal and sounds like a bunch of fun. Stealing from the linked page: Some of the events we are considering (subject to change due to group consensus)... I remember when, the BS game (any story of geekery, starting with "I remember when" or "I was there when" allowed, and then you call BS or not. Name That Language. Snippets from obscure and entertaining languages posted. Can you recognize an algorithm in whitespace if it's surrounded by poetry? 5 Minute Code Sprints: 5 minutes to solve a problem. Prove your language best, or shortest, or most obscure. Whatever you like. "I can name that programming language in 3 lines of code": Name that language Duels. Challenge your opponent that you can name a Programing language by seeing less lines of code than them. Best WTF snippet: Do your worst and be the best