<?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; Sharing</title>
	<atom:link href="http://blog.mrhenry.be/category/sharing/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>Moving heaven and earth uhr.. office!</title>
		<link>http://blog.mrhenry.be/2010/03/moving-heaven-and-earth-uhr-office/</link>
		<comments>http://blog.mrhenry.be/2010/03/moving-heaven-and-earth-uhr-office/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 11:56:29 +0000</pubDate>
		<dc:creator>hans</dc:creator>
				<category><![CDATA[Mr. Henry]]></category>
		<category><![CDATA[Sexual Thrills]]></category>
		<category><![CDATA[Sharing]]></category>
		<category><![CDATA[antwerp]]></category>
		<category><![CDATA[confetti]]></category>
		<category><![CDATA[gpps]]></category>
		<category><![CDATA[invitation]]></category>
		<category><![CDATA[moving]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=1363</guid>
		<description><![CDATA[So yeah, how to start this one&#8230; ? Maybe chronological? : ) Here goes! A few years ago, 3 and ¾ to be exact, we started our little shop of hopes and dreams in a house in Antwerp&#8230;

the beginning
It was a great place, and boy, if those walls could speak! Birthday parties, barbecue in the [...]]]></description>
			<content:encoded><![CDATA[<p>So yeah, how to start this one&#8230; ? Maybe chronological? : ) Here goes! A few years ago, <em>3 and ¾ to be exact</em>, we started our little shop of hopes and dreams in a house in Antwerp&#8230;</p>
<h3><img class="alignnone size-full wp-image-1384" title="introoo" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/introoo.jpg" alt="" width="490" height="340" /><span id="more-1363"></span></h3>
<h3>the beginning</h3>
<p>It was a great place, and boy, if those walls could speak! Birthday parties, barbecue in the summertime, late-night-coding-sessions, &#8230; and of course some kick-ass working! ^^</p>
<p>Our wolfpack started with 2 lone wolfs, around 2006. We were looking for some interesting wolves to add to our pack. We found them and our little love-nest got too small after a while. So on the 1st of March 2010, we officially moved from our trusty beacon in the south of Antwerp, to a really nice place, located more in the heart of Antwerp. Here are some images of us packing up our stuff.</p>
<p><img class="alignnone size-full wp-image-1413 slideshow" title="bell" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/bell.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1390 slideshow" title="old_4" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/old_4.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1388 slideshow" title="old_2" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/old_2.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1387 slideshow" title="old_1" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/old_1.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1389 slideshow" title="old_3" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/old_3.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1391 slideshow" title="old_5" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/old_5.jpg" alt="" width="490" height="340" /></p>
<h3>the move</h3>
<p>The new place is still getting the final works done by us, so here are some random impressions and some feet on our new floor ( we simply LOVE our floor, it&#8217;s the best!! ).</p>
<p><img class="alignnone size-full wp-image-1409 slideshow" title="new_9" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_9.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1406 slideshow" title="new_6" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_6.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1405 slideshow" title="new_5" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_5.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1407 slideshow" title="new_7" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_7.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1410 slideshow" title="new_8" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_81.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1399 slideshow" title="new_1" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_1.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1400 slideshow" title="new_2" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_2.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1402 slideshow" title="new_3" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_3.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1403 slideshow" title="new_4" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/new_4.jpg" alt="" width="490" height="340" /></p>
<h3>the party</h3>
<p>Moving means celebrating! So we did, you can check those pictures out on our <a href="http://www.flickr.com/photos/mrhenry/sets/72157623527035959/">flickr-page</a>. We made a nice little slow-motion booth to boot! It was great fun, and we also made a quick edit. Hope you spot yourself!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="490" height="276" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=10290496&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="490" height="276" src="http://vimeo.com/moogaloop.swf?clip_id=10290496&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>the invitation</h3>
<p>for the party, we also made an invitation, how else are you going to let people know? So yeah, here it is, there are some <a href="http://www.flickr.com/photos/mrhenry/sets/72157623521299895/">folding-it-open pictures</a> on flickr, and also <a href="http://www.flickr.com/photos/mrhenry/sets/72157623503295748/">a making-of</a>&#8230; We had a lot of fun folding every little confetti-bomb ^^</p>
<p><img class="alignnone size-full wp-image-1427 slideshow" title="invitation_3" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/invitation_3.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1428 slideshow" title="invitation_4" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/invitation_4.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1429 slideshow" title="invitation_5" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/invitation_5.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1430 slideshow" title="invitation_6" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/invitation_6.jpg" alt="" width="490" height="340" /><img class="alignnone size-full wp-image-1431 slideshow" title="invitation_7" src="http://blog.mrhenry.be/wp-content/uploads/2010/03/invitation_7.jpg" alt="" width="490" height="340" /></p>
<h3>the conclusion</h3>
<p>To end this post, we just want to say that we are really happy in the new office! Mr. Henry hopes to see you soon, for <a href="mailto:hello@mrhenry.be?subject=it is for the work (and the coffee too)">work</a> or coffee! ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2010/03/moving-heaven-and-earth-uhr-office/feed/</wfw:commentRss>
		<slash:comments>0</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>Sweet Sixteen</title>
		<link>http://blog.mrhenry.be/2009/12/sweet-sixteen/</link>
		<comments>http://blog.mrhenry.be/2009/12/sweet-sixteen/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 07:30:25 +0000</pubDate>
		<dc:creator>hans</dc:creator>
				<category><![CDATA[Sharing]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[antwerp]]></category>
		<category><![CDATA[hello]]></category>
		<category><![CDATA[low impact]]></category>
		<category><![CDATA[skin]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=1220</guid>
		<description><![CDATA[We were approached by Astrid Anquetil ( low impact girl ) and her mommy concerning her 2 year lasting quest for low impact-ness. We fully support the idea of showing people alternative ways of being low impact, instead of taking cold showers with a bucket of water in &#8216;putteke winter&#8217;. Read up on her blog, [...]]]></description>
			<content:encoded><![CDATA[<p>We were approached by Astrid Anquetil ( <em>low impact girl </em>) and her <span class="mommy">mommy</span> concerning her 2 year lasting quest for low impact-ness. We fully support the idea of showing people alternative ways of being low impact, instead of taking cold showers with a bucket of water in &#8216;putteke winter&#8217;. Read up on her <a href="http://www.lowimpactgirl.be">blog</a>, follow her during her voyage. More info about the how and how, after the jump.</p>
<p><img class="alignnone size-full wp-image-1217 slideshow" title="one" src="http://blog.mrhenry.be/wp-content/uploads/2009/11/one.jpg" alt="one" width="490" height="340" /><span id="more-1220"></span><img class="alignnone size-full wp-image-1219 slideshow" title="two" src="http://blog.mrhenry.be/wp-content/uploads/2009/11/two.jpg" alt="two" width="490" height="340" /><img class="alignnone size-full wp-image-1218 slideshow" title="three" src="http://blog.mrhenry.be/wp-content/uploads/2009/11/three.jpg" alt="three" width="490" height="340" /><img class="alignnone size-full wp-image-1216 slideshow" title="four" src="http://blog.mrhenry.be/wp-content/uploads/2009/11/four.jpg" alt="four" width="490" height="340" /></p>
<p>Please visit <a href="http://www.lowimpactgirl.be">lowimpactgirl.be</a> to know what we&#8217;re talking about ^^</p>
<p>What do you do for a (six)teener who wants a website that reflects her inner-self, and could last 2 years? Yup, you draw some pretty figures, use a lot of soft, girly colors, and place them all on one page. The site actually has a count<strong>up</strong>! Instead of a countdown! Her project ends on the 30th of june, 2011. During this period, she will embrace different &#8220;zones&#8221;, (<em> fashion, travel, &#8230;</em> ). The first zone is <strong>fashion</strong>, watch her work her magic.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1228" style="border: 0px;" title="date" src="http://blog.mrhenry.be/wp-content/uploads/2009/11/date.gif" alt="date" width="400" height="100" /></p>
<p>Each post has a day numbered. When the project is completed, a lot of this content will appear in a book, and by using the days as a marker, it&#8217;s double easy for her to write that novel!</p>
<p>Like the modern, social person that she is, you can <a href="http://twitter.com/lowimpactgirl">follow her</a>, <a href="http://www.flickr.com/photos/44895633@N08/">stalk her</a> and <a href="http://www.facebook.com/lowimpactgirl">talk to her</a>! The logo-stamp was created by <a href="http://www.jurgenmaelfeyt.be">Jurgen Maelfeyt</a>, everything else by us.</p>
<h3>a wee-bit technical</h3>
<p>At Mr. Henry, we love to work with the <a href="http://blog.mrhenry.be/?s=wordpress">WordPress</a> platform. So much actually, that we&#8217;ve made our own custom element within the existing system. It&#8217;s not thàt <a href="http://www.odditycentral.com/pics/japanese-neon-lamp-fights.html">mindblowing</a>, but it&#8217;s easier and more fun for us to work with.</p>
<p><img class="size-full wp-image-1249 alignnone slideshow" title="wp-custom-1" src="http://blog.mrhenry.be/wp-content/uploads/2009/11/wp-custom-1.jpg" alt="wp-custom-1" width="490" height="340" /><img class="alignnone size-full wp-image-1250 slideshow" title="wp-custom-2" src="http://blog.mrhenry.be/wp-content/uploads/2009/11/wp-custom-2.jpg" alt="wp-custom-2" width="490" height="340" /></p>
<p>It&#8217;s just something we&#8217;ve been working on, and in the future, you can expect a separate post about this. &#8220;<em>It really kicks</em> the llama&#8217;s ass!&#8221;</p>
<p>And oh yes, THANK YOU ASTRID FOR THE <a href="http://www.flickr.com/photos/mrhenry/sets/72157622904642834/">SITE-LAUNCH-PIE</a>!! <strong>UH-UH-HMMMMMMM</strong></p>
<p><strong><img class="alignnone size-full wp-image-1276" title="pie" src="http://blog.mrhenry.be/wp-content/uploads/2009/12/pie.jpg" alt="pie" width="490" height="340" /></strong></p>
<p>Thanks for your attention!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/12/sweet-sixteen/feed/</wfw:commentRss>
		<slash:comments>2</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>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>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>Drobo time!</title>
		<link>http://blog.mrhenry.be/2009/05/drobo-time/</link>
		<comments>http://blog.mrhenry.be/2009/05/drobo-time/#comments</comments>
		<pubDate>Thu, 28 May 2009 15:13:08 +0000</pubDate>
		<dc:creator>hans</dc:creator>
				<category><![CDATA[Sharing]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[drobo]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[supercell]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=674</guid>
		<description><![CDATA[Mr. Henry bought a new backup solution: a Drobo. A Dro-what?]]></description>
			<content:encoded><![CDATA[<p>Woowiewawie! Let&#8217;s explain the situation first&#8230; Tuesday-night we had a <a href="http://en.wikipedia.org/wiki/Supercell">Supercell</a>-storm above our heads ( 30.000 lightning charges, where about 10.000 actually hit earth!  ). Anyway, we lost some of our back-up drives in this petite apocalypse &#8230; so it was time to go out and find a better-stronger-faster and above all sexy solution!</p>
<p><img class="alignnone size-full wp-image-675 slideshow" title="1" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/1.jpg" alt="1" width="490" height="340" /><span id="more-674"></span><img class="alignnone size-full wp-image-676 slideshow" title="2" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/2.jpg" alt="2" width="490" height="340" /><img class="alignnone size-full wp-image-677 slideshow" title="3" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/3.jpg" alt="3" width="490" height="340" /><img class="alignnone size-full wp-image-683 slideshow" title="9" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/9.jpg" alt="9" width="490" height="340" /><img class="alignnone size-full wp-image-680 slideshow" title="6" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/6.jpg" alt="6" width="490" height="340" /><img class="alignnone size-full wp-image-681 slideshow" title="7" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/7.jpg" alt="7" width="490" height="340" /><img class="alignnone size-full wp-image-684 slideshow" title="10" src="http://blog.mrhenry.be/wp-content/uploads/2009/05/10.jpg" alt="10" width="490" height="340" /></p>
<p>After some soulsearching and tweets, we found <a href="http://www.drobo.com">Drobo</a>, the world&#8217;s first storage robot ( as they say ). It has all the features we needed as a small company and it manages to look pretty slick to!  At the moment we have a whopping 8TB running in <a href="http://www.drobo.com/resources/beyondraid.php">Beyond Raid</a>, formatted in ext3 and attached to our Ubuntu fileserver using <a href="http://en.wikipedia.org/wiki/ISCI">iSCI</a>.</p>
<p>What it means in plain english is: we can pull one drive out and replace it with a new drive when bigger drives hit the shops, or when one decides to fail ( like 3 out of 3 Lacie Ethernet disks did in the last three years at the office here ).</p>
<p>As we speak we are rsyncing everything.</p>
<p>We&#8217;re still looking for a name for our new pet! Any suggestions?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/05/drobo-time/feed/</wfw:commentRss>
		<slash:comments>6</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>
		<item>
		<title>Black Part Love</title>
		<link>http://blog.mrhenry.be/2009/01/black-part-love/</link>
		<comments>http://blog.mrhenry.be/2009/01/black-part-love/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 23:47:25 +0000</pubDate>
		<dc:creator>yves</dc:creator>
				<category><![CDATA[Sharing]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[cover]]></category>
		<category><![CDATA[ep]]></category>
		<category><![CDATA[selah sue]]></category>

		<guid isPermaLink="false">http://blog.mrhenry.be/?p=323</guid>
		<description><![CDATA[Our love goes out to Selah Sue, the wonderful voice of Leuven! We did concept,  photography, design, &#8230; on her first EP. She wanted a &#8220;kinda dark&#8221; feeling surrounding it. Buy it now you lovely people, also check her temporary one-pager! One Love, bombaklah! ( a myspace for now, a website for her next christmas [...]]]></description>
			<content:encoded><![CDATA[<p>Our love goes out to Selah Sue, the wonderful voice of Leuven! We did concept,  photography, design, &#8230; on her first EP. She wanted a &#8220;kinda dark&#8221; feeling surrounding it. Buy it now you lovely people, also check her temporary one-pager! One Love, bombaklah! ( a myspace for now, a website for her next christmas )</p>
<p><img class="alignnone size-full wp-image-449 slideshow" title="center of ep" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/holding-center.jpg" alt="center of ep" width="490" height="340" /><span id="more-323"></span><img class="alignnone size-full wp-image-454 slideshow" title="holding-blue1" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/holding-blue1.jpg" alt="holding-blue1" width="490" height="340" /><img class="alignnone size-full wp-image-475 slideshow" title="holding-back-blue1" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/holding-back-blue1.jpg" alt="holding-back-blue1" width="490" height="340" /><img class="alignnone size-full wp-image-459 slideshow" title="render-left1" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/render-left1.jpg" alt="render-left1" width="490" height="340" /><img class="alignnone size-full wp-image-457 slideshow" title="render-right" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/render-right.jpg" alt="render-right" width="490" height="340" /></p>
<p>Mr. Henry loves to share, so what follows is how we made this cover, from the ground up! ( after the proposal getting approved of course, out of 3 proposals&#8230; )</p>
<h3>Step 1: photography</h3>
<p>We did all the photography, knowing we wanted to build 3D letters on a wall, and used a dark backside to create some contrast&#8230; Initially, the inside was also going to be a mix between photo and 3D, but ended up as a 3D render because of the tight timeframe.</p>
<p><img class="alignnone size-full wp-image-392 slideshow" title="selah sue #1" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/wall1.jpg" alt="selah sue #1" width="490" height="340" /><img class="alignnone size-full wp-image-399 slideshow" title="selah sue #2" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/pic1.jpg" alt="selah sue #2" width="490" height="340" /><img class="alignnone size-full wp-image-398 slideshow" title="selah sue #3" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/pic2.jpg" alt="selah sue #3" width="490" height="340" /><img class="alignnone size-full wp-image-415 slideshow" title="selah sue #4 ( funny )" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/pic4-funny.jpg" alt="selah sue #4 ( funny )" width="490" height="340" /></p>
<p>All pictures were taken in Brussels, Beursschouwburg ( on that one day in Belgium when ALL public transport was down, and the centre of Brussels was filled with people on strike.. Hello 3-hour drive-what-was-supposed-to-be-25-minutes )</p>
<h3>Step 2: building the letters</h3>
<p>We&#8217;ve built the entire letter composition in illustrator. Each &#8220;cube&#8221; of text is a separate file. We then composed a parent file, that had all the “cubes&#8221;, and we drew a box around each cube, making it look like every word is placed inside a box. The entire box needed to be a compound shape, because when we want to extrude everything ( that&#8217;s a 3D term yeah yeah ), you can&#8217;t have seperate objects, it looks like crap. So compound that shape, and make sure nothing overlaps!!! ( cfr. image 4 ). Pretty tiring process, a lot of trial and error&#8230;</p>
<p><img class="alignnone size-full wp-image-385 slideshow" title="layout-cd-cover-outlines-5" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/layout-cd-cover-outlines-5.jpg" alt="layout-cd-cover-outlines-5" width="490" height="340" /><img class="alignnone size-full wp-image-386 slideshow" title="layout-cd-cover-outlines-4" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/layout-cd-cover-outlines-4.jpg" alt="layout-cd-cover-outlines-4" width="490" height="340" /><img class="alignnone size-full wp-image-387 slideshow" title="layout-cd-cover-outlines3" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/layout-cd-cover-outlines3.jpg" alt="layout-cd-cover-outlines3" width="490" height="340" /><img class="alignnone size-full wp-image-388 slideshow" title="layout-cd-cover-outlines-overlapsing" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/layout-cd-cover-outlines-overlapsing.jpg" alt="layout-cd-cover-outlines-overlapsing" width="490" height="340" /></p>
<h3>Step 3: let&#8217;s go 3D!</h3>
<p>When the letters are finished, we need to make everything &#8220;real&#8221;&#8230; Basically, one needs to find the perfect lighting and environment settings. And then it&#8217;s just pressing a button. But of course, we had some problems on the way. For one, the overlapping ( as you can see in the outline-view above ) is a scary sight! We then aligned the scene with the perspective in our final picture.</p>
<p><img class="alignnone size-full wp-image-500 slideshow" title="viewport_inside_render_setup_v002" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/viewport_inside_render_setup_v002.jpg" alt="viewport_inside_render_setup_v002" width="490" height="340" /><img class="alignnone size-full wp-image-499 slideshow" title="viewport_grab_wire_" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/viewport_grab_wire_.jpg" alt="viewport_grab_wire_" width="490" height="340" /><img class="alignnone size-full wp-image-383 slideshow" title="render2" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/render2.jpg" alt="render2" width="490" height="340" /><img class="alignnone size-full wp-image-498 slideshow" title="render_scanline_picture_" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/render_scanline_picture_.jpg" alt="render_scanline_picture_" width="490" height="340" /><img class="alignnone size-full wp-image-384 slideshow" title="render1" src="http://blog.mrhenry.be/wp-content/uploads/2009/03/render1.jpg" alt="render1" width="490" height="340" /></p>
<h3>Step 4: comp everything together!</h3>
<p>The final result! Throw everything into photoshop, and paint away&#8230; Sold exclusively on her concerts, not in stores ( too bad for all the fans! ) And oh yeah, here&#8217;s <a href="http://www.myspace.com/selahsuemusic" target="_blank">her myspace</a>!</p>
<p><img class="alignnone size-full wp-image-333" style="border: 5px solid #272727; margin-left: -5px;" title="selah-front-square" src="http://blog.mrhenry.be/wp-content/uploads/2009/01/selah-front-square.jpg" alt="selah-front-square" width="490" height="490" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mrhenry.be/2009/01/black-part-love/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
