<?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>fredericiana &#187; Mozilla Crosspost</title>
	<atom:link href="http://fredericiana.com/category/english/mozilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://fredericiana.com</link>
	<description>Open Source, The Web, And German-American Oddities</description>
	<lastBuildDate>Thu, 29 Mar 2012 23:56:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Lightning Talk: Premature Optimization</title>
		<link>http://fredericiana.com/2012/03/29/lightning-talk-premature-optimization/</link>
		<comments>http://fredericiana.com/2012/03/29/lightning-talk-premature-optimization/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 23:56:37 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4909</guid>
		<description><![CDATA[During the work week of Mozilla&#8217;s Rapid Web Development in the Bay Area a few weeks ago, we gave a bunch of lightning talks. In my talk, I am looking at two math problems from Project Euler. For each of them, I am contrasting an intuitive solution with one that is, arguably, faster/better/uses less memory. [...]]]></description>
			<content:encoded><![CDATA[<p>During the work week of Mozilla&#8217;s Rapid Web Development in the Bay Area a few weeks ago, we gave a bunch of lightning talks.</p>
<p>In my talk, I am looking at two math problems from <a href="http://projecteuler.net/">Project Euler</a>. For each of them, I am contrasting an intuitive solution with one that is, arguably, faster/better/uses less memory. But <strong>is it actually a better solution</strong> and an <strong>optimization worth spending time and effort on</strong>?</p>
<p>Check it out and let me know what you think!</p>
<p><video id="movie" width="640" height="360" preload="none" controls poster="http://fredericiana.com/wp-content/uploads/2012/03/mozilla_wht.png"><br />
  <source src="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.webm" type='video/webm; codecs="vp8, vorbis"' /><br />
  <source src="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.ogv" type='video/ogg; codecs="theora, vorbis"' /><br />
  <source src="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.mp4" /></p>
<p>Download video as <a href="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.mp4">MP4</a>, <a href="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.webm">WebM</a>, or <a href="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.ogv">Ogg</a>.</p>
<p></video></p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2012/03/29/lightning-talk-premature-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.webm" length="26279809" type="video/webm" />
<enclosure url="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.ogv" length="29158509" type="video/ogg" />
<enclosure url="http://videos-cdn.mozilla.net/serv/flux/lightningtalks-q1-2012/2-fred-premature-optimization.mp4" length="48628351" type="video/mp4" />
		</item>
		<item>
		<title>Firefox Logo in Minecraft</title>
		<link>http://fredericiana.com/2012/03/25/firefox-logo-in-minecraft/</link>
		<comments>http://fredericiana.com/2012/03/25/firefox-logo-in-minecraft/#comments</comments>
		<pubDate>Sun, 25 Mar 2012 21:22:44 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[photo]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4904</guid>
		<description><![CDATA[A few weeks ago on my Minecraft server of choice, I made a thing: It&#8217;s about 50 by 50 blocks. How did I make this, you ask? I took the actual Firefox logo, resized it to 50&#215;50 pixels in Gimp, and reduced the colors pretty drastically. Then it just boils down to putting a grid [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago on my Minecraft server of choice, I made a thing:</p>
<p><a href="http://fredericiana.com/wp-content/uploads/2012/03/minecraft-firefox.jpg"><img src="http://fredericiana.com/wp-content/uploads/2012/03/minecraft-firefox-575x342.jpg" alt="" title="Firefox Logo in Minecraft" width="575" height="342" class="alignnone size-large wp-image-4906" /></a></p>
<p>It&#8217;s about 50 by 50 blocks. How did I make this, you ask? I took the actual Firefox logo, resized it to 50&#215;50 pixels in Gimp, and reduced the colors pretty drastically. Then it just boils down to putting a grid over the image and turning the pixels into blocks. (Luckily, the Minecraft server is in Creative Mode, so I could freely pick blocks according to their colors, even though some of them are really rare when mined.)</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2012/03/25/firefox-logo-in-minecraft/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>On Mutual Respect</title>
		<link>http://fredericiana.com/2012/03/10/on-mutual-respect/</link>
		<comments>http://fredericiana.com/2012/03/10/on-mutual-respect/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 22:43:45 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Cacoethes Scribendi]]></category>
		<category><![CDATA[Mozilla Crosspost]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4876</guid>
		<description><![CDATA[A recent blog post syndicated to Planet Mozilla (trying to recruit supporters for a petition against marriage equality in the UK) led to a veritable storm in the Mozilla community around a content policy for Planet, and finally it turned into a general discussion about a Code of Conduct for the entire Mozilla Community. This [...]]]></description>
			<content:encoded><![CDATA[<p>A recent blog post syndicated to <a href="http://planet.mozilla.org">Planet Mozilla</a> (trying to recruit supporters for a petition against marriage equality in the UK) led to a veritable storm in the Mozilla community around a content policy for <em>Planet</em>, and finally it turned into a general <a href="https://groups.google.com/d/topic/mozilla.governance/wbe2Fi_vR4A/discussion">discussion about a Code of Conduct</a> for the entire Mozilla Community.</p>
<p>This proposal isn&#8217;t new: A few months ago, it shortly came up surrounding a panel discussion at Mozilla&#8217;s internal <em>All-Hands</em> conference, where I asked for clarification on recent vague remarks from the CEO concerning anti-discrimination policies at Mozilla. Unsurprisingly (and rightly), the CEO reaffirmed that Mozilla would not tolerate illegal discrimination of any kind (paraphrase: mine).</p>
<p>At the time, I concluded that there was no need for a <em>written</em> Code of Conduct, believing that the basic concept of treating each other with mutual respect was so universal and simple that it can even (and should) be instilled into any preschooler, not to mention adult. It does not matter what you personally believe about anyone else&#8217;s gender, religion, sexual orientation, body shape, color of skin, handicap, or funny accent. The instant you walk through Mozilla&#8217;s virtual &#8220;doors&#8221;, you have to <strong>exhibit professionalism and respect</strong> towards whoever you interact with. I expected it to be an obvious prerequisite for acceptance into the Mozilla community.</p>
<p>Apparently, this is not shared by everyone. A small minority of community members seem to believe they don&#8217;t (always) have to adhere to such standards. Unfortunately, they are supported by another group of people who misunderstand this as a question of freedom of speech. It isn&#8217;t.</p>
<p>Still, let&#8217;s not get carried away: Inflating this occurrence into an outright crisis would utterly disregard the contributions of many individuals (me included) who take the mandate of mutual respect very seriously and have&#8211;regardless of their own background or even opinion on the topic at hand&#8211;been speaking up and demanding the person in question adhere to such standards while acting within the Mozilla community. Not to mention the many community members who may be less vocal but exhibit flawless behavior towards their peers on a daily basis as a matter of course.</p>
<p>In the light of all this, I concede now that <strong>writing down a Code of Conduct would be helpful</strong> to Mozilla. It would perform the important function of reminding people of these basic standards and urge superiors and peers to enforce them. It would also serve as a valuable reference in case of confusion, or when new members are unsure what&#8217;s expected from them.</p>
<p>Christie has <a href="http://subfictional.com/2012/03/09/the-overdue-need-for-community-conduct-standards-at-mozilla/">listed</a> some good examples of existing codes of conduct by other open source communities. I particularly like the <a href="http://www.ubuntu.com/project/about-ubuntu/conduct">Code of Conduct set forth by Ubuntu</a>, because it does not make the need to act civilly dependent on any particular attribute of a person. Instead, it demands <strong>consideration, respect, and collaborative behavior from all community members and towards all community members equally</strong>.</p>
<p>I&#8217;d wish for a Mozilla Code of Conduct to do the same.</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2012/03/10/on-mutual-respect/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Day 356 &#8211; A Tunisian Girl</title>
		<link>http://fredericiana.com/2011/12/22/day-356-a-tunisian-girl/</link>
		<comments>http://fredericiana.com/2011/12/22/day-356-a-tunisian-girl/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 00:12:27 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[Project 365]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4799</guid>
		<description><![CDATA[This year, Time magazine named &#8220;The Protester&#8221; its &#8220;Person of the Year&#8221;. Inside, they cover several key people in the 2011 protests around the world, among them linguistics teacher and blogger Lina Ben Mhenni (&#8220;A Tunisian Girl&#8221;). In the picture, she&#8217;s carrying her &#8220;sword&#8221; &#8212; the laptop she uses to write her influential blog. To [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/freeed/6556415599/" title="Day 356 - A Tunisian Girl by Fred​, on Flickr"><img src="http://farm8.staticflickr.com/7153/6556415599_55fd8c92fa.jpg" width="333" height="500" alt="Day 356 - A Tunisian Girl"/></a></p>
<p>This year, Time magazine named <a href="http://rt.com/news/time-protester-person-year-799/">&#8220;The Protester&#8221;</a> its &#8220;Person of the Year&#8221;. Inside, they cover several key people in the 2011 protests around the world, among them linguistics teacher and blogger Lina Ben Mhenni (<a href="http://atunisiangirl.blogspot.com/">&#8220;A Tunisian Girl&#8221;</a>). In the picture, she&#8217;s carrying her &#8220;sword&#8221; &#8212; the laptop she uses to write her influential blog. To my delight, she decorated it with a Firefox sticker, along with various others about privacy and political activism.</p>
<p>Hat-tip to Lina: Thank you for standing up for civil rights in your country and everywhere in the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2011/12/22/day-356-a-tunisian-girl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox und Chrome: Konkurrenz ist gut fürs Geschäft</title>
		<link>http://fredericiana.com/2011/12/01/firefox-und-chrome-konkurrenz-ist-gut-furs-geschaft/</link>
		<comments>http://fredericiana.com/2011/12/01/firefox-und-chrome-konkurrenz-ist-gut-furs-geschaft/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 00:07:11 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[10100111001]]></category>
		<category><![CDATA[Mozilla Crosspost]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4695</guid>
		<description><![CDATA[(Der übliche Hinweis vorab: Ich arbeite für Mozilla und gebe hier meine eigene Meinung, nicht notwenigerweise die meines Arbeitgebers, wieder.) Diverse News-Seiten im Internet haben heute gemeldet, dass StatCounter (eines von mehreren Internet-Marktforschungsunternehmen) im November Google Chrome beim weltweiten Marktanteil erstmals knapp vor Mozilla Firefox gesehen hat. Dass manche Statistiken Chrome auf etwa gleichem Marktanteil [...]]]></description>
			<content:encoded><![CDATA[<p><em>(Der übliche Hinweis vorab: Ich arbeite für Mozilla und gebe hier meine eigene Meinung, nicht notwenigerweise die meines Arbeitgebers, wieder.)</em></p>
<p><a href="http://mozilla.org/firefox"><img src="http://farm4.staticflickr.com/3043/5865622317_ec37701c8c.jpg" width="500" height="331" alt="fully open, duh :P"/></a></p>
<p><a href="http://www.heise.de/newsticker/meldung/Marktforscher-Chrome-ueberholt-Firefox-1388288.html">Diverse</a> <a href="http://www.sueddeutsche.de/digital/browsermarkt-google-chrome-ueberholt-den-firefox-1.1224096">News-Seiten</a> im Internet haben heute gemeldet, dass StatCounter (eines von mehreren Internet-Marktforschungsunternehmen) im November Google Chrome beim weltweiten Marktanteil erstmals knapp vor Mozilla Firefox <a href="http://gs.statcounter.com/press/chrome-overtakes-firefox-globally-for-first-time" hreflang="en">gesehen hat</a>.</p>
<p>Dass manche Statistiken Chrome auf etwa gleichem Marktanteil wie Firefox sehen, ist ein <strong>Erfolg für Mozilla</strong>.</p>
<p>Der <a href="http://www.mozilla.org/about/manifesto.de.html">Stiftungszweck</a> der Mozilla Foundation ist, für die <strong>Offenheit des Webs</strong> einzustehen, und für die Freiheit der Benutzer, das Web so zu verwenden, wie sie es möchten (nicht: so wie man es ihnen vorsetzt). Die Tatsache, dass Google dazu in der Lage war, einen Browser zu erstellen, und diesen erfolgreich an den Markt bringen konnte, ist ein unmittelbarer Effekt des unerbittlichen Kampfes von Mozilla und seiner Community, den Browsermarkt aus einem Monopolmarkt in einen Markt mit mehreren Konkurrenten zu verwandeln. Es wäre scheinheilig von Mozilla, nun zu behaupten, das hätten wir nicht gewollt, oder &#8220;als wir offenes Web sagten, meinten wir eigentlich ein Firefox-Monopol&#8221;. <strong>Offen heißt offen</strong>, und wenn Benutzer Chrome verwenden wollen, dann müssen sie dazu in der Lage sein.</p>
<p>Das alles heißt freilich nicht, dass wir nicht noch immer <strong>Firefox</strong> für den <strong>besten Browser für die Benutzer</strong> halten: Schließlich ist es der einzige Browser, der die Interessen des Benutzers ohne Wenn und Aber in den Mittelpunkt rückt. Dass Google ein Konkurrent ist, der mit Chrome ein technisch starkes Produkt mit zweifellos innovativen Eigenschaften hat, ist nicht weniger, sondern um so mehr Grund, Firefox ständig weiter zu verbessern.</p>
<p><span class="credits">Foto: <a href="http://www.flickr.com/photos/morgamic/5865622317/" title="fully open, duh :P by morgamic, on Flickr">&#8220;fully open, duh&#8221;, CC by-sa-nc licensed by morgamic</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2011/12/01/firefox-und-chrome-konkurrenz-ist-gut-furs-geschaft/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mozilla, PyPI and the &#8220;vendor library&#8221;</title>
		<link>http://fredericiana.com/2011/09/23/mozilla-pypi-and-the-vendor-library/</link>
		<comments>http://fredericiana.com/2011/09/23/mozilla-pypi-and-the-vendor-library/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 00:07:38 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4372</guid>
		<description><![CDATA[Yesterday, I read a nice blog post by Alex Clark outlining his experience setting up an instance of Zamboni (the Mozilla Add-ons codebase). The main source of confusion was that Zamboni, like most Django-based Mozilla web applications, uses something we call a vendor library to deploy their third-party library dependencies, as opposed to installing them [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I read a nice blog post by <a href="http://blog.aclark.net/2011/09/22/mozilla-and-pypi/">Alex Clark</a> outlining his experience setting up an instance of <a href="http://github.com/jbalogh/zamboni">Zamboni</a> (the <a href="https://addons.mozilla.org/">Mozilla Add-ons</a> codebase). The main source of confusion was that Zamboni, like most Django-based Mozilla web applications, uses something we call a <a href="http://playdoh.readthedocs.org/en/latest/packages.html"><strong>vendor library</strong></a> to deploy their third-party library dependencies, as opposed to installing them from <a href="http://pypi.python.org/">PyPI</a> using <a href="http://www.pip-installer.org/">pip</a>.</p>
<p>Alex writes:</p>
<blockquote><p>
  I would LOVE to see PyPI become a place that Mozilla felt confident it could use to deploy Python software.
</p></blockquote>
<p>I am happy about this conversation-starter and would like to contribute some of our reasoning for using a &#8220;vendor library&#8221; over pip requirements files. I, too, am not a huge fan of the vendor library, but understand how it solves some of the problems we&#8217;ve been having with plain PyPI at Mozilla.</p>
<p>Let&#8217;s discuss some of our main concerns and how the vendor library solves (or does not solve) them for us.<br />
<span id="more-4372"></span></p>
<h2>Risky dependence on PyPI and other third-party servers</h2>
<p>In the past, PyPI has not always been the most stable of services. Even though PyPI has been vastly improved meanwhile, not all libraries we use can be pulled from PyPI, some come from code repositories on various services. Pulling in files at deploy time from numerous places all over the Internet is a huge risk, particularly if your deployment requires downtime and you need to be done as soon as possible. In other words: A setup that doesn&#8217;t allow us to (mostly) bundle one neat package before actually performing the deployment to our servers is a huge risk we&#8217;re not willing to take lightly.</p>
<p>Some, but not all of this, could be mitigated with a private PyPI mirror, though that comes with a maintenance overhead and does not help for non-PyPI libraries at all.</p>
<h2>We deploy to, potentially, many servers</h2>
<p>Second part of the &#8220;one neat package&#8221; issue: Running <code>pip install</code> on one server is fun and games. On 50? Not so much. It takes a long time, even if you run it on all of them in parallel. Quite possibly, a few of them will have hiccups (network trouble, for example) in the process, so good luck finding out which ones failed and manually fixing those before moving on.</p>
<h2>Package &#8220;migrations&#8221;</h2>
<p>Imagine an upgrade to an already-deployed application. How do you add two libraries, remove three, and upgrade five existing ones? Installing and upgrading might work with pip, for uninstalling we&#8217;d (probably?) need to write some sort of <strong>migration script</strong>, hope it all runs smoothly on all servers, then carry on. Or we blow away the <a href="http://www.virtualenv.org/">virtualenv</a> altogether for every push and reinstall all libraries from scratch.</p>
<p>This is many things, none of which is elegant.</p>
<h2>Contributors</h2>
<p>We want it to be reasonably easy for contributors to set up our code and <strong>start developing</strong>. With the vendor library, it basically boils down to a few git commands, while <code>pip install</code> is a much longer process. In addition, the &#8220;migration problem&#8221; is present here too: The developer has to constantly monitor changes to the requirements files (or realize that the source of an unexpected, new error is a missing library) and run pip as appropriate. In contrast, updating the vendor library is part of the regular pull-from-git process any developer has to do anyway to stay up to date with the main repository.</p>
<p><a href="http://vagrantup.com/">Vagrant</a> mitigates some of these concerns by automating the setup process, but not all.</p>
<h2>Compiled packages</h2>
<p>One thing <em>neither</em> PyPI nor <em>vendor</em> solve is the deployment of packages with <strong>binary components</strong> (usually: C libraries with a Python wrapper). For that reason, we keep those libraries to a bare minimum and prefer pure Python variants wherever feasible. The few unavoidable compiled libraries (such as <a href="http://jinja.pocoo.org/">Jinja2</a> or <a href="http://www.mindrot.org/projects/py-bcrypt/">py-bcrypt</a>) we deploy to our servers through <a href="http://en.wikipedia.org/wiki/RPM_Package_Manager">RPM packages</a> (by sticking these requirements into a common <a href="http://en.wikipedia.org/wiki/Puppet_%28software%29">Puppet</a> file shared by all our webservers). That&#8217;s not too elegant, but as these cases are somewhat rare, it works. In any case, a server running the actual <code>pip</code> command to install these packages needs to have a full compiler toolchain, which production web servers are unlikely to have.</p>
<h2>What it boils down to</h2>
<p>The base concerns here circle around <strong>robustness</strong> and <strong>scalability</strong>, both for deployments to real-world servers and for various, globally distributed developers.</p>
<p>Really, the key is <strong>minimal human involvement</strong>: We love our developers, and we love our sysadmins. Any part of a requirements system with a high chance of <strong>repeatedly requiring human involvement is broken</strong> and needs fixed.</p>
<p>If you have any suggestions on how to improve this setup, I am all ears. As always, Mozilla&#8217;s code and processes are Open Source so we are happy to listen to your ideas!</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2011/09/23/mozilla-pypi-and-the-vendor-library/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Day 264 &#8211; A Firefox-Themed QR Code</title>
		<link>http://fredericiana.com/2011/09/21/day-264-a-firefox-themed-qr-code/</link>
		<comments>http://fredericiana.com/2011/09/21/day-264-a-firefox-themed-qr-code/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 02:00:35 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4365</guid>
		<description><![CDATA[This is me, reading a Firefox-themed QR Code with my cell phone. After getting the idea from this excellent blog post, I made a QR code pointing to mozilla.org/firefox, sporting a nice little Firefox logo in the middle. For the geeks among you who would like the 411, this works because QR codes have a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/freeed/6171185138/" title="Day 264 - A Firefox-Themed QR Code by Fred​, on Flickr"><img src="http://farm7.static.flickr.com/6164/6171185138_b45c55f9f9.jpg" width="333" height="500" alt="Day 264 - A Firefox-Themed QR Code"/></a></p>
<p>This is me, reading a Firefox-themed <a href="http://en.wikipedia.org/wiki/QR_code">QR Code</a> with my cell phone.</p>
<p>After getting the idea from this <a href="http://hackaday.com/2011/08/11/how-to-put-your-logo-in-a-qr-code/">excellent blog post</a>, I made a QR code pointing to mozilla.org/firefox, sporting a nice little Firefox logo in the middle.</p>
<p>For the geeks among you who would like the 411, this works because QR codes have a certain degree of redundancy for error correction. The logo in the middle is considered an &#8220;error&#8221; and thus, the rest of the code is used to puzzle together the information in the code anyway.</p>
<p><img src="http://fredericiana.com/wp-content/uploads/2011/09/fx-qr.png" alt="" title="Firefox QR Code" width="174" height="174" class="alignnone size-full wp-image-4366" /></p>
<p>Try it out with your smart phone (on Android, with an app like <a href="https://market.android.com/details?id=com.google.zxing.client.android&#038;hl=en">Barcode Scanner</a>), it really works!</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2011/09/21/day-264-a-firefox-themed-qr-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Cherry Tree: A Parable</title>
		<link>http://fredericiana.com/2011/09/06/the-cherry-tree-a-parable/</link>
		<comments>http://fredericiana.com/2011/09/06/the-cherry-tree-a-parable/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 05:29:41 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Cacoethes Scribendi]]></category>
		<category><![CDATA[Mozilla Crosspost]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4276</guid>
		<description><![CDATA[I don&#8217;t often write fiction, but this piece is fictional, my intention is for it to be read as a parable. Of course, I am not a writer, so I am unsure how good it is, but if you&#8217;re so inclined, read it, try to understand, and feel free to draw parallels to your own [...]]]></description>
			<content:encoded><![CDATA[<p><em>I don&#8217;t often write fiction, but this piece is fictional, my intention is for it to be read as a <a href="http://en.wikipedia.org/wiki/Parable">parable</a>. Of course, I am not a writer, so I am unsure how good it is, but if you&#8217;re so inclined, read it, try to understand, and feel free to draw parallels to your own real-life situation as you see fit.</em></p>
<p>There once was an old man. He lived alone in a big house with a nice yard. In the yard, there was a big cherry tree. Old as he was, the man needed help around the house, so he asked the kids in the neighborhood to mow the lawn for him, buy him groceries, and run many other errands he needed done. In return, he paid them a few dollars, but he also allowed them to pick cherries off the tree whenever they wanted.</p>
<p>The children loved it.</p>
<p>Sure, many people in the neighborhood needed jobs done, some of them promised to pay more, too, and the old man&#8217;s cherry tree wasn&#8217;t the only one either (in fact, many of the children had cherry trees in their own back yards at home). Still, they would always happily come back to the old man&#8217;s house, either to help him out, or to eat some cherries off the tree, or sometimes even just for a little chat when passing by.</p>
<p>The old man was happy: Not only did the kids give him all the help he needed, he also liked their company. So he gladly spared the money for the errands and the cherries that the children ate in exchange for not being so alone all the time.</p>
<p>One afternoon, the children came by the old man&#8217;s yard to get some cherries. To their dismay, the man had suddenly put a big fence around the tree. They couldn&#8217;t get cherries anymore. &#8220;I have cherries at home anyway&#8221;, said one, &#8220;I&#8217;ll just go buy some with my allowance&#8221;, decided another.</p>
<p>Disappointed and hurt, they walked off. Over the next few days, they tried to find out what had happened. The old man never said anything to the ones that worked for him during that time, but rumor had it that the old man had put up the fence after someone had taken a whole bunch of cherries, many more than a single person could eat. The man had gotten upset about it, the rumors went, and decided to only let the children get cherries now when they asked for them, and only when he felt like it.</p>
<p>Over the next few weeks, the kids visited the man more and more rarely. Some still ran errands for him, but they got them done as quickly as possible and went home. Hardly anyone stopped by for a chat, even the ones that didn&#8217;t like cherries in the first place.</p>
<p>The old man was confused and a little sad to see how little the children seemed to care for him. Then finally the old man had the heart to ask one of the boys why no one would keep him company anymore. &#8220;Is it about the cherries?&#8221;, he wondered, &#8220;But I&#8217;ll still give them to you when you ask!&#8221; As the boy left, he just said: &#8220;It&#8217;s not about the cherries, man, it never was.&#8221;</p>
<p>The old man pondered these words for a long time while he looked at himself in the mirror. Then he finally realized it. The children hadn&#8217;t come to him for the money he gave them for running errands&#8211;any other job around the neighborhood would do. They hadn&#8217;t come because of the cherries, they could all get cherries elsewhere. They had come to him because he had trusted them. He had trusted them to run errands for him and not shortchange him along the way. He had allowed them into his home without fearing they might steal something. And finally, he had trusted them to pick cherries off his cherry tree, plenty but not too many, without his supervision or knowledge.</p>
<p>When he had built that fence after someone had taken too many cherries, he might have had the best intentions, to protect his cherry tree, their cherry tree! But it did not matter, because he hadn&#8217;t just taken away their right to pick cherries, he had taken away the trust, and with that, the very thing that made their relationship special.</p>
<p>But it was too late. Now he was just a lonely old man.</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2011/09/06/the-cherry-tree-a-parable/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>On Insecure Facebook Apps</title>
		<link>http://fredericiana.com/2011/08/08/on-insecure-facebook-apps/</link>
		<comments>http://fredericiana.com/2011/08/08/on-insecure-facebook-apps/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 17:09:13 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4132</guid>
		<description><![CDATA[I am a fan of Words with Friends, a Scrabble clone made by Zynga (of FarmVille fame). The app&#8217;s competitive edge is the availability across platforms (iOS and Android). In the same, cross-platform, spirit, they recently started offering a Facebook app, so people can waste their time not only when they are out and about, [...]]]></description>
			<content:encoded><![CDATA[<p>I am a fan of Words with Friends, a Scrabble clone made by Zynga (of FarmVille fame). The app&#8217;s competitive edge is the availability across platforms (iOS and Android). In the same, cross-platform, spirit, they recently started offering a Facebook app, so people can waste their time not only when they are out and about, but also wherever they have access to a full-blown computer. Unfortunately, clicking on the <strong>Words With Friends Facebook app</strong> leads to this screen:</p>
<p><a href="http://fredericiana.com/wp-content/uploads/2011/08/wordswithfriends-insecure.jpg"><img src="http://fredericiana.com/wp-content/uploads/2011/08/wordswithfriends-insecure-575x267.jpg" alt="" title="Words with Friends: Insecure Connection" width="575" height="267" class="aligncenter size-large wp-image-4133" /></a></p>
<p>My Facebook session is SSL-encrypted by default, but Words with Friends requires me to disable this encryption. This is wrong on many levels. Most notably, if I disable &#8220;secure browsing&#8221; on Facebook altogether, even only for this session, my session cookie will be sent in plain text over the wire (or worse, on Wifi, over the air). If I do this at a coffee shop or airport, this is a great invitation for every evildoer in the general vicinity to hijack my Facebook account.</p>
<p>While I appreciate Facebook&#8217;s transparency in the matter, I find it upsetting that companies like Zynga wouldn&#8217;t account for Facebook users on SSL. By encouraging people to access Facebook over an unencrypted connection, they are foolishly endangering user data and are demonstrating an utter disregard for user privacy.</p>
<p>I wish Facebook <strong>enabled SSL encryption by default</strong>, and furthermore <strong>required third party apps</strong> to be served over SSL. You can&#8217;t have it both ways: Either you don&#8217;t handle user data, then you don&#8217;t need to care about encryption. Or you <em>do</em> handle user data (and yes, a session cookie counts!), then you need to properly secure it. I am tired of software makers weaseling themselves out of their self-imposed responsibility.</p>
<p><strong>Update:</strong> As pointed out in the comments, moving to HTTPS for apps is on <a href="https://developers.facebook.com/blog/post/497/">Facebook&#8217;s developer roadmap</a>. I appreciate it!</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2011/08/08/on-insecure-facebook-apps/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mozilla&#8217;s mission is more than just Firefox</title>
		<link>http://fredericiana.com/2011/07/20/mozillas-mission-is-more-than-just-firefox/</link>
		<comments>http://fredericiana.com/2011/07/20/mozillas-mission-is-more-than-just-firefox/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 21:07:15 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Mozilla Crosspost]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://fredericiana.com/?p=4047</guid>
		<description><![CDATA[One basic question keeps coming up when I talk to people about my job at Mozilla (be it in a social setting or even in interviews with people applying for a job at Mozilla): &#8220;What, Mozilla makes websites? I thought all you did was Firefox.&#8221; It&#8217;s usually followed by a second question: &#8220;what, your websites [...]]]></description>
			<content:encoded><![CDATA[<p>One basic question keeps coming up when I talk to people about my job at Mozilla (be it in a social setting or even in interviews with people applying for a job at Mozilla):</p>
<p><em>&#8220;What, Mozilla makes websites? I thought all you did was Firefox.&#8221;</em></p>
<p>It&#8217;s usually followed by a second question: <em>&#8220;what, your websites are open source, too?&#8221;</em></p>
<p>The basic misconception here is that <em>Firefox is Mozilla&#8217;s mission</em>. This is not true. Mozilla&#8217;s mission is outlined, in broad strokes, in the <a href="http://www.mozilla.org/about/manifesto.en.html">Mozilla Manifesto</a>, and the <strong>core of Mozilla&#8217;s mission is to make the Internet better for the users</strong> (which goes beyond the Web and includes technologies like email, for example). And we believe that the best Internet for the users is one that inherently supports openness and choice.</p>
<p>Now don&#8217;t get me wrong. <strong>Firefox is important.</strong> Because the Web is the most visible thing that people like you and I are using the Internet for nowadays, <strong>Firefox is our most important tool</strong> to make the Internet better for the users. But it is not enough. The Web is not television. On the Web, the <strong>users are also the producers</strong>.</p>
<p>And this is why Mozilla&#8217;s mission goes beyond Firefox, beyond Thunderbird, deeply into the development and privacy space. A participatory Web based on Open standards, powerful APIs, along with the inherent freedom of choice and users&#8217; control over their own personal data are what Mozilla is all about. Apart from Firefox, don&#8217;t be surprised to see Mozilla write state-of-the art, open source <a href="https://github.com/mozilla">web applications and developer tools</a>, be involved in the development of various <a href="https://developer.mozilla.org/en/HTML/HTML5">open</a> <a href="https://wiki.mozilla.org/Security/CSP">standards</a> and play an important role in <a href="http://blog.lizardwrangler.com/2011/07/14/mozilla-in-the-new-internet-era-more-than-the-browser/">many other spaces that are relevant to the Internet today</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://fredericiana.com/2011/07/20/mozillas-mission-is-more-than-just-firefox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

