<?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>dev.enekoalonso.com &#187; google</title>
	<atom:link href="http://dev.enekoalonso.com/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://dev.enekoalonso.com</link>
	<description>having fun with code</description>
	<lastBuildDate>Wed, 12 Oct 2011 21:40:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Creating QR Codes with Google Charts API</title>
		<link>http://dev.enekoalonso.com/2010/07/30/creating-qr-codes-with-google-charts-api/</link>
		<comments>http://dev.enekoalonso.com/2010/07/30/creating-qr-codes-with-google-charts-api/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 05:51:28 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[qr]]></category>
		<category><![CDATA[qrcode]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=618</guid>
		<description><![CDATA[As simple as a URL: http://chart.apis.google.com/chart?cht=qr&#038;chs=250&#215;250&#038;chl=http://dev.enekoalonso.com Related Posts:May 6, 2010 -- Tech talks at LEVEL Studios (0)February 19, 2010 -- Having fun with Mooml &#038; Twitter (0)January 28, 2010 -- Things to do (0)June 30, 2009 -- iPhone 3.0 geolocation with Javascript (1)]]></description>
			<content:encoded><![CDATA[<p>As simple as a URL: <a href="http://chart.apis.google.com/chart?cht=qr&#038;chs=250x250&#038;chl=http://dev.enekoalonso.com">http://chart.apis.google.com/chart?cht=qr&#038;chs=250&#215;250&#038;chl=http://dev.enekoalonso.com</a><br />
<img src="http://chart.apis.google.com/chart?cht=qr&#038;chs=250x250&#038;chl=http://dev.enekoalonso.com" alt="" /></p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>May 6, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/" title="Tech talks at LEVEL Studios">Tech talks at LEVEL Studios</a> (0)</li><li>February 19, 2010 -- <a href="http://dev.enekoalonso.com/2010/02/19/having-fun-with-mooml-and-twitter/" title="Having fun with Mooml &#038; Twitter">Having fun with Mooml &#038; Twitter</a> (0)</li><li>January 28, 2010 -- <a href="http://dev.enekoalonso.com/2010/01/28/things-to-do/" title="Things to do">Things to do</a> (0)</li><li>June 30, 2009 -- <a href="http://dev.enekoalonso.com/2009/06/30/iphone-3-0-geolocation-with-javascript/" title="iPhone 3.0 geolocation with Javascript">iPhone 3.0 geolocation with Javascript</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/07/30/creating-qr-codes-with-google-charts-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Performance matters</title>
		<link>http://dev.enekoalonso.com/2010/05/16/performance-matters/</link>
		<comments>http://dev.enekoalonso.com/2010/05/16/performance-matters/#comments</comments>
		<pubDate>Sun, 16 May 2010 18:36:24 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[checking]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[parameter]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[value]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=543</guid>
		<description><![CDATA[I just read this on an email from a Google&#8217;s Closure developer: Adding runtime checks for invalid usage is something we have policy against. It adds to the code size as well as to the runtime cost. I totally agree. Developers should be responsible for their usage of APIs or third party libraries, while these [...]]]></description>
			<content:encoded><![CDATA[<p>I just read this on an email <a href="http://groups.google.com/group/closure-library-discuss/msg/15fae0a2aee76721">from a Google&#8217;s Closure developer</a>:</p>
<blockquote><p>Adding runtime checks for invalid usage is something we have policy against. It adds to the code size as well as to the runtime cost.</p></blockquote>
<p>I totally agree. Developers should be responsible for their usage of APIs or third party libraries, while these should focus on working as efficient as possible given the correct parameters. Being Javascript a non-strongly-typed language, checking the parameters passed to every function are right at runtime would be a huge overkill.</p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>March 15, 2010 -- <a href="http://dev.enekoalonso.com/2010/03/15/more-updates-to-mooml-coming-soon/" title="More updates to Mooml coming soon">More updates to Mooml coming soon</a> (0)</li><li>January 28, 2010 -- <a href="http://dev.enekoalonso.com/2010/01/28/dojo-y-yo/" title="Dojo y yo">Dojo y yo</a> (0)</li><li>May 6, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/" title="Tech talks at LEVEL Studios">Tech talks at LEVEL Studios</a> (0)</li><li>January 28, 2010 -- <a href="http://dev.enekoalonso.com/2010/01/28/things-to-do/" title="Things to do">Things to do</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/05/16/performance-matters/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Awesome! Dinner for Spanish developers at Google IO 2010</title>
		<link>http://dev.enekoalonso.com/2010/05/16/awesome-dinner-for-spanish-developers-at-google-io-2010/</link>
		<comments>http://dev.enekoalonso.com/2010/05/16/awesome-dinner-for-spanish-developers-at-google-io-2010/#comments</comments>
		<pubDate>Sun, 16 May 2010 18:03:28 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[cena]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[dinner]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[io2010]]></category>
		<category><![CDATA[spain]]></category>
		<category><![CDATA[spanish]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=539</guid>
		<description><![CDATA[Great news. Google will be sponsoring a dinner for all Spanish developers at Google IO 2010: http://programa-con-google.blogspot.com/2010/05/vienes-al-google-i0.html We will be driving from SLO on Tuesday afternoon, but I&#8217;m not sure we would get there by 8pm. I really hope I can make it! Related Posts:April 27, 2010 -- My Google IO 2010 Schedule (0)July 30, [...]]]></description>
			<content:encoded><![CDATA[<p>Great news. Google will be sponsoring a dinner for all Spanish developers at Google IO 2010:<br />
<a href="http://programa-con-google.blogspot.com/2010/05/vienes-al-google-i0.html">http://programa-con-google.blogspot.com/2010/05/vienes-al-google-i0.html</a></p>
<p>We will be driving from SLO on Tuesday afternoon, but I&#8217;m not sure we would get there by 8pm. I really hope I can make it!</p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>April 27, 2010 -- <a href="http://dev.enekoalonso.com/2010/04/27/my-google-io-2010-schedule/" title="My Google IO 2010 Schedule">My Google IO 2010 Schedule</a> (0)</li><li>July 30, 2010 -- <a href="http://dev.enekoalonso.com/2010/07/30/creating-qr-codes-with-google-charts-api/" title="Creating QR Codes with Google Charts API">Creating QR Codes with Google Charts API</a> (1)</li><li>May 16, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/16/performance-matters/" title="Performance matters">Performance matters</a> (2)</li><li>May 6, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/" title="Tech talks at LEVEL Studios">Tech talks at LEVEL Studios</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/05/16/awesome-dinner-for-spanish-developers-at-google-io-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech talks at LEVEL Studios</title>
		<link>http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/</link>
		<comments>http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/#comments</comments>
		<pubDate>Thu, 06 May 2010 15:51:16 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[level]]></category>
		<category><![CDATA[qunit]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[studios]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[websocket]]></category>
		<category><![CDATA[websockets]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=527</guid>
		<description><![CDATA[Today we have a Tech Meeting at LEVEL Studios and I&#8217;ll be doing a quick demo of some tools we have been using in our current project, to help during our development: Using Closure Compiler to detect Javascript syntax errors and remove warnings. Using QUnit to test a REST api The power of WebSockets and [...]]]></description>
			<content:encoded><![CDATA[<p>Today we have a Tech Meeting at <a href="http://level-studios.com/">LEVEL Studios</a> and I&#8217;ll be doing a quick demo of some tools we have been using in our current project, to help during our development:</p>
<ul>
<li>Using <a href="http://code.google.com/closure/compiler/">Closure Compiler</a> to detect Javascript syntax errors and remove warnings.</li>
<li>Using <a href="http://docs.jquery.com/QUnit">QUnit</a> to test a REST api</li>
<li>The power of <a href="http://en.wikipedia.org/wiki/Web_Sockets">WebSockets</a> and how the way browsers and servers interact with each other will change in the future.</li>
</ul>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>May 22, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/22/more-websockets-now-with-python/" title="More WebSockets, now with Python!">More WebSockets, now with Python!</a> (9)</li><li>March 15, 2010 -- <a href="http://dev.enekoalonso.com/2010/03/15/more-updates-to-mooml-coming-soon/" title="More updates to Mooml coming soon">More updates to Mooml coming soon</a> (0)</li><li>January 28, 2010 -- <a href="http://dev.enekoalonso.com/2010/01/28/things-to-do/" title="Things to do">Things to do</a> (0)</li><li>March 14, 2011 -- <a href="http://dev.enekoalonso.com/2011/03/14/staying-busy/" title="Staying busy">Staying busy</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Google IO 2010 Schedule</title>
		<link>http://dev.enekoalonso.com/2010/04/27/my-google-io-2010-schedule/</link>
		<comments>http://dev.enekoalonso.com/2010/04/27/my-google-io-2010-schedule/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 05:27:36 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[googleio]]></category>
		<category><![CDATA[io2010]]></category>
		<category><![CDATA[plan]]></category>
		<category><![CDATA[san francisco]]></category>
		<category><![CDATA[schedule]]></category>
		<category><![CDATA[sessions]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=515</guid>
		<description><![CDATA[The schedule for Google IO 2010 has been published. I am going through the list of talks thinking on which ones I am more interested, and here are my candidates so far: Wednesday May 19 10:45am &#8211; Opening up Closure Library 12:30pm &#8211; Beyond JavaScript: programming the web with native code 1:45pm &#8211; Map once, [...]]]></description>
			<content:encoded><![CDATA[<p>The schedule for Google IO 2010 has been published. I am going through the list of talks thinking on which ones I am more interested, and here are my candidates so far:</p>
<h2>Wednesday May 19</h2>
<p>10:45am &#8211; <a href="http://code.google.com/events/io/2010/sessions/closure-library.html">Opening up Closure Library</a><br />
12:30pm &#8211; <a href="http://code.google.com/events/io/2010/sessions/native-code-chrome.html">Beyond JavaScript: programming the web with native code</a><br />
1:45pm &#8211; <a href="http://code.google.com/events/io/2010/sessions/map-once-map-anywhere-geospatial-apps.html">Map once, map anywhere: Developing geospatial applications for both desktop and mobile</a><br />
3:00pm &#8211; <a href="http://code.google.com/events/io/2010/sessions/chrome-os-apps.html">Developing HTML5 Applications for Google Chrome and Google Chrome OS</a><br />
4:15pm &#8211; <a href="http://code.google.com/events/io/2010/sessions/unleash-map-data-cloud-computing-geospatial-apps.html">Unleash your map data: Cloud computing for geospatial applications</a></p>
<h2>Thursday May 20</h2>
<p>10:15am &#8211; <a href="http://code.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html">Developing RESTful Android applications</a><br />
11:30am &#8211; <a href="http://code.google.com/events/io/2010/sessions/lose-friends-alienate-people-engineering-leadership.html">How to lose friends and alienate people: The joys of engineering leadership</a><br />
1:00pm &#8211; <a href="http://code.google.com/events/io/2010/sessions/gwt-html5.html">GWT + HTML5 can do what?!</a><br />
2:15pm &#8211; <a href="http://code.google.com/events/io/2010/sessions/fireside-chat-social-web.html">Fireside chat with the Social Web team</a><br />
3:30pm &#8211; <a href="http://code.google.com/events/io/2010/sessions/how-google-builds-apis.html">How Google builds APIs</a><br />
4:45pm &#8211; <a href="http://code.google.com/events/io/2010/sessions/html5-status-chrome.html">HTML5 status update</a></p>
<p>Sad I can&#8217;t divide and go to all sessions ;)</p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>May 16, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/16/awesome-dinner-for-spanish-developers-at-google-io-2010/" title="Awesome! Dinner for Spanish developers at Google IO 2010">Awesome! Dinner for Spanish developers at Google IO 2010</a> (0)</li><li>July 30, 2010 -- <a href="http://dev.enekoalonso.com/2010/07/30/creating-qr-codes-with-google-charts-api/" title="Creating QR Codes with Google Charts API">Creating QR Codes with Google Charts API</a> (1)</li><li>May 16, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/16/performance-matters/" title="Performance matters">Performance matters</a> (2)</li><li>May 6, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/" title="Tech talks at LEVEL Studios">Tech talks at LEVEL Studios</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/04/27/my-google-io-2010-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More updates to Mooml coming soon</title>
		<link>http://dev.enekoalonso.com/2010/03/15/more-updates-to-mooml-coming-soon/</link>
		<comments>http://dev.enekoalonso.com/2010/03/15/more-updates-to-mooml-coming-soon/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 04:56:35 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[eval]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[mooml]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[slow]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[templating]]></category>
		<category><![CDATA[with]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=499</guid>
		<description><![CDATA[I&#8217;ve been very busy lately, both with spaniards.es and at work. Too much stuff to do. Nevertheless, I&#8217;ve been working lately on a version of Mooml that does not rely on with/eval. The problem of using eval (which has bad reputation but is used every time we parse JSON -unless you use this- or load [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been very busy lately, both with <a href="http://www.spaniards.es">spaniards.es</a> and at work. Too much stuff to do. Nevertheless, I&#8217;ve been working lately on a version of Mooml that does not rely on with/eval. The problem of using eval (which has bad reputation but is used every time we <a href="http://github.com/mootools/mootools-core/blob/master/Source/Utilities/JSON.js">parse JSON</a> -unless you use <a href="http://code.google.com/p/json-sans-eval/">this</a>- or load Javascript via AJAX) in Mooml is that it references external variables, something that is not suported by javascript compilers like Google Closure.</p>
<p>So, I got it working, using RegEx, but seems like it is way slower than eval. I have to do some performance testing and do some research to see if there is any way I can improve the performance. Hope to have version 1.1 ready soon.</p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>April 28, 2010 -- <a href="http://dev.enekoalonso.com/2010/04/28/mooml-1-2-3-bye-bye-with/" title="Mooml 1.2.3 &#8211; Bye, bye, with()">Mooml 1.2.3 &#8211; Bye, bye, with()</a> (3)</li><li>March 24, 2010 -- <a href="http://dev.enekoalonso.com/2010/03/24/mooml-1-1-no-more-eval-say-hi-to-mooml-template-and-mooml-templates/" title="Mooml 1.1 &#8211; No more eval(), say Hi to Mooml.Template and Mooml.Templates">Mooml 1.1 &#8211; No more eval(), say Hi to Mooml.Template and Mooml.Templates</a> (0)</li><li>February 19, 2010 -- <a href="http://dev.enekoalonso.com/2010/02/19/having-fun-with-mooml-and-twitter/" title="Having fun with Mooml &#038; Twitter">Having fun with Mooml &#038; Twitter</a> (0)</li><li>May 16, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/16/performance-matters/" title="Performance matters">Performance matters</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/03/15/more-updates-to-mooml-coming-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Fiber in San Luis Obispo? That would be awesome!</title>
		<link>http://dev.enekoalonso.com/2010/02/18/google-fiber-in-san-luis-obispo-that-would-be-awesome/</link>
		<comments>http://dev.enekoalonso.com/2010/02/18/google-fiber-in-san-luis-obispo-that-would-be-awesome/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 16:52:44 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[calpoly]]></category>
		<category><![CDATA[connection]]></category>
		<category><![CDATA[fiber]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[san luis obispo]]></category>
		<category><![CDATA[slo]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=467</guid>
		<description><![CDATA[It looks like the nomination for San Luis Obispo to get Google Fiber is gaining a lot of support. I have no idea how other cities or communities are doing, but here at SLO seems like a lot of people is getting involved. Having Google Fiber in San Luis Obispo would be awesome. There is [...]]]></description>
			<content:encoded><![CDATA[<p>It looks like the nomination for San Luis Obispo to get Google Fiber is gaining a lot of support. I have no idea how other cities or communities are doing, but here at SLO seems like a lot of people is getting involved. Having Google Fiber in San Luis Obispo would be awesome.</p>
<p>There is a group on Facebook (<a href="http://www.facebook.com/group.php?gid=303673457163">Bring Google Fiber to San Luis Obispo</a>) with more than 1300 members right now, mostly from the tech companies and <a href="http://www.calpoly.edu/">CalPoly</a>.</p>
<p><center><a href="http://www.facebook.com/group.php?gid=303673457163"><img alt="" src="http://photos-h.ak.fbcdn.net/hphotos-ak-snc3/hs147.snc3/17464_1253092960766_1032780133_566408_4228578_n.jpg" title="Bring Google Fiber to San Luis Obispo" class="alignnone" width="360" height="288" /></a></center></p>
<p>If you want to nominate San Luis Obispo, please <a href="http://www.google.com/appserve/fiberrfi/public/options">do it here</a>.</p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>May 3, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/03/playing-with-websockets/" title="Playing with WebSockets">Playing with WebSockets</a> (4)</li><li>September 21, 2010 -- <a href="http://dev.enekoalonso.com/2010/09/21/date-from-iso-8601-string/" title="Date from ISO 8601 string">Date from ISO 8601 string</a> (1)</li><li>July 30, 2010 -- <a href="http://dev.enekoalonso.com/2010/07/30/creating-qr-codes-with-google-charts-api/" title="Creating QR Codes with Google Charts API">Creating QR Codes with Google Charts API</a> (1)</li><li>May 16, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/16/performance-matters/" title="Performance matters">Performance matters</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/02/18/google-fiber-in-san-luis-obispo-that-would-be-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dojo y yo</title>
		<link>http://dev.enekoalonso.com/2010/01/28/dojo-y-yo/</link>
		<comments>http://dev.enekoalonso.com/2010/01/28/dojo-y-yo/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 05:48:02 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[dependencies]]></category>
		<category><![CDATA[dependency]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[goog]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[require]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=423</guid>
		<description><![CDATA[Back in November 2008 I had a chance to work with Dojo on a project for Cisco WebEx. I didn&#8217;t like it at all. I was used to the simplicity of jQuery and Mootools and I couldn&#8217;t understand how Dojo had been designed so complicated. Well, one year later I just realized that it is [...]]]></description>
			<content:encoded><![CDATA[<p>Back in November 2008 I had a chance to work with <a href="http://dojotoolkit.org/">Dojo</a> on a project for <a href="http://www.webex.com/iphone/">Cisco WebEx</a>. I didn&#8217;t like it at all. I was used to the simplicity of jQuery and Mootools and I couldn&#8217;t understand how Dojo had been designed so complicated. Well, one year later I just realized that it is not that Dojo was that complicated. It is that I wasn&#8217;t ready for it. Now it is time to give it another chance.</p>
<h3>Some cool stuff about Dojo</h3>
<p>Reading Dojo&#8217;s documentation I have finally understood something that I was wondering how it works. It&#8217;s nothing really complicated, but it&#8217;s actually very cool: <a href="http://api.dojotoolkit.org/jsdoc/HEAD/dojo.require">dojo.require</a></p>
<p>Javascript requests to the server are asynchronous (not sure if synchronous request can be done). So we depend on callback functions to continue the flow of your program. That means that when we put <code lang="javascript">dojo.require('somefancyjs');</code> on a line, the execution does not stop and it continues to the next line of code while the browser downloads that file from the server in the background.</p>
<p>Looks like Dojo puts those requests on some kind of array, array that is checked when you use <code>dojo.addOnLoad()</code> which does not execute your callback function until all elements of the array have been downloaded. That is very cool because that means you can do as many dojo.require&#8217;s as you need. The down side is that you need to put your code inside a callback function, which is not very bad when working with objects.</p>
<p>Next, I have to find out how goog.require works ;)</p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>May 16, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/16/performance-matters/" title="Performance matters">Performance matters</a> (2)</li><li>January 28, 2010 -- <a href="http://dev.enekoalonso.com/2010/01/28/things-to-do/" title="Things to do">Things to do</a> (0)</li><li>May 6, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/" title="Tech talks at LEVEL Studios">Tech talks at LEVEL Studios</a> (0)</li><li>March 15, 2010 -- <a href="http://dev.enekoalonso.com/2010/03/15/more-updates-to-mooml-coming-soon/" title="More updates to Mooml coming soon">More updates to Mooml coming soon</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/01/28/dojo-y-yo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things to do</title>
		<link>http://dev.enekoalonso.com/2010/01/28/things-to-do/</link>
		<comments>http://dev.enekoalonso.com/2010/01/28/things-to-do/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 04:15:44 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[appcelerator]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=418</guid>
		<description><![CDATA[To do list: Try Appcelerator (downloaded.. don&#8217;t like it very much, have to spend more time with it) Install iPhone SDK 3.2 (downloading installing&#8230;) Study LinkedIn API Study Twitter API Take a look at YQL Play with Google Closure JS library Play with Dojo JS library That&#8217;s it for now. Let&#8217;s see if I can [...]]]></description>
			<content:encoded><![CDATA[<p>To do list:</p>
<ul>
<li><del datetime="2010-01-31T00:52:29+00:00">Try <a href="http://www.appcelerator.com/">Appcelerator</a></del> (downloaded.. don&#8217;t like it very much, have to spend more time with it)</li>
<li><del datetime="2010-01-31T01:29:38+00:00">Install <a href="http://developer.apple.com/iphone">iPhone SDK 3.2</a> (<del datetime="2010-01-31T00:52:29+00:00">downloading</del> installing&#8230;)</del></li>
<li>Study <a href="http://developer.linkedin.com/community/apis">LinkedIn API</a></li>
<li>Study <a href="http://apiwiki.twitter.com/">Twitter API</a></li>
<li>Take a look at <a href="http://developer.yahoo.com/yql/">YQL</a></li>
<li>Play with <a href="http://code.google.com/closure/library">Google Closure</a> JS library</li>
<li>Play with <a href="http://dojotoolkit.org/">Dojo</a> JS library</li>
</ul>
<p>That&#8217;s it for now. Let&#8217;s see if I can find time to do all those.</p>
<h4>Updated</h4>
<p><a href="http://dev.enekoalonso.com/wp-content/uploads/2010/01/Screen-shot-2010-01-30-at-5.37.52-PM.png"><img src="http://dev.enekoalonso.com/wp-content/uploads/2010/01/Screen-shot-2010-01-30-at-5.37.52-PM-396x300.png" alt="" title="XCode with SDK 3.2 for iPad" width="396" height="300" class="aligncenter size-medium wp-image-439" /></a></p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>May 6, 2010 -- <a href="http://dev.enekoalonso.com/2010/05/06/tech-talks-at-level-studios/" title="Tech talks at LEVEL Studios">Tech talks at LEVEL Studios</a> (0)</li><li>January 28, 2010 -- <a href="http://dev.enekoalonso.com/2010/01/28/dojo-y-yo/" title="Dojo y yo">Dojo y yo</a> (0)</li><li>June 30, 2009 -- <a href="http://dev.enekoalonso.com/2009/06/30/iphone-3-0-geolocation-with-javascript/" title="iPhone 3.0 geolocation with Javascript">iPhone 3.0 geolocation with Javascript</a> (1)</li><li>June 14, 2011 -- <a href="http://dev.enekoalonso.com/2011/06/14/titanium-studio-and-titanium-mobile-1-7/" title="Titanium Studio and Titanium Mobile 1.7">Titanium Studio and Titanium Mobile 1.7</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2010/01/28/things-to-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone 3.0 geolocation with Javascript</title>
		<link>http://dev.enekoalonso.com/2009/06/30/iphone-3-0-geolocation-with-javascript/</link>
		<comments>http://dev.enekoalonso.com/2009/06/30/iphone-3-0-geolocation-with-javascript/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 16:13:43 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=338</guid>
		<description><![CDATA[I was watching one of the video tutorials from Apple last night about some custom JS available on Safari, only on the iPhone 3.0, that let’s you interact with the phone and obtain data like the current location, etc. So I built a little page to see how it works. I included Mootools 1.2.3 from [...]]]></description>
			<content:encoded><![CDATA[<p>I was watching one of the video tutorials from Apple last night about some custom JS available on Safari, only on the iPhone 3.0, that let’s you interact with the phone and obtain data like the current location, etc.</p>
<p>So I built a little page to see how it works. I included Mootools 1.2.3 from Google servers and the Google Maps API. And voilá, with a few lines of code we have a totally functional web based GSP navigation system. A little bit ugly, but functional. Currenlty it only centers the map on the coordinates given by the phone, and also does a reverse geolocation to obtain the address (actually city, state and country). But it could be easily extended to add markers to the map, or even paths to track the movement.</p>
<p>If you have an iPhone (or an iPhone simulator) go to:<br />
<a href="http://enekoalonso.com/research/iphone/geolocation.html">http://enekoalonso.com/research/iphone/geolocation.html</a></p>
<p>The source code:</p>
<div class="geshi no javascript">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">var</span> Navigator = <span class="kw2">new</span> <span class="kw2">Class</span><span class="br0">&#40;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; initialize: <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// Listen for position changes</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">watchId</span> = navigator.<span class="me1">geolocation</span>.<span class="me1">watchPosition</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">function</span><span class="br0">&#40;</span>position<span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="kw1">this</span>.<span class="me1">position</span><span class="br0">&#40;</span>position<span class="br0">&#41;</span> <span class="br0">&#125;</span>.<span class="me1">bind</span><span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="br0">&#125;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> enableHighAccuracy: <span class="kw2">true</span>, timeout: <span class="nu0">1000</span>, maximumAge: <span class="nu0">10000</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">infoPanel</span> = $<span class="br0">&#40;</span><span class="st0">&#39;info&#39;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// Create the Geocoder and the Map</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">geocoder</span> = <span class="kw2">new</span> google.<span class="me1">maps</span>.<span class="me1">Geocoder</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">map</span> = <span class="kw2">new</span> google.<span class="me1">maps</span>.<span class="me1">Map</span><span class="br0">&#40;</span>$<span class="br0">&#40;</span><span class="st0">&#39;map&#39;</span><span class="br0">&#41;</span>, <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; zoom: <span class="nu0">12</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; mapTypeId: google.<span class="me1">maps</span>.<span class="me1">MapTypeId</span>.<span class="me1">ROADMAP</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; position: <span class="kw2">function</span><span class="br0">&#40;</span>position<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// Update labels</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">infoPanel</span>.<span class="me1">getElement</span><span class="br0">&#40;</span><span class="st0">&#39;p.date&#39;</span><span class="br0">&#41;</span>.<span class="me1">set</span><span class="br0">&#40;</span><span class="st0">&#39;text&#39;</span>, position.<span class="me1">timestamp</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">infoPanel</span>.<span class="me1">getElement</span><span class="br0">&#40;</span><span class="st0">&#39;p.coords&#39;</span><span class="br0">&#41;</span>.<span class="me1">set</span><span class="br0">&#40;</span><span class="st0">&#39;text&#39;</span>, position.<span class="me1">coords</span>.<span class="me1">latitude</span> + <span class="st0">&#39;, &#39;</span> + position.<span class="me1">coords</span>.<span class="me1">longitude</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">infoPanel</span>.<span class="me1">getElement</span><span class="br0">&#40;</span><span class="st0">&#39;p.altitude&#39;</span><span class="br0">&#41;</span>.<span class="me1">set</span><span class="br0">&#40;</span><span class="st0">&#39;text&#39;</span>, position.<span class="me1">coords</span>.<span class="me1">altitude</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">infoPanel</span>.<span class="me1">getElement</span><span class="br0">&#40;</span><span class="st0">&#39;p.heading&#39;</span><span class="br0">&#41;</span>.<span class="me1">set</span><span class="br0">&#40;</span><span class="st0">&#39;text&#39;</span>, position.<span class="me1">coords</span>.<span class="me1">heading</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">infoPanel</span>.<span class="me1">getElement</span><span class="br0">&#40;</span><span class="st0">&#39;p.speed&#39;</span><span class="br0">&#41;</span>.<span class="me1">set</span><span class="br0">&#40;</span><span class="st0">&#39;text&#39;</span>, position.<span class="me1">coords</span>.<span class="me1">speed</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// Center map</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">var</span> latLng = <span class="kw2">new</span> google.<span class="me1">maps</span>.<span class="me1">LatLng</span><span class="br0">&#40;</span>position.<span class="me1">coords</span>.<span class="me1">latitude</span>, position.<span class="me1">coords</span>.<span class="me1">longitude</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">map</span>.<span class="me1">set_center</span><span class="br0">&#40;</span>latLng<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// Reverse geolocation (get current address)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">geocoder</span>.<span class="me1">geocode</span><span class="br0">&#40;</span><span class="br0">&#123;</span><span class="st0">&#39;latLng&#39;</span>: latLng<span class="br0">&#125;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">function</span><span class="br0">&#40;</span>results, <span class="kw3">status</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>google.<span class="me1">maps</span>.<span class="me1">GeocoderStatus</span>.<span class="me1">OK</span><span class="br0">&#41;</span> <span class="kw1">this</span>.<span class="me1">showAddress</span><span class="br0">&#40;</span>results<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>.<span class="me1">bind</span><span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; showAddress: <span class="kw2">function</span><span class="br0">&#40;</span>results<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">// console.dir(response);</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>results<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">infoPanel</span>.<span class="me1">getElement</span><span class="br0">&#40;</span><span class="st0">&#39;p.location&#39;</span><span class="br0">&#41;</span>.<span class="me1">set</span><span class="br0">&#40;</span><span class="st0">&#39;text&#39;</span>, results<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>.<span class="me1">formatted_address</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">window.<span class="me1">addEvent</span><span class="br0">&#40;</span><span class="st0">&#39;load&#39;</span>, <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw2">new</span> Navigator<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>Enjoy.</p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>September 17, 2010 -- <a href="http://dev.enekoalonso.com/2010/09/17/mootools-core-for-server-and-mobile-development/" title="MooTools Core for Server and Mobile Development">MooTools Core for Server and Mobile Development</a> (1)</li><li>February 19, 2010 -- <a href="http://dev.enekoalonso.com/2010/02/19/having-fun-with-mooml-and-twitter/" title="Having fun with Mooml &#038; Twitter">Having fun with Mooml &#038; Twitter</a> (0)</li><li>January 28, 2010 -- <a href="http://dev.enekoalonso.com/2010/01/28/things-to-do/" title="Things to do">Things to do</a> (0)</li><li>February 28, 2009 -- <a href="http://dev.enekoalonso.com/2009/02/28/kyte-rest-api/" title="Kyte&#8217;s REST API">Kyte&#8217;s REST API</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2009/06/30/iphone-3-0-geolocation-with-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MyGameOfLife source code</title>
		<link>http://dev.enekoalonso.com/2008/11/28/mygameoflife-source-code/</link>
		<comments>http://dev.enekoalonso.com/2008/11/28/mygameoflife-source-code/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 06:11:25 +0000</pubDate>
		<dc:creator>Eneko Alonso</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[conway]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gameoflife]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[googlecode]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://dev.enekoalonso.com/?p=40</guid>
		<description><![CDATA[Almost a year ago I was learning some Cocoa and I decided it will be fun to implement a Cocoa based version of Conway&#8217;s Game of Life. Back then I didn&#8217;t publish the source code, not for any special reason. So now I have just uploaded it to Google Code. It&#8217;s not fully functional, since [...]]]></description>
			<content:encoded><![CDATA[<p>Almost a year ago I was learning some Cocoa and I decided it will be fun to implement a Cocoa based version of <a href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Conway&#8217;s Game of Life</a>. Back then I didn&#8217;t publish the source code, not for any special reason. So now I have just uploaded it to Google Code. It&#8217;s not fully functional, since the last time I worked on it I was creating an structure editor. My idea was to create a library of structures, with drag&#038;drop and import/export options.</p>
<p>If you are interested on working on the project, let me know :)</p>
<p><a href="http://code.google.com/p/my-gameoflife">http://code.google.com/p/my-gameoflife</a></p>
<p><a href="http://www.flickr.com/photos/eneko/2142616139/" title="My Game of Life by Eneko Alonso, on Flickr"><img src="http://farm3.static.flickr.com/2104/2142616139_eed0282fca_o.png" width="500" height="359" alt="My Game of Life" /></a></p>
<h3  class="related_post_title">Related Posts:</h3><ul class="related_post"><li>August 18, 2010 -- <a href="http://dev.enekoalonso.com/2010/08/18/titanium-developer-love-and-hate-part-ii/" title="Titanium Developer: love and hate (Part II)">Titanium Developer: love and hate (Part II)</a> (0)</li><li>May 12, 2011 -- <a href="http://dev.enekoalonso.com/2011/05/12/angry-birds-as-a-web-app/" title="Angry Birds as a Web App">Angry Birds as a Web App</a> (0)</li><li>August 27, 2010 -- <a href="http://dev.enekoalonso.com/2010/08/27/link-whirlpool-js/" title="Link: Whirlpool JS">Link: Whirlpool JS</a> (0)</li><li>July 30, 2010 -- <a href="http://dev.enekoalonso.com/2010/07/30/creating-qr-codes-with-google-charts-api/" title="Creating QR Codes with Google Charts API">Creating QR Codes with Google Charts API</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://dev.enekoalonso.com/2008/11/28/mygameoflife-source-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

