<?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>Marcos Cáceres&#039; blog</title>
	<atom:link href="http://marcosc.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcosc.com</link>
	<description>By reading this blog you&#039;ve signed an NDA.</description>
	<lastBuildDate>Fri, 20 Apr 2012 10:36:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Nested inheritance in Javascript</title>
		<link>http://marcosc.com/2012/04/nested-inheritance-in-javascript/</link>
		<comments>http://marcosc.com/2012/04/nested-inheritance-in-javascript/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 20:46:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://marcosc.com/?p=287</guid>
		<description><![CDATA[Most examples of javascript inheritance only go one level deep (for example, Student inherits (→) from Person). That&#8217;s all well and good, but what if you have a long chain for things you want to inherit from? Say we have &#8230; <a href="http://marcosc.com/2012/04/nested-inheritance-in-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Most examples of javascript inheritance only go one level deep (for example, <code>Student</code> inherits (→) from <code>Person</code>). That&#8217;s all well and good, but what if you have a long chain for things you want to inherit from?</p>
<p>Say we have A → B → C → D → E, and each has its own methods and attributes. How can they inherit from each other cleanly?</p>
<p>Here is the initial solution:</p>
<p><iframe style="width: 100%; height: 400px;" src="http://jsfiddle.net/marcosc/9g6Rp/2/embedded/" frameborder="0" width="320" height="240"></iframe></p>
<p>So, what&#8217;s special about the above. Not much&#8230; except the the only gotcha is the ordering of:</p>
<pre>//you need to make sure you don't override your functions
//Good:
X.prototype = new Y();
X.prototype.foo = function(){ .... };

//Bad (trashes foo!)
X.prototype.foo = function(){ .... };
X.prototype = new Y();</pre>
<h3>Adding methods and properties</h3>
<p>Once we have a chain, we naturally want to make objects created from that chain do something useful. The above A, B, C, etc. is a little academic, so lets now use a more &#8220;real world&#8221; example.</p>
<p>Lets say we have the following inheritance chain of vehicle types:</p>
<pre>Vehicle → LandVehicle → Car → SportsCar → RacingCar</pre>
<p>We assume that all Vehicles have a &#8220;registration&#8221; property that is unique for each vehicle we create:</p>
<p><iframe style="width: 100%;  max-height: 1000px;" src="http://jsfiddle.net/marcosc/DLZtY/1/embedded/" frameborder="0" width="320" height="240"></iframe></p>
<p>The problem when we run the above is that the registration is not unique! When we are constructing the <code>new RacingCar()</code>, we are using the same prototype for all instances (in fact for any kind of <code>Vehicle</code>).</p>
<p>To solve this problem, we need to make sure that for &#8220;<code>this</code>&#8221; instance we are given a unique &#8220;registration&#8221;. To do that, we need to &#8220;<code>call()</code>&#8221; the function from which we are inheriting from using &#8220;<code>this</code>&#8220;, like so:</p>
<pre>function RacingCar(){Vehicle.call(this)}</pre>
<p>So, that makes sure that &#8220;<code>this</code>&#8221; (whatever that is associated with) gets the right &#8220;<code>registration</code>&#8221; number (i.e., a random number):</p>
<p><iframe style="width: 100%; height: 500px;" src="http://jsfiddle.net/marcosc/AwEdh/1/embedded/" frameborder="0" width="320" height="240"></iframe></p>
<p>Ok, so far so good&#8230; but if we start adding methods and unique properties on each level, we are going to have the same problem. So what we can do is just cascade &#8220;this&#8221; through the inheritance chain:</p>
<pre>function LandVehicle(){Vehicle.call(this)}
function Car(){LandVehicle.call(this)}
function SportsCar(){Car.call(this)}
function RacingCar(){RacingCar.call(this)}</pre>
<p>Now we can start individualising each object to our needs. The following shows a complete set of custom objects that inherit from each other. It also shows &#8220;static&#8221; functions and property being declared (e.g., the make of a Car and getting a <code>randomMake()</code> for either a bike or car):</p>
<p><iframe style="width: 100%; height: 1000px;" src="http://jsfiddle.net/marcosc/4QHbV/3/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe></p>
<p>So there you have it. Classical inheritance JavaScript styles. </p>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2012/04/nested-inheritance-in-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dynamic function names in JavaScript</title>
		<link>http://marcosc.com/2012/03/dynamic-function-names-in-javascript/</link>
		<comments>http://marcosc.com/2012/03/dynamic-function-names-in-javascript/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 15:40:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[experiments]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://marcosc.com/?p=273</guid>
		<description><![CDATA[Creating a function with a custom name is not something you can do easily out of the box in ECMAScript. Thankfully, ECMAScript comes with a custom function constructor. First, the basic code, which will give most of you want you &#8230; <a href="http://marcosc.com/2012/03/dynamic-function-names-in-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Creating a function with a custom name is not something you can do easily out of the box in ECMAScript. Thankfully, ECMAScript comes with a <a href="http://es5.github.com/#x15.3.2">custom function constructor</a>.</p>
<p>First, the basic code, which will give most of you want you want:</p>
<p><iframe style="width: 100%; height: 300px;" src="http://jsfiddle.net/marcosc/fAw3p/embedded/" frameborder="0" width="320" height="240"></iframe></p>
<p>The above will create an anonymous function, which when called creates the named function (using the name variable). This functionality is a good substitute for when you can&#8217;t use <code>eval()</code> but you need a function with a custom name. Eval is generally useless in ES5 strict mode for a number of good reasons, so its best avoided.</p>
<p>However, an issue with the code above is that we had to write the main code into a string. This sucks because it makes it difficult to debug (i.e., we can&#8217;t easily set break points), so we want to avoid that as much as possible. The solution is to make the main function external, pass it as an argument to the Function constructor to call it.<br />
<iframe style="width: 100%; height: 300px;" src="http://jsfiddle.net/marcosc/Zcb7N/1/embedded/" frameborder="0" width="320" height="240"></iframe></p>
<p>Another advantage here is that we can set private variables inside our custom function, which can then be mixed with public arguments. Check this out!:</p>
<p><iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/marcosc/5TBrB/1/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe></p>
<p>You can basically the start doing cool things from there, like:</p>
<p><iframe style="width: 100%; height: 300px;" src="http://jsfiddle.net/marcosc/hxyn2/embedded/" frameborder="0" width="320" height="240"></iframe></p>
<p>The above is mega useful for dynamically implementing custom DOM-like interfaces&#8230; like shims. Enjoy! <img src='http://marcosc.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2012/03/dynamic-function-names-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steve Jobs: the story of a sociopath</title>
		<link>http://marcosc.com/2011/10/steves-biography/</link>
		<comments>http://marcosc.com/2011/10/steves-biography/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 15:10:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://marcosc.com/?p=268</guid>
		<description><![CDATA[I&#8217;ve read other semi-biographies of Jobs and, working with a lot of people in the tech industry, I&#8217;d heard many of the stories of how much of a bastard he was. However, this biography left me quite bemused and surprised: &#8230; <a href="http://marcosc.com/2011/10/steves-biography/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.audible.com/pd/ref=sr_1_2?asin=B005VH38JC&amp;qid=1319986330&amp;sr=1-2"><img class="size-full wp-image-269 alignleft" title="Steve Jobs, Book, by Walter Isaacson" src="http://marcosc.com/wp-content/uploads/2011/10/Screen-Shot-2011-10-30-at-08.07.17.png" alt="Steve Jobs, Book, by Walter Isaacson" width="174" height="184" /></a>I&#8217;ve read other semi-biographies of Jobs and, working with a lot of people in the tech industry, I&#8217;d heard many of the stories of how much of a bastard he was. However, this biography left me quite bemused and surprised: I never expected Jobs to be such a disgustingly-shameless-sociopath-brat-cry-baby! even to the last minute, with Jobs having to have control over the cover image of the book.</p>
<p>I don&#8217;t think he would have liked much of what is inside this book; which is what makes it great.</p>
<p>It&#8217;s amazing that Jobs sought out Isaacson to write this biography. And Isaacson, pre-warning Jobs that he was going to uncover all the dirt, delivers a very inhuman story. In Isaacson other book on Einstein, he also revealed Albert&#8217;s many flaws and brought Albert down to our level. With this book, he absolutely devastates the image of Jobs as a great business leader and as human being: from his stinky hippy days, to his denial of his daughter Lisa and smear campaign of the mother, to his tyrannical and plainly mean way he constantly ripped-off and mistreated other people.</p>
<p>I guess Job&#8217;s own reflection of his life must have been also distorted by his &#8220;reality distortion field&#8221;. It&#8217;s great that this book came out when it did. If anything, it shows that Steve Jobs was not in the same league as other great inventors and geniuses of the past century. Jobs just rode on the great ideas of those around him. If it was him that made those ideas successful is unclear, so Jobs is just shown as part of the greater collective that was, and remains, Apple computers.</p>
<p>I anything, it&#8217;s good that Isaacson shows why no one should take inspiration from the cold, hard, tyrannical a**hole that was Steve Jobs. A great read! And proof you can&#8217;t judge a book by its cover.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2011/10/steves-biography/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>W3C Workshop on The Future of Off-line Web Applications</title>
		<link>http://marcosc.com/2011/10/w3c-workshop-on-the-future-of-off-line-web-applications/</link>
		<comments>http://marcosc.com/2011/10/w3c-workshop-on-the-future-of-off-line-web-applications/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 20:33:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://marcosc.com/?p=262</guid>
		<description><![CDATA[The W3C and Vodafone are hosting a Workshop on The Future of Off-line Web Applications on 5 November 2011, in Redwood City, California. According to the workshop website, The goal of this workshop is to identify a clear path forward &#8230; <a href="http://marcosc.com/2011/10/w3c-workshop-on-the-future-of-off-line-web-applications/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The W3C and Vodafone are hosting a Workshop on <a href="http://www.w3.org/2011/web-apps-ws/">The Future of Off-line Web Applications</a> on 5 November 2011, in Redwood City, California. According to the workshop website,</p>
<blockquote><p><q>The goal of this workshop is to identify a clear path forward for innovation in the Open Web Platform related to offline Web application invocation and use.</q></p></blockquote>
<p>As I&#8217;ve done for previous events, I&#8217;ve prepared a paper entitled &#8221;<a href="http://marcosc.com/wp-content/uploads/2011/10/Misconceptions-about-W3C-Widgets.pdf">Misconceptions about W3C Widgets</a>&#8221; (PDF, I know&#8230; I&#8217;ll publish it here in HTMLs when I get some time).</p>
<p>As I am on the program committee, it means I get to review papers. I&#8217;ve actually read all the papers that have come in thus far, and it looks like it&#8217;s going to be fun workshop. The other program committee members have been a bit slack, however. I&#8217;ve only seem papers from about 2 or 3 of them. I hope Microsoft, Google, and Mozilla submit something.</p>
<p>What usually happens after these workshops is that a new Working Group is established. This will probably either mean:</p>
<ul>
<ul>
<li><strong>The death of W3C Widgets</strong>: Google and Moz will make a powerplay and dump in their own JSON based widget format on the w3c (<a href="https://developer.mozilla.org/en/OpenWebApps/The_Manifest">Moz&#8217;s offer</a>, <a href="http://code.google.com/chrome/extensions/apps.html#manifest">Google&#8217;s offer</a>).</li>
<li>Or,  <strong>the rebirth of W3C Widgets: </strong>Google and Moz will come to their senses and finally embrace the W3C widget format (unlikely, but here&#8217;s to hoping:)).</li>
</ul>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2011/10/w3c-workshop-on-the-future-of-off-line-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Actuators API</title>
		<link>http://marcosc.com/2011/10/web-actuators-api/</link>
		<comments>http://marcosc.com/2011/10/web-actuators-api/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 19:34:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://marcosc.com/?p=252</guid>
		<description><![CDATA[Having gone through the pain of trying to bust up Apple&#8217;s shitty patents around Widget Security, I learned that if you have a good idea, then you should put into the public record as quickly as possible (unless you intend &#8230; <a href="http://marcosc.com/2011/10/web-actuators-api/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Having gone through the pain of trying to bust up <a title="Apple sucks!" href="http://www.w3.org/2010/12/cfpa">Apple&#8217;s shitty patents around Widget Security</a>, I learned that if you have a good idea, then you should put into the public record as quickly as possible (unless you intend to patent the idea, for fun and profit). It seems that the US patent office will grant a patent for just about anything, probably even a knife and fork. The state of the United States patent system truly is an embarrassment (for more info, <a href="http://www.thepublicdomain.org/">thepublicdomain.org</a>).</p>
<p><strong>Idea:</strong> Web Actuators, an API for  Web Browser to allow control of physical output component, including, but not limited to <a href="http://en.wikipedia.org/wiki/LED">LEDs</a>, speaker, motors, or anything detectable by any human sense (sight, touch, smell, taste, hearing).</p>
<pre>interface Actuator(){
   //details coming soon...
   //pulse width modulation
   void pwm();
</pre>
<pre>}</pre>
<p>This Actuators API would compliment a general purpose Web Sensors API: an API for detecting and reacting to events generated from reading &#8220;low level&#8221; sensor data (e.g., a flew sensor, a switch, a pressure sensor, a temperature gauge, etc&#8230;. any sensor that can take a reading).</p>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2011/10/web-actuators-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arduino + Java = error &#8220;Serial Port Already in Use&#8221;</title>
		<link>http://marcosc.com/2011/10/arduino-java-error-serial-port-already-in-use/</link>
		<comments>http://marcosc.com/2011/10/arduino-java-error-serial-port-already-in-use/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 19:18:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://marcosc.com/?p=250</guid>
		<description><![CDATA[If you try to run the Arduino IDE and the RXTX Java library on MacOS Lion and you are hitting a &#8220;Serial Port Already in Use&#8221; error,  try: $ sudo mkdir /var/lock $ sudo chmod 777 /var/lock That should hopefully allow &#8230; <a href="http://marcosc.com/2011/10/arduino-java-error-serial-port-already-in-use/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you try to run the Arduino IDE and the RXTX Java library on MacOS Lion and you are hitting a &#8220;Serial Port Already in Use&#8221; error,  try:</p>
<pre>$ sudo mkdir /var/lock
$ sudo chmod 777 /var/lock</pre>
<p>That should hopefully allow you to run them both (though only one at a time!)</p>
<p>If you want  interface your Arduino with the Java, see the <a href="http://www.arduino.cc/playground/Interfacing/Java">Arduino documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2011/10/arduino-java-error-serial-port-already-in-use/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Marking files as binary in CVS</title>
		<link>http://marcosc.com/2011/06/marking-files-as-binary-in-cvs/</link>
		<comments>http://marcosc.com/2011/06/marking-files-as-binary-in-cvs/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 09:05:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://datadriven.com.au/?p=243</guid>
		<description><![CDATA[When multiple people are working with CVS, what can sometimes happen when you do a &#8220;cvs update&#8221; is that binary files get &#8220;merged&#8221; as if they were text files. Naturally, this can cause some file types to become corrupt. To &#8230; <a href="http://marcosc.com/2011/06/marking-files-as-binary-in-cvs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When multiple people are working with <a href="http://en.wikipedia.org/wiki/Concurrent_Versions_System">CVS</a>, what can sometimes happen when you do a &#8220;cvs update&#8221; is that binary files get &#8220;merged&#8221; as if they were text files.  Naturally, this can cause some file types to become corrupt. </p>
<p>To avoid this happening, type: </p>
<p><code>$ cvs admin -kb path/to/binary.file</code></p>
<p>Usually, you have a large number of these files (in my case, I had about ~1000 zip files). So combining the above with Bash&#8217;s find can be very useful. Assuming you are in the working directory: </p>
<p><code> $ find . -name "*.ext" -exec cvs admin -kb {} ;</code></p>
<p>The &#8220;<code>{}</code>&#8221; substitutes the found file, which CVS marks as binary for you. </p>
<p>There is also a handy guide on<a href="http://www.idevelopment.info/data/Programming/change_management/unix_cvs/PROGRAMMING_Working_with_Binary_Files.shtml"> working with binary files in CVS</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2011/06/marking-files-as-binary-in-cvs/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Finding the value of &#8220;xml:lang&#8221; of an element</title>
		<link>http://marcosc.com/2010/10/finding-the-xml-lang-of-an-element/</link>
		<comments>http://marcosc.com/2010/10/finding-the-xml-lang-of-an-element/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 12:28:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://datadriven.com.au/?p=234</guid>
		<description><![CDATA[XML Spec says that when someone declares xml:lang somewhere in the ancestor chain of an XML document, element nodes in the DOM are supposed to inherit the value of xml:lang. However, although xml:lang is an inherent part of XML, the &#8230; <a href="http://marcosc.com/2010/10/finding-the-xml-lang-of-an-element/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.w3.org/TR/REC-xml/">XML Spec </a> says that when someone declares <code>xml:lang</code> somewhere in the ancestor chain of an XML document, element nodes in the DOM are supposed to inherit the value of <code>xml:lang</code>. However, although <code>xml:lang</code> is an inherent part of XML, the <cite><a href="http://www.w3.org/TR/DOM-Level-3-Core/">DOM Core level 3</a></cite> specs lacks means to easily find what value of <code>xml:lang</code> an element has inherited (or explicitly has been assigned). </p>
<p>From section 2.12 Language Identification  of the <cite><a href="http://www.w3.org/TR/REC-xml/#sec-lang-tag">XML spec</a></cite>  :</p>
<blockquote><p>The language specified by xml:lang applies to the element where it is specified (including the values of its attributes), and to all elements in its content unless overridden with another instance of xml:lang. In particular, the empty value of xml:lang is used on an element B to override a specification of xml:lang on an enclosing element A, without specifying another language. Within B, it is considered that there is no language information available, just as if xml:lang had not been specified on B or any of its ancestors. Applications determine which of an element&#8217;s attribute values and which parts of its character content, if any, are treated as language-dependent values described by xml:lang.</p></blockquote>
<p>Below is a little useful code snippet to help you find the value of <code>xml:lang</code>. The code simply recurses up the tree till it finds an xml:lang attribute to inherit the value from. If it can&#8217;t find one, it just returns an empty string:</p>
<pre><code>
function xmlLang(element){
  var xmlns = "http://www.w3.org/XML/1998/namespace";
  var value = element.getAttributeNS(xmlns,"lang");
  //check if we are at the root
  if(element === element.ownerDocument.documentElement){
      //no xml:lang?
      if(!element.hasAttributeNS(xmlns,"lang")){
          return "";
       }
       //we have it, so return it.
       return value;
   }

   //this is an element in the tree
   if(!element.hasAttributeNS(xmlns,"lang")){
       //no xml:lang? recurse upwards
	    return xmlLang(element.parentNode);
   }
  //we have a value, so return it
   return value;
}
</code></pre>
<p>To make it more useful, it would be good to validate the value derived from the code above against the <a href="http://www.iana.org/assignments/language-tags">IANA language tag registry</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2010/10/finding-the-xml-lang-of-an-element/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentation Slides &#8211; Privacy of Geolocation Implementations</title>
		<link>http://marcosc.com/2010/07/presentation-slides-privacy-of-geolocation-implementations/</link>
		<comments>http://marcosc.com/2010/07/presentation-slides-privacy-of-geolocation-implementations/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 17:57:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[W3C]]></category>
		<category><![CDATA[Geolocation]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://datadriven.com.au/?p=221</guid>
		<description><![CDATA[Below are the slides for the presentation I gave at the W3C Workshop for Advanced Web APIs. See my other blog post for more information about the workshop and  the paper. View more presentations from Me.]]></description>
			<content:encoded><![CDATA[<p>Below are the slides for the presentation I gave at the W3C Workshop for Advanced Web APIs. See my other <a href="http://datadriven.com.au/2010/06/privacy-of-geolocation-implementations/">blog post</a> for more information about the workshop and  the paper.</p>
<div id="__ss_4754324" style="width: 425px;"><object id="__sse4754324" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100714121816-phpapp02&amp;stripped_title=privacy-of-geolocation-implementations" /><param name="name" value="__sse4754324" /><param name="allowfullscreen" value="true" /><embed id="__sse4754324" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100714121816-phpapp02&amp;stripped_title=privacy-of-geolocation-implementations" name="__sse4754324" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/mcaceres">Me</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2010/07/presentation-slides-privacy-of-geolocation-implementations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 4 beta and geolocation</title>
		<link>http://marcosc.com/2010/07/firefox-4-beta-and-geolocation/</link>
		<comments>http://marcosc.com/2010/07/firefox-4-beta-and-geolocation/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 15:20:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Geolocation]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://datadriven.com.au/?p=218</guid>
		<description><![CDATA[Had a brief look to see if anything had changed re: geolocation in Firefox in its first beta release of 4.0. Seems they have started to integrate an indicator into the address bar. The indicator still does not show up &#8230; <a href="http://marcosc.com/2010/07/firefox-4-beta-and-geolocation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Had a brief look to see if anything had changed re: geolocation in Firefox in its first <a href="http://www.mozilla.com/en-US/firefox/4.0b1/">beta release of 4.0</a>. Seems they have started to integrate an indicator into the address bar.</p>
<div id="attachment_219" class="wp-caption aligncenter" style="width: 443px"><a href="http://marcosc.com/wp-content/uploads/2010/07/Screen-shot-2010-07-14-at-5.05.33-PM.png"><img class="size-full wp-image-219" title="Screen shot 2010-07-14 at 5.05.33 PM" src="http://marcosc.com/wp-content/uploads/2010/07/Screen-shot-2010-07-14-at-5.05.33-PM.png" alt="Firefox 4, beta 1's handling of geolocation" width="433" height="183" /></a><p class="wp-caption-text">Firefox 4 Beta 1&#39;s handling of Geolocation...</p></div>
<p>The indicator still does not show up when geolocation is active, but it&#8217;s a start and it&#8217;s good to see that they are working to fix that.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcosc.com/2010/07/firefox-4-beta-and-geolocation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

