<?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>Robert Accettura&#039;s Fun With Wordage &#187; Mozilla</title>
	<atom:link href="http://robert.accettura.com/blog/tag/mozilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://robert.accettura.com</link>
	<description>Robert Accettura&#039;s Personal Blog on Web Development and Tech</description>
	<lastBuildDate>Thu, 09 Feb 2012 01:43:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://robert.accettura.com/?pushpress=hub'/>
<cloud domain='robert.accettura.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Why Open Source Is Pretty Awesome</title>
		<link>http://robert.accettura.com/blog/2012/02/07/why-open-source-is-pretty-awesome/</link>
		<comments>http://robert.accettura.com/blog/2012/02/07/why-open-source-is-pretty-awesome/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 01:01:09 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=7427</guid>
		<description><![CDATA[At some point I think it&#8217;s easy to take things for granted. Being able to alter software to meet your needs is an awesome power. Today, a tweet rehashed an annoyance regarding a tactic on websites to alter copy/paste and &#8230; <a href="http://robert.accettura.com/blog/2012/02/07/why-open-source-is-pretty-awesome/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At some point I think it&#8217;s easy to <a href="http://en.wiktionary.org/wiki/take_for_granted">take things for granted</a>.  Being able to alter software to meet your needs is an awesome power.  </p>
<p>Today, a <a href="https://twitter.com/mhoye/status/166893548413796353">tweet</a> rehashed an annoyance regarding a tactic on websites to alter copy/paste and put a link with tracking code in your clipboard.  I could <a href="http://www.tynt.com/tynt-users-opt-out" rel="nofollow">opt out</a>, but that doesn&#8217;t fix when websites roll their own.  It&#8217;s a fairly simple thing to implement.  In my mind there&#8217;s little (read: no) legitimate justification for <code>oncopy</code>, <code>oncut</code> or <code>onpaste</code> events.</p>
<p>So I did an hg pull while working on some other stuff.  I came back and wrote a quick patch, started compiling and went back to working on other stuff.  </p>
<p>Then came back to a shiny new Firefox build with a shiny new preference that disabled the offending functionality.  A quick test against a few websites shows it works as I intended by simply killing that event.  You can&#8217;t do these things with closed source.</p>
<p>Of course I found the relevant <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=542938">bug</a> and added a patch for anyone interested.</p>
<p>A 15 minute diversion and my web browsing experience got a little better.  Sometimes I forget I&#8217;ve got experience on that side of the wire too <img src='http://robert.accettura.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  .
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=7427#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2012/02/aecad42.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2012/02/07/why-open-source-is-pretty-awesome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>On Firefox Versioning</title>
		<link>http://robert.accettura.com/blog/2011/08/17/on-firefox-versioning/</link>
		<comments>http://robert.accettura.com/blog/2011/08/17/on-firefox-versioning/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 00:40:01 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[life-cycle]]></category>
		<category><![CDATA[software-development]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5985</guid>
		<description><![CDATA[Writing software is actually quite easy. Writing good software is relatively harder, but still easy. Writing software to a programmer is like painting to a painter. Shipping software is an incredibly complicated task. It&#8217;s like getting a stadium full of &#8230; <a href="http://robert.accettura.com/blog/2011/08/17/on-firefox-versioning/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Writing software is actually quite easy.  Writing good software is relatively harder, but still easy.  Writing software to a programmer is like painting to a painter.  Shipping software is an incredibly complicated task.  It&#8217;s like getting a stadium full of babies to all have clean diapers at the same time with only one or two people to do the work.  As soon as you fix one thing, you discover more crap. The process stinks and you&#8217;ll never reach the end. Those who do it either by printing a CD, uploading a binary, or pushing out changes to a tier of web servers know what I&#8217;m talking about.  </p>
<p>It&#8217;s easy to write code to do things.  It&#8217;s harder to build a product.  It&#8217;s harder still to actually draw a line in the sand and decide when you&#8217;re &#8220;done&#8221;.  The truth is all software ships with bugs.  Someone who tells you otherwise is an idiot.  They almost certainly aren&#8217;t all discovered, very likely some will be, but they absolutely exist.  The general consensus is you want no glaring bugs and you don&#8217;t want big bugs in common use cases.  Obscure use cases will always be more buggy.  That&#8217;s the nature of the beast.</p>
<p>Knowing this, it&#8217;s easy to understand that changing release cycles will be an arduous process with lots of details to think about.  Not everything is quantitative or can be reduced to a math equation.  How long is it worth waiting for a feature?  Is the shiny button worth 3 days?  3 weeks?  3 months?  Indefinite hold?  Will it even work as we think?  What bugs will it introduce? How long to deal with those? Not an easy decision.  Even harder to reach a consensus on.  The only thing certain is the lack of a decision will guarantee a failure to launch.</p>
<h3>The Firefox Version Problem</h3>
<p>Firefox is now a <a href="https://blog.mozilla.com/channels/2011/07/18/every-six-weeks/">6 week release cycle</a>.  This means features get out the door soon after they are fully baked.  That&#8217;s a very good thing.  That means adoption of modern technologies and the latest in security is out there quickly.  We all benefit from that.  </p>
<p>The downside however is that upgrades are disruptive.  They can break compatibility, and they require extensive testing in large deployments (big companies, educational institutions).  That can be expensive and time consuming if you&#8217;re impacted.</p>
<p>The other side of this is version numbers get blurred.  4.0, 5.0, 6.0&#8230; &#8220;WTF is the difference&#8221; most users would think given it looks largely the same. But is it really 4.0.1, 4.0.2, 4.0.3?   As a web developer, what versions are you supporting?  This is now much more complicated (don&#8217;t even get me started in testing).</p>
<h3>Stable vs. Slipstream</h3>
<p>My modest proposal is a Stable/Slipstream (I prefer &#8220;slipstream&#8221; vs. &#8220;bleeding edge&#8221;) model.  For example:</p>
<p>Firefox 7.0 ships in 6 weeks, <a href="https://wiki.mozilla.org/Releases#Firefox_7">September 27</a> as of this blog post.  From then on, every 6 weeks a new release ships and would become 7.1, 7.2, 7.3 etc.  For users, it&#8217;s just auto-updates every so often.  These intermediate releases are disposable as the users are on the slipstream.  They rapidly update.  A matter of weeks after the release the previous one is unsupported.  Previous releases are just a rumor, recognizable only as deja vu and dismissed just as quickly<sup>1</sup>. They are oblivious to the concept of &#8220;versions&#8221; for the most part.  After several release cycles (9-12 months), this becomes &#8220;stable&#8221; at 7.x.  The next day 8.x starts and the process starts over.  </p>
<p>From then on (I&#8217;d propose 12 months) only security fixes will be provided to 7.x.  For large deployments who need to do extensive QA, they adopt the stable branch once a year on a predictable schedule and stick to it.  For the vast majority of the internet, they adopt the slipstream (default) and get the latest release every 6 weeks.  The stable branch is only around for a limited period of time  before it moves to the next version.  That last release cycle may be a bit more modest and lower risk than the previous ones.</p>
<p>The end result is that nobody cares about a release older than 12 months.  Generally speaking only 2 matter.  Slipstreamed users are updating rapidly (and will likely update even more rapidly as the process improves).  Stable users have 12 months to hop to the next lily pad.  This goes for IT, web developers, add-on developers, browser developers.</p>
<p>In the long term (next few years), I think web applications will become more agile and less rigid.  Part of what things like HTML5 provide is a more standardized and less hacky way of doing things.  That means less compatibility issues with untested browsers.  As those older applications are phased out, the test cycles for large deployments will decrease.  Ideally some will eventually just migrate away from &#8220;stable&#8221;.</p>
<h3>Version Numbers</h3>
<p>Yes, version numbers still exist, but for most users they don&#8217;t mean terribly much unless they have a problem or need to verify compatibility with something.  In which case, the major release number is likely the important one.  They are still a necessary evil, and users do need to know how to get it, even if they don&#8217;t need to know it offhand.  Browser version number is pretty much the first step of any diagnostics for a web application as it&#8217;s the ultimate variable.</p>
<p>Just my thoughts on the last several weeks of debate.</p>
<p><small>1.  <a href="http://www.imdb.com/title/tt0119654/quotes">Men In Black (2007)</a></small>
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5985#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/08/fccc649.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/08/17/on-firefox-versioning/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Mork And Casey Anthony</title>
		<link>http://robert.accettura.com/blog/2011/07/20/mork-and-casey-anthony/</link>
		<comments>http://robert.accettura.com/blog/2011/07/20/mork-and-casey-anthony/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 00:55:13 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[In The News]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[mork]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[Thunderbird]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5886</guid>
		<description><![CDATA[Jamie Zawinski linked to a very interesting blog post about the forensics problem in the recent Casey Anthony trial. To summarize, she was using an older version of Firefox, which stores its history in a Mork DB. For those not &#8230; <a href="http://robert.accettura.com/blog/2011/07/20/mork-and-casey-anthony/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://jwz.livejournal.com/1454795.html">Jamie Zawinski</a> linked to a <a href="http://wordpress.bladeforensics.com/?p=357">very interesting blog post</a> about the forensics problem in the recent Casey Anthony trial.  To summarize, she was using an older version of Firefox, which stores its history in a <a href="https://developer.mozilla.org/en/Mork_Structure">Mork DB</a>.  For those not familiar with Mozilla internals, Mork is (I&#8217;m <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=241438#c0">quoting</a> JWZ here): </p>
<blockquote cite="https://bugzilla.mozilla.org/show_bug.cgi?id=241438#c0"><p>
…the single most braindamaged file format that I have ever seen in my nineteen year career&#8221;.
</p></blockquote>
<p>That bug was actually one of two times where I <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=241438#c3">brushed with Mork</a>, that time learning, and another time shortly afterwards where I learned first hand how impossible it really is to work with as part of a hack I was trying to build and later abandoned.  Perhaps it was my experience at the time that just made it impossible, perhaps it really was Mork.</p>
<p><span id="more-5886"></span></p>
<p>Coincidentally Mork is now <a href="https://twitter.com/chrisblizzard/status/88314721631076352">completely dead</a>.  I suspect the last bits were actually Thunderbird who used Mork pretty extensively as Mail really is a giant database of messages, and another giant database of addresses that you interact with.  I&#8217;m speculating as I haven&#8217;t been following that closely.</p>
<p>Long live <a href="https://developer.mozilla.org/En/Storage">SQLite</a>.  I still find you slightly odd at times, especially your locking which seems foreign to me, however I just think of Mork and all of a sudden, it&#8217;s OK.</p>
<p>The most amusing, interesting and strange comment header I&#8217;ve ever found in a <a href="http://www.jwz.org/hacks/mork.pl">script</a> goes to mork.pl for this:</p>
<pre>

##############################################################################
#
# And Now, The Ugly Truth Laid Bare:
#
#   In Netscape Navigator 1.0 through 4.0, the history.db file was just a
#   Berkeley DBM file.  You could trivially bind to it from Perl, and
#   pull out the URLs and last-access time.  In Mozilla, this has been
#   replaced with a &quot;Mork&quot; database for which no tools exist.
#
#   Let me make it clear that McCusker is a complete barking lunatic.
#   This is just about the stupidest file format I've ever seen.
#
#       http://www.mozilla.org/mailnews/arch/mork/primer.txt
#       http://jwz.livejournal.com/312657.html
#       http://www.jwz.org/doc/mailsum.html
#       http://bugzilla.mozilla.org/show_bug.cgi?id=241438
#
#   In brief, let's count its sins:
#
#     - Two different numerical namespaces that overlap.
#
#     - It can't decide what kind of character-quoting syntax to use:
#       Backslash?  Hex encoding with dollar-sign?
#
#     - C++ line comments are allowed sometimes, but sometimes // is just
#       a pair of characters in a URL.
#
#     - It goes to all this serious compression effort (two different
#       string-interning hash tables) and then writes out Unicode strings
#       without using UTF-8: writes out the unpacked wchar_t characters!
#
#     - Worse, it hex-encodes each wchar_t with a 3-byte encoding,
#       meaning the file size will be 3x or 6x (depending on whether
#       whchar_t is 2 bytes or 4 bytes.)
#
#     - It masquerades as a &quot;textual&quot; file format when in fact it's just
#       another binary-blob file, except that it represents all its magic
#       numbers in ASCII.  It's not human-readable, it's not hand-editable,
#       so the only benefit there is to the fact that it uses short lines
#       and doesn't use binary characters is that it makes the file bigger.
#       Oh wait, my mistake, that isn't actually a benefit at all.
#
# Pure comedy.
#
##############################################################################
</pre>
<p><small>The title of this blog post is in no way a play on <a href="http://www.imdb.com/title/tt0077053/">Mork &#038; Mindy</a> <img src='http://robert.accettura.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </small>
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5886#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/07/5300ef4.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/07/20/mork-and-casey-anthony/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Firefox 4</title>
		<link>http://robert.accettura.com/blog/2011/03/22/firefox-4/</link>
		<comments>http://robert.accettura.com/blog/2011/03/22/firefox-4/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 14:03:44 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 4.0]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5472</guid>
		<description><![CDATA[Firefox 4 is out! If you for some reason don&#8217;t know why you want it here’s a few things you’ll love about Firefox 4.0. Congrats to everyone involved in shipping.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.spreadfirefox.com/?q=affiliates&#038;id=51&#038;t=85"><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110322_firefox4-620x173.png" alt="Firefox 4" title="Firefox 4" width="620" height="173" class="aligncenter size-Blog2011 wp-image-5473" /></a></p>
<p>Firefox 4 is out!   If you for some reason don&#8217;t know why you want it here’s a few <a href="http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/">things you’ll love about Firefox 4.0</a>.</p>
<p>Congrats to everyone involved in shipping.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5472#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/03/64c26b2.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/03/22/firefox-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things You&#8217;ll Love About Firefox 4.0</title>
		<link>http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/</link>
		<comments>http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 15:00:14 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[do not track]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 4.0]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[smil]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[user-interface]]></category>
		<category><![CDATA[webgl]]></category>
		<category><![CDATA[webm]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5428</guid>
		<description><![CDATA[It&#8217;s that time again. Here&#8217;s my list of awesome things you&#8217;ll love about Firefox 4: For Users New Look For Tabs One of the first things that you’ll notice is tabs on top. This paradigm really makes more sense since &#8230; <a href="http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time again.  Here&#8217;s my list of awesome things you&#8217;ll love about Firefox 4:</p>
<h3>For Users</h3>
<h4>New Look For Tabs</h4>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_new_tabs_firefox_4-620x76.jpg" alt="New Tabs For Firefox 4" title="New Tabs For Firefox 4" width="620" height="76" class="aligncenter size-Blog2011 wp-image-5436" /><br />
One of the first things that you’ll notice is tabs on top.  This paradigm really makes more sense since the tab defines not just the content but the environment it’s viewed (prev/next button, URL bar).  It’s also just much sleeker looking.  After a few minutes you’ll likely agree this is a better approach than tabs under.</p>
<p>Another nice touch is if you enter a URL that’s already open in another tab, you’ll be given the option to switch to that tab.  Perfect for those of us who end up with 50 tabs by lunch time.</p>
<p>It also just feels tighter and less intrusive on the web browsing experience.</p>
<p><span id="more-5428"></span></p>
<h4>App Tabs</h4>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_app_tabs-620x76.jpg" alt="App Tabs" title="App Tabs" width="620" height="76" class="aligncenter size-Blog2011 wp-image-5435" /><br />
App Tabs are a great way to pin sites you use constantly (webmail, Twitter, Facebook, etc.) to your browser and make them easily accessible throughout the day.  I suspect many webmail/Facebook addicts will really dig this feature.  To use it, right clicking on a tab and “Pin as app tab”.  Don’t need it?  Don’t use it, it’s not forced upon you.</p>
<h4>Tab Groups</h4>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_tab_groups-620x519.jpg" alt="Tab groups" title="Tab Groups" width="620" height="519" class="aligncenter size-Blog2011 wp-image-5434" /><br />
Tab groups are simply a way to group your tabs so that you can stay a little more organized through the day.  For example you might group tabs for “personal” and “work” then switch between the two groups a few times per day, rather than navigating through 50 tabs to find what you’re looking for.  The tab groups interface also gives you a more visual way of navigating tabs and a search feature for searching for a particular tab.  I personally like it for searching through the dozen bugzilla bug reports I have open through the day. It takes a little effort to work into your workflow, and I’m personally not quite there yet, but once you do it seems to really be handy.  Again you can ignore it if you feel no need. </p>
<h4>Goodbye Status Bar</h4>
<p>The status bar you used to see at the bottom of the window is gone for most people.  If you have an add-on that relies on it, for now it will still show (one of my computers still has it).  Just another few pixels for web content.  It does take slight getting used to for the technical folks who watch the connections as we&#8217;ve been used to looking at that bar for 15 years or so.  For the rest of you, it&#8217;s just more web on your screen to fill with photos of cats and amusing captions.</p>
<h4>Polish</h4>
<p>Like every Firefox release, there’s little polish, cleanup, simplifications everywhere.  To many to go into each individual tweaks but you’ll see some, and others you correctly won’t see as unused and outdated options are gone.</p>
<h4>Sync</h4>
<p>Sync is now built-in.  Settings, passwords, bookmarks, history, open tabs.  It’s encrypted on your computer then sent, so the only one who can view the data is you.  I’ve called this the <a href="http://robert.accettura.com/blog/2011/03/03/wanted-native-js-encryption/">ultimate security model</a> in the past.  It&#8217;s optional, you don&#8217;t have to use it, you don&#8217;t loose anything by not using it, other than the ability to sync multiple computers obviously.</p>
<h4>Add-on Manager</h4>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_addon_manager-620x349.jpg" alt="Add-On Manager" title="Add-On Manager" width="620" height="349" class="aligncenter size-Blog2011 wp-image-5433" /><br />
The add-on manager got some love in 4.0.  </p>
<h4>OMG Fast!</h4>
<p>Firefox 4 is faster in almost every respect.  First of all, it seems much more responsive on startup.  Its JägerMonkey JavaScript engine has really made a difference in <a href="http://www.mozilla.com/en-US/firefox/RC/features/">various benchmarks</a> including Kraken, Sunspider, and V8.  It also has hardware accelerated graphics.  Even on Windows XP, which is still fully supported (ahem). </p>
<h4>Out Of Process Plugins (Mac)</h4>
<p>Windows and Linux got this in Firefox 3.6, the Mac version was a little behind schedule.  Plugins now run outside of the Firefox process.  That means when a plugin like Flash crashes, it won’t take out your entire browser.  As Windows users will tell you, this makes a big difference in terms of stability.</p>
<h4>Do Not Track</h4>
<p>Simply put it’s a way to tell websites and advertisers that <a href="https://wiki.mozilla.org/Privacy/Jan2011_DoNotTrack_FAQ">you don’t want to be tracked.</a>  It’s obviously up to websites/advertisers to honor the flag.</p>
<p>To enable it go into Preferences and under the “Advanced” tab select the “General” sub-tab and check the “Tell web sites I do not want to be tracked” checkbox.</p>
<h3>For Developers</h3>
<h4>Support for WebM Video</h4>
<p>I&#8217;ve discussed <a href="http://robert.accettura.com/?s=webm">WebM</a> on this blog before and won&#8217;t repeat what I&#8217;ve said before.  WebM is an open standard, it looks great.</p>
<h4>WebGL</h4>
<p><a href="https://developer.mozilla.org/en/WebGL">WebGL</a> is amazing.  Check out some of the demos by <a href="http://hacks.mozilla.org/category/webgl/">Mozilla</a> or gathered by the <a href="http://www.chromeexperiments.com/webgl">Chromium team</a>.</p>
<p>Take a look at <a href="http://videos.mozilla.org/serv/mozhacks/flight-of-the-navigator/">Flight of the Navigator</a> and remember: this is the web!</p>
<p><img src="http://robert.accettura.com/wp-content/uploads/2011/03/20110321_webgl_flight_of_the_navigator-620x313.jpg" alt="WebGL Flight Of The Navigator" title="WebGL Flight Of The Navigator" width="620" height="313" class="aligncenter size-Blog2011 wp-image-5432" /></p>
<h4>Fix for the CSS :visited hole</h4>
<p>Just a FYI, this <a href="http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/">no longer works</a>.</p>
<h4>Web Console</h4>
<p><a href="https://developer.mozilla.org/en/Using_the_Web_Console">This</a> replaces the old Error Console and in many ways is almost like Firebug Lite.  It’s got some great features like HTTP headers and will make it a lot easier to quickly debug things if you’re using a computer without Firebug already installed.  If you are a web developer make sure to take a look.</p>
<h4>Do Not Track Header</h4>
<p>This is a feature that’s been in the news quite a bit, and mentioned above.  When enabled all HTTP requests will include the following header:</p>
<pre>
DNT: 1
</pre>
<h4>HTTP Strict Transport Security</h4>
<p><a href="http://blog.mozilla.com/security/2010/08/27/http-strict-transport-security/">A HTTP header</a> to tell browsers to only use HTTPS to communicate with the site.  As more sites start to switch to HTTPS this is a great way to mitigate some potential attack vectors.</p>
<h4>CSS border-radius</h4>
<p>If you’re a web developer or designer you’ve likely tried to do this before using images and realized how much it sucks.  Now you can do it with the <a href="https://developer.mozilla.org/en/CSS/border-radius">simplicity of CSS</a>.</p>
<h4>CSS -moz-calc</h4>
<p><a href="https://developer.mozilla.org/en/CSS/-moz-calc">Do calculations</a> to determine the size and shape of an object.  I can’t tell you how many times this would have been realy helpful. </p>
<h4>HTML5 Parser</h4>
<p>Faster, more powerful, more consistent, <a href="https://developer.mozilla.org/en/HTML/HTML5/HTML5_Parser">futuristic</a>!</p>
<h4>Partial Support For HTML5 Forms</h4>
<p><a href="https://developer.mozilla.org/en/HTML/HTML5/Forms_in_HTML5">Forms in HTML5</a> are pretty awesome.  I won’t go into detail on HTML5 forms here, but you should check them out.</p>
<h4>SVG Animation with SMIL</h4>
<p>Exactly what the title says.  I suspect <a href="https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL">this</a> will result in some really cool things over time, and some really pointless things that we’ll still find amusing.</p>
<p>Of course that&#8217;s not all, just the stuff I really find to be the most interesting.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5428#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/03/609c5e5.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/03/21/things-youll-love-about-firefox-4-0/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wanted: Native JS Encryption</title>
		<link>http://robert.accettura.com/blog/2011/03/03/wanted-native-js-encryption/</link>
		<comments>http://robert.accettura.com/blog/2011/03/03/wanted-native-js-encryption/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 15:01:38 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mozilla sync]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5358</guid>
		<description><![CDATA[I&#8217;d like to challenge all browser vendors to put together a comprehensive JS API for encryption. I&#8217;ll use this blog post to prove why it&#8217;s necessary and would be a great move to do so. The Ultimate Security Model I &#8230; <a href="http://robert.accettura.com/blog/2011/03/03/wanted-native-js-encryption/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d like to challenge all browser vendors to put together a comprehensive JS API for encryption.  I&#8217;ll use this blog post to prove why it&#8217;s necessary and would be a great move to do so.</p>
<h3>The Ultimate Security Model</h3>
<p>I consider <a href="https://mozillalabs.com/sync">Mozilla Sync</a> (formerly known as &#8220;Weave&#8221;) to have the <a href="https://wiki.mozilla.org/Labs/Weave/Crypto">ultimate security model</a>.  As a brief background, Mozilla Sync is a service that synchronizes your bookmarks, browsing history, etc. between computers using &#8220;the cloud&#8221;.  Obviously this has privacy implications.  The solution basically works as follows:</p>
<ol>
<li>Your data is created on your computer (obviously).</li>
<li>Your data is encrypted on your computer.</li>
<li>Your data is transmitted securely to servers in an encrypted state.</li>
<li>Your data is retrieved and decrypted on your computer.</li>
</ol>
<p>The only one who can ever decrypt your data is you.  It&#8217;s the ultimate security model.  The data on the server is encrypted and the server has no way to decrypt it.  A typical web service works like this:</p>
<ol>
<li>Your data is created on your computer.</li>
<li>Your data is transmitted securely to servers.</li>
<li>Your data is transmitted securely back to you.</li>
</ol>
<p>The whole time it&#8217;s on the remote servers, it could in theory be retrieved by criminals, nosy sysadmins, governments, etc.  There are times when you want a server to read your data to do something useful, but there are times where it shouldn&#8217;t.</p>
<h3>The Rise Of Cloud Data And HTML5</h3>
<p>It&#8217;s no secret that more people are moving more of their data in to what sales people call &#8220;the cloud&#8221; (<a href="http://mail.google.com">Gmail</a>, <a href="http://www.dropbox.com">Dropbox</a>, <a href="http://www.rememberthemilk.com">Remember The Milk</a>, etc). More and more of people&#8217;s data is out there in this maze of computers.  I don&#8217;t need to dwell too much about the issues raised by personal data being stored in places where 4th amendment rights aren&#8217;t exactly clear in the US and may not exist in other locales.  It&#8217;s been written about enough in the industry.</p>
<p>Additionally newer features like Web Storage allow for 5-10 MB of storage on the client side for data, often used for &#8220;offline&#8221; versions of a site.  This is really handy but makes any computer or cell phone used a potentially treasure trove of data if that&#8217;s not correctly purged or protected.  I expect that 5-10 MB barrier to rise over time just like disk cache.  Even my cell phone can likely afford more than 5-10 MB.  My digital camera can hold 16 GB in a card a little larger than  my fingernail.  Local storage is already pretty cheap these days, and will likely only get cheaper.</p>
<p>Mobile phones are hardly immune from all this as they feature increasingly robust browsers capable of all sorts of HTML5 magic.  The rise of mobile &#8220;apps&#8221; is powered largely by the offline abilities and storage functionality.  Web Storage facilitates this in many ways but doesn&#8217;t provide any inherent security.</p>
<p>Again, I don&#8217;t need to dwell here, but people are leaving increasingly sensitive data on devices they use, and services they use.  SSL protects them while data is moving over the wire, but does nothing for them once data gets to either end.  The time spent over the wire is measured in milliseconds, the time spent at either end can be measured in years.</p>
<h3>Enter JS Crypto</h3>
<p>My proposal is that there&#8217;s a need for native JS Cryptography implementing several popular algorithms like AES, Serpent, Twofish, MD5 (I know it&#8217;s busted, but still could be handy for legacy reasons), SHA-256 and expanding as cryptography matures.  By doing so, the front end logic can easily and quickly encrypt data before storing or sending.</p>
<p>For example to protect Web Storage before actually saving to <code>globalStorage</code>:</p>
<pre>

globalStorage['mybank.com'].lastBalance = &quot;0.50&quot;; 
</pre>
<pre>

globalStorage['mybank.com'].lastBalance = Crypto.AES.encrypt(&quot;0.50&quot;, password); 
</pre>
<p>Using <code>xmlHttpRequest</code> or POST/GET one could send encrypted payloads directly to the server over http or https rather than send raw data to the server.  This greatly facilitates the Mozilla Sync model of data security.</p>
<p>This can also be an interesting way to transmit select data in a secure manner while serving the rest of a site over http using <code>xmlHttpRequest</code> by just wrapping the data in crypto (that assumes a shared key).  </p>
<p>I&#8217;m sure there are other uses that I haven&#8217;t even thought of.</p>
<h3>Performance</h3>
<p>JS libraries like <a href="https://code.google.com/p/crypto-js/">Crypto-JS</a> are pretty cool, but they aren&#8217;t ideal.  We need something as fast and powerful as we can get.  Like I said earlier, mobile is a big deal here and mobile has performance and power issues.  Intel and AMD now have <a href="http://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/">AES Native Instructions</a> (AES NI) for their desktop chips.  I suspect mobile chips who don&#8217;t have this will eventually do so.  I don&#8217;t think any amount of JS optimization will get that far performance wise.  We&#8217;re talking 5-10 MB of client side data today, and that will only grow.  We&#8217;re not even talking about encrypting data before remote storage (which in theory can break the 10MB limit).</p>
<p>Furthermore, most browsers already have a Swiss Army knife of crypto support already, just not exposed via JS in a nice friendly API.  I don&#8217;t think any are currently using AES NI when available, though that&#8217;s a pretty new feature and I&#8217;m sure in time someone will investigate that.</p>
<p>Providing a cryptography API would be a great way to encourage websites to up the security model in an HTML5 world. </p>
<h3>Wait a second…</h3>
<h4>Shouldn&#8217;t browsers just encrypt Web Storage, or let OS vendors turn on Full Disk Encryption (FDE)?</h4>
<p>Sure, both are great, but web apps should be in control of their own security model regardless of what the terminal is doing.  Even if they are encrypted, that doesn&#8217;t provide a great security model if the browser has one security model in place for Web Storage and the site has its own authentication system.</p>
<h4>Don&#8217;t JS Libraries already exist, and isn&#8217;t JS getting the point of almost being native?</h4>
<p>True, libraries do exist, and JS is getting amazingly fast to the point of threatening native code.  However crypto is now being hardware accelerated.  It&#8217;s also something that can be grossly simplified by getting rid of libraries.  I view JS crypto libraries the way I view <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a>.  Great, but I&#8217;d prefer a native implementation for its performance.  These libraries do still have a place bridging support for browsers that don&#8217;t have native support in the form of a shim.</p>
<h4>But if data is encrypted before sending to a server, the server can&#8217;t do anything with it</h4>
<p>That&#8217;s the point!  This isn&#8217;t ideal in all cases for example you can&#8217;t encrypt photos you intend to share on Facebook or Flickr, but a DropBox like service may be an ideal candidate for encryption.</p>
<h4>What about export laws?</h4>
<p>What about them?  Browsers have been shipping cryptography for years.  This is just exposing cryptography so web developers can better take advantage and secure user data.  If anything JS crypto implementations likely create a bigger legal issue regarding &#8220;exporting&#8221; cryptography for web developers.</p>
<h4>Your crazy!</h4>
<p>Perhaps.  To quote Apple&#8217;s <a href="http://en.wikipedia.org/wiki/Think_Different">Think Different Campaign</a></p>
<blockquote cite="http://en.wikipedia.org/wiki/Think_Different"><p>
Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes.</p>
<p>The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them.</p>
<p>About the only thing you can’t do is ignore them. Because they change things. They invent. They imagine. They heal. They explore. They create. They inspire. They push the human race forward.</p>
<p>Maybe they have to be crazy.</p>
<p>How else can you stare at an empty canvas and see a work of art? Or sit in silence and hear a song that’s never been written? Or gaze at a red planet and see a laboratory on wheels?</p>
<p>While some see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.
</p></blockquote>
<p>Time to enable the crazy ones to do things in a more secure way.</p>
<p><small><strong>Updated:</strong> Changed <code>key</code> to <code>password</code> to better reflect likely implementation in the psudocode.</small>
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5358#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/03/3a246af.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/03/03/wanted-native-js-encryption/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>On Chrome Dropping H.264</title>
		<link>http://robert.accettura.com/blog/2011/01/11/on-chrome-dropping-h-264/</link>
		<comments>http://robert.accettura.com/blog/2011/01/11/on-chrome-dropping-h-264/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 01:49:31 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 4]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[h.264]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webm]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=5198</guid>
		<description><![CDATA[The Chrome team announced they are dropping support for H.264. WebM Support WebM support will be growing quickly as Firefox 4 rolls out (Firefox upgrade adoption is legendary). Chrome commands sizable market share and is pushing the Chrome OS platform. &#8230; <a href="http://robert.accettura.com/blog/2011/01/11/on-chrome-dropping-h-264/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Chrome team announced <a href="http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html">they are dropping support for H.264</a>.  </p>
<h3>WebM Support</h3>
<p>WebM support will be growing quickly as Firefox 4 rolls out (Firefox upgrade adoption is legendary).  Chrome commands sizable market share and is pushing the <a href="http://www.google.com/chromeos/">Chrome OS platform</a>.  Opera is also supporting WebM.</p>
<p>Apple and Microsoft could join the party and bundle WebM support along with the other codecs they support at any time, though they are <a href="http://www.mpegla.com/main/programs/AVC/Pages/Licensors.aspx">licensors</a> for H.264 and wouldn&#8217;t benefit from WebM market penetration.  Microsoft&#8217;s implementation does allow for VP8 support <a href="http://blogs.msdn.com/b/ie/archive/2010/05/19/another-follow-up-on-html5-video-in-ie9.aspx">if a codec is installed</a>.  I&#8217;m not aware of anything for Safari and am rather certain nothing can be done for the iPhone without Apple intervening.</p>
<p>On the hardware side <a href="http://www.theregister.co.uk/2010/05/19/google_chrome_announcement/">AMD, ARM, Nvidia</a> are backing WebM.  <a href="http://investor.broadcom.com/releasedetail.cfm?ReleaseID=471536">Broadcom</a> announced support, as did <a href="http://www.qualcomm.com/blog/2010/05/19/web-video-google">Qualicomm</a> and <a href="http://e2e.ti.com/blogs_/b/mobile_momentum/archive/2010/05/19/our-omap-processors-embrace-webm-and-vp8-with-open-arms.aspx">TI</a>.  These are major vendors for mobile chips.  <a href="https://twitter.com/shaver/status/24998154805977088">Intel is working on stuff too</a>.</p>
<h3>H.264  Trouble</h3>
<p>H.264 is problematic and bad for the web for many reasons I&#8217;ve mentioned here before as well as great posts by <a href="http://weblogs.mozillazine.org/roc/archives/2010/01/video_freedom_a.html">roc</a> and <a href="http://shaver.off.net/diary/2010/01/23/html5-video-and-codecs/">shaver</a>.  I&#8217;ll leave it at that rather than rehash.</p>
<p>There was buzz a while back about H.264 being &#8220;free&#8221; (quotes intentional), but it&#8217;s not really &#8220;free&#8221; if you read the fine print.  As Peter Csathy of Sorenson Media <a href="http://blog.sorensonmedia.com/2010/09/think-h-264-is-now-royalty-free-think-again-and-the-open-source-defense-is-no-defense-to-mpeg-la/">notes</a>:</p>
<blockquote cite="http://blog.sorensonmedia.com/2010/09/think-h-264-is-now-royalty-free-think-again-and-the-open-source-defense-is-no-defense-to-mpeg-la/"><p>
But, you say, MPEG LA recently announced that it will no longer charge royalties for the use of H.264. Yes, it’s true – MPEG LA recently bowed to mounting pressure from, and press surrounding, WebM and announced something that kind of sounds that way. But, I caution you to read the not-too-fine print. <strong>H.264 is royalty-free only in one limited case – for Internet video that is delivered free to end users. Read again: for (1) Internet delivery that is (2) delivered free to end users. In the words of MPEG LA’s own press release, “Products and services other than [those] continue to be royalty-bearing.”</strong>
</p></blockquote>
<p>That&#8217;s hardly &#8220;free&#8221;.  That&#8217;s just one potential use case that&#8217;s now royalty exempt.  The reason they are doing that is presumably if they can get H.264 adoption high enough, all the other cases will be paying and therefore subsidizing this one case.</p>
<p>WebM is licensed a little different: Patent wise, it&#8217;s irrevocably royalty free.  License <a href="http://www.webmproject.org/about/faq/#licensing">is about as liberal as you can get</a>.</p>
<p>There&#8217;s no proprietary html, css, or images (GIF was, now it&#8217;s dead) used across the web.  Why should video be any different? The key to success and growth has always been an open platform that&#8217;s low cost and encourages innovation.</p>
<h3>Implementing Today</h3>
<p>For anyone who suggests that this further fragments the market, that&#8217;s not really true.  Adobe Flash actually creates an excellent shim to help migrate away from Flash to <code>&lt;video/&gt;</code>.  Allow me to explain:  </p>
<p>Adobe will soon be <a href="http://blogs.adobe.com/flashplatform/2010/05/adobe_support_for_vp8.html">supporting WebM through Flash</a>.  Adobe already support H.264 in Flash.  For legacy browsers and those who won&#8217;t support WebM, you have the option of delivering a Flash experience just like most websites do today.  There are websites doing this today via Flash and H.264.  For modern browsers you can just use <code>&lt;video/&gt;</code>.  Once your non-WebM market share drops low enough, you can get rid of the Flash experience.  Soon enough you&#8217;ll be able to push WebM to your Flash users.  The benefit of switching your Flash experience to WebM as a middle step would be one encoding for both delivery mechanisms vs. using H.264 and WebM in parallel.  Of course if you&#8217;re supporting mobile you likely need H.264 for a bit longer but likely use a smaller resolution and different profile for mobile consumption.  </p>
<p>No matter what there will be two delivery mechanisms for those looking to push video using HTML5 to users today.  The only thing that changes is the lean towards standardizing on the actively developed WebM codec vs. H.264.</p>
<p>All new technology has <a href="http://techblog.netflix.com/2010/12/html5-and-video-streaming.html">speed bumps</a>, that&#8217;s the cost of being on the bleeding edge.  However this is a positive turn as things are now starting to line up.  The most awesome thing is that the codec, HTML5 specs, and some of the most popular browsers in the world are open and inviting feedback and contributions to improve things.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=5198#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2011/01/a428bc2.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2011/01/11/on-chrome-dropping-h-264/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Firesheep Is Just The Messenger</title>
		<link>http://robert.accettura.com/blog/2010/10/29/firesheep-is-just-the-messenger/</link>
		<comments>http://robert.accettura.com/blog/2010/10/29/firesheep-is-just-the-messenger/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 14:28:51 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firesheep]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=4876</guid>
		<description><![CDATA[I must say that I&#8217;m glad to see there are no plans to pull Firesheep. Add-ons have a lot of power since they run in a privileged space. Anything your browser can access, your add-ons can access. The point to &#8230; <a href="http://robert.accettura.com/blog/2010/10/29/firesheep-is-just-the-messenger/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I must say that I&#8217;m glad to see there are <a href="http://www.computerworld.com/s/article/9193420/Mozilla_No_kill_switch_for_Firesheep_add_on">no plans to pull Firesheep</a>.  Add-ons have a lot of power since they run in a privileged space.  Anything your browser can access, your add-ons can access.  The point to being able to kill add-ons was to protect the user in situations where an add-on was either bundling malware or sending information without the users consent.  Firesheep does none of that.  It behaves exactly as advertised.  It also causes no harm to the user or their computer.</p>
<p>Firesheep doesn&#8217;t do anything that couldn&#8217;t be done with a packet sniffer, it just makes it trivial enough that the average person can do it.  It just makes a flaw in many websites more visible.  The more technical folks have known this for years.  Firesheep is just the messenger.  These insecure bits of traffic have traveled across the wire for a decade or more.  All traffic across Ethernet is visible to all devices.  This is how Ethernet works.  The network is a shared medium.  It&#8217;s just a matter of looking at it.  WiFi is a slightly different ballgame but at the end of the day if a wireless signal is unencrypted, it&#8217;s just a matter of listening.</p>
<p><a href="http://en.wikipedia.org/wiki/IANAL">I am not a lawyer</a> (nor do I play one on TV) but from a legal perspective I suspect Gregg Keizer is correct in <a href="http://www.computerworld.com/s/article/9193420/Mozilla_No_kill_switch_for_Firesheep_add_on?taxonomyId=17&#038;pageNumber=2">suggesting</a> that it&#8217;s likely legal under <a href="http://www.law.cornell.edu/uscode/uscode18/usc_sec_18_00002511----000-.html">federal wiretapping statutes</a> (ethics is another debate).  However a company likely can still fire you for using it, and a school likely can still kick you out for using it on their network.  Private networks have their own rules and policies.</p>
<p>That covers the detection of a session.  If you were to actually session jack, that would likely be considered fraud, hacking, identity theft, etc. depending on what you do.  Generally speaking, unauthorized access to a computer system is illegal.  If you are using someone else&#8217;s credentials, that&#8217;s by definition unauthorized access.</p>
<p>Electronic communications law is hardly considered developed or mature but generally there isn&#8217;t an expectation of privacy when no encryption is used and transmission is done over a shared connection.  It&#8217;s akin to speaking to someone on the street and being overheard.  That said, if someone reads their credit card number while on a cell phone call and you use the credit card information you overheard, it&#8217;s still fraud regardless of the interception method.</p>
<p>Bottom line: It&#8217;s time to start securing connections.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=4876#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2010/10/77bdfcf.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2010/10/29/firesheep-is-just-the-messenger/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Decrypting The Internet</title>
		<link>http://robert.accettura.com/blog/2010/10/01/decrypting-the-internet/</link>
		<comments>http://robert.accettura.com/blog/2010/10/01/decrypting-the-internet/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 13:13:40 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Bruce Schneier]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[mozilla weave]]></category>
		<category><![CDATA[surveillance state]]></category>
		<category><![CDATA[wiretapping]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=4738</guid>
		<description><![CDATA[Bruce Schneier on the new wiretapping proposal: Any surveillance system invites both criminal appropriation and government abuse. Function creep is the most obvious abuse: New police powers, enacted to fight terrorism, are already used in situations of conventional nonterrorist crime. &#8230; <a href="http://robert.accettura.com/blog/2010/10/01/decrypting-the-internet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.schneier.com/blog/archives/2010/09/wiretapping_the.html">Bruce Schneier</a> on the <a href="http://www.nytimes.com/2010/09/27/us/27wiretap.html">new wiretapping proposal</a>:</p>
<blockquote cite="http://www.schneier.com/blog/archives/2010/09/wiretapping_the.html"><p>
Any surveillance system invites both criminal appropriation and government abuse. Function creep is the most obvious abuse: New police powers, enacted to fight terrorism, are already used in situations of conventional nonterrorist crime. Internet surveillance and control will be no different.</p>
<p>Official misuses are bad enough, but the unofficial uses are far more worrisome. An infrastructure conducive to surveillance and control invites surveillance and control, both by the people you expect and the people you don&#8217;t. Any surveillance and control system must itself be secured, and we&#8217;re not very good at that. Why does anyone think that only authorized law enforcement will mine collected internet data or eavesdrop on Skype and IM conversations?
</p></blockquote>
<p>I 100% agree here.  A security vulnerability, intentional or not is a vulnerability.  Even systems with no known security holes are eventually broken.  Look at the <a href="http://www.engadget.com/2010/09/14/hdcp-master-key-supposedly-released-unlocks-hdtv-copy-protect/">recent reverse engineering of HDCP</a>, which was theorized as vulnerable in 2001 but not broken for several years, a pretty good run.  Eventually all security mechanisms will be broken.  Starting with something broken just increases the window of opportunity for abuse and misuse.</p>
<p>In theory this proposal could (I&#8217;m no lawyer, I don&#8217;t even play one on TV) even impact things like Firefox Sync (Formerly Weave) which employs the best security mechanism I&#8217;ve seen in a service.  To summarize, it works by <a href="https://wiki.mozilla.org/Labs/Weave/Crypto">encrypting your data before transmission to the server</a>.  However the key is never sent.  That means even if the Gestapo took the servers with your data, they would still need to get the key from you, or do battle with the encryption which isn&#8217;t easy.  Even Mozilla <a href="http://mozillalabs.com/sync/weave-privacy-policy/">can&#8217;t read your data</a>, unless a flaw were found in the <a href="https://wiki.mozilla.org/Labs/Weave/Developer/Crypto">encryption algorithm</a>.  The question is if sync were considered to fall under &#8220;services that enable communications&#8221;.  That seems broad enough to leave room to argue that sync facilitates communication since the browser is the ultimate communication client.  The browser is also valuable since it potentially has passwords, bookmarks, and history giving a good motivator to make that argument.  Argue that to a 75-year-old judge who never used a computer and it might work.</p>
<p>Meanwhile just weeks ago UAE ironically <a href="http://www.tgdaily.com/security-features/50911-obama-criticizes-middle-east-blackberry-ban">gets criticized</a> by the US for proposing a Blackberry ban for the same reasons.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=4738#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2010/10/c2e06e9.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2010/10/01/decrypting-the-internet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Protecting Photo Privacy Via Browsers</title>
		<link>http://robert.accettura.com/blog/2010/08/11/protecting-photo-privacy-via-browsers/</link>
		<comments>http://robert.accettura.com/blog/2010/08/11/protecting-photo-privacy-via-browsers/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 22:08:04 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://robert.accettura.com/?p=4471</guid>
		<description><![CDATA[Browsers can do more to protect users from inadvertently violating their own privacy. The NY Times today had an article about a topic that has been discussed in various circles several times now. The existence of geotagging data in photos. &#8230; <a href="http://robert.accettura.com/blog/2010/08/11/protecting-photo-privacy-via-browsers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Browsers can do more to protect users from inadvertently violating their own privacy.  The NY Times today had an article about a topic that has been discussed in various circles several times now.  The existence of <a href="http://www.nytimes.com/2010/08/12/technology/personaltech/12basics.html?src=twr">geotagging data in photos</a>.  Many cameras, in particular smart phones like the iPhone can tag photos with GPS data.  This is pretty handy for various purposes including organizing photos at a later date, iPhoto for example does a pretty nice job of it.  Most photo applications however don&#8217;t make this information very visible, as a result many users don&#8217;t even know it exists, others simply forget.</p>
<h3>What the problem looks like</h3>
<p>The data, embedded in a photo looks something like this:</p>
<pre>
GPSLatitude                    : 57.64911
GPSLongitude                   : 10.40744
GPSPosition                    : 57.64911 10.40744
</pre>
<p>Which I could <a href="http://maps.google.com/maps?f=q&#038;source=s_q&#038;hl=en&#038;geocode=&#038;sll=57.64911,10.40744&#038;sspn=0.059156,0.154324&#038;g=57.64911+10.40744&#038;ie=UTF8&#038;t=h&#038;layer=x&#038;ll=57.64911,10.40744&#038;spn=0.000924,0.002411&#038;z=19&#038;iwloc=video0">map</a>.</p>
<h3>Proposal</h3>
<p>I propose that browsers need to have a content policy for when users upload images that can better protect them from uploading information they may not even realize.  Here&#8217;s what I&#8217;m imagining:</p>
<p>The first time a user attempts to upload a photo that has EXIF or XMP data containing location they are prompted if they want it stripped from the image they are uploading.  The original file remains unharmed, just the uploaded version won&#8217;t have the data.  They can also choose to have the browser remember their preference to prevent being prompted in the future.  They can revise their choice in the preferences window later if they want.  This isn&#8217;t to different from how popups are handled.  I thnk that per-site policy might be too confusing and not warranted, but perhaps I&#8217;m wrong.</p>
<p>Warning users about hidden information they may be revealing is a worthwhile effort.  It&#8217;s only a matter of time before someone uses a &#8220;contest&#8221; or some other form of social engineering to solicit pictures that may reveal location data for users.  Evildoers always find creative ways to exploit people.</p>
<h3>Caveat</h3>
<p>There are a notable caveat to this approach.  The most notable is that flash uploaders would bypass this security measure though individual uploaders could do it themselves, or Adobe could do it, but I don&#8217;t think that&#8217;s enough of a turnoff to this approach.  The same caveat applied to &#8220;private browsing&#8221; in browsers.</p>
<h3>Prior Work</h3>
<p>As far as I know no browser actually implements a security feature like this yet.  There are a few Firefox Add-ons like <a href="https://addons.mozilla.org/en-US/firefox/addon/3905/">Exif Viewer</a> and <a href="https://addons.mozilla.org/en-US/firefox/addon/5673/">FxIF</a> (both written in pure JavaScript) that look at EXIF data but nothing that intercepts uploads.</p>
<h3>Who Can Do It First?</h3>
<p>I&#8217;m curious who can do it first.  By add-on (seems like it should be possible at least in Firefox), and dare I say include in a browser itself?  If this were earlier in the year I would have added this to the  <a href="https://wiki.mozilla.org/Community:SummerOfCode10">Summer of Code ideas list</a>.  Instead I&#8217;m just throwing it into the wind until 2011 rolls around.
<div id="rja_commentCountImage"><a href="http://robert.accettura.com/?p=4471#comments"><img src="http://robert.accettura.com/wp-content/commentCount/2010/08/0fd7e4f.gif" alt="Comment Count" style="border:0;" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://robert.accettura.com/blog/2010/08/11/protecting-photo-privacy-via-browsers/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

