<?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>philipp&#039;s weblog</title>
	<atom:link href="http://www.philipp-wagner.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.philipp-wagner.com/blog</link>
	<description>whatever comes to a developer&#039;s mind</description>
	<lastBuildDate>Fri, 31 May 2013 15:13:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Thanks!</title>
		<link>http://www.philipp-wagner.com/blog/2013/05/thanks/</link>
		<comments>http://www.philipp-wagner.com/blog/2013/05/thanks/#comments</comments>
		<pubDate>Fri, 31 May 2013 15:13:52 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">https://www.philipp-wagner.com/blog/?p=265</guid>
		<description><![CDATA[After publishing the Firefox OS for Raspberry Pi post, Dietrich Ayala commented that he liked it and that he&#8217;d send me something from my Amazon Wishlist. Today I went to the post office to pick up a parcel and look what I got: And that&#8217;s what&#8217;s inside it: That&#8217;s a lot of DVDs to watch. [...]]]></description>
				<content:encoded><![CDATA[<p>After publishing the<a title="Firefox OS for Raspberry Pi: Now Available" href="https://www.philipp-wagner.com/blog/2013/04/firefox-os-for-raspberry-pi-now-available/"> Firefox OS for Raspberry Pi</a> post, <a href="http://autonome.wordpress.com/">Dietrich Ayala</a> <a href="https://www.philipp-wagner.com/blog/2013/04/firefox-os-for-raspberry-pi-now-available/#comment-417">commented</a> that he liked it and that he&#8217;d send me something from my Amazon Wishlist. Today I went to the post office to pick up a parcel and look what I got:</p>
<p><a href="http://www.philipp-wagner.com/blog/wp-content/uploads/2013/05/IMG_20130531_164757.jpg" rel="lightbox[265]"><img class="alignnone size-medium wp-image-267" alt="Does the outside say what's on the inside?" src="http://www.philipp-wagner.com/blog/wp-content/uploads/2013/05/IMG_20130531_164757-225x300.jpg" width="225" height="300" /></a></p>
<p>And that&#8217;s what&#8217;s inside it:</p>
<p><a href="http://www.philipp-wagner.com/blog/wp-content/uploads/2013/05/IMG_20130531_165138.jpg" rel="lightbox[265]"><img class="alignnone size-medium wp-image-266" alt="A-Team DVD Set unboxed" src="http://www.philipp-wagner.com/blog/wp-content/uploads/2013/05/IMG_20130531_165138-300x225.jpg" width="300" height="225" /></a></p>
<p>That&#8217;s a lot of DVDs to watch. Thanks so much! Now I&#8217;m in a little quandary* on what to do on the weekend: work on Firefox OS or watch the DVDs? Maybe I can find time for both, the weather is bad enough to stay inside all day :-)</p>
<p>&nbsp;</p>
<p>* That&#8217;s probably one of the nicest English words I know, so I had to use it here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2013/05/thanks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox OS for Raspberry Pi: Now Available</title>
		<link>http://www.philipp-wagner.com/blog/2013/04/firefox-os-for-raspberry-pi-now-available/</link>
		<comments>http://www.philipp-wagner.com/blog/2013/04/firefox-os-for-raspberry-pi-now-available/#comments</comments>
		<pubDate>Sat, 13 Apr 2013 23:10:17 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[other stuff]]></category>

		<guid isPermaLink="false">https://www.philipp-wagner.com/blog/?p=251</guid>
		<description><![CDATA[It has been quite some time since my last post about Firefox OS running on a Raspberry Pi, but  the questions didn&#8217;t stop to come in &#8220;when will it be released&#8221;? Well, I&#8217;m sorry that it took so long (sometimes finding time is not that easy), but finally, here we are: the sources and build [...]]]></description>
				<content:encoded><![CDATA[<p>It has been quite some time since my <a title="Firefox OS (Boot2Gecko) for Raspberry Pi" href="https://www.philipp-wagner.com/blog/2012/08/firefox-os-boot2gecko-for-raspberry-pi/">last post</a> about Firefox OS running on a Raspberry Pi, but  the questions didn&#8217;t stop to come in &#8220;when will it be released&#8221;? Well, I&#8217;m sorry that it took so long (sometimes finding time is not that easy), but finally, here we are: the sources and build instructions are available!</p>
<p>Head over to the <a href="/ffos-for-rpi/manual/index.html">Firefox OS for Raspberry Pi Manual</a>, which contains all build instructions, download links to a pre-built SD card image and much more information.</p>
<p>But before you start, please note the following limitations of this current release:</p>
<ul>
<li>No input devices are supported. No mouse, no keyboard.</li>
<li>The screen resolution is hardcoded to 1280 x 1024 px.</li>
<li>The used Firefox/Gecko used is not up-to-date (it&#8217;s using revision <a href="https://hg.mozilla.org/mozilla-central/rev/801ba75ac563">801ba75ac563</a> from 2013-01-03).</li>
<li>Quite some patches are required to get Gecko building, most of which were developed by Oleg Romashin. Unfortunately, they are not yet part of the official Mozilla source tree, and some of them are quite hacky. Progress to get this work upstream is tracked in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=731498">bug 731498</a>.All those patches are exported into the <a href="https://github.com/imphil/meta-b2g/">meta-b2g layer</a>. A source repository for easier development will be made available soon together with instructions how to contribute to the Gecko development.</li>
</ul>
<p>So what is all of this useful for at this point? I mainly leave this up to your imagination, but I&#8217;m using it as public info screen, displaying the weather forecast, room occupation, the next subway connections and today&#8217;s lunch menu. All data comes from publicly available web services or is scraped from Internet pages, all client-side with no web server or anything. Here&#8217;s how it looks:</p>
<div id="attachment_256" class="wp-caption aligncenter" style="width: 235px"><a href="http://www.philipp-wagner.com/blog/wp-content/uploads/2013/04/IMG_20130201_131025.jpg" rel="lightbox[251]"><img class="size-medium wp-image-256 " alt="Firefox OS for Raspberry Pi powering an infoscreen" src="http://www.philipp-wagner.com/blog/wp-content/uploads/2013/04/IMG_20130201_131025-225x300.jpg" width="225" height="300" /></a><p class="wp-caption-text">Firefox OS for Raspberry Pi powering an infoscreen</p></div>
<p>I hope you find Firefox OS for Raspberry Pi as useful and exciting as I do, and please send me your comments, suggestions or (best) patches, to make it even greater!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2013/04/firefox-os-for-raspberry-pi-now-available/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Firefox OS (Boot2Gecko) for Raspberry Pi</title>
		<link>http://www.philipp-wagner.com/blog/2012/08/firefox-os-boot2gecko-for-raspberry-pi/</link>
		<comments>http://www.philipp-wagner.com/blog/2012/08/firefox-os-boot2gecko-for-raspberry-pi/#comments</comments>
		<pubDate>Fri, 17 Aug 2012 18:06:54 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">https://www.philipp-wagner.com/blog/?p=229</guid>
		<description><![CDATA[Two weeks ago my Raspberry Pi finally arrived. Immediately I started looking around for a way to get Firefox OS (formerly Boot2Gecko, B2G) running on it and found work-in-progress patches for Mozilla by the awesome Oleg &#8220;romaxa&#8221; Romashin. With those patches, Gecko renders directly into a OpenGL ES framebuffer without using an X Server. Nice! [...]]]></description>
				<content:encoded><![CDATA[<p>Two weeks ago my Raspberry Pi finally arrived. Immediately I started looking around for a way to get <a href="https://www.mozilla.org/en-US/b2g/">Firefox OS (formerly Boot2Gecko, B2G)</a> running on it and found work-in-progress patches for Mozilla by the awesome Oleg &#8220;romaxa&#8221; Romashin. With those patches, Gecko renders directly into a OpenGL ES framebuffer without using an X Server. Nice! So the plan was to use those patches for the &#8220;Firefox&#8221; part of &#8220;Firefox OS&#8221; &#8211; now only the &#8220;OS&#8221; part was missing. I had two ideas for it: it should be as minimal as possible and for best performance it should be a hardfloat build. For this task <a href="http://ptxdist.de/">PTXdist</a> came handy. It&#8217;s a tool that allows you to build a complete Linux-based operating system (kernel and root file system) from source based on rule files. Again I wasn&#8217;t the first one using PTXdist on Raspberry PI and after some googling I found a <a href="https://github.com/fabricega/OSELAS.BSP-fga-Raspberry-2011.11.0">GitHub repository</a> from &#8220;fabricega&#8221; (I don&#8217;t know his full name unfortunately) that I could use as basis for my work.</p>
<p>So that was the idea: build Firefox OS for Raspberry Pi by combining Firefox with a PTXdist-built Linux.</p>
<p>Fast-forward two weeks. Welcome today! After many sleepless nights, a couple switches of the GCC and binutils versions (and full rebuilds of everything), different Linux kernels and some work on Oleg&#8217;s patches, I finally got it all working together! In the mean time Oleg posted a <a href="http://www.youtube.com/watch?feature=player_embedded&amp;v=9f_Y7HoTFLQ">Youtube video</a> of Firefox OS running on Raspberry Pi that made it to the homepage of <a href="http://www.raspberrypi.org/archives/1787">raspberrypi.org</a>. Many people seem to be excited by the idea of running Firefox OS on Raspberry Pi, which is great.</p>
<p>Firefox OS for Raspberry Pi combines two exciting projects, and I&#8217;m sure those two will have a great future together.</p>
<p>A lot of work remains to be done, and I&#8217;ll post patches and more documentation on how to build all of it in the coming days, but let&#8217;s get started with some images (and watch Oleg&#8217;s video if you didn&#8217;t do so yet!):</p>

<a href='http://www.philipp-wagner.com/blog/2012/08/firefox-os-boot2gecko-for-raspberry-pi/b2g-email-lcd/' title='Gaia E-Mail App on a LCD screen (powered by a Raspberry Pi)'><img width="150" height="150" src="http://www.philipp-wagner.com/blog/wp-content/uploads/2012/08/b2g-email-lcd-150x150.jpg" class="attachment-thumbnail" alt="The Gaia email app on a LCD screen. The Raspberry Pi running this is not in the picture unfortunately (it powers a 1280x1024 screen without too much trouble!)" /></a>
<a href='http://www.philipp-wagner.com/blog/2012/08/firefox-os-boot2gecko-for-raspberry-pi/b2g-menu-tv/' title='Firefox OS Games Menu'><img width="150" height="150" src="http://www.philipp-wagner.com/blog/wp-content/uploads/2012/08/b2g-menu-tv-150x150.jpg" class="attachment-thumbnail" alt="Firefox OS User Interface &quot;Gaia&quot; running on a TV, powered by a Raspberry Pi." /></a>
<a href='http://www.philipp-wagner.com/blog/2012/08/firefox-os-boot2gecko-for-raspberry-pi/b2g-welcome/' title='Welcome Firefox OS!'><img width="150" height="150" src="http://www.philipp-wagner.com/blog/wp-content/uploads/2012/08/b2g-welcome-150x150.jpg" class="attachment-thumbnail" alt="Firefox OS Web Browser running on a Raspberry Pi. &quot;Welcome to a new, open and powerful mobile world!&quot;" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2012/08/firefox-os-boot2gecko-for-raspberry-pi/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Contribute to openSUSE: Update a package</title>
		<link>http://www.philipp-wagner.com/blog/2012/06/contribute-to-opensuse-update-a-package/</link>
		<comments>http://www.philipp-wagner.com/blog/2012/06/contribute-to-opensuse-update-a-package/#comments</comments>
		<pubDate>Mon, 25 Jun 2012 22:34:35 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[other stuff]]></category>

		<guid isPermaLink="false">https://www.philipp-wagner.com/blog/?p=212</guid>
		<description><![CDATA[I&#8217;m sure many openSUSE users have already heard about the goodness of the openSUSE Build Service (OBS). But how many have already tried to use it as developer? I didn&#8217;t &#8212; until recently. A couple weeks ago I had found a wrong dependency in the calibre package, and today I was in the need for [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m sure many openSUSE users have already heard about the goodness of the <a href="http://build.opensuse.org">openSUSE Build Service (OBS)</a>. But how many have already tried to use it as developer? I didn&#8217;t &#8212; until recently. A couple weeks ago I had found a wrong dependency in the calibre package, and today I was in the need for a newer version of hplip. I found that using OBS is much easier than I expected. Don&#8217;t believe me? Have a look how easy it can be to update a package. It all follows the popular github fork-and-pull-request development style. As an example I&#8217;ll use (a subset of) the changes I did today to the hplip package.</p>
<p><strong>Step 0: Prepare your system to use OBS</strong></p>
<p>Instead of duplicating existing documentation, just have a look at the <a href="http://en.opensuse.org/openSUSE:Build_Service_Tutorial">OBS tutorial</a> at the openSUSE wiki. You&#8217;ll only need to follow Step One. Basically, this means installing the required packages for OBS and creating a working directory.</p>
<p>If you&#8217;re done, switch to your working directory and you can follow the next steps*.</p>
<p><strong>Step 1: Branch (fork) the original package you want to modify</strong></p>
<p><code>$&gt; osc branch Printing hplip</code></p>
<p><strong>Step 2: Do a checkout of the branched project</strong></p>
<p><code>$&gt; osc co home:YOUR_USERNAME:branches:Printing/hplip<br />
$&gt; cd home:YOUR_USERNAME:branches:Printing/hplip<br />
</code><br />
<strong>Step 3: Do the required changes to the package (the actual work!)</strong><br />
<code><br />
$&gt; wget http://prdownloads.sourceforge.net/project/hplip/hplip/3.12.6/hplip-3.12.6.tar.gz<br />
$&gt; # verify binary (gpg, md5sum, etc.)<br />
$&gt; osc add hplip-3.12.6.tar.gz<br />
A    hplip-3.12.6.tar.gz<br />
$&gt; osc del hplip-3.12.4.tar.gz<br />
D    hplip-3.12.4.tar.gz<br />
# adjust the spec file as necessary ...<br />
</code></p>
<p><strong>Step 4: Build locally to verify your changes</strong></p>
<p><code>$&gt; osc build openSUSE_12.1</code></p>
<p>Instead of openSUSE12.1 you can use any target your might want to test (e.g. openSUSE_Factory etc.). This command is actually pure magic, it pulls all dependencies, installs them into a chroot build environment, and builds the package. Awesome!</p>
<p>You can now even install the resulting RPM package, the above command will tell you where to find it at the end of its output (probably somewhere in /var/tmp/build-root/home/abuild/rpmbuild/RPMS). You actually should do that and verify that everything works as expected.</p>
<p><strong>Step 5: Finish it up<br />
</strong></p>
<p>If you&#8217;re happy with your changes, and everything works as it should, we can get ready for submission.</p>
<p>First, add a changelog entry:</p>
<p><code>$&gt; osc vc</code></p>
<p>will open an editor and allow you to add a changelog entry into the already prepared text template.</p>
<p>Now, check that you added/deleted all files by calling</p>
<p><code>$&gt; osc status</code></p>
<p>If everything looks good, commit the package to OBS by using</p>
<p><code>$&gt; osc commit</code></p>
<p>You can now go to the OBS web interface and watch your package build, or use</p>
<p><code>$&gt; osc results</code></p>
<p>to see the results of the build process on the openSUSE servers. Note that building may take some time, depending on the OBS load and obviously your package.</p>
<p><strong>Step 6: Submit the changes to the maintainer</strong></p>
<p>Everything is great? The last step</p>
<p><code>$&gt; osc sr</code></p>
<p>sends a &#8220;pull request&#8221; (in git language) to the package maintainer. You can see the status of this request in the web interface as well.</p>
<p>Now you only need to wait for the maintainer to accept your changes and then: Congratulations, you&#8217;ve made your possibly first contribution to openSUSE!</p>
<p><strong>Further reading</strong></p>
<p><a href="http://en.opensuse.org/openSUSE:Build_Service_Tutorial">OBS tutorial in the openSUSE wiki</a><br />
<a href="http://en.opensuse.org/openSUSE:Build_Service_Collaboration"> Tutorial on how the branch/pull system works in OBS </a></p>
<p>&nbsp;</p>
<p>* Actually, the steps as written here will not result in a working package. The update of hplip required some other changes that I didn&#8217;t document here, but I hope the real-life examples will help to make the steps more understandable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2012/06/contribute-to-opensuse-update-a-package/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using the the Sun/Oracle Multi-Schema XML Validator (MSV)</title>
		<link>http://www.philipp-wagner.com/blog/2012/04/using-the-the-sunoracle-multi-schema-xml-validator-msv/</link>
		<comments>http://www.philipp-wagner.com/blog/2012/04/using-the-the-sunoracle-multi-schema-xml-validator-msv/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 18:45:38 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[other stuff]]></category>

		<guid isPermaLink="false">http://philipp.wagner.name/blog/?p=197</guid>
		<description><![CDATA[I regularly work with more or less complex XML Schemas, and debugging those requires some tools with command lines I usually forget after a while. So I decided to write down some of my frequently used command lines for MSV, the Sun/Oracle Multi-Schema XML Validator. Maybe you find some of those helpful as well (since [...]]]></description>
				<content:encoded><![CDATA[<p>I regularly work with more or less complex XML Schemas, and debugging those requires some tools with command lines I usually forget after a while. So I decided to write down some of my frequently used command lines for <a href="http://msv.java.net/">MSV, the Sun/Oracle Multi-Schema XML Validator.</a> Maybe you find some of those helpful as well (since the MSV documentation is not exactly perfect).</p>
<p>Note: While I only use MSV for XML Schema validation, it can be used for RelaxNG and other schema languages as well.</p>
<h3>Get MSV</h3>
<p>That&#8217;s the easy part: download a binary build from <a href="http://java.net/downloads/msv/releases/">http://java.net/downloads/msv/releases/</a> and unzip it (you only need the msv.<em>YYYYMMDD</em>.zip).</p>
<h3>Validate a XML document</h3>
<p><code>$&gt; cd msv-20090415<br />
$&gt; java -jar msv.jar schema.xsd document.xml<br />
start parsing a grammar.<br />
validating document.xml<br />
the document is valid.<br />
</code></p>
<h3>Dump the post-schema-validation infoset (PSVI)</h3>
<p>Often it is useful to see which type the XML Schema parser attached to a node in a document. To do this, get the post-schema-validation infoset (PSVI) from the schema validator. With MSV comes a sample application that can be used for this purpose.<code><br />
$&gt; cd msv-20090415/examples<br />
$&gt; java -cp .:../msv.jar psvi.PSVIDump schema.xsd document.xml<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2012/04/using-the-the-sunoracle-multi-schema-xml-validator-msv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>See you at FOSDEM</title>
		<link>http://www.philipp-wagner.com/blog/2012/01/see-you-at-fosdem/</link>
		<comments>http://www.philipp-wagner.com/blog/2012/01/see-you-at-fosdem/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 21:44:46 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[other stuff]]></category>

		<guid isPermaLink="false">http://philipp.wagner.name/blog/?p=191</guid>
		<description><![CDATA[If you want to know more how to use XForms and XULRunner for application development and how the Mozilla Rapid Release Cycle has affected the development of such applications, join me for my talk as FOSDEM this year. More information is available at the FOSDEM website! See you there!]]></description>
				<content:encoded><![CDATA[<p>If you want to know more how to use XForms and XULRunner for application development and how the Mozilla Rapid Release Cycle has affected the development of such applications, join me for my talk as FOSDEM this year. More information is available at the <a href="https://archive.fosdem.org/2012/schedule/event/developing_a_medical_application_using_xulrunner_and_xforms.html">FOSDEM website</a>! See you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2012/01/see-you-at-fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Future of Mozilla XForms</title>
		<link>http://www.philipp-wagner.com/blog/2011/07/the-future-of-mozilla-xforms/</link>
		<comments>http://www.philipp-wagner.com/blog/2011/07/the-future-of-mozilla-xforms/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 12:54:08 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[XForms]]></category>

		<guid isPermaLink="false">http://philipp.wagner.name/blog/?p=174</guid>
		<description><![CDATA[I received a couple mails and comments lately about Mozilla XForms not being available for Firefox 5 (or on addons.mozilla.org for Firefox 4). I also have been thinking about the future direction the Mozilla XForms extension could and should take. This post tries to outline some of those thoughts. Let&#8217;s start with the facts. On [...]]]></description>
				<content:encoded><![CDATA[<p>I received a couple mails and comments lately about Mozilla XForms not being available for Firefox 5 (or on addons.mozilla.org for Firefox 4). I also have been thinking about the future direction the Mozilla XForms extension could and should take. This post tries to outline some of those thoughts.</p>
<p>Let&#8217;s start with the facts. On the development side, I have been the only person doing coding work on XForms for almost a year now (with great support from Aaron, Alex and Olli, who did all the reviews). Unfortunately, I&#8217;m very limited on time and it has not been much work at all (at least by the results; the various platform changes required me to dig much deeper into platform code than I every thought I would, and it took me quite some time to get used those very different areas of code). This makes development extremely slow and puts the focus mainly on &#8220;keep the thing working&#8221; rather than implementing new features.</p>
<p>On the user&#8217;s side, according to the feedback I get via mail and on the mailing list, and according to the download stats, there are still some users of the XForms extension. (The 0.8.8b1 XPI for Firefox 4 has around 300 downloads a month from my site.)</p>
<p>Finally, the environment side. The XForms extension is a binary component that uses many internal interfaces of the Mozilla platform. This makes it, as the past has shown, highly affected by platform changes. It has always been the case that some changes were required on every major platform release (formerly every .x release, e.g. 3.5, 3.6 etc., now every release, e.g. 5, 6, 7).</p>
<p>Since the 3.x-days, three things changed:</p>
<ol>
<li>No more stable APIs. This has been outlined in [1] and implemented with Firefox 4 (Gecko 2.0). This means we cannot rely on any API to stay stable for more than one major release.</li>
<li>With the Rapid Release Process [2], the new development model since Firefox 5, a major release is released every 6 weeks and users are auto-updated to that release.</li>
<li>Extensions with binary components must be at least recompiled for the new major version, even if no changes to the codebase are necessary. [3]</li>
</ol>
<p>These three points put together mean that not only a new XForms release every 6 weeks is necessary, but also that a growing number of fixes for platform changes is needed.</p>
<p>You probably see the problem now. One developer that&#8217;s short on time has absolutely no chance to do a release every six weeks, and without that the Mozilla XForms extension becomes unusable every six weeks (as said before, users are auto-updated to the new major release).</p>
<p>So, what&#8217;s the conclusion? With the current situation, I will not be able to keep up the speed. If no other developers pop up, I don&#8217;t see a future for the Mozilla XForms extension. I personally will continue to use it in the project I&#8217;m working on (and that will stay on the platform Firefox 3.6 is based on probably), but I will not invest much time into the further development to make it compatible with the latest Firefox release.</p>
<p>Put the other way around, this means: if you are a user of the Mozilla XForms extension and need it to be supported on newer Firefox versions, you might consider joining the development (I will help where ever I can, and I am sure that Aaron, Alex and Olli do the same) or pay someone to do so.</p>
<p>As a final comment, I personally came to the conclusion that XForms as a browser plugin is dead. XForms as technology is still very much relevant, but not for all use cases thought of when initially standardizing XForms 1.0. One of them, replacing the &#8220;old&#8221; HTML4 forms, will probably never happen. HTML5 and its surrounding technologies make the browser much more powerful in a generic way. This makes it possible to provide a much greater user experience with server-side solutions than it was possible a couple years ago. The web and with it the browser market changed drastically over the last couple years, with more competitors and innovations happening at a much faster pace than ever before. By acknowledging this we can use the new opportunities the HTML5-Cloud-Buzzword-Web brings to provide an even better experience for the users of XForms &#8212; unfortunately, the Mozilla XForms extension will not be part of that experience.</p>
<p>&nbsp;</p>
<p>PS: There is much discussion going on in the community right now about<br />
add-on compatibility, including ideas like porting binary addons to<br />
js-ctypes or using the Addon SDK (JetPack). Both options are not really<br />
applicable to XForms, as it is probably unique in the way how deep it<br />
integrates with the platform. Even if they were, a lot of engineering effort would be necessary to utilize those technologies. [4], [5]</p>
<p>&nbsp;</p>
<p>[1] <a href="http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/18f49e75338e4ce0/f42915417230e621?pli=1">http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/18f49e75338e4ce0/f42915417230e621?pli=1</a><br />
[2] <a href="https://wiki.mozilla.org/RapidRelease">https://wiki.mozilla.org/RapidRelease</a><br />
[3] &#8220;We have and we will break add-on API compatibility with every release, certainly binary add-on compat. We will be adding major new features or doing serious re-architecuring with every release.&#8221; &#8212; Asa Dotzler at <a href="http://weblogs.mozillazine.org/gerv/archives/2011/07/firefox_version_numbers_cognitive_disson.html">http://weblogs.mozillazine.org/gerv/archives/2011/07/firefox_version_numbers_cognitive_disson.html</a><br />
[4] <a href="http://xulforge.com/blog/2011/07/version-numbers-add-on-breakage/">http://xulforge.com/blog/2011/07/version-numbers-add-on-breakage/</a><br />
[5] <a href="http://adblockplus.org/blog/binary-xpcom-components-are-dead-js-ctypes-is-the-way-to-go">http://adblockplus.org/blog/binary-xpcom-components-are-dead-js-ctypes-is-the-way-to-go</a><br />
<strong>This is a <a href="http://groups.google.com/group/mozilla.dev.tech.xforms/browse_frm/thread/84a31df9ebdee598#">cross-post</a> from the <a href="https://lists.mozilla.org/listinfo/dev-tech-xforms">mozilla.dev.tech.xforms news group</a>, please follow up there for the further discussion.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2011/07/the-future-of-mozilla-xforms/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Make VirtualBox USB Support Work in openSUSE 11.4</title>
		<link>http://www.philipp-wagner.com/blog/2011/03/make-virtualbox-usb-support-work-in-opensuse-11-4/</link>
		<comments>http://www.philipp-wagner.com/blog/2011/03/make-virtualbox-usb-support-work-in-opensuse-11-4/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 10:03:39 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[other stuff]]></category>

		<guid isPermaLink="false">http://philipp.wagner.name/blog/?p=155</guid>
		<description><![CDATA[VirtualBox and its USB support always have caused some trouble. Since VirtualBox 4, the USB support is not part of a different binary any more (PUEL vs. OSE), but lives inside an extension pack, which you can download from the VirtualBox download site. On openSUSE, this means you can install the VirtualBox package using Yast [...]]]></description>
				<content:encoded><![CDATA[<p>VirtualBox and its USB support always have caused some trouble. Since VirtualBox 4, the USB support is not part of a different binary any more (PUEL vs. OSE), but lives inside an extension pack, which you can download from the <a href="http://www.virtualbox.org/wiki/Downloads">VirtualBox download site</a>.</p>
<p>On openSUSE, this means you can install the VirtualBox package using Yast (or zypper, or whatever you&#8217;d like to use) and then open VirtualBox, go to File &gt; Preferences &gt; Extensions, click the top &#8220;Add package&#8221; button, select the downloaded file and you&#8217;re done.</p>
<p>Well, almost done. After you add a USB device filter to your VM and boot it, you&#8217;ll notice that all entries in the Devices &gt; USB menu are grayed out.</p>
<p>Reason for this is a permission problem. Usually, VirtualBox installs a udev rule that gives all users in the vboxusers group permission to access all USB files. openSUSE chose to disable this udev rule by default for security reasons without visible notice to the users.<br />
So, to cut a long story short, open /etc/udev/rules.d/60-vboxdrv.rules, and replace the lines that are commented out with the ones below (these are almost like the commented-out lines, but replace NAME with SYMLINK+):</p>
<p><code>KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"<br />
#these two lines give access permission to vboxusers to properly work with usb nodes, this could be security risk (bnc#664520) !!<br />
SUBSYSTEM=="usb_device", ATTR{devnum}=="?*", ATTR{busnum}=="?*",<code>SYMLINK+</code>="vboxusb/$attr{busnum}/$attr{devnum}", GROUP="vboxusers"<br />
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{devnum}=="?*", ATTR{busnum}=="?*",SYMLINK+="vboxusb/$attr{busnum}/$attr{devnum}", GROUP="vboxusers"</code></p>
<p>Now reboot and you should have all USB devices available (at least if you&#8217;re in the vboxusers group, check this with the <code>id</code> command in a terminal window).</p>
<p>And while you&#8217;re at it, please ignore forum posts that modify usbfs or anything like that, newer VirtualBox versions don&#8217;t need these things any more.</p>
<p>If you only have a 10-vboxdrv.rules file, then you most likely installed VirtualBox not from the openSUSE repositories, but from the VirtualBox download site. Remove this version first and install the openSUSE version if you want to use this guide (and save you from recompiling the kernel module with every update).</p>
<p><em>(Post updated on 2011-08-15 to incorporate some user comments. Thanks guys!)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2011/03/make-virtualbox-usb-support-work-in-opensuse-11-4/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Skype, KDE4, OpenSUSE 11.3 and PulseAudio</title>
		<link>http://www.philipp-wagner.com/blog/2011/01/skype-kde4-opensuse-11-3-and-pulseaudio/</link>
		<comments>http://www.philipp-wagner.com/blog/2011/01/skype-kde4-opensuse-11-3-and-pulseaudio/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 21:50:48 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[other stuff]]></category>

		<guid isPermaLink="false">http://philipp.wagner.name/blog/?p=141</guid>
		<description><![CDATA[This combination seems to be a bit hard for openSUSE. While PulseAudio solves many problems Linux users have with audio (and creates others), openSUSE seems to make it even harder for users to make use of it. That&#8217;s usually not a problem, until Skype comes into the game. As soon as it detects PulseAudio being [...]]]></description>
				<content:encoded><![CDATA[<p>This combination seems to be a bit hard for openSUSE. While PulseAudio solves many problems Linux users have with audio (and creates others), openSUSE seems to make it even harder for users to make use of it. That&#8217;s usually not a problem, until Skype comes into the game. As soon as it detects PulseAudio being present on the system, it uses it. For me, this lead to no sound on my headset, and the common suggestions in forums seems to be uninstall PulseAudio, reinstall your system, install Ubuntu and other useless suggestions.</p>
<p>But actually there is a way to get it all work together nicely and it&#8217;s not hard at all:</p>
<ol>
<li>Enable PulseAudio (#&gt; is a root console)
<pre>#&gt; setup-pulseaudio --enable</pre>
</li>
<li>Install the missing PulseAudio mixer (without it it&#8217;s like sitting in a car without driving wheel)
<pre>#&gt; zypper install pavucontrol</pre>
</li>
<li>Reboot (just to make sure &#8230;)</li>
<li>Start pavucontrol. You&#8217;ll see your sound devices (e.g. the sound card and your headset), the per-application volume controls as soon as an application uses an input or output and everything else you dreamed of.</li>
</ol>
<p>Now you can start Skype and do a test call, and you&#8217;ll be able to use pavucontrol to route its output and input to the right device (e.g. to your headset).</p>
<p>Enjoy!</p>
<p>PS: It seems that there <a href="http://fedoraproject.org/wiki/Features/KDE_PulseAudio_Integration">has been some progress</a> on KDE4 integration with PulseAudio, and I hope in openSUSE 11.4 everything will work out of the box.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2011/01/skype-kde4-opensuse-11-3-and-pulseaudio/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Preview version of Mozilla XForms for Firefox 4 available</title>
		<link>http://www.philipp-wagner.com/blog/2011/01/preview-version-of-mozilla-xforms-for-firefox-4-available/</link>
		<comments>http://www.philipp-wagner.com/blog/2011/01/preview-version-of-mozilla-xforms-for-firefox-4-available/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 21:42:16 +0000</pubDate>
		<dc:creator>Philipp Wagner</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[XForms]]></category>

		<guid isPermaLink="false">http://philipp.wagner.name/blog/?p=130</guid>
		<description><![CDATA[A lot of improvements went into Firefox 4 that also affected compatibility with the Mozilla XForms extension. We have been trying to keep up with the developments and with Beta 8 of Firefox 4 there should be no more breaking changes. To make sure we didn&#8217;t miss any important regressions over the previous versions, I [...]]]></description>
				<content:encoded><![CDATA[<p>A lot of improvements went into Firefox 4 that also affected compatibility with the Mozilla XForms extension. We have been trying to keep up with the developments and with Beta 8 of Firefox 4 there should be no more breaking changes. To make sure we didn&#8217;t miss any important regressions over the previous versions, I put together a preview release of Mozilla XForms for Firefox 4, which is available for download now:</p>
<p><a href="http://philipp.wagner.name/mozilla-xforms/xforms-0.8.8b1.xpi">http://philipp.wagner.name/mozilla-xforms/xforms-0.8.8b1.xpi</a></p>
<p>It requires at least Firefox 4 Beta 8 and works on Windows (x86) and Linux (x86 and x86_64).</p>
<p>Please test this version with your forms and report any problems you find! It helps us to deliver a great version of the extension for Firefox 4!</p>
<p>An (incomplete) <a href="https://bugzilla.mozilla.org/buglist.cgi?chfieldto=2011-01-04&amp;query_format=advanced&amp;chfield=bug_status&amp;chfieldfrom=2010-04-27&amp;chfieldvalue=RESOLVED&amp;bug_status=RESOLVED&amp;component=XForms&amp;classification=Components&amp;product=Core">list of changes is available</a>.</p>
<p>Looking forward to your feedback!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.philipp-wagner.com/blog/2011/01/preview-version-of-mozilla-xforms-for-firefox-4-available/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
