<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Christopher Blizzard &#187; Linux</title>
	<atom:link href="http://www.0xdeadbeef.com/weblog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.0xdeadbeef.com/weblog</link>
	<description>I love you.</description>
	<lastBuildDate>Thu, 26 May 2011 20:29:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>flashblock port to MicroB</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/07/flashblock-port-to-microb/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/07/flashblock-port-to-microb/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 16:00:26 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Embedding]]></category>
		<category><![CDATA[Fennec]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[N800]]></category>
		<category><![CDATA[N810]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=419</guid>
		<description><![CDATA[Pretty neat to see someone ported over flashblock to run on MicroB on the N810. I haven&#8217;t looked at the code to see how they do it, but I&#8217;ll bet it was a rough ride since that&#8217;s written in C &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/07/flashblock-port-to-microb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p align="center">
<a href="http://browser-extras.garage.maemo.org/news/7/"><br />
<img src="http://browser-extras.garage.maemo.org/news/7/flashblock-acting-sm.png"/><br />
</a>
</p>
<p>
Pretty neat to see someone ported over <a href="http://browser-extras.garage.maemo.org/news/7/">flashblock to run on MicroB on the N810.</a>  I haven&#8217;t looked at the code to see how they do it, but I&#8217;ll bet it was a rough ride since that&#8217;s written in C and C++, not in XUL.  (I also assume that <a href="http://whoisi.com/p/265">Antonio</a> did this work?)
</p>
<p>
As we continue to bring up Fennec it will be interesting to see how fast we can start migrating add-ons over to support Fennec.  It will be a different experience, but many of the same pieces will be there so having support for Firefox for the desktop and Firefox on your mobile device will likely be possible.  (Mark, correct me if I&#8217;m wrong.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/07/flashblock-port-to-microb/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>some random mozilla-related links for your enjoyment</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/some-random-mozilla-related-links-for-your-enjoyment/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/some-random-mozilla-related-links-for-your-enjoyment/#comments</comments>
		<pubDate>Fri, 30 May 2008 17:54:22 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Web]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=380</guid>
		<description><![CDATA[Ari Jaaksi talks about Linux on Phones and what&#8217;s going on at Nokia. He mentions that he&#8217;s working with us at Mozilla &#8211; very true. And good fodder for another post on another day. He also touches on an important &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/some-random-mozilla-related-links-for-your-enjoyment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<b><br />
<a href="http://jaaksi.blogspot.com/2008/05/phones-no-ubuntu-yes.html">Ari Jaaksi talks about Linux on Phones and what&#8217;s going on at Nokia.</a><br />
</b>
</p>
<p>
He mentions that he&#8217;s working with us at Mozilla &#8211; very true.  And good fodder for another post on another day.
</p>
<p>
He also touches on an important topic for me, which is the difference between between being &#8220;open&#8221; and being &#8220;good.&#8221;  Being open is easy.  Being good is not.  I&#8217;ll write more about that at a later date as well.
</p>
<p>
<b><a href="http://www.toolness.com/wp/?p=41">Atul Varma talks about how Weave works and some of the wider goals for the project.</a></b>
</p>
<p>
Weave is a very interesting part of the Mozilla project.  The underlying mechanisms are very simple (just a webdav store and a private and public key system, basically.)  But the fact that we&#8217;ll be able to use it to share data between users on their terms and extension authors should be able to take advantage of the storage that&#8217;s there &#8211; well &#8211; it could be huge.  Lots of great potential here.
</p>
<p>
He also touches on an important part of weave.  That we want user data to be private and we want users to control what they are exposing to the world.  Mozilla&#8217;s servers can&#8217;t read the data that you post and neither can anyone else.  That&#8217;s an important piece of what Weave represents.
</p>
<p>
<b><a href="http://googleblog.blogspot.com/2008/05/happy-birthday-google-gears.html">Google drops the Google from Gears and will be adding Firefox 3 support.</a></b>
</p>
<p>
It&#8217;s clear that Google is trying to build a larger community around the Gears plugin and is willing to give up branding in order to try and make that a reality.  Also good that they are porting to Firefox 3 given that a huge chunk of the world is <a href="http://www.spreadfirefox.com/en-US/worldrecord">about to update to it</a>.
</p>
<p>
<b><a href="http://stompbox.typepad.com/blog/2008/05/also-in-defense.html">Jorge Castro talks about his views on Mozilla&#8217;s commitment and investment in Linux.</a><br />
</b>
</p>
<p>
Jorge is a pretty fantastic guy and I&#8217;m happy that he&#8217;s willing to jump out there and say something about the hard work that our community put in for this release of Firefox on Linux support.  Great native integration, memory and performance improvements, a great experience for users, etc.  Good to see him focus on the big picture which is how much better Firefox 3 will be vs. Firefox 2.
</p>
<p>
Anyway, that&#8217;s it for Friday.  Thanks for tuning in!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/some-random-mozilla-related-links-for-your-enjoyment/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mozilla on directfb</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-on-directfb/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-on-directfb/#comments</comments>
		<pubDate>Tue, 27 May 2008 19:39:57 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Embedding]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=377</guid>
		<description><![CDATA[Over the last few months some of our contributors have been hacking away on trying to get Mozilla running on directfb systems on top of gtk. You can see Niranjan&#8217;s latest post on the topic here as well as the &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/mozilla-on-directfb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Over the last few months some of our contributors have been hacking away on trying to get Mozilla running on directfb systems on top of gtk.  You can see Niranjan&#8217;s <a href="http://groups.google.com/group/mozilla.dev.platforms.mobile/msg/f56bbf10e293f7c3">latest post on the topic here</a> as well as the <a href="http://wiki.mozilla.org/Mobile/DFBPorting">DirectFB Porting Page</a> in our wiki.  Sounds like they have things mostly up and running at this point.
</p>
<p>
There are some patches required to some of the GNOME stack to get things up and running.  The patches are up on the page.
</p>
<p>
Good work, guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-on-directfb/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>more background on fsync on linux</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/more-background-on-fsync-on-linux/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/more-background-on-fsync-on-linux/#comments</comments>
		<pubDate>Sun, 25 May 2008 15:31:23 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=374</guid>
		<description><![CDATA[Mike Shaver put up an excellent piece on the current status of the fsync issues on Linux. It&#8217;s worth a read if you care about such things.]]></description>
			<content:encoded><![CDATA[<p>
Mike Shaver put up an <a href="http://shaver.off.net/diary/2008/05/25/fsyncers-and-curveballs/">excellent piece on the current status of the fsync issues on Linux</a>.  It&#8217;s worth a read if you care about such things.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/more-background-on-fsync-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mozilla unit testing on linux</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-unit-testing-on-linux/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-unit-testing-on-linux/#comments</comments>
		<pubDate>Fri, 23 May 2008 20:40:58 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=371</guid>
		<description><![CDATA[Rob Campbell posted a howto for people who want to run Mozilla unit tests on Linux. If you&#8217;ve ever wondered how to do it, it&#8217;s a decent overview on how to get started. And it&#8217;s pretty relevant to what I &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/mozilla-unit-testing-on-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Rob Campbell posted a <a href="http://antennasoft.net/robcee/2008/05/22/howto-unit-testing-linux/">howto for people who want to run Mozilla unit tests on Linux</a>.  If you&#8217;ve ever wondered how to do it, it&#8217;s a decent overview on how to get started.  And it&#8217;s pretty relevant to what I <a href="http://www.0xdeadbeef.com/weblog/?p=368">posted yesterday.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-unit-testing-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I call lolerskates</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/i-call-lolerskates/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/i-call-lolerskates/#comments</comments>
		<pubDate>Fri, 23 May 2008 16:12:40 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Kicking My Ass]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=370</guid>
		<description><![CDATA[I lost power last night and I finally decided it was time to buy a UPS. I&#8217;ve never actually owned one. I go out to the store this morning and buy one, bring it home, plug it in and I &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/i-call-lolerskates/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
I lost power last night and I <a href="http://twitter.com/chrisblizzard/statuses/817913032">finally decided it was time to buy a UPS</a>.  I&#8217;ve never actually owned one.
</p>
<p>
I go out to the store this morning and buy one, bring it home, plug it in and I decide to try and figure out what kinds of loads various things sitting on my desk create.  I have a little Verizon router for FIOS &#8211; it uses about 5 watts.  The external USB hard drive about 8 watts.  The mac mini that I have running Fedora 8 on it uses about 7 watts.  Not too bad, all things considered.
</p>
<p>
So I decided to drop the router and the drive and find out how much the mini drew when it was running and how much it drew when it was suspended.  So I unplugged them and then suspended the mini.  The power went from 7 watts to 10.  Huh?  I started the mini back up and the power usage dropped back to 7.  Suspend, it jumps back up to 10.  That&#8217;s right.  My mini running Fedora 8 uses more power when it&#8217;s suspended than when it&#8217;s sitting at an idle desktop.
</p>
<p>
I have a new rule.  Richard Hughes isn&#8217;t allowed to <a href="http://blogs.gnome.org/hughsie/2008/05/23/firefox-eula/">complain about anything Firefox-related</a> until my computers running Linux use less power suspended than when they are sitting at an idle desktop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/i-call-lolerskates/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>fedora + seneca college</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/fedora-seneca-college/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/fedora-seneca-college/#comments</comments>
		<pubDate>Wed, 21 May 2008 19:35:15 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seneca College]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=369</guid>
		<description><![CDATA[Hey, this is awesome stuff. Nice job, Greg! It&#8217;s going to be a great fit. The Seneca guys are fantastic.]]></description>
			<content:encoded><![CDATA[<p>
Hey, this is <a href="http://blog.chris.tylers.info/index.php?/archives/116-Red-Hat,-Seneca-College,-and-Fedora.html">awesome stuff</a>.  Nice job, <a href="http://gregdek.livejournal.com/27981.html">Greg!</a>  It&#8217;s going to be a great fit.  The Seneca guys are fantastic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/fedora-seneca-college/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>system components, fsync and distribution-specific changes: a cautionary tale</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/system-components-fsync-and-distribution-specific-changes-a-cautionary-tale/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/system-components-fsync-and-distribution-specific-changes-a-cautionary-tale/#comments</comments>
		<pubDate>Wed, 21 May 2008 18:45:05 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=368</guid>
		<description><![CDATA[Almost every single Firefox user on Linux gets their builds directly from the various distributions. Ubuntu, Fedora, Red Hat, Debian (down-branded), Novell, Foresight, etc. And in those cases users generally have a pretty good experience. But that&#8217;s not always the &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/system-components-fsync-and-distribution-specific-changes-a-cautionary-tale/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Almost every single Firefox user on Linux gets their builds directly from the various distributions.  Ubuntu, Fedora, Red Hat, Debian (down-branded), Novell, Foresight, etc.  And in those cases users generally have a pretty good experience.  But that&#8217;s not always the case.
</p>
<p>
I&#8217;ve always seen this position as both good and bad.  It&#8217;s good for the distribution end users since they don&#8217;t have to go and find a build of Firefox.  And it&#8217;s good for Mozilla because it means that we don&#8217;t have to produce builds for N Linux distributions, which is basically an impossible task.  It also means that distributions can make late-breaking fixes that are specific to their distribution that really affect their particular user base.
</p>
<p>
But it&#8217;s bad, too.  It means we&#8217;re disconnected from users on those various Linux distributions.  We&#8217;re at the mercy of the distributions to make updates in a timely manner, and very often we find ourselves chasing them to make updates that they clearly should be doing.  For those users where we have a direct relationship <a href="http://blog.mozilla.com/security/2007/06/18/time-to-deploy-improvement-of-25-percent/">we have a pretty good track record of making timely updates to almost our entire user base.</a>  Linux users are cut off &#8211; quite intentionally because that is the classic &#8220;value add&#8221; for a Linux distributor &#8211; from our update train, sometimes leaving them vulnerable for weeks or months.  (Note that this does not generally affect the  top-tier Linux distributors like Canonical, Red Hat and Novell.  They are actually excellent at delivering updates because they have dedicated engineers who only have the job to chase Mozilla and be ready when we&#8217;re ready to deliver an update &#8211; either a firedrill or planned update release.)
</p>
<p>
There&#8217;s another large downside as well.  Distributions often make changes to how Firefox is built &#8211; be it compiler optimization changes, linking with system libraries instead of the ones that we ship with, adding their own large patches to add support for some random feature or making changes to the default look and feel of the browser.
</p>
<p>
<a href="http://jasondclinton.livejournal.com/66509.html">Contrary to uninformed hyperbole</a> Mozilla actually does a huge amount of testing on Linux.  It&#8217;s one of our three top tier platforms and we run it through all the same regression and performance testing that the other platforms get.  You can see this by looking how much attention we pay to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=409803">how to tune the compiler to give us the best performance</a> (hint: more -O doesn&#8217;t always make us faster, nor does architecture-specific tuning!) or how much time we&#8217;ve spent on the reported <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=421482">fsync</a> issues that have affected quite a few people.
</p>
<p>
Because of the amount of work that we do on Linux and how closely we work with upstream projects (sqlite, cairo, etc) we&#8217;re still the experts on what works and what doesn&#8217;t.  And because we have a pretty full set of tests that we go through we know what versions of upstream projects work well inside of Mozilla.  Note that this doesn&#8217;t mean we know which versions <em>don&#8217;t</em> work with Mozilla, as I will illustrate later.  We can&#8217;t be compatible with every single version of every upstream project with every single possible configuration, <a href="http://benjamin.smedbergs.us/blog/2005-07-29/the-testing-matrix/">it just doesn&#8217;t work</a>.
</p>
<p>
I&#8217;ll use a specific case in point here to illustrate what I&#8217;m talking about with Fedora + Red Hat.  (<b>Note that I&#8217;m pointing this out because it&#8217;s a real situation, not that I think that the Fedora + Red Hat guys are doing a bad job &#8211; they actually do a fantastic job given the task as far as I&#8217;m concerned.  The issue I&#8217;m about to describe does not affect Fedora 8 or Fedora 9 users &#8211; only those who happen to be using Fedora Rawide &#8211; the bleeding edge of the bleeding edge.</b>)
</p>
<p>
<a href="http://christopher.aillon.org/blog/">Chris Aillon</a> and Matthias Clasen were reporting an issue to me where Firefox was hanging for long periods of time in Fedora Rawhide while opening the history tab.  I figured that it was the same old fsync-related problem but they were reporting that it was happening for long periods of time (30 seconds in a lot of cases) and it was happening on systems that were relatively unloaded in terms of IO.  I was near the Red Hat office on a personal errand and I thought I would stop by and try to help diagnose the issue.  Looking at the issue in a debugger I found that it was hanging down in sqlite and not returning into Mozilla-specific code at all.  I also noticed that they were linked against the system sqlite instead of the one that we ship with.  I asked Matthias to try a Mozilla-built Firefox on his machine with his profile and it did not have any problems.  When Chris generated a build for Fedora Rawhide that used our internal sqlite version it also didn&#8217;t have any problems.
</p>
<p>
It turns out that the sqlite version that&#8217;s included in Rawhide, version 3.5.8, has a <a href="http://www.sqlite.org/cvstrac/tktview?tn=3015">bug</a> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429336#c7">in a particular type of query that Mozilla uses extensively</a>.  When Mozilla updated to that version of sqlite our automated testing picked up on the problem and the change was <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429336#c8">backed out of our tree</a>.  Let&#8217;s look at the order of operations that caused this particular issue.
</p>
<ol>
<li>Mozilla checks in a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429336#c5">patch to upgrade to sqlite version 3.5.8.</a>
<li>Fedora Rawhide notices the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=424063">new requirement in configure</a> and bumps their system sqlite version to 3.5.8.
<li>Mozilla&#8217;s automated testing <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429336#c8">picks up failures as a result of the new sqlite version</a> and backs out the changes.
<li>That backout is missed by the Fedora folks and they are left linking against an sqlite version that contains the problem.
</ol>
</p>
<p>
This isn&#8217;t the worst example of what goes on when distributors are making changes to upstream software.  The impact here was pretty minor &#8211; only a few users were affected and the bug was pretty obvious to a large number of people.  It does get worse.  Ask Debian and Ubuntu users how happy they are about regenerating keys in light of the <a href="http://www.debian.org/security/2008/dsa-1571">OpenSSL issues that were recently</a> found with the downstream patch.  (I realize that&#8217;s an oversimplification of that particular issue but it has a lot of the same qualities as this example.)
</p>
<p>
This is a real problem, one that we&#8217;ve even <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=424063#c6">successfully predicted</a>.
</p>
<p>
So how does this relate to the fsync issue?  Well it shows the opposite end of the of the patch spectrum.  Basically every single Linux distribution is waiting for a good fix to that particular problem.  And they will all ship a fix to their users.  So sometimes distro-specific patching is a good thing.
</p>
<p>
The trick has to be finding the balance.  Right now we know that there are a lot of instances where bad or ignorant decisions are being made.  (Just because an option exists in ./configure doesn&#8217;t mean that you should use it!)  People clearly aren&#8217;t taking advantage of Mozilla&#8217;s automated testing facilities &#8211; in the Fedora example the problem would have shown up pretty quickly if they were running the same tests Mozilla does.  And the flows of information between Mozilla and the various distributions is ad-hoc at best.  Very often more effort is spent debugging the blame instead of debugging the actual problem at hand.  I&#8217;ve been on the receiving end of that recently and it&#8217;s certainly soul-crushing.
</p>
<p>
There&#8217;s also no easy answer to the multiple-library-version problem, either.  Once again, we&#8217;re not going to be compatible with everything everywhere, especially on Linux where the platform is more like quicksand than green grass.  Just screaming &#8220;you should always link against system libraries!!!!&#8221; isn&#8217;t going to work when the <a href="http://blogs.fedoraunity.org/kanarip/2008/05/16/fedora-9-everything-spin">size and complexity</a> of Linux continues to expand without any contraction of the complexity involved in which Linux you should target.  That with blind version updating means that we&#8217;re just going to be stuck with multiple versions of libraries &#8211; assuming you want a quality product that works as well as it does on Windows and the Mac and does so consistently.
</p>
<p>
So if I had to wrap up this post with some lessons learned I would put them down as this:
</p>
<ol>
<li>Don&#8217;t change a default configure option unless there&#8217;s a very good and very specific reason for it.  No, really, don&#8217;t touch the optimization flags &#8211; we&#8217;ve probably tuned them to an inch of the compiler&#8217;s life.  But if you actually <em>run tests</em> and find something faster, let us know.
<li>Don&#8217;t ship a patch unless it&#8217;s been vetted by upstream.
<li>Ship known good patches if it will help your users.  But don&#8217;t do it without talking to us first.  Remember, it&#8217;s possible &#8211; and likely &#8211; that we&#8217;ve known about your issue for quite a while.  And while you&#8217;re at it if you had to fix something consider adding a test to our test suite so it won&#8217;t happen again?
<li>If you do want to carry some heavy patches consider following the pattern that the enterprise distributions are using: they work together (at least Ubuntu, Novell and Red Hat) to carry patches for some pretty old Firefox releases.  And have been relatively successful doing it.
<li>And finally, remember that there&#8217;s a fine line between adding real value and making a change for change&#8217;s sake.  The former is always encouraged (within limits!) but the latter often causes more trouble than it is worth.
</ol>
</p>
<p>
In closing I think I would just like to say that there&#8217;s a lot of work to be done here.  And it&#8217;s something that will need constant adjustment &#8211; there&#8217;s no one set of rules that we can develop and expect them never to change.  Both Linux distributors and Mozilla can do better than they have done to date in terms of making things better for users on Linux.  Thinking about changes, improving communication, understanding the reason for changes or diversion from upstream, etc.
</p>
<p>
And all of that discussion has to come from the standpoint of making sure that the user&#8217;s experience is improved.  If it doesn&#8217;t improve their experience in a very tangible way, it&#8217;s probably not worth doing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/system-components-fsync-and-distribution-specific-changes-a-cautionary-tale/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>last minute meeting about mozilla embedding in mountain view &#8211; come if you&#8217;re in town!</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/04/last-minute-meeting-about-mozilla-embedding-in-sf-come-if-youre-in-town/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/04/last-minute-meeting-about-mozilla-embedding-in-sf-come-if-youre-in-town/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 19:13:08 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Embedding]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=355</guid>
		<description><![CDATA[At Mozilla we&#8217;ve been doing a lot of work on mobile and one aspect of that work is to make it easier to embed Mozilla into other applications. We&#8217;ve been pretty focused on end user features, product and platform in &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/04/last-minute-meeting-about-mozilla-embedding-in-sf-come-if-youre-in-town/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
At Mozilla we&#8217;ve been doing a lot of work on mobile and one aspect of that work is to make it easier to embed Mozilla into other applications.  We&#8217;ve been pretty focused on end user features, product and platform in a way that gets our browser into people&#8217;s hands in a very direct manner.  But in the mobile world, very often people are looking for more than just a browser and we need to make sure that we have excellent support for that <a href="http://wiki.mozilla.org/Mobile/EmbeddingUseCases#Embedding_Gecko_Into_Another_App">use case as well.</a>
</p>
<p>
On Friday a pile of people will all be in San Francisco who care about embedding Mozilla.  Turns out that me, <a href="http://mces.blogspot.com/">Behdad</a>, <a href="http://www.campd.org/">Dave Camp</a>, <a href="http://blog.vlad1.com/">Vlad</a> and <a href="http://blogs.gnome.org/uraeus/">Christian</a> will all be around in the same city at the same time and we&#8217;re going to spend Friday afternoon looking at <a href="http://wiki.mozilla.org/Mobile#Embedding_for_Mobile">embedding apis.</a>  I hope that out of this we&#8217;ll at least have some ideas about what&#8217;s already out there in terms of interfaces and functionality and we&#8217;ll come up with a laundry list of possible resources.  The goal here will be to just start getting ideas and resources together, not to make decisions on what we&#8217;re doing.  The community that we need to build needs to be much larger than just this subset of people and that will be reflected in our strategy for determining what these APIs look like.
</p>
<p>
If you want to join us on Friday afternoon, <a href="mailto:blizzard remove something at mozilla com">drop me a line</a> and let me know.  We&#8217;ll be hanging out at the Mozilla headquarters in Mountain View, discussing first steps and looking at existing APIs.  I&#8217;ll write something up and send it out once we&#8217;re done to the <a href="https://lists.mozilla.org/listinfo">.embedding and .mobile lists</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/04/last-minute-meeting-about-mozilla-embedding-in-sf-come-if-youre-in-town/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>whatwg video support for your phone</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/04/whatwg-video-support-for-your-phone/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/04/whatwg-video-support-for-your-phone/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 14:17:58 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[N800]]></category>
		<category><![CDATA[N810]]></category>
		<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[XULRunner]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=352</guid>
		<description><![CDATA[Above is a video that I took of Chris Double&#8217;s awesome whatwg video work running on my N810. Note that I didn&#8217;t have to do anything special to get this to work. I took the two patches, applied them to &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/04/whatwg-video-support-for-your-phone/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div align="center">
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/41EMuNzstFw&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/41EMuNzstFw&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>
</div>
</p>
<p>
Above is a video that I took of Chris Double&#8217;s <a href="http://www.bluishcoder.co.nz/2008/04/firefox-html5-video-with-gstreamer.html">awesome whatwg video work</a> running on my N810.  Note that I didn&#8217;t have to do anything special to get this to work.  I took the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=382267">two</a> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=422540">patches</a>, applied them to my trunk mozilla build and ran them through the ARM toolchain.  The code works out of the box with the gstreamer backend that&#8217;s included on the N810.
</p>
<p>
I thought that it was important to show that we&#8217;re not just serious about adding video support to Mozilla, but that it can extend to a wide range of devices.  If we want to have a world that includes rich internet applications, we have to be sure that includes phones and lower end devices as well.
</p>
<p>
The video itself is a <a href="http://www.redhat.com/promo/summit/2006/">speech that Cory Doctorow gave at the 2006 Red Hat Summit</a> about copyright and intellectual property.  I thought it was fitting.
</p>
<p>
If you&#8217;re a crazy maemo hacker you can get a copy of the build <a href="http://people.mozilla.org/~blizzard/2008-04-03/">from my people page</a> that includes gstreamer support.  Follow <a href="http://blog.mozilla.com/blassey/2008/03/17/maemo-buildbot/">Brad&#8217;s instructions to get a browser front end once you&#8217;re installed xulrunner somewhere</a>.  If you want to play a video you should make sure that you&#8217;ve encoded it for the N810 using a decent <a href="http://www.bleb.org/software/770/770-encode.pl">script</a> to take advantage of the hardware accel on the device.  Hack up an html page, embed the video like on Chris&#8217; <a href="http://www.double.co.nz/video_test/">test page</a> and try it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/04/whatwg-video-support-for-your-phone/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

