<?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>the Mr. Henry blog-o-sphere &#187; Coding</title>
	<atom:link href="http://blog.mrhenry.be/category/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mrhenry.be</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 15 Jul 2010 11:06:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Frozen Rails in Helsinki makes Mr. Henry a happy camper</title>
		<link>http://blog.mrhenry.be/2010/05/frozen-rails-in-helsinki-makes-mr-henry-a-happy-camper/</link>
		<comments>http://blog.mrhenry.be/2010/05/frozen-rails-in-helsinki-makes-mr-henry-a-happy-camper/#comments</comments>
		<pubDate>Fri, 21 May 2010 11:17:00 +0000</pubDate>
		<dc:creator>hans</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Sexual Thrills]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[cosmic]]></category>
		<category><![CDATA[frozen]]></category>
		<category><![CDATA[helsinki]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[travak]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=1474</guid>
		<description><![CDATA[As we love Ruby On Rails, it was a pleasure to hear that there was an international conference in Helsinki. The main topics on Frozen Rails were Github, document oriented databases like MongoDB &#38; CouchDB, mobile apps with Rails, testing with Cucumber and of course a talk about Rails 3.


The opening talk was by one [...]]]></description>
			<content:encoded><![CDATA[<p>As we love <a href="http://rubyonrails.org/">Ruby On Rails</a>, it was a pleasure to hear that there was an international conference in Helsinki. The main topics on <a href="http://frozenrails.eu/">Frozen Rails</a> were <a href="https://github.com/">Github</a>, document oriented databases like MongoDB &amp; CouchDB, mobile apps with Rails, testing with Cucumber and of course a talk about Rails 3.</p>
<p><img class="alignnone size-full wp-image-1479 slideshow" title="s1m0n" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/s1m0n.jpg" alt="" width="490" height="340" /><span id="more-1474"></span><img class="alignnone size-full wp-image-1477 slideshow" title="h3ls1nk1" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/h3ls1nk1.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1478 slideshow" title="mike" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/mike.jpg" alt="" width="490" height="340" /></p>
<p><img class="alignnone size-full wp-image-1510 slideshow" title="chris-wanstrath-big" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/chris-wanstrath-big.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1511 slideshow" title="jose-valim-big" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/jose-valim-big.jpg" alt="" width="490" height="340" /></p>
<p>The opening talk was by one of the Github founders, <a href="http://twitter.com/defunkt">Chris Wanstrath</a>. He is the living evidence that developers can be rockstars. The tattooed, long haired geek explained how Github handles the awesomeness behind the scenes and the collaboration with Rails. A lot of plugin and Rubygem names past the revenue. It was a great talk, well brought, excellent vibe and if you don&#8217;t have a <a href="http://github.com/plans">Github</a> account yet, now&#8217;s the time to get one goddammit!</p>
<p>Next was <a href="http://twitter.com/josevalim">José Valim</a>, who gave us an excellent overview of the plugins and gems he uses to make his life a lot easier (or as José calls it: the <a href="http://www.plataformatec.com.br/en">plataforma</a> way). Some names that caught my attention were <a href="http://github.com/plataformatec/devise">Devise</a>, <a href="http://github.com/plataformatec/simple_form">Simple Form</a>, <a href="http://github.com/plataformatec/responders">Responders</a> &amp;<a href="http://github.com/jnicklas/capybara">Capybara</a> (apparently the <a href="http://johnnyslick.files.wordpress.com/2009/09/capybara.jpg">biggest rat in the world</a>, even bigger than <a href="http://github.com/brynary/webrat">Webrat</a> ^^).</p>
<p><img class="alignnone size-full wp-image-1512 slideshow" title="mike-dirolf-big" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/mike-dirolf-big.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1513 slideshow" title="yehuda-katz-big" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/yehuda-katz-big.jpg" alt="" width="490" height="340" /></p>
<p>The talks about document oriented databases by the guys from <a href="http://www.mongodb.org/">MongoDB</a> &amp; <a href="http://couchdb.apache.org/">CouchDB</a> were also mentionable. Mike Dirolf from MongoDB did an excellent explanation on what NoSql databases is all about. Although it&#8217;s hard to make the switch in the head, but with document oriented databases, we can let go difficult joins or other complex transactions. Jonathan Weiss quoted that this kind of databases are written for the web. JSON will be your main guide to transfer data around, and that is just music in the ears of a lot of developers! Although these technologies are relatively new, you don&#8217;t see it that often in production, but they&#8217;re definitely something to keep an eye on and sure worth playing around with!</p>
<p><a href="http://yehudakatz.com">Yehuda Katz</a> was the man behind the mobile Rails apps topic. He talked about the pro and cons of current mobile devices and our possibilities as developers. The biggest concern most developers have is that the mobile story is going to be a struggle, a lot of browsers, a lot of differences on CSS &amp; javascript support. Katz reassured that we&#8217;re not heading forward to another IE6 equivalent, because the mobile browsers are moving way faster than there computer variants. Mobile applications are also a big reason for everyone to pick up HTML 5 as soon as possible. A lot of problems can be solved easily and almost every browser is able to use the most of this technology or can deal with it and degrade it gracefully.</p>
<p><img class="alignnone size-full wp-image-1516 slideshow" title="carl-lerche-big" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/carl-lerche-big.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1517 slideshow" title="jarkko-laine-big" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/jarkko-laine-big.jpg" alt="" width="490" height="340" /></p>
<p><a href="http://www.slideshare.net/carllerche/frozen-rails-slides">Carl Lerche</a> brought us a roundup of what things we can expect from Rails 3. While he knew, he would be talking to a Rails loving audience, his talk scraped the surface and I think a lot of people were expecting some more underground insights. Also, they didn&#8217;t mentioned a release date, but we can&#8217;t blame these guys, if you see what Rails 3 is going to bring us, it will be worth waiting!</p>
<p>And the last talk, was by <a href="http://jarkkolaine.com">Jarkko Laine</a> and was actually a great speech about <a href="http://farm4.static.flickr.com/3649/3469169188_d0aabdbde3_o.jpg">perfectionism</a>. We all know the problem that we start working an a great idea, but somewhere at the near end, we just can&#8217;t get it ready to launch. Jarkko&#8217;s advice: drop the details, and ship it! The only way your application can evolve is letting people use it, listen to feedback, and feed it on the road. It was nice to see, that everyone in the room was nodding along, and by the end of this talk, you really had the feeling of just releasing some beta projects of your own.</p>
<p>Overall a great meet up with like minded people from all over the world in a beautiful city.</p>
<p>We&#8217;ll definitely be at the next edition!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2010/05/frozen-rails-in-helsinki-makes-mr-henry-a-happy-camper/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Failtale</title>
		<link>http://blog.mrhenry.be/2010/05/failtale/</link>
		<comments>http://blog.mrhenry.be/2010/05/failtale/#comments</comments>
		<pubDate>Mon, 03 May 2010 08:30:03 +0000</pubDate>
		<dc:creator>yves</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[failtale]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[reporting]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=220</guid>
		<description><![CDATA[Mr. Henry built a new Ruby On Rails application: Failtale, a remote error reporting tool.]]></description>
			<content:encoded><![CDATA[<p>Calling all developers worldwide! We built an open source, MIT Licensed, free to use, remote error reporting tool that can do amazing things! Among it&#8217;s many features are: <em>RESTful API, <a title="http://github.com/mrhenry/failtale/" href="http://github.com/mrhenry/failtale/">Open Source</a>, Platform Agnostic ( read: independant )</em> and more&#8230; If all this sounds like music in your ears, and you&#8217;re interested in joining our ß-program, please register at <a title="Register now! Only 50 invites!" href="http://www.failtale.be" target="_blank">www.failtale.be</a>.</p>
<p><img class="alignnone size-full wp-image-240 slideshow" title="failtale icon" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/failtale.jpg" alt="failtale icon" width="490" height="340" /><span id="more-220"></span><img class="alignnone size-full wp-image-235 slideshow" title="logo failtail" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/failtale-baseline1.jpg" alt="logo failtail" width="490" height="340" /><img class="alignnone size-full wp-image-1464 slideshow" title="MIT License" src="http://blog.mrhenry.be/wp-content/uploads/2010/05/mit2.jpg" alt="The University of Massachusetts" width="490" height="340" /></p>
<p>What does &#8220;Remote Error Reporting&#8221; even mean?  Let&#8217;s say you have new application ready to be deployed on your client&#8217;s server.  Everything runs great on your own server, but once it&#8217;s copied to the production server, things start to go wrong.  Maybe it&#8217;s just an image folder without the right permissions, a wrong version of a beloved Gem, or a file that got misplaced. You ask your wonderful client for access to the error logs but they go &#8220;Ehrmmmm, error what?&#8221;. This is were Failtale can be one hell of a tool.</p>
<p>Wouldn&#8217;t it be great if you could insert a little code snippet in your code that reports errors to you?  Without having access to logs, ssh accounts and what not.</p>
<p>How does this all work? All you need to do is:</p>
<ol>
<li><a href="http://www.failtale.be/home">Sign up</a> to get an API key for your application. An API key is nothing more than a long, random string that identifies your application.  Failtale needs this key in order to be able to log errors to the relevant application.</li>
<li>Download one of the <a href="#failtale-libraries">libraries</a> and integrate it with your project<br />
<em>( please write your own if you can&#8217;t find one for your language )</em></p>
<p>With Actionscript, it looks like this:</p>
<div class="wp_syntax">

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">// create your own API key on www.failtale.be</span>
<span style="color: #0033ff; font-weight: bold;">public</span> static const FAILTALE_API_KEY <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;your-api-key-goes-here&quot;</span>;
<span style="color: #0033ff; font-weight: bold;">public</span> static const FAILTALE_GATEWAY <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;http://failtale.be&quot;</span>;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> failtale <span style="color: #000000; font-weight: bold;">:</span> Failtale;
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> initFailtale <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
  failtale = Failtale.getInstance<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
  failtale.<span style="color: #004993;">init</span><span style="color: #000000;">&#40;</span> FAILTALE_GATEWAY, FAILTALE_API_KEY <span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #009900;">// what follows is a poor example probably</span>
<span style="color: #009900;">// you shouldn't track every single error or become a lazy coder</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> triggerError <span style="color: #000000;">&#40;</span> e <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #004993;">Event</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
  <span style="color: #009900;">// try to remove a dummy instance from the displaylist</span>
  <span style="color: #0033ff; font-weight: bold;">try</span>
  <span style="color: #000000;">&#123;</span>
    <span style="color: #004993;">removeChild</span><span style="color: #000000;">&#40;</span> dummy <span style="color: #000000;">&#41;</span>;
  <span style="color: #000000;">&#125;</span>
  <span style="color: #0033ff; font-weight: bold;">catch</span><span style="color: #000000;">&#40;</span> <span style="color: #004993;">error</span> <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #004993;">Error</span> <span style="color: #000000;">&#41;</span>
  <span style="color: #000000;">&#123;</span>
    <span style="color: #009900;">// removing dummy failed ( e.g. it was not added to the displaylist )</span>
    <span style="color: #009900;">// let Failtale know about it</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> fm <span style="color: #000000; font-weight: bold;">:</span> FailtaleModel = <span style="color: #0033ff; font-weight: bold;">new</span> FailtaleModel<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
    fm.<span style="color: #004993;">comment</span> = commentInput.<span style="color: #004993;">text</span>;
    fm.<span style="color: #004993;">error</span> = <span style="color: #004993;">error</span>;
    fm.<span style="color: #004993;">arguments</span> = <span style="color: #004993;">arguments</span>;
    failtale.<span style="color: #004993;">log</span><span style="color: #000000;">&#40;</span> fm <span style="color: #000000;">&#41;</span>;
  <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

</div>
<p>This example will generate a simple error report. Following screenshot shows 1 of 3 screens you can use when debugging your application.</p>
<p><img class="alignnone size-full wp-image-1455" title="Failtale Report" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/failtale-report-capture.jpg" alt="Screenshot showing the Failtale report view" width="490" height="195" /></li>
<li> Check your Failtale account the next time your client calls you about this exotic bug and you&#8217;ll find a nicely formatted error report right in front of your nose. No SSH sessions, no remote logins required.  All done with a library, a code snippet and a Failtale account.</li>
</ol>
<p><a name="failtale-libraries"></a></p>
<p>We&#8217;ve allready written ( and released ) 2 libraries ( <a title="Ruby Library" href="http://github.com/mrhenry/failtale-reporter">Ruby</a> and <a title="Actionscript 3 Library" href="http://github.com/mrhenry/failtale-as3">AS3</a> ) and a third one ( Javascript ) to integrate with one of your projects, is on it&#8217;s way.  We sure could use one for Perl, Python, PHP, &#8230;</p>
<p>We appreciate any kind of feedback, code contributions, suggestions, anger, love, &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2010/05/failtale/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A call for help</title>
		<link>http://blog.mrhenry.be/2010/01/a-call-for-help/</link>
		<comments>http://blog.mrhenry.be/2010/01/a-call-for-help/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 08:39:46 +0000</pubDate>
		<dc:creator>fred</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=1282</guid>
		<description><![CDATA[AgatonSax wrote&#8230;
&#8220;looking for a wordpress plugin that allows the site&#8217;s authors to post messages to each other in the admin panel&#8230;&#8221;
That sounds interesting! We had never heard about something like that but after some quick research,we found a plugin that did the job. But it was not on the dashboard, and with an overall bad [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>AgatonSax wrote&#8230;<br />
&#8220;looking for a wordpress plugin that allows the site&#8217;s authors to post messages to each other in the admin panel&#8230;&#8221;</p></blockquote>
<p>That sounds interesting! We had never heard about something like that but after some quick research,we found a plugin that did the job. But it was not on the dashboard, and with an overall bad user experience. So after discussing it in the office, we decided to make better one from scratch.</p>
<p><img class="alignnone size-full wp-image-1290 slideshow" title="a-call-for-help-whisper" src="http://blog.mrhenry.be/wp-content/uploads/2010/01/a-call-for-help-whisper.jpg" alt="" width="490" height="340" /><br />
<span id="more-1282"></span><img class="alignnone size-full wp-image-1286 slideshow" title="A call for help" src="http://blog.mrhenry.be/wp-content/uploads/2010/01/a-call-for-help.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1305 slideshow" title="kitten" src="http://blog.mrhenry.be/wp-content/uploads/2010/01/kitten.jpg" alt="" width="490" height="340" /></p>
<h3>Why?</h3>
<p>Reason one: when you are capable of helping someone, you definitely should.</p>
<p>Reason two: the dashboard is a good place to leave personal messages on. It would be great to be able to send a message to a client saying something like &#8220;We just made the upgrade to the latest version of WordPress&#8221;, or maybe something more cute like &#8220;we love you&#8221;.</p>
<h3>What?</h3>
<p>It ended up as a quite simple dashboard widget with a lot of focus on the visual feedback. When thinking about how to handle long conversations we decided for a few things:</p>
<ul>
<li>Don&#8217;t send a query to the database and ask for all messages at one time. It could get heavy.</li>
<li>The user should be able to decide how big the widget should be. There might be other widgets that are important as well.</li>
<li>A tiwtter-like appending at the bottom of the page is nice for loading older messages.</li>
<li>The visual feedback when loading older messages should be as good as <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Langholmsbadet_2008.jpg/800px-Langholmsbadet_2008.jpg">swimming in the city of Stockholm</a> a warm summer day.</li>
</ul>
<p>When combining the twitter-like appending with some animated scrolling and resizing with the use of  <a href="http://jquery.com">jQuery</a> (now shipped as version 1.4), we cover the whole list above.</p>
<p><img class="alignnone size-full wp-image-1316" title="dachat screenshot" src="http://blog.mrhenry.be/wp-content/uploads/2010/01/a-call-for-help-dachat11.png" alt="" width="490" height="340" /></p>
<p>This is version 1.0 and expect more to come. Feel free to use it and abuse it. And remember: jQuery is your friend. In the re-tweet is a link to the WordPress plugin directory which also serves as a svn repository (thanks again WordPress).</p>
<blockquote><p>wearemrhenry wrote&#8230;<br />
@AgatonSax <a href="http://wordpress.org/extend/plugins/dachat">http://wordpress.org/extend/plugins/dachat</a> #tadaah</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2010/01/a-call-for-help/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>The Ultimate Observer</title>
		<link>http://blog.mrhenry.be/2009/11/the-ultimate-observer/</link>
		<comments>http://blog.mrhenry.be/2009/11/the-ultimate-observer/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 21:16:04 +0000</pubDate>
		<dc:creator>bram</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[away3D]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[depth]]></category>
		<category><![CDATA[distance]]></category>
		<category><![CDATA[dof]]></category>
		<category><![CDATA[field]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[papervision]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=1158</guid>
		<description><![CDATA[We'll try to explain how to get the distance between points in this Actionscript article.  More specifically between an observer and points on a rotating circle. ]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.mrhenry.be/wp-content/uploads/2009/11/ramtha.jpg" alt="Have you ever seen yourself" title="Have you ever seen yourself" width="490" height="340" class="alignnone size-full wp-image-1182 slideshow" /></p>
<p>We are working on a website ( NDA ) that <a href="http://clientsfromhell.tumblr.com/">needs (!)</a> a 3D caroussel. To make things a little exciting for ourselves, we added <a href="http://en.wikipedia.org/wiki/Depth_of_field">depth of field ( DOF )</a>. This post will explain the basic steps involved in getting the maths work for that purpose.</p>
<p><span id="more-1158"></span></p>
<p>
Below you can see a screenshot of the demo application we developed to research the problem in 2D.  The solution will also work in a 3D world, for example: in our <a href="http://blog.papervision3d.org/">Papervision3D</a> caroussel.  In the resulting caroussel we&#8217;ll be able to use the calculated distance to blur a given DisplayObject3D, relative to it&#8217;s distance to the camera and thus get depth of field.</p>
<p><img src="http://blog.mrhenry.be/wp-content/uploads/2009/11/the_ultimate_observer.jpg" alt="Screenshot of the demo application in action" title="The Ultimate Observer" width="490" height="340" class="size-full wp-image-1172 slideshow" /> </p>
<p>
As you can see there are dots, lots of &#8216;em, layed out on a circle.  The circle has it&#8217;s own axis.  The dots remain on their fixed position within the circle.  What does change however, is the rotation of the circle relative to the observer ( the gray disk, which you can drag around ).  This poses a problem for us.  The distance of the orange dots are constantly changing.</p>
<p>
We can use very simple maths to solve the problem.  With cosinus and sinus.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// PSEUDO CODE - this code is meant to illustrate</span>
<span style="color: #006600; font-style: italic;">// the thoughts behind the calculation</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// distance on the horizontal axis between dot and observer</span>
<span style="color: #003366; font-weight: bold;">var</span> dx <span style="color: #339933;">:</span> Number<span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// distance on the vertical axis between dot and observer </span>
<span style="color: #003366; font-weight: bold;">var</span> dy <span style="color: #339933;">:</span> Number<span style="color: #339933;">;</span> 
<span style="color: #006600; font-style: italic;">// rotation of the dot on the circle relative to the observer</span>
<span style="color: #003366; font-weight: bold;">var</span> da <span style="color: #339933;">:</span> Number<span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #006600; font-style: italic;">// we know the angle of the dot in the circle: ( 2 * PI ) / numberOfDots</span>
<span style="color: #006600; font-style: italic;">// 2 * PI = 360 degrees expressed in radians</span>
da <span style="color: #339933;">=</span> angleOfDotOnTheCircle <span style="color: #339933;">+</span> rotationOfCircle<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// use the given angle to calculate dx and dy</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// cos will be between -1 and 1, multiply with the radius of the circle and you have dx</span>
dx <span style="color: #339933;">=</span> Math.<span style="color: #660066;">cos</span><span style="color: #009900;">&#40;</span> da <span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> radius<span style="color: #339933;">;</span> 
 <span style="color: #006600; font-style: italic;">// sin will be between -1 and 1, multiply with the radius of the circle and you have dy</span>
dy <span style="color: #339933;">=</span> Math.<span style="color: #660066;">sin</span><span style="color: #009900;">&#40;</span> da <span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> radius<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// now that dx and dy are set we can get the distance ( between dot and observer ) as follows</span>
<span style="color: #003366; font-weight: bold;">var</span> totalX <span style="color: #339933;">:</span> Number <span style="color: #339933;">=</span> circle.<span style="color: #660066;">x</span> <span style="color: #339933;">+</span> dx <span style="color: #339933;">-</span> observer.<span style="color: #660066;">x</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> totalY <span style="color: #339933;">:</span> Number <span style="color: #339933;">=</span> circle.<span style="color: #660066;">y</span> <span style="color: #339933;">+</span> dy <span style="color: #339933;">-</span> observer.<span style="color: #660066;">y</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// calculate the distance between dot and observer with this formula</span>
<span style="color: #003366; font-weight: bold;">var</span> dist <span style="color: #339933;">:</span> Number <span style="color: #339933;">=</span> Math.<span style="color: #660066;">sqrt</span><span style="color: #009900;">&#40;</span> totalX<span style="color: #339933;">*</span>totalX <span style="color: #339933;">+</span> totalY<span style="color: #339933;">*</span>totalY <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Maybe the following image can help to figure the pseudo code out yourself.</p>
<p><img src="http://blog.mrhenry.be/wp-content/uploads/2009/11/infographic_the_ultimate_observer.jpg" alt="infographic" title="infographic" width="490" height="340" class="alignnone size-full wp-image-1194 slideshow" /></p>
<p>
Be careful: the rotation of the circle is expressed in degrees, but the Math methods ( cos and sin ) use radians.  To convert degrees to radians use:
</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">radians <span style="color: #339933;">=</span> degrees <span style="color: #339933;">*</span> <span style="color: #CC0000;">180</span> <span style="color: #339933;">/</span> PI<span style="color: #339933;">;</span></pre></div></div>

<p>Try out the demo app for yourself &#8211; it&#8217;s &#8216;<a href="http://blog.mrhenry.be/wp-content/uploads/2009/11/srcview/">view-source</a>&#8216; enabled. Right click to check it.</p>
<div style="width:490px;height:340px;margin: 0 auto;">
<div id="theobserver_20091120" style="border:5px;">
<a href="http://www.adobe.com/go/getflashplayer"><br />
    			<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /><br />
    		</a>
    	</div>
</p></div>
<p><script type="text/javascript">
    	var flashvars = {};
    	var params = {};
    	var attributes = {};
    	attributes.align = "middle";
    	swfobject.embedSWF("http://blog.mrhenry.be/wp-content/uploads/2009/11/theobserver.swf", "theobserver_20091120", "490", "340", "9.0.0", false, flashvars, params, attributes);
    </script></p>
<p>Please leave your questions in the comments.  We really want you to get it before we move on to <em>a next post featuring the 3D demo application</em> with ( read the following words with your best death metal voice ) Depth Of Field.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/11/the-ultimate-observer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Extending the Wordpress body_class function with the top level parent ID</title>
		<link>http://blog.mrhenry.be/2009/10/extending-the-wordpress-body_class-function-with-the-top-level-parent-id/</link>
		<comments>http://blog.mrhenry.be/2009/10/extending-the-wordpress-body_class-function-with-the-top-level-parent-id/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 14:43:30 +0000</pubDate>
		<dc:creator>yves</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=1115</guid>
		<description><![CDATA[We'll show you how to extend the Wordpress body_class method with the top level parent id.]]></description>
			<content:encoded><![CDATA[<p>As from Wordpress version 2.8, the <em>body_class</em> function opened up a great arsenal of location specific classes. But of course, not everything is included here.</p>
<p><img class="alignnone size-full wp-image-1154" title="easyrider" src="http://blog.mrhenry.be/wp-content/uploads/2009/10/easyrider.jpg" alt="easyrider" width="490" height="340" /></p>
<p><span id="more-1115"></span>When you look at the page structure of a Wordpress installation, it&#8217;s nice to know which is the top parent page. For example, you want to decorate every page and all it&#8217;s children with a different background.</p>
<div>1. page</div>
<div style="text-indent: 20px;">2. subpage</div>
<div style="text-indent: 40px; margin-bottom: 1.5em;">3. subsubpage</div>
<p>There&#8217;s are several classes present on subsubpages:</p>
<ul>
<li>page-id-3</li>
<li>page-parent</li>
<li>page-child</li>
<li>parent-pageid-2</li>
</ul>
<h3>The function</h3>
<p>But when we look at the <em>subsubpages</em>, the parent page ID is that of it&#8217;s nearest parent and not the ID of it&#8217;s top level parent.</p>
<p>You can easily extend the body_class function with this ID by adding following function in the <em>functions.php</em> of your current theme:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'body_class'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'top_level_parent_id_body_class'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> top_level_parent_id_body_class<span style="color: #009900;">&#40;</span><span style="color: #000088;">$classes</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>is_page<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_parent</span><span style="color: #009900;">&#41;</span>	<span style="color: #009900;">&#123;</span>
        	<span style="color: #000088;">$parent</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">end</span><span style="color: #009900;">&#40;</span>get_post_ancestors<span style="color: #009900;">&#40;</span><span style="color: #000088;">$current_page_id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        	<span style="color: #000088;">$parent</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$classes</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'top-level-parent-pageid-'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$parent</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$classes</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Don&#8217;t forget to <a href="http://www.nathanrice.net/blog/wordpress-2-8-and-the-body_class-function/">include</a> the <em>body_class function</em>, if it&#8217;s not present already.</p>
<p>And when you check the <em>subsubpages</em> again, you&#8217;ll find a class like <em>top-level-parent-pageid-1</em></p>
<h3>But, wait&#8230;</h3>
<p>Now, there&#8217;s a little bug in the 2.8.4 version (and versions below). When using the <em>get_post_ancestors</em> function, sometimes you will get an empty array. To fix this, you will have to pop up the hood and look into <em>wp-includes/post.php</em> and add the code you&#8217;ll find <a href="http://core.trac.wordpress.org/attachment/ticket/10381/fix-post-ancestors.diff">here</a>.</p>
<h3>Credits</h3>
<p>Thanks to <a href="http://twitter.com/cssglobe">Alen Grakalic</a> for a <a href="http://cssglobe.com/post/5812/wordpress-find-pages-top-level-parent-id">snippet of code</a> that makes this work.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/10/extending-the-wordpress-body_class-function-with-the-top-level-parent-id/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>That Other Excuse That You Call A Job</title>
		<link>http://blog.mrhenry.be/2009/10/that-other-excuse-that-you-call-a-job/</link>
		<comments>http://blog.mrhenry.be/2009/10/that-other-excuse-that-you-call-a-job/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 13:36:59 +0000</pubDate>
		<dc:creator>bram</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mr. Henry]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[antwerp]]></category>
		<category><![CDATA[belgium]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[vacature]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=1095</guid>
		<description><![CDATA[Mr. Henry is looking for a new team member.]]></description>
			<content:encoded><![CDATA[<p>You can finally quit &#8220;That Other Excuse You Call A Job&#8221; and get in touch with Mr. Henry.</p>
<p>More specifically if you&#8217;re working as a developer for the Flash Platform.  We&#8217;re not looking for <a href="http://www.youtube.com/watch?v=X7qEi3_BXO4">apprentices</a> here.  We&#8217;re looking for that one person that&#8217;s really on fire. Is at <a href="http://blog.greensock.com/tweenliteas3/">ease</a> with frameworks, throws in some vertex&#8217;s when we&#8217;re not looking and who&#8217;s handled a deadline or two.</p>
<p><img class="alignnone size-full wp-image-1107 slideshow" title="5reasons" src="http://blog.mrhenry.be/wp-content/uploads/2009/10/5reasons.jpg" alt="5reasons" width="490" height="340" /><span id="more-1095"></span><img class="alignnone size-full wp-image-1109 slideshow" title="client-meeting1" src="http://blog.mrhenry.be/wp-content/uploads/2009/10/client-meeting1.jpg" alt="client-meeting1" width="490" height="340" /><img class="alignnone size-full wp-image-1108 slideshow" title="benefits1" src="http://blog.mrhenry.be/wp-content/uploads/2009/10/benefits1.jpg" alt="benefits1" width="490" height="340" /><img class="alignnone size-full wp-image-1112 slideshow" title="technology1" src="http://blog.mrhenry.be/wp-content/uploads/2009/10/technology1.jpg" alt="technology1" width="490" height="340" /><img class="alignnone size-full wp-image-1113 slideshow" title="training1" src="http://blog.mrhenry.be/wp-content/uploads/2009/10/training1.jpg" alt="training1" width="490" height="340" /><img class="alignnone size-full wp-image-1111 slideshow" title="snorrendag" src="http://blog.mrhenry.be/wp-content/uploads/2009/10/snorrendag.jpg" alt="snorrendag" width="490" height="340" /></p>
<p>It&#8217;s absolutely necessary that you have an eye for high quality work.  For yourself and the team you work with on a day to day base.</p>
<p>Your profile should cover: Flash, Flex, Air, AS3, able to work in a team, able to work on your own, eager to learn, eager to fail, English, basic understanding of databases and related techniques, &#8230;<br />
And please: do include your online portfolio while your at it, with working examples of your magnificent work!</p>
<p><em>No agencies, headhunters, other-timezone-related-teams pls.</em></p>
<p>( first seen on <a href="http://twitter.com/wearemrhenry/status/4625475103">our Twitter account</a> )</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/10/that-other-excuse-that-you-call-a-job/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>the aftermath 2000</title>
		<link>http://blog.mrhenry.be/2009/09/the-aftermath-2000/</link>
		<comments>http://blog.mrhenry.be/2009/09/the-aftermath-2000/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 11:26:01 +0000</pubDate>
		<dc:creator>hans</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mr. Henry]]></category>
		<category><![CDATA[Sexual Thrills]]></category>
		<category><![CDATA[antwerp]]></category>
		<category><![CDATA[cosmic]]></category>
		<category><![CDATA[donation]]></category>
		<category><![CDATA[flash2000]]></category>
		<category><![CDATA[hello]]></category>
		<category><![CDATA[love]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=940</guid>
		<description><![CDATA[Wowawiewa! Our very first event has been a fact! For those who were living on planet rock silverlight for the last months and thus don&#8217;t know, FLASH2000 is the name, talking is the game.
About 70 hawkmen attended this humble-first-time event. Read more after the jump!

Thanks to everyone for dropping by, the couches were just enough [...]]]></description>
			<content:encoded><![CDATA[<p>Wowawiewa! Our very first event has been a fact! For those who were living on planet <span style="text-decoration: line-through;">rock</span> silverlight for the last months and thus don&#8217;t know, <strong>FLASH2000</strong> is the name, talking is the game.<br />
About 70 <a href="http://www.meetup.com/flash2000/calendar/11198668/">hawkmen</a> attended this humble-first-time event. Read more after the jump!</p>
<p><img class="alignnone size-full wp-image-980 slideshow" title="flash2000" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/intro-bartek-morecolor.jpg" alt="flash2000" width="490" height="340" /><span id="more-940"></span><img class="alignnone size-full wp-image-943 slideshow" title="view" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/view.jpg" alt="view" width="490" height="340" /><img class="alignnone size-full wp-image-947 slideshow" title="warzone" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/warzone.jpg" alt="warzone" width="490" height="340" /><img class="alignnone size-full wp-image-982 slideshow" title="eugene1" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/eugene1.jpg" alt="eugene" width="490" height="340" /></p>
<p>Thanks to everyone for dropping by, the couches were just enough to seat everyone. A special thanks to Klaas, Bartek (<a href="http://en.wikipedia.org/wiki/Poland">Poland</a>) and Eugene (<a href="http://en.wikipedia.org/wiki/Russia">Russia</a>) for lighting up the room with their vibrant words and visuals. We&#8217;ve uploaded some visuals, both static and moving!</p>
<p>Thanks to Tom van Sand for filming and editing the video, and thanks to Otman Fathi for taking some pictures while everybody was enjoying the show! Also, respect to our 2 swedish friends who joined us, Fred &amp; Kristoffer you crazy <a href="http://en.wikipedia.org/wiki/Sweden">Swedes</a>!</p>
<p>All your media ( <a href="http://www.flickr.com/photos/mrhenry/sets/72157622280312453/">flickr</a> / <a href="http://vimeo.com/album/131127">vimeo</a> ) are belong to us! ( <em>all the presentations are currently being uploaded to <span style="text-decoration: line-through;">youtube</span></em><em> Vimeo, so you can watch every session over and over again</em> )</p>
<p>We hope to be able to do this some more, for the love of it! If you liked what you saw, and want to help us with sponsoring or donating your sexy body to us, please <strong>STAY IN TOUCH! ^^</strong></p>
<h3>Check out some Flickr</h3>
<p><a href="http://www.flickr.com/photos/mrhenry/sets/72157622280312453/">clickr for the flickr</a></p>
<h3>Check out some Vimeo</h3>
<p>video + editing by tom van sand</p>
<p><object width="490" height="276" data="http://vimeo.com/moogaloop.swf?clip_id=6829629&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6829629&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /></object></p>
<p><object width="490" height="276" data="http://vimeo.com/moogaloop.swf?clip_id=6829747&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6829747&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /></object></p>
<p><object width="490" height="276" data="http://vimeo.com/moogaloop.swf?clip_id=6829824&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6829824&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /></object></p>
<h4>MONTAGE</h4>
<p><object width="490" height="270" data="http://vimeo.com/moogaloop.swf?clip_id=6830670&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6830670&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /></object></p>
<h4>SESSION KLAAS</h4>
<p><object width="490" height="392" data="http://vimeo.com/moogaloop.swf?clip_id=6828662&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6828662&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /></object></p>
<h4>SESSION BARTEK</h4>
<p><object width="490" height="392" data="http://vimeo.com/moogaloop.swf?clip_id=6823756&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6823756&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /></object></p>
<h4>SESSION BRAM</h4>
<p><object width="490" height="368" data="http://vimeo.com/moogaloop.swf?clip_id=6830128&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6830128&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /></object></p>
<h4>SESSION EUGENE</h4>
<p><object width="490" height="392" data="http://vimeo.com/moogaloop.swf?clip_id=6821344&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6821344&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /></object></p>
<p>Thanks very much again to everyone for coming, and we hope to see you again pretty soon!</p>
<p>b-y-e</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/09/the-aftermath-2000/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mr. Henry Event: Flash 2000</title>
		<link>http://blog.mrhenry.be/2009/09/mr-henry-event-flash-2000/</link>
		<comments>http://blog.mrhenry.be/2009/09/mr-henry-event-flash-2000/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 14:09:23 +0000</pubDate>
		<dc:creator>bram</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mr. Henry]]></category>
		<category><![CDATA[Sexual Thrills]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[antwerpen]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[felix pakhuis]]></category>
		<category><![CDATA[flash 2000]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=900</guid>
		<description><![CDATA[Mr. Henry is organizing it's very first event called "Flash 2000".]]></description>
			<content:encoded><![CDATA[<p>Mr. Henry is organizing it&#8217;s very first event!  &#8220;Flash 2000&#8243; is a ( free, gratish, gratuit ) series of talks in Antwerp ( 2000 is the zip code of Antwerp for those abroad ), targeting the Flash Platform. It looks like the first edition is already set to be remarkable.</p>
<p><img class="alignnone size-full wp-image-913 slideshow" title="2000" src="http://blog.mrhenry.be/wp-content/uploads/2009/08/2000.jpg" alt="2000" width="490" height="340" /><span id="more-900"></span><img class="alignnone size-full wp-image-916 slideshow" title="bartek" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/bartek.jpg" alt="bartek" width="490" height="340" /><img class="alignnone size-full wp-image-921 slideshow" title="bram" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/bram.jpg" alt="bram" width="490" height="340" /><img class="alignnone size-full wp-image-927 slideshow" title="awesomeness" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/awesomeness.jpg" alt="awesomeness" width="490" height="340" /><img class="alignnone size-full wp-image-918 slideshow" title="klaas" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/klaas.jpg" alt="klaas" width="490" height="340" /><img class="size-full wp-image-917 alignnone slideshow" title="eugene" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/eugene.jpg" alt="eugene" width="490" height="340" /><img class="alignnone size-full wp-image-936 slideshow" title="felix" src="http://blog.mrhenry.be/wp-content/uploads/2009/09/felx.jpg" alt="felix" width="490" height="340" /></p>
<p>We have 4 European speakers.  Topics include: Papervision ( <a href="http://www.everydayflash.com">Bartekd</a>! ), image processing ( Eugene of <a href="http://www.inspirit.ru">Inspirit</a>! ), a live vj workflow explained ( <a href="http://www.klaasverpoest.com">Klaas Verpoest</a> ) and <a href="http://www.mrhenry.be/">we</a>&#8216;ll give a little talk about Flex Development.</p>
<p>Besides these amazing speakers from Poland and Rrrrussia, we also have a truely, unique location: &#8220;<abbr title="it means Felix Warehouse"><a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Godefriduskaai+30,antwerpen,belgium&amp;sll=37.0625,-95.677068&amp;sspn=51.576045,91.230469&amp;ie=UTF8&amp;ll=51.227985,4.408607&amp;spn=0.020102,0.044546&amp;t=p&amp;z=15&amp;iwloc=A">Felix Pakhuis</a></abbr>&#8221; ( browse the image gallery for pics ).  It&#8217;s located in an old warehouse, next to the water ( and yachts ). ^^</p>
<p>You can visit the <a href="http://www.meetup.com/flash2000/">Meetup page</a> and register (<strong> it&#8217;s free! </strong>) or just keep an eye on our blog-e-di-blog.  We would really appreciate you registrating at the <a href="http://www.meetup.com/flash2000/">Meetup page</a> so we can prepare ourselves for things to come.  And besides: the registration pages of Meetup are really slick!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/09/mr-henry-event-flash-2000/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Tomato Ketchup and Quality Control</title>
		<link>http://blog.mrhenry.be/2009/08/tomato-ketchup-and-quality-control/</link>
		<comments>http://blog.mrhenry.be/2009/08/tomato-ketchup-and-quality-control/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 10:59:59 +0000</pubDate>
		<dc:creator>bram</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[heinz]]></category>
		<category><![CDATA[quality]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=869</guid>
		<description><![CDATA[We are currently working on a project for Heinz to help them improve the tidious process of quality control.  More specifically, we are handing the employees some tools to have a better way of monitoring  their tasks.  One tiny mistake can lead to the loss of enormous quantities of their well known [...]]]></description>
			<content:encoded><![CDATA[<p>We are currently working on a project for <a href="http://www.heinz.com">Heinz</a> to help them improve the tidious process of quality control.  More specifically, we are handing the employees some tools to have a better way of monitoring  their tasks.  One tiny mistake can lead to the loss of enormous quantities of their well known tomato ketchup.  Mr. Henry to the rescue!</p>
<p><img src="http://blog.mrhenry.be/wp-content/uploads/2009/08/p10108331.jpg" alt="p10108331" title="p10108331" width="490" height="340" class="alignnone size-full wp-image-878 slideshow" /><span id="more-869"></span><img src="http://blog.mrhenry.be/wp-content/uploads/2009/08/kitchen-garden-view.jpg" alt="kitchen-garden-view" title="kitchen-garden-view" width="490" height="340" class="alignnone size-full wp-image-883 slideshow" /><img src="http://blog.mrhenry.be/wp-content/uploads/2009/08/p1010822.jpg" alt="p1010822" title="p1010822" width="490" height="340" class="alignnone size-full wp-image-872 slideshow" /><img src="http://blog.mrhenry.be/wp-content/uploads/2009/08/p1010835.jpg" alt="p1010835" title="p1010835" width="490" height="340" class="alignnone size-full wp-image-879 slideshow" /><img src="http://blog.mrhenry.be/wp-content/uploads/2009/08/p1010830.jpg" alt="p1010830" title="p1010830" width="490" height="340" class="alignnone size-full wp-image-877 slideshow" /></p>
<p>We are developing an <a href="http://www.adobe.com/products/air/">Adobe Air</a> tool that installs on a regular desktop. Using <a href="http://www.sqlite.org/">SQLite</a> for storage and <a href="http://www.logitech.com/index.cfm/webcam_communications/webcams/devices/3480&#038;cl=us,en">a webcam</a> for the snapshots and live preview ( but might upgrade to a high end camera in the end ).</p>
<p>Lots of fun! And we do feel a bit privileged working with a great client like Heinz.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/08/tomato-ketchup-and-quality-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speed up your HTML development</title>
		<link>http://blog.mrhenry.be/2009/07/speed-up-your-html-development/</link>
		<comments>http://blog.mrhenry.be/2009/07/speed-up-your-html-development/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:19:12 +0000</pubDate>
		<dc:creator>yves</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[conditional comments]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[google.load]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[pngfix]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=790</guid>
		<description><![CDATA[Every time you start a new html project, you have to configure a couple things over and over. When you have some standard configurations at hand, this could be an enormous time saver and can avoid easily made mistakes at deploy stage! A good example is HTML/CSS/JS-kickstart.
Through the hand of time, we&#8217;ve created something alike, [...]]]></description>
			<content:encoded><![CDATA[<p>Every time you start a new html project, you have to configure a couple things over and over. When you have some standard configurations at hand, this could be an enormous time saver and can avoid easily made mistakes at deploy stage! A good example is <a href="http://praegnanz.de/weblog/htmlcssjs-kickstart">HTML/CSS/JS-kickstart</a>.</p>
<p>Through the hand of time, we&#8217;ve created something alike, because there isn&#8217;t something like &#8220;the perfect starting files&#8221;.  And after all, everyone has other needs and preferences. You can easily make one yourself too!  Let&#8217;s take a closer look at our starting files.</p>
<blockquote><p>We have a Github repository where you can download or fork our files:<br />
<a href="http://github.com/mrhenry/head-start/tree/master">http://github.com/mrhenry/head-start/tree/master</a></p>
</blockquote>
<p><img class="alignnone size-full wp-image-851 slideshow" title="head-start" src="http://blog.mrhenry.be/wp-content/uploads/2009/07/head-start.jpg" alt="head-start" width="490" height="340" /><span id="more-790"></span><img class="alignnone size-full wp-image-863 slideshow" title="speedy-gon-what" src="http://blog.mrhenry.be/wp-content/uploads/2009/07/speedy-gon-what.jpg" alt="speedy-gon-what" width="490" height="340" /><img class="alignnone size-full wp-image-838 slideshow" src="http://blog.mrhenry.be/wp-content/uploads/2009/07/snel.jpg" alt="snel" width="490" height="340" /></p>
<p><!--more--></p>
<h3>The tree</h3>
<p>First of all, notice the tree structure. This is just a basic setup, but it contains essential folders for most websites. An other advantage is that you create a name spacing that you can use into all your projects.</p>
<ul>
<li>favicon.ico</li>
<li>index.html</li>
<li>crossdomain.xml</li>
<li><strong>flash</strong>
<ul>
<li>expressInstall.swf</li>
</ul>
</li>
<li><strong>images </strong>
<ul>
<li><strong>backgrounds</strong></li>
<li><strong>buttons</strong></li>
<li><strong>general</strong></li>
<li><strong>icons</strong></li>
<li><strong>titles</strong></li>
</ul>
</li>
<li><strong>javascripts </strong>
<ul>
<li>application.js</li>
<li>cufon-min.js</li>
<li>DD_belatedPNG.0.0.7a-min.js</li>
</ul>
</li>
<li><strong>stylesheets </strong>
<ul>
<li>general.css</li>
<li>ie.css</li>
<li>print.css</li>
<li>reset.css</li>
<li>typography.css</li>
</ul>
</li>
</ul>
<p>Ok, now you know what our tools are, let&#8217;s dive into our <strong>index.html</strong>. And we start at line 1!</p>
<h3>Doctype</h3>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;</span></pre></div></div>

<p>This is where it all starts, and all can go wrong. It&#8217;s really important that you choose the right doctype for the job. We prefer to work with HTML 4.01 or XHTML 1.0. Always choose for the strict version because we write clean code and don&#8217;t use presentation tags. There&#8217;s a lot of fuzz about this so if you&#8217;re a selfrespecting front-end developer, you should read about this! Oh, and don&#8217;t leave it out if something goes wrong with your layout, it&#8217;s probably your code, not the doctype *grin*.</p>
<h3>Meta tags</h3>
<p>In our head section of our document we start with some very important meta tags. They still are very important for search engines and their crawl bots, but also for your visitor&#8217;s browser. You can easily give a lot of information about your page in machine language.</p>
<p>The first one declares that we the character encoding is Unicode.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">http-equiv</span>=<span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;text/html; charset=UTF-8&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>This second one removes the image actions of Internet Explorer when you hover over images. Personally we don&#8217;t like this behavior, so it&#8217;s kind of personal wether you put this one in or not.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">http-equiv</span>=<span style="color: #ff0000;">&quot;imagetoolbar&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;no&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></div></div>

<p>And these are important for our search engine friends. They&#8217;re easily forgotten but can make a huge difference! We picked out the most relevant ones for us. And yes, again, you can flavour this at own taste!</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;distribution&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;Global&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;robots&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;INDEX,FOLLOW&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;revisit-after&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;31 Days&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;email&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;hello@mrhenry.be&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;author&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;Mr. Henry&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;publisher&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;Mr. Henry&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;copyright&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;copyright 2009 Mr. Henry&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;keywords&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;description&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;rating&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;expires&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;never&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></div></div>

<h3>Favicons</h3>
<p>These tiny little icons are a simple but effecient signature of your site. By adding the following line, you can make your own cool icon in .gif or .png format, and not the hard-to-make .ico. Maybe you can try an animated one!</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;link</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;shortcut icon&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/favicon.gif&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></div></div>

<h3>Title</h3>
<p>Your page title is a very important key to search results. It&#8217;s a good practice that you keep your H1 and the first part of your title the same. Preserve the second part of your title, behind a seperator, for your site&#8217;s name.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Starting HTML template | Site name<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h3>Including the stylesheets</h3>
<p>Now we&#8217;re going to link our stylesheets. As you saw in our tree structure, we use a couple of CSS files. It&#8217;s a best practice to divide your CSS files in proper sections. First we load a <em>reset.css</em> file, because we want to look good in every browser *shine*. Afterwards we pick up the <em>general.css</em> and <em>typography.css</em> files. And last but not least we link the <em>print.css</em> and a special dish for our good friend Internet Explorer (no sarcasm). Those strange tags around ie.css are hiding it from all other browsers. They&#8217;re called <a href="http://www.quirksmode.org/css/condcom.html">conditional comments</a> and are only recogniced by Mr. IE. If you need to write hacks, it&#8217;s better not to but sometimes there&#8217;s no other way, write them for IE, in these files. So the rest of your css stays clean and valid.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;link</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;stylesheets/reset.css&quot;</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span>=<span style="color: #ff0000;">&quot;screen, projection&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;link</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;stylesheets/general.css&quot;</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span>=<span style="color: #ff0000;">&quot;screen, projection&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;link</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;stylesheets/typography.css&quot;</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span>=<span style="color: #ff0000;">&quot;screen, projection&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;link</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;stylesheets/print.css&quot;</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span>=<span style="color: #ff0000;">&quot;print&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #808080; font-style: italic;">&lt;!--[if IE]&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;stylesheets/ie.css&quot; type=&quot;text/css&quot; media=&quot;screen, projection&quot;&gt;&lt;![endif]--&gt;</span></pre></div></div>

<h3>Including the javascript</h3>
<p>In modern webdevelopment, we all use javascript to let the user experience sparkle. Forget about the 90&#8217;s and the sloppy pop-up and -under scripts! Nowadays we have great frameworks at our side and they&#8217;ve taken the development speed to the next level. It&#8217;s fun to write and you can do really crazy things with them. Oh and they take care of all the browser differences too! My god, where have they been all these years! Enough blessings. Let&#8217;s move on!</p>
<p>Our favorite javascript library is <a href="http://jquery.com/">jQuery</a>. It&#8217;s easy to learn, fast to develop and has a huge active community. If you look at the way we load our library, you can see that we use the <a href="http://code.google.com/apis/ajaxlibs/documentation/">google.load()</a> function. Since a couple months, this is a great way of including your favorite javascript libraries, because it&#8217;s on the Google servers and this method is used on a lot of big sites. Your visitors probably have these links already cached, which results in faster loading times! It&#8217;s a good idea to choose your version number of the library you want to load, just in case, you never know if an update can change your script&#8217;s behavior.</p>
<p>We use the same method to load <a href="http://code.google.com/p/swfobject/">SWFObject</a>. You probably don&#8217;t need it in every project, but it&#8217;s handy in your head-start files.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;http://www.google.com/jsapi&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
google.load(&quot;jquery&quot;, &quot;1.3.2&quot;);
google.load(&quot;swfobject&quot;, &quot;2&quot;);
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>After this hazzle dazzle, we include the <em>application.js</em>. In this file we write our home-made javascript, fueled with jQuery.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;javascripts/application.js&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Of course, we can&#8217;t leave the house without a decent PNG fix. We&#8217;ve tried tons of PNG fixes, and every one of them had it&#8217;s disadvantages. But then, one day, there was <a href="http://www.dillerdesign.com/experiment/DD_belatedPNG/">the DD_belatedPNG fix</a>. And, as they describe it themselves, it&#8217;s the pure medicine for your IE6 PNG headache! It uses a total other approach than all the others, a better one, a more simple one. Instead of using Microsoft&#8217;s AlphaImageLoader, it uses <a href="http://en.wikipedia.org/wiki/Vector_Markup_Language">VML</a>, Microsoft&#8217;s baby for creating vector graphics. And miraculously, PNG images and their transparency show correctly in a VML fill element. Notice the conditional comments around, because we only want IE6 to read and execute these lines.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!--[if IE 6]&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;script src=&quot;javascripts/DD_belatedPNG_0.0.7a-min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;script&gt;</span>
<span style="color: #808080; font-style: italic;">DD_belatedPNG.fix('*'); /* string argument can be any CSS selector */</span>
<span style="color: #808080; font-style: italic;">&lt;/script&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;![endif]--&gt;</span></pre></div></div>

<p>We can close down the HTML head section and start working on our B.O.D.Y. There&#8217;s not much to say here because you probably want to start clean every project.</p>
<h3>A quick look inside our stylesheets</h3>
<p>When you look inside our CSS files, you will find some predefined styles, very limited, but these come in handy when it comes to rapid development. Then comes the question whether you like CSS frameworks or not. We personally like to do it from scratch when it comes to styling. But with the limited styles available from the beginning, yes, we&#8217;ve created our own little framework. There is absolutelly nothing wrong using a CSS framework, it just has to suit you. If you are more deleting than using styles of some framework, consider NOT using one, or simply create one at your needs.</p>
<h3>Taming Microsoft&#8217;s internet navigator</h3>
<p>And last but not least, a quick look into our special blended CSS file for Internet Explorer. Some people use different files for the different versions. We prefer one file with version hacks. It&#8217;s easier to keep an overview this way on what you allready hacked.</p>
<p>Below you will find the version hacks we use. They&#8217;re commented so everyone who uses the file can easily look up which neat hackedihack to use.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">    <span style="color: #6666ff;">.box</span> <span style="color: #00AA00;">&#123;</span>
       <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#00f</span><span style="color: #00AA00;">;</span> // all versions including Mac IE
       //<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">;</span> // IE8 only
       <span style="color: #00AA00;">*</span><span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">;</span> // IE <span style="color: #cc66cc;">7</span> and <span style="color: #993333;">below</span>
       _background<span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#f60</span><span style="color: #00AA00;">;</span> // IE <span style="color: #cc66cc;">6</span> and <span style="color: #993333;">below</span>
    <span style="color: #00AA00;">&#125;</span>
    html<span style="color: #00AA00;">&gt;</span>body <span style="color: #6666ff;">.box</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #00AA00;">*</span><span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#007</span><span style="color: #00AA00;">;</span> Only IE7 <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>The very very last thing you can say about IE is that he renders images really ugly when you downscale the actual size. We&#8217;ve added the following line to our <em>ie.css</em> and IE is showing those scaled images of you as they where that size &#8216;fo real&#8217;!</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">img <span style="color: #00AA00;">&#123;</span> -ms-interpolation-mode<span style="color: #00AA00;">:</span> bicubic<span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>That&#8217;s it for our first head-start files.   As usual: comments are open for you much appreciated feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/07/speed-up-your-html-development/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Passenger Preferences Pane</title>
		<link>http://blog.mrhenry.be/2009/05/passenger-preferences-pane/</link>
		<comments>http://blog.mrhenry.be/2009/05/passenger-preferences-pane/#comments</comments>
		<pubDate>Tue, 26 May 2009 06:33:16 +0000</pubDate>
		<dc:creator>bram</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[modrails]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[prefpane]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=567</guid>
		<description><![CDATA[Passenger PrefPane is a no-show-stopping-prefpane to run you Passenger instances with ease.]]></description>
			<content:encoded><![CDATA[<p>We use <a href="http://www.modrails.com">Passenger</a> on top of Apache to run Rails applications.  <a href="http://www.fngrtps.com/">Passenger Preferences Pane</a> by <a title="Twitter Account of Fngtps" href="http://twitter.com/fngtps">Fngtps</a> makes it a snap to configure new projects on your OS X machine.  Ideal for smart coders such as<br />
our * cough * selves who want to be up and coding in no time.</p>
<p><img class="alignnone size-full wp-image-562 slideshow" title="Passenger Preferences Pane" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/picture-71.png" alt="Passenger Preferences Pane" width="490" height="375" /><span id="more-567"></span><img class="alignnone size-full wp-image-565 slideshow" title="Library/PreferencePanes/PassengerPrefPane" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/picture-9.png" alt="Library/PreferencePanes/PassengerPrefPane" width="490" height="340" /><br />
<img class="alignnone size-full wp-image-566 slideshow" title="contents/resources" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/picture-10.png" alt="contents/resources" width="490" height="340" /></p>
<p>One thing though: if you are a Mac Ports user, you have to make sure you drop the &#8220;passenger_pane_config.rb.ports&#8221; file in the contents/resources folder of the Passenger Prefpane ( Library/PreferencePanes/PassengerPrefPane &#8211; right mouse click, &#8220;show package contents&#8221; ).  And remove the .ports extension from the file to experience the love of a very handy pref pane!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/05/passenger-preferences-pane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shiver me timbers!</title>
		<link>http://blog.mrhenry.be/2009/05/shiver-me-timbers/</link>
		<comments>http://blog.mrhenry.be/2009/05/shiver-me-timbers/#comments</comments>
		<pubDate>Thu, 07 May 2009 19:06:38 +0000</pubDate>
		<dc:creator>hans</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Sexual Thrills]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[cosmic]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ghent]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=585</guid>
		<description><![CDATA[We had a great time talking at ArrrrCamp last week. It&#8217;s a kinda technical mambo-jambo thing, but it was really nice! We talked about RESTfulX, an unbelievable stronghold! We went nitty-gritty and had a LIVE coding-session!! Up yours Murphy!
More info about our topic after the jump&#8230; ( clique-clique! )

view our slide + code page ( [...]]]></description>
			<content:encoded><![CDATA[<p>We had a great time talking at <a href="http://arrrrcamp.be" target="_blank">ArrrrCamp</a> last week. It&#8217;s a kinda technical mambo-jambo thing, but it was really nice! We talked about RESTful<sup>X</sup>, an unbelievable stronghold! We went nitty-gritty and had a <strong>LIVE</strong> coding-session!! Up yours <a href="http://en.wikipedia.org/wiki/Murphy%27s_law" target="_blank">Murphy</a>!</p>
<p>More info about our topic after the jump&#8230; (<em> clique-clique!</em> )</p>
<p><img class="alignnone size-full wp-image-588 slideshow" title="skull-and-masks" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/skull-and-masks.jpg" alt="skull-and-masks" width="490" height="340" /><span id="more-585"></span><img class="alignnone size-medium wp-image-587 slideshow" title="logo" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/logo.jpg" alt="logo" width="490" height="340" /><img class="alignnone size-full wp-image-614 slideshow" title="br4m" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/br4m.jpg" alt="br4m" width="490" height="340" /><img class="alignnone size-full wp-image-586 slideshow" title="lets get it on" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/blackbear.jpg" alt="lets get it on" width="490" height="340" /><img class="alignnone size-full wp-image-596 slideshow" title="s1m0n" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/s1m0n.jpg" alt="s1m0n" width="490" height="340" /><img class="alignnone size-full wp-image-597 slideshow" title="le-fin" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/le-fin.jpg" alt="le-fin" width="490" height="340" /></p>
<p><a href="http://from.mrhenry.be/withlove/arrrrcamp">view our slide + code page</a> ( <em>cool dev&#8217;s only! hehe</em> )</p>
<h3>RESTful<sup>X</sup></h3>
<p><a href="http://restfulx.org/">RESTful<sup>X</sup></a> is a wonderful framework for Flex/Air which allows you to communicate with RESTful backends like <a href="http://rubyonrails.org">Rails</a>, <a href="http://couchdb.apache.org/">CouchDB</a> and many others. The framework is somewhat modeled after Rails as it uses ActiveRecord like model objects. It also separates the MVC layers very nicely.</p>
<p>From the backend&#8217;s perspective (we use Rails) you just send some (f)XML or <a href="http://media.canada.com/8c8b3290-2b08-4dc6-8e3e-2cc645fdfe05/061208_brandonwalsh.jpg" target="_blank">JSON</a> in response to the CRUD actions (including #index and #show) just like you would with any RESTful controller. Most of the time the standard controller scaffolds will do just fine.</p>
<h3>Factoids</h3>
<p>Let us take this opportunity to list some factoids about pirates and their traditions ( great fun! )</p>
<ul>
<li>the flag aboard a ship is called &#8216;Jolly Roger&#8217;. It comes in all kinds of different colors and figures, but the most famous one is ofcourse (<em> thank you Johnny Depp </em>) skull &amp; bones, on a black background. That being very scary, sea merchants were happy if the flag wasn&#8217;t red, because that meant the pirates wouldn&#8217;t show any mercy&#8230; That&#8217;s also probably where the word &#8216;Jolly Roger&#8217; came from. From the french &#8216;Jolie Rouge&#8217; or &#8216;Pretty Red&#8217;&#8230; <a href="http://en.wikipedia.org/wiki/Jolly_Roger" target="_blank">More</a></li>
<li>the ship of a pirate could be about everything, the most important thing was that she ( yea, it&#8217;s a she ) would be able to move swiftly and precise, and attack quick. Now, they don&#8217;t just build a pirate-boat and pirates sure as hell won&#8217;t buy a boat. So in those days, the most common thing was to steal one. This could be anything that floats, they would add features. Think of pirates like the first tuning-people ( hold the spoilers, neon-light and spinners&#8230; hello cannons, extra sails etc&#8230; )</li>
</ul>
<p>Post your pirate-facts below! ( and also anything about the actual arrrrcamp / restful x stuff : )</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/05/shiver-me-timbers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
