<?xml version="1.0"?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns="http://purl.org/rss/1.0/"
>
<channel rdf:about="http://planet.mozilla.org/">
	<title>Planet Mozilla</title>
	<link>http://planet.mozilla.org/</link>
	<description>Planet Mozilla - http://planet.mozilla.org/</description>

	<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://vocamus.net/dave/?p=87" />
			<rdf:li rdf:resource="http://blog.mozilla.com/seth/2007/11/16/how-we-decided-upon-foss.in/" />
			<rdf:li rdf:resource="http://www.squarefree.com/burningedge/2007/11/16/2007-11-16-trunk-builds/" />
			<rdf:li rdf:resource="http://blog.mozilla.com/security/2007/11/16/jar-protocol-xss-security-issues/" />
			<rdf:li rdf:resource="http://shaver.off.net/diary/2007/11/16/what-makes-firefox-3/" />
			<rdf:li rdf:resource="http://www.bitstampede.com/2007/11/16/mdc-big-changes-ahead/" />
			<rdf:li rdf:resource="http://shawnwilsher.com/archives/130" />
			<rdf:li rdf:resource="http://ascher.ca/blog/2007/11/16/open-source-peer-to-peer-transportation-systems/" />
			<rdf:li rdf:resource="http://shaver.off.net/diary/2007/11/16/correction-mozilla-stopbadware-and-google/" />
			<rdf:li rdf:resource="urn:md5:f228bda72992693ede135543f8eecba9" />
			<rdf:li rdf:resource="http://boomswaggerboom.wordpress.com/2007/11/16/gecko-20-and-mac-os-x-architecture-support/" />
			<rdf:li rdf:resource="tag:hecker.org,2007:/mozilla/seneca-college-and-open-source-education" />
			<rdf:li rdf:resource="http://robert.accettura.com/archives/2007/11/15/80-wontfix/" />
			<rdf:li rdf:resource="http://blog.mozilla.com/planet/2007/11/15/planet-addition-community-surveys-blog/" />
			<rdf:li rdf:resource="http://robert.accettura.com/archives/2007/11/15/the-shape-of-firefox-30/" />
			<rdf:li rdf:resource="http://www.songbirdnest.com/node/2332" />
			<rdf:li rdf:resource="http://home.kairo.at/blog/2007-11/source_l10n_available_for_seamonkey_trun" />
			<rdf:li rdf:resource="http://shaver.off.net/diary/2007/11/15/on-evangelism/" />
			<rdf:li rdf:resource="http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/" />
			<rdf:li rdf:resource="http://quality.mozilla.org/892 at http://quality.mozilla.org" />
			<rdf:li rdf:resource="http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/" />
			<rdf:li rdf:resource="tag:mozillazine.org,2004:article22706" />
			<rdf:li rdf:resource="http://shaver.off.net/diary/2007/11/15/two-things-you-should-read/" />
			<rdf:li rdf:resource="http://www.dria.org/wordpress/archives/2007/11/15/600/" />
			<rdf:li rdf:resource="http://weblogs.mozillazine.org/dougt/archives/018759.html" />
			<rdf:li rdf:resource="http://weblogs.mozillazine.org/weirdal/archives/018758.html" />
			<rdf:li rdf:resource="http://shaver-new.off.net/diary/2007/11/15/server-switch/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-18929277.post-624330705048082885" />
			<rdf:li rdf:resource="http://www.justdave.net/dave/2007/11/15/free-sip-on-leopard-exists-after-all/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-18929277.post-2815485524124522803" />
			<rdf:li rdf:resource="http://developer.mozilla.org/devnews/index.php/2007/11/15/thunderbird-2009-security-and-stability-release-now-available/" />
			<rdf:li rdf:resource="http://weblogs.mozillazine.org/it/2007/11/mozilla_scheduled_downtime_111_2.html" />
			<rdf:li rdf:resource="http://www.intothefuzz.com/2007/11/14/operation-firefox-the-next-phase/" />
			<rdf:li rdf:resource="http://weblogs.mozillazine.org/calendar/2007/11/test_automation_summit_plannin.html" />
			<rdf:li rdf:resource="http://ejohn.org/blog/the-world-of-ecmascript/" />
			<rdf:li rdf:resource="http://weblogs.mozillazine.org/roc/archives/2007/11/pegs_holes_and.html" />
			<rdf:li rdf:resource="http://www.hskupin.info/2007/11/14/no-shortcut-to-open-contextual-menus-on-osx/" />
			<rdf:li rdf:resource="http://blog.johnath.com/index.php/2007/11/14/self-documenting/" />
			<rdf:li rdf:resource="http://pavlovdotnet.wordpress.com/2007/11/14/leaks-memory-we-never-forgot-about-you/" />
			<rdf:li rdf:resource="http://weblogs.mozillazine.org/calendar/2007/11/lightningsunbird_status_update_10.html" />
			<rdf:li rdf:resource="http://home.kairo.at/blog/2007-11/progress_and_help_wanted_on_seamonkey_2" />
			<rdf:li rdf:resource="http://john.jubjubs.net/2007/11/14/tokyo/" />
			<rdf:li rdf:resource="http://www.songbirdnest.com/node/2327" />
			<rdf:li rdf:resource="http://www.numenity.org/blog/2007/11/13/firefox-start-page-update/" />
			<rdf:li rdf:resource="http://blog.mozilla.com/faaborg/2007/11/13/update-on-the-firefox-3-linux-theme/" />
			<rdf:li rdf:resource="http://pavlovdotnet.wordpress.com/2007/11/13/allocation-data/" />
			<rdf:li rdf:resource="http://blog.mozilla.com/metrics/2007/11/13/mozilla-comes-to-the-defense-of-radiohead/" />
			<rdf:li rdf:resource="http://pavlovdotnet.wordpress.com/2007/11/13/windows-low-fragmentation-heap-builds/" />
			<rdf:li rdf:resource="http://www.songbirdnest.com/node/2326" />
			<rdf:li rdf:resource="http://www.0xdeadbeef.com/weblog/?p=315" />
			<rdf:li rdf:resource="tag:weblogs.mozillazine.org,2007:/mitchell//29.18748" />
			<rdf:li rdf:resource="http://www.bitstampede.com/2007/11/13/places/" />
			<rdf:li rdf:resource="http://john.jubjubs.net/2007/11/13/congratulations-miro/" />
			<rdf:li rdf:resource="http://weblogs.mozillazine.org/dougt/archives/018749.html" />
			<rdf:li rdf:resource="http://www.silfreed.net/512 at http://www.silfreed.net" />
			<rdf:li rdf:resource="http://www.beaufour.dk/blog/2007/11/joost-developer.html" />
			<rdf:li rdf:resource="http://shaver.off.net/diary/2007/11/13/leaking-growing-and-measuring/" />
			<rdf:li rdf:resource="http://robert.accettura.com/archives/2007/11/12/android-sdk-released/" />
			<rdf:li rdf:resource="http://coop.deadsquid.com/?p=1065" />
			<rdf:li rdf:resource="http://ejohn.org/blog/javascript-method-overloading/" />
			<rdf:li rdf:resource="http://blog.mozilla.com/metrics/2007/11/12/vista-users-enjoy-the-web-on-weekends/" />
			<rdf:li rdf:resource="http://weblogs.mozillazine.org/tor/archives/2007/11/mozilla_svg_speed_and_cairo.html" />
			<rdf:li rdf:resource="http://blog.fligtar.com/2007/11/12/stupid-filter/" />
			<rdf:li rdf:resource="http://john.jubjubs.net/2007/11/12/uncategorized/" />
			<rdf:li rdf:resource="http://www.arcanology.com/2007/11/12/the-new-york-times-askes-whether-success-will-spoil-firefox/" />
			<rdf:li rdf:resource="http://blog.mozilla.com/tglek/2007/11/12/cleaning-up-my-act/" />
			<rdf:li rdf:resource="http://quality.mozilla.org/876 at http://quality.mozilla.org" />
			<rdf:li rdf:resource="http://quality.mozilla.org/875 at http://quality.mozilla.org" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5172440053446312608.post-7496721568105969953" />
			<rdf:li rdf:resource="urn:md5:05973adb4f6c1bc1cba9731c5a0ac04c" />
			<rdf:li rdf:resource="http://www.silfreed.net/510 at http://www.silfreed.net" />
			<rdf:li rdf:resource="http://home.kairo.at/blog/2007-11/weekly_status_report_w45_2007" />
			<rdf:li rdf:resource="http://home.kairo.at/blog/2007-11/new_seamonkey_project_org_website_is_liv" />
			<rdf:li rdf:resource="http://fredericiana.com/2007/11/12/osx-leopard-keep-xterm-from-starting-with-x11/" />
			<rdf:li rdf:resource="tag:hecker.org,2007:/mozilla/foundation-activities-2007-11-09" />
		</rdf:Seq>
	</items>
</channel>

<item rdf:about="http://vocamus.net/dave/?p=87">
	<title>David Humphrey: Dict: E-lec-tri-fy</title>
	<link>http://vocamus.net/dave/?p=87</link>
	<content:encoded>&lt;p&gt;1) Charge with electricity; pass an electric current through&lt;/p&gt;
&lt;p&gt;Yesterday Chris and I welcomed Benjamin Smedberg into our Mozilla classes for a &lt;a href=&quot;http://benjamin.smedbergs.us/tests/XPCOM-intro.pdf&quot;&gt;talk on XPCOM&lt;/a&gt;.  You couldn’t ask for a better guide into the often (always?) murky waters of XPCOM.  Benjamin is a fantastic and animated speaker, who really draws you in.  He’s able to keep you rapt even with deeply technical discussions about vtables and proper macro use (”…other people will tell you to do it this way, but I’m the module owner and I say you do it &lt;strong&gt;this&lt;/strong&gt; way…”).  It helped that both classes had spent the previous few days working on a &lt;a href=&quot;http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_First_XPCOM_Component&quot;&gt;component lab&lt;/a&gt;–the questions are always so much more real when you’ve been banging your head against the wall!&lt;/p&gt;
&lt;p&gt;We filmed the talk as usual, but this time ran into major technical difficulties.  Benjamin was on a role and pontificating about the dangers of assuming one object per interface and describing tear-offs, “…and whatever you do, you can’t ever do this” and the power went out.  And I mean out, for &lt;a href=&quot;http://www.680news.com/news/local/article.jsp?content=20071115_154642_4856&quot;&gt;most of campus and a few city blocks&lt;/a&gt;.  I think it proved his point quite nicely.&lt;/p&gt;
&lt;p&gt;After that we had to scramble to move him under the only emergency light in the room, run the camera on battery, and get the students to share the slides on laptops.  It was just like listening to ghost stories around a campfire, and sometimes XPCOM is just that scary.  A huge thanks to Benjamin for coming all the way here–we loved having you.&lt;/p&gt;
&lt;p&gt;2) FIGURATIVE impress greatly; thrill&lt;/p&gt;
&lt;p&gt;I woke-up this morning to Frank Hecker’s essay on Seneca and our &lt;a href=&quot;http://hecker.org/mozilla/seneca-college-and-open-source-education&quot;&gt;efforts with open source education&lt;/a&gt;.  It was incredible and humbling to see what he had to say.  I’ve been asked by a lot of people for a description of what we are doing (and hoping to do) at Seneca.  Frank’s post is a great introduction and reflection.  I hope we can keep our current pace and arrive at some of the destinations he charts–we’re certainly going to try.  And if we get there, it will be because of the help of so many friends who believed in us and never stopped supporting us along the way.&lt;/p&gt;
&lt;p&gt;This last point is something I want to return to when I’ve had time to write it properly…
&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-17T00:55:26+00:00</dc:date>
	<dc:creator>david.humphrey</dc:creator>
</item>
<item rdf:about="http://blog.mozilla.com/seth/2007/11/16/how-we-decided-upon-foss.in/">
	<title>Seth Bindernagel: How we decided upon FOSS.IN</title>
	<link>http://blog.mozilla.com/seth/2007/11/16/how-we-decided-upon-foss.in/</link>
	<content:encoded>If you’ve been following this blog, you may have seen some posts over the past few months about Mozilla’s participation in India’s largest open source conference, FOSS.IN.  Our initial planning culminated with Mozilla’s project day proposal being accepted by the FOSS.IN planning team.  That was exciting.
What did I learn in this process, and what, if [...]</content:encoded>
	<dc:date>2007-11-17T00:17:48+00:00</dc:date>
	<dc:creator>seth bindernagel</dc:creator>
</item>
<item rdf:about="http://www.squarefree.com/burningedge/2007/11/16/2007-11-16-trunk-builds/">
	<title>Burning Edge - Firefox: 2007-11-16 Trunk builds</title>
	<link>http://www.squarefree.com/burningedge/2007/11/16/2007-11-16-trunk-builds/</link>
	<content:encoded>&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=177838&quot;&gt;177838&lt;/a&gt; - Make all popup windows resizable, ignoring resizable=no.&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=223895&quot;&gt;223895&lt;/a&gt; - Completed downloads should include size and TLD instead of &quot;Done&quot;.&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=400327&quot;&gt;400327&lt;/a&gt; - Automatically add splitter whenever location bar and search bar are adjacent.&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=143046&quot;&gt;143046&lt;/a&gt; - Reduce memory use for animated GIFs by storing frames other than the first at the original 8 bits.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402633&quot;&gt;402633&lt;/a&gt; - View source leaks many CTokens and nsStringBuffers.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=207531&quot;&gt;207531&lt;/a&gt; - Allow editor to edit xhtml files (as html).&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402763&quot;&gt;402763&lt;/a&gt; - Cycle collect on memory-pressure (e.g. when using the &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/5972&quot;&gt;RAMBack&lt;/a&gt; button).&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400552&quot;&gt;400552&lt;/a&gt; - Setting document.domain inconsistent in face of IDN whitelist.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402866&quot;&gt;402866&lt;/a&gt; - dom.disable_window_open_feature.resizable=true makes modal dialogs (e.g. Javascript alerts) resizable.&lt;/li&gt;
&lt;li&gt;Fixed: Some progress towards getting MathML working again (in &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=324857&quot;&gt;bug 324857&lt;/a&gt; and &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403718&quot;&gt;403718&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Fixed: Bump trunk version to &quot;3.0b2pre&quot; and &quot;1.9b2pre&quot;.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403238&quot;&gt;403238&lt;/a&gt; - [Mac 10.5] dialogs are still getting pinstripes for their background.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=399937&quot;&gt;399937&lt;/a&gt; - [Linux] Separate out the Linux theme from the Windows theme.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=118312&quot;&gt;118312&lt;/a&gt; - [Linux] NS_THEME_TREEVIEW* implementations (GTK).&lt;/li&gt;

&lt;/ul&gt;


&lt;p&gt;Fixes for recent regressions:&lt;/p&gt;

&lt;ul class=&quot;good&quot;&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403664&quot;&gt;403664&lt;/a&gt; - Crash when pasting into textfield with rich text mode.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=381216&quot;&gt;381216&lt;/a&gt; - Prevent bookmarks dataloss when a user goes from Firefox 2, Firefox 3 beta, Firefox 2, and then back to Firefox 3 [was: After initial import, minefield with bookmarks-on-places throws out Firefox 2 bookmarks changes].&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=397510&quot;&gt;397510&lt;/a&gt; - Scrolling in large file is very slow due to textrun reconstruction.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402602&quot;&gt;402602&lt;/a&gt; - https://paypal.com doesn't trigger the netError page that allows exceptions.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402439&quot;&gt;402439&lt;/a&gt; - [Windows] Clipboard is emptied on application exit.&lt;/li&gt;
&lt;li&gt;Fixed: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=385966&quot;&gt;385966&lt;/a&gt; - [Mac 10.5] Extra file menu appears to the right of the help menu (two file menus).&lt;/li&gt;

&lt;/ul&gt;


&lt;p&gt;Trunk regressions:&lt;/p&gt;

&lt;ul class=&quot;bad&quot;&gt;
&lt;li&gt;Since ~Nov 14: &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403854&quot;&gt;403854&lt;/a&gt; - Removing search bar or location bar breaks many things.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;http://bonsai.mozilla.org/cvsquery.cgi?module=PhoenixTinderbox&amp;amp;branch=HEAD&amp;amp;date=explicit&amp;amp;mindate=2007-11-06+04%3A00&amp;amp;maxdate=2007-11-16+20%3A00&quot;&gt;Trunk checkins between 2007-11-06 04:00 and 2007-11-16 20:00&lt;/a&gt;&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; width=&quot;18&quot; height=&quot;18&quot; /&gt;

&lt;a href=&quot;https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2007/11/2007-11-16-05-trunk/&quot;&gt;Windows nightly&lt;/a&gt;

(&lt;a href=&quot;http://forums.mozillazine.org/viewtopic.php?t=603650&quot;&gt;discussion&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; width=&quot;18&quot; height=&quot;18&quot; /&gt;

&lt;a href=&quot;https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2007/11/2007-11-16-04-trunk/&quot;&gt;Linux nightly&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; width=&quot;18&quot; height=&quot;18&quot; /&gt;

&lt;a href=&quot;https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2007/11/2007-11-16-04-trunk/&quot;&gt;Mac nightly&lt;/a&gt;

&lt;/p&gt;


&lt;/div&gt;</content:encoded>
	<dc:date>2007-11-17T00:03:45+00:00</dc:date>
	<dc:creator>Jesse Ruderman</dc:creator>
</item>
<item rdf:about="http://blog.mozilla.com/security/2007/11/16/jar-protocol-xss-security-issues/">
	<title>Mozilla Security: jar: Protocol XSS Security Issues</title>
	<link>http://blog.mozilla.com/security/2007/11/16/jar-protocol-xss-security-issues/</link>
	<content:encoded>&lt;p&gt;&lt;strong&gt;Issue&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;jar: protocol is not restricted to java archives and will open any zip format file.  An attacker can use this to evade filtering on sites that allow users to upload content and use this initiate a cross site scripting attack.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Impact&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Firefox supports the Java Archive URI  scheme that allows the addressing of the contents of zip archives.  An attacker may upload a zip format file to a trusted site that allows users to upload content.  The victim clicks on a link on the attacker’s website or in an email that links to the uploaded content on a trusted site.  Since the content is loaded from the trusted site, content from the zip file runs in the context of the trusted site.  This may allow the attacker to access information stored on the trusted site without the victim’s knowledge.&lt;/p&gt;
&lt;p&gt;There is a second issue that if a zip archive is loaded from a site through a redirect, Firefox uses the context from the initiating site.  This allows an attacker to take advantage of a site with an open redirect and host content on their own malicious site that will execute with the permissions of the redirecting site.&lt;/p&gt;
&lt;p&gt;There is a proof of concept that demonstrates these issues in an attack against Gmail that allows the attacker access to the victim’s stored Gmail contacts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;&lt;br /&gt;
In future versions Firefox will only support the jar scheme for files that are served with the correct application/java-archive MIME type.  Firefox will also adjust the security context to recognize the final site as the source of the content.  This will be addressed in Firefox 2.0.0.10, which is currently in testing.&lt;/p&gt;
&lt;p&gt;You can follow our work in bugzilla:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=369814&quot;&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=369814&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403331&quot;&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=403331&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Credit&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These issues were identified by Jesse Ruderman, Petko D. Petkov, and beford.org.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T23:52:04+00:00</dc:date>
	<dc:creator>Window Snyder</dc:creator>
</item>
<item rdf:about="http://shaver.off.net/diary/2007/11/16/what-makes-firefox-3/">
	<title>Mike Shaver: what makes firefox 3</title>
	<link>http://shaver.off.net/diary/2007/11/16/what-makes-firefox-3/</link>
	<content:encoded>&lt;p&gt;Couple of articles today reporting that we’re going to ship Firefox 3 with 80% of our current blocker list still remaining to be fixed, which have cause quite the kerfuffle in our little corner of the internet.  It appears to be an honest mistake, since a set of meeting notes did include that prediction, along with other elements that mention other approaches to the Firefox end-game, but it’s not our intent to cut Firefox blockers from the fix list against a hard numerical target or fixed deadline.  As &lt;a href=&quot;http://blogs.cnet.com/8301-13505_1-9818903-16.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-20&quot;&gt;Matt Asay has noted&lt;/a&gt;, we’ve already demonstrated with this product cycle that we don’t roll that way.&lt;/p&gt;

&lt;p&gt;At some point, of course, the number of “bugs we’ll ship with” will hit 100%, unless we manage to produce the first piece of bug free software I’ve ever worked with, but even with such numerical truisms aside, the picture here isn’t as simple as it seems.  “Bug” in our world — as with every software shop I’ve ever worked, to be honest — includes desired feature improvements, optimizations, basically everything in the gap between “how the software is” and “how someone would like the software to be”.  Because of history and some tool limitations, and because we now have a larger set of people triaging blocker nominations than we ever have before, the “blocking” flag doesn’t always strictly mean “we would not ship Firefox 3 if this specific bug isn’t fixed”.  It can also mean “we should look at this in more detail before we ship” or “we’d like to focus developers on this set of bugs” or “don’t forget to do something (release note, document workaround, reach out to site authors, etc.) here before we ship”.&lt;/p&gt;

&lt;p&gt;Sometimes, of course, it definitely does mean “we really should not ship without this bug fixed”, which is the most common understanding of “blocker bug”.  Over time, our impressions of the severity of something can change, up or down, as usage on the web changes, or features get deferred (meaning that “mandatory” platform changes to support the features are no longer mandatory).  Some things that we thought were blockers at one point may well be evaluated not to be later on; we reserve the right to change our minds, as must all learning people and organizations, but we’re not going to do that on a strictly numerical basis, and certainly not on the basis of &lt;a href=&quot;http://en.wikipedia.org/wiki/Gregorian_calendar&quot;&gt;some system dreamed up by a 16th century doctor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Of course, we want to get Firefox 3 out to users soon, because there are tens of thousands of improvements there: better support for web standards, speed and memory improvements, great new productivity features, safety and security features, straight-up bug fixes, lots of UI polish, and powerful new APIs for extension developers.  But we also need — which trumps the “want” of soon, as you would expect — to make sure that we ship a product that’s good enough for a quarter-billion users (on our current growth curve, we could easily see that many people using Firefox during Firefox 3’s lifetime), that’s worthy of the name Firefox, and that we’re all proud to send into the world.  Many of us worked on Netscape 6, so we take this pretty seriously.&lt;/p&gt;

&lt;p&gt;Mike Schroepfer, our VP engineering, isn’t dogmatic about many things, which is one of the reasons he’s so good at his job.  But he’s pretty damned unequivocal that we’re not going to ship until we’re done, as you can read &lt;a href=&quot;http://groups.google.com/group/mozilla.dev.planning/msg/bb272b615944d667&quot;&gt;here&lt;/a&gt; and elsewhere:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;1) We are driven by quality, not time.  We want to Firefox 3 to be
something that we are all proud of.  This means features that delight
users and the same or higher quality than previous releases.  “Quality”
includes performance (Tp/Ts/TDHTML/etc), footprint, web compatibility,
regressions, and general fit and finish.  Having said that, we want to
move the web forward and are in a competitive market.  So we should
converge on a release as fast as possible.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;…&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;4) We’ll release betas until we complete our regression work and
incorporate feedback from wider-scale testing.  Before we release the
final beta Performance (specifically Ts, Tp, Tdhtml, Txul, and any other
benchmarks we add to the main tinderboxes) will be as good or better
than 1.8.  We should strive for improved Tp and Tdhtml scores
performance v.s. 1.8.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;…&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt; When will the last Beta ship?&lt;ul&gt;
&lt;li&gt;As soon as it is ready (see #4 above)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; 
&lt;/blockquote&gt;

&lt;p&gt;There’s nothing new or changed here, other than an unfortunate mixup in some meeting notes and that more people than ever before are watching what we do and how we do it.  That reporters are tracking our meeting minutes to track the project indicates that what we’re doing is important to a lot of people, and that makes us &lt;i&gt;more&lt;/i&gt; motivated to focus on quality than before, and not at all motivated to push out a release to meet some arbitrary deadline.  We’re in this for the long game, and years after the release date is nothing more than nerd trivia, people will remember what Firefox 3 did for them, and how well it worked.  It’s going to be awesome, even if you have to wait.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update&lt;/b&gt;: Matt Asay has posted a &lt;a href=&quot;http://blogs.cnet.com/8301-13505_1-9819384-16.html?tag=head&quot;&gt;follow-up article&lt;/a&gt;.  It’s all good.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T23:37:35+00:00</dc:date>
	<dc:creator>shaver</dc:creator>
</item>
<item rdf:about="http://www.bitstampede.com/2007/11/16/mdc-big-changes-ahead/">
	<title>Eric Shepherd: MDC: Big changes ahead</title>
	<link>http://www.bitstampede.com/2007/11/16/mdc-big-changes-ahead/</link>
	<content:encoded>&lt;p&gt;After a lot of research, it looks likely that we’ll be moving the &lt;a href=&quot;http://developer.mozilla.org/&quot;&gt;Mozilla Developer Center&lt;/a&gt; away from&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.mediawiki.org/&quot;&gt;MediaWiki&lt;/a&gt;, which we’ve been using for some time now, to &lt;a href=&quot;http://wiki.mindtouch.com/&quot;&gt;Deki Wiki&lt;/a&gt;.  There are a number of reasons we’re probably going to be making this move:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Two words: Syntax highlighting.  You can specify a language for a code snippet and get syntax highlighting with numbered lines; fantastic for doing explanations of what a sample does.&lt;/li&gt;
&lt;li&gt;Deki uses lucerne for searching, and it’s built in, so we don’t have to fight with Nutch.  Searches can even go into attached files, so a search on, say, “nsIDownloadManager” will not only find articles mentioning that interface, but also any downloadable code samples that make use of it.&lt;/li&gt;
&lt;li&gt;Deki offers a very snazzy WYSIWYG editor which should make it easier for new contributors to get going.&lt;/li&gt;
&lt;li&gt;You can easily attach downloadable files to articles, and there’s a nice file manager for organizing these. This will make it much easier for contributors to offer sample code.&lt;/li&gt;
&lt;li&gt;Very nice built-in statistic features.&lt;/li&gt;
&lt;li&gt;Articles can be keyword tagged.&lt;/li&gt;
&lt;li&gt;Advanced printing options, including PDF download option.&lt;/li&gt;
&lt;li&gt;Since all content is stored in XML instead of in a database, we have some interesting possibilities for making portable versions of the wiki that could be downloaded and browsed offline.&lt;/li&gt;
&lt;li&gt;It looks like it will be easier to customize the appearance and functionality of the site with Deki.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The folks at MindTouch will be writing us a utility to convert our current MediaWiki content into Deki, and will (assuming we do indeed decide to go ahead with this transition) be adding some new features to their software that we’ve requested.  This is a huge plus for us: we can get the software revised to meet our needs by people that know the code inside and out.&lt;/p&gt;
&lt;p&gt;We’re still working out exactly what changes they would be making to the code for us, but it’s looking very good, and I think folks will be pleased with the result.&lt;/p&gt;
&lt;p&gt;Assuming this transition happens, it will take place sometime early next year.  Hopefully in the first quarter but I wouldn’t be surprised if it slips into Q2, given the huge amount of stuff that needs to be done to make this happen.&lt;/p&gt;
&lt;p&gt;I’ll blog further on this as things develop.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T20:26:34+00:00</dc:date>
	<dc:creator>sheppy</dc:creator>
</item>
<item rdf:about="http://shawnwilsher.com/archives/130">
	<title>Shawn Wilsher: 80% Won’t Be Fixed?</title>
	<link>http://shawnwilsher.com/archives/130</link>
	<content:encoded>&lt;p&gt;I just got done reading &lt;a href=&quot;http://robert.accettura.com/archives/2007/11/15/80-wontfix/&quot;&gt;Robert Accettura’s post&lt;/a&gt; referring to a &lt;a href=&quot;http://www.nytimes.com/idg/IDG_002570DE00740E18002573940000166F.html?ex=1352869200&amp;amp;en=257ccab0e79b617f&amp;amp;ei=5088&amp;amp;partner=rssnyt&amp;amp;emc=rss&quot;&gt;New Your Times article about how 80% of Firefox bugs won’t be fixed for Firefox 3&lt;/a&gt;.  Shocking isn’t it?  It sure was shocking for me.&lt;/p&gt;
&lt;p&gt;I’m really surprised that such a reputable news organization would post such an inaccurate article.  The article talks about how only 20% of the blockers are actually expected to be fixed.  While this may be true, a bug that is marked blocking-firefox3+ doesn’t actually mean a &lt;a href=&quot;http://en.wikipedia.org/wiki/Computer_bug&quot;&gt;software bug&lt;/a&gt; exists.  This is probably the most common assumption that I see people outside of Mozilla making - if a bug is filed on something, that there is something wrong with the product.  The reality of the situation is that &lt;strong&gt;any&lt;/strong&gt; change anyone wants to make to the code gets a bug filed for it.  This means that if you want to add a feature, you file a bug.  You want to rewrite some code but not change functionality?  That requires a bug too.  Want to remove an unused feature?  That also needs to have a bug filed.&lt;/p&gt;
&lt;p&gt;Looking at the current &lt;a href=&quot;http://tinyurl.com/2kxxcn&quot;&gt;Download Manager bugs that are blocking Firefox 3&lt;/a&gt;, most aren’t software bugs.  About 13 are user interface tweaks, four are feature requests, and the rest are software bugs.  Of the software bugs, only six I’d really consider to be serious bugs, while the rest are fairly minor (but minor does not imply trivial to fix - that rant will have to come some other day).&lt;/p&gt;
&lt;p&gt;Anyway, my point is that everything you read on the Internet isn’t 100% accurate, so try to think about what it is you are reading!&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T19:49:22+00:00</dc:date>
	<dc:creator>Shawn Wilsher</dc:creator>
</item>
<item rdf:about="http://ascher.ca/blog/2007/11/16/open-source-peer-to-peer-transportation-systems/">
	<title>David Ascher: Open source peer-to-peer transportation systems</title>
	<link>http://ascher.ca/blog/2007/11/16/open-source-peer-to-peer-transportation-systems/</link>
	<content:encoded>.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 50%; margin-top: 0px; }

&lt;p class=&quot;flickr-yourcomment&quot;&gt;
I’m building a list of reactions to my Paris visit, touching on cultural differences in the world of email, open source, the fascinating things that various folks have done with Thunderbird in France, imperialism, and other topics, but I wanted to make sure to show this picture.  There’s a transportation strike in Paris this week (great timing on my part, as usual), which makes getting around a bit harder than usual, although I tend to walk around as much as is reasonable anyway given how nice it is to do so in Paris.
&lt;/p&gt;
&lt;p&gt;Today though, I was running late for an appointment, so I hopped on one of these puppies:&lt;/p&gt;
&lt;div class=&quot;flickr-frame&quot;&gt;
	&lt;a href=&quot;http://www.flickr.com/photos/davidascher/2036957959/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2322/2036957959_72a992656d_d.jpg&quot; alt=&quot;&quot; class=&quot;flickr-photo&quot; /&gt;&lt;/a&gt;&lt;br /&gt;

&lt;/div&gt;
&lt;p&gt;These slightly frumpy 3-gear city bikes are some of the 20,000 “Velib” that a company has placed in 1000 different locations throughout Paris in exchange for advertising rights.  The system is optimized for using bikes as a quick and easy way to move around short distances.  With a subscription (ranging from 1 euro for a day to 29 euros for a year), trips of 1/2 hour or less are free, with costs climbing for longer rentals, thereby ensuring that people don’t hog the bikes.  Apart from reports of some people using padlocks to “reserve” the bikes in anticipation of the strike, it seems to work great.  The stations I see tend to have at least some bikes in them (this one was full, which is actually a problem if you’re trying to return a bike).  On Wednesday there were &lt;a href=&quot;http://www.velib.paris.fr/&quot;&gt;159,000 trips recorded &lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It was a fun bike ride. In addition to the simple pleasure of zipping past cars through sunny Paris streets, there’s something about riding a “Velib” for the first time which reminds me of using open source software for the first time.  A joyful personal experience based on a structured shared asset, with positive environmental consequences.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T15:53:05+00:00</dc:date>
	<dc:creator>david</dc:creator>
</item>
<item rdf:about="http://shaver.off.net/diary/2007/11/16/correction-mozilla-stopbadware-and-google/">
	<title>Mike Shaver: correction: Mozilla, StopBadware and Google</title>
	<link>http://shaver.off.net/diary/2007/11/16/correction-mozilla-stopbadware-and-google/</link>
	<content:encoded>&lt;p&gt;Earlier this week, Chris Soghoian posted &lt;a href=&quot;http://www.cnet.com/surveillance-state/8301-13739_1-9813407-46.html&quot;&gt;an interview&lt;/a&gt; he did with me about Mozilla and our relationship with Google, as well as some other security topics.  I’d had some concerns with a previous article of his, and I was glad that he was willing to take the time to discuss them with me.&lt;/p&gt;

&lt;p&gt;In the course of that conversation, though, I misled him about how the upcoming malware list is managed; I had mistaken StopBadware’s role as &lt;a href=&quot;http://www.stopbadware.org/home/reviewinfo&quot;&gt;review and removal channel&lt;/a&gt; for them having editorial control over the list in general, which is not the case.  Maxim Weinstein of &lt;a href=&quot;http://www.stopbadware.org/home&quot;&gt;StopBadware&lt;/a&gt; contacted me to correct my misunderstanding, for which I’m grateful, and has provided a &lt;a href=&quot;http://blogs.stopbadware.org/articles/2007/11/15/stopbadware-mozilla-and-google&quot;&gt;great explanation&lt;/a&gt; on the StopBadware site:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Mozilla, Google, and StopBadware are all expected to play a role in ensuring that the needs of both users and web site owners will be addressed in Firefox 3. Mozilla is working with Google to provide a list of potentially harmful URLs that will be used by Firefox to warn users before they browse to a site that may contain malware. This data comes from Google’s own scanning and research, not from StopBadware, as reported. (Our &lt;a href=&quot;http://www.stopbadware.org/home/clearinghouse&quot;&gt;Clearinghouse&lt;/a&gt; allows users to search for a site to see if it is currently on Google’s warning list.)&lt;/p&gt;

&lt;p&gt;StopBadware’s role will be (as it is now) to ensure that users and web site owners receive as much information as possible about the warning and to provide a transparent review process to assist site owners in understanding why a site was flagged and/or notifying Google that it has been cleaned.&lt;/p&gt;

&lt;p&gt;By working together, we help protect users from potentially dangerous web sites while ensuring that owners of legitimate sites have a way to understand the warnings, clean up their sites, and remove the warnings.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I think this is a really good model that combines the scalability we need to protect more than 130 million users, the breadth of detection necessary to keep up with the modern pace of attacks, and a transparent and neutral process for reviewing and clearing sites that have been fixed.  I just wish I’d understood it properly before speaking with Chris!&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T15:45:04+00:00</dc:date>
	<dc:creator>shaver</dc:creator>
</item>
<item rdf:about="urn:md5:f228bda72992693ede135543f8eecba9">
	<title>Daniel Glazman: OH !</title>
	<link>http://www.glazman.org/weblog/dotclear/index.php?post/2007/11/16/OH</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://code.google.com/android/reference/android/webkit/package-summary.html&quot;&gt;Well&lt;/a&gt;... &lt;img src=&quot;http://glazman.org/weblog/dotclear/themes/glazblog/smilies/sad.png&quot; alt=&quot;:-(&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T11:06:00+00:00</dc:date>
	<dc:creator>Daniel Glazman</dc:creator>
</item>
<item rdf:about="http://boomswaggerboom.wordpress.com/2007/11/16/gecko-20-and-mac-os-x-architecture-support/">
	<title>Josh Aas: Josh</title>
	<link>http://boomswaggerboom.wordpress.com/2007/11/16/gecko-20-and-mac-os-x-architecture-support/</link>
	<content:encoded>&lt;div class=&quot;snap_preview&quot;&gt;&lt;p&gt;With Gecko 1.9 development wrapping up, I’ve been thinking about the roadmap for Gecko 2.0’s Mac OS X support. One of the items that we’ll need to consider is architecture support - this is something on many Mac OS X developers’ minds since Mac OS X 10.5 was just released with top-to-bottom support for PPC, PPC64, x86, and x86-64.&lt;/p&gt;
&lt;p&gt;I think we should make 2 architecture changes during the Gecko 2 development cycle - add support for x86-64 and drop support for PPC. I think the arguments for both changes are pretty solid.&lt;/p&gt;
&lt;p&gt;x86-64 is the future for Mac OS X applications, and that future is likely to come sooner rather than later. Apple has a history of successfully making aggressive changes to their platform in order to stay on the cutting edge, and I think it is a pretty safe bet that come the next WWDC encouraging all developers to move to x86-64 will be a top item on the agenda. They have been dropping technical hints for years and sowing the seeds for this change in their hardware offerings. The reason for this is much bigger than x86-64’s technical advantages though - Apple wants to consolidate. PPC is on the way out altogether, but if 32-bit x86 applications don’t go away soon too then Mac OS X has to ship with support for more than one architecture for a lot longer and users will need to have 32-bit and 64-bit frameworks loaded into memory at the same time. I highly doubt Apple will drop support for 32-bit x86 in Mac OS X 10.6, but I think they would like the average 10.6 user to not ever have to load a 32-bit application for performance reasons. You can bet that they’ll offer some creative enticements for 64-bit migration by making some APIs x86-64-only in 10.6.&lt;/p&gt;
&lt;p&gt;Gecko 2.0 is a great time to add support for x86-64 even if the first version of Firefox that ships with Gecko 2.0 doesn’t ship an x64-64 binary. I’m not suggesting that we necessarily make it a tier-1 supported platform, but we can get started down the path to tier-1 quality. It shouldn’t be too hard to do the work, we will have to do it anyway, and by getting this work done earlier we’ll eventually ship a higher-quality x86-64 product with less stress on development and QA.&lt;/p&gt;
&lt;p&gt;Obviously PPC is on the way out in the Mac OS X world. I doubt that Mac OS X 10.6 will support PPC hardware, and by the time Gecko 2.0 ships (Q1 2009 at a minimum) we will have very few PPC users remaining. It simply won’t be worth the effort required to support it properly even if it seems like a good idea at the beginning of the development cycle. Not supporting PPC will free up engineering and QA resource to work on much more important things, and we will no longer have to ship a universal binary. PPC users will have access to a supported Gecko 1.9.x Firefox for some time after Gecko 2.0 is released, so it isn’t like they will be without a modern web browser. Dropping PPC support will be unfortunate for some just like dropping support for anything is, but on the whole I think it is definitely the right thing to do for Gecko 2.0.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; There is some confusion in the comments about what dropping PPC Mac OS X support would actually mean. First of all, I was referring to PPC Mac OS X only. PPC Linux and any other PPC platforms would not be affected. Secondly, I should have said we would just bump it from tier-1 supported status. There would be little in the way of code changes, PPC Mac OS X builds could remain available through a community effort.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
	<dc:date>2007-11-16T10:47:06+00:00</dc:date>
	<dc:creator>Josh Aas</dc:creator>
</item>
<item rdf:about="tag:hecker.org,2007:/mozilla/seneca-college-and-open-source-education">
	<title>Frank Hecker: Seneca College and open source education</title>
	<link>http://hecker.org/mozilla/seneca-college-and-open-source-education</link>
	<content:encoded>&lt;p&gt;I spent October 25 and 26 in Toronto attending the &lt;a href=&quot;http://fsoss.senecac.on.ca/2007/&quot;&gt;FSOSS
2007&lt;/a&gt; conference put on by &lt;a href=&quot;http://www.senecac.on.ca/&quot;&gt;Seneca
College&lt;/a&gt;.  I didn't attend the conference
primarily to hear the conference presentations; my main aim was to
talk with the people associated with two projects that the Mozilla
Foundation has funded, namely the Mozilla-related educational
activities at Seneca College and the Mozilla-related accessibility
work at the University of Toronto's &lt;a href=&quot;http://atrc.utoronto.ca/&quot;&gt;Adaptive Technology Resource
Centre&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However as it turns out some of the presentations I saw had
interesting connections with my Seneca and ATRC discussions. In this
post I'll give my thoughts on how Seneca's efforts relate to the
broader world of business and education. (Note that these are my
personal opinions only, and do not necessarily reflect the positions
of the Mozilla Foundation or Seneca College.)&lt;/p&gt;

&lt;h3&gt;Open source businesses and the value of commit access&lt;/h3&gt;

&lt;p&gt;The &lt;a href=&quot;http://fsoss.senecac.on.ca/2007/presentationDetails.php?presentationID=30&quot;&gt;closing keynote presentation&lt;/a&gt; at FSOSS 2007 was by &lt;a href=&quot;http://www.riehle.org/&quot;&gt;Dirk
Riehle&lt;/a&gt; of &lt;a href=&quot;http://www.sap.com/usa/company/saplabs/index.epx&quot;&gt;SAP Labs&lt;/a&gt;. If you don't have time to watch the
&lt;a href=&quot;http://sparc.senecacollege.ca/pub/fsoss/2007/Oct26/3PM%20Keynote/DirkRiehleSAPLabs.ogg&quot;&gt;video&lt;/a&gt; you can get the essential points of Riehle's talk from his
&lt;a href=&quot;http://www.riehle.org/computer-science/research/2007/computer-2007-article.html&quot;&gt;original paper&lt;/a&gt; and a &lt;a href=&quot;http://itmanagement.earthweb.com/career/article.php/3687096&quot;&gt;recent interview&lt;/a&gt; he did for
Datamation. Riehle's thesis has several parts, including some claims
about software industry economics, closed source vs. open source
business models, and so on. However in relation to this post Riehle's
two most important claims are as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The move to open source negatively impacts the job prospects of the
average software developer, but improves the prospects of
developers who are core contributors (&quot;committers&quot;) to open source
projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Job and career prospects for committers participating in &quot;community&quot;
open source projects (&quot;software that a community develops&quot;) are
better than those for committers participating in &quot;commercial&quot;
open source projects (&quot;software that a for-profit entity owns and
develops&quot;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Riehle's contention is that the lowered barriers to learning about and
participating in open source projects mean that there are more
developers with experience with such software. Thus the typical
developer within an open source project will encounter relatively
intense competition for job opportunities relating to that
software. But if a developer advances within a project to become a
core contributor and gains commit access then they will be more
attractive candidates, particularly to companies with an interest in
having influence within that project.&lt;/p&gt;

&lt;p&gt;According to Riehle this dynamic works best in community open source
projects (e.g., Linux, Apache, Eclipse) where there are multiple
companies that can gain advantages from employing committers, and
hence competition among companies to recruit the relatively scarce
candidates. In commercial open source projects (as defined by Riehle)
a single company typically employs all (or nearly all) committers, so
bidding wars to hire committers are minimized.&lt;/p&gt;

&lt;h3&gt;Creating Mozilla contributors&lt;/h3&gt;

&lt;p&gt;What does all this have to do with Seneca? Many traditional
universities and colleges are research institutions; two of their
most important products are published papers and the people who
produce them. On the other hand Seneca is (to quote from its full
name) a &quot;College of Applied Arts and Technology&quot;; its goal is first
and foremost to produce graduates who have marketable skills. Seneca's
Mozilla-related activities clearly support this goal:&lt;/p&gt;

&lt;p&gt;Based on various reports from existing Mozilla contributors and
others, the students in Seneca's Mozilla- and open source-related
course appear to be getting valuable hands-on experience in what it
takes to participate in the Mozilla project, whether that be as
testers, build engineers, developers, or whatever. In effect Seneca is
training a cadre of people who likely have a much better chance of
becoming core Mozilla contributors than typical computer science
graduates. If we accept Dirk Riehle's thesis (and it seems plausible)
then these Seneca students will as a consequence have correspondingly
better prospects for lucrative employment, whether at the Mozilla
Corporation or one of the other companies looking for Mozilla- and
Firefox-related expertise.&lt;/p&gt;

&lt;p&gt;It's worth noting here that although the Mozilla started out as a
corporation-initiated and -sponsored open source project and is still
dominated by a single organization, in practice it has many aspects of
Riehle's community open source projects. (Why this should be so is a
topic I'll skip in the interests of brevity; however I think the
non-profit nature of the Mozilla Foundation is a major factor.)  In
particular, although the Mozilla Corporation is still the largest
employer of Mozilla developers there are now several other companies
that have a vested interest in having some influence over Mozilla
development, and that Mozilla developers and other contributors might
consider as potential employers.&lt;/p&gt;

&lt;h3&gt;Seneca College and disruptive innovation in higher education&lt;/h3&gt;

&lt;p&gt;At FSOSS 2007 I had a conversation with &lt;a href=&quot;http://vocamus.net/dave/&quot;&gt;David Humphrey&lt;/a&gt; and &lt;a href=&quot;http://blog.chris.tylers.info/&quot;&gt;Chris
Tyler&lt;/a&gt; of Seneca about additional things Seneca College could do in
the Mozilla and open source spaces, and how the Mozilla Foundation
might help Seneca achieve such new goals. Since our ideas about that
are still in flux, I'll skip any detailed remarks on that topic for
now. Instead I'll discuss a different topic, namely, why Seneca
College?  Sure, Seneca is in Toronto, and so are a lot of Mozilla
folks, but to be honest although I was previously aware of several
Canadian academic institutions I'd never heard of Seneca prior to its
Mozilla activities. If it's a simple matter of proximity to Mozilla
people then there are a lot more Mozilla people in Mountain View than
in Toronto, not to mention world-class institutions like &lt;a href=&quot;http://www.stanford.edu/&quot;&gt;Stanford
University&lt;/a&gt; and &lt;a href=&quot;http://www.berkeley.edu/&quot;&gt;UC Berkeley&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So what's going on? I think this is a perfect example of &quot;&lt;a href=&quot;http://hecker.org/mozilla/jwz-considered-disruptive&quot;&gt;disruptive
innovation&lt;/a&gt;&quot; acting in the education market, and as it turns out
Clayton Christensen provided a helpful guide to it in his book
&lt;cite&gt;&lt;a href=&quot;http://www.amazon.com/Seeing-Whats-Next-Theories-Innovation/dp/1591391857/?tag=frankhecker-20&quot;&gt;Seeing What's Next&lt;/a&gt;&lt;/cite&gt;. In this view institutions like
Stanford and Berkeley are focused on &quot;sustaining innovation&quot;, i.e.,
improving the &quot;product features&quot; for which they've been traditionally
recognized and valued by their most demanding customers: a
comprehensive computer science curriculum, leading-edge research
programs, and tight relationships with local entrepreneurs and venture
capitalists that can be leveraged for the benefit of the institution
and its students. (This last advantage can be had even without
completing one's education, hence the &quot;&lt;a href=&quot;http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2006/12/03/BUGTFMNO261.DTL&quot;&gt;college dropout turned Silicon
Valley entrepreneur&lt;/a&gt;&quot; phenomenon.)&lt;/p&gt;

&lt;p&gt;Elite institutions like Stanford and Berkeley are doing fine by their
own lights, and we'd therefore expect truly disruptive innovation in
higher education to occur not at those places but rather at
institutions on the margins. Christensen notes three trends in
education that represent disruptive innovation at work, and all three
are relevant or potentially relevant to the case of Seneca:&lt;/p&gt;

&lt;p&gt;The first trend is the growing popularity of community colleges and
other institutions that offer cheaper alternatives to traditional
four-year degree programs. This trend, of which Seneca is a part, is
an example of &quot;low cost&quot; disruption: As traditional degree programs
become increasingly more expensive, students look for other options
that are less expensive but still good enough to serve their own
personal goals, which are often more limited than those of students
who attend elite institutions. (Not everyone aspires to be—or is
cut out to be—a famous and wealthy entrepreneur; many people
would just like a well-paying job doing work that's personally
satisfying.)&lt;/p&gt;

&lt;p&gt;The second trend noted by Christensen is the growth of for-profit
institutions (like the &lt;a href=&quot;http://www.phoenix.edu/&quot;&gt;University of Phoenix&lt;/a&gt;) that are targeted at
older part-time students and make heavy use of distance learning using
the Internet. This is an example of &quot;new market&quot; disruption, bringing
additional higher education to people who traditionally did not pursue
it. (Christensen's phrase for this is &quot;competing against
nonconsumption&quot;.) Seneca College is a public non-profit institution
(chartered by the province of Ontario), and to the best of my
knowledge Seneca's Mozilla-related activities conform to the more
traditional model of young students receiving on-site
instruction. However it's perfectly possible to imagine people already
working in the IT field who might want to get an entree into new and
exciting areas like open source development, and due to its
distributed and decentralized nature open source development should be
a good match for Internet-based learning.&lt;/p&gt;

&lt;p&gt;The third (and I think most interesting) trend noted by Christensen is
the rise of &quot;corporate universities&quot; providing specialized training to
a corporation's employees, including such prominent examples as
&lt;a href=&quot;http://www.motorola.com/motorolauniversity.jsp&quot;&gt;Motorola University&lt;/a&gt;, &lt;a href=&quot;http://www.gm.com/corporate/careers/life_at_gm.jsp?p=gmu&quot;&gt;GM University&lt;/a&gt;, and GE's &lt;a href=&quot;http://www.ge.com/company/culture/leadership_learning.html&quot;&gt;John F. Welch
Leadership Center&lt;/a&gt;. Christensen discusses this trend (another new
market disruption) mainly in the context of management education, with
corporate training serving as an alternative to traditional MBA
programs:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Traditional business programs excel at training managers in general
  business theory and exposing them to a diverse network of business
  leaders. But they are ill-equipped to provide learning customized for
  an individual company or individual employees. Corporate training
  programs lack campuses or access to a high-powered alumni network
  outside of the company. But modular, customizable corporate training
  has an advantage that independent M.B.A. programs can't match—a
  product specifically designed for each employee's needs (&lt;cite&gt;Seeing
  What's Next&lt;/cite&gt;, p.112)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;By analogy, Seneca is offering an alternative to traditional
general-purpose computer science programs based on the &lt;a href=&quot;http://www.sigcse.org/cc2001/&quot;&gt;ACM/IEEE
curriculum&lt;/a&gt;, an alternative that is tailored to the particular task
of teaching students to be productive contributors to an open source
project (in this case Mozilla), thereby increasing their value to
employers participating in that project. Seneca is thus in effect
serving as an outsourcing provider for a prototype &quot;&lt;a href=&quot;http://www.mozilla.org/university/&quot;&gt;Mozilla
University&lt;/a&gt;&quot;.&lt;/p&gt;

&lt;p&gt;Note that this &quot;open source university&quot; idea is even more powerful
than the typical corporate university discussed by Christensen, at
least as it might be applied to Riehle's community open source
projects. For example, graduates of GM University no doubt learn many
things that would be useful were they to leave GM and go to work for
another auto manufacturer. However they'd still likely face a learning
curve getting up to speed on the &quot;Toyota way&quot; or the &quot;Ford way&quot; as
opposed to the &quot;GM way&quot;; this encompasses both learning explicit
knowledge about corporate products and processes as well as acquiring
more &lt;a href=&quot;http://en.wikipedia.org/wiki/Tacit_knowledge&quot;&gt;tacit knowledge&lt;/a&gt; that can be gained only through active
participation in the corporate culture.&lt;/p&gt;

&lt;p&gt;On the other hand, since Riehle's community open source projects
(Linux, Apache, Eclipse, etc.) are cross-company by definition, a
graduate of (say) a hypothetical &quot;Linux University&quot; would likely face
minimal barriers moving between any of the companies involved in Linux
kernel development; ditto for Apache, Eclipse, and (as noted above)
Mozilla itself. This is especially true if the curriculum required
students to invest a substantial amount of time in actively
participating in the project in question (as Seneca's does).&lt;/p&gt;

&lt;h3&gt;Asymmetric competition in higher education&lt;/h3&gt;

&lt;p&gt;As noted above, Seneca College and similar institutions are still bit
players in a world of traditional computer science programs dominated
by the elite research institutions. But need this always be the case?
One of Clayton Christensen's key concepts is &quot;&lt;a href=&quot;http://hecker.org/mozilla/asymmetric-competition&quot;&gt;asymmetric
competition&lt;/a&gt;&quot;, in which new entrants to a market take advantage of
opportunities relatively ignored by incumbents and in the course of
doing so can grow to eventually threaten the dominance of
incumbents. (Christensen uses the metaphor of new entrants being
defended by the &quot;shield of asymmetric motivation&quot; and learning to
wield the &quot;sword of asymmetric skills&quot;.)&lt;/p&gt;

&lt;p&gt;Programs like Seneca's demonstrate possible new ways to teach software
development: in the context of large real-life projects, with an
emphasis on the social and community aspects of projects, and through
an inter-disciplinary approach that teaches not just programming but
also other skills such as QA and testing, release engineering,
user-centered design, evangelism and marketing, and even software as a
business. As open source development and related trends (e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/Agile_software_development&quot;&gt;agile
development&lt;/a&gt;) take hold, Seneca and other institutions that might
emulate it could find themselves more aligned with the needs of both
students and industry, and more successful as a result.&lt;/p&gt;

&lt;p&gt;As noted above, the elite institutions have no real reason to be
threatened, at least not in the next few years; if nothing else their
importance as hubs of business networks will ensure their
relevance. As they move up market Seneca and others like it are much
more likely to threaten the dozens of conventional computer science
programs at second-tier institutions. (One sign of this is Seneca's
move to offer a four-year &quot;&lt;a href=&quot;http://warp.senecac.on.ca/bsd/&quot;&gt;bachelor of software development&lt;/a&gt;&quot;
degree.)&lt;/p&gt;

&lt;p&gt;However in the long run Seneca or another similar institution could
potentially break into the ranks of elite institutions, albeit an
elite that might be based on somewhat different criteria than
today. After all, if an institution like Stanford, &lt;a href=&quot;http://www.stanford.edu/home/stanford/history/begin.html#Found&quot;&gt;originally founded
as a &quot;avowedly practical&quot; institution&lt;/a&gt; (in contrast to
traditional east coast universities), could ride the wave of post-WWII
technology and business advances to become the &quot;&lt;a href=&quot;http://www.time.com/time/magazine/article/0,9171,829332,00.html&quot;&gt;Harvard of the
West&lt;/a&gt;&quot;, who's to say that Seneca (or a Seneca imitator) couldn't
aspire to some day be the &quot;Stanford of open source&quot;?&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T04:50:00+00:00</dc:date>
	<dc:creator>Frank Hecker</dc:creator>
</item>
<item rdf:about="http://robert.accettura.com/archives/2007/11/15/80-wontfix/">
	<title>Robert Accettura: 80% WONTFIX?</title>
	<link>http://robert.accettura.com/archives/2007/11/15/80-wontfix/</link>
	<content:encoded>&lt;p&gt;I hate when misinterpretations become seen as fact.  Supposedly &lt;a href=&quot;http://www.nytimes.com/idg/IDG_002570DE00740E18002573940000166F.html?ex=1352869200&amp;amp;en=257ccab0e79b617f&amp;amp;ei=5088&amp;amp;partner=rssnyt&amp;amp;emc=rss&quot;&gt;80% of Firefox bugs won’t be fixed&lt;/a&gt;.  That’s said to be a bad thing.  Here are some &lt;em&gt;realities&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In every release cycle, everyone wants every bug to block a release and therefore everyone is “blocker-happy”, and later in the cycle, all are changed to non-blocker status except the most critical as perceived by developers, drivers, and testers.&lt;/li&gt;
&lt;li&gt;Every release of Firefox, like every release of every large software project ships with thousands and thousands of documented bugs.  The overwhelming majority of which nobody encounters, or are so minor you don’t even notice.&lt;/li&gt;
&lt;li&gt;This process isn’t new, it’s been happening since the early days of software development.&lt;/li&gt;
&lt;li&gt;If this process didn’t work like this, there would never be a release of major software products.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A bug is either a defect or an “unintended feature”.  Complex products like browsers have thousands.  This isn’t a surprise to anyone who works with software on a daily basis.  Why?  Because every bug you fix, feature you add introduces new code, which potentially causes new bugs in other places.  Even if you devote 100% effort to fixing bugs, you’ll likely never get there.  That’s the nature of the game.  So what makes one bug worthy of blocking?  Well generally they must meet some requirements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Must be reproducible and clearly a bug (not a Firefox doesn’t load ActiveX).&lt;/li&gt;
&lt;li&gt;A fix must be identifiable and achievable.&lt;/li&gt;
&lt;li&gt;Must be in a more visible location.  It’s not effective to allocate large amounts of effort for something so obscure 1 in 10 million people will ever encounter such a testcase.&lt;/li&gt;
&lt;li&gt;Must be severe in some sense (data loss, security, usability, performance, etc.)&lt;/li&gt;
&lt;li&gt;Fix must not be beyond risk tolerance threshold.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;or, it must be a project requirement, meaning a feature that is deemed necessary to ship the release and worth holding for (artwork for &lt;acronym title=&quot;User Interface&quot;&gt;UI&lt;/acronym&gt; for example).  &lt;/p&gt;
&lt;p&gt;Every project involves deciding what bugs ship, and what holds a release.  Every single one.  If there’s someone who doesn’t, it means their QA is likely flawed or inadequate.  Firefox has the advantage of thousands of nightly testers.  This helps quite a bit not only finding bugs, but seeing how prevalent a particular bug is, and what it’s impact is.&lt;/p&gt;
&lt;p&gt;One should note that just because something isn’t blocking, that doesn’t mean it won’t get fixed.  It simply means the release won’t be held for that bug.  Should someone fix it, and it’s approved, it can still potentially make the release.  The key is that the fix be low enough risk that the benefits outweigh the risk of potential regressions.&lt;/p&gt;
&lt;p&gt;If you’re still shocked by this, let me alert you to something: the product (browser, feed reader, etc.) you are using to read this has thousands of bugs.  The OS it runs on, has thousands of bugs.  Any alternative you pick will be the same.  Pick your poison.&lt;/p&gt;
&lt;p&gt;I should note these bugs &lt;strong&gt;do not&lt;/strong&gt; get marked as WONTFIX or INVALID.  They remain open.  They may be fixed in a subsequent release or they may just become outdated and fixed through some other means (code is depreciated and replaced with something else, feature dropped, revamped).&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T04:35:57+00:00</dc:date>
	<dc:creator>Robert</dc:creator>
</item>
<item rdf:about="http://blog.mozilla.com/planet/2007/11/15/planet-addition-community-surveys-blog/">
	<title>Planet Mozilla Blog: Planet Addition: Community Surveys Blog</title>
	<link>http://blog.mozilla.com/planet/2007/11/15/planet-addition-community-surveys-blog/</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://blog.mozilla.com/communitysurveys/&quot;&gt;Community Surveys Blog&lt;/a&gt; (&lt;a href=&quot;http://blog.mozilla.com/communitysurveys/feed/&quot;&gt;feed&lt;/a&gt;) - A blog about community survey announcements and recent survey results.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T04:11:38+00:00</dc:date>
	<dc:creator>Reed</dc:creator>
</item>
<item rdf:about="http://robert.accettura.com/archives/2007/11/15/the-shape-of-firefox-30/">
	<title>Robert Accettura: The Shape Of Firefox 3.0</title>
	<link>http://robert.accettura.com/archives/2007/11/15/the-shape-of-firefox-30/</link>
	<content:encoded>&lt;p&gt;Alex Faaborg has an awesome post on &lt;a href=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot;&gt;&lt;acronym title=&quot;User Interface&quot;&gt;UI&lt;/acronym&gt; changes for Firefox 3.0&lt;/a&gt;.  It’s a little lengthy, and most pics are wireframes but it’s a rewarding read for anyone in the browser space, or has an interest in user interface.&lt;/p&gt;
&lt;p&gt;Overall I like most of the changes.  I’ve been ranting about a need for a &lt;a href=&quot;http://robert.accettura.com/archives/2005/08/01/intelligent-bookmarking-draft/&quot;&gt;better bookmarking&lt;/a&gt; interface since 2005.  Not sure if I was ahead of my time, or just impatient (likely the ladder), but it’s finally becoming a reality which I’m thrilled about.  I’ve got some ideas on where it could go from here to make it even better, but that’s another post I hope to get to sometime.  &lt;/p&gt;
&lt;p&gt;One change that caught my eye is this:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
-The lock is being removed from primary &lt;acronym title=&quot;User Interface&quot;&gt;UI&lt;/acronym&gt;, and Firefox will now use a metaphor based on identity, rather than security, which will appear on the site button if an &lt;acronym title=&quot;Secure Sockets Layer (a security protocol)&quot;&gt;SSL&lt;/acronym&gt; or EV certificate is available. The super short explanation for this change is that the user might have an encrypted connection to criminals, so telling them that they are safe is a false cue. For an in-depth discussion of why we are moving away from the metaphor of a lock, watch Johnathan Nightingale’s Mozilla24 presentation Beyond the Padlock.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I’m not sure if this is really the best solution.  I’d personally like to see the lock stay in the &lt;acronym title=&quot;User Interface&quot;&gt;UI&lt;/acronym&gt;, but it’s meaning redefined.  For a decade or more, the public has been told that the best way to tell if your information is safe is to look for the lock.  I’d venture 99% of the general population doesn’t really know it symbolizes the use of &lt;acronym title=&quot;Secure Sockets Layer (a security protocol)&quot;&gt;SSL&lt;/acronym&gt;.  They just know that it means your information is “safe”.  My thinking is that it would be the most graceful transition to map that to the new identity system.  Essentially the information it reveals would be the new identity information, but it provides backwards compatibility with previous versions, and other browsers.  One less learning curve.  Still in regards to safety, look for the lock.&lt;/p&gt;
&lt;p&gt;Regarding the iconic form:&lt;br /&gt;
&lt;img src=&quot;http://robert.accettura.com/wp-content/uploads/2007/11/20071115_identity.png&quot; alt=&quot;Iconic Form&quot; class=&quot;centered&quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;small&gt;Image from Alex Faaborg &lt;a href=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot;&gt;The Shape of Things&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;I could make a rather infantile joke, but I’ll leave that as an exercise for the reader.&lt;/p&gt;
&lt;p&gt;Overall it’s some great progress.  I think these changes allow for a much more functional user interface with added features and less &lt;acronym title=&quot;User Interface&quot;&gt;UI&lt;/acronym&gt;.  The native appearance will also be excellent for Mac and Linux users who have longed for a &lt;acronym title=&quot;User Interface&quot;&gt;UI&lt;/acronym&gt; that looked “right” on their systems.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T03:42:10+00:00</dc:date>
	<dc:creator>Robert</dc:creator>
</item>
<item rdf:about="http://www.songbirdnest.com/node/2332">
	<title>Songbird: Seeking the best of Build &amp; Release Engineer</title>
	<link>http://www.songbirdnest.com/node/2332</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://songbirdnest.com/jobs/release-qa-engineer&quot;&gt;&lt;img src=&quot;http://www.songbirdnest.com/files/images/79_stew-bird.png&quot; alt=&quot;Cooking up a build.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are you interested in being at the center of the delivery of a cross-platform, open-source, desktop media player to the world?&lt;/p&gt;
&lt;p&gt;We are looking for an exceptional build &amp;amp; release engineer who can insure that our build farm is humming and that Songbird gets installed safely on millions of desktops.&lt;/p&gt;
&lt;p&gt;We need someone who relish the challenge of automating the customization and packaging of our product for hundreds of distribution partners.&lt;/p&gt;
&lt;p&gt;Our build system needs to be automated, modular, scalable and flexible. Our process needs to support &lt;a href=&quot;http://translate.songbirdnest.com&quot;&gt;40+ languages&lt;/a&gt;, Windows, OSX and Linux on various architectures, &lt;a href=&quot;http://addons.songbirdnest.com&quot;&gt;100+ customizable add-ons&lt;/a&gt;, feathers, etc. Keeping the configuration matrix under control is a challenge within of itself. Sounds like fun? We think so.&lt;/p&gt;
&lt;p&gt;If makefiles make sense to you, if you are obsessed with details and love making release check lists, we want to hear from you!&lt;/p&gt;
&lt;p&gt;Check out our &lt;a href=&quot;http://songbirdnest.com/jobs/release-qa-engineer&quot;&gt;job description&lt;/a&gt; and read more about &lt;a href=&quot;http://songbirdnest.com/files/Songbird_Owners_Manual.pdf&quot;&gt;what's like to work at the nest&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Chirp,&lt;br /&gt;
Georges&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://songbirdnest.com/jobs/release-qa-engineer&quot;&gt;&lt;img src=&quot;http://www.songbirdnest.com/files/images/dishwasherbird.png&quot; alt=&quot;Cleaning up.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T02:18:39+00:00</dc:date>
</item>
<item rdf:about="http://home.kairo.at/blog/2007-11/source_l10n_available_for_seamonkey_trun">
	<title>Robert Kaiser: &quot;Source L10n&quot; Available For SeaMonkey Trunk</title>
	<link>http://home.kairo.at/blog/2007-11/source_l10n_available_for_seamonkey_trun</link>
	<content:encoded>I'm proud to announce to SeaMonkey localizers that the suite is ready to start into the world of so-called &quot;source L10n&quot;, i.e. building localized builds based of files that are all available in our public repositories.&lt;br /&gt;
&lt;br /&gt;
With that, the development trunk of SeaMonkey, which is in a pre-Alpha state for a future SeaMonkey 2, will be localizable using the Core L10n files that are already in CVS. with additional SeaMonkey-specific files added in the suite/ subdirectory and some in the editor/ui/ subdirectory of the respective language directories in the l10n/ CVS repository.&lt;br /&gt;
&lt;br /&gt;
If the SeaMonkey localizer for a language has already CVS access and he is the locale owner or gets authorization from the owner, and if a Firefox localization is already present (and therefore the &quot;core&quot;, i.e. dom/, netwerk/, security/ and toolkit/, as well as extensions/reporter are already present for their localization), he can add the SeaMonkey-specific files to the L10n CVS right away. Else, the locale owner or a peer that already has CVS access can do the checkins, and the SeaMonkey localizer should file a bug for CVS access and let the locale owner vouch for him. In any case, the core as mentioned above should be in the tree first. If no core localization is present yet, please follow the Firefox rules for getting the core L10n files in first.&lt;br /&gt;
&lt;br /&gt;
Once your localization gets complete (check that with compare-locales), please file a bug for adding your locale to all-locales for SeaMonkey (in &quot;Mozilla Application Suite &amp;gt; Build Config&quot;) and assign it to &quot;kairo@&quot; so I can add you there and repackaging of nightlies will be done.&lt;br /&gt;
&lt;br /&gt;
We don't need any special reviews for bookmarks, start pages or search engines at the moment as we have no special agreements with any providers of such resources. You probably should keep the existing default bookmarks unchanged though, possibly adding a small (!) selection of localized ones - not without asking the link targets if they are OK with that, though.&lt;br /&gt;
You also should only change any URLs we point to if you really know what you are doing and have ensured that the target can handle the amount of traffic generated by this change and you are allowed to use any brand that might occur in SeaMonkey due to your changes. This is true for bookmarks, stage pages and search engines as well as any other URLs in SeaMonkey. Be careful with all of those!&lt;br /&gt;
&lt;br /&gt;
For the technical side of search plugins, the only file you need to have in that dir is the list.txt file, please do NOT copy the en-US plugins themselves, if the list.txt points to a plugin not existing in your locale but in en-US, the plugin from en-US will be packaged automatically. If you add plugins for local search providers, you need to add the base name of the files in list.txt and provide a .src and .png file for the search plugin, using the &quot;old&quot; sherlock format as used by &lt;a href=&quot;http://home.kairo.at/mycroft.mozdev.org&quot;&gt;mycroft.mozdev.org&lt;/a&gt;. Note that all icons need to be PNG, not GIF or something else, as our localization process only picks up .png files.&lt;br /&gt;
&lt;br /&gt;
As we are still in pre-Alpha with this SeaMonkey development cycle, we have not yet figured out exactly how we will deal with releases, I hope I can give a better picture of that when we are nearing Alpha. What we know, as that we'll probably go into the final localization freeze for or shortly after Beta, but we don't know yet when this will exactly be.&lt;br /&gt;
&lt;br /&gt;
Once a locale has been added to all-locales, you'll notice the SeaMonkey nightly build machines appearing on the respective Mozilla-l10n-* tinderbox waterfall page and nightly builds generated when those columns there are green. Those nightly builds will appear in the &lt;a href=&quot;http://ftp.mozilla.org/pub/mozilla.org/seamonkey/nightly/latest-trunk/&quot;&gt;latest-trunk FTP directory&lt;/a&gt; and should be usable to a big part.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Warning&lt;/span&gt;: We know of some features that are still broken in localized builds at the moment, those are all marked as &lt;a href=&quot;https://bugzilla.mozilla.org/showdependencytree.cgi?id=286110&amp;amp;maxdepth=1&amp;amp;hide_resolved=1&quot;&gt;dependencies of the source L10n bug&lt;/a&gt;: Download manager and password manager windows do not work, as well as system integration hooks (on Windows) - we are working on replacing the old implementations of those with newer ones and therefore did not enable the old code to work with source L10n.&lt;br /&gt;
&lt;br /&gt;
I hope we can improve quality and availability of SeaMonkey localizations with this step, so that SeaMonkey 2 will be an even better suite product than any other such all-in-one application before.</content:encoded>
	<dc:date>2007-11-16T00:46:13+00:00</dc:date>
	<dc:creator>KaiRo</dc:creator>
</item>
<item rdf:about="http://shaver.off.net/diary/2007/11/15/on-evangelism/">
	<title>Mike Shaver: on evangelism</title>
	<link>http://shaver.off.net/diary/2007/11/15/on-evangelism/</link>
	<content:encoded>&lt;p&gt;I was going to write about the &lt;a href=&quot;http://www.0xdeadbeef.com/weblog/?p=308&quot;&gt;latest addition to our team&lt;/a&gt;, but then I realized that I still haven’t actually posted about what the Evangelism team does here at Mozilla, and we’ve been together for about 3 months now.&lt;/p&gt;

&lt;p&gt;Here’s what we’re set up to do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Help people understand Mozilla&lt;/li&gt;
&lt;li&gt;Help people connect productively and enjoyably with the Mozilla project&lt;/li&gt;
&lt;li&gt;Help Mozilla communicate “with itself”&lt;/li&gt;
&lt;li&gt;Help people understand, build, and benefit from the open web&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ll elaborate on each of those in upcoming posts, because I think they’re each important and interesting, but the core concept that we’ve been using to organize our thoughts so far is one of “stories”.  What should the story of a new contributor getting involved be like?  What’s the story of the performance work happening in Firefox 3?  What is our story on standards, specifications, and interoperability?  What story do we need to tell to explain to people why accessibility and cross-platform technologies are important?  Stories aren’t always in narrative form — though when they can be, it’s often both fun and inspiring — and they’re definitely not intended to be fictional.  We might tell stories that are aspirational, describing what we &lt;em&gt;want&lt;/em&gt; the experience to be for someone who wants to help web sites become more compatible with all browsers, but we won’t tell lies.  We’ll make mistakes, and we’ll change our minds, and we might have to simplify to make things understandable, but we won’t lie to people.  We don’t need to — the true things about Mozilla are fantastic — and we just aren’t good at it.  Mozilla is a project that is defined by openness and candor, and fighting that nature is neither productive nor viable in the long term.&lt;/p&gt;

&lt;p&gt;We’re going to work on helping identify and refine important stories, as well as finding ways to make some aspirational stories come to life, but we’re also going to help people tell &lt;em&gt;their&lt;/em&gt; Mozilla stories.  From a peek inside the history of Mozilla’s test automation to what’s involved in a briefing with a reporter, we want people to understand what all is going on with the Mozilla project.  Helping the right stories get to the right audiences — within the community and beyond — is a big part of the value we need to provide, and we’re &lt;a href=&quot;http://www.dria.org/wordpress/archives/2007/11/02/596/&quot;&gt;ready to get started&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Evangelism isn’t just about saying nice things, since productive attention to challenges and mistakes is a critical part of improving how we work, and it’s not about making everyone love Mozilla.  It’s about making sure that the great things Mozilla does are visible to the world, encouraging people who share our values, and helping our unique project work together better.  It’s not going to be how everyone else does evangelism, but after nearly a decade of working on Mozilla I’m used to us just being kinda different.  We’ll overlap in some areas with marketing, public relations, and other activities — if we do our jobs well, we’ll probably overlap with just about every part of the project! — but we’re concerned with helping out and not with defining territory.&lt;/p&gt;

&lt;p&gt;If you’ve been around the project for a long time, the term “Evangelism” probably makes you think of “&lt;a href=&quot;http://www.mozilla.org/projects/tech-evangelism/&quot;&gt;technical evangelism&lt;/a&gt;“, which was the term used for people doing outreach to sites that were not compatible with web standards, and helping/encouraging the site owners to repair their problems.  That’s a very small subset of the sorts of evangelism that we’re starting to work on, and to be frank we’re unlikely to do very much such technical evangelism directly, though we’re definitely interested in helping organize and support those who do.  (In fact, we have some ideas about that very topic!)&lt;/p&gt;

&lt;p&gt;Next up: meet the MoCo Evangelism team.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T00:29:29+00:00</dc:date>
	<dc:creator>shaver</dc:creator>
</item>
<item rdf:about="http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/">
	<title>Alex Faaborg: The Shape of Things to Come?</title>
	<link>http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/</link>
	<content:encoded>&lt;p&gt;&lt;strong&gt;Firefox 3 Wireframes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Over the past couple of weeks I’ve been driving the design of a cross platform shape and control set for Firefox 3.  I’ve been working with the Firefox 3 drivers Mike Connor and Mike Beltzner, along with Mozilla’s interactician Madhava Enros, Dave Brasgalla from the Iconfactory, and our  OS X theme contributers Stephen Horlander and Kevin Gerich.  Here is the current design, which has already gone through a lot of iterations.  We are very interested in people’s thoughts and feedback.&lt;/p&gt;
&lt;p&gt;Our goals are to design an interface that is simple, modern, and visually lighter than previous versions of Firefox.  A lot of careful thought went into determining which controls we could integrate or remove.  We also focused a lot on how we could leverage visual design (namely grouping and patterns) to form a user interface that is both simpler and easier to use.  All of this work is still in progress, but here is the current design for OS X, Windows Vista, and Windows XP.  Click through for the full mockup.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/controlLayoutAndShape_i4.png_large.png&quot;&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/controlLayoutAndShape_i4.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;900&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Controllayoutandshape I4&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The reason Linux isn’t shown above is that all of the feedback we’ve received so far indicates that Linux users would be happier with a theme that uses native GTK icons in the navigation toolbar, which rules out this type of customized visual treatment.   Linux theme work is really active right now, see the details in my &lt;a href=&quot;http://blog.mozilla.com/faaborg/2007/11/13/update-on-the-firefox-3-linux-theme/&quot;&gt;last post&lt;/a&gt;, and some &lt;a href=&quot;http://arstechnica.com/journals/linux.ars/2007/11/15/afirst-look-at-the-firefox-3-visual-refresh-for-linux&quot;&gt;really thorough coverage over at Ars Technica&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is a recap of what we changed, what we removed, what we added, and what we didn’t change.  We are always open to lively debate about what should or shouldn’t be in primary UI, so feel free to voice your opinion in the comments.  Note that the title of this post is a question, not a statement.  This isn’t a final design for Firefox 3 as much as a snapshot of our current thoughts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What we Changed&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
-The back button is larger than the forward button.  We did this for two reasons: first, it’s a really important button.  We could probably ship a Web browser with just a location bar and a back button, and a lot of users would be totally fine with that.  By making the back button larger we make it easier to visually target and hit, which isn’t the kind of thing you will necessarily consciously notice, but the best improvements to usability are often things you don’t consciously notice.  The second reason we are interested in making the back button larger is to create a unique visual identity.  This form serves as a visual cue that you are looking at Firefox 3 (lengthy discussion below).  On OS X we are experimenting with making the toolbar 15 pixels taller, and on Windows the toolbar height is currently remaining the same.&lt;/p&gt;
&lt;p&gt;-The home button is now the first link on the bookmarks toolbar.  We are planning on keeping it in the customization pallet so users can add it back to the navigation toolbar if they really want it there.&lt;/p&gt;
&lt;p&gt;-The throbber is being relocated to the site button.  This gives it a visual and conceptual mapping with the URL being loaded, and places it directly next to the stop button (and near the refresh button and the navigational controls) so the user will immediately see feedback when interacting with these controls, as opposed to having to move their gaze to the far right side of the browser.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What we Removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With the Web feed icon, star icon, go button, lock icon and drop down control all appearing on the right side of the location bar, we’ve recently been referring to this area of the UI as our “lucky charms” (purple horseshoes have sadly been pushed back to Firefox 4 due to a lack of developer resources, but we are accepting magically delicious patches).  In these wireframes we’ve downsized from 5 lucky charms to 2: Web feed and star.&lt;/p&gt;
&lt;p&gt;-The lock is being removed from primary UI, and Firefox will now use a metaphor based on identity, rather than security, which will appear on the site button if an SSL or EV certificate is available.  The super short explanation for this change is that the user might have an encrypted connection to criminals, so telling them that they are safe is a false cue.  For an in-depth discussion of why we are moving away from the metaphor of a lock, watch Johnathan Nightingale’s Mozilla24 presentation &lt;a href=&quot;http://www.mozilla24.com/meta/1-16_johnathan.asx&quot;&gt;Beyond the Padlock&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;-The go button now only appears when you are typing in the location bar, replacing the Web feed and star buttons as the only item on the right side of the location bar.&lt;/p&gt;
&lt;p&gt;-In this design the drop down marker in the location bar now only appears when you hover the mouse on the location bar.  The rationale was that we wanted to keep the control around for people who regularly use it (and already know that it is there), but are otherwise hiding it to reduce the overall visual complexity of the right side of the location bar, and because we don’t feel that this control needs to be discoverable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What we Added&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;-The right side of the location bar now has a star icon that allows users to bookmark a Web page with a single click.  We’ve found that a lot of users don’t bookmark pages anymore because it is actually easier to just search Google for any Web page that you want to visit again.  So our objective when redesigning bookmarking in Firefox 3 was to create a system that was even faster for users than searching Google.  Here is how it works: a single click on the star icon bookmarks the page and ensures that Firefox will never forget that you visited it.  You can now search for the page again by entering any part of the title or URL In the location bar, which is more efficient than sending your search across the network, waiting for Google to generate a results page, and then locating and selecting the correct result on that page.&lt;/p&gt;
&lt;p&gt;-The left side of the location bar now contains what we are calling the site button.  Clicking on this button displays information about the identity of who you are connected to (SSL or EV certificate) if available, and in future releases we may also include actions that are contextual to the Web site you are on when you click the site button.&lt;/p&gt;
&lt;p&gt;-On Windows we are experimenting with a small control between back and forward called the history button.  This is functionally the same as the integrated drop down menu in IE7, although we believe the clock metaphor will hopefully be more descriptive than a down arrow.  In particular, this is one part of the design that we are still iterating on.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What we Didn’t Change&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are lots of things we didn’t change, but I think these two decisions in particular are notable:&lt;/p&gt;
&lt;p&gt;-The search bar and the location bar are still two different fields.  Overall it seems like this is pretty redundant UI, especially since the location bar in Firefox 3 behaves a lot more like a search field (it even now contains the self describing text “Search Bookmarks and History”).  However, integrating the two fields is certainly a non-trivial UI problem.  Specific challenges include the fact that you should always show the location that the user has navigated to, but novice users will be reluctant to edit and replace any text that they don’t understand (and most URLs are not human readable.)  Also, users who are concerned with privacy enjoy knowing when Firefox is making a network connection or not, and they don’t necessarily want everything they type into the location bar handed to a third party search engine.  Additionally, the best way to integrate search suggestions with location bar auto-complete results isn’t very clear.  If anyone has solutions to these three UI problems, by all means please post an answer in the comments.&lt;/p&gt;
&lt;p&gt;-Stop and refresh are not the same button.  A lot of people have suggested that we follow Safari’s lead and integrate stop and refresh.  There are also some Firefox &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/313&quot;&gt;extensions&lt;/a&gt; out there that do this.  The reason we decided not to integrate the two buttons is the case where you are thinking “this page is taking forever to load, I’m going to stop it”  but then, a split second before you down-click, during the time in which your brain has sent the signal to your hand to carry out the action, the page finishes loading, the button changes state, and you end up doing the opposite of what you actually wanted, and think “@$%&amp;amp;!”  Overall I think the speed of the user’s connection plays a large role in determining how often they will hit the wrong control.  For instance, I rarely experience this problem when using Safari on a broadband connection, but I do commonly experience it when using an iPhone on the edge network.  So to avoid potentially frustrating the user, we don’t think we should integrate the two buttons.  However, integrating the two is a pretty big visual simplicity win, and the annoying situation is a boundary case, so there are definitely two sides to the debate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notes About the Design&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In addition to the comments above, here are two accompanying mockups that explain in detail some of the very specific visual design and interaction attributes of the current iteration of wireframes:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/controlLayoutNotes.png_large.png&quot;&gt;Notes on the Design&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/controlLayoutNotes.png_large.png&quot;&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/controlLayoutNotes.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;220&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Controllayoutnotes&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/ratios.png_large.png&quot;&gt;Circle to Square Height Ratios on Various Platforms&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/ratios.png_large.png&quot;&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/ratios.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;220&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Ratios&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Platform Integration vs. Cross Platform Identity&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a &lt;a href=&quot;http://blog.mozilla.com/faaborg/2007/10/10/the-firefox-3-visual-refresh-system-integration/&quot;&gt;previous post about the visual refresh&lt;/a&gt; for Firefox 3, I discussed our goal of visual integration with each platform.  This strategy has a number of advantages, including presenting you with an interface that feels familiar, and reducing the negative feeling of adding something foreign to your system.  We also what to ensure that as you move between Firefox and other applications on your system, the transition does not feel jarring.&lt;/p&gt;
&lt;p&gt;However, morphing Firefox to visually integrate on each platform has one very serious downside: we risk losing Firefox’s identity.  How do we achieve perfect visual integration with OS X without looking like Safari?  And how do we achieve perfect visual integration on XP without looking like IE6, and Vista without looking like IE7?  In a lot of ways these two goals, achieving visual integration on each platform, and maintaining a consistent cross platform identity, are diametrically opposed.  However, we’ve been working on trying to pull off both.&lt;/p&gt;
&lt;p&gt;Our strategy is to divide up the different visual variables across the two different objectives.  Contrast (value), color (hue) and texture are used to integrate with the platform, while shape, position, orientation, and size are leveraged to create a cross platform identity:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/visualVariableStrategy.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;260&quot; width=&quot;463&quot; vspace=&quot;0&quot; alt=&quot;Visualvariablestrategy&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Note: the visual variables shown in this diagram are from a &lt;a href=&quot;http://groups.csail.mit.edu/graphics/classes/6.831/lectures/L11-slides.pdf&quot;&gt;slide&lt;/a&gt; by professor Rob Miller at MIT&lt;/p&gt;
&lt;p&gt;Another way of thinking about this strategy is that the objects remain the same across platforms, but the materials that these objects are made out of (metal, glass, plastic) change based on what OS you are running Firefox on (OS X, Vista, XP).  For instance, here is the iconic shape for back and forward that gives Firefox a cross platform identity:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/iconicForm.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;220&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Iconicform&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And here is the same object constructed out of metal, glass, and plastic, for visual integration with the different platforms:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/materials.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;220&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Materials&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;There are a few exceptions to this approach, in particular the stop and refresh buttons appear as glyphs on shapes on OS X, instead of glyphs floating in space, and each design leverages &lt;a href=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/ratios.png_large.png&quot;&gt;platform specific curve ratios&lt;/a&gt;.  Also, we are playing around with the idea of a history button on Windows, but we are still working on that design.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Establishing Identity Through Shape: Iconic Forms&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Taking the discussion to a much more theoretical level, I want to discuss why I think it is important that Firefox 3 has a unique shape, and the fundamental role that shape plays in establishing identity.  When we think about identity, we often focus on brand names and logos, but many objects are so visually unique, that their shape is the only thing needed to differentiate them from every other object in existence.  We are so good at processing visual information that even a simple wireframe results in us easily recognizing an object.  For instance, consider common tools:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/iconicShovel.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;440&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Iconicshovel&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/iconicHammer.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;440&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Iconichammer&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After interacting with these tools, their form becomes extremely recognizable, even when shown in 2D using a simple outline.  For these tools their form is dictated by functionality, as opposed to a desire to be recognizable.  However, some objects have become iconic due to their clearly recognizable form.  For instance, consider this hat:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/iconicMickey.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;440&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Iconicmickey&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Only three intersecting circles, but this is one of the most iconic forms the world has ever seen.  Great designers are able to leverage simple and recognizable shapes to construct iconic forms that make their products memorable and easily differentiated from competition.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/iconicIpod.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;440&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Iconicipod&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/iconic360.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;440&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Iconic360&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/iconicBeetle.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;440&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Iconicbeetle&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Firefox has been incredibly successful primarily because it is a fantastic product.  The marketing around Firefox has also been extremely well done.  Firefox has a great name, and a gorgeous and easily recognizable application icon.  However, the tool itself has not been designed to contain an iconic form, a shape that you would recognize even if you only saw its’ shadow, or an outline.  I believe Firefox 3 should be recognizable even if you are only viewing it momentarily, looking over someone else’s shoulder.  Since the navigational controls are something we constantly view and interact with, that makes them a great candidate for trying to establish a recognizable shape:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://people.mozilla.com/~faaborg/files/20071114-iconicForms/iconicFormLarge.png&quot; hspace=&quot;0&quot; align=&quot;&quot; height=&quot;440&quot; width=&quot;440&quot; vspace=&quot;0&quot; alt=&quot;Iconicformlarge&quot; border=&quot;0&quot; longdesc=&quot;http://blog.mozilla.com/faaborg/2007/11/15/the-shape-of-things-to-come/&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This is just one example of the kind of shape we could use.  Hopefully, whatever we end up going with, you’ll be able to catch a quick glance of it and still immediately know that just saw Firefox.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-16T00:25:32+00:00</dc:date>
	<dc:creator>Alex Faaborg</dc:creator>
</item>
<item rdf:about="http://quality.mozilla.org/892 at http://quality.mozilla.org">
	<title>QMO: If you missed the Pre-released Firefox 3 Beta 1 Testing boat...</title>
	<link>http://quality.mozilla.org/en/node/892</link>
	<content:encoded>&lt;p&gt;
....You're not too late for Round 2!   Last week was a great time for eager beavers to help test out pre-released builds of Firefox 3 Beta 1.   It was such a hit, that we've decided to extend one more week for everyone to help us bless the beta before releasing next week.   So join us tomorrow (11/16) between &lt;b&gt;7am - 5pm PST&lt;/b&gt; on irc.mozilla.org, channel &lt;b&gt;#testday&lt;/b&gt;, grab a pre-released &lt;a href=&quot;ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/1.9b1-candidates/rc3/&quot;&gt;beta 1 rc3 build&lt;/a&gt; , and have some Mozilla fun!
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://quality.mozilla.org/en/node/892&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T23:40:27+00:00</dc:date>
	<dc:creator>tchung</dc:creator>
</item>
<item rdf:about="http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/">
	<title>Stuart Parmenter: pavlov</title>
	<link>http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/</link>
	<content:encoded>&lt;div class=&quot;snap_preview&quot;&gt;&lt;p&gt;I’ve had a lot of people ask whether the memory improvements that I’ve been doing recently will make it in to Firefox 3 or if they’ll only appear in a more future release.&lt;/p&gt;
&lt;p&gt;The basic answer: many of these fixes will be included in Firefox 3, but not all of them.&lt;/p&gt;
&lt;p&gt;The more complicated answer is that we’re still analyzing the problem and working on solutions. At this point, we’re still digging through the data and finding hotspots. We’ve already identified quite a few places where we will be able to make improvements — some big and some small — and we’re evaluating each for overall invasiveness and impact so we can make the best decisions possible about how and where to implement these fixes.&lt;/p&gt;
&lt;p&gt;As we’re already in the beta phase for Firefox 3 we have to be very careful not to add too much risk to the process, so we’re prioritizing memory improvements to get the biggest improvements for the least additional risk.  This isn’t to say that we won’t work on fixes with higher potential risk, but we do have to be very careful.  What this means is that we won’t be able to address every single issue, but should be able to knock out the big ones in time for Firefox 3.&lt;/p&gt;
&lt;p&gt;Eliminating memory fragmentation entirely is almost impossible.  We’ve got some amazing tools built now to debug the issues and test our progress.  We’ve got several big issues on our radar that we believe will give us big wins.  The current plan of attack is to reduce numbers of allocations, group allocations of similar lifetimes together in to pools, move areas with similar size allocations in to their own areas in memory, and to look at general malloc replacement solutions.  We’re looking at all of these things in parallel and have some data on each but not enough to report anything useful yet.  I hope to have some good data on each of these areas by early next week.  We’ve built some pretty amazing tools for testing our progress and will be able to show visually how we’re improving.&lt;/p&gt;
&lt;p&gt;With as many of these fixes going in to Firefox 3 as possible, Firefox 3 should provide significant improvement in long term memory use over previous versions.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
	<dc:date>2007-11-15T23:15:11+00:00</dc:date>
	<dc:creator>pavlov</dc:creator>
</item>
<item rdf:about="tag:mozillazine.org,2004:article22706">
	<title>MozillaZine: Updates</title>
	<link>http://www.mozillazine.org/talkback.html?article=22706</link>
	<content:encoded>&lt;p&gt;Several security and stability updates have been released in the past three months including:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;&lt;a href=&quot;http://caminobrowser.org/releases/1.5.3/&quot;&gt;Camino 1.5.3&lt;/a&gt;
&lt;li&gt;&lt;/li&gt;&lt;a href=&quot;http://www.mozilla.com/en-US/firefox/2.0.0.9/releasenotes/&quot;&gt;Mozilla Firefox 2.0.0.9&lt;/a&gt;
&lt;li&gt;&lt;/li&gt;&lt;a href=&quot;http://www.mozilla.com/en-US/thunderbird/2.0.0.9/releasenotes/&quot;&gt;Mozilla Thunderbird 2.0.0.9&lt;/a&gt;
&lt;li&gt;&lt;/li&gt;&lt;a href=&quot;http://www.seamonkey-project.org/news#2007-11-05&quot;&gt;SeaMonkey 1.1.6&lt;/a&gt;
&lt;li&gt;&lt;/li&gt;&lt;a href=&quot;http://www.mozilla.org/projects/calendar/releases/sunbird0.7.html&quot;&gt;Sunbird 0.7&lt;/a&gt;
&lt;/ul&gt;
        &lt;p&gt;We apologize for the lack of news updates in the past few months. We are planning to update the mozillaZine news software in the near future. In the meantime, please use talkback on this article as an open discussion forum.&lt;/p&gt;
        &lt;p&gt;&lt;a href=&quot;http://www.mozillazine.org/talkback.html?article=22706&quot;&gt;Talkback&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T23:06:59+00:00</dc:date>
	<dc:creator>mozillaZine.org</dc:creator>
</item>
<item rdf:about="http://shaver.off.net/diary/2007/11/15/two-things-you-should-read/">
	<title>Mike Shaver: two things you should read</title>
	<link>http://shaver.off.net/diary/2007/11/15/two-things-you-should-read/</link>
	<content:encoded>&lt;p&gt;One thing about work: Stuart has a truly excellent &lt;a href=&quot;http://pavlovdotnet.wordpress.com/2007/11/14/leaks-memory-we-never-forgot-about-you/&quot;&gt;post about memory work in Firefox&lt;/a&gt;.  The sort of post I’ve been wanting to figure out how to write for some time, and he just plain-out nails it.&lt;/p&gt;

&lt;p&gt;One thing about not-work: my lovely sister Steph is featured in &lt;a href=&quot;http://www.canada.com/montrealgazette/news/preview/story.html?id=fa9e9d11-c450-409e-bcdc-45b4b6828183&quot;&gt;an article in the Montreal Gazette&lt;/a&gt;, which — in spite of the strange headline and conspicuous lack of photo — I found quite enjoyable.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T21:55:41+00:00</dc:date>
	<dc:creator>shaver</dc:creator>
</item>
<item rdf:about="http://www.dria.org/wordpress/archives/2007/11/15/600/">
	<title>Deb Richardson: Great example of how to post slides</title>
	<link>http://www.dria.org/wordpress/archives/2007/11/15/600/</link>
	<content:encoded>&lt;p&gt;Stumbled across a &lt;a href=&quot;http://www.emergentchaos.com/archives/2007/11/how_to_blog_a_talk.html&quot;&gt;post&lt;/a&gt; in my feeds today that rightly points out that there is a better way to post slides.  The example that inspired this is &lt;a href=&quot;http://rationalsecurity.typepad.com/blog/2007/11/security-and-di.html&quot;&gt;Security and Disruptive Innovation: Part I&lt;/a&gt; over at the Rational Survivability blog.&lt;/p&gt;
&lt;p&gt;Posting your slides in a blog post accompanied by a brief narrative of each slide’s talking points is great for a bunch of reasons, and I think it’d be awesome if more people followed this lead.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T17:35:01+00:00</dc:date>
	<dc:creator>dria</dc:creator>
</item>
<item rdf:about="http://weblogs.mozillazine.org/dougt/archives/018759.html">
	<title>Doug Turner: Tinderbox for 1.9-browser-chinook-armel</title>
	<link>http://weblogs.mozillazine.org/dougt/archives/018759.html</link>
	<content:encoded>&lt;p&gt;
&lt;a href=&quot;http://tinderbox.mozilla.org/showbuilds.cgi?tree=Testing&quot;&gt;http://tinderbox.mozilla.org/showbuilds.cgi?tree=Testing&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;
The first arm linux build of firefox. ever.
&lt;/p&gt;&lt;p&gt;
Lots of stuff to do, but this is a great start.
&lt;/p&gt;&lt;p&gt;
push out builds
&lt;br /&gt;run tests (emulated)
&lt;br /&gt;move to different tree
&lt;br /&gt;build xulrunner instead of browser
&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T17:34:35+00:00</dc:date>
	<dc:creator>dougt</dc:creator>
</item>
<item rdf:about="http://weblogs.mozillazine.org/weirdal/archives/018758.html">
	<title>Alex Vincent: Web 2.0, Dilbert Style</title>
	<link>http://weblogs.mozillazine.org/weirdal/archives/018758.html</link>
	<content:encoded>&lt;p&gt;Today's Dilbert is probably an old joke, but a good one.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T15:19:51+00:00</dc:date>
	<dc:creator>WeirdAl</dc:creator>
</item>
<item rdf:about="http://shaver-new.off.net/diary/2007/11/15/server-switch/">
	<title>Mike Shaver: server switch</title>
	<link>http://shaver.off.net/diary/2007/11/15/server-switch/</link>
	<content:encoded>&lt;p&gt;I finally got off my butt and moved my blog to the new machine that has php and mysql of appropriately recent vintage to actually run a &lt;em&gt;supported&lt;/em&gt; version of wordpress; if you’re reading this, all went quite well.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T13:00:22+00:00</dc:date>
	<dc:creator>shaver</dc:creator>
</item>
<item rdf:about="tag:blogger.com,1999:blog-18929277.post-624330705048082885">
	<title>Myk Melez: Alt-Tab-like history navigation</title>
	<link>http://www.melez.com/mykzilla/2007/11/alt-tab-like-history-navigation.html</link>
	<content:encoded>Here's an idea for an extension that I'll probably never get around to writing (but one of you might, perhaps for the &lt;a href=&quot;http://labs.mozilla.com/contests/extendfirefox/&quot;&gt;extension contest&lt;/a&gt;!):&lt;br /&gt; &lt;br /&gt; Overload Alt-(Left|Right)Arrow, the history back and forward keyboard shortcuts (Cmd-Arrows on Mac), to create an Alt-Tab-like experience with a row of thumbnail previews to which you can navigate by holding down the Alt key, pressing the arrow keys multiple times until you reach the target page, and then releasing the Alt key.&lt;br /&gt; &lt;br /&gt; In other words, do the same thing for history navigation that &lt;a href=&quot;http://en.design-noir.de/&quot;&gt;Dão Gottwald&lt;/a&gt; is doing for tab navigation with his &lt;a href=&quot;http://en.design-noir.de/mozilla/ctrl-tab/&quot;&gt;Ctrl-Tab extension&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; (Bonus points for version 2: track non-linear meanderings and expose them as parallel tracks to which you can navigate with the up and down arrows.)&lt;br /&gt; &lt;br /&gt;</content:encoded>
	<dc:date>2007-11-15T11:15:49+00:00</dc:date>
	<dc:creator>Myk</dc:creator>
</item>
<item rdf:about="http://www.justdave.net/dave/2007/11/15/free-sip-on-leopard-exists-after-all/">
	<title>David Miller: Free SIP on Leopard exists after all!</title>
	<link>http://www.justdave.net/dave/2007/11/15/free-sip-on-leopard-exists-after-all/</link>
	<content:encoded>&lt;p&gt;So it’s been a few weeks since Mac OS X 10.5 (Leopard) came out.  One of the major things that immediately hit a lot of people was that &lt;a href=&quot;http://andyabramson.blogs.com/voipwatch/2007/10/apple-leopard-a.html&quot; target=&quot;_blank&quot;&gt;every known third-party SIP client stopped working&lt;/a&gt;.  I work from home.  I have an extension number at work that rings on a Polycom phone in my home office, thanks to the magic of VoIP.  This same VoIP technology (namely SIP) has allowed me (up until I upgraded to Leopard) to run a “soft phone” program on my laptop to allow me to connect to the same phone system when I was out of my office.  With the help of a set of headphones, a laptop actually makes a halfway-decent phone.&lt;/p&gt;
&lt;p&gt;The two free (as in beer, not freedom) products previously available that I knew of were SJPhone and X-Lite.  Both of these broke on Leopard.  SJPhone hasn’t been updated in years, and the material on their website makes it look like the Mac version was an afterthought anyway, so I don’t hold high hopes for them ever updating it.  X-Lite is a pared down version of a commercial product called eyeBeam.  eyeBeam just got updated for Leopard this last week.  An X-Lite update is expected “by the end of the year”.  The obvious reason for the delay is to encourage people who are frustrated enough to throw money at it to upgrade to eyeBeam instead of waiting. &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;There *are* two free products that have been updated for Leopard which do SIP to a generic PBX of your choosing. Those are SightSpeed and Gizmo Project.  Unfortunately, both of these require you to register with their service, and sign in on their service, and your generic-PBX-of-your-choosing account is a secondary login (if you don’t log into their service, your generic one won’t connect either).&lt;/p&gt;
&lt;p&gt;The world is in really dire need right now of a good open source solution for SIP on the Mac.   If any of the above programs were open source, I would bet we would have had patches posted somewhere within days (if not hours) to make them work on Leopard.&lt;/p&gt;
&lt;p&gt;UPDATE: I was going to post this hoping to get some discussion going and/or someone to point out something that works that I missed.   But before I could post it, I found one!  &lt;a href=&quot;http://xmeeting.sourceforge.net/pages/xmeeting.php&quot; target=&quot;_blank&quot;&gt;XMeeting&lt;/a&gt; not only works on Leopard (it apparently didn’t break — there hasn’t been a release since July), but it also supports DTMF (touch tones) during the call, which is the one thing that’s been missing from all the other free stuff I’ve tried so far.  Touch tones during a call are pretty important for things like entering the password for a conference call.  XMeeting supports video, too (and so does Mozilla’s phone system).&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T09:14:56+00:00</dc:date>
	<dc:creator>justdave</dc:creator>
</item>
<item rdf:about="tag:blogger.com,1999:blog-18929277.post-2815485524124522803">
	<title>Myk Melez: tabs for Thunderbird 2.0.0.9</title>
	<link>http://www.melez.com/mykzilla/2007/11/tabs-for-thunderbird-2009.html</link>
	<content:encoded>Anticipating requests, I've spun some tab-enabled builds of the latest version of Mozilla's mail/news desktop app for &lt;a href=&quot;http://www.melez.com/tabmail/thunderbird-2.0.0.9.en-US.linux-i686.tar.gz&quot;&gt;Linux&lt;/a&gt;, &lt;a href=&quot;http://www.melez.com/tabmail/thunderbird-2.0.0.9.en-US.mac.dmg&quot;&gt;Mac&lt;/a&gt;, and &lt;a href=&quot;http://www.melez.com/tabmail/thunderbird-2.0.0.9.en-US.win32.installer.exe&quot;&gt;Windows&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; Note that the Mac version is no longer compatible with Mac OS X 10.2, as my Mac build machine (a.k.a. my laptop) has been upgraded to Leopard and XCode 3.0 and no longer has the 10.2.8 SDK on it.  It should work on 10.3.9+, 10.4, and 10.5, however.&lt;br /&gt; &lt;br /&gt; p.s. Congrats to the Thunderbird team on the release of 2.0.0.9!  Getting a security and stability release out the door is no mean feat, requiring careful coordination between several groups of talented folk with a high standard for software quality that they consistently achieve.  Bravo!&lt;br /&gt; &lt;br /&gt;</content:encoded>
	<dc:date>2007-11-15T08:26:52+00:00</dc:date>
	<dc:creator>Myk</dc:creator>
</item>
<item rdf:about="http://developer.mozilla.org/devnews/index.php/2007/11/15/thunderbird-2009-security-and-stability-release-now-available/">
	<title>Mozilla Developer DevNews: Thunderbird 2.0.0.9 security and stability release now available</title>
	<link>http://developer.mozilla.org/devnews/index.php/2007/11/15/thunderbird-2009-security-and-stability-release-now-available/</link>
	<content:encoded>&lt;p&gt;As part of Mozilla Corporation’s ongoing stability and security update process, Thunderbird 2.0.0.9 is now available for Windows, Mac, and Linux as a free download from &lt;a href=&quot;http://www.getthunderbird.com&quot;&gt;www.getthunderbird.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Due to the security fixes, we strongly recommend that all Thunderbird users upgrade to this latest release.&lt;/p&gt;
&lt;p&gt;If you already have Thunderbird 2.0.0.x, 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/en-US/thunderbird/2.0.0.9/releasenotes/&quot;&gt;Thunderbird 2.0.0.9 Release Notes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(note: the last official release of Thunderbird was version 2.0.0.6; we skipped a few numbers in order to catch up with Firefox)&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T08:14:01+00:00</dc:date>
	<dc:creator>beltzner</dc:creator>
</item>
<item rdf:about="http://weblogs.mozillazine.org/it/2007/11/mozilla_scheduled_downtime_111_2.html">
	<title>Mozilla IT: Mozilla Scheduled Downtime - 11/15/2007, 7pm - 10pm PST (0300 - 0600 11/16/2007 UTC)</title>
	<link>http://weblogs.mozillazine.org/it/2007/11/mozilla_scheduled_downtime_111_2.html</link>
	<content:encoded>&lt;p&gt;Mozilla Scheduled Downtime - 11/15/2007, 7pm - 10pm PST (0300 - 0600 11/16/2007 UTC)&lt;/p&gt;

&lt;p&gt;We will have a scheduled downtime window tomorrow night from 7pm to 10pm PST.  The following changes will take place:&lt;/p&gt;

&lt;p&gt;* 7pm PST (0300 UTC) - addons.mozilla.org updates.  We'll be updating code and testing the downtime notice of addons.mozilla.org.  No downtime is expected.&lt;br /&gt;
* 7pm PST (0300 UTC) - bonsai and tinderbox server update.  We'll be applying security updates to tinderbox and bonsai.  15 minutes of downtime is expected.&lt;br /&gt;
* 7pm PST (0300 UTC) - Kernel upgrades.  Duration 4 hours.  We'll be doing kernel security updates on various machines affecting the following services for approximately 10 minutes each:&lt;br /&gt;
  - VPN and Jumphosts at all locations&lt;br /&gt;
  - any sites requiring an LDAP login&lt;br /&gt;
  - phone services at all locations&lt;br /&gt;
  - people.mozilla.com&lt;br /&gt;
  - litmus.mozilla.org&lt;br /&gt;
  - All developer and QA machines that are running RHEL&lt;/p&gt;

&lt;p&gt;Please let me know if you have any reason why we should not proceed with the planned maintenance.  As always, we aim to keep downtime to as little as possible, but unexpected complications can arise causing longer downtime periods than expected.  All systems should be operational by the end of the maintenance window.  Feel free to email infra at mozilla.com if you see issues past the planned downtime.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br /&gt;
-Justin&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T06:52:15+00:00</dc:date>
</item>
<item rdf:about="http://www.intothefuzz.com/2007/11/14/operation-firefox-the-next-phase/">
	<title>John Slater: Operation Firefox: The Next Phase</title>
	<link>http://www.intothefuzz.com/2007/11/14/operation-firefox-the-next-phase/</link>
	<content:encoded>&lt;p&gt;As &lt;a href=&quot;http://blog.mozilla.com/blog/2007/10/23/your-mission-spread-firefox-one-giant-sticker-at-a-time/&quot;&gt;Andrew&lt;/a&gt; and &lt;a href=&quot;http://blog.mozilla.com/seth/2007/10/23/operation-firefox/&quot;&gt;Seth&lt;/a&gt; have already noted, &lt;a href=&quot;http://www.operationfirefox.com/&quot;&gt;Operation Firefox&lt;/a&gt; launched last month with a call for people to submit their plans to publicly display &lt;a href=&quot;http://store.mozilla.org/product.php?code=MZ9010&amp;amp;catid=13&quot;&gt;a Firefox Fathead sticker&lt;/a&gt; in the most interesting and eye-catching possible (legal) fashion. &lt;/p&gt;
&lt;p&gt;We knew the success of this program would depend on whether or not people would rise to the challenge of coming up with great ideas and so far things are looking good: the initial phase of the contest ended last Friday, and we received a grand total of &lt;strong&gt;3200&lt;/strong&gt; submissions. Very cool! &lt;/p&gt;
&lt;p&gt;From a creative perspective, our goal was to create a website that would fire up people’s imaginations and inspire them to participate. This was a particularly fun project to brainstorm about, as we kicked around inspirational ideas ranging from &lt;a href=&quot;http://www.jamesbondwiki.com/?t=anon&quot;&gt;James Bond&lt;/a&gt; to &lt;a href=&quot;http://www.xs4all.nl/~jmm/a-team/&quot;&gt;the A-Team&lt;/a&gt;. For the design, we turned to our friends at &lt;a href=&quot;http://www.nobox.com&quot;&gt;Nobox&lt;/a&gt;, and they made the astute call that site should resemble the secret hideout of an underground resistance movement rather than the slick style of a 007 HQ…hence the basement shadows and hand-sketched mission plans. It was also very important that every last bit of site text support this concept, so we worked with &lt;a href=&quot;http://www.eliseallen.net/&quot;&gt;Elise Allen&lt;/a&gt;, who managed to incorporate influences from &lt;a href=&quot;http://en.wikipedia.org/wiki/Fight_Club_%28film%29&quot;&gt;Fight Club&lt;/a&gt; to &lt;a href=&quot;http://en.wikipedia.org/wiki/Flash_mob&quot;&gt;Flash Mobs&lt;/a&gt; into her copy.&lt;/p&gt;
&lt;p&gt;The finalists have until December 3rd to execute their plans, and the winners will be announced shortly afterwards. All 50 Fatheads have been shipped to the finalists, so keep an eye out for giant Firefox logos popping up in strange locations over the next few weeks!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/8345192@N03/1697911743/&quot; title=&quot;Operation Firefox homepage by intothefuzz, on Flickr&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2147/1697911743_c983d8b00a.jpg&quot; alt=&quot;Operation Firefox homepage&quot; width=&quot;500&quot; height=&quot;399&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T05:06:12+00:00</dc:date>
	<dc:creator>John</dc:creator>
</item>
<item rdf:about="http://weblogs.mozillazine.org/calendar/2007/11/test_automation_summit_plannin.html">
	<title>Calendar: Test Automation Summit Planning Meeting</title>
	<link>http://weblogs.mozillazine.org/calendar/2007/11/test_automation_summit_plannin.html</link>
	<content:encoded>Well 0.7 has released, and we have been busy laying the ground work for the Test Automation Summit.  We're ready to expose some of these preparations and plans and get to work on the documentation that we'll need in order to do the Summit.
&lt;p&gt;
In order to review the plans and to parcel out the work, we're going to discuss this at the next two &lt;a href=&quot;http://wiki.mozilla.org/Calendar:QA_Chat:2007-11-15&quot;&gt;QA Chat IRC meetings&lt;/a&gt;.  These meetings occur at &lt;a href=&quot;http://www.timeanddate.com/worldclock/fixedtime.html?month=11&amp;amp;day=15&amp;amp;year=2007&amp;amp;hour=17&amp;amp;min=30&amp;amp;sec=0&amp;amp;p1=0&quot;&gt;17:30 UTC&lt;/a&gt; (click to find the time in your zone).  The next one will be tomorrow, November 15.  And the following one will be November  22.
&lt;/p&gt;&lt;p&gt;
Several great folks have stepped forward to help out, and we're looking forward to making this a success.  If you are waiting for to get involved, then wait no longer!  We will have lots of tasks from writing code samples, to writing documentation, to doing publicity.
&lt;/p&gt;&lt;p&gt;
I imagine that for most people out there, talking and learning about test automation doesn't sound like much fun.  We're going to talk more about this when we start doing the big publicity for this event, but I'll let you in on a secret.  We're going to be working on &lt;a href=&quot;http://developer.mozilla.org/en/docs/xpcshell&quot;&gt;XPCShell&lt;/a&gt; tests, which are written in JavaScript.  We're going to be teaching you what you need to know about JavaScript to be effective.
&lt;/p&gt;&lt;p&gt;
JavaScript is the heart of anything built on the Mozilla platform.  That means that if you've always wanted to learn how to write a patch or an extension for Firefox, Thunderbird, Sunbird, Songbird, Seamonkey etc, then you will need to know JavaScript.  This event (and learning by helping us prepare for the event) will help you get some hands on practice with the basics of JavaScript and start you on your way.
&lt;/p&gt;&lt;p&gt;
So, keep that in mind, we'll be talking about it more in the coming weeks.  I hope to see you at the &lt;a href=&quot;http://wiki.mozilla.org/Calendar:QA_Chat:2007-11-15&quot;&gt;QA Chat&lt;/a&gt; in #calendar-qa.
&lt;/p&gt;&lt;p&gt;
Happy Testing!&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-15T04:17:16+00:00</dc:date>
</item>
<item rdf:about="http://ejohn.org/blog/the-world-of-ecmascript/">
	<title>John Resig: The World of ECMAScript</title>
	<link>http://ejohn.org/blog/the-world-of-ecmascript/</link>
	<content:encoded>&lt;p&gt;So I did a little bit of digging and I've pulled together something fun: I call it &quot;&lt;a href=&quot;http://ejohn.org/files/ecma-cloud.png&quot;&gt;The World of ECMAScript&lt;/a&gt;&quot;.&lt;/p&gt;
	&lt;p&gt;&lt;/p&gt;&lt;center&gt;&lt;a href=&quot;http://ejohn.org/files/ecma-cloud.png&quot;&gt;&lt;img src=&quot;http://ejohn.org/files/ecma-cloud-sm.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;(Released under the &lt;a href=&quot;http://www.gnu.org/licenses/old-licenses/gpl-2.0.html&quot;&gt;GPL v2&lt;/a&gt; [&lt;a href=&quot;http://ejohn.org/files/ecma-cloud.svg&quot;&gt;SVG&lt;/a&gt;])&lt;/center&gt;
	&lt;p&gt;It's a full map detailing everything that exists within the world of ECMAScript (with JavaScript, ActionScript, and JScript being its most-famous implementations). Right now I'm only showing things that can be built on top of (languages, engines, browsers, servers, etc.) - not end user applications (there would probably be too many to list).&lt;/p&gt;
	&lt;p&gt;This chart started out as a simple diagram showing the relationship between ActionScript, Tamarin, ActionMonkey, and SpiderMonkey. From there I started tacking on additional relationships and it just sort of started to grow out of control. I'm fascinated by the size and breadth of everything in that exists in the ECMAScript ecosystem (and this isn't even everything, I'm sure I'm missing a ton).&lt;/p&gt;
	&lt;p&gt;Here's some links for more information:&lt;/p&gt;
	&lt;p&gt;&lt;b&gt;Languages:&lt;/b&gt;&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/scripting/&quot;&gt;JScript&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://jscript.net/&quot;&gt;JScript.NET&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.digitalmars.com/dscript/&quot;&gt;DMDScript&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://doc.trolltech.com/4.3/qtscript.html&quot;&gt;QtScript&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/InScript&quot;&gt;InScript&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.adobe.com/support/downloads/product.jsp?platform=Windows&amp;amp;product=111&quot;&gt;ExtendScript&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ActionScript&quot;&gt;ActionScript&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/JavaScript&quot;&gt;JavaScript&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;&lt;b&gt;Engines:&lt;/b&gt;&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mozilla.org/js/spidermonkey/&quot;&gt;Spidermonkey&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.mozilla.org/JavaScript:ActionMonkey&quot;&gt;ActionMonkey&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Presto_(layout_engine)&quot;&gt;Presto&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/scripting/&quot;&gt;JScript&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&quot;&gt;.NET Framework&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DMDScript&quot;&gt;DMD&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://trolltech.com/products/qt/addon/qsa&quot;&gt;QSA&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.icab.de/&quot;&gt;iCab&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/KDE&quot;&gt;KJS&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://webkit.org/projects/javascript/index.html&quot;&gt;JSCore&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mozilla.org/projects/tamarin/&quot;&gt;Tamarin&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://lxr.mozilla.org/mozilla/source/js/narcissus/&quot;&gt;Narcissus&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mozilla.org/rhino/&quot;&gt;Rhino&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/ruby-spidermonkey/&quot;&gt;ruby-spidermonkey&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://wwwsearch.sourceforge.net/python-spidermonkey/&quot;&gt;python-spidermonkey&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://search.cpan.org/~tbusch/JavaScript-SpiderMonkey-0.19/&quot;&gt;JavaScript::Spidermonkey&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;&lt;b&gt;Applications:&lt;/b&gt;&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://caminobrowser.org/&quot;&gt;Camino&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mozilla.com/firefox/&quot;&gt;Firefox&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.opera.com/&quot;&gt;Opera&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/windows/products/winfamily/ie/default.mspx&quot;&gt;Internet Explorer&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.icab.de/&quot;&gt;iCab&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.konqueror.org/&quot;&gt;Konquerer&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Adobe_Flash&quot;&gt;Flash&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.adobe.com/products/photoshop/index.html&quot;&gt;Photoshop&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.myspace.com/intairnet&quot;&gt;AIR&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://webkit.org/&quot;&gt;WebKit&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.apple.com/safari/&quot;&gt;Safari&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.openhandsetalliance.com/android_overview.html&quot;&gt;Android&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Portable_Document_Format&quot;&gt;PDF&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/HD_DVD&quot;&gt;HD DVD&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.apache.org/&quot;&gt;Apache&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://helma.org/&quot;&gt;Helma&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://phobos.dev.java.net/&quot;&gt;Phobos&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://tomcat.apache.org/&quot;&gt;Tomcat&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;&lt;b&gt;Hooks/Convertors:&lt;/b&gt;&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.modjs.org/&quot;&gt;mod_js&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://tomcat.apache.org/connectors-doc/&quot;&gt;mod_jk&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://mod-gcj.sourceforge.net/&quot;&gt;mod_gcj&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://perl.apache.org/&quot;&gt;mod_perl&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://po-ru.com/diary/convert-ruby-to-javascript/&quot;&gt;Ruby2JS&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ntecs.de/blog/articles/2007/01/08/rubyjs-javascript-no-thank-you&quot;&gt;RubyJS&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://code.google.com/webtoolkit/&quot;&gt;GWT&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=0hX-Uh3oTcE&quot;&gt;Flash on C++&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;&lt;b&gt;Companies:&lt;/b&gt;&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mozilla.org/&quot;&gt;Mozilla&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.opera.com/&quot;&gt;Opera&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/&quot;&gt;Microsoft&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.adobe.com/&quot;&gt;Adobe&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.apple.com/&quot;&gt;Apple&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.google.com/&quot;&gt;Google&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;&lt;b&gt;Implementation Languages:&lt;/b&gt;&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://developer.mozilla.org/en/docs/JavaScript&quot;&gt;JavaScript&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C++&quot;&gt;C/C++&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.java.com/&quot;&gt;Java&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ruby-lang.org/&quot;&gt;Ruby&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.python.org/&quot;&gt;Python&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.perl.org/&quot;&gt;Perl&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;Let me know if there's anything that you feel that I've missed. I'll use my discretion when adding, simply because I don't want this to include every half-baked ECMAScript implementation under the sun (and I still have to modify it by hand).&lt;/p&gt;
	&lt;p&gt;&lt;b&gt;Update 3am Nov. 15:&lt;/b&gt; Removed WebKit (was redundant), added Silverlight, added IronPython and IronRuby, connected PDF to SpiderMonkey, and fixed spelling of Konqueror. Presto is wrong for Opera, but not sure what their JS Engine is named. Compressed PNGs, added an SVG download.&lt;/p&gt;
	&lt;p&gt;&lt;b&gt;Update 5pm Nov. 15:&lt;/b&gt; Turned JavaScript into a language/cloud. Added ParenScript, YHC/JavaScript, Haxe, and Scheme2JS. Added CouchDB. Silverlight now links to JScript. Opera's two engines (futhark and linear_b) are listed. Added Flex. Changed QSA to QT Toolkit.
&lt;/p&gt;
		&lt;img src=&quot;http://ejohn.org/apps/rss/?from=rss&amp;amp;id=5493&quot; style=&quot;width: 0px; height: 0px;&quot; /&gt;</content:encoded>
	<dc:date>2007-11-14T23:53:02+00:00</dc:date>
	<dc:creator>John Resig</dc:creator>
</item>
<item rdf:about="http://weblogs.mozillazine.org/roc/archives/2007/11/pegs_holes_and.html">
	<title>Robert O'Callahan: Pegs, Holes And Reflow</title>
	<link>http://weblogs.mozillazine.org/roc/archives/2007/11/pegs_holes_and.html</link>
	<content:encoded>&lt;div class=&quot;columns&quot;&gt;&lt;p&gt;I already blogged about &lt;a href=&quot;http://weblogs.mozillazine.org/roc/archives/2007/10/if_i_did_it.html&quot;&gt;Gecko's frame continuations&lt;/a&gt; being a mistake. It's time to rant about another big layout design error: the uniformity of the Reflow() API.
&lt;/p&gt;&lt;p&gt;During layout, frames (i.e. CSS boxes) call Reflow to lay out their children and then position those children in some manner. The core problem is that Reflow's signature is the same for every frame type. That means that in theory, table frames have to interact with their row(group) frames in exactly the same way that inline frames have to interact with their inline children, or XUL boxes have to interact with their box children, etc. But this is nonsense, since the invariants, dependencies and data that need to cross the parent/child boundary are entirely different in each of these cases. 
&lt;/p&gt;&lt;p&gt;So in practice we have various kinds of magic probing and/or magic fields of structures that are only used in certain cases. This inevitably leads to breakage and overcomplex code. Problems are particularly acute in line layout, where we really would like to work with a flattened list of inline leaf items, but thanks to Reflow we can't. The textrun work has moved us to a situation where we construct a flattened representation of at least the text of a paragraph for line breaking and text shaping, and then we pull data from that in a hokey way as we Reflow text frames. It's somewhat painful as the two traversal models fight each other in nsLineLayout. Of course the aforementioned frame continuations crash the party too.
&lt;/p&gt;&lt;p&gt;What we really should do is admit that parent-child frame type pairs are actually tightly constrained, i.e. an inline frame can only have an inline parent or a block parent, a table row frame can only have a table rowgroup parent which can only have a table parent, etc. (These invariants already exist actually, although the code sometimes doesn't want to admit it.) Then we should toss Reflow over the side and give each frame type its own specialized layout interface. Only a few frame types (e.g. blocks and tables) would be able to occur in &quot;unknown&quot; contexts and offer a generic layout interface.
&lt;/p&gt;&lt;p&gt;In fact, we could go further and specialize further the types of child frames or even get rid of a uniform nsIFrame tree altogether. There's no particular reason why it makes sense to have tables, table rowgroups, table rows and table cells all be the same kind of object as text frames or SVG frames. Sure, we want to be able to iterate over CSS box tree geometry and style somehow, but there's a whole lot of generality exposed in nsIFrame that doesn't really make sense everywhere.
&lt;/p&gt;&lt;p&gt;As an aside, the conflict between textrun layout and inline layout is an example of a general problem I've seen with cleaning up code. You rework module A to make it nice and clean, but because modules B and C are quirky, you have to add complexity to module A to keep things working and shippable. Eventually you rework B and C too but A's already been contaminated, so B and C inherit some of the sins of their fathers. You can reduce the effect by enlarging the scope of rework, but that adds risk and schedule issues of course --- in the limit you rewrite everything and sink your entire project.&lt;/p&gt;&lt;/div&gt;</content:encoded>
	<dc:date>2007-11-14T22:55:52+00:00</dc:date>
	<dc:creator>roc</dc:creator>
</item>
<item rdf:about="http://www.hskupin.info/2007/11/14/no-shortcut-to-open-contextual-menus-on-osx/">
	<title>Henrik Skupin: No shortcut to open contextual menus on OS X?</title>
	<link>http://www.hskupin.info/2007/11/14/no-shortcut-to-open-contextual-menus-on-osx/</link>
	<content:encoded>&lt;p&gt; 	I’m really surprised! After years of experience with different Windows and Linux versions it’s getting normal for me to open contextual menus with Shift+F10 or the special context key if a mouse is not available. But yesterday while doing some work on &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403602&quot;&gt;bug 403602&lt;/a&gt; I noticed that there is nothing for OS X? What about handicapped people who aren’t able to use a mouse or even use a screen reader? How do they access the context menu?&lt;/p&gt;
&lt;p&gt;I asked several people who are still working on OS X for a longer period of time. But no one was able to give me a hint. So I started searching the web. I got this nice &lt;a href=&quot;http://www.danrodney.com/mac/index.html&quot;&gt;shortcut overview&lt;/a&gt; but no system wide shortcut is given. Now, while writing this post, I found this &lt;a href=&quot;http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGMenus/chapter_16_section_5.html&quot;&gt;HIG document&lt;/a&gt; from Apple. It’s quiet interesting but once again a keyboard shortcut isn’t mentioned.&lt;/p&gt;
&lt;p&gt;I’ll stop searching right now and hope that someone, who reads my post, could help me. I would be deeply grateful. Thanks!&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-14T22:13:05+00:00</dc:date>
	<dc:creator>Henrik Skupin</dc:creator>
</item>
<item rdf:about="http://blog.johnath.com/index.php/2007/11/14/self-documenting/">
	<title>Johnathan Nightingale: Self-documenting</title>
	<link>http://blog.johnath.com/index.php/2007/11/14/self-documenting/</link>
	<content:encoded>&lt;p&gt;I know I’m weird, but I’ve always really liked the way roads combine with badly maintained trucks to create emergent topographical self-documentation.  Pictures are easier:&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://maps.google.com/maps?ll=43.688521,-79.659392&amp;amp;spn=0.000679,0.00114&amp;amp;t=k&amp;amp;z=19&amp;amp;oi=map_misc&amp;amp;ct=api_logo&amp;amp;source=embed&quot; title=&quot;self-documenting road&quot;&gt;&lt;img src=&quot;http://blog.johnath.com/images/self-documenting-road.png&quot; alt=&quot;self documenting road&quot; title=&quot;self documenting road&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Notice the dark spots?  That particular stretch of road always drives the point home for me - every time the trucks in front of me hit a bump or dip in the road, it shakes some grease loose from their chassis, and darkens the road a little bit.  Like ants finding efficient routings, it’s always just sort of made me happy.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;[Note: The embedded google map got very very broken in RSS, so I’ve replaced it with a static graphic.  Still I suspect the RSS damage is done.]&lt;/small&gt;
&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-14T21:44:49+00:00</dc:date>
	<dc:creator>Johnath</dc:creator>
</item>
<item rdf:about="http://pavlovdotnet.wordpress.com/2007/11/14/leaks-memory-we-never-forgot-about-you/">
	<title>Stuart Parmenter: pavlov</title>
	<link>http://pavlovdotnet.wordpress.com/2007/11/14/leaks-memory-we-never-forgot-about-you/</link>
	<content:encoded>&lt;div class=&quot;snap_preview&quot;&gt;&lt;p&gt;I’ve seen quite a few posts lately based on the memory fragmentation work that I’m doing with titles such as “Fixing Firefox’s memory issue becomes a priority.” Others have claimed that this work is a result of Mozilla’s new focus on mobile.  While I’m glad that people are paying attention to our memory work and offering great suggestions, let me say: &lt;strong&gt;Memory issues have always been a priority&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Since I started working on the project in 1998 we’ve always had a focus on keeping our memory footprint small and keeping leaks to a minimum.  Early in the development cycle for each release we’ve set goals for memory and performance.  We always set our bar under the previous release. I’ve found that developing desktop software is a pretty constant balancing act between performance and memory use.  We’re always making trade-offs and we try our best to chose the things that will work best for the largest set of users:&lt;/p&gt;
&lt;p&gt;Some examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Back in 2001 when I rebuilt our imaging library, I made several decisions to use more memory to store images results in faster rendering; optimizing for memory use reduces the speed at which was can display pages.  We’ve looked at these issues many times over the years to make sure they were still correct.  Recently we’ve adjusted that behavior to not keep full uncompressed images around as long which will result in memory savings but will cause initial scrolling to be a bit slower on documents you haven’t accessed in a while.&lt;/li&gt;
&lt;li&gt;In Firefox 1.5 we added a feature called the &lt;a href=&quot;http://developer.mozilla.org/en/docs/Using_Firefox_1.5_caching&quot;&gt;back/foward cache&lt;/a&gt; which keeps documents in your recent history that you’ve navigated from in memory.  This was done to significantly speed up hitting the back button.  It worked great but caused us to use a bit more memory. We made sure that it was only using memory your computer wasn’t already using, but again, it’s an example of a trade-off.  We started off with a pretty high number of pages that we kept in the cache and have continued to adjust that number to keep a more limited set of pages to help prevent unnecessary bloating.  We’ve also started expiring these pages over time so that you don’t keep pages around you probably aren’t going to use.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With the popularity of extensions rising, we started hearing complaints about memory leaks.  We took these reports pretty seriously and have spent a lot of time investigating what is going on.  A lot of work has gone in over the last few years to reduce these leaks.  Most of our early testing was around the browser, without extensions.  Our investigations showed that certain extensions in caused a pretty bizarre class of leaks that were pretty difficult to fix given the architecture in Firefox 2.  We fixed as many of them as we could in Firefox 2 but some we were unable to fix.  In Firefox 3 some Really Smart People (graydon, peterv, dbaron, etc) have built this thing called the cycle collector in to the core which addresses many of the leaks that we were seeing from extensions (as well as leaks from other places that were of the same class).  Our extensive testing shows an occasional leak here and there and we are working to fix those, but in general we aren’t seeing many leaks anymore.&lt;/p&gt;
&lt;p&gt;It is only after we’ve gone through so many leak fixes and done so many other memory reduction fixes that we’ve needed to a deeper look at what is going on under the hood. We’ve long had suspicions that we were being hurt by &lt;a href=&quot;http://pavlovdotnet.wordpress.com/2007/11/10/memory-fragmentation/&quot;&gt;memory fragmentation&lt;/a&gt;, but it wasn’t until recently that we had built good tools to fully diagnose the problem.&lt;/p&gt;
&lt;p&gt;I’ll assert here that the way people use their browsers has changed. When Gecko was originally designed back around 1998 people had one, maybe two browser windows open without tabs, and they certainly didn’t have any extensions installed. I look at my browser windows now and I’ve got 3 browser windows open with a total of about 20 tabs open.  That is 10x the number of documents open at once!&lt;/p&gt;
&lt;p&gt;With the change in how people use their browsers, there is no doubt that they’re going to use more memory.  We’re doing everything we can to minimize the impact of having lots of documents open.  Many people are trying to shave off bytes here and there.  Just in the last week we’ve removed over 200 thousand allocations just from startup and first page load.  We’ve got a great community and people eager to solve these problems.  We’re now equipped with &lt;a href=&quot;http://pavlovdotnet.wordpress.com/2007/11/13/allocation-data/&quot;&gt;data&lt;/a&gt; and ready to fight this battle.&lt;/p&gt;
&lt;p&gt;Stay tuned…&lt;/p&gt;
&lt;/div&gt;</content:encoded>
	<dc:date>2007-11-14T19:37:04+00:00</dc:date>
	<dc:creator>pavlov</dc:creator>
</item>
<item rdf:about="http://weblogs.mozillazine.org/calendar/2007/11/lightningsunbird_status_update_10.html">
	<title>Calendar: Lightning/Sunbird Status Update (November 14)</title>
	<link>http://weblogs.mozillazine.org/calendar/2007/11/lightningsunbird_status_update_10.html</link>
	<content:encoded>&lt;p&gt;It's been nearly four weeks since the last status update and nearly three weeks since 0.7 was released, but do not think that we've been idle in that time. We're already going full steam towards the 0.8 release and have already fixed &lt;strong&gt;65 bugs&lt;/strong&gt; since the last status update.&lt;/p&gt;
&lt;p&gt;Three fixes deserve your special attention:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=288496&quot;&gt;Bug 288496&lt;/a&gt;: Alarm indicator icon on event box&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=372829&quot;&gt;Bug 372829&lt;/a&gt;: Integrate unifinder into Lightning as it is in Sunbird&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400279&quot;&gt;Bug 400279&lt;/a&gt;: Category colors should be displayed next to the event boxes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With those fixes we gain the ability to easily select lots of events based on different criteria (bug 372829), a feature present in Sunbird but not in Lightning until now. Category colors assigned to an event can now be much easier identified (bug 400279) and it is now much easier to identify events, which have an alarm set (bug 288496).&lt;/p&gt;
&lt;p&gt;Here's the complete list with all the 65 bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=288496&quot;&gt;Bug 288496&lt;/a&gt;:&lt;br /&gt;Alarm indicator icon on event box&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=324440&quot;&gt;Bug 324440&lt;/a&gt;:&lt;br /&gt;Convert calendar code to frozen linkage&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=328442&quot;&gt;Bug 328442&lt;/a&gt;:&lt;br /&gt;jsDate vs calIDateTime&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=341518&quot;&gt;Bug 341518&lt;/a&gt;:&lt;br /&gt;Minimonth previous and next arrow buttons move when clicked&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=341537&quot;&gt;Bug 341537&lt;/a&gt;:&lt;br /&gt;Leaking factories/modules for some components&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=349870&quot;&gt;Bug 349870&lt;/a&gt;:&lt;br /&gt;Support building Thunderbird with preinstalled Lightning&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=354574&quot;&gt;Bug 354574&lt;/a&gt;:&lt;br /&gt;Centralize definition and getters for PRODID and VERSION&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=356569&quot;&gt;Bug 356569&lt;/a&gt;:&lt;br /&gt;Revising calendar prefs handling&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=363038&quot;&gt;Bug 363038&lt;/a&gt;:&lt;br /&gt;Recurrence preview should start at the start date of an event&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=367456&quot;&gt;Bug 367456&lt;/a&gt;:&lt;br /&gt;Memory usage increases after Reload Remote Calendars (memory leak)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=370146&quot;&gt;Bug 370146&lt;/a&gt;:&lt;br /&gt;API enhancement: Searching for calendars&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=372829&quot;&gt;Bug 372829&lt;/a&gt;:&lt;br /&gt;Integrate unifinder into Lightning as it is in Sunbird&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=373370&quot;&gt;Bug 373370&lt;/a&gt;:&lt;br /&gt;Send If-Match / If-None-Match headers on PUT &amp;amp; DELETE&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=378172&quot;&gt;Bug 378172&lt;/a&gt;:&lt;br /&gt;Recurrence dialog: datepickers need a facelift&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=379174&quot;&gt;Bug 379174&lt;/a&gt;:&lt;br /&gt;readonly events should not be dragable in the views&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=379204&quot;&gt;Bug 379204&lt;/a&gt;:&lt;br /&gt;Add Open/Save As ICS in Thunderbird File Menu&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=383272&quot;&gt;Bug 383272&lt;/a&gt;:&lt;br /&gt;Recurrence dialog: weekly and monthly recurrencepattern is not in sync with minimonths&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=385155&quot;&gt;Bug 385155&lt;/a&gt;:&lt;br /&gt;Reminder /alarm dialog doesn't show times in configured timezone&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=390508&quot;&gt;Bug 390508&lt;/a&gt;:&lt;br /&gt;Unify calendar command sets&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=391300&quot;&gt;Bug 391300&lt;/a&gt;:&lt;br /&gt;Switching to mail mode does not restore collapsed elements properly&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=392853&quot;&gt;Bug 392853&lt;/a&gt;:&lt;br /&gt;Unit test: calIDateTime's subtractDate doesn't honor timezones&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=395940&quot;&gt;Bug 395940&lt;/a&gt;:&lt;br /&gt;Event Dialog: Save Changes? dialog should use descriptive button labels&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=395925&quot;&gt;Bug 395925&lt;/a&gt;:&lt;br /&gt;Revise entity reminder.due.label&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=396159&quot;&gt;Bug 396159&lt;/a&gt;:&lt;br /&gt;Unused entity lightning.context.deleteitem.accesskey&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=396337&quot;&gt;Bug 396337&lt;/a&gt;:&lt;br /&gt;Some tooltips should be improved&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=396547&quot;&gt;Bug 396547&lt;/a&gt;:&lt;br /&gt;Remove obsolete entities lightning.sidebar.showCompletedTasks.*&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=397538&quot;&gt;Bug 397538&lt;/a&gt;:&lt;br /&gt;Mac: Right-click on event in calendar brings up non-functioning pop-up menu&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=397727&quot;&gt;Bug 397727&lt;/a&gt;:&lt;br /&gt;Incorrect DateTime format for (Google) Calendar request&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=397866&quot;&gt;Bug 397866&lt;/a&gt;:&lt;br /&gt;Errors are getting announced indefinitely&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=397912&quot;&gt;Bug 397912&lt;/a&gt;:&lt;br /&gt;Switch 'app.update.url' preference to new community server&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=397917&quot;&gt;Bug 397917&lt;/a&gt;:&lt;br /&gt;Entire today pane shifts when pressing a miniday button&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=398139&quot;&gt;Bug 398139&lt;/a&gt;:&lt;br /&gt;X-prop parameters get corrupted&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=398247&quot;&gt;Bug 398247&lt;/a&gt;:&lt;br /&gt;TodayPane: toolbar button icons in miniday are left aligned&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=398309&quot;&gt;Bug 398309&lt;/a&gt;:&lt;br /&gt;Installer needs to remove obsolete files&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=398724&quot;&gt;Bug 398724&lt;/a&gt;:&lt;br /&gt;Problems with floating all-day items&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=399764&quot;&gt;Bug 399764&lt;/a&gt;:&lt;br /&gt;Attendees dialog: error during setting zoom level and strict warning&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=399864&quot;&gt;Bug 399864&lt;/a&gt;:&lt;br /&gt;calAttendee lacks mutability checks&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=399893&quot;&gt;Bug 399893&lt;/a&gt;:&lt;br /&gt;Lightning 0.7 RC 1 on Mac: Address book icon exchanged&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400148&quot;&gt;Bug 400148&lt;/a&gt;:&lt;br /&gt;Event dialog should compare calendars by id&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400168&quot;&gt;Bug 400168&lt;/a&gt;:&lt;br /&gt;Remove Mongolian as supported language&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400279&quot;&gt;Bug 400279&lt;/a&gt;:&lt;br /&gt;Category colors should be displayed next to the event boxes&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400370&quot;&gt;Bug 400370&lt;/a&gt;:&lt;br /&gt;Weektitle of miniday is not always correctly calculated&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400407&quot;&gt;Bug 400407&lt;/a&gt;:&lt;br /&gt;Conflicting entries in removed-files.in break update process&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400808&quot;&gt;Bug 400808&lt;/a&gt;:&lt;br /&gt;Change default preference to false for sendEventNotifications&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400871&quot;&gt;Bug 400871&lt;/a&gt;:&lt;br /&gt;General listener is called even when not defined (gdata)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=400951&quot;&gt;Bug 400951&lt;/a&gt;:&lt;br /&gt;Attribute calICalendar::suppressAlarms should be removed, be modeled as a calendar pref/property&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401362&quot;&gt;Bug 401362&lt;/a&gt;:&lt;br /&gt;Recurrence dialog: uncaught exception if creating new event&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401389&quot;&gt;Bug 401389&lt;/a&gt;:&lt;br /&gt;Task dialog shows dots beside start and due date checkboxes when given focus&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401428&quot;&gt;Bug 401428&lt;/a&gt;:&lt;br /&gt;Google calendars do not show up in any view (missing toString)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401521&quot;&gt;Bug 401521&lt;/a&gt;:&lt;br /&gt;Day, Week and Multiweek View changes to Month View after restart&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401572&quot;&gt;Bug 401572&lt;/a&gt;:&lt;br /&gt;Selective calling of onRemoveAlarmsByItem / Error Console startDate has no Properties&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401668&quot;&gt;Bug 401668&lt;/a&gt;:&lt;br /&gt;calendar-unifinder.css changes text color in Thunderbird&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401678&quot;&gt;Bug 401678&lt;/a&gt;:&lt;br /&gt;Gdata preferences file is not correctly added&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401681&quot;&gt;Bug 401681&lt;/a&gt;:&lt;br /&gt;Sync calendar-event-dialog.css between trunk and branch&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401710&quot;&gt;Bug 401710&lt;/a&gt;:&lt;br /&gt;Unable to dismiss zero duration events&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401739&quot;&gt;Bug 401739&lt;/a&gt;:&lt;br /&gt;Thunderbird always starts in calendar mode&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401861&quot;&gt;Bug 401861&lt;/a&gt;:&lt;br /&gt;Send freebusy results immediately&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401878&quot;&gt;Bug 401878&lt;/a&gt;:&lt;br /&gt;Events of deselected calendars stays visible&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=401905&quot;&gt;Bug 401905&lt;/a&gt;:&lt;br /&gt;Event grippies are no longer functional&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402038&quot;&gt;Bug 402038&lt;/a&gt;:&lt;br /&gt;Drop Lightning support for Thunderbird 1.5&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402197&quot;&gt;Bug 402197&lt;/a&gt;:&lt;br /&gt;WCAP calendar, all day recurrence -&amp;gt; deleting a single event isn't possible&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402516&quot;&gt;Bug 402516&lt;/a&gt;:&lt;br /&gt;Remove calIOperation::success&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403221&quot;&gt;Bug 403221&lt;/a&gt;:&lt;br /&gt;Fix typo: explaination -&amp;gt; explanation&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403517&quot;&gt;Bug 403517&lt;/a&gt;:&lt;br /&gt;New Event/Task (context) menu commands are always disabled&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=403676&quot;&gt;Bug 403676&lt;/a&gt;:&lt;br /&gt;Remove lock from calendar list column header&lt;/li&gt;
&lt;/ul&gt;
Stay with us! More good stuff is yet to come. Thanks again to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!</content:encoded>
	<dc:date>2007-11-14T16:44:12+00:00</dc:date>
</item>
<item rdf:about="http://home.kairo.at/blog/2007-11/progress_and_help_wanted_on_seamonkey_2">
	<title>Robert Kaiser: Progress and help-wanted on SeaMonkey 2</title>
	<link>http://home.kairo.at/blog/2007-11/progress_and_help_wanted_on_seamonkey_2</link>
	<content:encoded>I just received a link to &lt;a href=&quot;http://flickr.com/photo_zoom.gne?id=2018772290&amp;amp;photo_page=1&amp;amp;size=o&quot;&gt;a screen shot of SeaMonkey 2 with customized toolbars&lt;/a&gt; (this is work in progress, not in nightlies yet, see &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=394288&quot;&gt;bug 394288&lt;/a&gt;), so I decided to give you a (probably incomplete) overview of current in-work items for SeaMonkey 2 (in no particular order) - and some we'd need help on.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;As mentioned above, the work on &lt;span style=&quot;font-weight: bold;&quot;&gt;customizable toolbars&lt;/span&gt; is done by &lt;span style=&quot;font-style: italic;&quot;&gt;Philip Chee&lt;/span&gt;, and his work is nearing a state that could possibly be included in our development codebase. At first, this will only be available for the browser component, work on other parts will possibly follow later.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Teune van Steeg&lt;/span&gt; is working on &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=270443&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;notification bars&lt;/span&gt; for the browser&lt;/a&gt;, which are basically already included in current nightlies, just not used by anything yet. Teune is currently working on making use of this feature, e.g. for &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=393108&quot;&gt;installing extensions from blocked sites&lt;/a&gt;, &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=278831&quot;&gt;missing plugins&lt;/a&gt; or &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=393120&quot;&gt;popup blocking&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Another quite active area currently is &lt;span style=&quot;font-weight: bold;&quot;&gt;feed support&lt;/span&gt;. &lt;span style=&quot;font-style: italic;&quot;&gt;Justin Wood&lt;/span&gt; is leading that effort, our module owner Neil Rashbrook is helping with some parts there. The first target is to get &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=240393&quot;&gt;browser support&lt;/a&gt;, mainly for discovery and preview of feeds as well as hooks to subscribe to them. At a later stage, we might even get livemarks support, but probably after getting a &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=255834&quot;&gt;feed reader in the mail/news component&lt;/a&gt;, which will probably be Justin's next target after initial browser support.&lt;/li&gt;&lt;li&gt;The &lt;span style=&quot;font-weight: bold;&quot;&gt;preferences migration&lt;/span&gt;, targeting to base the SeaMonkey preferences window on the toolkit-style &amp;lt;preferences&amp;gt; family of XUL elements though keeping the familiar look and feel of the suite preferences window, is led by &lt;span style=&quot;font-style: italic;&quot;&gt;Karsten Düsterloh&lt;/span&gt;. The initial work of &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=342087&quot;&gt;providing the new window&lt;/a&gt; is done already, until &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=394522&quot;&gt;migrating all panels&lt;/a&gt; is done, we have two menuitems in the browser component, one leading to the new window with the already-migrated panels, one to the legacy window with the not yet migrated ones. That area of migrating pref panes should be a relatively easy one for newcomers to &lt;em&gt;help out&lt;/em&gt;.&lt;/li&gt;&lt;li&gt;Vista users might have noticed that SeaMonkey 1.1.x integration with the new Microsoft OS is not ideal, &lt;span style=&quot;font-style: italic;&quot;&gt;Frank Wein&lt;/span&gt; is working on this among other things when replacing the old &quot;winhooks&quot; code with a &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=380347&quot;&gt;new &lt;span style=&quot;font-weight: bold;&quot;&gt;shell service&lt;/span&gt; implementation&lt;/a&gt;, fitting the style of other toolkit applications. This will also fix an area where localized nightly build show problems.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Mark Banner&lt;/span&gt; is currently working on our &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=390025&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;migration from wallet to LoginManager&lt;/span&gt;&lt;/a&gt; for password management, the toughest part of which is that &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=239131&quot;&gt;the mail/news code needs to use the new password manager&lt;/a&gt;, which is in turn blocked by &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=382437&quot;&gt;core LoginManager code not supporting all we need yet&lt;/a&gt;. Once Mark has fixed that core code, we should be able to throw another old unmaintained code module away and replace it with cleaner, new code. That will also fix another current case of problems with CVS-based localization.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
Some areas still would badly &lt;em&gt;need help&lt;/em&gt; though:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Using the sqlite-based &lt;span style=&quot;font-weight: bold;&quot;&gt;places&lt;/span&gt; backend provided by the Mozilla toolkit would probably be a good idea, at least for &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=382187&quot;&gt;browser history&lt;/a&gt;. After we now can use XUL templates with mozStorage templates, it should not be too hard to get our history UI hooked up with that.&lt;br /&gt;
If that works well, it might even be an interesting idea to use the places bookmarks backend, though without changing the UI we use in the suite for that feature (the backend change would make up the way for extension to try other UI there).&lt;/li&gt;&lt;li&gt;The &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=381157&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;download manager&lt;/span&gt;&lt;/a&gt; should pick up at least the new backend provided by the Mozilla toolkit, which supports goodies like cross-session resuming of downloads. This also will/should fix the probably biggest remaining problem with CVS.based localized builds - and note that there is a &lt;a href=&quot;http://www.kairo.at/bugbounty/2007/bmo381157.html&quot;&gt;KaiRo.at bug bounty&lt;/a&gt; to fetch for this work.&lt;/li&gt;&lt;li&gt;Calendar support is something many people would like from an Internet suite like ours, so &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=313822&quot;&gt;making the &lt;span style=&quot;font-weight: bold;&quot;&gt;Lightning extension&lt;/span&gt; work on SeaMonkey&lt;/a&gt; is another thing we'd really like someone to help out with - and where someone could earn a &lt;a href=&quot;http://www.kairo.at/bugbounty/2007/bmo313822.html&quot;&gt;KaiRo.at bug bounty&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;I think there's no bug filed on it yet, but getting Firefox' &lt;span style=&quot;font-weight: bold;&quot;&gt;session restore&lt;/span&gt; ported to SeaMonkey would also be a great feature, esp. as restarting from the extension manager wouldn't make you lose all open web pages.&lt;/li&gt;&lt;li&gt;Last not least, I once again need to mention the &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=387416&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;dynamic UA spoof mechanism&lt;/span&gt;&lt;/a&gt;, which has the largest &lt;a href=&quot;http://www.kairo.at/bugbounty/2007/bmo387416.html&quot;&gt;KaiRo.at bug bounty&lt;/a&gt; of all waiting for whoever does the work, and which could help lots of users, multiple browser projects as well as make the web itself a better place.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
I may left out some notable areas of current work or some areas we need help, if you feel I have omitted something worth mentioning, please comment on this blog entry!&lt;br /&gt;
&lt;br /&gt;
All in all, I think there's a bunch of interesting stuff happening at the moment, but still some important things to be done before SeaMonkey 2 gets where we want it to be. Thanks for everyone already actively working on the future of the suite (those are all volunteers doing this in their free time!) - and to everyone who wants us to get even better and has some time and work to offer: please help us, either with the items mentioned above or in other ways of &lt;a href=&quot;http://www.seamonkey-project.org/dev/get-involved&quot;&gt;getting involved&lt;/a&gt;. There's something to do for everyone and we appreciate any help we can get!</content:encoded>
	<dc:date>2007-11-14T16:21:44+00:00</dc:date>
	<dc:creator>KaiRo</dc:creator>
</item>
<item rdf:about="http://john.jubjubs.net/2007/11/14/tokyo/">
	<title>John Lilly: Tokyo</title>
	<link>http://john.jubjubs.net/2007/11/14/tokyo/</link>
	<content:encoded>&lt;p&gt;Just got to my hotel in Tokyo, going to take a shower then go to a meetup here with, hey — &lt;a href=&quot;http://radar.oreilly.com/archives/2007/11/radar_meetup_in.html&quot;&gt;other people who live near me in Silicon Valley!&lt;/a&gt; &lt;img src=&quot;http://john.jubjubs.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Really here to see Chibi and Kaori and Gen and Kohei and Joi and Nobu and other folks from Mozilla Japan as we think about what to do here in 2008. It’s been fun and productive to work with the team here as they’ve grown from just a couple of folks 2 years ago to a real office now. Japan is a tough culture/market to really crack for open source, but Chibi (Takita-san, head of Mozilla Japan) has worked hard on raising awareness of OSS here for years, and is making real headway. I’m excited to talk with her, the board, and the rest of Mozilla Japan tomorrow. &lt;/p&gt;
&lt;p&gt;But tonight, Web2 types. &lt;img src=&quot;http://john.jubjubs.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;2 random tidbits: (1) in Japan, my iPhone seems to be an iPod — no connectivity at all, and (2) I haven’t been here in a year or so, and am reminded what a great place Tokyo is. I’ve been to lots of great places in the past couple of years — Tokyo really is one of the world’s great cities, alongside London and Manhattan, in my view.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-14T09:13:28+00:00</dc:date>
	<dc:creator>John</dc:creator>
</item>
<item rdf:about="http://www.songbirdnest.com/node/2327">
	<title>Songbird: A Songbird Orange</title>
	<link>http://www.songbirdnest.com/node/2327</link>
	<content:encoded>&lt;p&gt;&lt;img src=&quot;http://songbirdnest.com/files/images/a-songbird-orange.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&quot;Yarbles, great bolshy yarblockos to you!&quot;&lt;/p&gt;
&lt;p&gt;Droogs and malchicks, come celebrate the launch of &lt;a href=&quot;http://www.songbirdnest.com/Songbird_0_3_Is_Launched&quot;&gt;Songbird 0.3&lt;/a&gt; with us!  We're co-hosting a &lt;strike&gt;real horrorshow&lt;/strike&gt; party with the hooligans at &lt;a href=&quot;http://getsatisfaction.com/&quot;&gt;Get Satisfaction&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Kubrick &amp;amp; Cupcakes: A Satisfaction Appreciation/Songbird 0.3 Party&lt;/b&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Thursday Nov. 15 7pm-1am&lt;/li&gt;
&lt;li&gt;Terra SF 511 Harrison St. 2nd floor San Francisco, CA 94105. &lt;a href=&quot;http://tinyurl.com/2qwk9x&quot;&gt;Map&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;RSVP: &lt;a href=&quot;http://www.facebook.com/event.php?eid=5768074315&quot;&gt;Facebook&lt;/a&gt; and &lt;a href=&quot;http://upcoming.yahoo.com/event/313347&quot;&gt;Upcoming.org&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;
And bit of the ol' ultra-violence:
&lt;li&gt;&lt;a href=&quot;http://www.songbirdnest.com/aus/blog&quot;&gt;DJ Aus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://deckard-dj.com/&quot;&gt;DJ Deckard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.fixsf.com/dj-jive/&quot;&gt;DJ Jive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://fossilfool.com/&quot;&gt;MC Fossil Fool&lt;/a&gt;, SF bike rapper for real&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All-white dress, false eyelashes, and fancy bowler hats strongly encouraged. &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://images.amazon.com/images/P/B0000AOHH0.01-A1U9KVZ3NXT5YW.jpg&quot; /&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-14T05:53:36+00:00</dc:date>
</item>
<item rdf:about="http://www.numenity.org/blog/2007/11/13/firefox-start-page-update/">
	<title>Paul Kim: Firefox Start Page Update</title>
	<link>http://www.numenity.org/blog/2007/11/13/firefox-start-page-update/</link>
	<content:encoded>&lt;p&gt;This week, we’ll be making a minor update to the &lt;a href=&quot;http://www.google.com/firefox&quot;&gt;Firefox Start Page&lt;/a&gt; for the English locale. Here’s what’s changing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Search navigation links will be updated to match the links on google.com. The categories over the search field in the current Firefox Start Page (Web, Images, Groups, News and Maps) will be updated to match the categories on google.com and moved to the upper left part of the page.&lt;/li&gt;
&lt;li&gt;Links to account controls will now appear on the upper right side of the page if you’re already signed into the Google network. For example, if you’ve signed into Gmail and stayed logged in, you’ll see your Google network username and options to access your account or sign out in the upper right part of the Start Page.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We’re working with Google (who is our search partner for the Start Page) to make these minor changes to sync up with updates to the google.com search experience. You currently see the updated search navigation links in the header of the results page after you initiate a search on the Firefox Start Page. We’ll start with English and roll updates out worldwide over the coming weeks.&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a class=&quot;akst_share_link&quot; href=&quot;http://www.numenity.org/blog/?p=134&amp;amp;akst_action=share-this&quot; id=&quot;akst_link_134&quot; rel=&quot;nofollow&quot; title=&quot;E-mail this, post to del.icio.us, etc.&quot;&gt;Share This&lt;/a&gt;
&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-14T01:43:23+00:00</dc:date>
	<dc:creator>Paul Kim</dc:creator>
</item>
<item rdf:about="http://blog.mozilla.com/faaborg/2007/11/13/update-on-the-firefox-3-linux-theme/">
	<title>Alex Faaborg: Update on the Firefox 3 Linux Theme</title>
	<link>http://blog.mozilla.com/faaborg/2007/11/13/update-on-the-firefox-3-linux-theme/</link>
	<content:encoded>&lt;p&gt;Work on the new linux theme for Firefox 3 is progressing nicely due to a very active group of contributers.  To match the operating system’s theme, Firefox’s navigation toolbar will &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=381206&quot;&gt;use native GTK icons&lt;/a&gt;.  The &lt;a href=&quot;http://people.mozilla.com/~faaborg/files/granParadisoUI/icons/iconInventory.html&quot;&gt;remaining icons&lt;/a&gt; are being &lt;a href=&quot;http://tango.freedesktop.org/Firefox&quot;&gt;drawn in the Tango style&lt;/a&gt;.  I owe a huge thanks to &lt;a href=&quot;http://ramnet.se/~nisse/blog/&quot;&gt;Andreas Nilsson&lt;/a&gt;, Michael Ventnor, &lt;a href=&quot;http://nemus.se/&quot;&gt;Kalle Persson&lt;/a&gt;, Lapo Calamandrei, Garrett LeSage, Michael Monreal, jimmac, and everyone else who is contributing to help ensure that Firefox 3 looks great on linux.&lt;/p&gt;
&lt;p&gt;[Update: there is some very &lt;a href=&quot;http://arstechnica.com/journals/linux.ars/2007/11/15/afirst-look-at-the-firefox-3-visual-refresh-for-linux&quot;&gt;thorough coverage over on Ars Technica&lt;/a&gt; with lots of screenshots]&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-14T01:01:07+00:00</dc:date>
	<dc:creator>Alex Faaborg</dc:creator>
</item>
<item rdf:about="http://pavlovdotnet.wordpress.com/2007/11/13/allocation-data/">
	<title>Stuart Parmenter: pavlov</title>
	<link>http://pavlovdotnet.wordpress.com/2007/11/13/allocation-data/</link>
	<content:encoded>&lt;div class=&quot;snap_preview&quot;&gt;&lt;p&gt;Lots of people have asked where most of the allocations in Mozilla come from.  I’ve gzipped some &lt;a href=&quot;http://people.mozilla.com/~pavlov/frag/allocs.txt.gz&quot;&gt;dtrace output&lt;/a&gt; that shows number of calls per size of stacks 5 deep.  Note: This log only shows allocations &amp;lt;= 2048 bytes.  This data is pretty raw but if people want to take a look at it and see if they have ideas for how to improve some of the code paths in question, that would be great.&lt;/p&gt;
&lt;p&gt;An example:&lt;/p&gt;
&lt;pre&gt;  libSystem.B.dylib`malloc+0x37
  XUL`nsStringBuffer::Alloc(unsigned long)+0x15
  XUL`nsACString_internal::MutatePrep(unsigned int, char**,
                                      unsigned int*)+0xce
  XUL`nsACString_internal::ReplacePrep(unsigned int,
                                       unsigned int,
                                       unsigned int)+0x46
  XUL`nsACString_internal::Assign(char const*, unsigned int)+0xc8

       value  ------------- Distribution ------------- count
           4 |                                         0
           8 |@@@@@@@@@@@@@                            9724
          16 |@@@@@@@@@@@@@@@@                         11940
          32 |@@@@@@                                   4359
          64 |@                                        887
         128 |@@                                       1604
         256 |@                                        497
         512 |@                                        676
        1024 |                                         47
        2048 |                                         0&lt;/pre&gt;
&lt;p&gt;This shows that there are 9724 8 byte allocations, 11940 16 byte ones and so on.&lt;/p&gt;
&lt;p&gt;Things to look for include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Things with lots of allocations&lt;/li&gt;
&lt;li&gt;Things that could be stack allocated to avoid memory churn&lt;/li&gt;
&lt;li&gt;Things that the lifetime is well understood that we could put in to pools&lt;/li&gt;
&lt;li&gt;etc…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I’ve also posted another log with &lt;a href=&quot;http://people.mozilla.com/%7Epavlov/frag/allocs8.txt.gz&quot;&gt;8 frame deep stacks&lt;/a&gt; as well as a log that &lt;a href=&quot;http://people.mozilla.com/%7Epavlov/frag/allocs8-post.txt.gz&quot;&gt;only includes allocations post-startup&lt;/a&gt; (also 8 frames deep).&lt;/p&gt;
&lt;/div&gt;</content:encoded>
	<dc:date>2007-11-14T00:04:13+00:00</dc:date>
	<dc:creator>pavlov</dc:creator>
</item>
<item rdf:about="http://blog.mozilla.com/metrics/2007/11/13/mozilla-comes-to-the-defense-of-radiohead/">
	<title>Blog of Metrics: Mozilla Comes to the Defense of Radiohead</title>
	<link>http://blog.mozilla.com/metrics/2007/11/13/mozilla-comes-to-the-defense-of-radiohead/</link>
	<content:encoded>&lt;p&gt;Polvi and I have been following the release of Radiohead’s new album, &lt;em&gt;In Rainbows&lt;/em&gt;, for a couple reasons.  First, it’s a fresh and great approach to open source marketing – open pricing!  Second, their process has some flavors of our &lt;a href=&quot;http://blog.mozilla.com/metrics/2007/11/02/firefox%e2%80%99s-funnel-factor/&quot; target=&quot;_blank&quot; title=&quot;funnelcake&quot;&gt;funnelcake project&lt;/a&gt;.  For &lt;em&gt;In Rainbows&lt;/em&gt;, they’re considering the path of fans as: &lt;a href=&quot;http://www.portfolio.com/views/blogs/odd-numbers/2007/11/05/how-much-did-radiohead-make-on-downloads-in-october&quot; target=&quot;_blank&quot; title=&quot;radioheadfunnel&quot;&gt;visit -&amp;gt; download -&amp;gt; pay $0 or any amount -&amp;gt; listen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The link above &lt;a href=&quot;http://www.comscore.com/press/release.asp?press=1883&quot; target=&quot;_blank&quot; title=&quot;comscorepress&quot;&gt;references a comScore study&lt;/a&gt; attempting to roughly measure the success of &lt;em&gt;In Rainbows&lt;/em&gt; (via the number of downloads).  The entrance of their funnel relies on an estimate of 1.2 million visitors to Radiohead’s web site, InRainbows.com, during the month of October.  From the study’s numbers, one can then see what percent of visitors paid for their download and what average price those fans paid.&lt;/p&gt;
&lt;p&gt;Radiohead &lt;a href=&quot;http://www.mtv.com/news/articles/1573841/20071108/radiohead.jhtml&quot; target=&quot;_blank&quot; title=&quot;contesting&quot;&gt;has come out contesting&lt;/a&gt; comScore’s analysis.  Radiohead and comScore can have their own disagreement over the middle of the funnel, i.e., download percentages and prices paid.  Where Mozilla can perhaps shed some light on the situation is the entrance of the funnel, i.e., &lt;a href=&quot;http://www.portfolio.com/views/blogs/odd-numbers/2007/11/12/more-on-the-radiohead-traffic-numbers&quot; target=&quot;_blank&quot; title=&quot;comandcompete&quot;&gt;how many fans visited Radiohead’s site in October&lt;/a&gt;?  All other analysis is completely dependent on this piece of the puzzle, so it’s critical that any discussion be certain that the answer to this question be 100% accurate.&lt;/p&gt;
&lt;p&gt;So, how can Mozilla help?&lt;/p&gt;
&lt;p&gt;For the month of September 2007, Mozilla saw 42.7 million unique visitors (this includes just our www.mozilla.com domain, which hosts about 50% of all Mozilla traffic).&lt;/p&gt;
&lt;p&gt;What about comScore and Compete.com?  How close did they come to estimating our traffic for September 2007?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.comscore.com/press/release.asp?press=1808&quot; target=&quot;_blank&quot; title=&quot;comscore&quot;&gt;comScore’s study&lt;/a&gt; says 16.7 million unique visitors&lt;/li&gt;
&lt;li&gt;Compete shows our “people count” as 3.4 million&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Perhaps Radiohead has a legitimate concern…&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-14T00:00:14+00:00</dc:date>
	<dc:creator>kkovash</dc:creator>
</item>
<item rdf:about="http://pavlovdotnet.wordpress.com/2007/11/13/windows-low-fragmentation-heap-builds/">
	<title>Stuart Parmenter: pavlov</title>
	<link>http://pavlovdotnet.wordpress.com/2007/11/13/windows-low-fragmentation-heap-builds/</link>
	<content:encoded>&lt;div class=&quot;snap_preview&quot;&gt;&lt;p&gt;As promised, some Minefield beta 1 Windows builds with the low fragmentation heap turned on.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://people.mozilla.com/~pavlov/low-fragmentation-builds/lfh-b1-firefox-win32.installer.exe&quot;&gt;Installer&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://people.mozilla.com/~pavlov/low-fragmentation-builds/lfh-b1-firefox-win32.zip&quot;&gt;Zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;These are built off of the beta1 branch.  Beta 1 isn’t out so this isn’t final use at your own risk blah blah blah.&lt;/p&gt;
&lt;p&gt;I am curious to hear how these compare memory use wise to other builds for people.&lt;/p&gt;
&lt;p&gt;I’m working on putting together an extension (maybe updating RAMBack) to let you produce pretty heap images but I’m not there yet.  Stay tuned for that.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
	<dc:date>2007-11-13T23:55:29+00:00</dc:date>
	<dc:creator>pavlov</dc:creator>
</item>
<item rdf:about="http://www.songbirdnest.com/node/2326">
	<title>Songbird: Today's Media Web Meet-up...</title>
	<link>http://www.songbirdnest.com/node/2326</link>
	<content:encoded>&lt;p&gt;Thanks so much to you, the 50+ media service developers, Media Web innovators and entrepreneurs, birdbuilders and birdwatchers who came to the first &lt;a href=&quot;http://www.songbirdnest.com/node/2284&quot;&gt;Media Web Meet-up&lt;/a&gt;.  I'll post video from the meet-up just as soon as we polish in post-production. &lt;/p&gt;
&lt;p&gt;Special thanks to &lt;a href=&quot;http://gondwanaland.com/mlog/&quot;&gt;Mike Linksvayer&lt;/a&gt; of &lt;a href=&quot;http://creativecommons.org/&quot;&gt;Creative Commons&lt;/a&gt; for first an overview of CC's lawyer- and machine-readable &lt;a href=&quot;http://creativecommons.org/about/license/&quot;&gt;Some Rights Reserved&lt;/a&gt; licenses, services and software followed by a compelling State of the Union update of music on the Web. I'll link to his slides as soon as they're posted. &lt;/p&gt;
&lt;p&gt;Mike also mentioned that Creative Commons is &lt;a href=&quot;http://support.creativecommons.org/donate&quot;&gt;fundraising&lt;/a&gt; and offering a limited edition, smirk-worthy tshirt:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://support.creativecommons.org/sites/ccidonor.civicactions.net/files/2007shirt.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Also my thanks to &lt;a href=&quot;http://citizenagency.com/the-citizens/&quot;&gt;Tara&lt;/a&gt; and crew from &lt;a href=&quot;http://citizenagency.com/about-citizen-agency/&quot;&gt;Citizen Agency&lt;/a&gt; for driving this and future Media Web Meet-ups. Thanks to our operations crew Sharon and Marion for producing another flawless event!&lt;/p&gt;
&lt;p&gt;As mentioned, a supporting &lt;a href=&quot;http://www.songbirdnest.com/OpenMediaWeb.org&quot;&gt;OpenMediaWeb.org&lt;/a&gt; web site is forthcoming. I'll blog its launch. &lt;/p&gt;
&lt;p&gt;chirps,&lt;br /&gt;
Rob&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T23:40:06+00:00</dc:date>
</item>
<item rdf:about="http://www.0xdeadbeef.com/weblog/?p=315">
	<title>Chris Blizzard: day number one</title>
	<link>http://www.0xdeadbeef.com/weblog/?p=315</link>
	<content:encoded>&lt;p&gt;
Today was my first full day of employment at the Mozilla Corporation.  I’m of two minds right now: first, it’s exhilarating to be starting a new job.  You never know &lt;i&gt;exactly&lt;/i&gt; what it’s going to be like, even though you have mapped out a set of goals and ideas of what you’re role is going to be before you start.  On the other hand, this feels eerily familiar just because I know all these people and I’ve been so closely tied to the organization since nearly its inception.   It’s just strange to have things on my plate that directly affect the organization instead of working so indirectly from outside for so long.  I’ll be able to feel the changes I drive in a very tangible and immediate fashion.  I’m pretty excited about that.
&lt;/p&gt;
&lt;p&gt;
One of the side effects of taking this role is that I’ve resigned my position on the Mozilla Corporation Board.  I’ll really miss the chance to work so closely with &lt;a href=&quot;http://www.linkedin.com/in/reidhoffman&quot;&gt;Reid&lt;/a&gt;, &lt;a href=&quot;http://john.jubjubs.net/&quot;&gt;John&lt;/a&gt; and &lt;a href=&quot;http://weblogs.mozillazine.org/mitchell/&quot;&gt;Mitchell&lt;/a&gt; in that format.  I will still get to work with John and Mitchell every day, of course, but it’s not in the same form.  Of course, being able to affect things in a much more direct manner makes up for it, but I am still a little sad about it.
&lt;/p&gt;
&lt;p&gt;
Onward to day number two!
&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T23:03:23+00:00</dc:date>
	<dc:creator>blizzard</dc:creator>
</item>
<item rdf:about="tag:weblogs.mozillazine.org,2007:/mitchell//29.18748">
	<title>Mitchell Baker: Focus on the general consumer:  &quot;what would my neighbor think?&quot;</title>
	<link>http://weblogs.mozillazine.org/mitchell/archives/2007/11/focus_on_the_general_consumer.html</link>
	<content:encoded>&lt;p&gt;Here's another element of building a consumer product that colors daily life for much of the Mozilla project.  &lt;/p&gt;

&lt;p&gt;Firefox is intended to be useful to both power users and to people who are not technical experts, who want to use the Internet without having to understand all the pieces that make it work.    The power users are more demanding in some ways, but also easier to address in many ways.  After all, the developers of Firefox are power users themselves.  Mozilla bagan a much more serious focus on the general consumer when we shifted primary development from our initial product (the &quot;Mozilla Application Suite&quot;) to Firefox and Thunderbird.  &lt;/p&gt;

&lt;p&gt;This change of focus seems obvious but it is in fact quite hard.  One has to really care -- at a deep level -- for people with far less technical mastery.  Or for someone who cares only enough to get things done and not because he or she finds Internet architecture remotely interesting.  For example, there are many, many people who do not distinguish between the the url bar, the search box, the buttons at the top of the browser, the start page (web content) served jointly by Google or Yahoo and Mozilla, and the software provided by Mozilla.  They often describe that combination as &quot;my internet&quot; or &quot;firefox search&quot; or &quot;google&quot;.   &lt;/p&gt;

&lt;p&gt;These are not &quot;dumb users.&quot;    I hear these comments here in the heart of Silicon Valley regularly.    Here in the Valley one can usually clarify a bit, because the Internet is after all the engine of local economic life.  But elsewhere many people really don't care.  They want to know only what they need to know to get other things done.  As an analogy, I think of the international postal system.  It's highly complex, with inter-governmental agreements, local arrangements, and a raft of supporting infrastructure.  Most of us don't know or care much about the details; we care about what postage costs and how long it takes a letter to get there.  &lt;/p&gt;

&lt;p&gt;Designing a product for people for whom new features may be frightening or unintelligible is very different from designing for the power user.  It's limiting in some ways, and yet can force a useful focus on what's really important.    It's not for everyone.  &lt;/p&gt;

&lt;p&gt;We think about this &lt;strong&gt;all&lt;/strong&gt; the time.   We strive to build products that are effective for the general consumer.  We consciously make decisions that something that is  awesome to us may not be right for the general product.    Even more tricky, we aim to build a product for the general consumer that is powerful and elegant, that allows people to experience the richness of the Internet, and that grows with people all the way to power users.  &lt;/p&gt;

&lt;p&gt;As in many things, Mozilla is a hybrid.  We are a pioneer in this aspect of open source and we are trying new things constantly.  We hope others become experts in this -- one of our explicit goals is to share what we learn so that our experiences end up benefiting people far beyond the products we produce.  We couldn't do our work without the efforts of those who came before us; we hope that others will find the same to be true of our work.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T19:30:16+00:00</dc:date>
	<dc:creator>mitchell</dc:creator>
</item>
<item rdf:about="http://www.bitstampede.com/2007/11/13/places/">
	<title>Eric Shepherd: Places</title>
	<link>http://www.bitstampede.com/2007/11/13/places/</link>
	<content:encoded>&lt;p&gt;Aeraj has been working hard on Places reference documentation.  While it’s still a work in progress, it’s coming along very nicely, and I’m quite pleased with his work so far.  Please feel free to &lt;a href=&quot;http://developer.mozilla.org/en/docs/Category:Places&quot;&gt;give it a look&lt;/a&gt; and do edits if you see anything that’s busted.&lt;/p&gt;
&lt;p&gt;Places is one of those technologies that sounds like something that won’t make any difference in your life at all — until you actually start using it and realize that it really is better than the way things used to be.  I’m really enjoying the changes to how bookmarks (and the super-cool URL bar) work.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T19:23:45+00:00</dc:date>
	<dc:creator>sheppy</dc:creator>
</item>
<item rdf:about="http://john.jubjubs.net/2007/11/13/congratulations-miro/">
	<title>John Lilly: congratulations Miro!!</title>
	<link>http://john.jubjubs.net/2007/11/13/congratulations-miro/</link>
	<content:encoded>&lt;p&gt;One of my very favorite software projects, &lt;a href=&quot;http://getmiro.com&quot;&gt;Miro&lt;/a&gt;, launches their 1.0 today! I’ve written &lt;a href=&quot;http://john.jubjubs.net/2006/10/15/democracy-player/&quot;&gt;about this before&lt;/a&gt;, when Miro was called the Democracy Player. Today represents the culmination of two years of hard work by the Miro team, and a serious start at reinventing video. As &lt;a href=&quot;http://techland.blogs.fortune.cnn.com/2007/11/13/the-future-of-internet-tv/&quot;&gt;Josh Quittner at Fortune points out&lt;/a&gt;, this makes even more sense in the context of the WGA strike — entertainment is changing quickly, for sure. &lt;/p&gt;
&lt;p&gt;[2 disclaimers: (1) Miro uses Mozilla technology for their Windows &amp;amp; Linux versions, and (2) I’m on the Board of Directors of the non-profit &lt;a href=&quot;http://pculture.org&quot;&gt;Participatory Culture Foundation&lt;/a&gt;, who makes Miro.]&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T17:53:02+00:00</dc:date>
	<dc:creator>John</dc:creator>
</item>
<item rdf:about="http://weblogs.mozillazine.org/dougt/archives/018749.html">
	<title>Doug Turner: Minimo and Mobile.</title>
	<link>http://weblogs.mozillazine.org/dougt/archives/018749.html</link>
	<content:encoded>&lt;p&gt;
Over the past few years the Minimo project has provided (1) a set of build and runtime options optimized for resource constrained devices, and (2) A XUL-based UI  for prototyping and experimenting with new user interfaces for navigating and viewing web content and general browsing on mobile devices. 
&lt;/p&gt;&lt;p&gt;
Recently you have probably read &lt;a href=&quot;http://weblogs.mozillazine.org/schrep/archives/2007/10/mozilla_and_mobile.html&quot;&gt;that the Mozilla Corporation is building&lt;/a&gt; the &lt;a href=&quot;http://wiki.mozilla.org/Mobile&quot;&gt;embeddable version of Mozilla and a mobile Firefox&lt;/a&gt;. In the new and expanded mobile effort the project will create a standards-based open-source browser engine and full open source development stack based on Mozilla technology, optimized for mobile devices, and embeddable on a variety of  device targets.   This new work will replace the &lt;a href=&quot;http://www.mozilla.org/projects/minimo/&quot;&gt;Minimo project.&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;
If you are a developer using Minimo as the basis for your embedding needs, this new effort will help you.  This is picking up where Minimo’s build configure left off, and further squeezing and optimizing Mozilla.
&lt;/p&gt;&lt;p&gt;
Although we haven’t committed to specific platforms, all of the effort that was focused on the Minimo front end will be refocused on this new project.   This new browser product will take advantage of lessons learned in minimo UI prototyping and experimentation.  It will also include support for XUL-based add-ons, and deliver on Firefox's key principles of ease-of-use and accessibility.
&lt;/p&gt;&lt;p&gt;
We hope you can join the conversation.  Most of the developers and interested people hang out on irc.mozilla.org #mobile.  If you have questions, or need clarification, please drop by.
&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T16:33:40+00:00</dc:date>
	<dc:creator>dougt</dc:creator>
</item>
<item rdf:about="http://www.silfreed.net/512 at http://www.silfreed.net">
	<title>Doug Warner: Mozdev sysadmin meeting minutes for 2007-11-13</title>
	<link>http://www.silfreed.net/content/mozdev-sysadmin-meeting-minutes-20071113</link>
	<content:encoded>&lt;p&gt;Present: David Boswell, (davidwboswell), Doug Warner (silfreed), Michael Dosser (tanker), Gerry Murphy (gjm), Chris Neale (cdn-work), Brian King (kinger)&lt;/p&gt;
&lt;p&gt;Discussion was held publically in #mozdev&lt;/p&gt;
&lt;p&gt;Discussed developer priorities&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;download counters enabled; projects can use downloads() function again&lt;/li&gt;
&lt;li&gt;D.MD.o now shows size of download files&lt;/li&gt;
&lt;li&gt;mycroft doesn't use mirror system; we might want to try to help them get moved over&lt;/li&gt;
&lt;li&gt;several projects have requested and started using drupal&lt;/li&gt;
&lt;li&gt;integrating blog into main site will be happening soon&lt;/li&gt;
&lt;li&gt;Chris reminded me that Thanksgiving is next week so I'll probably work on that theme soon&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussed sysadmin priorities&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;httpd.conf cleanup - cleaning up aliases, using virtualhosts, cleaning up rewrite rules, combining HTTP and HTTPS servers&lt;/li&gt;
&lt;li&gt;apache cleanup will need tested by project owners, but that will probably bring up the old content on stage again&lt;/li&gt;
&lt;li&gt;syncing production and stage is probably possible if we exclude logs&lt;/li&gt;
&lt;li&gt;stage and production will be synced tomorrow, so Doug will get his stuff backed up today&lt;/li&gt;
&lt;li&gt;mailman has been configured to perform actions through HTTPS&lt;/li&gt;
&lt;li&gt;Gerry is still researching mailman slowness problems&lt;/li&gt;
&lt;li&gt;bugzilla 3.0 is ready to deploy; we'll wait until after the sync so that POs can test w/ recent content&lt;/li&gt;
&lt;/ul&gt;
&lt;br class=&quot;giImageBlock-clear-both&quot; /&gt;</content:encoded>
	<dc:date>2007-11-13T16:31:20+00:00</dc:date>
	<dc:creator>silfreed</dc:creator>
</item>
<item rdf:about="http://www.beaufour.dk/blog/2007/11/joost-developer.html">
	<title>Allan Beaufour: Joost Developer Days</title>
	<link>http://www.beaufour.dk/blog/2007/11/joost-developer.html</link>
	<content:encoded>&lt;p&gt;Joost has grown up, and we are thus opening up to the world :) So the first “Joost Developer Days” are coming up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;London (Covent Garden)  – 1pm – 6pm – Friday 16th November&lt;/li&gt;
&lt;li&gt;Amsterdam (Central location) – 1pm  - 6pm  - Saturday 1st December&lt;/li&gt;
&lt;li&gt;New York (Broad Street)  - 12pm – 5pm -  Friday 7th December &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s a chance to learn how we do widgets in Joost, and how you can do them yourself. More information on our &lt;a href=&quot;http://groups.google.com/group/joost-dev/browse_thread/thread/f3a770f92fc7eaea&quot;&gt;Joost Development Group&lt;/a&gt;.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T14:16:22+00:00</dc:date>
</item>
<item rdf:about="http://shaver.off.net/diary/2007/11/13/leaking-growing-and-measuring/">
	<title>Mike Shaver: leaking, growing, and measuring</title>
	<link>http://shaver.off.net/diary/2007/11/13/leaking-growing-and-measuring/</link>
	<content:encoded>&lt;p&gt;(This post started small, but got bigger as I noticed more things that aren’t necessarily as obvious to my readers as they are to me, with respect to our process and software.  So it grew over time, oh ha ha!  It’s almost 1AM, so I will not be editing it further this evening!  I might post a summarized version at some point in the future, or I might not.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;And then&lt;/b&gt; I edited it because Dave pointed out that it sounded like I was saying that other browsers necessarily suffered similar fragmentation woes, which wasn’t my intent.  Indeed, the main point of the post is that there can be many possible causes for a given symptom, and that the popular theories (e.g. “massive memory leaks”) may not prove correct.)&lt;/p&gt;

&lt;p&gt;I’m going to share some non-news with you: Firefox has memory leaks.  I would be shocked to discover that there were &lt;a href=&quot;http://bugs.webkit.org/buglist.cgi?query_format=specific&amp;amp;order=relevance+desc&amp;amp;bug_status=__open__&amp;amp;product=WebKit&amp;amp;content=leak&quot;&gt;any&lt;/a&gt; &lt;a href=&quot;http://blog.grimpoteuthis.org/2007/09/ies-memory-leak-fix-greatly-exaggerated.html&quot;&gt;major&lt;/a&gt; browser that did not have memory leaks, in fact.  Developers in complex systems, be they browsers or video games or operating systems, fight constantly against bad memory behaviours that can cause leaks, excess usage, or in the worst cases even security problems.&lt;/p&gt;

&lt;p&gt;(As an aside, it’s still quite, quite common to read articles which reference this &lt;a href=&quot;http://weblogs.mozillazine.org/ben/archives/009749.html&quot;&gt;long-in-the-tooth post from Ben&lt;/a&gt; as the “Mozilla development team” denying that there are leaks in Firefox.  You would have a hard time getting any developer to say that there are no leaks in Firefox, and indeed the post in question says &lt;i&gt;second sentence&lt;/i&gt; that Firefox has leaks.  You do not need a secret nerd decoder ring here to interpret the text, just basic literacy.  Also, it’s no secret that Ben hasn’t been active in Firefox development for quite some time, so for people to point at an article that’s thinking hard about what it would like for its second birthday, rather than actually contacting any of the rather visible and accommodating developers of today — well, it just feels kinda sloppy to me.)&lt;/p&gt;

&lt;p&gt;So, Firefox has leaks, and Firefox uses a lot of memory in some cases.  A student of &lt;a href=&quot;http://en.wikipedia.org/wiki/Fallacy_of_the_Consequent&quot;&gt;logical fallacy&lt;/a&gt; will no doubt have no difficulty setting development priorities: to reduce the amount of memory used by Firefox, fix all the leaks.  In this case, though, a student of &lt;a href=&quot;http://en.wikiquote.org/wiki/H._L._Mencken#Sourced&quot; title=&quot;there is always an easy solution to every problem — neat, plausible and wrong&quot;&gt;Mencken&lt;/a&gt; can happily triumph over the student of fallacy, for even with &lt;a href=&quot;http://www.squarefree.com/2007/09/20/firefox-memory-usage-and-memory-leak-news/&quot;&gt;multifarious leak fixes&lt;/a&gt; we would still see cases where Firefox’s “used memory” was quite a bit higher than leaks could account for.&lt;/p&gt;

&lt;p&gt;Let me now take you on a journey of discovery.  Measuring leaks — &lt;i&gt;contra&lt;/i&gt; identifying their root causes or fixing them — is actually quite simple: you count the total amount of memory that you ask the operating system for (usually via an API called &lt;tt&gt;malloc&lt;/tt&gt;), you subtract the amount of memory that you tell the operating system you’re done with (usually via &lt;tt&gt;free&lt;/tt&gt;), and if the number isn’t zero when your program exits, you have a leak.  We have a ton of tools for reporting on such leaks, and we monitor them very closely.  So when we see that memory usage can go up by 100MB, but there are only a few kilobytes leaked, we get to scratching our heads.&lt;/p&gt;

&lt;p&gt;Schrep, our intrepid VP of Engineering and sommelier, was doing just this sort of head-scratching recently, after he measured &lt;a href=&quot;http://groups.google.com/group/mozilla.dev.performance/msg/b455e0337956eacc&quot;&gt;some surprising memory behaviour&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start browser.&lt;/li&gt;
&lt;li&gt;Measure memory usage (”Point 1″).&lt;/li&gt;
&lt;li&gt;Load a URL that in turn opens many windows.  Wait for them to finish loading.&lt;/li&gt;
&lt;li&gt;Measure memory usage (”Point 2″).&lt;/li&gt;
&lt;li&gt;Close them all down, and go back to the blank start page.&lt;/li&gt;
&lt;li&gt;Measure memory usage again (”Point 3″).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/5972&quot;&gt;Force the caches to clear&lt;/a&gt;, to eliminate them from the experiment.&lt;/li&gt;
&lt;li&gt;Measure memory usage again (”Point 4″).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You might expect that the measurements at points 1 and 4 would be the same, or at least quite close (accounting for buffers that are lazily allocated on first use, for example).  You might, then, share the surprise in what Schrep found:&lt;/p&gt;

&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;Point 1&lt;/th&gt;&lt;th&gt;Point 2&lt;/th&gt;&lt;th&gt;Point 3&lt;/th&gt;&lt;th&gt;Point 4&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;35MB&lt;/td&gt;&lt;td&gt;118MB&lt;/td&gt;&lt;td&gt;94MB&lt;/td&gt;&lt;td&gt;88MB&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;(You can and should, if you care about such things, read the &lt;a href=&quot;http://groups.google.com/group/mozilla.dev.performance/browse_thread/thread/4eaee2bcbcad1028/95339bce9a46bd47#95339bce9a46bd47&quot;&gt;whole thread&lt;/a&gt; for more details about how things were measured, and Schrep’s configuration.  It also shows the measured sizes for a number of browsers after this test as well as at startup with some representative applications loaded.  You may find the results surprising!  Go ahead, I’ll wait here!)&lt;/p&gt;

&lt;p&gt;So what &lt;i&gt;does&lt;/i&gt; cause memory usage to rise that way, if we’re not leaking supertankers worth of memory?  Some more investigation ruled out significant contribution from the various caches that Firefox maintains for performance, and discovered that &lt;i&gt;heap fragmentation&lt;/i&gt; is likely to be very significant contributor to the “long-term growth” effects that people observe and complain about.  Heap fragmentation is a desperately nerdy thing, and you can read &lt;a href=&quot;http://www.pavlov.net/blog/archives/2007/11/memory_fragment.html&quot;&gt;Stuart’s detailed post&lt;/a&gt; if you want to see pretty pictures, but if you’ve ever opened a carefully packed piece of equipment and then tried to put it all back in the box, you’ve experienced something somewhat similar; if you take things out and put them back in different orders, it’s hard to get every thing to fit together as nicely, and some space gets wasted.&lt;/p&gt;

&lt;p&gt;The original design for Gecko placed an &lt;i&gt;extremely&lt;/i&gt; high premium on memory efficiency.  The layout code is littered with places where people did extra work in order to save a few kilobytes here or there, or to shave a few bytes off a structure.  If you compute the classic malloc/free running total I mentioned above, I think you’ll find that Gecko typically uses a lot less memory than competitors.  But, as I hope I’ve made at least somewhat clear here, there’s more to managing the memory impact of an application than simply balancing the checkbook and keeping your structures lean.  &lt;i&gt;When&lt;/i&gt; and &lt;i&gt;how&lt;/i&gt; you allocate memory can be as-or-more important in determining the application’s “total memory footprint” than the things that are simple to theorize about.  And making sure that you’re measuring the same things that users are seeing is key to focusing work on things that will be the maximum benefit to them, in the shortest time.  We’re working now on ways to reduce the effects of heap fragmentation, just as we’ve invested in fixing leaks and improving our tools for understanding memory consumption and effects, and the outlook is quite promising.&lt;/p&gt;

&lt;p&gt;The real punch line of this for Firefox users is that Firefox 3 will &lt;i&gt;continue&lt;/i&gt; to improve memory behaviour over long-term usage, and you’ll soon be able to try it out for yourself with the &lt;a href=&quot;http://developer.mozilla.org/devnews/index.php/2007/11/07/were-happy-that-you-digg-us-but/&quot;&gt;upcoming Firefox 3 beta&lt;/a&gt;.  Beta 1 won’t have the benefits of the work on fragmentation reduction, but many testers are already reporting dramatically improved memory consumption as well as significant performance gains.  We’re never satisfied with the performance of Firefox, just as we always seek to make it more secure, more pleasant to use, and nicer to smell.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T05:56:57+00:00</dc:date>
	<dc:creator>shaver</dc:creator>
</item>
<item rdf:about="http://robert.accettura.com/archives/2007/11/12/android-sdk-released/">
	<title>Robert Accettura: Android SDK Released</title>
	<link>http://robert.accettura.com/archives/2007/11/12/android-sdk-released/</link>
	<content:encoded>&lt;p&gt;We knew it &lt;a href=&quot;http://robert.accettura.com/archives/2007/11/05/the-illusive-gphone/&quot;&gt;was coming&lt;/a&gt;, and it’s now here.  I haven’t looked at it too closely, but a few things I’ve noticed:&lt;/p&gt;
&lt;p&gt;Yet another &lt;acronym title=&quot;eXtensible Markup Language&quot;&gt;XML&lt;/acronym&gt; &lt;acronym title=&quot;User Interface&quot;&gt;UI&lt;/acronym&gt;?  Clearly it’s becoming a popular way to do things, but do we need so many?  &lt;a href=&quot;http://www.mozilla.org/projects/xul/&quot;&gt;&lt;acronym title=&quot;XML user-interface language&quot;&gt;XUL&lt;/acronym&gt;&lt;/a&gt;, &lt;a href=&quot;http://www.adobe.com/devnet/flex/articles/paradigm.html&quot;&gt;MXML&lt;/a&gt;, &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/ms752059.aspx&quot;&gt;XAML&lt;/a&gt;, now &lt;a href=&quot;http://code.google.com/android/devel/ui/xml.html&quot;&gt;Android&lt;/a&gt;?  Surely there must be another way.  &lt;acronym title=&quot;XML user-interface language&quot;&gt;XUL&lt;/acronym&gt; as a standard sadly never &lt;a href=&quot;http://www.mozilla.org/projects/xul/xul.html&quot;&gt;materialized&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There’s a mention of &lt;a href=&quot;http://code.google.com/android/what-is-android.html#libraries&quot;&gt;3D libraries&lt;/a&gt;, but notes: &lt;/p&gt;
&lt;blockquote cite=&quot;http://code.google.com/android/what-is-android.html#libraries&quot;&gt;&lt;p&gt;
…the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer…
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We all know how well graphics drivers have historically been on Linux.  Hopefully the embedded/mobile market will prove better than the desktop.&lt;/p&gt;
&lt;p&gt;One thing I do wonder is all the variables.  The platform seems to have a fair amount of potential, but there’s no real standard regarding what you can be assured will exist on a handheld (for example 3D acceleration) or even what restrictions might be imposed by the carrier (firmware lockdown).  At least with the iPhone you know they all ship with certain CPU’s, graphic capabilities, etc.  It’s a very predictable platform.  Android reminds me a lot of programming for the PC, there’s a ton of variations out there on the web to account for.  Even if most run the same OS.  Mobile has the added complexity of carriers who are notoriously restrictive.  I wonder if this will really change.  This is why the web as a platform is so great.  It overcomes most of these limitations.&lt;/p&gt;
&lt;p&gt;In general I have to agree with most of what &lt;a href=&quot;http://scobleizer.com/2007/11/12/google-android-we-want-developers-but/&quot;&gt;Robert Scoble says&lt;/a&gt; (vaporware, unimpressive &lt;acronym title=&quot;User Interface&quot;&gt;UI&lt;/acronym&gt;, etc.) but it’s still very early on, and you can’t judge much based on this early preview.  Right now, the iPhone is a clear winner, but I wouldn’t discount Android just yet.&lt;/p&gt;
&lt;p&gt;My general feeling is that it’s too early to make much of a judgment.  There many things that can happen in the next several months that can drastically alter the fate of Android for better or worse both business and tech wise.&lt;/p&gt;
&lt;p&gt;The next key moment in the mobile landscape will be the release of the iPhone SDK due early next year.&lt;/p&gt;
&lt;p&gt;Then there’s always the underdog &lt;a href=&quot;http://www.openmoko.org/&quot;&gt;OpenMoko&lt;/a&gt;.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T03:58:22+00:00</dc:date>
	<dc:creator>Robert</dc:creator>
</item>
<item rdf:about="http://coop.deadsquid.com/?p=1065">
	<title>Chris Cooper: Community a go-go</title>
	<link>http://coop.deadsquid.com/?p=1065</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://gotwavs.com/0095461785/MP3S/Movies/Clerks/heretoday.mp3&quot;&gt;I’m not even supposed to be here today&lt;/a&gt;, but I just had to write a little something about the &lt;a href=&quot;http://quality.mozilla.org/en/node/784&quot;&gt;Firefox 3 Beta 1 test day&lt;/a&gt; that we ran last week.&lt;/p&gt;
	&lt;p&gt;Tomcat says that some of the European tech press picked up our testday announcement, and &lt;a href=&quot;https://litmus.mozilla.org/testday_report.cgi?testday_id=68&quot;&gt;it certainly showed&lt;/a&gt;. Lots of new faces in #testday, and over &lt;strong&gt;1300&lt;/strong&gt; test results filed &lt;em&gt;by the community&lt;/em&gt; over the course of the day (another 270 if you add results from Mozilla QA staff). This was even more impressive considering that this was the &lt;a href=&quot;http://quality.mozilla.org/en/node/781&quot;&gt;second test day we held last week&lt;/a&gt;. In the past we’ve seen an attendance drop-off if we hold events too close together.&lt;/p&gt;
	&lt;p&gt;People seem genuinely stoked about Firefox 3. Lots of testing remains to be done, so I hope to see a lot of those folks back to help some more. Keep it locked to &lt;a href=&quot;http://quality.mozilla.org&quot;&gt;QMO&lt;/a&gt; for details.
&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-13T03:35:24+00:00</dc:date>
	<dc:creator>Coop</dc:creator>
</item>
<item rdf:about="http://ejohn.org/blog/javascript-method-overloading/">
	<title>John Resig: JavaScript Method Overloading</title>
	<link>http://ejohn.org/blog/javascript-method-overloading/</link>
	<content:encoded>&lt;p&gt;In a side project that I've been working on I built a quick-and-dirty function for doing simple method overloading. For those of you who aren't familiar with, it's just a way of mapping a single function call to multiple functions based upon the arguments they accept.&lt;/p&gt;
	&lt;p&gt;Here's the function in question:&lt;/p&gt;
	&lt;div class=&quot;syntax_hilite&quot;&gt;
&lt;div id=&quot;js-1&quot;&gt;
	&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// addMethod - By John Resig (MIT Licensed)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt; addMethod&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;object, &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;, fn&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; old = object&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;]&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    object&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;]&lt;/span&gt; = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;        &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; fn.&lt;span style=&quot;color: #006600;&quot;&gt;length&lt;/span&gt; == arguments.&lt;span style=&quot;color: #006600;&quot;&gt;length&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;            &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;return&lt;/span&gt; fn.&lt;span style=&quot;color: #006600;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;, arguments &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;        &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;typeof&lt;/span&gt; old == &lt;span style=&quot;color: #3366CC;&quot;&gt;'function'&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;            &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;return&lt;/span&gt; old.&lt;span style=&quot;color: #006600;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;, arguments &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
	&lt;p&gt;and here is how you might use it:&lt;/p&gt;
	&lt;div class=&quot;syntax_hilite&quot;&gt;
&lt;div id=&quot;js-2&quot;&gt;
	&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt; Users&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  addMethod&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;find&quot;&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Find all users...&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  addMethod&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;find&quot;&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Find a user by name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  addMethod&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;find&quot;&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;first, last&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Find a user by first and last name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
	&lt;p&gt;Or, if you wanted to use it with an object prototype:&lt;/p&gt;
	&lt;div class=&quot;syntax_hilite&quot;&gt;
&lt;div id=&quot;js-3&quot;&gt;
	&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt; Users&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;addMethod&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;Users.&lt;span style=&quot;color: #006600;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;find&quot;&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Find all users...&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;addMethod&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;Users.&lt;span style=&quot;color: #006600;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;find&quot;&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Find a user by name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;addMethod&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;Users.&lt;span style=&quot;color: #006600;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;find&quot;&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;first, last&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;  &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Find a user by first and last name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
	&lt;p&gt;And here's what the end result would look like to the user:&lt;/p&gt;
	&lt;div class=&quot;syntax_hilite&quot;&gt;
&lt;div id=&quot;js-4&quot;&gt;
	&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; users = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; Users&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;users.&lt;span style=&quot;color: #006600;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Finds all&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;users.&lt;span style=&quot;color: #006600;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;John&quot;&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Finds users by name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;users.&lt;span style=&quot;color: #006600;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;John&quot;&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;Resig&quot;&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Finds users by first and last name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;users.&lt;span style=&quot;color: #006600;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;John&quot;&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;E&quot;&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;Resig&quot;&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Does nothing &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
	&lt;p&gt;Obviously, there's some pretty big caveats when using this:&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;The overloading only works for different numbers of arguments - it doesn't differentiate based on type, argument names, or anything else. (ECMAScript 4/JavaScript 2, however, will have this ability - called Multimethods - I'm quite excited.)&lt;/li&gt;
	&lt;li&gt;All methods will some function call overhead. Thus, you'll want to take that into consideration in high performance situations.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;Now, the secret sauce is all going back to the &lt;code&gt;fn.length&lt;/code&gt; expression. This isn't very well known, but all functions have a length property on them. This property equates to the number of arguments that the function is expecting. Thus, if you define a function that accepts a single argument, it'll have a length of 1, like so:&lt;/p&gt;
	&lt;pre&gt;(function(foo){}).length == 1&lt;/pre&gt;
	&lt;p&gt;I did some basic testing and this technique seems to work in all modern browsers - please let me know if I'm wrong.&lt;/p&gt;
	&lt;p&gt;If you're concerned about adding a function call overhead when binding only a single function, then you can give this version of addMethod a try:&lt;/p&gt;
	&lt;div class=&quot;syntax_hilite&quot;&gt;
&lt;div id=&quot;js-5&quot;&gt;
	&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// addMethod - By John Resig (MIT Licensed)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt; addMethod&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;object, &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;, fn&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; old = object&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;]&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; old &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;        object&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;]&lt;/span&gt; = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;            &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; fn.&lt;span style=&quot;color: #006600;&quot;&gt;length&lt;/span&gt; == arguments.&lt;span style=&quot;color: #006600;&quot;&gt;length&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;                &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;return&lt;/span&gt; fn.&lt;span style=&quot;color: #006600;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;, arguments &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;            &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;typeof&lt;/span&gt; old == &lt;span style=&quot;color: #3366CC;&quot;&gt;'function'&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;                &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;return&lt;/span&gt; old.&lt;span style=&quot;color: #006600;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;, arguments &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;        &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;    &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;        object&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;]&lt;/span&gt; = fn;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;}&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
	&lt;p&gt;That one will attach the first bound function with no additional checks - keeping it nice and speedy. Once extra functions are bound, things will slow ever so slightly.&lt;/p&gt;
	&lt;p&gt;This, also, has the added benefit of being able to bind default &quot;catch all&quot; functions which will handle all the calls that pass through. The result would look something like this:&lt;/p&gt;
	&lt;div class=&quot;syntax_hilite&quot;&gt;
&lt;div id=&quot;js-6&quot;&gt;
	&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; users = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; Users&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;users.&lt;span style=&quot;color: #006600;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Finds all&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;users.&lt;span style=&quot;color: #006600;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;John&quot;&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Finds users by name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;users.&lt;span style=&quot;color: #006600;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;John&quot;&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;Resig&quot;&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Finds users by first and last name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt;users.&lt;span style=&quot;color: #006600;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;John&quot;&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;E&quot;&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;&quot;Resig&quot;&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Finds all &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal; color: #000000;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
	&lt;p&gt;This function won't change the world, but it's short, concise, and uses an obscure JavaScript feature - so it wins in my book.
&lt;/p&gt;
		&lt;img src=&quot;http://ejohn.org/apps/rss/?from=rss&amp;amp;id=5492&quot; style=&quot;width: 0px; height: 0px;&quot; /&gt;</content:encoded>
	<dc:date>2007-11-13T01:12:12+00:00</dc:date>
	<dc:creator>John Resig</dc:creator>
</item>
<item rdf:about="http://blog.mozilla.com/metrics/2007/11/12/vista-users-enjoy-the-web-on-weekends/">
	<title>Blog of Metrics: Vista Users Enjoy the Web on Weekends</title>
	<link>http://blog.mozilla.com/metrics/2007/11/12/vista-users-enjoy-the-web-on-weekends/</link>
	<content:encoded>&lt;p&gt;For &lt;a href=&quot;http://blog.mozilla.com/metrics/2007/11/02/firefox%e2%80%99s-funnel-factor/&quot; target=&quot;_blank&quot; title=&quot;funnelcake&quot;&gt;funnelcake&lt;/a&gt;, we’ve looked at various analyses by OS.  Firefox users primarily use three operating systems: XP (first place by a wide margin), followed by Vista and then Mac.  When looking at Firefox usage by OS, one pattern that stands out is usage by Vista users does not seem to drop significantly during weekends.&lt;/p&gt;
&lt;p&gt;In a previous post, &lt;a href=&quot;http://blog.mozilla.com/metrics/2007/10/10/firefox-usage-%e2%80%93-does-the-day-of-week-have-an-effect/&quot; target=&quot;_blank&quot; title=&quot;day of week post&quot;&gt;we considered the effect of day of the week on Fx usage&lt;/a&gt; (and internet usage more generally).  The swing from a typical weekday to a Saturday or Sunday amounted to about a 20% drop-off in usage.  For funnelcake users, we’ve seen that most of the Fx weekend usage decline in driven by XP users.  However, this is explained by the fact that they represent the greatest percent of total users by OS; on a percentage basis, XP users show about a 20% weekend decline.  Of the three biggest OS cohorts, Mac users display the greatest weekend drop-off on a percentage basis – about 25%.&lt;/p&gt;
&lt;p&gt;And Vista users of Fx?&lt;/p&gt;
&lt;p&gt;Their Fx usage decline on weekends amounts to a tiny 8%.&lt;/p&gt;
&lt;p&gt;Furthermore, when we look across all Fx users (not just funnelcake users), the numbers are fairly similar.  We’re not entirely sure what to make of this analysis… If you’re aware of any reasons or causal factors, we’re all ears!&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T23:54:01+00:00</dc:date>
	<dc:creator>kkovash</dc:creator>
</item>
<item rdf:about="http://weblogs.mozillazine.org/tor/archives/2007/11/mozilla_svg_speed_and_cairo.html">
	<title>Mozilla SVG Update: Mozilla SVG speed and cairo</title>
	<link>http://weblogs.mozillazine.org/tor/archives/2007/11/mozilla_svg_speed_and_cairo.html</link>
	<content:encoded>&lt;p&gt;When using Mozilla SVG, you might have encountered cases where we
  are quite slow.  While there have been great strides in fixing these
  in both the mozilla codebase and cairo between Firefox 1.5/2.0 and
  Firefox 3.0, we still see performance problems appearing.

&lt;/p&gt;&lt;p&gt;When we profile these slow cases using tool like sysprof, cairo (or
  what it cause the X server to do in the case of unix/X11) usually
  makes up the majority of the time spent.  If you're interested in
  helping with Mozilla SVG but don't feel like diving into the thick
  of Mozilla's flavor of C++, contributing to cairo would a great
  choice.  It's a smaller, simpler codebase in straight C, has a
  responsive developer list, and improvements you make will help a
  large world of software beyond Mozilla.

&lt;/p&gt;&lt;p&gt;Specific areas of interest to Mozilla SVG are:
&lt;/p&gt;&lt;dl&gt;
&lt;dt&gt;Hit detection.
&lt;/dt&gt;&lt;dd&gt;Currently, cairo_in_fill() and cairo_in_stroke() are implemented
  by tessellating the path and tests against the generated trapezoids.
  There are a number of
  other &lt;a href=&quot;http://en.wikipedia.org/wiki/Point_in_polygon&quot;&gt;point
  in polygon&lt;/a&gt; testing methods which would be more efficient for
  implementing cairo_in_fill().  cairo_in_stroke() might be
  implementable by doing distance to line/curve tests for the path
  segments, along with some extra tests for the segment joins.  Both
  of these hit detection functions are important to SVG as we are
  continually checking for objects underneath the pointer for event
  delivery.  We do perform an early reject test against a cached
  bounding rectangle, but for complex geometry the time spent in cairo
  can become significant.
&lt;/dd&gt;&lt;dt&gt;Track down overuse of *CompositeGeneral.
&lt;/dt&gt;&lt;dd&gt;Many profiles we've run of slow SVG testcases show lots of cputime
  disappearing into this method, both on the client (named
  pixman_compositeGeneral or pixman_compsite_rect_general* depending
  on the version of cairo you're looking at) and in the copy inside
  the X server (fbCompositeGeneral).  While ideally we'd like to avoid
  cairo's software renderer completely (as
  in &lt;a href=&quot;http://www.mdk.org.pl/&quot;&gt;Michael Dominic's work&lt;/a&gt;), it
  would be good to track down why rendering operations often end up
  there.  My guess is that the frequent use of clipping in SVG (for
  inner &amp;lt;svg&amp;gt;, &amp;lt;image&amp;gt;, &amp;lt;marker&amp;gt;) is the cause of
  this.
&lt;/dd&gt;&lt;dt&gt;Server side gradients.
&lt;/dt&gt;&lt;dd&gt;Cairo does not use RENDER's gradients with
  the xlib backend.  Since gradients are a frequently used SVG
  feature, speeding them up seems like a good thing to do, and if we
  can keep work on the server side it could be a win (might need work
  the server side to get the performance and fix possible problems
  with a currently unused server feature).
&lt;/dd&gt;&lt;dt&gt;Extents.
&lt;/dt&gt;&lt;dd&gt;Right now cairo implements extent calculation for both fill and
  stroke by tessellating the path in question.  This is straightforward
  and allows cairo to reuse code needed for rendering, but it uses
  more memory and cpu time that is necessary for the query operation.
  SVG calculates the coverage information of an object each time a
  presentation attribute or property changes, so this can add up for
  complex geometry.  Mozilla's SVG code can be changed in the post
  Firefox 3 world to work better with Gecko to avoid unnecessary
  calculations for changes that don't change geometry, but for now we
  need to assume the worst case.
&lt;/dd&gt;&lt;dt&gt;Path extents.
&lt;/dt&gt;&lt;dd&gt;This is a specification conformance issue rather than performance
  - the SVG IDL allows the bounding box of geometry (without stroke or
  mask effects) to be queried, and cairo_fill_extents() is both
  wasteful performance/memory-wise (see previous item) and doesn't
  give the answer we want for degenerate geometry.
&lt;/dd&gt;&lt;dt&gt;Filters.
&lt;/dt&gt;&lt;dd&gt;Mozilla SVG implements a full SVG pixel filter set (two of which,
  feImage and feDisplacementMap, unfortunately will not make Firefox
  3) by hand as cairo has no native filters.  It would nice to have
  filters in cairo; for the additional functionality it would provide
  to other users, the ability to hardware accelerate through OpenGL and
  pixel shaders, and to get more developers looking at speeding up the code.
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;If any of this sparks an interest, join
  the &lt;a href=&quot;http://lists.cairographics.org/archives/cairo/&quot;&gt;cairo
  mailing list&lt;/a&gt; and let people know.  You'll be in touch with
  others working on cairo and get feedback on your ideas.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T23:41:02+00:00</dc:date>
	<dc:creator>tor</dc:creator>
</item>
<item rdf:about="http://blog.fligtar.com/2007/11/12/stupid-filter/">
	<title>Justin Scott: Stupid Filter</title>
	<link>http://blog.fligtar.com/2007/11/12/stupid-filter/</link>
	<content:encoded>&lt;p&gt;“Because the internet needs prophylactics for memetically transmitted diseases.”&lt;/p&gt;
&lt;p&gt;There’s a new open source project at &lt;a href=&quot;http://www.stupidfilter.org&quot;&gt;StupidFilter.org&lt;/a&gt; to create filtering software that can detect “stupid” comments on the internet, such as comments on YouTube and similar sites. While this is an interesting project, the part that really caught me is that they’re going to release it as a Firefox extension. (They actually said plugin, but I’m guessing they meant extension.) While they mention other forms of delivery, all but the extension are aimed at the hosts of the content, not the consumer.&lt;/p&gt;
&lt;p&gt;When I first read about the project on &lt;a href=&quot;http://it.slashdot.org/article.pl?sid=07/11/12/1943216&quot;&gt;Slashdot&lt;/a&gt;, I thought “I hope they make it a Firefox extension”. It’s exciting that so many of the ideas and innovations people have these days are implemented through Firefox add-ons. Hopefully we’ll see even more of that in the future, as Mozilla is investing heavily in its add-ons community and I expect the results of that will be apparent in Firefox 3 and the &lt;a href=&quot;http://blog.mozilla.com/basil/2007/11/06/amo-preview-of-coming-attractions/&quot;&gt;upcoming changes&lt;/a&gt; to the add-ons website, as well as some much awaited new tools for add-on developers that I’ll be blogging about in the coming weeks on the &lt;a href=&quot;http://blog.mozilla.com/webdev&quot;&gt;WebDev blog&lt;/a&gt;.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T23:26:14+00:00</dc:date>
	<dc:creator>fligtar</dc:creator>
</item>
<item rdf:about="http://john.jubjubs.net/2007/11/12/uncategorized/">
	<title>John Lilly: uncategorized</title>
	<link>http://john.jubjubs.net/2007/11/12/uncategorized/</link>
	<content:encoded>&lt;p&gt;I’ve been thinking a lot the past day or so about &lt;a href=&quot;http://www.nytimes.com/2007/11/12/technology/12link.html?_r=1&amp;amp;ex=1352523600&amp;amp;en=611a0e6f3018d3a6&amp;amp;ei=5088&amp;amp;partner=rssnyt&amp;amp;emc=rss&amp;amp;oref=slogin&quot;&gt;Noam Cohen’s piece in the New York Times about Mozilla&lt;/a&gt;. It’s really been rattling around inside my head because it missed so much of the essence of what Mozilla is and what we’re doing. It’s ostensibly a story about how Mozilla has sort of grown up — going from cute little underdog to corporate competitor. Here’s one line: “But in trying to build on this success, the Mozilla Foundation has come to resemble an investor-backed Silicon Valley start-up more than a scrappy collaborative underdog.”&lt;/p&gt;
&lt;p&gt;But here’s the thing: by trying to categorize Mozilla with simple labels (SV start-up, scrappy underdog, cold war proxy (!), corporation, open source project, on and on…), he’s missing the point. Mozilla is a complicated thing, filled with tensions and subtleties. &lt;/p&gt;
&lt;p&gt;We’re an open source project. We’re also a set of companies around the world.&lt;/p&gt;
&lt;p&gt;We have distributed decision making. We also make some centralized decisions.&lt;/p&gt;
&lt;p&gt;We’re a non-profit. We also pay people competitive wages for the industry and the geographies that they live in.&lt;/p&gt;
&lt;p&gt;Our mission is to keep the Internet a medium of participation by everyone. We also care about Firefox market share because that’s our most useful tool at the moment to achieve the mission.&lt;/p&gt;
&lt;p&gt;We do resemble a startup — we recruit talented techies who could work anywhere in the world, we work 24/7 on our technology, we participate in industry events. But we’re trying to build an organization — and an idea — that can last 50 or 100 years, and can make the Internet experience better for all. &lt;/p&gt;
&lt;p&gt;We’ve got business relationships with Google, Yahoo, Amazon, eBay and many others. But we prioritize the user experience over any business term. &lt;/p&gt;
&lt;p&gt;We have a mission, but we also compete, in direct ways, for the hearts and minds and clicks of humans using the Internet.&lt;/p&gt;
&lt;p&gt;We have a lot of money in the bank compared to any other open source project. We don’t have much compared to anyone else who’s generally considered competitive with us. &lt;/p&gt;
&lt;p&gt;We donate money to other projects, but we also use money that we have to further our public benefit mission.&lt;/p&gt;
&lt;p&gt;We build applications that people use — Firefox is one of them — but we also provide a technology platform with an open license that many, many developers have built great things on, commercial or otherwise. &lt;/p&gt;
&lt;p&gt;I could go on and on and on. Mozilla doesn’t fit into clean categories — it never has, in my view. It didn’t fit neatly into a category when it started as an experiment at Netscape nearly a decade ago. It didn’t fit neatly when the small team left AOL to start something completely new called the Mozilla Foundation. And it doesn’t fit now, as an organization/company/project/product with more than 100 million people around the world using Firefox and with something approaching $100M in the bank. &lt;/p&gt;
&lt;p&gt;I think it does a disservice to the project to over-constrain Mozilla with simple labels. I’m glad that Noam got as many of the facts right as he did. And I’m glad that more people are starting to tell the story about who Mozilla is and what it’s trying to do in the world — it’s an important story. We’re trying to do a better job at helping folks understand the story, too, in all it’s messy, complicated, contradictory and uncategorized glory.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T23:10:28+00:00</dc:date>
	<dc:creator>John</dc:creator>
</item>
<item rdf:about="http://www.arcanology.com/2007/11/12/the-new-york-times-askes-whether-success-will-spoil-firefox/">
	<title>Al Billings: The New York Times askes whether success will spoil Firefox</title>
	<link>http://feeds.feedburner.com/~r/InPursuitOfMysteries/Mozilla/~3/183769585/</link>
	<content:encoded>&lt;p&gt;Today in the New York Times, there is an article titled, “&lt;a href=&quot;http://www.nytimes.com/2007/11/12/technology/12link.html&quot;&gt;Will Success, or All That Money From Google, Spoil Firefox?&lt;/a&gt;”&lt;/p&gt;
&lt;p&gt;The article focuses on the amount of money that the Mozilla Foundation has generated through the deals that MoCo has with Google and other search providers. To quote the article:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The foundation has used a for-profit subsidiary, the Mozilla Corporation, to collect tens of millions of dollars in royalties from search engine companies that want prominent placement on the browser. And by collecting that money as a war chest to compete against giants like Microsoft and Apple, the foundation has, at least temporarily, moved away from the typical activities of a nonprofit organization.&lt;/p&gt;
&lt;p&gt;“The Mozilla community has been a bit hybrid in terms of integrating public and private investment all along — its history is fairly unique in this respect,” Professor O’Mahony said.&lt;/p&gt;
&lt;p&gt;So far, the many contributors to Firefox seem pleased with its financial success. The bigger question is what Mozilla will do with all its money.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Overall, the piece doesn’t really bring up anything really new, in my opinion. People have been wondering aloud and making comments for a while now about both the amount of money that the Mozilla Foundation has brought in, what the foundation is going to do with it, and the fact that most of it comes from partnering with Google. The less common question about what happens if Google decides not to continue the relationship was also raised but, again, nothing new was really said.&lt;/p&gt;
&lt;p&gt;As a whole, the NYT piece really seems to be repeating the questions that have been raised before along with speculations about “what if…?” that are not terribly new. The only thing that I really saw that was new was the interviews/quotes with people that I have not seen comment up until now.&lt;/p&gt;
&lt;p&gt;I did find it amusing, given the recent &lt;a href=&quot;http://seattlepi.nwsource.com/business/338069_software05.html&quot;&gt;newspaper story&lt;/a&gt; in Seattle about the silence around Internet Explorer 8, that Dean Hachamovitz was quoted in this story and managed to raise concerns around the IE8 silence while discussing Mozilla:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“We are much more reserved about thinking out loud as we make the browser better,” he said. “I can go through and talk about all the innovations we have made, but we don’t talk about them until they are done. People make very important decisions based on what Microsoft says; we have a responsibility about what we say out loud.”&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I find that kind of a poor excuse for their silence for an entire year about IE8. I also find it to be an odd comment in the middle of a newspaper article about success and the Mozilla Foundation. I wonder why the author of the piece decided to include it in an article about IE’s main competitor.&lt;/p&gt;
&lt;p&gt;In any case, the NYT does not really raise any new issues or answer questions that some have had but it does continue to put the spotlight, to some extent, on “What next?” for the foundation. It has a lot of money in the bank. Some plans, like the ones for MailCo, are obviously in the works (though not even mentioned in the article) but this is obviously a question to be solved, over time, as the foundation moves forward.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/InPursuitOfMysteries/Mozilla?a=xRHPr9B&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/InPursuitOfMysteries/Mozilla?i=xRHPr9B&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/InPursuitOfMysteries/Mozilla?a=vuuA2Jb&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/InPursuitOfMysteries/Mozilla?i=vuuA2Jb&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/InPursuitOfMysteries/Mozilla?a=STMXjpB&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/InPursuitOfMysteries/Mozilla?i=STMXjpB&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/InPursuitOfMysteries/Mozilla/~4/183769585&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content:encoded>
	<dc:date>2007-11-12T21:28:39+00:00</dc:date>
	<dc:creator>Al</dc:creator>
</item>
<item rdf:about="http://blog.mozilla.com/tglek/2007/11/12/cleaning-up-my-act/">
	<title>Taras Glek: Cleaning up my act</title>
	<link>http://blog.mozilla.com/tglek/2007/11/12/cleaning-up-my-act/</link>
	<content:encoded>&lt;p&gt;I added an “ongoing work” and “tools” sections to the &lt;a href=&quot;http://wiki.mozilla.org/Mozilla_2&quot;&gt;Mozilla 2&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;The pork suite now has a &lt;a href=&quot;http://wiki.mozilla.org/Pork&quot;&gt;wiki page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;#mercurial regulars kindly educated me about hg branches. Turned out hgimportsvn tries to map some subversion concepts onto hg branches which causes problems for people checking out pork using never versions of hg. For people googling for this issue: do “hg up trunk ; hg branch -f default; hg commit” to produce a magic empty revision to fix this problem.&lt;/p&gt;
&lt;p&gt;If you have tried to compile pork before and gave up in despair, please try again using the &lt;a href=&quot;http://wiki.mozilla.org/Pork&quot;&gt;pork wiki page&lt;/a&gt; for instructions.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T21:10:19+00:00</dc:date>
	<dc:creator>tglek</dc:creator>
</item>
<item rdf:about="http://quality.mozilla.org/876 at http://quality.mozilla.org">
	<title>QMO: The Testday for Firefox 3 Beta 1 continues - Join us Friday, November 16th !</title>
	<link>http://quality.mozilla.org/en/node/876</link>
	<content:encoded>&lt;div class=&quot;event-nodeapi&quot;&gt;&lt;div class=&quot;event-start&quot;&gt;&lt;label&gt;Start: &lt;/label&gt;2007-11-16 08:00&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;event-nodeapi&quot;&gt;&lt;div class=&quot;event-end&quot;&gt;&lt;label&gt;End: &lt;/label&gt;2007-11-17 06:00&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;event-nodeapi&quot;&gt;&lt;div class=&quot;event-tz&quot;&gt;&lt;label&gt;Timezone: &lt;/label&gt;Etc/GMT-8&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Hi,
&lt;/p&gt;
&lt;p&gt;
Many thanks for all the help we got on the first Firefox 3 Beta 1 Release Candidate Testday last Friday. We got a lot of good feedback and bug reports. You can see the result of this very successful testday &lt;a href=&quot;http://wiki.mozilla.org/MozillaQualityAssurance:Home_Page:Firefox_3.0_TestPlan:M9_Results:TestdayResults&quot;&gt;here&lt;/a&gt; .&lt;a href=&quot;http://wiki.mozilla.org/MozillaQualityAssurance:Home_Page:Firefox_3.0_TestPlan:M9_Results:TestdayResults&quot;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://quality.mozilla.org/en/node/876&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T21:06:12+00:00</dc:date>
	<dc:creator>Tomcat</dc:creator>
</item>
<item rdf:about="http://quality.mozilla.org/875 at http://quality.mozilla.org">
	<title>QMO: Join the Firefox Bugday tomorrow, November 13th 2007 !</title>
	<link>http://quality.mozilla.org/en/node/875</link>
	<content:encoded>&lt;div class=&quot;event-nodeapi&quot;&gt;&lt;div class=&quot;event-start&quot;&gt;&lt;label&gt;Start: &lt;/label&gt;2007-11-13 09:00&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;event-nodeapi&quot;&gt;&lt;div class=&quot;event-end&quot;&gt;&lt;label&gt;End: &lt;/label&gt;2007-11-14 09:00&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;event-nodeapi&quot;&gt;&lt;div class=&quot;event-tz&quot;&gt;&lt;label&gt;Timezone: &lt;/label&gt;Etc/GMT-8&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Hi,&lt;/p&gt;
&lt;p&gt;Just another friendly reminder to join in #bugday on&lt;/p&gt;
&lt;p&gt;*Tuesday, November 13th:*&lt;/p&gt;
&lt;p&gt;* Asia session - 14:00-16:00 (Beijing)&lt;/p&gt;
&lt;p&gt;* Euro session - 14:00-16:00 (Berlin)&lt;/p&gt;
&lt;p&gt;* Amer. session - 12:00-14:00 (Los Angeles)&lt;/p&gt;
&lt;p&gt;See also the timetable on&lt;br /&gt;
&lt;a href=&quot;http://quality.mozilla.org/events/bug-days#Schedule&quot;&gt;http://quality.mozilla.org/events/bug-days#Schedule&lt;/a&gt; for your Timezone.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://quality.mozilla.org/en/node/875&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T20:22:44+00:00</dc:date>
	<dc:creator>Tomcat</dc:creator>
</item>
<item rdf:about="tag:blogger.com,1999:blog-5172440053446312608.post-7496721568105969953">
	<title>Nagappan: Linux Desktop Testing Project editor</title>
	<link>http://ldtp-soc.blogspot.com/2007/11/linux-desktop-testing-project-editor.html</link>
	<content:encoded>A nice post by &lt;a href=&quot;http://sp2hari.com/&quot;&gt;Hari&lt;/a&gt;, Thanks for your nice post.&lt;br /&gt;&lt;p align=&quot;justify&quot;&gt;Want to use LDTP to test your application? Or do you want to automate the actions you do often? Or are you a GNU/Linux user who want to show “magic” to your friends by recording your actions and playing them back? You can use LDTP for this. But one small issue with LDTP is that you should know the LDTP Python API to write any test suite. But with the new LDTP Editor, this makes your job really simple. A screenshot of the LDTP Editor is shown below.&lt;/p&gt;  &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://sp2hari.com/wp-content/uploads/2007/11/ldtp-editor.png&quot; title=&quot;LDTP Editor&quot;&gt;&lt;img src=&quot;http://sp2hari.com/wp-content/uploads/2007/11/ldtp-editor.png&quot; alt=&quot;LDTP Editor&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align=&quot;left&quot;&gt;This is a simple HOWTO for recording and playing back the recorded script.&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;&lt;u&gt;Installing LDTP. &lt;/u&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Download the lastest LDTP source code from &lt;a href=&quot;http://people.freedesktop.org/%7Enagappan/ldtp-0.9.2.tar.gz&quot; target=&quot;_blank&quot; title=&quot;LDTP&quot;&gt;http://people.freedesktop.org/~nagappan/ldtp-0.9.2.tar.gz&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Uncompress the file.&lt;/li&gt;&lt;li&gt;Compile the code using ./configure and make&lt;/li&gt;&lt;li&gt;If you don’t have the access to install softwares, run the ldtpeditor file in the python folder&lt;/li&gt;&lt;li&gt;If you have access to install softwares, then run “make install”&lt;/li&gt;&lt;/ul&gt; &lt;p align=&quot;left&quot;&gt;Note::  After installing LDTP Editor, i when i tried to run ldtpeditor, got an error saying&lt;/p&gt; &lt;p&gt;&lt;code&gt;hari@hari-laptop:~/ldtp/ldtp-0.9.2$ ldtpeditor&lt;br /&gt;(ldtpeditor:11130): libglade-WARNING **: could not find glade file '/usr/share/local/ldtp/glade/ldtpeditor.glade'&lt;br /&gt;Glade file not found&lt;/code&gt;&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;The ldtpeditor.glade file is present in the python folder. I got this error because i compiled the code as ./configure. If i had done it as ‘./configure –prefix=/usr’, then i wouldn’t have got this error. Anyway i copied the file manually to that folder.&lt;/p&gt; &lt;p&gt;&lt;code&gt;hari@hari-laptop:~/ldtp/ldtp-0.9.2$ sudo mkdir -p /usr/share/local/ldtp/glade/&lt;br /&gt;hari@hari-laptop:~/ldtp/ldtp-0.9.2$ sudo cp python/ldtpeditor.glade /usr/share/local/ldtp/glade/&lt;br /&gt;hari@hari-laptop:~/ldtp/ldtp-0.9.2$ ldtpeditor&lt;/code&gt;&lt;/p&gt; &lt;p&gt;After that when i ran ldtpeditor, it ran without any issues.&lt;/p&gt; &lt;p&gt;&lt;u&gt;Recording using LDTP Editor&lt;/u&gt;&lt;/p&gt; &lt;p&gt;For this let us consider recording the actions performed in gcalctool.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;First make sure Assistive Technology is enabled in your desktop. If you are not sure about this, open gnome-control-center and in that open Assistive Technology Preferences. You should have Enable Assistive Technologies checked to use LDTP.&lt;/li&gt;&lt;li&gt;If you are enabling Assistive Technology only now, logout and login again.&lt;/li&gt;&lt;li&gt;Run ldtpeditor and gcalctool.&lt;/li&gt;&lt;li&gt;Make sure both you have enabled ‘Always on Top’ or both the applications and both the window doesn’t overlap with each other.&lt;/li&gt;&lt;li&gt; Click the Start button the LDTP Editor. All actions performed after this are recorded.&lt;/li&gt;&lt;li&gt;Perform actions in the gcalctool. Check out &lt;a href=&quot;http://download.freedesktop.org/ldtp/movies/gcalctool-record.ogg&quot; target=&quot;_blank&quot; title=&quot;Gcalctool record&quot;&gt;this video&lt;/a&gt; to see the actions i recored in my computer .&lt;/li&gt;&lt;li&gt;After you’re done with the actions in the gcalctool, click the Stop button in the LDTP Editor.&lt;/li&gt;&lt;li&gt;You can see that the ‘Recorded Code’ tab is updated with code as when you perform actions in gcalctool.&lt;/li&gt;&lt;li&gt;Click the convert button in the LDTP Editor. You’ll see that the Generated LDTP Code and Generated LDTP XML tabs are filled with generated code.&lt;/li&gt;&lt;li&gt;The Play button is not working now. I wrote the patch for that yesterday night ;-).&lt;/li&gt;&lt;li&gt;Save the contents of the ‘Generated LDTP Code’ into a python file (for ex frisco.py) . Note that if the file name you specify already exists, then it OVERWRITES the filename without any warning.&lt;/li&gt;&lt;li&gt;Then run &lt;code&gt;hari@hari-laptop:~$ python frisco.py&lt;/code&gt;&lt;/li&gt;&lt;li&gt;The actions you performed while recording will be played back again  :-)&lt;/li&gt;&lt;/ul&gt; &lt;p align=&quot;justify&quot;&gt;Currently the Play button in the LDTP Editor is not enabled. But you can make it work by applying the patch mentioned below. I guess this patch will be added to LDTP Editor in a week or so. So check the ChangeLog file before applying the patch.&lt;/p&gt; &lt;p&gt;&lt;u&gt; LDTP Editor Preferences&lt;/u&gt;&lt;/p&gt; &lt;p&gt;Using the LDTP Prefereces, you can control what all actions you can control. A brief summary about the options given in the Preferences window.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Listen key events&lt;br /&gt;This option is not yet implemented. Checking/Unchecking this doesn’t make any difference now.&lt;/li&gt;&lt;li&gt;Listen mouse events&lt;br /&gt;This option is not yet implemented. Checking/Unchecking this doesn’t make any difference now.&lt;/li&gt;&lt;li&gt;Generate LDTP Code&lt;br /&gt;Only when if this option is enabled, Convert will generated to LDTP code in the ‘Generated LDTP Code’ tab. This is enabled by default when you run LDTP Editor.&lt;/li&gt;&lt;li&gt;Generate Data XML&lt;br /&gt;If this option is enabled, the LDTP Editor will generate data XML for the actions you perform.&lt;/li&gt;&lt;li&gt;Generate keyboard events code&lt;br /&gt;Generates code for the keyboard events you performed during the recording session.&lt;/li&gt;&lt;li&gt;Generate wait time code&lt;br /&gt;Calculates the delay one takes between each action during the recording session and generates code so that similar time delay is generated while play back.&lt;/li&gt;&lt;li&gt;Generate Memory / CPU statistics.&lt;br /&gt;The code to generate Memory and CPU statistics will be generated.  You need to install pystatgrab and libstatgrab packages.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;u&gt;Patching to make the Run button work&lt;/u&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt; Copy &lt;a href=&quot;http://sp2hari.com/wp-content/uploads/2007/11/ldtpeditor_runbutton.patch&quot; title=&quot;Run Button Patch&quot;&gt;this&lt;/a&gt; patch file to your ldtp folder.&lt;/li&gt;&lt;li&gt;Run&lt;code&gt;hari@hari-laptop:~/ldtp/ldtp-0.9.2$ cd ldtp-0.9.2&lt;br /&gt;hari@hari-laptop:~/ldtp/ldtp-0.9.2$ patch -p0 &lt;br /&gt;&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Compile the code again and run ldtpeditor. This time after you Convert the Code, you can Run the code from the LDTP Editor. :-)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Note:: The generated code had many unwanted waittillguiexist. I saw waittillguiexist(”dlg0″) in many places. If your playback is stopped because of this, remove that before running the scripts.&lt;br /&gt;Sometime the resource will go high as the application map info is collected from the application, so no need to worry.&lt;/p&gt; &lt;p&gt;If you find any issues regarding LDTP Editor, report it to  &lt;a href=&quot;mailto:ldtp-dev@lists.freedesktop.org&quot;&gt;ldtp-dev@lists.freedesktop.org&lt;/a&gt;  or  &lt;a href=&quot;mailto:nagappan@gmail.com&quot;&gt;nagappan@gmail.com&lt;/a&gt; or &lt;a href=&quot;mailto:sp2hari@gmail.com&quot;&gt;sp2hari@gmail.com&lt;/a&gt;&lt;/p&gt; &lt;p&gt;All patches are welcome. :-)&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;My comments&lt;/span&gt;:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can use ./configure --prefix=/usr to avoid that glade file missing warning.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; Additional notes&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;* After clicking record click 'Convert' to get the code converted in LDTP format (It does some post processing, so its required)&lt;br /&gt;* Click save button to save generated python script, if 2nd tab is empty, then it will try to get the contents of first tab and store it in the file you specify. If file already exist, it will *OVER-WRITE*&lt;br /&gt;* control+c, control+v doesn't work&lt;br /&gt;* Sometime the resource will go high as the application map info is collected from the application, so no need to worry. With Thunderbird, the recording really sucks&lt;br /&gt;* You need to have GNOME 2.14 and above to use LDTP editor&lt;br /&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T18:37:00+00:00</dc:date>
	<dc:creator>Nagappan</dc:creator>
</item>
<item rdf:about="urn:md5:05973adb4f6c1bc1cba9731c5a0ac04c">
	<title>Daniel Glazman: Moi j'vou'l'dis</title>
	<link>http://www.glazman.org/weblog/dotclear/index.php?post/2007/11/12/Moi-jvouldis</link>
	<content:encoded>&lt;p&gt;Si malgré les grèves monstrueuses qu'on se prépare j'arrive jusqu'à &lt;a href=&quot;http://2007.paris-web.fr/&quot;&gt;ParisWeb&lt;/a&gt; mercredi, ça va faire coin-coin moi je vous le dis !!!&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T18:17:00+00:00</dc:date>
	<dc:creator>Daniel Glazman</dc:creator>
</item>
<item rdf:about="http://www.silfreed.net/510 at http://www.silfreed.net">
	<title>Doug Warner: Mozdev status update for W45-2007</title>
	<link>http://www.silfreed.net/content/mozdev-status-update-w452007</link>
	<content:encoded>&lt;p&gt;Another big week of mirror work.  I received responses from all the current mozdev.org mirrors as well as some that I wasn't aware was acting as a mirror.  I have most of the mirrors assigned to regions so redirection to the closest mirror should be happening in the near future (once I work out a couple little quirks).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://www.mozdev.org/bugs/show_bug.cgi?id=17994&quot; title=&quot;Update mirrors.mozdev.org mirror list&quot;&gt;Updated mirrors.mozdev.org content&lt;/a&gt;&lt;/strong&gt; - Our &lt;a href=&quot;http://mirrors.mozdev.org&quot;&gt;mirrors.mozdev.org&lt;/a&gt; content was a little stale but is now being generated dynamically from our list of available mirrors.  There's even a tool for you to enter your IP address and see what your preferred mirror set is.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://www.mozdev.org/bugs/show_bug.cgi?id=7137&quot; title=&quot;getCVSRev and Download counter&quot;&gt;Download counters&lt;/a&gt;&lt;/strong&gt; - I've setup tracking of downloads so that we could re-enable the downloads() function for our project sites so they can see how many downloads they're receiving for particular files.  The &lt;a href=&quot;http://www.mozdev.org/projects/top50.html&quot;&gt;Top 50 page&lt;/a&gt; has even been updated to show downloads for the last month.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drupal setup for several projects&lt;/strong&gt; - Several projects have requested to have Drupal setup so that they can evaluate its features.  The projects include &lt;a href=&quot;https://www.mozdev.org/bugs/show_bug.cgi?id=18060&quot; title=&quot;Drupal setup&quot;&gt;stalemate&lt;/a&gt;,  &lt;a href=&quot;https://www.mozdev.org/bugs/show_bug.cgi?id=18069&quot; title=&quot;Drupal please for Mycroft&quot;&gt;Mycroft&lt;/a&gt;, and &lt;a href=&quot;https://www.mozdev.org/bugs/show_bug.cgi?id=18077&quot; title=&quot;Request to set up Drupal for Brief project site&quot;&gt;Brief&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would like to get the last pieces of the &lt;a href=&quot;https://www.mozdev.org/bugs/show_bug.cgi?id=2807&quot; title=&quot;Use visitor's location to determine target download server&quot;&gt;download redirection&lt;/a&gt; completed.&lt;/p&gt;
&lt;p&gt;I will also be working on a &lt;a href=&quot;https://www.mozdev.org/bugs/show_bug.cgi?id=17302&quot; title=&quot;mozdev.org should allow for secure installs&quot;&gt;secure installation method&lt;/a&gt; and would appreciate any comments people have about my proposal.&lt;/p&gt;
&lt;p&gt;Happening simultaneously might be the &lt;a href=&quot;https://www.mozdev.org/bugs/show_bug.cgi?id=15883&quot; title=&quot;Install bugzilla 3.0.2&quot;&gt;Bugzilla 3.0 upgrade&lt;/a&gt;.  We'll be announcing on the project-owners list when this is planned to occur and will be asking people to check out our test install to make sure we haven't overlooked anything.&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T17:14:24+00:00</dc:date>
	<dc:creator>silfreed</dc:creator>
</item>
<item rdf:about="http://home.kairo.at/blog/2007-11/weekly_status_report_w45_2007">
	<title>Robert Kaiser: Weekly Status Report, W45/2007</title>
	<link>http://home.kairo.at/blog/2007-11/weekly_status_report_w45_2007</link>
	<content:encoded>Here's a summary of my SeaMonkey/Mozilla-related work items in week 45/2007 (November 5 - 11):&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;SeaMonkey Releases:&lt;/span&gt;&lt;br /&gt;
SeaMonkey 1.1.6 was released on Monday, I continued uploading contributed builds throughout the week.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;SeaMonkey Website:&lt;/span&gt;&lt;br /&gt;
I spent another bunch of time on getting the new Website finalized to be our primary web appearance, which we switched to on late Sunday finally.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;SeaMonkey Project Structure:&lt;/span&gt;&lt;br /&gt;
Internal discussions in a core team around the SeaMonkey Council continue, we hope to get something about our restructuring into the public soon.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Source L10n:&lt;/span&gt;&lt;br /&gt;
My SeaMonkey L10n announcement is written, but I still want some signoff by the Mozilla L10n lead. Wait to read more about this soon.&lt;br /&gt;
The L10n review for &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=397246&quot;&gt;CVS-based ChatZilla langpacks&lt;/a&gt;is a bit unclear to me, I need to discuss that a bit further with Axel.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;German L10n:&lt;/span&gt;&lt;br /&gt;
FF3beta1 should really be able to ship in German, and SeaMonkey trunk builds were also kept up-to-date.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Various Discussions:&lt;/span&gt;&lt;br /&gt;
Cert override UI, feed discovery, browser notifications, login manager, storage templates, dictionary licensing, auto-update system, etc.&lt;/li&gt;&lt;/ul&gt;As you might have seen, the new SeaMonkey website features a &lt;a href=&quot;http://www.intothefuzz.com/2007/10/15/mozilla-power/&quot;&gt;&quot;Powered by Mozilla&quot; logo&lt;/a&gt; - we are proud to be part of this amazing project and glad to be able to advertise our Mozilla heritage and core (and not &lt;a href=&quot;http://home.kairo.at/blog/2007-10/powered_by_erm_some_cool_thing&quot;&gt;some other brand&lt;/a&gt;). I still love the old theme that I think is now as accurate as ever for the Mozilla project: &quot;&lt;span style=&quot;font-weight: bold;&quot;&gt;hack - this technology could fall into the right hands&lt;/span&gt;&quot;</content:encoded>
	<dc:date>2007-11-12T17:08:56+00:00</dc:date>
	<dc:creator>KaiRo</dc:creator>
</item>
<item rdf:about="http://home.kairo.at/blog/2007-11/new_seamonkey_project_org_website_is_liv">
	<title>Robert Kaiser: New seamonkey-project.org Website Is Live!</title>
	<link>http://home.kairo.at/blog/2007-11/new_seamonkey_project_org_website_is_liv</link>
	<content:encoded>I've been working on a new SeaMonkey website for a while - now it's finally live at &lt;a href=&quot;http://www.seamonkey-project.org&quot;&gt;www.seamonkey-project.org&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
The old www.mozilla.org pages are replaced with a redirect to the new site, so everyone accessing our project should be directed to seamonkey-project.org now.&lt;br /&gt;
&lt;br /&gt;
We have reworked the whole design, added new developer and documentation sections (which could need some more content, help wanted), made the download box at the front dynamic for people using JavaScript, and did lots of other tweaks, including preparation for eventual future localized versions of the website.&lt;br /&gt;
&lt;br /&gt;
I hope the new look suit(e)s you all!</content:encoded>
	<dc:date>2007-11-12T13:36:01+00:00</dc:date>
	<dc:creator>KaiRo</dc:creator>
</item>
<item rdf:about="http://fredericiana.com/2007/11/12/osx-leopard-keep-xterm-from-starting-with-x11/">
	<title>Frederic Wenzel: OSX Leopard: Keep XTerm from starting with X11</title>
	<link>http://fredericiana.com/2007/11/12/osx-leopard-keep-xterm-from-starting-with-x11/</link>
	<content:encoded>&lt;p&gt;As we &lt;a href=&quot;http://fredericiana.com/2007/11/11/osx-leopard-fixing-x11app-for-the-gimp/&quot;&gt;established before&lt;/a&gt;, X11 on OSX 10.5 Leopard is, at least kind-of, broken.&lt;/p&gt;
&lt;p&gt;Gladly, there are numerous community efforts to bring our tragic hero back on stage. For example, like in OSX 10.4 Tiger, it is possible to &lt;strong&gt;deactivate the XTerm window&lt;/strong&gt; starting up every time you start X11. It has just become a little more complicated.&lt;/p&gt;
&lt;p&gt;First, this is what has changed with launching X11 on Leopard (as described on &lt;a href=&quot;http://boredzo.org/blog/archives/2007-10-29/x11-on-leopard-is-broken&quot;&gt;boredzo.org&lt;/a&gt;):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;In Tiger, when you launch X11, it runs &lt;code&gt;.xinitrc&lt;/code&gt;, and &lt;code&gt;.xinitrc&lt;/code&gt; runs &lt;code&gt;xterm&lt;/code&gt; (unless you comment that line out).&lt;/p&gt;
&lt;p&gt;In Leopard, X11.app is just a launcher. All it does is run &lt;code&gt;/usr/bin/login -pf $USER /usr/X11/bin/xterm&lt;/code&gt;. In other words, its only purpose is to run xterm (semi-)directly, by itself–it’s not the actual X11 server anymore. When &lt;code&gt;xterm&lt;/code&gt; starts, launchd sees it, notices that &lt;code&gt;xterm&lt;/code&gt; requires X11, and launches the real X11 server (&lt;code&gt;/usr/X11/X11.app&lt;/code&gt;) automatically.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;In other words, there’s no commenting out a line in .xinitrc anymore in Leopard. Instead, we need to change the launcher itself (as &lt;a href=&quot;http://forums.macosxhints.com/showpost.php?p=423872&amp;amp;postcount=36&quot;&gt;described&lt;/a&gt; in the very useful &lt;a href=&quot;http://forums.macosxhints.com/showthread.php?t=80171&quot;&gt;X11 on Leopard FAQ&lt;/a&gt; on macosxhints):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;defaults write org.x.X11_launcher app_to_run /usr/X11/bin/xlsclients&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Instead of &lt;code&gt;xlsclients&lt;/code&gt;, we can alternatively run &lt;code&gt;xprop&lt;/code&gt; &lt;em&gt;(thanks, &lt;a href=&quot;http://fredericiana.com/?p=1175&amp;amp;cp=1#comment-94534&quot;&gt;JP&lt;/a&gt;!)&lt;/em&gt;. Both applications have the good habit not to do much (i.e. not to waste a lot of cycles/energy/water/CO&lt;sub&gt;2&lt;/sub&gt;/whatever) and also not to open an annoying window like &lt;code&gt;xterm&lt;/code&gt; does.&lt;/p&gt;
&lt;p&gt;Hope this helps &lt;img src=&quot;http://fredericiana.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2007-11-12T12:54:49+00:00</dc:date>
	<dc:creator>Fred</dc:creator>
</item>
<item rdf:about="tag:hecker.org,2007:/mozilla/foundation-activities-2007-11-09">
	<title>Frank Hecker: Mozilla Foundation activities, week ending 2007/11/09</title>
	<link>http://hecker.org/mozilla/foundation-activities-2007-11-09</link>
	<content:encoded>&lt;p&gt;This is my report on activities related to the &lt;a href=&quot;http://www.mozillafoundation.org/&quot;&gt;Mozilla
Foundation&lt;/a&gt; for the week ending
November 9, 2007.&lt;/p&gt;

&lt;h3&gt;Projects for the week&lt;/h3&gt;

&lt;p&gt;Here's a summary of what Foundation-related activities went on last
week; for more information about others' activities please see the
weekly status reports published by &lt;a href=&quot;http://davidwboswell.wordpress.com/&quot;&gt;David Boswell&lt;/a&gt;, &lt;a href=&quot;http://weblogs.mozillazine.org/gerv/&quot;&gt;Gerv
Markham&lt;/a&gt;, and &lt;a href=&quot;http://zak.greant.com/&quot;&gt;Zak Greant&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Grants and related expenditures&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Mozilla Foundation made a &lt;a href=&quot;http://www.perlfoundation.org/patrick_michaud_awarded_perl_6_development_grant_as_a_joint_initiative_by_the_perl_foundation_and_mozilla_foundation&quot;&gt;grant to the Perl
Foundation&lt;/a&gt; to support Perl 6 and Parrot development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We're funding some work by Eitan Isaacson to follow up from his
project to migrate the &lt;a href=&quot;http://live.gnome.org/Orca&quot;&gt;Orca&lt;/a&gt; screen reader for Linux to the
&lt;a href=&quot;http://live.gnome.org/GAP/PythonATSPI&quot;&gt;pyatspi&lt;/a&gt; library, including in particular improving the
performance of Orca with Firefox. This project also includes
work covered by GNOME bugs &lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=448848&quot;&gt;448848&lt;/a&gt;, &lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=446277&quot;&gt;446277&lt;/a&gt;, and
&lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=491862&quot;&gt;491862&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We're also funding &lt;a href=&quot;http://www.codethink.co.uk/&quot;&gt;Codethink Ltd&lt;/a&gt; to do a study to evaluate
the feasibility of porting the GNOME &lt;a href=&quot;http://en.wikipedia.org/wiki/AT-SPI&quot;&gt;AT-SPI&lt;/a&gt; accessibility
interface from &lt;a href=&quot;http://www.gnome.org/projects/ORBit2/&quot;&gt;ORBit&lt;/a&gt; to &lt;a href=&quot;http://www.freedesktop.org/wiki/Software/dbus&quot;&gt;D-Bus&lt;/a&gt;; we're looking at this
because ORBit is being deprecated, and we want to make sure that
the accessibility infrastructure used by Firefox on Linux is as
up to date as possible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dojotoolkit.org/2007/11/05/dojo-1-0&quot;&gt;Dojo 1.0 was released last week&lt;/a&gt; with lots of
accessibility-related enhancements, including those developed by
the University of Toronto &lt;a href=&quot;http://atrc.utoronto.ca/&quot;&gt;Adaptive Technology Resource
Centre&lt;/a&gt; with funding from the Mozilla Foundation; for more
information see the &lt;a href=&quot;http://david.atrc.utoronto.ca/mozgrant/dojo-final-report.html&quot;&gt;final report&lt;/a&gt; on the project.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CAs and related issues&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Last week I published version 1.1 of the &lt;a href=&quot;http://www.mozilla.org/projects/security/certs/policy/&quot;&gt;Mozilla CA certificate
policy&lt;/a&gt;; this new version formalizes our policy for
considering requests from CAs to have their certificates marked
as capable of issuing &lt;a href=&quot;http://en.wikipedia.org/wiki/Extended_Validation_Certificate&quot;&gt;Extended Validation
certificates&lt;/a&gt;. Note carefully: This does &lt;em&gt;not&lt;/em&gt; guarantee
that you'll see EV capability enabled in Firefox, particularly
for every CA that claims to issue EV certificates; this is just
a policy revision, and actual EV support will depend on the work
of the NSS and Firefox developers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I did some work on CA applications from &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=343756&quot;&gt;SwissSign&lt;/a&gt; and
&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=402947&quot;&gt;VeriSign&lt;/a&gt;, and will continue working on other CA applications
this week.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Other&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Gerv did some work on Mozilla community activities in the UK.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zak delivered a keynote address at the &lt;a href=&quot;http://phpconference.com/&quot;&gt;International PHP
Conference&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;David was on vacation all week.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Upcoming activities&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I'm tentatively planning to be in Mountain View on December 11
and 12.&lt;/li&gt;
&lt;/ul&gt;</content:encoded>
	<dc:date>2007-11-12T05:22:00+00:00</dc:date>
	<dc:creator>Frank Hecker</dc:creator>
</item>

</rdf:RDF>

<SCRIPT language="Javascript">
<!--

// FILE ARCHIVED ON 20071117025356 AND RETRIEVED FROM THE
// INTERNET ARCHIVE ON 20091214151513.
// JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
// ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
// SECTION 108(a)(3)).

   var sWayBackCGI = "http://web.archive.org/web/20071117025356/";

   function xResolveUrl(url) {
      var image = new Image();
      image.src = url;
      return image.src;
   }
   function xLateUrl(aCollection, sProp) {
      var i = 0;
      for(i = 0; i < aCollection.length; i++) {
         var url = aCollection[i][sProp];         if (typeof(url) == "string") { 
          if (url.indexOf("mailto:") == -1 &&
             url.indexOf("javascript:") == -1
             && url.length > 0) {
            if(url.indexOf("http") != 0) {
                url = xResolveUrl(url);
            }
            url = url.replace('.wstub.archive.org','');
            aCollection[i][sProp] = sWayBackCGI + url;
         }
         }
      }
   }

   xLateUrl(document.getElementsByTagName("IMG"),"src");
   xLateUrl(document.getElementsByTagName("A"),"href");
   xLateUrl(document.getElementsByTagName("AREA"),"href");
   xLateUrl(document.getElementsByTagName("OBJECT"),"codebase");
   xLateUrl(document.getElementsByTagName("OBJECT"),"data");
   xLateUrl(document.getElementsByTagName("APPLET"),"codebase");
   xLateUrl(document.getElementsByTagName("APPLET"),"archive");
   xLateUrl(document.getElementsByTagName("EMBED"),"src");
   xLateUrl(document.getElementsByTagName("BODY"),"background");
   xLateUrl(document.getElementsByTagName("TD"),"background");
   xLateUrl(document.getElementsByTagName("INPUT"),"src");
   var forms = document.getElementsByTagName("FORM");
   if (forms) {
       var j = 0;
       for (j = 0; j < forms.length; j++) {
              f = forms[j];
              if (typeof(f.action)  == "string") {
                 if(typeof(f.method)  == "string") {
                     if(typeof(f.method) != "post") {
                        f.action = sWayBackCGI + f.action;
                     }
                  }
              }
        }
    }


//-->
</SCRIPT>


