<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Planet Mozilla</title>
	<link>http://planet.mozilla.org/</link>
	<language>en</language>
	<description>Planet Mozilla - http://planet.mozilla.org/</description>

<item>
	<title>Songbird: publicsvn resuscitated!</title>
	<guid isPermaLink="false">http://blog.songbirdnest.com/?p=441</guid>
	<link>http://feeds.songbirdnest.com/~r/songbird-blog/~3/339298899/</link>
	<description>&lt;p&gt;After a couple of late nights reloading repository dumps and learning new and wonderful unexpected “features” of mixing &lt;code&gt;svn:externals&lt;/code&gt; and &lt;code&gt;svnsync&lt;/code&gt;, I’m happy to announce that &lt;a href=&quot;http://publicsvn.songbirdnest.com/&quot;&gt;publicsvn.songbirdnest.com&lt;/a&gt; is finally available again.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://timeline.songbirdnest.com/client/&quot;&gt;Timelines&lt;/a&gt; are back up as well.&lt;/p&gt;
&lt;p&gt;All external developers will need to repull their trees; these repositories—multiple—are entirely new SVN repos, with different UUIDs. Some Subversion clients will ignore this (minor?) detail, and you can still update repos, but it’s likely to cause grief later.&lt;/p&gt;
&lt;p&gt;Also, the &lt;strong&gt;repository paths have changed&lt;/strong&gt;; please see our developer documentation on &lt;a href=&quot;https://wiki.songbirdnest.com/Developer/Articles/Getting_Started/Core_Player_Development/Checkout_the_Code&quot;&gt;Checking out the Code &lt;/a&gt; for details on the changes and to figure out what you will want to repull.&lt;/p&gt;
&lt;p&gt;We apologize for the inconvenience caused by having to repull trees, but we were long due for a repository reorganization.&lt;/p&gt;
&lt;p&gt;An overview of some of the changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Different kinds of code are split out into different repositories&lt;/li&gt;
&lt;li&gt;Branching and tagging will now follow standard Subversion practice, i.e. no more &lt;code&gt;$tagName/trunk&lt;/code&gt; directories.&lt;/li&gt;
&lt;li&gt;Brand new, faster &lt;code&gt;publicsvn&lt;/code&gt; server (thanks Tyler!)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;https&lt;/code&gt; is no longer supported on &lt;code&gt;publicsvn&lt;/code&gt;, since it’s not necessary. This reduces load on the server, meaning faster pulls for you!&lt;/li&gt;
&lt;li&gt;Backups are more manageable; backups of our main repository now take five minutes instead of three hours; restores take twenty minutes instead of &lt;em&gt;twelve hours&lt;/em&gt;); this means other processes, like mirroring changesets to &lt;code&gt;publicsvn&lt;/code&gt;, is faster!&lt;/li&gt;
&lt;li&gt;We’ve pruned code that wasn’t necessary for a standard Songbird build, meaning faster pull and update times!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks to everyone for being patient while we worked all the details out, and thank you to Mitch on IRC, whose pestering kept me honest while we did this; I needed it. &lt;img src=&quot;http://blog.songbirdnest.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.songbirdnest.com/~r/songbird-blog/~4/339298899&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 18 Jul 2008 20:03:16 +0000</pubDate>
	<dc:creator>Preed</dc:creator>
</item>
<item>
	<title>Chris Blizzard: whoisi activity stream for OSCON 2008</title>
	<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=422</guid>
	<link>http://feeds.feedburner.com/~r/ChristopherBlizzard/~3/339276703/</link>
	<description>&lt;p&gt;
In my &lt;a href=&quot;http://www.0xdeadbeef.com/weblog/?p=348&quot;&gt;original post on whoisi&lt;/a&gt; I made a remark about wanting to keep track of events:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
You also might notice that I have an entry above that just says “@fisl2008″. This is me just playing with events. One thing I’ve always wanted is the ability to say “I’m going to be at this event and I would love to see others who are doing the same.” In this sense it’s like saying “I was @ FISL 2008.”
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Over the last couple of evenings I put together some code that made that possible and decided to make a stream for OSCON 2008 since I will be there:
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;http://whoisi.com/e/oscon2008&quot;&gt;&lt;br /&gt;
&lt;img src=&quot;http://farm4.static.flickr.com/3018/2680210262_939e4832c4_m_d.jpg&quot; /&gt;&lt;br /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;
I go to a few conferences a year and I’ve always wanted to have access to information about who was there and what they were doing during the conference.  So I’ve tried to create that experience with this.  Want to keep up with who is going to dinner where?  Or who found something really interesting?  Following this stream should help.
&lt;/p&gt;
&lt;p&gt;
If you look at the &lt;a href=&quot;http://whoisi.com/events&quot;&gt;events page&lt;/a&gt; there’s a quick tutorial on how to add yourself or someone else to the event.  It’s easy.  And thanks to a suggestion from &lt;a href=&quot;http://whoisi.com/p/76&quot;&gt;Jeff&lt;/a&gt; the aliases in profiles now link to the respective event and/or group.  That should make it easier to discover events from people’s pages.
&lt;/p&gt;
&lt;p&gt;
There aren’t that many people listed right now.  About 34 last time I counted.  That’s about the number of people who responded to &lt;a href=&quot;http://www.0xdeadbeef.com/weblog/?p=406&quot;&gt;my request&lt;/a&gt; the other day.  But if you’re interested in the feed or you’ll be there feel free to add yourself.
&lt;/p&gt;
&lt;p&gt;
Have fun!&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/ChristopherBlizzard/~4/339276703&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 18 Jul 2008 19:37:03 +0000</pubDate>
	<dc:creator>blizzard</dc:creator>
</item>
<item>
	<title>Songbird: OSCON reminder</title>
	<guid isPermaLink="false">http://blog.songbirdnest.com/?p=440</guid>
	<link>http://feeds.songbirdnest.com/~r/songbird-blog/~3/339261991/</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://files.songbirdnest.com/beer-atlas.png&quot; align=&quot;right&quot; /&gt;Just a reminder…. we’re going to be at &lt;a href=&quot;http://en.oreilly.com/oscon2008/public/content/home&quot;&gt;OSCON&lt;/a&gt; next week!  If you’re going to be in Portland, make sure you come to &lt;a href=&quot;http://getsongbird.com/beerforge&quot;&gt;Beerforge, Thursday night&lt;/a&gt; (the party we’re co-hosting with a bunch of other &lt;i&gt;rad&lt;/i&gt; companies).&lt;/p&gt;
&lt;p&gt;Come stop by our booth (we’re hanging out with our favourite peeps from the Mozilla Galaxy) and buy our super-exclusive OSCON-only “Open Your Mind” t-shirt.  We’ll have a limited supply of our other &lt;a href=&quot;http://songbirdnest.com/merchtable&quot;&gt;shirts&lt;/a&gt; too if you want to get your bird on.  All proceeds are being donated to the Mozilla Foundation so you can feel good while you look good.  We’ll have a bunch of stickers, pins, posters as well so you can sticker up your laptop… or your forehead, whichever you prefer.&lt;/p&gt;
&lt;p&gt;And last but not least, stop by my talk Thursday afternoon @ 14:35 in E146 and say hi!&lt;/p&gt;
&lt;img src=&quot;http://feeds.songbirdnest.com/~r/songbird-blog/~4/339261991&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 18 Jul 2008 19:10:18 +0000</pubDate>
	<dc:creator>stevel</dc:creator>
</item>
<item>
	<title>Code Simplicity: What Is A Bug?</title>
	<guid isPermaLink="false">http://www.codesimplicity.com/?p=36</guid>
	<link>http://www.codesimplicity.com/archives/36</link>
	<description>&lt;p&gt;  Okay, most programmers know the story—way back when, somebody found an actual insect inside a computer that was causing a problem. (Actually, apparently engineers have been calling problems “bugs” since earlier than that, but that story is fun.)&lt;/p&gt;
&lt;p&gt;  But really, when we say “bug” what &lt;em&gt;exactly&lt;/em&gt; do we mean?&lt;/p&gt;
&lt;p&gt;  Here’s the precise definition of what constitutes a bug. Either:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The program did not behave according to the &lt;strong&gt;programmer’s intentions&lt;/strong&gt;.&lt;br /&gt;or&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;The programmer’s intentions did not fulfill common and reasonable &lt;strong&gt;user expectations&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span id=&quot;more-36&quot;&gt;&lt;/span&gt;So usually, as long as the program is doing what the programmer intended it to do, it’s working correctly. Sometimes what the programmer intended it to do is totally surprising to a user and causes him some problem, so that’s a bug.&lt;/p&gt;
&lt;p&gt;  Anything else is a &lt;em&gt;new feature&lt;/em&gt;. That is, if the program does exactly what was intended in exactly the expected fashion, but it doesn’t do &lt;em&gt;enough&lt;/em&gt;, that means it needs a new “feature.” That’s the difference between the definition of “feature” and “bug.”&lt;/p&gt;
&lt;p&gt;  Note that hardware can have bugs too. The programmer’s intention is rarely “the computer now explodes.” So if the programmer writes a program and the computer explodes, that’s probably a bug in the hardware. There can be other, less dramatic bugs in the hardware, too.&lt;/p&gt;
&lt;p&gt;  Essentially, anything that causes the programmer’s intentions to not be fully carried out can be considered a bug, unless the programmer is trying to make the computer do something it wasn’t designed to do. For example, if the programmer tells the computer “take over the world” and it wasn’t designed to be able to take over the world, then the computer would need a new “take over the world” feature. That wouldn’t be a bug. &lt;/p&gt;
&lt;p&gt;  With hardware, you also have to think about the &lt;em&gt;hardware designer’s&lt;/em&gt; intentions, and common and reasonable &lt;em&gt;programmer&lt;/em&gt; expectations. At that level, software programmers are actually the main “users”, and hardware designers are the people whose intentions we care about. (Of course, we  also care about the normal user’s expectations, especially for hardware that users interact with directly like printers, monitors, keyboards, etc.)&lt;/p&gt;
&lt;p&gt;  -Max&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.codesimplicity.com/archives/36#comments&quot;&gt;Comments: 0&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 19:00:21 +0000</pubDate>
	<dc:creator>Max Kanat-Alexander</dc:creator>
</item>
<item>
	<title>Aza Raskin: Mobile Firefox and Designing Without Modal Overlays</title>
	<guid isPermaLink="false">http://azarask.in/blog/?p=98</guid>
	<link>http://azarask.in/blog/post/designing-without-modal-overlays/</link>
	<description>&lt;p&gt;In the &lt;a href=&quot;http://azarask.in/blog/post/firefox-mobile-concept-video/&quot;&gt;concept video&lt;/a&gt; I recently did for laying out the interface paradigms for Firefox Mobile, I listed five guiding principals.&lt;/p&gt;
&lt;ol style=&quot;font-size: 16pt;&quot;&gt;
&lt;li&gt;Touch it with your finger&lt;/li&gt;
&lt;li&gt;Large targets are good&lt;/li&gt;
&lt;li&gt;Visual Momentum and Physics are compelling&lt;/li&gt;
&lt;li&gt;Typing is difficult&lt;/li&gt;
&lt;li&gt;Content is king&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It’s these principals that inform the design of new features long after the original design as been coded, released, and iterated on. In discussions with the perspicacious &lt;a href=&quot;http://beltzner.ca/mike/&quot;&gt;Mike Beltzner&lt;/a&gt;, another design principal emerged.&lt;/p&gt;
&lt;p&gt;&lt;b style=&quot;font-size: 16pt;&quot;&gt; 6. Use modal overlays sparingly, if at all.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;To be sure we are on the same page—I’m may be partaking in the dangerous hobby of coining new terminology—an overlay is simply a content area that sits in front of the content beneath it. The aspect that makes a &lt;i&gt;modal&lt;/i&gt; overlay modal is that when it is up, the content “beneath” the overlay cannot be acted upon until the overlay is dismissed. Although a modal overlay may be visually transparent, it is never interaction transparent: you must always take action, like clicking “okay”, before continuing with your workflow. While I’m living dangerously, I’ll toss one more phrase into the mix: a state-forgetting modal overlay is an overlay whose state is reset every time it is summoned. That is, any work you do in the overlay is lost when you dismiss it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://azarask.in/blog/wp-content/uploads/2008/07/safari-bookmarks-clickhist.jpg&quot; style=&quot;float: right; margin: 10px;&quot; /&gt;Some examples of modal overlays are dialog/&lt;a href=&quot;http://humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/&quot;&gt;monologue&lt;/a&gt; boxes, ever-so-Web-2.0 &lt;a href=&quot;http://en.wikipedia.org/wiki/Lightbox_(JavaScript)&quot;&gt;Lightboxes&lt;/a&gt;, and the bookmarks interface for Mobile Safari. Some examples of overlays that aren’t modal are &lt;a href=&quot;http://humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/&quot;&gt;transparent messages&lt;/a&gt; and the OS X’s on-screen display for volume. The former have a number of interaction pitfalls that the later do not share.&lt;/p&gt;
&lt;p&gt;What’s wrong with modal overlays? In a word, they are modal: You are either interacting with the content or the overlay. Modal overlays don’t allow you to refer back and forth between two sources of information, or move fluidly between two actions. The second problem with modal overlays are that they are disconnected and disjoint from other overlays—knowing how to access one doesn’t yield a physical sense of how to access another one; they do not scale to give a unified, cohesive interface. &lt;/p&gt;
&lt;p&gt;Let’s take a look at a plausible interface to illustrate the point; an implementation of search-and-replace using a Lightbox.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://azarask.in/blog/wp-content/uploads/2008/07/search-replace-modal-overlay.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;At first glance, this seems like a friendly, Web 2.0 way of doing things: it affords the opportunity for large typography and an uncluttered screen. While using a Lightbox is Web 2.0, it isn’t necessarily friendly. In fact, it has a fairly clunky workflow, for anything but the most basic case. Imagine you want to replace all instances of the text “insightfully thought” with “perspicaciously reckoned”, both of which exist in the text, although separated by a couple pages. You copy the first term, summon the Lightbox-based modal overlay, and paste it into the “replace” field. The next logical step is to scroll through the content to find “perspicaciously reckoned”, copy it, and put it into the “with” field. Unfortunately, because the search-and-replace form is in a modal overlay, you first have to dismiss the overlay before interacting with your content, then call it up again when you are done. It’s a slow, unwieldy feedback loop. On top of that, there isn’t a great way to indicate the changes in the text without somehow hiding the overlay.&lt;/p&gt;
&lt;p&gt;Let’s take another example, this time from the real-world. At Humanized, we wrote a review of &lt;a href=&quot;http://humanized.com/weblog/2007/10/18/user-interface-of-the-day-5-mint/&quot;&gt;Mint.com’s thoughtful interface&lt;/a&gt;. One of the thing’s I liked about Mint’s interface—that I called “stunning”—was the unafraid use of text to create a huge, easily scanned list of possible categories that enabled filing a particular expense quickly. The problem, which I didn’t talk about then, was that they used a Lightbox. It feels heavy and slow at a visceral level. For example, when you are categorizing the expense type of a purchase, Lightbox’s modal nature keeps your from examining surrounding expenses that might help you to contextualize and categorize the purchase in question. Further, because it is a state-forgetting overlay, anything you enter into the create-your-own-category input is lost as soon as you consult another expense. Not good.&lt;/p&gt;
&lt;p&gt;Lightboxes are tempting to use as a turn-key solution—we unfortunately use them in Songza—but there are better solutions, which I’ll come to in the next section.&lt;/p&gt;
&lt;p&gt;Let’s go closer to home for the next example. Bookmarking. Firefox UX designer &lt;a href=&quot;http://madhava.com/egotism/&quot;&gt;Madhava Enros&lt;/a&gt; did hugly excellent work on many of the early UI prototypes for Firefox Mobile. In &lt;a href=&quot;http://wiki.mozilla.org/Mobile/UI/Designs/TouchScreen/Proposal8&quot;&gt;Proposal 8&lt;/a&gt;, which experimented with Songza-esque pie menus, you can see a lot of the thinking that directly informed the current design of the location bar. It also used a modal, state-forgetting overlay for bookmarking. This meant that you couldn’t both be bookmarking a page and interacting with the page at the same time—and worse, if you started to delve into your hierarchy of bookmark folders to file the page away, and wanted to refer back to the page before saving the bookmark, you’d have to start all over again.&lt;/p&gt;
&lt;h3&gt;Solutions&lt;/h3&gt;
&lt;p&gt;Now that we’ve explored the problems with modal overlays, it’s time to look at solutions. In particular, on the solution meant to replace modal overlays that might require complex interactions—which means that transparent messages don’t cut it. I’ll talk about two solutions in this post, but I am sure that there are other solutions out there. I’d love to hear ideas in the comments. &lt;/p&gt;
&lt;h3&gt;The Tray&lt;/h3&gt;
&lt;p&gt;The first solution is arrived at by simply not having an overlay be modal, with a bit of animation for polish. The overlay appears as a tray anchored to the edge of the content area. The tray must not force interaction, meaning that the tray can be ignored, and the content perused as if the tray didn’t exist. The only down side to not interacting with/dismissing a tray is that it eats up some screen real estate.&lt;/p&gt;
&lt;p&gt;In the browsing world, Firefox uses the tray method to defeat the annoying-as-a-blackberry-pip-stuck-in-your-molars dialog box that asked if you wanted to save your password (and worse, it asked before you knew if you had typed it right!).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://azarask.in/blog/wp-content/uploads/2008/07/firefox_tray.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Because a tray overlay isn’t modal, you can answer the question in your own time. The tray is a great way to make user-dependent decision asynchronous. In fact, almost all user-dependent questions that are in situ with your browsing experience are done via the tray-style prompts. Take, for example, the prospective &lt;a href=&quot;http://azarask.in/blog/wp-content/uploads/2008/05/geolocation_mockupv3.jpg&quot;&gt;geolocation prompt&lt;/a&gt;. Coincidentally, the conviction of never using a modal overlay/dialog box in Firefox meant changing the &lt;a href=&quot;http://dev.w3.org/geo/api/spec-source.html&quot;&gt;W3C geolocation specification&lt;/a&gt;. Ironically, if you drag a tray is extended to take up the entire screen it becomes a modal overlay again. Further examples of trays in action can be found in &lt;a href=&quot;http://azarask.in/projects/algorithm-ink/&quot;&gt;Algorithm Ink’s&lt;/a&gt; browsing and editing functions.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://azarask.in/blog/wp-content/uploads/2008/07/ink_shelf.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As a final example, there is extensive use of tray-style interaction in Adobe Lightroom, generally docked on the left and right side of the screen. It’s a well-placed implementation, allowing quick access to a range of manipulations that don’t get in the way of moving around the image.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://azarask.in/blog/wp-content/uploads/2008/07/lightroom.jpg&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;The Slide&lt;/h3&gt;
&lt;p&gt;The second solution isn’t an overlay at all, instead it uses scrolling or sliding. By placing the new area next to the original content it’s easy to understand how to move between the two areas. It’s also easy to extend the metaphor across numerous additions — new features get a new physical location. This is the technique demonstrated in the concept video, where the browser controls are located to the left of the web page content.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://azarask.in/blog/wp-content/uploads/2008/07/fennec.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Using sliding as an overlay substitute mechanism (when we aren’t using slow-to-use scrollbars) is a fast way of moving between content in a non-modal way that also takes advantage of visual momentum and spatial memory.&lt;/p&gt;
&lt;p&gt;Let’s take a look at how the slide mechanism can extend the browsing controls for Fennec. Here’s a schematic view of accessing the add-on manager and preferences:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://azarask.in/blog/wp-content/uploads/2008/07/add-on-schematic.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Notice that once we’ve introduce the slide, we’ve opened up the possibility for a scalable way to expand ad infinitum. It’s a good way of coping with the limited screen size of mobile.&lt;/p&gt;
&lt;h3&gt;End Game&lt;/h3&gt;
&lt;p&gt;I’ve only started to think about solutions to the modal overlay problem. The tray and the slide are two passable solutions—I’m sure there are even better solutions waiting to be discovered. &lt;a href=&quot;http://en.wikipedia.org/wiki/Mode_(computer_interface)#Workarounds_and_alternatives&quot;&gt;Quasimodal&lt;/a&gt; overlays, for instance. Let me know if you find/think of any.&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 18:44:33 +0000</pubDate>
	<dc:creator>Aza Raskin</dc:creator>
</item>
<item>
	<title>Taras Glek: Pork, MCPP, Oink and Elsa…What’s going on?</title>
	<guid isPermaLink="false">http://blog.mozilla.com/tglek/?p=71</guid>
	<link>http://blog.mozilla.com/tglek/2008/07/18/pork-mcpp-oink-and-elsawhats-going-on/</link>
	<description>&lt;p&gt;It seems that there is some confusion as to what pork is and how it’s related to oink and elsa. So here is my view of it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://developer.mozilla.org/en/docs/Pork&quot;&gt;&lt;strong&gt;Pork&lt;/strong&gt;&lt;/a&gt; is my set of tools that use Elsa to rewrite sourcecode (mainly Mozilla code). Our use of Pork is solely for rewriting as it is not suited for &lt;a href=&quot;http://developer.mozilla.org/en/docs/Dehydra&quot;&gt;convenient&lt;/a&gt; and &lt;a href=&quot;http://developer.mozilla.org/en/docs/Treehydra&quot;&gt;hardcore&lt;/a&gt; analysis needs as much as the GCC based tools are.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://mcpp.sf.net/&quot;&gt;MCPP&lt;/a&gt; is the secret sauce C preprocessor that makes C++ rewriting with Elsa possible by annotating preprocessed files with information to undo the lexical braindamage resulting from macro expansion.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Elsa&lt;/strong&gt; is a awesome C++ parser. Awesome in that is can preserve more information regarding parsed code than any other C/C++ parser and it is easy to extend.&lt;/p&gt;
&lt;p&gt;We maintain our own version of Elsa within pork.&lt;/p&gt;
&lt;p&gt;I think our version of Elsa is the most up to date and most compatible with newer C++ features and headers used by newer GCC releases. We encourage other projects with C++ parsing/rewriting needs to collaborate with us. We will be parsing code with Elsa for a few years to come and it’s a lot of work to maintain a C++ parser by a single entity. I think elsa is a much better backend to build refactoring support onto than any other C++ parsing project out there right now.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Messy Details&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now lets move on the more confusing parts: oink, oink-stack, and the oink mailing list.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.cubewano.org/oink&quot;&gt;&lt;strong&gt;oink&lt;/strong&gt;&lt;/a&gt; consists of some static analysis tools and was meant to be a central place where all of the Elsa and Elsa-related development was supposed to happen. When people refer to oink, they usually mean the oink-stack which is a subversion meta repository that pulls in a dozen of subrepositoes(smbase, elkhound, elsa, oink(where static analysis tools live), etc).&lt;/p&gt;
&lt;p&gt;So when I started working on refactoring tools I was told that I should aim to have my tools added to oink, but there were some legal hassles to work out in the meantime so I cloned the oink-stack and developed my tools with minimal changes to oink-stack. This included various elsa extensions, bugfixes, etc.&lt;/p&gt;
&lt;p&gt;However, the little momentum that oink had has fizzled out due to various personality conflicts and various academics loosing interest. The code has been bitrotting for as long as I’ve been working at Mozilla.&lt;/p&gt;
&lt;p&gt;So the end result of oink is that we have pork which is a superset of oink. I’m not even sure if I mention the name pork anywhere in the sources. So pork at the moment means “Taras’ continuation and extension of oink”. I am using the &lt;a href=&quot;http://www.cubewano.org/lists/listinfo/oink-devel&quot;&gt;oink mailing list&lt;/a&gt; for any discussion on changes to Elsa/etc in hopes that at least some of the genius lurkers there will regain their interest in elsa.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Where do We Go From Here?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Onward! Due to the original authors vision of what C++ is and the state of C++ at the time Elsa was conceived, current pork code causes people to have many WTF moments (followed by banging head against keyboard) when they first start using it.&lt;/p&gt;
&lt;p&gt;The short version of my plan is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;allow one to do “using namespace std” when using elsa&lt;/li&gt;
&lt;li&gt;Restructure pork repositories such that there are only 3 of them rather than 11 (elsa, elkhound, pork)&lt;/li&gt;
&lt;li&gt;get rid of the oink repository (those tools do not work for us)&lt;/li&gt;
&lt;li&gt;Make pork only consist of just my tools (with a sane build system) rather than be mixed into unmainted oink stuff&lt;/li&gt;
&lt;li&gt;Make pork compile with new compilers (GCC 4.3 and recent MSVC++)&lt;/li&gt;
&lt;li&gt;Keep track of this in a &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=438061&quot;&gt;bug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Clean up various misc things&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some of you might ask “But Taras, why now, why not just keep doing what you’ve been doing?”. I was doing what I was doing because I had an overwhelming goal of devising a way to automate static analysis and refactoring of Mozilla on my shoulders and I wasn’t convinced that it was feasible. I had to learn to split my time between tool development and actually using the tools. Naturally I cut corners on tool development &lt;img src=&quot;http://blog.mozilla.com/tglek/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Since then slowly, but surely various awesome hackers have started doing rewrites and analyses themselves freeing me up to focus more on development. To make matters sweeter, various hackers have started submitting bugreports, fixes, ports to my tools. This gives me more time to focus on the big picture.&lt;/p&gt;
&lt;p&gt;Finally, I belive that automation of the sort we are doing at Mozilla is something that has been missing from open source development practices and it will catch on once people realize what they’ve been missing. Reducing those WTF moments will help people think positively.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-71&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Why three repositories instead of one?&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The three will be elkhound, elsa, pork&lt;/li&gt;
&lt;li&gt;elkhound is useful on it’s own&lt;/li&gt;
&lt;li&gt;elsa is too and other elsa users are likely to not care about Mozilla’s rewriting tools&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;I&lt;/em&gt;&lt;em&gt;s oink really dead?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Yes. The maintainers have moved on to other projects. When they were maintaining oink, outside contributors couldn’t get their code upstream.&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 18:29:28 +0000</pubDate>
	<dc:creator>tglek</dc:creator>
</item>
<item>
	<title>Pascal Chevrel: Our Fire-interns Fire-blogging about our Fire-picknick</title>
	<guid isPermaLink="true">http://chevrel.org/fr/carnet/index.php?2008/07/18/717-our-fire-interns-fire-blogging-about-our-fire-picknick</guid>
	<link>http://chevrel.org/fr/carnet/index.php?2008/07/18/717-our-fire-interns-fire-blogging-about-our-fire-picknick</link>
	<description>&lt;p&gt;We had good time at the park yesterday with our interns and Parisian community members, check out the blog post by Mozilla Europe interns about our picknick at the Buttes-Chaumont park! :&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blogs.mozilla-europe.org/?post/2008/07/18/Fire-French-team-heads-out-for-Fire-picnic&quot; hreflang=&quot;en&quot;&gt;Fire-French team heads out for Fire-picnic&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 16:30:56 +0000</pubDate>
	<dc:creator>Pascal</dc:creator>
</item>
<item>
	<title>Chris Blizzard: flashblock port to MicroB</title>
	<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=419</guid>
	<link>http://feeds.feedburner.com/~r/ChristopherBlizzard/~3/339113538/</link>
	<description>&lt;p align=&quot;center&quot;&gt;
&lt;a href=&quot;http://browser-extras.garage.maemo.org/news/7/&quot;&gt;&lt;br /&gt;
&lt;img src=&quot;http://browser-extras.garage.maemo.org/news/7/flashblock-acting-sm.png&quot; /&gt;&lt;br /&gt;
&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Pretty neat to see someone ported over &lt;a href=&quot;http://browser-extras.garage.maemo.org/news/7/&quot;&gt;flashblock to run on MicroB on the N810.&lt;/a&gt;  I haven’t looked at the code to see how they do it, but I’ll bet it was a rough ride since that’s written in C and C++, not in XUL.  (I also assume that &lt;a href=&quot;http://whoisi.com/p/265&quot;&gt;Antonio&lt;/a&gt; did this work?)
&lt;/p&gt;
&lt;p&gt;
As we continue to bring up Fennec it will be interesting to see how fast we can start migrating add-ons over to support Fennec.  It will be a different experience, but many of the same pieces will be there so having support for Firefox for the desktop and Firefox on your mobile device will likely be possible.  (Mark, correct me if I’m wrong.)&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/ChristopherBlizzard/~4/339113538&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 18 Jul 2008 16:00:26 +0000</pubDate>
	<dc:creator>blizzard</dc:creator>
</item>
<item>
	<title>Jane Finette: jfinette</title>
	<guid isPermaLink="false">http://autological.wordpress.com/?p=119</guid>
	<link>http://autological.wordpress.com/2008/07/18/welcome-william-quiviger-to-mozilla/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;br /&gt;
&lt;img src=&quot;http://feeds.wordpress.com/1.0/categories/autological.wordpress.com/119/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt; &lt;img src=&quot;http://feeds.wordpress.com/1.0/tags/autological.wordpress.com/119/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/autological.wordpress.com/119/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/autological.wordpress.com/119/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/autological.wordpress.com/119/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/autological.wordpress.com/119/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/autological.wordpress.com/119/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/autological.wordpress.com/119/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/autological.wordpress.com/119/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/autological.wordpress.com/119/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/autological.wordpress.com/119/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/autological.wordpress.com/119/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=autological.wordpress.com&amp;amp;blog=2480282&amp;amp;post=119&amp;amp;subd=autological&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 18 Jul 2008 15:22:36 +0000</pubDate>
	<dc:creator>jfinette</dc:creator>
</item>
<item>
	<title>Gen Kanai: WIPI in Korea or non-tariff barriers to mobile competition</title>
	<guid isPermaLink="true">http://blog.mozilla.com/gen/2008/07/18/wipi-in-korea-or-non-tariff-barriers-to-mobile-competition/</guid>
	<link>http://blog.mozilla.com/gen/2008/07/18/wipi-in-korea-or-non-tariff-barriers-to-mobile-competition/</link>
	<description>&lt;p&gt;Last year I wrote about the &lt;a href=&quot;http://blog.mozilla.com/gen/2007/02/27/the-cost-of-monoculture/&quot;&gt;de-facto monopoly of Microsoft Internet Explorer&lt;/a&gt; in South Korea (&lt;a href=&quot;http://it.slashdot.org/article.pl?sid=07/01/26/1455224&quot;&gt;Slashdot&lt;/a&gt;, &lt;a href=&quot;http://digg.com/linux_unix/SEED_How_South_Korea_s_Encryption_Standard_is_Holding_the_Nation_Back&quot;&gt;Digg&lt;/a&gt;, etc.)  Everyone I tell this story to in the Internet industry, who is not South Korean, is amazed and surprised by such a reality.&lt;/p&gt;
&lt;p&gt;Now I hear that the South Korean government’s &lt;a href=&quot;http://www.kwisa.org/english/introduce/situation.html&quot;&gt;Mobile Platform Special Subcommittee of the Korea Wireless Internet Standardization Forum&lt;/a&gt; (KWISF), in an attempt to create competition (or some say block foreign competition) in the mobile application space, required a Korean-developed middleware standard on all Korean mobile phones, WIPI or (&lt;a href=&quot;http://en.wikipedia.org/wiki/WIPI&quot;&gt;Wireless Internet Platform for Interoperability&lt;/a&gt;), which effectively closed the Korean market to international competition.&lt;/p&gt;
&lt;p&gt;I first heard about WIPI only a few days ago, on Channy Yun’s &lt;a href=&quot;http://koreacrunch.com/archive/iphone-3g-price-comparision&quot;&gt;Korea Crunch&lt;/a&gt; weblog.  Then Changwon Kim blogged about the negative impact of WIPI in Korea at Web 2.0 Asia: &lt;a href=&quot;http://www.web20asia.com/304&quot;&gt;Korean government mulling over scraping WIPI altogether.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here are some other recent choice quotes about the impact of WIPI in South Korea:&lt;/p&gt;
&lt;p&gt;The Korea Times: &lt;a href=&quot;http://www.koreatimes.co.kr/www/news/tech/2008/07/129_27195.html&quot;&gt;Wireless Operators in Talks With Nokia, Apple Over Phones &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“The one remaining trade barrier for foreign handset makers is “WIPI,” or “Wireless Internet Platform for Interoperability,” &lt;strong&gt;a software standard that the government mandated in 2005&lt;/strong&gt; for all mobile-phone makers planning to deliver Internet access on handsets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;With Korea accounting for just 2 percent of the world’s mobile-phone market, it was hard to convince the foreign handset makers to produce WIPI-enabled phones not usable elsewhere.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;However, the KCC, the country’s telecommunications regulator, is now considering scrapping the WIPI requirements, &lt;strong&gt;amid criticism that maintaining a fixed software standard would mean little when the global industry trend leans toward the adoption of open-source operating systems for wireless platforms.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;FT.com: &lt;a href=&quot;http://uk.biz.yahoo.com/02072008/399/korea-signals-lifting-handset-barrier.html&quot;&gt;Korea signals lifting of handset barrier&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;But &lt;strong&gt;faced with criticism that the regulation restricts Korean consumers’ choices&lt;/strong&gt;, President Lee Myung-bak’s newly elected government has expressed a willingness to soften the WIPI rule, potentially allowing foreign handset makers a way into the Korean market.&lt;/p&gt;
&lt;p&gt;“&lt;strong&gt;The WIPI rule, designed to protect local companies, has been the biggest entry barrier against foreign handset makers&lt;/strong&gt;,” says Stan Jung, analyst at Woori Investment &amp;amp; Securities. “Once the rule is spiked, global companies will actively seek to enter the market. Then, &lt;strong&gt;Samsung and LG will find it hard to maintain their dominance.&lt;/strong&gt;“&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Korea Times: &lt;a href=&quot;http://www.koreatimes.co.kr/www/news/biz/2008/06/123_25655.html&quot;&gt;IT Regulation Prevents Korean Access to iPhone&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The presence of two of the world’s largest mobile phone makers ― Samsung and LG ― has &lt;strong&gt;encouraged the [Korean] government to shut its door to foreign-made mobile phones by using non-tariff barriers&lt;/strong&gt;. Along with iPhone, the Nokia, Blackberry and Sony-Ericsson phones are virtually not allowed to be sold here.&lt;/p&gt;
&lt;p&gt;“&lt;strong&gt;Korea is not ready,&lt;/strong&gt;” said a manager of Apple Korea Tuesday. “&lt;strong&gt;We have no comment on iPhone matter in Korea&lt;/strong&gt;, also, there is no plan to release any further information about launching of iPhone in Korea”&lt;/p&gt;
&lt;p&gt;In 2003, the government imposed a unique software platform called WIPI on mobile phones on sale, hoping that this industrial standard can save firms from unnecessary competition and overlapping investment. But as phone technologies advance, &lt;strong&gt;this regulation has become a stiff trade barrier for foreign makers who think it is not cost-efficient to redesign their products only for the South Korean market.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Digital Daily by John Paczkowski: &lt;a href=&quot;http://digitaldaily.allthingsd.com/20080612/south-korea-no-iphone-for-you/&quot;&gt;South Korea: No iPhone for YOU!&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“And for Apple (AAPL), as well as other handset manufacturers like Nokia (NOK) and Sony Ericsson (ERIC), &lt;strong&gt;redesigning their devices to do so is a costly proposition. So costly, in fact, that they’d rather not bother.&lt;/strong&gt;“&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;ZDNet Korea: &lt;a href=&quot;http://www.zdnet.co.kr/etc/eyeon/network/0,39036963,39171161,00.htm&quot;&gt;Seems like WIPI is out. Can Korea become a global financial hub without it?&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;According to Hong [a Korean mobile software developer],&lt;strong&gt; Korean handset makers obviously do not want to abolish WIPI, in their fear of shrinking market share. &lt;/strong&gt;Fortunately for them, the effort for the restoration of WIPI is still ongoing. As Hong said, developing WIPI into an open-source style is considered, if it helps the country’s IT industry.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The problem with thinking that open-sourcing WIPI will help is that the license for the WIPI software is not the core problem.  None of the non-Korean mobile handset manufacturers want to deal with WIPI, whether it is open source or not, because the costs for developing and maintaining a fork for just one nation is not worth the effort (unless you’re &lt;a href=&quot;http://news.softpedia.com/news/Qualcomm-Brings-the-first-WIPI-Handset-on-Korean-Market-58194.shtml&quot;&gt;Qualcomm&lt;/a&gt; it seems.)&lt;/p&gt;
&lt;p&gt;This is now the second time that I have learned that Korea has developed a standard, unique to Korea, which has effectively closed the market to  competition (the first being the pc desktop web browser market, of which there is no Korean-domestic browser, so they make do with Internet Explorer.)&lt;/p&gt;
&lt;p&gt;As &lt;a href=&quot;http://en.wikipedia.org/wiki/Ian_Fleming&quot;&gt;Ian Fleming&lt;/a&gt; said in &lt;a href=&quot;http://en.wikipedia.org/wiki/Goldfinger_(novel)&quot;&gt;Goldfinger&lt;/a&gt;, “Once is happenstance. Twice is coincidence. The third time is enemy action.” (Note, my point here is to say that the S. Korean government seems to make active decisions to limit competition in Korea, which in turn benefits the domestic businesses who are closest to the market.)&lt;/p&gt;
&lt;p&gt;I’ll close with &lt;a href=&quot;http://en.wikipedia.org/wiki/Shirley_Bassey&quot;&gt;Dame Shirley Bassey&lt;/a&gt;, because &lt;a href=&quot;http://jp.youtube.com/watch?v=ImM_ZrRBRWo&quot;&gt;she should always be given the last word&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 10:04:22 +0000</pubDate>
	<dc:creator>Gen Kanai</dc:creator>
</item>
<item>
	<title>Burning Edge - Firefox: 2008-07-17 Trunk builds</title>
	<guid isPermaLink="false">http://www.squarefree.com/burningedge/?p=712</guid>
	<link>http://www.squarefree.com/burningedge/2008/07/18/2008-07-17-trunk-builds/</link>
	<description>&lt;div class=&quot;burningedge&quot;&gt;


&lt;p&gt;Fixes:&lt;/p&gt;

&lt;ul class=&quot;good&quot;&gt;

&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=395980&quot;&gt;395980&lt;/a&gt; - Implement Ctrl+Tab panel to go to previously selected tabs, with an overlay panel showing tab thumbnails (&lt;a href=&quot;http://jboriss.wordpress.com/2008/07/16/control-tab-a-new-feature-for-firefox/&quot;&gt;Boriss's blog entry&lt;/a&gt;).&lt;/strong&gt;&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=10713&quot;&gt;10713&lt;/a&gt; - Implement CSS3 'text-shadow' property.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=212633&quot;&gt;212633&lt;/a&gt; - Implement CSS3 'box-shadow' property.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=378217&quot;&gt;378217&lt;/a&gt; - Implement CSS3 'border-image' property.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=75375&quot;&gt;75375&lt;/a&gt; - Support CSS3 :nth-*() pseudo-classes.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=128585&quot;&gt;128585&lt;/a&gt; - Support CSS3 :first-of-type, :only-of-type, and :last-of-type pseudo-class selectors.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=421765&quot;&gt;421765&lt;/a&gt; - Implement DOM 3 replaceWholeText and wholeText.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=436904&quot;&gt;436904&lt;/a&gt; - Implement Canvas text spec.&lt;/strong&gt;&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=125995&quot;&gt;125995&lt;/a&gt; - [Mac] Take proxy settings from Network Preferences.&lt;/strong&gt;&lt;/li&gt;

&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=50630#c69&quot;&gt;50630&lt;/a&gt; - Float should be as high as previous line box.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=287465&quot;&gt;287465&lt;/a&gt; - Implement the GetSVGDocument interface for HTMLObjectElement/HTMLIFrameElement.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=426732&quot;&gt;426732&lt;/a&gt; - Implement '-moz-nativehyperlinktext' color value.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=412567&quot;&gt;412567&lt;/a&gt; - Once dispatched, events cannot be redispatched.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=438830&quot;&gt;438830&lt;/a&gt; - Plugins can be instantiated, killed, then reinstantiated when a page loads.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=153092&quot;&gt;153092&lt;/a&gt; - text-decoration:blink still blinks in print preview.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=344258&quot;&gt;344258&lt;/a&gt; - Make &amp;lt;svg:use&amp;gt; live to id changes in document.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=221445&quot;&gt;221445&lt;/a&gt; - Using &quot;|&quot; (pipe) as URI separator breaks some links/home pages; causes multiple tabs to open.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=409192&quot;&gt;409192&lt;/a&gt; - Applications prefpane is broken if shell service isn't available at runtime (Applications preferences dialogue is empty, no way to add applications).&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=355965&quot;&gt;355965&lt;/a&gt; - Improve notification bar animation.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=359675&quot;&gt;359675&lt;/a&gt; - Provide an option to manually fill forms and log in.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=439365&quot;&gt;439365&lt;/a&gt; - Need a notification to fire when a form is available to be filled in.&lt;/li&gt;

&lt;/ul&gt;


&lt;p&gt;To see all 886 changesets (referencing about 600 bugs) since 2008-05-12, use this Mercurial command:&lt;br /&gt;
hg log -r 66846d861fd9:9fbc65c8de31&lt;/p&gt;


&lt;p class=&quot;windows builds&quot;&gt;
&lt;img src=&quot;http://www.squarefree.com/burningedge/winicon.png&quot; alt=&quot;Windows builds:&quot; height=&quot;18&quot; width=&quot;18&quot; /&gt;

&lt;a href=&quot;https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2008/07/2008-07-17-03-mozilla-central/&quot;&gt;Windows nightly&lt;/a&gt;

(&lt;a href=&quot;http://forums.mozillazine.org/viewtopic.php?t=744065&quot;&gt;discussion&lt;/a&gt;)&lt;/p&gt;



&lt;p class=&quot;mac builds&quot;&gt;
&lt;img src=&quot;http://www.squarefree.com/burningedge/macosx.png&quot; alt=&quot;Mac builds:&quot; height=&quot;18&quot; width=&quot;18&quot; /&gt;

&lt;a href=&quot;https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2008/07/2008-07-17-02-mozilla-central/&quot;&gt;Mac nightly&lt;/a&gt;

&lt;/p&gt;


&lt;p class=&quot;linux builds&quot;&gt;

&lt;img src=&quot;http://www.squarefree.com/burningedge/linuxicon.gif&quot; alt=&quot;Linux builds:&quot; height=&quot;18&quot; width=&quot;18&quot; /&gt;

&lt;a href=&quot;https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2008/07/2008-07-17-02-mozilla-central/&quot;&gt;Linux nightly&lt;/a&gt;

&lt;/p&gt;


&lt;/div&gt;</description>
	<pubDate>Fri, 18 Jul 2008 09:17:53 +0000</pubDate>
	<dc:creator>Jesse Ruderman</dc:creator>
</item>
<item>
	<title>Jesse Ruderman: Transparent text is transparent</title>
	<guid isPermaLink="false">http://www.squarefree.com/?p=401</guid>
	<link>http://www.squarefree.com/2008/07/18/transparent/</link>
	<description>&lt;p&gt;Firefox 3 added support a new CSS color keyword, &lt;code&gt;transparent&lt;/code&gt;.  Surprisingly, this &lt;a href=&quot;https://bugzilla.mozilla.org/buglist.cgi?bug_id=392703,430606,437367,439637,439677,440402,441022,445880&quot;&gt;broke some sites&lt;/a&gt;, many of which had rules like &lt;code&gt;table { color: transparent; }&lt;/code&gt; due to a Microsoft FrontPage bug.&lt;/p&gt;

&lt;p&gt;The strangest part: Firefox wasn't the first major browser to support &lt;code&gt;transparent&lt;/code&gt;.  Safari was.&lt;/p&gt;

&lt;p&gt;These sites were broken in Safari too — until the webmasters got emails from Firefox users.  Is Safari's market share really so low that even when Safari is the first to make a change that affects compatibility, Firefox helps Safari more than Safari helps Firefox?&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 07:05:03 +0000</pubDate>
	<dc:creator>Jesse Ruderman</dc:creator>
</item>
<item>
	<title>Chris Ilias: How to remove the shadow from Mac screenshots</title>
	<guid isPermaLink="false">http://ilias.ca/blog/?p=188</guid>
	<link>http://ilias.ca/blog/2008/07/how-to-remove-the-shadow-from-mac-screenshots/</link>
	<description>&lt;div class=&quot;meta&quot;&gt;  Music : Green Day - Hitchin a Ride&lt;/div&gt;&lt;p&gt;Mac users may have noticed that whenever you take a screenshot of a window on Leopard, the shadow that surrounds the window is also included. If you don’t want screen captures to include the shadow, you can set Leopard not to include it.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Terminal application.&lt;/li&gt;
&lt;li&gt;Type the following command, and press &lt;kbd&gt;Enter&lt;/kbd&gt;:&lt;br /&gt;
&lt;code&gt;defaults write com.apple.screencapture disable-shadow -bool true &amp;amp;&amp;amp; killall SystemUIServer&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can set it back to normal with the following command:&lt;br /&gt;
&lt;code&gt;defaults delete com.apple.screencapture disable-shadow &amp;amp;&amp;amp; killall SystemUIServer&lt;/code&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 05:58:53 +0000</pubDate>
	<dc:creator>Chris Ilias</dc:creator>
</item>
<item>
	<title>Seth Bindernagel: Firefox 3 Sinhala Release on Swarnavahini News</title>
	<guid isPermaLink="false">http://blog.mozilla.com/seth/?p=208</guid>
	<link>http://blog.mozilla.com/seth/2008/07/17/firefox-3-sinhala-release-on-swarnavahini-news/</link>
	<description>&lt;p&gt;Danishka is our lead Sinhala localizer in Sri Lanka.  In addition to creating a localized version of Firefox 3, he’s been doing some great evangelizing about Mozilla in his home country.  Check out this video on Swarnavahini News.  (If you don’t understand Sinhala, this video is gonna be rough.  But, you’ll still see some noticeable logos and hear some familiar names.) &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=vjqnx6nCYqw&quot;&gt; Firefox 3 Sinhala Release on Swarnavahini News&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Danishka, how’d you do it?  It’s so impressive that you localized the browser AND have been creating such great buzz in your country.  Very cool!! &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.colombopage.com/archive_08/July15191506SL.html&quot; target=&quot;_blank&quot;&gt;More news on impact out of Colombo.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Many thanks to our friends at &lt;span class=&quot;newsbody&quot;&gt;the Information and Communication Technology Agency of Sri Lanka (ICTA) and the University of Moratuwa who helped Danishka in this great effort.  &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;newsbody&quot;&gt;I would love to hear any thoughts from our community in Sri Lanka.  How you are expanding?  How did you find the localization process?   What tools did you use?  Please give us your comments.  I know others would be interested in reading.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=vjqnx6nCYqw&quot;&gt; &lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 02:13:34 +0000</pubDate>
	<dc:creator>seth bindernagel</dc:creator>
</item>
<item>
	<title>Jesse Ruderman: The return of NS_ABORT_IF_FALSE</title>
	<guid isPermaLink="false">http://www.squarefree.com/?p=400</guid>
	<link>http://www.squarefree.com/2008/07/17/abort/</link>
	<description>&lt;p&gt;After five years in &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=208098&quot;&gt;hiding&lt;/a&gt;, NS_ABORT_IF_FALSE has &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=429930&quot;&gt;returned&lt;/a&gt;.  Please use it instead of NS_ASSERTION in situations where failure is likely to lead to memory corruption.  By aborting rather than asserting, you ensure that debug-build users focus on the cause of the corruption rather than whatever random crash results from the corruption.  This leads to happier debugging and better bug reports.&lt;/p&gt;

&lt;p&gt;Of course, sometimes it's better to prevent the memory corruption entirely, e.g. by adding a run-time check or by making all builds abort (not just debug builds).&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 01:43:46 +0000</pubDate>
	<dc:creator>Jesse Ruderman</dc:creator>
</item>
<item>
	<title>Felipe Gomes: Code Jam in JavaScript</title>
	<guid isPermaLink="false">http://felipe.wordpress.com/?p=40</guid>
	<link>http://felipe.wordpress.com/2008/07/17/code-jam-in-javascript/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;Today was the qualification round of &lt;a href=&quot;http://code.google.com/codejam/&quot; title=&quot;Google Code Jam&quot;&gt;Google Code Jam&lt;/a&gt; 2008. This year Google remodelled the contest format, moving from the traditional competition arenas where you code using some of the pre-specified languages (usually C++/Java/Python/VB) directly into a window and the code is compiled and run server-side, to a more open format where you just download an input file and submit the output of your program. I liked this change very much, because it brings two good advantages for the competitors: first, you can use the editors, environment and programming tools that you’re most comfortable with; second, you can use &lt;strong&gt;any&lt;/strong&gt; programming language that you want (as long as its freely available). This is definitely cool because if, for example, some complex math problem appears, one could even open some free math environment like &lt;a href=&quot;http://www.sagemath.org/&quot; title=&quot;Sage&quot;&gt;Sage&lt;/a&gt; or &lt;a href=&quot;http://www.scilab.org/&quot; title=&quot;Scilab&quot;&gt;Scilab&lt;/a&gt; to solve some integrals or matrix equations.&lt;/p&gt;
&lt;p&gt;In the past I’ve participated of such contests coding in C/C++ and I was warming up for this year’s edition in C++ and maybe Perl if some tricky parsing gets needed, but then I decided to try something a bit different this time and check how nice it would be to participate in the contest using JavaScript. Turns out it was totally cool!&lt;/p&gt;
&lt;p&gt;Before the contest started, I coded a little &lt;a href=&quot;http://grad.icmc.usp.br/~felipc/JSArena/&quot; title=&quot;JS Arena&quot;&gt;JS arena&lt;/a&gt; to make it quicker to work with my code, without the need of saving and reloading files all the time. It also supports working with the input/output in a way which is generally expected by such competitions: by reading one line at a time, getting the values as strings or numbers, and printing to the output one line at a time, generally one line for each test case. It is similar to Jesse Ruderman’s &lt;a href=&quot;http://www.squarefree.com/jsenv/&quot; title=&quot;Jesse Ruderman JS Env&quot;&gt;JS Env&lt;/a&gt;, albeit much simpler, but with the added twist of accessing an input. Another available feature is actually running two different source codes as input altogether, useful if you want to code some helper functions but don’t want them to keep visually distracting you (The helper functions are kept in a hidden textarea that you can toggle).&lt;/p&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_44&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://felipe.files.wordpress.com/2008/07/jsarena.jpg&quot;&gt;&lt;img src=&quot;http://felipe.files.wordpress.com/2008/07/jsarena.jpg?w=300&amp;amp;h=214&quot; alt=&quot;JS Arena&quot; height=&quot;214&quot; class=&quot;size-medium wp-image-44&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;JS Arena&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Having the opportunity to work in the contest using a language full of features like arrays with built-in sorts, RegExp, lambda functions, OOP, Hashmaps/Dictionaries/however-you-call-it makes a lot of difference when you are running against the time to solve an algorithm problem. And it was also very nice (and geek) to use Firefox as my development environment for the contest, as it’s already the case for many people doing webdesign entirely using FF and its great extensions. The qualification round has ended, now let’s see how far I can go with JavaScript in the next rounds!&lt;/p&gt;
&lt;p&gt;As this arena is not only useful for this contest, but also if you want to do some quick JavaScript coding/parsing, I’ve put it online (&lt;a href=&quot;http://grad.icmc.usp.br/~felipc/JSArena/&quot; title=&quot;JS Arena&quot;&gt;JS Arena&lt;/a&gt;). It comes loaded with the code and input from one of the problems of the qualification round (which was about search engines), but you can just erase the pre-loaded text and type your code. The whole CSS and scripts are contained in a single .htm file because it was easier to submit to the contest, and it makes it easier too if you want to grab the file for offline usage.&lt;/p&gt;
&lt;img src=&quot;http://feeds.wordpress.com/1.0/categories/felipe.wordpress.com/40/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt; &lt;img src=&quot;http://feeds.wordpress.com/1.0/tags/felipe.wordpress.com/40/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/felipe.wordpress.com/40/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/felipe.wordpress.com/40/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/felipe.wordpress.com/40/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/felipe.wordpress.com/40/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/felipe.wordpress.com/40/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/felipe.wordpress.com/40/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/felipe.wordpress.com/40/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/felipe.wordpress.com/40/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/felipe.wordpress.com/40/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/felipe.wordpress.com/40/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=felipe.wordpress.com&amp;amp;blog=703&amp;amp;post=40&amp;amp;subd=felipe&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 18 Jul 2008 00:17:25 +0000</pubDate>
	<dc:creator>felipe</dc:creator>
</item>
<item>
	<title>Seth Bindernagel: Reviewing l10n goals</title>
	<guid isPermaLink="false">http://blog.mozilla.com/seth/?p=207</guid>
	<link>http://blog.mozilla.com/seth/2008/07/17/reviewing-l10n-goals/</link>
	<description>&lt;p&gt;Last week, a subset of the l10n-drivers team met in Paris (my pics are coming) to discuss many things related to l10n, including a review of goals that had been set last November before the lead-up to the release of Firefox 3.  The goals were ambitious and listed many ways in which the team could create positive impact.  Part of our work week was to review these goals and find out what we did well, didn’t do well, and could do better as we create goals for the upcoming quarter.&lt;/p&gt;
&lt;p&gt;One thing to note for this post, I’ve tried to distill lots and lots of goals (sometimes, they were simply tasks) into larger buckets that represent common themes among the ideas that came up.  I’ve tried to list what was done well and what needs improvement for the goals that were created.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Goal 1:  Create a finite schedule that localizers could follow as they worked up to the release of Firefox 3 and Thunderbird &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;How did we do?  Well, we did the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improved the build infrastructure using L10n server&lt;/li&gt;
&lt;li&gt;Created a dashboard that shows state of locales and outstanding bug&lt;/li&gt;
&lt;li&gt;Started filing tracking bugs for each locale interested in shipping FF3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We could improve by getting better at time management of certain aspects of localization that become obsolete (specifically web stuff), so our localizer community does not working fruitlessly to translate something that is then not used.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Goal 2: L10n team implements more strategic initiatives that benefit the Mozilla Community&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;How’d it go?&lt;/p&gt;
&lt;p&gt;We worked hard on the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Proactively developing and supporting community&lt;/li&gt;
&lt;li&gt;Contributing to marketing/analysis/metrics teams&lt;/li&gt;
&lt;li&gt;Create tools for the l10n community&lt;/li&gt;
&lt;li&gt;Improve communication about the localization process so people can plan more efficiently&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Overall, we did pretty well here and can continue to improve. For community development, we had hoped to find new, motivated individuals to join teams and help lead, create opportunities for localizers to grow into new marketing and PR roles if interested, and to encourage localizers to help Mozilla understand local initiatives, goals, and even trends taking place.  Essentially, we want to build good relationships with localizers.  The trouble with this is that it’s hard to measure and it’s an ongoing process.  So, we couldn’t really find concrete examples, but are starting new initiatives like the Community Pack, which I’ll describe below.&lt;/p&gt;
&lt;p&gt;Regarding metrics, &lt;a href=&quot;http://blog.mozilla.com/metrics/2008/06/25/localizers-enable-firefox-3-success/&quot; target=&quot;_blank&quot;&gt;Ken Kovash’s blog has a lot of information about locale specific use of Firefox&lt;/a&gt;.   We hope to grow more here and do more with Ken so our localizers have more information about the impact they are having.&lt;/p&gt;
&lt;p&gt;Tools development also had some success.  We are made &lt;a href=&quot;http://blog.mozilla.com/seth/2008/06/10/grant-to-translateorgza/&quot; target=&quot;_blank&quot;&gt;a grant to Translate.org.za&lt;/a&gt; for their work on Pootle.  Wil Clouser and Dan Schafer have been working very hard on &lt;a href=&quot;http://wiki.mozilla.org/Verbatim&quot; target=&quot;_blank&quot;&gt;Verbatim&lt;/a&gt;.  We also held a &lt;a href=&quot;http://blog.mozilla.com/seth/2008/02/27/fosdem-bof-on-l10n-tools/&quot; target=&quot;_blank&quot;&gt;tools BoF at FOSDEM&lt;/a&gt;.  We chatted with Narro Project several times and &lt;a href=&quot;http://blog.mozilla.com/seth/2008/03/06/narro-project-code-now-open/&quot; target=&quot;_blank&quot;&gt;Narro opened its code for all to see and contribute&lt;/a&gt;.  More work will continue on tools development throughout the coming year.&lt;/p&gt;
&lt;p&gt;From a QA/testing perspective, we did the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Provided better, more timely feedback when comparing the en-US trunk vs. localizer’s code&lt;/li&gt;
&lt;li&gt;Used Axel’s compare-locales tool to test more bugs&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://l10n.mozilla.org/~axel/screens/&quot; target=&quot;_blank&quot;&gt;Developed a screenshoot tool&lt;/a&gt; which goes through preference dialogues and enables a bunch of screenshots and tell everyone what the dialogue sizes are.  (By the way, Pike ran all this manually.  What a job!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We can improve by providing more support to new localizers.  Zbigniew Braniecki is spearheading one idea that he calls the Community Pack that will be a list of resources available for the community.  We also need to enhance our testing tools for localizers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Goal 3:  Mozilla’s localization-drivers team define its role and scope in the Mozilla Corporation and in the Mozilla Community, answering the questions “What are the l10n-drivers? What do they do?  And, how can they help us?”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;How’d we do?&lt;/p&gt;
&lt;p&gt;We probably could have done a lot better here, but the good thing is that the team is focusing its goals for the upcoming quarter and, through my blog and other outlets, we’ll be much more transparent and communicative about what we are doing.&lt;/p&gt;
&lt;p&gt;I mentioned it last post…you may have noticed that I’m writing more and more about l10n.  Well, there is a reason.  I’ve been asked to change my role at Mozilla and take on more leadership with our localization efforts.  I will continue to work with community to provide very leveraged support with the Community Giving and Empowerment Program.  However, that experience and my involvement with the Evangelism team gave me a lot more exposure to things like the l10n community.   Now, I’ll be working on the l10n team to improve our process, blog more to provide transparency and showcase ideas and progress, and work hard to build new l10n communities while servicing our existing localizers who do so much.  Hooray!  I couldn’t be more excited.  And, I am so honored to work with all of the localizers in our community who make it possible for our software to ship in so many languages.&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jul 2008 00:05:23 +0000</pubDate>
	<dc:creator>seth bindernagel</dc:creator>
</item>
<item>
	<title>Air Mozilla: Air Mozilla Live with Mark Surman &amp; Mitchell Baker</title>
	<guid isPermaLink="true">http://blog.mozilla.com/airmozilla/2008/07/17/air-mozilla-live-with-mark-surman-mitchell-baker/</guid>
	<link>http://blog.mozilla.com/airmozilla/2008/07/17/air-mozilla-live-with-mark-surman-mitchell-baker/</link>
	<description>&lt;p&gt;Join us on Wednesday, July 23 at 11am Pacific time, 6pm GMT for a great Air Mozilla Live with Mitchell Baker and Mozilla Foundation Executive Director candidate Mark Surman. &lt;/p&gt;
&lt;p&gt;To learn more about the show, go read &lt;a href=&quot;http://blog.lizardwrangler.com/2008/07/17/mark-surman-and-the-mozilla-foundation/&quot;&gt;Mitchell’s Blog&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who:&lt;/strong&gt; The Mozilla community, host Asa Dotzler, and guests Mark Surman and Mitchell Baker&lt;br /&gt;
&lt;strong&gt;When:&lt;/strong&gt; Wednesday, July 23rd, from 11:00 a.m. - 12:00 p.m. PDT (UTC-07:00)&lt;br /&gt;
&lt;strong&gt;Where:&lt;/strong&gt; View the &lt;a href=&quot;http://air.mozilla.com&quot;&gt;webcast&lt;/a&gt; and join the chat on the server irc.mozilla.org, channel #airmozilla&lt;/p&gt;
&lt;p&gt;Don’t forget that you can email your questions ahead of time to airmozilla@mozilla.com and you can find us on IRC and IM networks. This is your chance to be a part of the process so don’t miss it!&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a title=&quot;E-mail this, post to del.icio.us, etc.&quot; href=&quot;http://blog.mozilla.com/airmozilla/?p=21&amp;amp;akst_action=share-this&quot; id=&quot;akst_link_21&quot; rel=&quot;nofollow&quot; class=&quot;akst_share_link&quot;&gt;Share This&lt;/a&gt;
&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 23:34:00 +0000</pubDate>
	<dc:creator>Asa</dc:creator>
</item>
<item>
	<title>Basil Hashem: Firefox 3.0.1 and add-on compatibility</title>
	<guid isPermaLink="false">http://blog.mozilla.com/basil/?p=37</guid>
	<link>http://blog.mozilla.com/basil/2008/07/17/firefox-301-and-add-on-compatibility/</link>
	<description>&lt;p&gt;We’ve seen reports from the field and blogosphere that Firefox 3.0.1 has somehow broken compatibility for many add-ons. This is indeed &lt;strong&gt;not the case&lt;/strong&gt;. When add-on authors publish their add-on they declare the &lt;a href=&quot;http://blog.mozilla.com/basil/2008/05/12/amo-adds-firefox-3-compatible-versions/&quot;&gt;compatibility range&lt;/a&gt; for an add-on. It typically looks like “2.0 to 3.0.*” - meaning that at minimum, this add-on requires Firefox 2.0 and works with any maintaince release of Firefox 3.0. (End of the compatibility range is also called the maxVersion).&lt;/p&gt;
&lt;p&gt;Some add-on authors have erroneously used “3.0″ as their maxVersion so when users with these add-ons upgrade from Firefox 3.0 to Firefox 3.0.1, the add-on gets disabled. We encourage these add-on authors to use “3.0.*” as their maxVersion.&lt;/p&gt;
&lt;p&gt;We have verified that the majority of add-ons hosted on AMO with Firefox 3 support have “3.0.*” in their compatibility range but there are many sites from where add-ons can be acquired.&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 22:12:54 +0000</pubDate>
	<dc:creator>bhashem</dc:creator>
</item>
<item>
	<title>Blog of Metrics: Life after Launch of Firefox 3 - Revisited</title>
	<guid isPermaLink="false">http://blog.mozilla.com/metrics/?p=61</guid>
	<link>http://blog.mozilla.com/metrics/2008/07/17/life-after-launch-of-firefox-3-revisited/</link>
	<description>&lt;p&gt;A couple months ago, &lt;a href=&quot;http://blog.mozilla.com/metrics/2008/05/20/life-after-launch-of-firefox-3/&quot; target=&quot;_blank&quot;&gt;we speculated&lt;/a&gt; on what the Firefox 3 universe would look like approximately one month after launch.  In that &lt;a href=&quot;http://blog.mozilla.com/metrics/2008/05/20/life-after-launch-of-firefox-3/&quot; target=&quot;_blank&quot;&gt;analysis&lt;/a&gt;, we took our download and usage numbers from the time period following Firefox 2’s launch in 2006 and extrapolated from there.  We’re now exactly one month removed from Download Day, so we wanted to update that discussion and see how close our guesstimates were for Firefox 3.&lt;/p&gt;
&lt;p&gt;Specifically, how many cumulative downloads of Fx3 have we seen since Download Day and were does the “Active Daily User” number for Fx3 usage stand today?  Below you’ll see this snapshot analysis, along with a comparison to the launch of Firefox 2:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://wiki.mozilla.org/images/1/15/One_month_after_launch.png&quot; alt=&quot;&quot; height=&quot;416&quot; width=&quot;552&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The numbers above match fairly well with our original predictions.  So, how else can we interpret these results?  One pattern that stands out is the conversion percentage, i.e., how well downloads are translating to active daily users.  Dividing the “red” number by the “blue” number, you’ll see that the conversion rate was approximately 38.5% during the first month of Fx2 and has been approximately 33% during the first month of Fx3.  This could merely be a seasonal effect… or perhaps this tells us that there’s a little room for improving the user’s experience from download to install and from install to long-term usage.&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 20:20:15 +0000</pubDate>
	<dc:creator>kkovash</dc:creator>
</item>
<item>
	<title>Gervase Markham: Signing the New Contributor's Agreement</title>
	<guid isPermaLink="true">http://weblogs.mozillazine.org/gerv/archives/2008/07/signing_the_new_contributors_agreement.html</guid>
	<link>http://weblogs.mozillazine.org/gerv/archives/2008/07/signing_the_new_contributors_agreement.html</link>
	<description>&lt;p&gt;We recently updated the &lt;a href=&quot;http://www.mozilla.org/hacking/committer/committers-agreement.pdf&quot;&gt;Mozilla Contributor's Agreement&lt;/a&gt;, and are looking to get current contributors to sign the new version. One important change is that it's now a real agreement with an actual legal entity - the Mozilla Foundation.&lt;/p&gt;

&lt;p&gt;So all Firefox Summit attendees who have CVS, SVN or Hg accounts (which will be most of you) will be asked to sign the new Contributor's Agreement during the Summit registration process. (This is because it's a very convenient time to catch people.) You will be asked to sign it even if you have not signed the old agreement; we have decided that it's best if everyone with a source control account completes one.&lt;/p&gt;

&lt;p&gt;Please review it now and email me if you have any questions. There is a &lt;a href=&quot;http://www.mozilla.org/hacking/committer/faq.html&quot;&gt;FAQ&lt;/a&gt; and a &lt;a href=&quot;http://wiki.mozilla.org/Committers_Agreement:Changelog&quot;&gt;summary of changes&lt;/a&gt; from the original agreement which you may find useful. &lt;/p&gt;

&lt;p&gt;Everyone else, feel free to review the agreement but please wait before submitting forms. In a month or two we hope to have an electronic system which will make this easier for everyone involved. (If this doesn't pan out, we'll fall back to paper, but for now, hold your fire.)&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 18:43:59 +0000</pubDate>
	<dc:creator>gerv</dc:creator>
</item>
<item>
	<title>Arun K. Ranganathan: Building the Web, One Spec at a Time</title>
	<guid isPermaLink="false">http://arunranga.com/blog/?p=28</guid>
	<link>http://arunranga.com/blog/2008/07/building-the-web-one-spec-at-a-time/</link>
	<description>&lt;p&gt;I’m admittedly being a bit glib in my title.  Can innovation and advancement of the web platform occur at all, given the temporal straight jacket that standards bodies sometimes impose?  There are certainly proprietary platforms that leverage the web (&lt;a href=&quot;http://www.macromedia.com/software/flash/about/&quot;&gt;Flash&lt;/a&gt; and &lt;a href=&quot;http://silverlight.net/&quot;&gt;Silverlight&lt;/a&gt;) and developers &lt;em&gt;do&lt;/em&gt; happily bivouac in them, building &lt;a href=&quot;http://memorabilia.hardrock.com/&quot;&gt;some fairly compelling stuff&lt;/a&gt;.  Some even argue that &lt;a href=&quot;http://pseudosavant.com/blog/2008/07/08/a-proprietary-web-blame-the-w3c/&quot;&gt;these proprietary platforms&lt;/a&gt; push the envelope &lt;a href=&quot;http://blogs.zdnet.com/carroll/?p=1855&quot;&gt;more than what the web can do by itself,&lt;/a&gt; given the &lt;a href=&quot;http://blogs.zdnet.com/Stewart/?p=881&quot;&gt;stagnancy of standards bodies&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But let’s talk about the web platform.  Stagnant, really?  Innovation at Mozilla ultimately manifests itself as innovation for the web platform.  Let’s leave the intricacies of the standards process for another discussion — it isn’t ideal, and big questions about consortia (like &lt;a href=&quot;http://www.w3.org/&quot;&gt;W3C&lt;/a&gt; and &lt;a href=&quot;http://www.ecma-international.org/&quot;&gt;ECMA&lt;/a&gt;) are probably valid ones.  Great ideas are vetted for interoperability in forums such as the &lt;a href=&quot;http://www.whatwg.org/&quot;&gt;WHATWG&lt;/a&gt;, and the &lt;a href=&quot;http://www.w3.org/2008/webapps/&quot;&gt;W3C’s WebApps WG&lt;/a&gt;, and we browser vendors deliver as rapidly as feasible on implementations (some are slower than others — you know who you are).  Both IE8 Beta and Firefox 3 now support &lt;a href=&quot;http://ejohn.org/blog/postmessage-api-changes/&quot;&gt;postMessage&lt;/a&gt;, for example, so talk of AJAX methodologies being stagnant ought to be revisited.  And support of &lt;a href=&quot;http://www.whatwg.org/specs/web-apps/current-work/#the-2d&quot;&gt;Canvas2D&lt;/a&gt; in browsers such as Opera, Safari, and Firefox results in &lt;a href=&quot;http://blog.wired.com/monkeybites/2008/05/new-javascript.html&quot;&gt;stellar innovations such as processing.js&lt;/a&gt;, which — any “open platform” chauvinism on my part notwithstanding — gives Flash a royal run for its money.&lt;/p&gt;
&lt;p&gt;Mozilla’s involvement in standards encompasses enhancements to JavaScript, graphics, and APIs for new capabilities.  Below is a breakdown of the work that will eventually be a part of the web platform.  Don’t stop and stare for too long — there is nothing stagnating here &lt;img src=&quot;http://arunranga.com/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-28&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Evolving the &lt;em&gt;AJAX backbone&lt;/em&gt; essentially means adding new capabilities to the &lt;code&gt;XMLHttpRequest&lt;/code&gt; object, which is really the skinny man on stilts behind the AJAX wizard.  Currently, the &lt;code&gt;XMLHttpRequest&lt;/code&gt; object (abbreviated XHR) can’t cross the single domain threshold, but we’re working on a “mitigation” mechanism to allow cross-domain access called &lt;a href=&quot;http://dev.w3.org/2006/waf/access-control/&quot;&gt;Access Control&lt;/a&gt;, which will be used by API containers such as &lt;a href=&quot;http://www.w3.org/TR/XMLHttpRequest2/&quot;&gt;XHR Level 2&lt;/a&gt;.  Allowing Cookies and HTTP-Authentication mechanisms for safer cross-domain mashups is &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-webapps/2008JulSep/0011.html&quot;&gt;controversial, certainly&lt;/a&gt;, and safety is paramount.  Amongst the topics to consider are interoperability with Microsoft’s equally controversial &lt;code&gt;XDomainRequest&lt;/code&gt; object, introduced in IE8 Beta.  The &lt;a href=&quot;http://www.w3.org/2008/webapps/&quot;&gt;WebApps Working Group’s&lt;/a&gt; progress has been good; I expect this feature to be released in Firefox 3.next.  Our long term goals ought to be to &lt;a href=&quot;http://people.mozilla.com/~bsterne/site-security-policy/&quot;&gt;clean up&lt;/a&gt; the existing legacy of &lt;a href=&quot;http://www.arunranga.com/articles/browser-cross-site.html&quot;&gt;“ad-hoc” cross-domain access mechanisms&lt;/a&gt; on the web, and introduce safer primitives to give developers the capability of doing safe mashups.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;em&gt;Canvas3D initiative&lt;/em&gt; brings 3D graphics to the web, exposing &lt;a href=&quot;http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/&quot;&gt;an OpenGL 3D context to JavaScript via the canvas element&lt;/a&gt;.  Pretty cool, eh?  This allows 3D modeling on the web, with the potential of a low-level API that does the &lt;a href=&quot;http://www.khronos.org/opengles/&quot;&gt;OpenGL stuff&lt;/a&gt;, possibly allowing for use of a shading language and even modeling formats like &lt;a href=&quot;http://www.khronos.org/collada/&quot;&gt;Collada&lt;/a&gt;.  There’s also the possibility of a higher level layer of abstraction for 3D graphics in general.  We’re raring to talk to the appropriate standards group, as well as get feedback on early implementations (check out &lt;a href=&quot;http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/&quot;&gt;Vlad’s extension&lt;/a&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Worker Threads in JavaScript&lt;/em&gt; allow for abstraction around multiple threads exposed to web content, and allows for inter-thread communication using an API like &lt;code&gt;postMessage&lt;/code&gt;.  Use cases envision dedicated “background” processes happening asynchronously (and communicating with other processes on the spawning page).  Proposals abound; &lt;a href=&quot;http://code.google.com/apis/gears/api_workerpool.html&quot;&gt;Google Gears&lt;/a&gt;, &lt;a href=&quot;http://hixie.ch/specs/dom/workers/0.9&quot;&gt;WHATWG&lt;/a&gt;, and &lt;a href=&quot;http://wiki.mozilla.org/DOMWorkerThreads&quot;&gt;Mozilla’s DOM Worker Threads&lt;/a&gt; all have skin in the game, and we’re all working to arrive at a single straw person which will evolve either in the &lt;a href=&quot;http://www.whatwg.org/&quot;&gt;WHATWG&lt;/a&gt; or in the &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-webapps/2008AprJun/0416.html/&quot;&gt;W3C WebApps WG, where it was proposed&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Introducing &lt;em&gt;SVG capabilities in CSS&lt;/em&gt; goes some of the way towards addressing the concern that the web stack consists of separate technologies that don’t “live together” well.  Mozilla’s Robert O’Callahan blogged first about &lt;a href=&quot;http://weblogs.mozillazine.org/roc/archives/2008/06/applying_svg_ef.html&quot;&gt;extending SVG’s notions of &lt;code&gt;filter&lt;/code&gt;, &lt;code&gt;mask&lt;/code&gt; and &lt;code&gt;clip-path&lt;/code&gt;&lt;/a&gt;, and then about &lt;a href=&quot;http://weblogs.mozillazine.org/roc/archives/2008/07/svg_paint_serve.html&quot;&gt;extending SVG paint servers&lt;/a&gt;.  The resultant demos are …. just &lt;em&gt;pretty darn awesome&lt;/em&gt;.  In an ideal world, these would be &lt;a href=&quot;http://www.w3.org/Style/2004/css-charter-long.html&quot;&gt;extensions to the CSS charter&lt;/a&gt;, since these make the &lt;a href=&quot;http://people.mozilla.com/~roc/SVG-CSS-Effects-Draft.html&quot;&gt;capabilities of SVG exposed to CSS&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The birth of the &lt;em&gt;Geolocation API&lt;/em&gt; for JavaScript was originally fraught with some small dissonance about where in the W3C the activity would live.  In the WebApps Working Group, or in a newly minted Geolocation Working Group?  It looks a lot like for reasons of corporate machinery (as well as, honestly, modular specification management), the Geolocation work will take place in a separate working group, despite objections from Mozilla, Opera, Apple, and Google (we’ll all still likely participate).  Andrei Popescu from Google is a promising editor of the &lt;a href=&quot;http://dev.w3.org/geo/api/spec-source.html&quot;&gt;nascent specification&lt;/a&gt;, which reconciled ideas from &lt;a href=&quot;http://code.google.com/p/google-gears/wiki/GeolocationAPI&quot;&gt;Google’s Gears team&lt;/a&gt; as well as &lt;a href=&quot;http://azarask.in/blog/post/geolocation-in-firefox-and-beyond/&quot;&gt;Mozilla’s Geolocation proposal.&lt;/a&gt; &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;ECMAScript 3.1 and ECMAScript 4&lt;/em&gt; are both enhancements to the defacto programming language of the web (and will manifest themselves in JavaScript &lt;em&gt;and&lt;/em&gt; ActionScript — some things aren’t &lt;em&gt;totally&lt;/em&gt; proprietary anymore, and both “proprietary” and “open” are words that ought to be used in an informed way).  &lt;a href=&quot;http://wiki.ecmascript.org/doku.php?id=es3.1:es3.1_proposal_working_draft&quot;&gt;ECMAScript 3.1&lt;/a&gt; proposes to recognize some “reality on the web” as well as introduces notions around safe subsets.  &lt;a href=&quot;http://www.ecmascript.org/docs.php&quot;&gt;ECMAScript 4&lt;/a&gt; introduces “evolutionary” enhancements to ECMAScript — think &lt;code&gt;class&lt;/code&gt;es and structural types in JavaScript &lt;img src=&quot;http://arunranga.com/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anyone that thinks the web is standing still while proprietary models out-maneuver us ought to be disabused of that notion.&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 17:59:53 +0000</pubDate>
	<dc:creator>arunranga</dc:creator>
</item>
<item>
	<title>Planet Mozilla Interns: Lukas Blakk: Set the VNC Password for Mac's Remote Desktop in Terminal</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-6439561539898172827.post-8010502766505287486</guid>
	<link>http://crashopensource.blogspot.com/2008/07/set-vnc-password-for-mac-in-terminal.html</link>
	<description>&lt;div&gt;I was stuck in trying to access one of our xserve machines that just got moved from the QA network to the Build network.  I could connect via ssh, and Justin could ping it but attempting to connect with VNC wasn't working.  It wouldn't accept the usual passwords.  Justin seemed to think that it was possible to change the VNC password through the command line, so I &lt;a href=&quot;http://www.macgeekery.com/tips/cli/setting_remote_desktops_vnc_password_in_terminal&quot;&gt;google&lt;/a&gt; it and read a post from 2 years ago.&lt;br /&gt;&lt;br /&gt;Something I've learned from reading &quot;how-to&quot; blogs is that you should always read the comments first.  That's where the most up to date information will be, if there is any.  The person who wrote the post used strange template structure that made his idea hard to read and understand.  Anyone who didn't read the comments wouldn't know that kickstart now takes plain text passwords.&lt;br /&gt;&lt;br /&gt;The long and short?  If you want to change the VNC passoword do this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -clientopts -setvnclegacy -vnclegacy yes -setvncpw -vncpw [newpassword]&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Apparently you can enable VNC access and set the VNC password via the kickstart command.  It isn't terribly well &lt;a href=&quot;http://support.apple.com/kb/HT2370?viewlocale=en_US&quot;&gt;documented&lt;/a&gt;, but since it now accepts plain text passwords, I think that's a step in the right direction.</description>
	<pubDate>Thu, 17 Jul 2008 17:27:31 +0000</pubDate>
	<author>noreply@blogger.com (Lukas Blakk)</author>
</item>
<item>
	<title>Rob Campbell: The Correct Term is “Firebuggist”</title>
	<guid isPermaLink="false">http://antennasoft.net/robcee/?p=80</guid>
	<link>http://antennasoft.net/robcee/2008/07/17/the-correct-term-is-firebuggist/</link>
	<description>&lt;p&gt;After the &lt;a href=&quot;http://antennasoft.net/robcee/2008/06/17/firefox-3-download-day/&quot;&gt;Firefox 3 Release Week&lt;/a&gt; excitement, I kind of zoned-out for a bit and forgot about my blog. In an attempt to re-invigorate it, I’ve updated the theme to something a little less “newspapery” and should be able to get it looking a bit better than it did out of the box. It’s a work in progress and some things still don’t look quite right, but I have &lt;a href=&quot;http://getfirebug.com/&quot; target=&quot;_blank&quot;&gt;Firebug&lt;/a&gt; to help me fiddle with the CSS and layout. Nixing all instances of “Arial” was a good place to start. Also, while I’m rambling on about my blog, I should mention that &lt;a href=&quot;http://wordpress.org/development/2008/07/wordpress-26-tyner/&quot; target=&quot;_blank&quot;&gt;WordPress 2.6&lt;/a&gt; is out and if you’re using that platform, you should really update. Trust me, it’s nice.&lt;/p&gt;
&lt;p&gt;Speaking of Firebug, it looks like I’ll have plenty of opportunity to play with it now as I’m going to be helping out with that project full-time. I’m really excited to be working on development tools again and already have a few ideas for features or extensions. (Internet-famous) John Resig posted a great &lt;a href=&quot;http://ejohn.org/blog/powering-a-web-revolution/&quot; target=&quot;_blank&quot;&gt;article&lt;/a&gt; a couple of weeks ago and I’m looking forward to working with him, &lt;a href=&quot;http://www.softwareishard.com/&quot; target=&quot;_blank&quot;&gt;Jan Odvarko&lt;/a&gt; and the Firebug team to make it the awesomest, standards-based web-development tool in the universe. I’m hoping to write another post in a few days about some of those ideas. In the meantime, I have a couple of little patches to finish up before completing the move.&lt;/p&gt;
&lt;p&gt;From an organizational perspective, this means I’ll be moving into the Evangelism Team with &lt;a href=&quot;http://shaver.off.net/diary/tag/evangelism/&quot; target=&quot;_blank&quot;&gt;Mike Shaver&lt;/a&gt; and friends. I’ll still be helping field questions about the unittest infrastructure if they come up, but inquiries and bug reports should go to &lt;a href=&quot;http://oduinn.com/&quot;&gt;John O’Duinn&lt;/a&gt; and his team of Excellent Release Engineers.&lt;/p&gt;
&lt;p&gt;Thanks to everyone for making this shift possible and to everyone who sent congratulatory notes. Everyone is Awesome! &lt;img src=&quot;http://antennasoft.net/robcee/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 17:00:53 +0000</pubDate>
	<dc:creator>robcee</dc:creator>
</item>
<item>
	<title>Mitchell Baker: Mark Surman and the Mozilla Foundation</title>
	<guid isPermaLink="true">http://blog.lizardwrangler.com/2008/07/17/mark-surman-and-the-mozilla-foundation/</guid>
	<link>http://blog.lizardwrangler.com/2008/07/17/mark-surman-and-the-mozilla-foundation/</link>
	<description>&lt;p&gt;I’m thrilled to report that we’ve identified the person we believe should  lead the Mozilla Foundation into a new stage of activity. That person is Mark Surman, the role is Mozilla Foundation Executive Director.   “We” in this case is the Executive Director Search Committee, the Mozilla Foundation Board of Directors, Mozilla Foundation staff, plus a set of other Mozilla contributors who have spoken with Mark.&lt;/p&gt;
&lt;p&gt;The Mozilla Foundation Board of Directors and Mark would like the Mozilla community and Mark to meet before we make a final decision. We’re inviting interested parties to talk with Mark about the Mozilla Foundation and the Executive Director role, to develop a feel for how well Mark and the Mozilla project fit together, and provide your thoughts and advice to Mark on what would make a successful Mozilla Foundation and a successful ED.&lt;/p&gt;
&lt;p&gt;We’ll do this via an Air Mozilla broadcast. It will be on Wednesday, July 23 at 11am Pacific time, 6pm GMT. Mark lives in Toronto, so he’ll join us from there. Asa will host, and Mitchell will participate from Mountain View. As always, we’ll have facilities for people to send in questions, either before or during the broadcast and we’ll answer as many of them as possible.  We’ll make the questions and the broadcast available afterwards for those who can’t join us at the time. After the broadcast we’ll have a mechanism for you to share your ideas. Most likely that will be  messages to me, I’ll be more definitive shortly. Your thoughts will assist the Board and Mark in making a final decision.&lt;/p&gt;
&lt;p&gt;We are not planning to introduce a series of candidates for the Executive Director in this manner. After many months and countless discussions and interviews, Mark stands out as the one person we want to introduce to the Mozilla community for this role.&lt;/p&gt;
&lt;p&gt;Some additional materials: &lt;a href=&quot;http://commonspace.typepad.com/commonspace/&quot; target=&quot;_blank&quot;&gt;Mark’s blog&lt;/a&gt;, which includes some recent posts about Mozilla, &lt;a href=&quot;http://www.commons.ca/people/mark/&quot; target=&quot;_blank&quot;&gt;Mark’s CV&lt;/a&gt;, and the Mozilla Foundation Executive Director &lt;a href=&quot;http://www.mozilla.org/foundation/executive-director-search.html&quot; target=&quot;_blank&quot;&gt;job description&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 16:59:18 +0000</pubDate>
	<dc:creator>mitchell</dc:creator>
</item>
<item>
	<title>David Rolnitzky: 40 million reasons to join the Spread Firefox Affiliates Program</title>
	<guid isPermaLink="true">http://www.giantspatula.com/?p=36</guid>
	<link>http://www.giantspatula.com/?p=36</link>
	<description>&lt;p&gt;One of the most amazing components of the Download Day campaign was the huge number of people around the world who took the time to add a Spread Firefox button or banner to their website to support the program.  In fact, Download Day buttons localized in a dozen languages accounted for more than 43 million impressions. Think about that for a second.  43 &lt;strong&gt;million&lt;/strong&gt;! At a conservative online &lt;a href=&quot;http://en.wikipedia.org/wiki/CPM&quot;&gt;CPM&lt;/a&gt; of $5, that would be almost a quarter of a million dollars in promotional value.  And through the &lt;a href=&quot;http://blog.mozilla.com/metrics/2007/11/02/firefox%E2%80%99s-funnel-factor/&quot;&gt;Funnelcake project&lt;/a&gt;, an estimated 5% of all Firefox downloads originate from the Affiliates Program.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.spreadfirefox.com/node&amp;amp;id=187399&amp;amp;t=264&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.spreadfirefox.com/node&amp;amp;id=187399&amp;amp;t=264&quot;&gt;&lt;img src=&quot;http://www.spreadfirefox.com/files/images/affiliates_banners/dday_badge_fox.png&quot; alt=&quot;Download Day&quot; border=&quot;0&quot; title=&quot;Download Day&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But the more important number here is that nearly 2000 active affiliates from around the world participated in this event, illustrating not only how Firefox continues to be adopted by a passionate community overseas, but also the value those participating in the program place on the Firefox brand and what it &lt;a href=&quot;http://www.mozilla.org/about/mozilla-manifesto.html&quot;&gt;stands for&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Overall interest in the Affiliates program is strong — there was nearly a 200% increase in traffic from a the time prior to the Download Day period compared with a similar period post Download Day — but there are a lot of pieces of the program we’re working on to make even better.  You can check out a more complete &lt;a href=&quot;http://wiki.mozilla.org/Affiliates&quot;&gt;plan here&lt;/a&gt;, but some of the highlights include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Counting downloads instead of just clicks for affiliate points (with a conversion of existing affiliate points to the new system)&lt;/li&gt;
&lt;li&gt;A revamp of the affiliate incentive and reward structure&lt;/li&gt;
&lt;li&gt;New content that raises the visibility of the program on the spreadfirefox.com site&lt;/li&gt;
&lt;li&gt;New buttons, including international versions and possibly the layered source files so affiliates can create their own buttons&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the meantime, consider adding some new Get Firefox 3 &lt;a href=&quot;http://www.spreadfirefox.com/?q=affiliates/homepage&quot;&gt;buttons and banners&lt;/a&gt;, now available.  If you’re a current Spreadfirefox.com Affiliate, it’s a great time to consider swapping out your old Firefox 2 buttons for a new version.  Sometime in the next week we are going to swap out a number of buttons with old messaging (e.g. “Get firefox 2!) and replace it with new Firefox 3 messaging.&lt;/p&gt;
&lt;p&gt;Ideas and comments are welcome over at the &lt;a href=&quot;http://www.spreadfirefox.com/affiliates&quot;&gt;Spread Firefox Affiliates Group&lt;/a&gt;.  We’ve also launched a &lt;a href=&quot;http://www.spreadfirefox.com/affiliatesurvey&quot;&gt;survey&lt;/a&gt; that I’d &lt;a href=&quot;http://www.spreadfirefox.com/affiliatesurvey&quot;&gt;encourage you to take&lt;/a&gt;, especially if you are a current member, in order to get a better idea of what users would like to see from the program.&lt;/p&gt;
&lt;p&gt;Thousands of people have done an amazing job helping to spread Firefox by being a member of this program, and in the process, encouraged millions more to give Firefox a try.   If you aren’t currently a member, please consider &lt;a href=&quot;http://www.spreadfirefox.com&quot;&gt;joining today&lt;/a&gt; and putting one of these buttons on your blog, website, or even your email signature.&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 16:42:11 +0000</pubDate>
	<dc:creator>admin</dc:creator>
</item>
<item>
	<title>John Resig: Firebuggin'</title>
	<guid isPermaLink="true">http://ejohn.org/blog/firebuggin/</guid>
	<link>http://ejohn.org/blog/firebuggin/</link>
	<description>&lt;p&gt;I've got a mini-announcement. Starting this week about half of my time at Mozilla is going to be spent driving the direction of the brand-new Mozilla Firebug team. I'm, understandably, quite excited about this proposition. Like all web developers I've found Firebug to be &lt;a href=&quot;http://ejohn.org/blog/powering-a-web-revolution/&quot;&gt;an invaluable tool for web development&lt;/a&gt;.&lt;/p&gt;
	&lt;p&gt;We have a great team forming - I'm going to be joined by:&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.softwareishard.com/blog/index.php&quot;&gt;Jan Odvarko&lt;/a&gt; - Long-time Firebug hacker.&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://antennasoft.net/robcee/&quot;&gt;Rob Campbell&lt;/a&gt; - Mozilla hacker, tester, and tool developer. (&lt;a href=&quot;http://antennasoft.net/robcee/2008/07/17/the-correct-term-is-firebuggist/&quot;&gt;His announcement post&lt;/a&gt;)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;We're in a very primordial stage right now - we're meeting at the Firefox Summit at the end of the month and again at the beginning of August for the &lt;a href=&quot;http://getfirebug.com/workingGroup/&quot;&gt;Firebug Working Group&lt;/a&gt;. We'll be setting some major goals for post-Firebug 1.2 development. I highly suspect that we'll be doing some exploratory Firebug extension development as well.&lt;/p&gt;
	&lt;p&gt;In the meantime we'll be hanging out in the Firebug IRC channel, which can be found here:&lt;br /&gt;
&lt;b&gt;Server:&lt;/b&gt; irc.mozilla.org&lt;br /&gt;
&lt;b&gt;Room:&lt;/b&gt; #firebug&lt;/p&gt;
	&lt;p&gt;We're going to love to hear any suggestions for feature development - I'm sure you've got tons of ideas - and we do as well. I'm quite excited about all of this. Here's to a bright Firebug future!
&lt;/p&gt;
		&lt;img src=&quot;http://ejohn.org/apps/rss/?from=rss&amp;amp;id=5626&quot; style=&quot;width: 0px; height: 0px;&quot; /&gt;</description>
	<pubDate>Thu, 17 Jul 2008 15:53:19 +0000</pubDate>
	<dc:creator>John Resig</dc:creator>
</item>
<item>
	<title>Marco Zehe: Support for text attributes and spell checking is coming in Firefox 3.1!</title>
	<guid isPermaLink="false">http://www.marcozehe.de/?p=47</guid>
	<link>http://www.marcozehe.de/2008/07/17/support-for-text-attributes-and-spell-checking-is-coming-in-firefox-31/</link>
	<description>&lt;p&gt;For those of you on the bleeding edge, namely on the Firefox 3.1a1pre nightly builds, the Friday’s nightly build will include one big new feature in accessibility for 3.1: Text attributes and spell checking support!&lt;/p&gt;
&lt;p&gt;This means that assistive technologies now have access to the attributes of any text run on a page via the IAccessibleHyperText::getAttributes or ATK/AT-SPI equivalent API calls.&lt;/p&gt;
&lt;p&gt;For example, running today’s nightly build of Firefox 3.1a1pre on Windows, visiting my blog’s main page, bringing up Accessibility Probe, and navigating to the link below the Heading Level 1 that says “Marco’s Accessibility blog”, a call to IAccessibleHyperText::GetAttributes on the link accessible will get you this result:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
getAttributes(1) = NULL&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Not very fancy, huh?&lt;/p&gt;
&lt;p&gt;Tomorrow’s build, however, will yield a completely different result:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
getAttributes(1) = org.eclipse.actf.accservice.core.win32.ia2.IA2TextSegment[text=font-style:normal;language:en-US;text-align:center;font-size:40px;background-color:transparent;font-weight:bold;text-indent:0px;color:rgb(255\, 255\, 255);font-family:'Trebuchet MS'\,'Lucida Grande'\,Verdana\,Arial\,Sans-Serif;text-underline-style:underlinesolid;,start=0,end=26]&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So, not only do you get information about the font-family, style, color and backgroundcolor, you also get the language this text is in, the underline style, the font-weight etc.&lt;/p&gt;
&lt;p&gt;Also when editing, and you misspell something, as soon as you hit spacebar and the red underline appears, the attributes of that word will change and will include “invalid:misspelling;”, indicating that this word is invalid in that it is misspelled. Of course, an according IA2/ATK event will be fired accordingly! Note that the denotation of this may change if the IAccessible2 and ATK groups decide on a different notation for misspellings. Right now, it follows the aria-invalid convention, and we hope that this will be accepted by the groups.&lt;/p&gt;
&lt;p&gt;Over the next few weeks, we’ll fine-tune this feature to be a bit more performant and also iron out any last details that might come up.&lt;/p&gt;
&lt;p&gt;But if you’re an assistive technology vendor and you’ve been waiting for us to finally expose these text attributes, now is the time to try them out and provide feedback.&lt;/p&gt;
&lt;p&gt;Note that Thunderbird and other projects that will be moving to use the Gecko 1.9.1 platform will also get this feature. This means that inline spell checking notification can also be supported for those apps soon!&lt;/p&gt;
&lt;p&gt;[Update]: This patch made it into Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1a1pre) Gecko/2008071803 Minefield/3.1a1pre just fine. So go take a peek!&lt;/p&gt;
&lt;div&gt;&lt;a href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot; title=&quot;Bookmark using any bookmark manager!&quot;&gt;&lt;img src=&quot;http://s3.addthis.com/button1-bm.gif&quot; alt=&quot;Bookmark Support for text attributes and spell checking is coming in Firefox 3.1! using AddThis&quot; height=&quot;16&quot; border=&quot;0&quot; width=&quot;125&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 17 Jul 2008 13:44:18 +0000</pubDate>
	<dc:creator>Marco</dc:creator>
</item>
<item>
	<title>David Miller: Awesome Bugzilla Publicity</title>
	<guid isPermaLink="false">http://www.justdave.net/dave/?p=107</guid>
	<link>http://www.justdave.net/dave/2008/07/17/awesome-bugzilla-publicity/</link>
	<description>&lt;p&gt;So I’ve been a bit busy with things lately and I’m just starting to catch up on a couple podcasts I regularly listen to, one of them being CNET’s Buzz Out Loud, which I’m still a few weeks behind on. This is where Molly Wood, Tom Merritt, and Jason Howell discuss tech news for 20 or 30 minutes every weekday. Well, back in the last week of June, they were talking about Bill Gates having his last week at Microsoft as a full-timer, and it somehow turned into a conversation about Bugzilla. :)  It was so awesome, especially Molly’s last line at the end before they got back to the actual story. &lt;img src=&quot;http://www.justdave.net/dave/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href=&quot;http://www.cnet.com/8301-11455_1-9976321-10.html&quot; target=&quot;_blank&quot; title=&quot;Episode information&quot;&gt;CNET Buzz Out Loud Podcast, Episode 752&lt;/a&gt; @ time index 20:50&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TOM:&lt;/strong&gt; It’s Bill Gates’ last week on the job at Microsoft, although he’ll still be working there, after his last day, part time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOLLY&lt;/strong&gt;: Whether they want him to or not.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TOM&lt;/strong&gt;: He’ll be the..  I think we speculated he’ll be a bug squasher?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOLLY&lt;/strong&gt;: Yeah, something like that&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TOM&lt;/strong&gt;: He’ll just be getting..  they’ll be filing bugs to Bill and he’ll just like hunt ‘em down&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOLLY&lt;/strong&gt;: They’ll give him his own special Bugzilla queue.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TOM&lt;/strong&gt;: Yeah…  Heh, yeah, like &lt;strong&gt;&lt;em&gt;they’re&lt;/em&gt;&lt;/strong&gt; using Bugzilla.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOLLY&lt;/strong&gt;: Who isn’t?  Everybody uses some form of Bugzilla for bugs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TOM&lt;/strong&gt;: That’s a good question: Is Microsoft using Bugzilla …&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOLLY&lt;/strong&gt;: (interrupting) Sure!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TOM&lt;/strong&gt;: … or do they have their own proprietary bug-killing system …&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOLLY&lt;/strong&gt;: (interrupting) Oh, come on…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TOM&lt;/strong&gt;: … er, bug-tracking system?  Er, you — Microsoft using an open source bug tracking system?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOLLY&lt;/strong&gt;: Oh, well, I guess&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TOM&lt;/strong&gt;: I dunno, it’s just a question in my mind.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MOLLY&lt;/strong&gt;: I was like who? Everyone… what? Come on…  Bugzilla, it’s just what you use!&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 06:49:08 +0000</pubDate>
	<dc:creator>justdave</dc:creator>
</item>
<item>
	<title>Planet Mozilla Interns: Anant Narayanan: Weeks 8 &amp; 9: Load balancing, OAuth</title>
	<guid isPermaLink="false">http://www.kix.in/blog/?p=224</guid>
	<link>http://www.kix.in/blog/2008/07/weeks-8-9-load-balancing-oauth/</link>
	<description>&lt;p&gt;So, after a fun July 4 weekend at Atlanta (which comprised of visits to &lt;a href=&quot;http://www.sixflags.com/whitewater/index.aspx&quot;&gt;white water&lt;/a&gt; and &lt;a href=&quot;http://www.stonemountainpark.com/&quot;&gt;stone mountain&lt;/a&gt;, not to mention quality time with family and some amazing mini-golf), it was back to work.&lt;/p&gt;
&lt;p&gt;Week 8 was mostly consolidating the server-side, as post 0.2 releases of Weave increased the number of active users. We needed to make sure we can scale well (one of the main reasons why WebDAV was chosen as a data store), so Chris and I came up with a few quick-fixes.&lt;/p&gt;
&lt;p&gt;Tip 1: If you have a large number of files or directories in a single directory, consider splitting them into buckets. We put usernames with the same first letter in a directory, sourceforge takes it a step further by creating one-letter directory names and then two-letter ones in them.&lt;/p&gt;
&lt;p&gt;Tip 2: There’s only so much load one server can handle. Get another one and load-balance &lt;img src=&quot;http://www.kix.in/blog/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Ok, I admit the second tip was not really a tip.&lt;/p&gt;
&lt;p&gt;Building scalable web applications is definitely a hard problem; which is why we have some amazing technology like &lt;a href=&quot;http://www.kix.in/blog/category/mozilla/feed/aws.amazon.com/ec2&quot;&gt;Amazon EC2&lt;/a&gt; and &lt;a href=&quot;http://code.google.com/appengine/&quot;&gt;Google App Engine&lt;/a&gt;. Hacking up a quick PHP script to do something is one thing, making sure a million users can use it simultaneously is another. Which is why working at the Mozilla Labs has exposed me to an entirely different way of looking at things - sure, it works now - but will it work when thousands of people bang on it? I’m loving it here &lt;img src=&quot;http://www.kix.in/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;One of the other important aspects of Weave that has been doing the rounds is that of data sharing. Sharing your bookmarks with a friend is cool, but sharing your browsing history or bookmarks with a third party web service can potentially lead to some awesome mashups and services.&lt;/p&gt;
&lt;p&gt;To maintain the integrity of your (encrypted) data, we need data sharing with third parties to work in a secure way. &lt;a href=&quot;http://oauth.net/&quot;&gt;OAuth&lt;/a&gt; is an open protocol to share personal data with services, and we think it’d be an excellent choice for Weave.&lt;/p&gt;
&lt;p&gt;This week, I’m looking into the OAuth spec and coming up with a suitable implementation for Weave. This will also potentially tie-in to the web client (&lt;a href=&quot;http://www.kix.in/blog/2008/06/week-3-web-client-for-weave/&quot;&gt;previewed&lt;/a&gt; earlier) - you could authorize your own web server (on which you setup the web client) to access your data and decrypt it server-side to make the client a lot more faster, while losing none of the security.&lt;/p&gt;
&lt;p&gt;On a different note, if you haven’t read Jono’s post on software development and UIs yet, &lt;a href=&quot;http://jonoscript.wordpress.com/2008/07/17/these-things-i-believe/&quot;&gt;DO IT NOW&lt;/a&gt;. Definitely one of the best posts I’ve seen around the blogosphere in a while.&lt;/p&gt;
&lt;p&gt;Well, back to discussing fun - we interns had a basketball match with the full-timers today. And there’s more to come: some of us have tickets to the opening of &lt;a href=&quot;http://thedarkknight.warnerbros.com/&quot;&gt;The Dark Knight&lt;/a&gt; tomorrow, followed by the Intern BBQ on Friday (co-incidentally, also my 21st birthday). As if that weren’t enough, I’m going to Los Angeles to catch &lt;a href=&quot;http://www.thegroveofanaheim.com/events/show.aspx?ID=1368&quot;&gt;Russell Peters&lt;/a&gt; on Saturday, and maybe spend Sunday at Disneyland.&lt;/p&gt;
&lt;p&gt;And then, there’s the &lt;a href=&quot;http://wiki.mozilla.org/Summit2008&quot;&gt;summit&lt;/a&gt;, no saying what we’re in for &lt;img src=&quot;http://www.kix.in/blog/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 05:18:57 +0000</pubDate>
	<dc:creator>Anant</dc:creator>
</item>
<item>
	<title>Joshua Cranmer: Profiling made visual</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-5947958124349996271.post-7489899432560801713</guid>
	<link>http://quetzalcoatal.blogspot.com/2008/07/profiling-made-visual.html</link>
	<description>When you've got a performance regression resulting from a major patch, pinpointing where you can save time can be annoying. For me, on Linux, the only decent tools is &lt;a href=&quot;http://lxr.mozilla.org/mozilla/source/tools/jprof/README.html&quot;&gt;jprof&lt;/a&gt;. And I didn't get far in jprof before tripping over &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=444034&quot;&gt;a bug&lt;/a&gt; in its code that made reliable testing infeasible (ternary operators are wonderful things). After fixing that, I turned to the output.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;The output is basic, and, in general, not helpful for deep inspection. Okay, so I know that I'm spinning in this function in specific. But, on a grandiose level, which functions am I really spinning hard in?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;In one trace, it's obvious that malloc, JS, card creation, and case conversion are being nice and expensive. All four of those are more or less unavoidable. Where else am I wasting time? It's hard to tell, since many of the top functions produced by both flat and hierarchial views are wasted by irrelevant subfunctions of these. Enter &lt;a href=&quot;http://www.graphviz.org/&quot;&gt;graphviz&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Graphviz is a wonderful library I discovered about a year ago. It takes a file that looks like the code on the left and makes it into the graph on the right.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre style=&quot;float: left;&quot;&gt;&lt;br /&gt;digraph G {&lt;br /&gt;  A -&amp;gt; B;&lt;br /&gt;  A -&amp;gt; C;&lt;br /&gt;  B -&amp;gt; D;&lt;br /&gt;  C -&amp;gt; D;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;img src=&quot;http://www.tjhsst.edu/~jcranmer/graphviz.png&quot; alt=&quot;Graphviz output&quot; style=&quot;float: right;&quot; /&gt;&lt;br /&gt;&lt;p style=&quot;clear: both;&quot;&gt;&lt;br /&gt;The output gets better as you tickle it more and more. But it's flexibility is not why I love it. It's the fact that the simplicity is such that one can easily just write a simple sed or awk script to generate the graph. In the following three commands (that could just as easily be one command, but I'm not &lt;strong&gt;that&lt;/strong&gt; cruel), I took the ugly jprof output and formatted into an easy-to-read graph:&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: green;&quot;&gt;jcranmer@quetzalcoatl&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/src/tree2/mozilla $&lt;/span&gt; cat tmp3.html | sed -e '/index/,/&amp;lt;\/pre&amp;gt;/!d' -e '/&amp;lt;A href=&quot;#[0-9]*&quot;&amp;gt;/s/^.* \(.*[0-9]\) \(.*\)&amp;lt;\/A&amp;gt;$/c|\2|\1/' -e '/&amp;lt;a name/s#^.* \(.*[0-9]\)&amp;lt;/a&amp;gt; &amp;lt;b&amp;gt;\(.*\)&amp;lt;/b&amp;gt;$#f|\2|\1#' -e 's/&amp;lt;hr&amp;gt;/e|--/' -e '/|/!d' -e 's/|\(.*\)(\(.*\))|/|\1|/' -e 's/|.*::\(.*\)|/|\1|/' | awk -'F|' 'BEGIN { skip = 0; print &quot;digraph G {&quot; } $1 == &quot;c&quot; { if (skip == 0) { count[$2] = $3; } } $1 == &quot;f&quot; { for (func in count) { print &quot;\&quot;&quot; func &quot;\&quot;-&amp;gt;\&quot;&quot; $2 &quot;\&quot; [label=&quot; count[func] &quot;];&quot;; delete count[func] } skip = 1; print &quot;\&quot;&quot; $2 &quot;\&quot; [sum=&quot; $3 &quot;];&quot; } $1 == &quot;e&quot; { skip = 0 } END { print &quot;}&quot; }' &amp;gt; ~/full.dot&lt;br /&gt;&lt;span style=&quot;color: green;&quot;&gt;jcranmer@quetzalcoatl&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;~ $&lt;/span&gt; cat full.dot | gvpr 'BEG_G { $O = graph($.name, &quot;D&quot;) } E  { if ($.tail.sum &amp;gt; 200 &amp;amp;&amp;amp; $.tail.sum &amp;lt; 1000) { copy($O, $); } }' &amp;gt; full2.dot&lt;br /&gt;&lt;span style=&quot;color: green;&quot;&gt;jcranmer@quetzalcoatl&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;~ $&lt;/span&gt; dot -Tpng -o full2.png full2.dot&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Now that I've most likely burned you eyes out by using a sed, an awk, and a gvpr (something like awk, but for graphviz) script all from the command line, I feel the need to explain what it's doing. The sed script, in order, grabs only the hierarchical portion of the jprof output, changes the lines into simple fragments surrounded by pipe characters to be readable better by awk, and then scrubs the C++ demangled names into simple function names (although not perfectly). The awk script then compiles the information into a dot file mapping the call graph and annotating the nodes with probe frequencies. Next, gvpr scrubs out all nodes with more than 1000 probes or less than 200 probes. Finally, dot gets a hold of it, and makes a nice PNG of it.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;And the PNG is informative. Although enormous, the information leaps out immediately. Floating high up are five functions which are expensive, the fifth of which I never noticed: &lt;tt&gt;XPCThrower::ThrowBadResult&lt;/tt&gt;. Hmm... I quickly threw up a graph of the pre-patch results, and confirmed that it wasn't in the top slots there. Doing some basic math, this one function, and results off of it, produces about 60% of the current regression, assuming that I'm looking at the numbers right. Who said throwing exceptions was cheap?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Anyways, my visual approach to profiling isn't complete. The graph is in plain black and white, where I should be using colors and line thickness to be representing the expensiveness of operations. I might also play around with tickling the data to be able to highlight exact functions where regressions occur, something that I could easily do with gvpr if I had two dot graphs of the translated output. And my output filtering isn't perfect by any means. But all that comes for free in my envisioned perfect profiling extension. Oh well, at least I have something to point to for neat data.&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 02:53:12 +0000</pubDate>
	<author>noreply@blogger.com (Joshua Cranmer)</author>
</item>
<item>
	<title>Aza Raskin: “Not The User’s Fault” Manifesto</title>
	<guid isPermaLink="false">http://azarask.in/blog/?p=89</guid>
	<link>http://azarask.in/blog/post/not-the-users-fault-manifesto/</link>
	<description>&lt;p&gt;Jono DiCarlo, a former fellow co-founder of Humanized, and a gallivanting user experience firebrand, has condensed his design experience into a &lt;a href=&quot;http://jonoscript.wordpress.com/2008/07/17/these-things-i-believe/&quot;&gt;thought-provoking and irreverent manifesto&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In sweetend condensed form, here is the manifesto:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. Why do we code?&lt;/b&gt; For people, not for computers.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2. What do most people want?&lt;/b&gt; Not a computer.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3. Why does software fail?&lt;/b&gt; Its social effect is not what people want.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;4. Why has Linux, which is free, not taken over the desktop?&lt;/b&gt; “Linux is only free if the value of my time is zero.”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;5. Are users dumb?&lt;/b&gt; Never. Good UI design is humble.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;6. Is UI design marketing?&lt;/b&gt; No.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;7. What is the task of the UI designer?&lt;/b&gt; To make UI disappear.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;8. Where is the science in UI design?&lt;/b&gt; Underutilized and unknown. It shouldn’t be.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;9. Is change good or bad?&lt;/b&gt; It has a cost.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;10. What is the evil of the bad interface?&lt;/b&gt; The sin of wasting the user’s time, breaking the user’s train of thought, and losing the user’s work.&lt;/p&gt;
&lt;p&gt;I agree with all of it, except whether UI design is marketing. Great UI design can form the basis of marketing. The iPhone commercials, which were simply tutorials for using the phone, are the prototypical example. Great UI makes for great marketing. It is not a two way street, however. Great marketing can make for some pretty abysmal interfaces. As Jono points out in his manifesto, undecipherable microwaves are case in point.&lt;/p&gt;
&lt;p&gt;There is much more to the manifesto than the bullet points above. Some of it will make you angry. Some of it will make you laugh. All of it will make you think. So go &lt;a href=&quot;http://jonoscript.wordpress.com/2008/07/17/these-things-i-believe/&quot;&gt;read it&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 01:52:31 +0000</pubDate>
	<dc:creator>Aza Raskin</dc:creator>
</item>
<item>
	<title>The Mozilla Blog: Firefox 3.0.1 security and stability update now available for download</title>
	<guid isPermaLink="false">http://blog.mozilla.com/?p=156</guid>
	<link>http://blog.mozilla.com/blog/2008/07/16/firefox-301-security-and-stability-update-now-available-for-download/</link>
	<description>&lt;p&gt;&lt;em&gt;Editor’s note: Mozilla released a security and stability update for Firefox 3.x users today. Check out the &lt;a href=&quot;http://developer.mozilla.org/devnews/index.php/2008/07/16/firefox-301-security-and-stability-update-now-available-for-download/&quot;&gt;Mozilla Developer News announcement&lt;/a&gt; reposted below for more details.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://developer.mozilla.org/devnews/index.php/2008/07/16/firefox-301-security-and-stability-update-now-available-for-download/&quot; rel=&quot;bookmark&quot; title=&quot;Firefox 3.0.1 security and stability update now available for download&quot;&gt;Firefox 3.0.1 security and stability update now available for download&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;entry&quot;&gt;
&lt;p&gt;As part of Mozilla Corporation’s ongoing stability and security update process, Firefox 3.0.1 is now available for Windows, Mac, and Linux for free download from &lt;a href=&quot;http://getfirefox.com/&quot;&gt;http://getfirefox.com/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We strongly recommend that all Firefox users upgrade to this latest release. If you already have Firefox 3.0, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.&lt;/p&gt;
&lt;p&gt;For a list of changes and more information, please review the &lt;a href=&quot;http://www.mozilla.com/firefox/3.0.1/releasenotes/&quot;&gt;Firefox 3.0.1 Release Notes&lt;/a&gt;&lt;a href=&quot;http://www.mozilla.com/firefox/2.0.0.16/releasenotes/&quot;&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note: All Firefox 2.0.0.x users are encouraged to upgrade to Firefox 3.0.1 by downloading it from &lt;a href=&quot;http://getfirefox.com/&quot;&gt;http://getfirefox.com/&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 17 Jul 2008 00:36:13 +0000</pubDate>
	<dc:creator>Paul Kim</dc:creator>
</item>
<item>
	<title>Pascal Chevrel: Firefox 3 Madrid party  on blogs.mozilla-europe.org</title>
	<guid isPermaLink="true">http://chevrel.org/fr/carnet/index.php?2008/07/17/716-firefox-3-madrid-party-on-blogsmozilla-europeorg</guid>
	<link>http://chevrel.org/fr/carnet/index.php?2008/07/17/716-firefox-3-madrid-party-on-blogsmozilla-europeorg</link>
	<description>&lt;p&gt;The first post by Nukeador (Spanish community) about the Madrid Firefox 3 party is published on mozilla europe community blog:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blogs.mozilla-europe.org&quot; hreflang=&quot;en&quot;&gt;http://blogs.mozilla-europe.org&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Nukeador is a well known member our localization community in Spain and has been collaborating with Mozilla Europe and the Mozilla project for several years now. I am happy we were able to help them organize this party, I am even more happy that I was able to come and have drinks with the &lt;a href=&quot;http://www.mozilla-hispano.org&quot; hreflang=&quot;es&quot;&gt;Mozilla Hispano&lt;/a&gt; gang! :)&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jul 2008 00:25:51 +0000</pubDate>
	<dc:creator>Pascal</dc:creator>
</item>
<item>
	<title>Robert Kaiser: Weekly Status Report, W28/2008</title>
	<guid isPermaLink="true">http://home.kairo.at/blog/2008-07/weekly_status_report_w28_2008</guid>
	<link>http://home.kairo.at/blog/2008-07/weekly_status_report_w28_2008</link>
	<description>Here's a summary of SeaMonkey/Mozilla-related work I've done in week 28/2008 (July 7 - 13, 2008):&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;SeaMonkey &amp;amp; Thunderbird on Mercurial:&lt;/span&gt;&lt;br /&gt;
I finally got buildbots fully up and running so we can have regular builds and nightlies for SeaMonkey after the &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=437643&quot;&gt;switch to comm-central&lt;/a&gt; - I also came across one more slight &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=444992&quot;&gt;mozilla-central bug&lt;/a&gt; with Mac universal builds in that, the patch is waiting for review but doesn't block the switch (NSS still works even if it isn't signed for Mac nightly packages for now).&lt;br /&gt;
Now that everything's working, I &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=444686&quot;&gt;filed a bug&lt;/a&gt; for review on the build system for comm-central and attached patches and fixed the first few review nits.&lt;br /&gt;
One &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=440022&quot;&gt;patch&lt;/a&gt; for Lighting could land already, two others are waiting on review, but as that extension isn't even fully functional on trunk, being broken a bit more does also not block the switch for now.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Help Update:&lt;/span&gt;&lt;br /&gt;
It's been some time, but I could finally land the patch for &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=421084&quot;&gt;updating help to reflect the new helper app preferences panel&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;SeaMonkey Releases:&lt;/span&gt;&lt;br /&gt;
Followed along with the &lt;a href=&quot;http://wiki.mozilla.org/SeaMonkey:Release_Process&quot;&gt;release process&lt;/a&gt; for SeaMonkey 1.1.11 to catch up with security fixes for Firefox 3.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;L10n:&lt;/span&gt;&lt;br /&gt;
More discussions about the 1.9.1 L10n story, esp. if we should have one repo per language or one repo per language and product (I prefer the former).&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Various Discussions:&lt;/span&gt;&lt;br /&gt;
FF+ Summit sessions, abook refactoring, (less) painful mac universal builds, OS X abook support, shellservice UI, toolbar customization, German Windows installer, Thunderbird 3 planning, etc.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
The &lt;a href=&quot;http://wiki.mozilla.org/Summit2008&quot;&gt;2008 FF+ Summit&lt;/a&gt; is nearing, and along with it another timeout from work I'm taking. From August 1, when the Summit ends, until August 9, I'll rent a car and do some traveling from Vancouver through a bit of British Columbia and even more of Washington state, going as far as Mount St. Helens and back again to Vancouver, arriving back in Vienna in the evening of August 10.&lt;br /&gt;
So, don't expect a lot of work from me during the Summit and the week after, esp. during that traveling week, I won't check email or other work stuff a lot and concentrate more on sightseeing.&lt;br /&gt;
If you know any points of interest or other things I shouldn't miss in that area, let me know and I'll see how I can fit it into my schedule. &lt;img src=&quot;http://home.kairo.at/?d=b&amp;amp;p=s_smile&quot; alt=&quot;:)&quot; style=&quot;height: 19px; width: 19px;&quot; class=&quot;icon&quot; title=&quot;smile&quot; /&gt;</description>
	<pubDate>Thu, 17 Jul 2008 00:00:39 +0000</pubDate>
	<dc:creator>KaiRo</dc:creator>
</item>
<item>
	<title>Mozilla Developer DevNews: Firefox 3.0.1 security and stability update now available for download</title>
	<guid isPermaLink="false">http://developer.mozilla.org/devnews/?p=269</guid>
	<link>http://developer.mozilla.org/devnews/index.php/2008/07/16/firefox-301-security-and-stability-update-now-available-for-download/</link>
	<description>&lt;p&gt;As part of Mozilla Corporation’s ongoing stability and security update process, Firefox 3.0.1 is now available for Windows, Mac, and Linux for free download from &lt;a href=&quot;http://getfirefox.com/&quot;&gt;http://getfirefox.com/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We strongly recommend that all Firefox users upgrade to this latest release. If you already have Firefox 3.0, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.&lt;/p&gt;
&lt;p&gt;For a list of changes and more information, please review the &lt;a href=&quot;http://www.mozilla.com/firefox/3.0.1/releasenotes/&quot;&gt;Firefox 3.0.1 Release Notes&lt;/a&gt;&lt;a href=&quot;http://www.mozilla.com/firefox/2.0.0.16/releasenotes/&quot;&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note: All Firefox 2.0.0.x users are encouraged to upgrade to Firefox 3.0.1 by downloading it from &lt;a href=&quot;http://getfirefox.com/&quot;&gt;http://getfirefox.com/&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Wed, 16 Jul 2008 23:41:49 +0000</pubDate>
	<dc:creator>ss</dc:creator>
</item>
<item>
	<title>Shawn Wilsher: Sheriff Duty - The Details</title>
	<guid isPermaLink="false">http://shawnwilsher.com/?p=164</guid>
	<link>http://shawnwilsher.com/archives/164</link>
	<description>&lt;p&gt;I meant to get to this yesterday, but yesterday turned out to be a busy day.  I meant to get to this earlier today, but today turned out to be a busy day too…&lt;/p&gt;
&lt;p&gt;As I &lt;a href=&quot;http://shawnwilsher.com/archives/163&quot;&gt;previously announced&lt;/a&gt;, I’m going to try an experiment with sheriffing the tree.  While I’m the acting sheriff tomorrow (that will be from 9am - 6pm EDT), you’ll have to run checkins through me.  To make this easy as possible, there are going to be a number of ways in which you can get a patch to me (in the preferred order):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;mailto:?to=sdwilsh@forerunnerdesigns.com&amp;amp;subject=HG%20Bundle%20for%20Checkin&quot;&gt;Send me an e-mail&lt;/a&gt; with your &lt;code&gt;hg bundle&lt;/code&gt; that includes the correct commit message.&lt;/li&gt;
&lt;li&gt;Attach your &lt;code&gt;hg bundle&lt;/code&gt; to the bug you want pushed, and add that bug to the &lt;a href=&quot;http://wiki.mozilla.org/Sheriff_Duty/PendingCheckins&quot;&gt;wiki page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Just post a bug number on the &lt;a href=&quot;http://wiki.mozilla.org/Sheriff_Duty/PendingCheckins&quot;&gt;wiki page&lt;/a&gt; with the appropriate checkin comment.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I’ll also be going through checkin-needed bugs when things are slow.  The general rule here though is that it’s a first-come, first-serve push ordering.  I might take things out of order if the queue is big and I see bugs/patches that won’t interfere with each other.&lt;/p&gt;
&lt;p&gt;Hopefully that clears up any