<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>dev &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/dev/</link>
	<description>Feed of posts on WordPress.com tagged "dev"</description>
	<pubDate>Fri, 27 Nov 2009 09:59:50 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[ALT.net Conference]]></title>
<link>http://avventureweb.wordpress.com/2009/11/27/alt-net-conference/</link>
<pubDate>Fri, 27 Nov 2009 01:06:22 +0000</pubDate>
<dc:creator>kingsor</dc:creator>
<guid>http://avventureweb.wordpress.com/2009/11/27/alt-net-conference/</guid>
<description><![CDATA[La quinta edizione della conferenza ALT.net si terrà a Milano il 23 gennaio 2010 presso la sede di A]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a title="UGI ALT.net" href="http://ugialt.net/MainPage.ashx" target="_blank"><img class="size-full wp-image-69 alignleft" title="ugialt.net-logo" src="http://avventureweb.wordpress.com/files/2009/11/ugialt-net-logo.png" alt="" width="100" height="100" /></a>La quinta edizione della <a title="UGI ALT.net Conference" href="http://ugialt.net/V%20UgiALT.net%20Conference.ashx" target="_blank">conferenza ALT.net</a> si terrà a Milano il 23 gennaio 2010 presso la sede di <a title="Avanade Italy" href="http://www.avanade.com/it/" target="_blank">Avanade Italy</a>.</p>
<p>Le <a title="La pagina di iscrizione alla conferenza" href="http://conference.ugialt.net/" target="_blank">iscrizioni</a> si sono aperte alle ore 10 del 23 novembre 2009 e i 100 posti a disposizione erano già esauriti un paio di giorni dopo (ma è probabile che fossero già esauriti otto ore dopo).  Comunque è possibile iscriversi in <a title="Elenco iscritti" href="http://conference.ugialt.net/ElencoIscritti.aspx" target="_blank">lista d&#8217;attesa</a>.</p>
<p>&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Post test]]></title>
<link>http://tarasolesbury.wordpress.com/?p=548</link>
<pubDate>Thu, 26 Nov 2009 19:29:14 +0000</pubDate>
<dc:creator>tarasolesbury</dc:creator>
<guid>http://tarasolesbury.wordpress.com/?p=548</guid>
<description><![CDATA[This is a test. This is a new line. And another]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is a test.<br />
This is a new line.<br />
And another </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Star Trek Online's Michael Cavallaro - Developer Diary]]></title>
<link>http://sector001.wordpress.com/2009/11/26/star-trek-onlines-michael-cavallaro-developer-diary/</link>
<pubDate>Thu, 26 Nov 2009 09:33:18 +0000</pubDate>
<dc:creator>askthewarehouse</dc:creator>
<guid>http://sector001.wordpress.com/2009/11/26/star-trek-onlines-michael-cavallaro-developer-diary/</guid>
<description><![CDATA[IGN has recently posted a developer dairy by Star Trek Online Visual Effects Lead (VFX) Artist Micha]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><strong><a title="IGN" href="http://www.ign.com/" target="_blank">IGN</a></strong> has recently posted a developer dairy by <em>Star Trek Online</em> <a title="Visual Effects" href="http://sector001.wordpress.com/tag/video/" target="_blank">Visual Effects</a> Lead (VFX) Artist <strong>Michael Cavallaro</strong>. The new diary talks about the visual design for<em> <a title="Star Trek Online" href="http://sector001.wordpress.com/resistence-is-not-futile/" target="_blank"><strong>Star Trek Online</strong></a> </em>and what he and his team faced in developing the <em>Star Trek</em> universe. Given that the Star Trek Franchise stretches over forty years and 11 movies and incomposes visual styles from the low budgets on TOS in the 1960&#8217;s to <a title="J.J. Abrams slick high budget reboot" href="http://www.startrekmovie.com/" target="_blank">J.J. Abrams slick high budget reboot</a> of 2009 you can imagine the difficulties of fusing it all together into one style that pleased all the fans.                                                                                                                                                                                                                                             &#8221; <em>The effects changed from series to series and from movie to movie, and of course you have the J.J. Abrams ve</em><em>rsion, which is different than all of them. If there is one thing we learned from Abrams it is if you make it cool enough, the fans will like it</em>. &#8220;  said Cavallaro  &#8221; <em>The first step in visualizing an effect is to meet with the design team to see exactly what something does, when it&#8217;s used and how much damage it inflicts. From there we scour old episodes and movies to find all the reference for that particular effect. Sometimes we have several versions and </em><em>sometimes it just doesn&#8217;t exist. In the case of different versions from different time periods, we try to find the most iconic one to build off of and give it a modern look. For new effects, we work closely with the Art Lead and Concept Team to make sure that what we are creating looks and feels like it is Star Trek IP. It&#8217;s kinda cool to think that a future Star Trek movie or TV show might use something we created as canon</em> &#8221;                                                                                                                                                                                                                                       Judging from what I have seen so far Michael and his team have done a <strong>Great </strong>job the game looks better than I was anticipating  when <a title="Star Trek Online" href="http://www.startrekonline.com/" target="_blank"><strong>Star Trek Online</strong></a> was first announced. To read the full article go to Michael Cavallaro&#8217;s <a href="http://pc.ign.com/articles/104/1047832p1.html">dev  blog hosted on IGN</a>.<strong><img class="aligncenter size-full wp-image-793" title="Spock must Die" src="http://sector001.wordpress.com/files/2009/11/encounters_02b1-e1259229152175.jpg" alt="" width="723" height="110" /></strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Lumuhuku for President !! Yes We Can !!]]></title>
<link>http://lumuhuku.wordpress.com/2009/11/26/lumuhuku-for-president-yes-we-can/</link>
<pubDate>Thu, 26 Nov 2009 05:08:55 +0000</pubDate>
<dc:creator>Dev</dc:creator>
<guid>http://lumuhuku.wordpress.com/2009/11/26/lumuhuku-for-president-yes-we-can/</guid>
<description><![CDATA[Hello everyone, I have some news&#8230; Lumuhuku has been nominated for Best Personal IndiBlog Categ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hello everyone, I have some news&#8230;</p>
<p style="text-align:center;">Lumuhuku has been nominated for <strong>Best Personal IndiBlog Category</strong> for the year 2008.</p>
<p><a href="http://lumuhuku.wordpress.com/files/2009/11/indibloggies-vote.jpg"><img class="aligncenter size-full wp-image-649" title="Indibloggies Vote" src="http://lumuhuku.wordpress.com/files/2009/11/indibloggies-vote.jpg" alt="" width="400" height="81" /></a></p>
<p>And I am delighted to be nominated alongwith <a href="http://www.indibloggies.org/nominations-2008">bloggers</a>, whom I look upto. So am I good enough to win? Not at all. Just check the blogs in the category <a href="http://lumuhuku.wordpress.com/">Lumuhuku</a> has been nominated, and you will know why. They are all so terribley awesome!!</p>
<p>But if you can vote for me, then I will be really very thankful to you.</p>
<p>Here is a step by step guide to vote for Lumuhuku –</p>
<ol>
<li>Click <strong><a href="http://multivote.sparklit.com/web_poll.spark/21900">here</a></strong> to go to IndiBlog voting page.</li>
<li>Go to the category “Best Personal IndiBlog” (Sr. No. 16) [its way down the end of the page].</li>
<li>Find &#38; click on the radio button in front of “Lumuhuku”.</li>
<li>Click Submit.</li>
<li>You will be asked to fill up your e-mail ID.</li>
<li>Once you submit your email ID, you will receive a confirmation mail with a link. Click on the link and that’s it. You have voted in my favour. Thanks. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ol>
<p>And if anyone is so sweet enough to further my cause, by posting on their own blogs, then the person shall receive a really big thanks from me.</p>
<p><a href="http://lumuhuku.wordpress.com/files/2009/11/dev1.jpg"><img class="alignleft size-full wp-image-650" title="Dev" src="http://lumuhuku.wordpress.com/files/2009/11/dev1.jpg" alt="" width="110" height="134" /></a></p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>And if you want to know more about the blog’s author, you can read it in <strong><a href="http://lumuhuku.wordpress.com/about/">About Me</a></strong> section. You may also find it interesting to read about the <a href="http://lumuhuku.wordpress.com/things-to-do-before-i-die/">Things that Dev wants to do before he dies</a>.</p>
<p>But that section has been written a while back and I would like to add here that <strong>Dev</strong> is a Lamborghini fan, a-guy-who-always-wanted-to-play-guitar-but-could-never-do-it-actually, bookeater(!) and stock market stalker by passion. You can read a few more of his posts to know him better (if you have time to waste <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) like –</p>
<p><strong>Poems</strong> – <a href="http://lumuhuku.wordpress.com/2007/07/19/i-am-still-waiting-for-you/">I am still waiting for you</a>, <a href="http://lumuhuku.wordpress.com/2009/02/03/discrete-moonlight/">Discrete Moonlight</a></p>
<p><strong>Travel</strong> – <a href="http://lumuhuku.wordpress.com/2009/08/20/desert-storm-%E2%80%93-a-biking-expedition-to-the-thar-desert/">Desert Biking Trip</a>, <a href="http://lumuhuku.wordpress.com/2009/08/04/going-where-no-one-with-brains-had-ever-gone-before/">Journey To Nowhere, Aravallis Trekking</a>, <a href="http://lumuhuku.wordpress.com/2009/11/19/real-meaning-of-48-hours-visuals-from-my-trip-to-south-india/">South India &#38; 48 Hours train journey</a></p>
<p><strong>Fun</strong> – <a href="http://lumuhuku.wordpress.com/2007/10/20/the-curse-of-the-alarm-clock/">Curse of the alarm clock</a>, <a href="http://lumuhuku.wordpress.com/2008/11/06/lewis-hamiltons-secret-letter-to-barack-obama/">Lewis Hamilton’s Letter to Obama</a>, <a href="http://lumuhuku.wordpress.com/2008/08/13/if-paris-hilton-was-found-on-a-social-networking-site/">Paris Hilton on Fa(K)ebook</a>, <a href="http://lumuhuku.wordpress.com/2008/09/26/an-open-letter-to-fernando-alonso/">A letter to Fernando Alonso</a>,  <a href="http://lumuhuku.wordpress.com/2009/03/25/holy-teachings-of-sri-sri-farhan-rock-on-akhtar-ji-maharaj/">Shri Shri Rock On Akhtar Ji Maharaaj’s Holy Teachings</a>, <a href="http://lumuhuku.wordpress.com/2008/11/11/my-dream-lunch-with-warren-buffet-the-greatest-investor-ever/">Dream Lunch with Warren Buffet</a></p>
<p><strong>Emotions</strong> – <a href="http://lumuhuku.wordpress.com/2007/06/27/love/">Love</a>, <a href="http://lumuhuku.wordpress.com/2007/09/27/sacrifice-is-disgusting/">Sacrifice is disgusting</a>, <a href="http://lumuhuku.wordpress.com/2007/09/15/my-shadow-is-the-only-one-that-walks-besides-me/">My shadow is the only one that walks besides me.</a></p>
<p><strong>Theories </strong>– <a href="http://lumuhuku.wordpress.com/2009/04/08/life-in-orbits/">Orbit Theory of Life</a></p>
<p style="text-align:center;">Help my cause &#38; &#8230;.</p>
<p style="text-align:center;"><a href="http://lumuhuku.wordpress.com/files/2009/11/vote-for-lumuhuku.jpg"><img class="aligncenter size-full wp-image-651" title="Vote-for-Lumuhuku" src="http://lumuhuku.wordpress.com/files/2009/11/vote-for-lumuhuku.jpg" alt="" width="500" height="140" /></a></p>
<p><a href="http://lumuhuku.wordpress.com/"></a></p>
<p><em> </em></p>
<p><em>PS &#8211; Voting has started 25<sup>th</sup> November and will end on 10<sup>th</sup> December 2009. The results will be announced on 15th December 2009.</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Thursday AFK: Be Thankful]]></title>
<link>http://cfgbrady.wordpress.com/2009/11/26/thursday-afk-be-thankful/</link>
<pubDate>Thu, 26 Nov 2009 04:39:16 +0000</pubDate>
<dc:creator>Chris(tina)</dc:creator>
<guid>http://cfgbrady.wordpress.com/2009/11/26/thursday-afk-be-thankful/</guid>
<description><![CDATA[So this one is a timely gimme of a post. And it&#8217;s cliche. But, hey, it&#8217;s the night befor]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So this one is a timely gimme of a post. And it&#8217;s cliche. But, hey, it&#8217;s the night before Thanksgiving, and I&#8217;m getting ready to move my cubicle. Plus I get to wake up at the bald crack of dawn to drive to San Antonio. You&#8217;ll pardon me if I take the easy way out.<img title="gallery" src="http://cfgbrady.wordpress.com/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif" alt="" /></p>
<div id="attachment_46" class="wp-caption aligncenter" style="width: 211px"><a href="http://cfgbrady.wordpress.com/files/2009/11/hug.jpg"><img class="size-medium wp-image-46" title="Hug" src="http://cfgbrady.wordpress.com/files/2009/11/hug.jpg?w=201" alt="Thanks to http://www.sodahead.com/other/what-is-one-word-to-describe-yourself/question-644357/?link=iba" width="201" height="300" /></a><p class="wp-caption-text">This is how I really feel,  both in-game and out.</p></div>
<p>&#160;</p>
<p>&#160;</p>
<p>Anyways, happy Thanksgiving to you all, or, in the spirit of retail corporate America, happy mid-Hallanksmas season. (You know, that mash up of Halloween, Thanksgiving, and Christmas that we&#8217;re all so used to seeing at the mall.)</p>
<p>If there&#8217;s one thing that real life has taught me, it&#8217;s that you gotta be thankful for the little things. Whether it&#8217;s knowing where you left your keys or finding out that, yes, you do have two more double-A batteries, innocuous events can really make your day. I&#8217;d go on and on gushing about e-mails that changed my life or meeting &#8220;the one&#8221; when I was least expecting it, but most of you will be putting up with that tomorrow at dinner.</p>
<p>So let&#8217;s talk about the little things that make a game. Whether it&#8217;s properly adjusted drop rates or a well-designed control mechanism, small things can really make all the difference. Does anyone remember when <em>World of Warcraft</em> started up and the server queues that came with it? We all thought we&#8217;d won the lotto when the lines finally died down and we got to play the actually game. Ah, memories&#8230;</p>
<p>Now, don&#8217;t get me wrong: I actually <em>cannot</em> hold popularity against anyone. I&#8217;m just not hip enough. But that&#8217;s one of those irking qualities of MMOs that sometimes cause me to question why I bother. But although we&#8217;ve all felt that kind of frustration with everything from armor that won&#8217;t drop to body campers who won&#8217;t log, we all can be thankful for one thing&#8211;group of people actually.</p>
<p>Every game has a dedicated team of developers whose job is to make sure that problems are fleeting. So on this Thanksgiving Eve, I&#8217;m giving a big shout out to the devs of the gaming world. You guys make it possible, and you deserve some props.</p>
<p>&#8230;and now that I&#8217;ve sucked up, can I get some free stuff? I kid.</p>
<p>Happy Thanksgiving to everyone and a continued merry Hallanksmas season.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Playdar really is rather interesting. De...]]></title>
<link>http://paulmwatson.wordpress.com/2009/11/25/playdar-really-is-rather-interesting-de/</link>
<pubDate>Wed, 25 Nov 2009 19:47:39 +0000</pubDate>
<dc:creator>paulmwatson</dc:creator>
<guid>http://paulmwatson.wordpress.com/2009/11/25/playdar-really-is-rather-interesting-de/</guid>
<description><![CDATA[Playdar really is rather interesting. Described as a &#8220;music resolver&#8221; it allows you to s]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.playdar.org/">Playdar</a> really is rather interesting. Described as a &#8220;music resolver&#8221; it allows you to search for music across linked resolvers. A resolver can run on your laptop, your desktop, your server-in-the-cupboard, a mobile phone, and then, more interestingly, websites on the net. Any website can implement a Playdar resolver and become a provider of music to your search. The code comes from the man who invented audioscrobbler for Last.fm. <a href="http://player.playlick.com/paulmwatson">Playlick</a> is a good demonstration of it all. It queries my Last.fm account for all the music I&#8217;ve listened too over the years. You then run resolvers, or connect to resolvers, which provide the actual music to my Last.fm list.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[My new homepage, yay!]]></title>
<link>http://teusje.wordpress.com/2009/11/24/my-new-homepage-yay/</link>
<pubDate>Tue, 24 Nov 2009 18:25:48 +0000</pubDate>
<dc:creator>teusje</dc:creator>
<guid>http://teusje.wordpress.com/2009/11/24/my-new-homepage-yay/</guid>
<description><![CDATA[Nice to see that they mention other browsers also: What about you? [ source ]]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://teusje.wordpress.com/files/2009/11/bing-default-browser.png"><img class="alignnone size-full wp-image-725" title="bing default browser" src="http://teusje.wordpress.com/files/2009/11/bing-default-browser.png" alt="" width="720" height="427" /></a></p>
<p>Nice to see that they mention other browsers also:</p>
<p><a href="http://teusje.wordpress.com/files/2009/11/bing-default-browser-options.png"><img class="alignnone size-full wp-image-726" title="bing default browser options" src="http://teusje.wordpress.com/files/2009/11/bing-default-browser-options.png" alt="" width="404" height="178" /></a></p>
<p><a href="http://www.bing.com/customizeBrowser">What about you?</a></p>
<p>[ <a href="http://www.bing.com/customizeBrowser">source</a> ]</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Automating Firefox... from within...]]></title>
<link>http://michaelangela.wordpress.com/2009/11/24/automating-firefox-from-within/</link>
<pubDate>Tue, 24 Nov 2009 14:34:06 +0000</pubDate>
<dc:creator>michaelangela</dc:creator>
<guid>http://michaelangela.wordpress.com/2009/11/24/automating-firefox-from-within/</guid>
<description><![CDATA[This is just crazy cool. Just noting for future use. MozLab | hyperstruct MozRepl Connect to Firefox]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is just crazy cool. Just noting for future use.</p>
<p><a href="http://hyperstruct.net/projects/mozlab">MozLab &#124; hyperstruct</a><br />
<blockquote>MozRepl</p>
<p>Connect to Firefox and other Mozilla apps, explore and modify them from the inside, while they&#8217;re running.</p>
<p>Execute Javascript, play with browser GUI, sneak into HTML pages, examine functions and variables, redefine them on the fly, hot-fix bugs, &#8230; </p></blockquote>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=d2257a5a-a4b4-86d1-8bb8-fc6e851e441f" /></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[FunFX Tutorial]]></title>
<link>http://michaelangela.wordpress.com/2009/11/24/funfx-tutorial/</link>
<pubDate>Tue, 24 Nov 2009 14:30:56 +0000</pubDate>
<dc:creator>michaelangela</dc:creator>
<guid>http://michaelangela.wordpress.com/2009/11/24/funfx-tutorial/</guid>
<description><![CDATA[Just for future reference&#8230; this is some nice stuff indeed! Testing your Flex app with new FunF]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Just for future reference&#8230; this is some nice stuff indeed!</p>
<p><a href="http://martincik.com/?p=20">Testing your Flex app with new FunFX &#124; Ladislav Martincik &#8211; Personal website</a><br />
<blockquote></blockquote>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=82396146-3cc9-866b-9a66-47d25127cab6" /></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Flex Functional Testing]]></title>
<link>http://michaelangela.wordpress.com/2009/11/24/flex-functional-testing/</link>
<pubDate>Tue, 24 Nov 2009 14:28:02 +0000</pubDate>
<dc:creator>michaelangela</dc:creator>
<guid>http://michaelangela.wordpress.com/2009/11/24/flex-functional-testing/</guid>
<description><![CDATA[See the syntax example on the page for a quick reference. Wow&#8230;&nbsp; that&#8217;s pretty cool.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>See the syntax example on the page for a quick reference. Wow&#8230;&#160; that&#8217;s pretty cool. </p>
<p><a href="http://funfx.rubyforge.org/">.::FunFX &#8211; Functional Testing of Flex applications</a><br />
<blockquote>FunFX is created as a framework that will enable you to drive a Flex application through a web browser. FunFX together with for instance Test::Unit or rSpec creates a great to for testing and asserting the functionality of a Flex application. </p></blockquote>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=1e7015ab-dcef-8f97-a601-27ada21e5df5" /></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Eclipse too support iGoogle Gadgets (wid...]]></title>
<link>http://paulmwatson.wordpress.com/2009/11/24/eclipse-too-support-igoogle-gadgets-wid/</link>
<pubDate>Tue, 24 Nov 2009 13:49:41 +0000</pubDate>
<dc:creator>paulmwatson</dc:creator>
<guid>http://paulmwatson.wordpress.com/2009/11/24/eclipse-too-support-igoogle-gadgets-wid/</guid>
<description><![CDATA[Eclipse too support iGoogle Gadgets (widgets.) Good move though I don&#8217;t think you should just ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://borisoneclipse.blogspot.com/2009/11/opensocial-igoogle-gadgets-in-eclipse.html">Eclipse too support iGoogle Gadgets</a> (widgets.) Good move though I don&#8217;t think you should just take existing widgets and stick them in your IDE.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Not sure what you will do with it but ha...]]></title>
<link>http://paulmwatson.wordpress.com/2009/11/23/not-sure-what-you-will-do-with-it-but-ha/</link>
<pubDate>Mon, 23 Nov 2009 20:43:03 +0000</pubDate>
<dc:creator>paulmwatson</dc:creator>
<guid>http://paulmwatson.wordpress.com/2009/11/23/not-sure-what-you-will-do-with-it-but-ha/</guid>
<description><![CDATA[Not sure what you will do with it but have at it, the LinkedIn API.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Not sure what you will do with it but have at it, <a href="http://blog.linkedin.com/2009/11/23/linkedin-platform-launch/">the LinkedIn API</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Gated Checkins]]></title>
<link>http://drainbrain.wordpress.com/2009/11/23/gated-checkins/</link>
<pubDate>Mon, 23 Nov 2009 14:21:00 +0000</pubDate>
<dc:creator>rcomian</dc:creator>
<guid>http://drainbrain.wordpress.com/2009/11/23/gated-checkins/</guid>
<description><![CDATA[Back when I was working with subversion, I was at one point writing a hook script to check that a gi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Back when I was working with subversion, I was at one point writing a hook script to check that a given commit was good. You know the kind of stuff: Have you added a comment, are you trying to change a tag, are you trying to hack the server, have you brushed your teeth, and so on.</p>
<p>It’s a fairly obvious thought when you’re in that environment to think &#8230; is this going to build? After all, here’s the perfect opportunity find out, and if it doesn’t we can just reject the commit and it’ll be as if it never happened – no-one else gets affected, nothing bad polluting the trunk, better chance of having a 1:1 workitem/changeset ratio, it’s all good.</p>
<p>It turns out that this idea is called gated checkin, and it’s available as a checkbox in TFS 2010. But despite my glowing report, I’m yet to be convinced of gated checkin as something that isn&#8217;t just a nuisance, compared with CI. I rejected it on the subversion side of things because our builds always took forever, and whilst a build was being checked, no-one else could commit. Not only that, but because I used a single repository for everything, it meant that no-one else could commit even if they were on a different project entirely. Thinking about this differently, this could be the best argument I’ve found for using individual repositories per project with subversion.</p>
<p>It’s much the same argument with TFS – the checkin is held open until the build and any other checks you use have completed, preventing anyone else from doing anything commit related. I mean they can’t even resolve any commit conflicts reliably, because they may or may not need to incorporate the changes that are being tested. This means your builds must be quick. This means they must be small. This means the projects must be small. Allegedly gated checkin becomes a requirement when you have &#62;~60 people on a branch, as just by the laws of statistics, the branch is more often broken than healthy. Having 60 people on a single branch doesn’t sound small to me. If you’ve got 60 developers checking in every 2 hours, that’s a commit every 2 minutes. That’s your timeslot before your start impinging on developer productivity.</p>
<p>I’m not sure what the solution to this is. Apparently gated checkin is the solution to world hunger. Personally I prefer the idea of having less people on a single branch and merging more. Split the project into components and release them separately. Anything really. But I guess I’m going to have to try these before I can make a decision for sure. After all, they’re easy to setup and take out. If the builds are fast enough, they’ll certainly make the branch history cleaner, and surely that’s a good thing.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Change tracking in TFS]]></title>
<link>http://drainbrain.wordpress.com/2009/11/23/change-tracking-in-tfs/</link>
<pubDate>Mon, 23 Nov 2009 14:16:20 +0000</pubDate>
<dc:creator>rcomian</dc:creator>
<guid>http://drainbrain.wordpress.com/2009/11/23/change-tracking-in-tfs/</guid>
<description><![CDATA[One of my main bugbears with source control is knowing where my changes are. I don’t mean just havin]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>One of my main bugbears with source control is knowing where my changes are. I don’t mean just having a good idea, I mean actual empirical evidence that I can look at and easily convince someone else that changes have been moved from the project branch to trunk, and from trunk to release.</p>
<p>Now this is always possible by looking at the code, but that just doesn’t scale – it can easily take days to work out what’s in a particular release, and by the time that&#8217;s finished the world will have changed anyway. We need something high level, something that says this branch contains these changes from these locations. TFS goes some way to addressing this with a nifty visualisation in the new 2010 suite. Given a changeset, you can follow the merge history of that changeset across the branches of your project.</p>
<p><a href="http://drainbrain.wordpress.com/files/2009/11/tracking-changesets.png"><img class="alignnone size-medium wp-image-13" title="Tracking changesets" src="http://drainbrain.wordpress.com/files/2009/11/tracking-changesets.png?w=300" alt="" width="300" height="251" /></a></p>
<p>This is excellent if you’re looking at a particular change and want to know where it is. You can easily see that it has been flowed in the right direction, and can see how much of a mess you’re getting yourself into. This visualisation also handles partial merges by showing them in yellow for the time that they&#8217;re partial (hopefull they’ll get fully merged after a while, letting them go green).</p>
<p>If you want to know where a particular change has made it to, this view is perfect. In my experience, however, we rarely want to know where a single changeset has gone, we’re much more interested in where a workitem has gone. Although we’d all love to think that there’s a 1:1 correspondence between workitems and changesets, it just aint gonna be so, regardless of how you work. MS are working on this, of course, although I’m not holding my breath for the initial 2010 release.</p>
<p>The other problem is again one of scale. Whilst this view is very useful, one thing that we need for a release is a report on all the items which have been merged into this release from trunk (and conversely, what’s missing). Ideally this should be at a workitem level as well, but a changeset level report is a good start. Subversion has this with its mergeinfo command. Tortoisesvn shows each revision and greys out the ones that have already been merged. Git has an incredibly detailed view of all the changes that were made on parallel branches. I’m not sure if that’s any use in telling you what’s missing, but it’s wonderful for knowing what’s in. These all work on the changeset level, however.<br />
I haven’t found anything equivalent in TFS yet. The information is available in TFS, so it’s likely trivial to build it manually.</p>
<p>All of this tracking is of no use, however, if your changesets mean nothing more than it was Friday night and were preparing for the weekend. Also, a commit comment of “some changes” isn’t going to be useful for working out which changesets you’re looking for. If you’ve never felt the need to be disciplined in making a changeset be a single unit of functionality before, perhaps this can inspire you as to why it might be a good idea.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Branching in TFS]]></title>
<link>http://drainbrain.wordpress.com/2009/11/23/branching-in-tfs/</link>
<pubDate>Mon, 23 Nov 2009 13:51:21 +0000</pubDate>
<dc:creator>rcomian</dc:creator>
<guid>http://drainbrain.wordpress.com/2009/11/23/branching-in-tfs/</guid>
<description><![CDATA[Some of you may know that I’m a strong advocate for using some of the more flexible branching strate]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Some of you may know that I’m a strong advocate for using some of the more flexible branching strategies available to us developers, given the advances in source control over the last 20 years. TFS 2010 is adding in some extra branching support that should make this more compelling.</p>
<p>In short, TFS 2010 knows about branches explicitly. That is, you tell it “this folder is a branch” and it can track things around in a nice visual form. You start out with marking your trunk/mainline branch, then branching from that. Visual studio tracks what gets branched where and can show you the relationships between branches in a nice, simple diagram.</p>
<p><a href="http://drainbrain.wordpress.com/files/2009/11/branchstructure-in-2010.png"><img class="alignnone size-medium wp-image-5" title="BranchStructure in 2010" src="http://drainbrain.wordpress.com/files/2009/11/branchstructure-in-2010.png?w=300" alt="" width="300" height="225" /></a></p>
<p>This shows the logical structure of the branches. Here we can see that 3 branches came from Dev and an additional branch was made from “Brian”. The logical structure shows where branches came from and, conversely where changes need to be merged back to. The actual meaning is branch dependent of course &#8211; release branches would have changes merged into them from trunk, development branches would have their changes merged into trunk.</p>
<p>The physical structure is where the branches are located in Team Explorer and will be completely different to the logical structure.  The recommendation is that folders are made to hold branches of a common type, so that the physical structure tells you the reason for the branches existence, such as private branches, feature work, stable release branches etc. Each branch can have a description, which is useful for finding out detail about an individual branch, but grouping them in folders makes sense.</p>
<p><a href="http://drainbrain.wordpress.com/files/2009/11/physical-branch-structure-in-2010.png"><img class="alignnone size-full wp-image-6" title="Physical branch structure in 2010" src="http://drainbrain.wordpress.com/files/2009/11/physical-branch-structure-in-2010.png" alt="" width="179" height="169" /></a></p>
<p>This screenshot shows the branch structure in physical form. Notice that branches look different to folders. Also notice that here the Dev and QA branches are siblings in the physical structure, where as in the logical diagram QA is a child of Dev.</p>
<p>Branches can be made quite easily by dragging and dropping from the logical diagram or right clicking a branch on the physical diagram and choosing “Create new branch”. The whole branch process has been streamlined as well. Apparently old TFS checked out all the files onto your machine and waited for you to check them in as a pending change. HUGE waste of time, effort and bandwidth. Now it just makes the branch on the server and you can check it out when you see fit.</p>
<div id="_mcePaste" style="overflow:hidden;position:absolute;left:-10000px;top:0;width:1px;height:1px;"><!--[if gte mso 9]&#62;  Normal 0     false false false  EN-GB X-NONE X-NONE                           &#60;![endif]--><!--[if gte mso 9]&#62;                                                                                                                                            &#60;![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:72.0pt 72.0pt 72.0pt 72.0pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]&#62; &#60;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:&#34;Table Normal&#34;; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:&#34;&#34;; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:&#34;Calibri&#34;,&#34;sans-serif&#34;; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:&#34;Times New Roman&#34;; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} --> <!--[endif]--></p>
<p class="MsoNormal">Some of you may know that I’m a strong advocate for using some of the more flexible branching strategies available. TFS 2010 is adding in some extra branching support that should make this more compelling.</p>
<p><span style="font-size:11pt;line-height:115%;font-family:&#38;">TFS 2010 knows about branches explicitly. That is, you tell it “this folder is a branch” and it can track things around in a nice visual form. You start out with marking your trunk/mainline branch, then branching from that. Visual studio tracks what gets branched where and can show you the relationships between branches in a visual form.</span></p>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[White House Celebrates the 540th Anniversary of the Birth of Guru Nanak Dev Ji]]></title>
<link>http://the44diaries.wordpress.com/2009/11/23/white-house-celebrates-the-540th-anniversary-of-the-birth-of-guru-nanak-dev-ji/</link>
<pubDate>Mon, 23 Nov 2009 11:02:47 +0000</pubDate>
<dc:creator>audiegrl</dc:creator>
<guid>http://the44diaries.wordpress.com/2009/11/23/white-house-celebrates-the-540th-anniversary-of-the-birth-of-guru-nanak-dev-ji/</guid>
<description><![CDATA[Posted by Audiegrl Guru Nanak Dev ji 1469-1539Whitehouse.gov&#8212;On Friday we hosted a reception c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em><strong>Posted by Audiegrl</strong></em><br />
<br />
<div id="attachment_15744" class="wp-caption alignleft" style="width: 210px"><a href="http://en.wikipedia.org/wiki/Guru_Nanak_Dev_Ji"><img src="http://the44diaries.wordpress.com/files/2009/11/guru-nanak-dev-ji.jpg" alt="Guru Nanak Dev ji" title="Guru Nanak Dev ji" width="200" height="259" class="size-full wp-image-15744" /></a><p class="wp-caption-text">Guru Nanak Dev ji 1469-1539</p></div><a href="http://www.whitehouse.gov/blog/2009/11/20/540th-anniversary-birth-guru-nanak-dev-ji">Whitehouse.gov</a>&#8212;On Friday we hosted a reception commemorating the 540th anniversary of the birth of <a href="http://en.wikipedia.org/wiki/Guru_Nanak_Dev_Ji">Guru Nanak Dev Ji</a>, the first guru in Sikhism.  It was the first time that this holiday has ever been celebrated at the White House.  Members of the Sikh community from around the country were invited to celebrate the occasion with traditional hymns led by the Sikh Kirtani Chanters from the Golden Temple in Amritsar, India.  Several administration officials were in attendance, including Dr. John Holdren (Office of Science &#38; Technology Policy), Tina Tchen (Office of Public Engagement), Michael Strautmanis (Chief of Staff to Valerie Jarrett), Adolfo Carrion (Urban Affairs), and Nancy Anne DeParle (Health Reform).<br />
<br />
<img src="http://the44diaries.wordpress.com/files/2009/11/sikh-695.jpg?w=199" alt="" title="sikh 695" width="199" height="150" class="alignright size-medium wp-image-15752" />Representatives from the Sikh Council on Religion and Education, United Sikhs, and other grassroots leaders came together to recognize the important contributions of Sikhs to our national life.  The first Sikhs arrived as laborers in the western United States around 1899 and gradually moved around the country.  They went on to become owners of successful businesses, serve honorably in the U.S. military in both world wars and other conflicts, lawyers, doctors, bankers, and members of many other professions. </p>
<p>
    <img src="http://the44diaries.wordpress.com/files/2009/10/blank.gif" alt="blank" title="blank" width="1" height="1" class="alignleft size-full wp-image-6440" /></p>
<p><a href="http://www.whitehouse.gov/blog/2009/11/20/540th-anniversary-birth-guru-nanak-dev-ji">Additional photos</a> @  <a href="http://www.whitehouse.gov/blog/2009/11/20/540th-anniversary-birth-guru-nanak-dev-ji"><img src="http://the44diaries.wordpress.com/files/2009/10/whitehousegovlogo.jpg" alt="" title="white house gov logo" width="111" height="75" class="alignnone size-full wp-image-8527" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Idea: Modular streaming video]]></title>
<link>http://teusje.wordpress.com/2009/11/22/idea-modular-streaming-video/</link>
<pubDate>Sun, 22 Nov 2009 13:59:06 +0000</pubDate>
<dc:creator>teusje</dc:creator>
<guid>http://teusje.wordpress.com/2009/11/22/idea-modular-streaming-video/</guid>
<description><![CDATA[If you are at work, at school, using a mobile phone&#8230; most of the time the sound of the device ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://teusje.wordpress.com/files/2009/11/ideas.jpg"><img class="alignnone size-full wp-image-706" title="ideas" src="http://teusje.wordpress.com/files/2009/11/ideas.jpg" alt="" width="615" height="449" /></a></p>
<p>If you are at work, at school, using a mobile phone&#8230; most of the time the sound of the device is muted!</p>
<p>With this in mind I had an idea. People often look at movies (YouTube, Vimeo, &#8230;) without any audio. But hey, don&#8217;t forget you are still downloading the audio data, that you don&#8217;t listen to!</p>
<p>My idea:</p>
<blockquote><p><strong>Modular streaming video to save bandwidth</strong></p>
<p>Software that detects if your sound is enabled or disabled. While requesting a movie you can tell that website <em>&#8220;hey I don&#8217;t have any audio enabled, just give me less data&#8221;</em>. The website streams you just the data module without the audio data. When you enable sound while the movie plays you could just request the audio module and play it synchronized together with the movie.</p>
<p>This would require a modified piece of software (for example Silverlight) that could detect OS settings, a site that supports all this and a technique or new file format for movies that could split the audio from it.</p></blockquote>
<p>&#160;</p>
<p>This would be such a bandwidth saver for many people. Resulting in a faster downloads (websites like YouTube are loading slow on mobile devices!) and less traffic for servers. Servers would need to calculate a little bit more but with todays technologies that couldn&#8217;t be the problem.</p>
<p>If any (big) company reads this. Please give me some credits or contact me. Hah! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>So far my idea <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Building and testing APR-util for the iPhone]]></title>
<link>http://hecticant.wordpress.com/2009/11/21/building-and-testing-apr-util-for-the-iphone/</link>
<pubDate>Sat, 21 Nov 2009 22:48:06 +0000</pubDate>
<dc:creator>pedro</dc:creator>
<guid>http://hecticant.wordpress.com/2009/11/21/building-and-testing-apr-util-for-the-iphone/</guid>
<description><![CDATA[The Apache Portable Runtime (APR) is a library that provides a common interface across multiple plat]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:justify;">The Apache Portable Runtime (<a title="Apache Portable Runtime" href="http://apr.apache.org" target="_blank">APR)</a> is a library that provides a common interface across multiple platforms for low-level memory management, file IO, concurrency, data structures and more.  It&#8217;s used by projects such as Apache and Subversion. APR-util adds functionality such as parsing and DB access.</p>
<p style="text-align:justify;">Building APR for the iPhone is not straightforward since the configure script requires some inconspicuous flags. Thankfully, Michael Safyan found how to do it and made his build scripts available <a title="Cross-compiling the Apache Portable Runtime for the iPhone" href="http://sites.google.com/site/michaelsafyan/coding/articles/iphone/cross-compiling-the-apache-portable-runtime-for-the-iphone" target="_blank">here</a>. With APR working, building APR-util has its own caveats. The following was tested with Snow Leopard using SDK 3.1.2 and GCC 4.2 to build APR-util 1.3.9.</p>
<p>&#160;</p>
<h4>Building APR-util</h4>
<p style="text-align:justify;">First, as you may have guessed, you need APR to build APR-util. I used version 1.3.8. The other required dependency is expat, which is distributed with APR-util; you just need to set <code>--with-expat=builtin</code>. All the necessary options for <code>./configure</code> are included in a script below.</p>
<p style="text-align:justify;">If you run <code>make</code> with this configuration  you may notice a <em>expected expression before &#8217;struct&#8217;</em> error in apr_brigade.c. After unwinding all the macros this error can be traced to the APR_OFFSET definition. To fix this you need to edit <strong>apr_general.h</strong> located in &#8220;/include/apr-1/&#8221;.</p>
<p style="text-align:justify;">
<pre class="brush: diff; gutter: false; highlight: [9,14]; wrap-lines: false;">
--- apr_general.h    2009-11-19 23:11:33.000000000 +0000
+++ /Users/pedro/Downloads/apr-1.3.8/include/apr_general.h    2006-08-03 11:55:31.000000000 +0100
@@ -76,11 +76,6 @@
 * @return offset
 */

-#ifndef _Offsetof
-#include &#60;stddef.h&#62;
-#define _Offsetof(p_type,field) offsetof(p_type,field)
-#endif
-
 #if defined(CRAY) &#124;&#124; (defined(__arm) &#38;&#38; !defined(LINUX))
 #ifdef __STDC__
 #define APR_OFFSET(p_type,field) _Offsetof(p_type,field)
</pre>
<p>&#160;</p>
<p style="text-align:justify;">Now you can build APR-util. Here&#8217;s the script to build it for the device and simulator. Make sure you change the value of USER_LIB before running the script. By default the device build includes $USER_LIB/armv6 and the simulator $USER_LIB/x86_64. You should also edit INSTALL_FAT.</p>
<pre class="brush: bash; auto-links: false; collapse: true; light: false; toolbar: true; wrap-lines: false;">
#!/bin/sh

# Build static libraries for iPhone (armv6) and iPhone simulator.
#
# Based on
# http://latenitesoft.blogspot.com/2008/10/
#    iphone-programming-tips-building-unix.html
#
# Last update Nov 2009. Pedro Fonseca.

# The lib name, e.g. &#34;libz&#34; or &#34;libapr-1&#34;.
LIB=&#34;libaprutil-1&#34;

# Configure default location for the build results (.libs,lib./libs,objs/,...).
LIBPATH_PATH=&#34;.libs&#34;

# User include paths, e.g. /usr/local/lib, /opt...
USERLIB=&#34;&#34;

# Install path for make install
CONFIG_PREFIX=&#34;--prefix=$USERLIB/armv6&#34;

# Options used by configure for both architectures
CONFIG_ARGS=&#34;--disable-shared --enable-static&#34;

# Flags required to build for arm
ARM_ARGS=&#34;$CONFIG_ARGS --host=arm-apple-darwin9&#34;

# Copy the intermediate libraries to here
DEST=&#34;_fatbuild_&#34;
rm -rfv &#34;`pwd`/$DEST&#34;

# Universal binary final location
INSTALL_FAT=&#34;$USERLIB/fat/lib&#34;

# The current sdk version
SDK_=&#34;3.1.2&#34;

export DEVROOT=/Developer/Platforms/iPhoneOS.platform/Developer
export SDKROOT=$DEVROOT/SDKs/iPhoneOS$SDK_.sdk
export PATH=&#34;$DEVROOT/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin&#34;

# Static library path
LIBPATH_static=$LIBPATH_PATH/$LIB.a
LIBNAME_static=`basename $LIBPATH_static`

# iphone_make(arch)
iphone_make () {
if ! make
then
 echo &#34;Build ($1): make failed with status $?. Exiting...&#34;
 exit 1
else
 echo &#34;Build ($1): no errors.&#34;
fi
}

# Device
export CFLAGS=&#34;-arch armv6 -pipe -no-cpp-precomp \
 --sysroot='$SDKROOT' \
 -isystem $SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.2.1/include/ \
 -isystem $SDKROOT/usr/include \
 -isystem $DEVROOT/usr/include \
 -I$USERLIB/armv6/include&#34;
export CPPFLAGS=&#34;-arch armv6 -isysroot $SDKROOT \
 -isystem $SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.2.1/include/ \
 -isystem $SDKROOT/usr/include/ \
 -isystem $DEVROOT/usr/include \
 -I$USERLIB/armv6/include&#34;
export LDFLAGS=&#34;-arch armv6 --sysroot='$SDKROOT' \
 -L$SDKROOT/usr/lib -L$DEVROOT/usr/lib -L$USERLIB/armv6/lib&#34;

./configure CC=&#34;$DEVROOT/usr/bin/gcc-4.2 -Os&#34; \
 CPP=&#34;$DEVROOT/usr/bin/gcc-4.2 -E&#34; \
 CXXCPP=&#34;$DEVROOT/usr/bin/g++-4.2 -E&#34; \
 LD=&#34;$DEVROOT/usr/bin/ld&#34; $ARM_ARGS $CONFIG_PREFIX \
 --with-apr=&#34;$USERLIB/armv6&#34; --with-expat=builtin

iphone_make &#34;armv6&#34;

mkdir -p $DEST
cp $LIBPATH_static $DEST/$LIBNAME_static.arm
if [[ &#34;$1&#34; = &#34;--install&#34; ]]; then
 make install
fi
make distclean

# Simulator
export PATH=&#34;/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin&#34;

CONFIG_PREFIX=&#34;--prefix=$USERLIB/x86_64&#34;
unset CFLAGS LDFLAGS CPPFLAGS

./configure $CONFIG_ARGS $CONFIG_PREFIX --with-apr=&#34;$USERLIB/x86_64&#34;

iphone_make &#34;x86_64&#34;
cp $LIBPATH_static $DEST/$LIBNAME_static.x86_64
if [[ &#34;$1&#34; = &#34;--install&#34; ]]; then
 make install
fi

# Universal
echo &#34;Build (all): creating universal binary...&#34;
$DEVROOT/usr/bin/lipo -arch arm $DEST/$LIBNAME_static.arm \
 -arch x86_64 $DEST/$LIBNAME_static.x86_64 \
 -create -output $DEST/$LIBNAME_static
$DEVROOT/usr/bin/lipo -info $DEST/*

if [ $? -eq 0 ] &#38;&#38; [[ &#34;$1&#34; = &#34;--install&#34; ]]
then
 cp -v $DEST/$LIBNAME_static $INSTALL_FAT/$LIBNAME_static
fi
</pre>
<p>&#160;</p>
<h4>Testing APR-util</h4>
<p style="text-align:justify;">APR-util includes a test suite. For the simulator you just need to change directory to apr-util-1.3.9/test/, make, ./testall. To run on the device I wrapped the test suite in an iPhone App. This requires a few changes in the test code, mainly due to the application sandbox. Note that this is not the proper way to test an iPhone application; to learn about unit testing with the iPhone SDK 3.0 you should read <a title="Unit Testing Applications" href="http://developer.apple.com/iphone/library/DOCUMENTATION/Xcode/Conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html" target="_blank">this</a>. In this case, I wanted to check if the library was working as expected on the device.</p>
<p style="text-align:left;">In Xcode create a new project. I called it TestAprUtil.</p>
<p style="text-align:left;">Add test/ to the project. Make sure data/billion-laughs.xml is in Targets &#62; TestAprUtil &#62; Copy Bundle Resources &#62; billion_laughs.xml.</p>
<p style="text-align:left;">Remove dbd.c.</p>
<p style="text-align:left;">In TestAprUtilAppDelegate.m include <strong>abts.h</strong> and add the following code to <em>applicationDidFinishLaunching:</em></p>
<pre class="brush: cpp; highlight: [7]; light: true;">
// Run apr-util tests. Some tests require the existence of a &#34;data&#34; directory.
NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:@&#34;data&#34;];
[[NSFileManager defaultManager] createDirectoryAtPath:path
                          withIntermediateDirectories:NO
                                           attributes:nil
                                                error:nil];
run_tests();
</pre>
<p>&#160;</p>
<p><em>run_tests()</em> doesn&#8217;t exist yet. In <strong>abts.c </strong>replace <em>main()</em> with</p>
<pre class="brush: cpp;">
int run_tests(void) {
    int i;
    int rv;
    abts_suite *suite = NULL;

    initialize();

    verbose = 1;
    quiet = 1;

    char *theTests[] = {
        &#34;teststrmatch&#34;,
        &#34;testuri&#34;,
        &#34;testuuid&#34;,
        &#34;testbuckets&#34;,
        &#34;testpass&#34;,
        &#34;testmd4&#34;,
        &#34;testmd5&#34;,
        &#34;testdbd&#34;,
        &#34;testdate&#34;,
        &#34;testmemcache&#34;,
        &#34;testxml&#34;,
        &#34;testxlate&#34;,
        &#34;testrmm&#34;,
        &#34;testdbm&#34;,
        &#34;testqueue&#34;,
        &#34;testreslist&#34;
    };

    int nTests = 16;
    testlist = calloc(nTests + 1, sizeof(char *));
    for (i = 1; i &#60; nTests; i++) {
        testlist[i - 1] = theTests[i];
    }

    for (i = 0; i &#60; (sizeof(alltests) / sizeof(struct testlist *)); i++) {
        suite = alltests[i].func(suite);
        apr_pool_clear(p);
    }

    rv = report(suite);
    return rv;
}
</pre>
<p>&#160;</p>
<p style="text-align:left;">Don&#8217;t forget to add <em>run_tests()</em> prototype to the header.</p>
<p style="text-align:justify;">Running the test at this point would crash the app because it attempts to create some files outside the application sandbox. The offending functions are located in <strong>testxml.c</strong>, <strong>testbuckets.c</strong>, <strong>testdbd.c</strong> and <strong>testdbm.c</strong>. To get the correct paths to read/write files create <strong>fs_wrapper.c</strong> and the respective header</p>
<pre class="brush: cpp;">
/*
 *  fs_wrapper.c
 *  TestAprUtil
 *
 *  Created by Pedro Fonseca on 11/20/09.
 */
#include &#60;CoreFoundation/CoreFoundation.h&#62;

#include &#60;unistd.h&#62;
#include &#60;stdlib.h&#62;
#include &#60;string.h&#62;
#include &#60;stdio.h&#62;
#include &#34;fs_wrapper.h&#34;

#define STRSIZE 255

char* fs_sane_fname(const char *fname)
{
    char *tmp_path = (char *)calloc(STRSIZE, sizeof(char));
    int len = confstr(_CS_DARWIN_USER_TEMP_DIR, tmp_path, STRSIZE);
    if (!len)
        fprintf(stderr, &#34;error getting temp path\n&#34;);
    else
        *(tmp_path+len-1) = '/';

    strcpy(tmp_path+len, fname);
    return tmp_path;
}

char* fs_sane_resource(const char *fname)
{
    CFStringRef cfFname = CFStringCreateWithCString(NULL, fname, kCFStringEncodingUTF8);
    CFURLRef url = CFBundleCopyResourceURL(CFBundleGetMainBundle(), cfFname, NULL, NULL);
    char *c_fs_path = (char *)calloc(STRSIZE, sizeof(char));
    CFURLGetFileSystemRepresentation(url, TRUE, (UInt8*)c_fs_path, STRSIZE);

    CFRelease(url);
    CFRelease(cfFname);
    return c_fs_path;
}
</pre>
<p>&#160;</p>
<p style="text-align:left;">Include fs_wrapper.h in testxml.c, testbuckets.c, testdbd.c and testdbm.c (or just in testutil.h). Below, for simplicity&#8217;s sake, assume that strings created with fs_sane_* don&#8217;t need to be freed.</p>
<p style="text-align:left;">In testxml.c replace</p>
<pre class="brush: cpp; first-line: 158;">
rv = apr_file_open(&#38;fd, &#34;data/billion-laughs.xml&#34;, APR_FOPEN_READ, 0, p);
</pre>
<p>&#160;</p>
<p style="text-align:left;">with</p>
<pre class="brush: cpp; first-line: 158; wrap-lines: false;">
rv = apr_file_open(&#38;fd, fs_sane_resource(&#34;billion-laughs.xml&#34;), APR_FOPEN_READ, 0, p);
</pre>
<p>&#160;</p>
<p style="text-align:left;">Still in testxml.c replace</p>
<pre class="brush: cpp; light: true; wrap-lines: false;">rv = apr_file_mktemp(fd, template, APR_CREATE &#124; APR_TRUNCATE &#124; APR_DELONCLOSE &#124; APR_READ &#124; APR_WRITE &#124; APR_EXCL, p);
</pre>
<p>&#160;</p>
<p style="text-align:left;">with</p>
<pre class="brush: cpp; light: true; wrap-lines: false;">rv = apr_file_mktemp(fd,  fs_sane_fname(template), APR_CREATE &#124; APR_TRUNCATE &#124; APR_DELONCLOSE &#124; APR_READ &#124; APR_WRITE &#124; APR_EXCL, p);
</pre>
<p>&#160;</p>
<p>In testbuckets.c, for calls to <em>apr_file_open()</em>, <em>apr_file_remove()</em> and <em>make_test_file()</em>, replace the filename argument with <strong>fs_sane_fname</strong>(filename); do the same for calls to <em>apr_dbd_open()</em> in testdbd.c and for <em>apr_pstrcat()</em> in testdbm.c.</p>
<p>The test suite should be ready to run. You may want to redirect stdout to stderr. Here are my test results</p>
<pre><strong>run</strong>
Running…
[Switching to thread 11779]
[Switching to thread 11779]
sharedlibrary apply-load-rules all
<strong>(gdb) </strong><strong>continue</strong>
<strong>testuri              :  SUCCESS</strong>
<strong>testuuid             :  SUCCESS</strong>
<strong>testbuckets          :  Line 326: Skipped:  could not create large file</strong>
<strong>SUCCESS</strong>
<strong>testpass             :  SUCCESS</strong>
<strong>testmd4              :  SUCCESS</strong>
<strong>testmd5              :  SUCCESS</strong>
<strong>testdbd              :  SUCCESS</strong>
<strong>testdate             :  SUCCESS</strong>
<strong>testmemcache         :  SUCCESS</strong>
<strong>testxml              :  SUCCESS</strong>
<strong>testxlate            :  SUCCESS</strong>
<strong>testrmm              :  SUCCESS</strong>
<strong>testdbm              :  SUCCESS</strong>
<strong>testqueue            :  SUCCESS</strong>
<strong>testreslist          :  SUCCESS</strong>
<strong>All tests passed.

</strong></pre>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Zen Coding]]></title>
<link>http://teusje.wordpress.com/2009/11/21/zen-coding/</link>
<pubDate>Sat, 21 Nov 2009 21:41:36 +0000</pubDate>
<dc:creator>teusje</dc:creator>
<guid>http://teusje.wordpress.com/2009/11/21/zen-coding/</guid>
<description><![CDATA[Awesome! Definitely something for web developers. [ source ]]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/ug84Ypwqfzk&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/ug84Ypwqfzk&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p>Awesome! Definitely something for web developers.</p>
<p>[ <a href="http://www.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/">source</a> ]</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[I've been busy!]]></title>
<link>http://sirgustav.wordpress.com/2009/11/21/ive-been-busy/</link>
<pubDate>Sat, 21 Nov 2009 20:16:03 +0000</pubDate>
<dc:creator>sirGustav</dc:creator>
<guid>http://sirgustav.wordpress.com/2009/11/21/ive-been-busy/</guid>
<description><![CDATA[Since last time I&#8217;ve entered Ludum Dare and actually finished at 75ths place and a bronze in c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Since last time I&#8217;ve entered <a href="http://www.ludumdare.com/compo/">Ludum Dare</a> and actually <a href="http://www.ludumdare.com/compo/ludum-dare-15/?uid=1135">finished</a> at 75ths place and a bronze in community &#8211; yay me.</p>
<p>Since then I&#8217;ve integrated the half/16-bit float from the glorious <a href="http://www.openexr.com/">OpenEXR</a>-project into my game-library <a href="http://code.google.com/p/pwn-engine/">pwn</a>.</p>
<p>I&#8217;ve also been thinking about creating a 2d level editor as editing text-files suck, and there doesn&#8217;t seem to be a good level-editor. Most of the 2d level editors are focused on tile-based editing, but I want a more free-flow sprite-based editor, like the <a href="http://www.youtube.com/watch?v=bsT6otdcTv0">aquaria editor</a>(nicely captured by <a href="http://www.youtube.com/watch?v=1BpRsjF7QTM">wolfire design tour</a>) or the boingo editor that is briefly visible in <a href="http://www.youtube.com/watch?v=VuqSnmseWkI">their sga trailer</a>. Preferably I like the editor to be integrate-able with <a href="http://www.box2d.org/">box2d</a> (so that it generates the collision geometry).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[NoiseTube: mobile phone monitoring of noise pollution]]></title>
<link>http://teusje.wordpress.com/2009/11/21/noisetube-mobile-phone-monitoring-of-noise-pollution/</link>
<pubDate>Sat, 21 Nov 2009 13:37:48 +0000</pubDate>
<dc:creator>teusje</dc:creator>
<guid>http://teusje.wordpress.com/2009/11/21/noisetube-mobile-phone-monitoring-of-noise-pollution/</guid>
<description><![CDATA[They even tested it in Brussels: Nice concept. I&#8217;m wondering how they deal with &#8220;fake]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/Gza0tyjozGs&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/Gza0tyjozGs&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p>They even <a href="http://noisetube.net/cities">tested</a> it in <a href="http://www.bing.com/maps/?v=2&#38;cp=50.845809839665876~4.356261491775513&#38;lvl=11&#38;sty=r&#38;where1=Brussels%2C%20Belgium">Brussels</a>:</p>
<p><a href="http://teusje.wordpress.com/files/2009/11/noisetube-brussels.png"><img class="alignnone size-full wp-image-683" title="NoiseTube Brussels" src="http://teusje.wordpress.com/files/2009/11/noisetube-brussels.png" alt="" width="720" height="171" /></a></p>
<p>Nice concept. I&#8217;m wondering how they deal with &#8220;fake&#8221; results as in: &#8220;driving around in your car with loud music&#8221;.</p>
<p>[ <a href="http://noisetube.net/">source</a> ]</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Better late than never; Amazon RDS is a ...]]></title>
<link>http://paulmwatson.wordpress.com/2009/11/20/better-late-than-never-amazon-rds-is-a/</link>
<pubDate>Fri, 20 Nov 2009 14:52:23 +0000</pubDate>
<dc:creator>paulmwatson</dc:creator>
<guid>http://paulmwatson.wordpress.com/2009/11/20/better-late-than-never-amazon-rds-is-a/</guid>
<description><![CDATA[Better late than never; Amazon RDS is a MySQL instance managed by Amazon. Backups, logs, tuning etc.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Better late than never; <a href="http://aws.typepad.com/aws/2009/10/introducing-rds-the-amazon-relational-database-service-.html">Amazon RDS</a> is a MySQL instance managed by Amazon. Backups, logs, tuning etc. is done transparently for you. It isn&#8217;t magic scalability, you can&#8217;t dump 50 billion rows into an RDS table and expect your badly designed SQL query to magically work.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A Stwalarts Tale Development #10]]></title>
<link>http://nicknakgames.wordpress.com/2009/11/20/a-stwalarts-tale-development-10/</link>
<pubDate>Fri, 20 Nov 2009 08:03:05 +0000</pubDate>
<dc:creator>nickkos</dc:creator>
<guid>http://nicknakgames.wordpress.com/2009/11/20/a-stwalarts-tale-development-10/</guid>
<description><![CDATA[It&#8217;s been a while since i&#8217;ve done a development update. Okay so, Implementation is what ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>It&#8217;s been a while since i&#8217;ve done a development update. Okay so, Implementation is what i&#8217;d like to call this stage. All the work I have been talking about on the item database the quest database it&#8217;s really paying off in organization and rebalancing the game. Everything is much friendlier and casual, but there are still hardcore features. Im also fixing bugs inside the engine&#8230;</p>
<div id="attachment_162" class="wp-caption alignnone" style="width: 392px"><a href="http://nicknakgames.wordpress.com/files/2009/11/meinvb.jpg"><img class="size-full wp-image-162 " title="Coding Screenshot" src="http://nicknakgames.wordpress.com/files/2009/11/meinvb.jpg" alt="" width="382" height="240" /></a><p class="wp-caption-text">Visual Basic Coding ...Fun</p></div>
<p>Right now I have all the tier 1 items entered into the game. Including quest items. However I have a lot of quests to re-do, which means that npc drops have to be redone. Plus I have additional quests that i&#8217;m adding into the older areas of the game.  The beta test contained 10 tier 1 quests. Version 1.0 will have 20 tier 1 quests. On top of that I will have 7 treasure finding side-quests. With the new item database I also have to re-write a lot of scripts and code with new variable numbers so it&#8217;s kind of annoying. Almost all quest dialogue has been changed.</p>
<p>The game will launch with tier 1 and 2 content. The tier 3 content is going to be released shortly after launch as an expansion. Shortly after launch we hope to have around 60 quests in the game.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A pinch point is battery life. Rapid cha...]]></title>
<link>http://paulmwatson.wordpress.com/2009/11/19/a-pinch-point-is-battery-life-rapid-cha/</link>
<pubDate>Thu, 19 Nov 2009 22:57:13 +0000</pubDate>
<dc:creator>paulmwatson</dc:creator>
<guid>http://paulmwatson.wordpress.com/2009/11/19/a-pinch-point-is-battery-life-rapid-cha/</guid>
<description><![CDATA[A pinch point is battery life. Rapid character input is another pinch point. Accurate pointing too. ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>A pinch point is battery life. Rapid character input is another pinch point. Accurate pointing too. Client system emulation. All pinch-points in using <a href="http://ycombinator.com/rfs5.html">a portable device as a development machine (Y Combinator YCRFS 5: Development on Handhelds)</a>. One thought is to break the problem into two contexts; the portable context (walking, driving) during which you will rarely be developing and arriving at a destination suitable for developing (office, home, cafe, bus, train, plane.) Identify the pain points of each (fitting in your pocket for the portable context, input and screen-real estate for the second context) and seeing if a device can be made to adapt to both at different times. Sort of like those pull-out PDAs the actors had in Earth Final Conflict. Battery life is a problem only if a: the power cord is a pain to carry around and b: the battery can&#8217;t survive between recharges at locations where you can get power.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
