<?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>Emmer Inc</title>
	<atom:link href="http://blog.emmerinc.be/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.emmerinc.be</link>
	<description>Tales from a .NET developer who's making the jump to the iPhone &#38; App Store wonderland.</description>
	<lastBuildDate>Wed, 23 Jun 2010 20:57:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>My Viking version 1.0.2 is available</title>
		<link>http://blog.emmerinc.be/index.php/2010/06/23/my-viking-version-1-0-2-is-available/</link>
		<comments>http://blog.emmerinc.be/index.php/2010/06/23/my-viking-version-1-0-2-is-available/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:57:28 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Emmer Inc]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=775</guid>
		<description><![CDATA[Yesterday Apple reviewed and approved the My Viking 1.0.2 update. It has been in the App Store for a day and I thought I&#8217;d post the change log, as most people are swamped with iOS4 support updates &#038; don&#8217;t read the update descriptions.
Call history

Call history displays hours when the duration of a call or data [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday Apple reviewed and approved the <a href="http://itunes.apple.com/be/app/my-viking/id374211444">My Viking 1.0.2 update</a>. It has been in the App Store for a day and I thought I&#8217;d post the change log, as most people are swamped with iOS4 support updates &#038; don&#8217;t read the update descriptions.</p>
<p><strong>Call history</strong></p>
<ul>
<li>Call history displays hours when the duration of a call or data session is longer than 1 hour. Example: 67:01 becomes 1:07:01</li>
<li>Fixed issue where the duration of calls was equal to the sum of the call and the time the phone rang instead of only the call duration.</li>
<li>Fixed issue where scrolling through the list caused free texts/data sessions to show a cost.</li>
</ul>
<p><strong>Analysis</strong></p>
<ul>
<li>When more than 1000 text messages are left in the bundle, because the bundle was topped up before the previous bundle expired. The text messages prediction is hidden because we can not make a reasonable prediction in this specific case.</li>
<li>Improved display of data sizes smaller than 1MB. Example: 0,6MB is shown instead of ,6MB</li>
</ul>
<p>With this &#8220;bugfix&#8221; update available I can start working on some real improvements &#038; new features. I still haven&#8217;t decided yet, but the next version could be a iOS4 only update. </p>
<p>As always progress &#038; related news can be followed on <a href="http://twitter.com/myvikingapp">Twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2010/06/23/my-viking-version-1-0-2-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting NSData to NSString and vice versa</title>
		<link>http://blog.emmerinc.be/index.php/2010/06/23/converting-nsdata-to-nsstring-and-vice-versa/</link>
		<comments>http://blog.emmerinc.be/index.php/2010/06/23/converting-nsdata-to-nsstring-and-vice-versa/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:40:19 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Cocoa Touch]]></category>
		<category><![CDATA[NSData]]></category>
		<category><![CDATA[NSString]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=767</guid>
		<description><![CDATA[Since I always forget how to convert a NSData object to NSString and vice versa, I thought I&#8217;d write it down as a reference. Every time I work with a REST service and need to know what response I&#8217;m receiving, before handing the NSData object to a NSXMLParser, I&#8217;m always dumbfounded that I&#8217;ve forgotten how [...]]]></description>
			<content:encoded><![CDATA[<p>Since I always forget how to convert a NSData object to NSString and vice versa, I thought I&#8217;d write it down as a reference. Every time I work with a REST service and need to know what response I&#8217;m receiving, before handing the NSData object to a NSXMLParser, I&#8217;m always dumbfounded that I&#8217;ve forgotten how to do the conversion.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">// From NSString to NSData</span>
<span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>text <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Some string&quot;</span>;
<span style="color: #400080;">NSData</span> <span style="color: #002200;">*</span>data <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>text dataUsingEncoding<span style="color: #002200;">:</span>NSUTF8StringEncoding<span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #11740a; font-style: italic;">// From NSData to NSString</span>
<span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>text <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSString</span> alloc<span style="color: #002200;">&#93;</span> initWithData<span style="color: #002200;">:</span>data encoding<span style="color: #002200;">:</span>NSUTF8StringEncoding<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>Who knows if it helps some one else.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2010/06/23/converting-nsdata-to-nsstring-and-vice-versa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Viking version 1.0.1 is on its way</title>
		<link>http://blog.emmerinc.be/index.php/2010/06/06/my-viking-version-1-0-1-is-on-its-way/</link>
		<comments>http://blog.emmerinc.be/index.php/2010/06/06/my-viking-version-1-0-1-is-on-its-way/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 14:45:30 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Emmer Inc]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[My Viking]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=753</guid>
		<description><![CDATA[As some of you have read on Twitter, an update of My Viking has been sent to Apple yesterday evening. Well actually today early in the morning, to be more precise. This update mainly contains bug fixes &#038; several small improvements. I chose not to introduce any big features in this version, so I could [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you have read on <a href="http://twitter.com/myvikingapp">Twitter</a>, an update of My Viking has been sent to Apple yesterday evening. Well actually today early in the morning, to be more precise. This update mainly contains bug fixes &#038; several small improvements. I chose not to introduce any big features in this version, so I could get it off to Apple as soon as possible, less than a week after the initial release of the first version.</p>
<p>Here&#8217;s the change log:</p>
<p><strong>General</strong></p>
<ul>
<li>Added support for older firmwares, iPhone OS 3.0 and onwards.</li>
<li>Improved French translations.</li>
<li>When wrong credentials are filled in, an error message is shown saying the username and/or password is wrong.</li>
</ul>
<p><strong>Main screen</strong></p>
<ul>
<li>Improved display of remaining time in main screen, now shows remaining hours when less than 1 day is left.</li>
</ul>
<p><strong>Analysis</strong></p>
<ul>
<li>Solved issue related to having more than 1000 text messages in the bundle.</li>
<li>Solved rounding issue related to calculating how many minutes and/or text messages can be called/sent.</li>
</ul>
<p><strong>Call history</strong></p>
<ul>
<li>Call history now displays how many KB&#8217;s/MB&#8217;s where used for data connections as well as a duration.</li>
<li>Minor improvement related to display of names.</li>
<li>Solved issue causing dates to be displayed as (null) when AM/PM mode was chosen.</li>
</ul>
<p>Although updates should get approved relatively faster than new applications, I don&#8217;t foresee it getting approved any sooner than a week. As <a href="http://developer.apple.com/wwdc/">WWDC</a> is starting tomorrow &#038; I&#8217;m sure that&#8217;ll slow things down a bit. Once it gets approved I&#8217;ll make it available in the Dutch &#038; American stores.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2010/06/06/my-viking-version-1-0-1-is-on-its-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Viking available in the Belgian AppStore</title>
		<link>http://blog.emmerinc.be/index.php/2010/06/02/my-viking-available-in-the-belgian-appstore/</link>
		<comments>http://blog.emmerinc.be/index.php/2010/06/02/my-viking-available-in-the-belgian-appstore/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 12:32:27 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Emmer Inc]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[My Viking]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=733</guid>
		<description><![CDATA[It took Apple longer than expected, 9 days to be exact, but My Viking has been approved without any issues. Be sure to give it a try and report any bugs/issues using the in-app mail button or as comments on the blog. That way bugs/issues can be ironed out in version 1.0.1 which should be [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.emmerinc.be/wp-content/uploads/2010/06/MyViking-150x150.png" alt="" title="MyViking" width="150" height="150" class="alignleft size-thumbnail wp-image-739" />It took Apple longer than expected, 9 days to be exact, but My Viking has been approved without any issues. Be sure to give it a try and report any bugs/issues using the in-app mail button or as comments on the blog. That way bugs/issues can be ironed out in version 1.0.1 which should be sent off to Apple in the coming days. Don&#8217;t worry though, no critical bugs have been found &#038; it&#8217;s perfectly safe to install this version.</p>
<p>Once the 1.0.1 bug fix version has been released, My Viking will be made available in other stores as well besides the Belgian one. Specifically thinking about the Dutch &#038; American store.</p>
<p>The link to the AppStore can be found <a href="http://itunes.apple.com/be/app/my-viking/id374211444?mt=8">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2010/06/02/my-viking-available-in-the-belgian-appstore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing My Viking</title>
		<link>http://blog.emmerinc.be/index.php/2010/05/27/introducing-my-viking/</link>
		<comments>http://blog.emmerinc.be/index.php/2010/05/27/introducing-my-viking/#comments</comments>
		<pubDate>Thu, 27 May 2010 20:03:31 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Emmer Inc]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[My Viking]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=702</guid>
		<description><![CDATA[After a long absence in the AppStore I can joyfully announce that a new application has been submitted to Apple and should get approved any time now. The new application called My Viking is an app targeted at customers of the Belgian Mobile Vikings mobile phone operator. It allows customers to check their balance and [...]]]></description>
			<content:encoded><![CDATA[<p>After a long absence in the AppStore I can joyfully announce that a new application has been submitted to Apple and should get approved any time now. The new application called My Viking is an app targeted at customers of the Belgian <a href="http://www.mobilevikings.com">Mobile Vikings</a> mobile phone operator. It allows customers to check their balance and consult the call/top-up history. All of this in a clean interface based on the default iPhone OS look &#038; feel. Did I mention the app will be a free download and has English, Dutch &#038; French localization?</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2010/05/Balance.png"><img src="http://blog.emmerinc.be/wp-content/uploads/2010/05/Balance.png" alt="My Viking balance screen" title="Balance" width="320" height="460" class="aligncenter size-full wp-image-715" /></a></p>
<p>Although several similar applications are available in the AppStore, I still pulled through and made the app since scratching your itch is a great way of making a good product. </p>
<p>My Viking has some distinguishing features, multiple accounts support being one of them. I won&#8217;t ask why you need it, whether to check your iPhone and iPad balance or to spy on your significant other, just know you can.</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2010/05/Accounts.png"><img src="http://blog.emmerinc.be/wp-content/uploads/2010/05/Accounts.png" alt="My Viking accounts screen" title="Accounts" width="320" height="200" class="aligncenter size-full wp-image-710" /></a></p>
<p>Another obvious feature, which surprisingly no other Mobile Vikings iPhone app to my knowledge has, is the cross-referencing of numbers in the call history with the iPhones address book. Instead of showing the phone number, the contacts name is displayed when found in the address book.</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2010/05/CallHistory.png"><img src="http://blog.emmerinc.be/wp-content/uploads/2010/05/CallHistory.png" alt="My Viking call history screen" title="Call history" width="320" height="200" class="aligncenter size-full wp-image-713" /></a></p>
<p>The last distinguishing feature is the analysis screen, this screen tries to give some meaning to your remaining balance by showing how many minutes you can call and/or text messages you can send. It also makes a prediction how many/much text messages and data you&#8217;ll have left at the end of the bundle. So you know whether to step up your text messaging rate or start slowing down.</p>
<p>While there are certainly some areas where the app can be improved, the call history only displays today for instance, this 1.0 release is &#8220;good enough&#8221; &#038; postponing the release even more made no sense. The core functionality is implemented and I intend to improve/extend the app whenever I have time. Suggestions, questions and bugs may be mailed to me using the appropriate button in the extra screen.</p>
<p>When the app gets approved, I&#8217;ll post a new post with the link. [Edit: it's available, see next blog post]<br />
My Viking can also be followed on Twitter: <a href="http://twitter.com/myvikingapp">@myvikingapp</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2010/05/27/introducing-my-viking/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Keeping your UITableViewController clean</title>
		<link>http://blog.emmerinc.be/index.php/2010/04/03/keeping-your-uitableviewcontroller-clean/</link>
		<comments>http://blog.emmerinc.be/index.php/2010/04/03/keeping-your-uitableviewcontroller-clean/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 19:01:27 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Cocoa Touch]]></category>
		<category><![CDATA[protocol]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[UITableView]]></category>
		<category><![CDATA[UITableViewController]]></category>
		<category><![CDATA[YCSectionController]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=677</guid>
		<description><![CDATA[We&#8217;ve all done it, admit it, we&#8217;ve all written enormous if structures in the datasource/delegate methods of a table. It got the job done, but ever needed to change the order of the sections or needed to add/remove some rows? Things get out of hand very easily when the appearance and behavior of rows is [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve all done it, admit it, we&#8217;ve all written enormous if structures in the datasource/delegate methods of a table. It got the job done, but ever needed to change the order of the sections or needed to add/remove some rows? Things get out of hand very easily when the appearance and behavior of rows is varying. Indeed, these if structures are horrible maintenance-wise. Granted, tutorials often focus on showing some specific functionality and leave the refactoring to the reader, so aspiring iPhone developers often don&#8217;t know any better.</p>
<p>Here&#8217;s a way to keep your UITableViewController (or any other view controller or class your using as datasource or delegate) clean, this approach is aimed at tables with multiple sections. Tables with 1 section have limited benefit of using this approach although extra sections could be easily added later. The key is to move all the logic for a specific section in a table to its own class, which is responsible for his own rows and nothing more.</p>
<p>To achieve this we create a protocol called YCSectionController:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">@protocol</span> YCSectionController
&nbsp;
@required
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>table numberOfRowsInSection<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>section;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>UITableViewCell <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView cellForRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath;
&nbsp;
@optional
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView didSelectRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath;
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView titleForHeaderInSection<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>section;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView titleForFooterInSection<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>section;
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>This protocol will be used to specify to which methods a custom section controller must conform. Each custom section controller has knowledge about the amount of rows &#038; how to display each row, these are the required methods. Extra methods can be added like what to do when a row is selected for instance. Depending on the appearance of the section &#038; the desired behavior each custom section controller class implements the necessary methods.</p>
<p>The YCHeaderSectionController implementation below shows a minimal implementation.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">@implementation</span> YCHeaderSectionController
&nbsp;
<span style="color: #6e371a;">#pragma mark YCSectionController methods</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>table numberOfRowsInSection<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>section <span style="color: #002200;">&#123;</span>
	<span style="color: #a61390;">return</span> <span style="color: #2400d9;">1</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>UITableViewCell <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView cellForRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath <span style="color: #002200;">&#123;</span>
	<span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>cellIdentifier <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;HeaderCell&quot;</span>;
&nbsp;
	UITableViewCell <span style="color: #002200;">*</span>cell <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span>UITableViewCell<span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span>tableView dequeueReusableCellWithIdentifier<span style="color: #002200;">:</span>cellIdentifier<span style="color: #002200;">&#93;</span>;
    <span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>cell <span style="color: #002200;">==</span> <span style="color: #a61390;">nil</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
		cell <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UITableViewCell alloc<span style="color: #002200;">&#93;</span> initWithStyle<span style="color: #002200;">:</span>UITableViewCellStyleDefault reuseIdentifier<span style="color: #002200;">:</span>cellIdentifier<span style="color: #002200;">&#93;</span> autorelease<span style="color: #002200;">&#93;</span>;
		cell.accessoryType <span style="color: #002200;">=</span> UITableViewCellAccessoryDisclosureIndicator;
	<span style="color: #002200;">&#125;</span>
&nbsp;
	<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>indexPath.row <span style="color: #002200;">==</span> <span style="color: #2400d9;">0</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
		cell.textLabel.text <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Yannick Compernol&quot;</span>;
&nbsp;
	<span style="color: #002200;">&#125;</span>
&nbsp;
	<span style="color: #a61390;">return</span> cell;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView didSelectRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath <span style="color: #002200;">&#123;</span>
	<span style="color: #400080;">NSURL</span> <span style="color: #002200;">*</span>url <span style="color: #002200;">=</span> <span style="color: #a61390;">nil</span>;
&nbsp;
	<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>indexPath.row <span style="color: #002200;">==</span> <span style="color: #2400d9;">0</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
		url <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSURL</span> URLWithString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;http://yannick.compernol.be&quot;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#125;</span>
&nbsp;
	<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>url<span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
		<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIApplication sharedApplication<span style="color: #002200;">&#93;</span> openURL<span style="color: #002200;">:</span>url<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#125;</span>
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView titleForHeaderInSection<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>section <span style="color: #002200;">&#123;</span>
	<span style="color: #a61390;">return</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Info&quot;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>One you&#8217;ve made several custom section controllers all you have to is to hook them up in your UITableViewController and dispatch the datasource/delegate methods to the custom section controllers. Note the UITableViewControllers has an array which will hold all the custom section controllers, the array is filled in the ViewDidLoad: method.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">@interface</span> MainTableViewController <span style="color: #002200;">:</span> UITableViewController <span style="color: #002200;">&#123;</span>
	<span style="color: #400080;">NSArray</span> <span style="color: #002200;">*</span>sectionControllers;
<span style="color: #002200;">&#125;</span>
<span style="color: #a61390;">@end</span>
&nbsp;
<span style="color: #a61390;">@implementation</span> MainTableViewController
&nbsp;
...
&nbsp;
<span style="color: #6e371a;">#pragma mark UIViewController methods</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>viewDidLoad <span style="color: #002200;">&#123;</span>
    <span style="color: #002200;">&#91;</span>super viewDidLoad<span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #a61390;">id</span> header <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>YCHeaderSectionController alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">id</span> content <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>YCContentSectionController alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">id</span> footer <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>YCFooterSectionController alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;
&nbsp;
	sectionControllers <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> alloc<span style="color: #002200;">&#93;</span> initWithObjects<span style="color: #002200;">:</span>header, content, footer, <span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #002200;">&#91;</span>header release<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>content release<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>footer release<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
...
&nbsp;
<span style="color: #6e371a;">#pragma mark UITableViewDataSource methods</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>numberOfSectionsInTableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView <span style="color: #002200;">&#123;</span>
	<span style="color: #a61390;">return</span> <span style="color: #002200;">&#91;</span>sectionControllers count<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>table numberOfRowsInSection<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>section <span style="color: #002200;">&#123;</span>
	id&lt;YCSectionController&gt; sectionController <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>sectionControllers objectAtIndex<span style="color: #002200;">:</span>section<span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">return</span> <span style="color: #002200;">&#91;</span>sectionController tableView<span style="color: #002200;">:</span>table numberOfRowsInSection<span style="color: #002200;">:</span>section<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>UITableViewCell <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView cellForRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath <span style="color: #002200;">&#123;</span>
	id&lt;YCSectionController&gt; sectionController <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>sectionControllers objectAtIndex<span style="color: #002200;">:</span>indexPath.section<span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">return</span> <span style="color: #002200;">&#91;</span>sectionController tableView<span style="color: #002200;">:</span>tableView cellForRowAtIndexPath<span style="color: #002200;">:</span>indexPath<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
...
&nbsp;
<span style="color: #6e371a;">#pragma mark UITableViewDelegate methods</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView didSelectRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath <span style="color: #002200;">&#123;</span>
	id&lt;YCSectionController&gt; sectionController <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>sectionControllers objectAtIndex<span style="color: #002200;">:</span>indexPath.section<span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>sectionController respondsToSelector<span style="color: #002200;">:</span><span style="color: #a61390;">@selector</span><span style="color: #002200;">&#40;</span>tableView<span style="color: #002200;">:</span>didSelectRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
		<span style="color: #002200;">&#91;</span>sectionController tableView<span style="color: #002200;">:</span>tableView didSelectRowAtIndexPath<span style="color: #002200;">:</span>indexPath<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#125;</span>	
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>And that is about it, it can be taken further than I showed here, but I think this is a decent starter. The bottom line is that the UITableViewController has less code and the specific code (appearance &#038; behavior) for each section is contained in its own class. Adding to the maintainability of the whole table.</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2010/04/CleanTablesSample.png"><img src="http://blog.emmerinc.be/wp-content/uploads/2010/04/CleanTablesSample.png" alt="" title="Clean Tables Sample" width="320" height="480" class="aligncenter size-full wp-image-686" /></a></p>
<p>A running example (screenshot shown above) can be downloaded <a href='http://blog.emmerinc.be/wp-content/uploads/2010/04/CleanTableViewControllers.zip'>here</a>.  </p>
<p>There&#8217;s only one thing I&#8217;m still struggling with, since id<YCSectionController> does not have a respondsToSelector: method, you&#8217;ll get a warning that respondsToSelector: wasn&#8217;t found in the protocol. An easy fix would be to add it to the protocol, but that doesn&#8217;t feel right as it&#8217;s not part of the behavior I wanted to encapsulate in the section controller. I&#8217;d love to hear your thoughts/comments on this!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2010/04/03/keeping-your-uitableviewcontroller-clean/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Be Tv version 1.3 available</title>
		<link>http://blog.emmerinc.be/index.php/2009/10/16/be-tv-version-1-3-available/</link>
		<comments>http://blog.emmerinc.be/index.php/2009/10/16/be-tv-version-1-3-available/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 21:33:19 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Emmer Inc]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[Be Tv]]></category>
		<category><![CDATA[iTunes]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=654</guid>
		<description><![CDATA[I received a mail from Apple 2 hours ago stating that version 1.3 has been approved, after 12 days. Version 1.3 is starting to show up as an update for existing 1.2 users. Be sure to grab this version as it adds program details and a nicer interface.

Once you have updated the app, hit the [...]]]></description>
			<content:encoded><![CDATA[<p>I received a mail from Apple 2 hours ago stating that version 1.3 has been approved, after 12 days. Version 1.3 is starting to show up as an update for existing 1.2 users. Be sure to grab this version as it adds program details and a nicer interface.</p>
<p><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=309927993&#038;mt=8"><img src="http://blog.emmerinc.be/wp-content/uploads/2009/10/Picture-2.png" alt="Be Tv 1.3 update" title="Be Tv 1.3 update" width="318" height="68" class="aligncenter size-full wp-image-658" /></a></p>
<p>Once you have updated the app, hit the reload button on top of the Now Playing screen to fetch the extended data, which includes program details, if you have already launched the app today. Because Be Tv has already loaded &#038; cached the data, the new version will by default just use the cached data.</p>
<p><strong>Important</strong>: this version requires firmware 3.0 or newer. If you haven&#8217;t updated your iPhone yet, now is the time!</p>
<p>Here&#8217;s the <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=309927993&#038;mt=8">iTunes link</a>.</p>
<p><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=309927993&#038;mt=8"><img src="http://blog.emmerinc.be/wp-content/uploads/2009/10/Detail.jpg" alt="Be Tv 1.3 update detail" title="Be Tv 1.3 update detail" width="320" height="480" class="aligncenter size-full wp-image-661" /></a></p>
<p>If you&#8217;re having issues with the new version, be sure to leave a comment. I already know of 2 (minor) bugs which will be fixed in version 1.3.1, so if you leave a comment, I might be able to squeeze it in the bug-fix version too. Suggestions are also welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2009/10/16/be-tv-version-1-3-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Be Tv and push notifications</title>
		<link>http://blog.emmerinc.be/index.php/2009/10/12/be-tv-and-push-notifications/</link>
		<comments>http://blog.emmerinc.be/index.php/2009/10/12/be-tv-and-push-notifications/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 20:19:43 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Emmer Inc]]></category>
		<category><![CDATA[Be Tv]]></category>
		<category><![CDATA[push notifications]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=633</guid>
		<description><![CDATA[Having avoided the issue for a while now, I feel it is appropriate to air my take on push notifications in Be Tv. I have given this quite some thought and have come to the conclusion that I will not implement these in Be Tv, for one main reason.
Regardless of Be Tv, push notifications are [...]]]></description>
			<content:encoded><![CDATA[<p>Having avoided the issue for a while now, I feel it is appropriate to air my take on push notifications in Be Tv. I have given this quite some thought and have come to the conclusion that I will not implement these in Be Tv, for one main reason.</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2009/10/apple-push-notification-service.jpg"><img src="http://blog.emmerinc.be/wp-content/uploads/2009/10/apple-push-notification-service-150x150.jpg" alt="Apple push notification service" title="Apple push notification service" width="150" height="150" class="alignleft size-thumbnail wp-image-650" /></a>Regardless of Be Tv, push notifications are indeed a nice feature and add some real value to applications in some cases. Yet using them to set a reminder for a certain program is in my opinion wrong. Push is intended to alert users when unpredictable things happen, a news app wants to push an earthquake news item, an instant messaging app alerts the user of a received message.</p>
<p>In the case of a tv guide, we know beforehand when the program is going to start and we know when to remind the user. I, as a developer, want to insert an event in the calendar and set an alarm for that. I, as a developer, do not want to setup a server pushing out reminders for something that could be handled a lot better if Apple opens up the calendar API. Push only works when the device has an active data connection, ruling out iPods (wifi isn&#8217;t a real alternative, as it isn&#8217;t available everywhere) &#038; quite a few iPhone users without a data subscription. Calendar on the other hand is available on all devices, does not need a data connection which consumes precious battery power and is overall a better solution. It just makes sense to put it there, instead of (ab)using push notifications.</p>
<p>What this means for Be Tv is obvious, unless Apple opens up the calender API, there won&#8217;t be any reminders. I am aware that this decision will be met with some dissatisfaction, but feel it is the right decision. Taking into account Be Tv is a free service &#038; I would like to keep it that way. </p>
<p>I hope this answers some of the questions users have asked in the last couple months. One last thing, regarding version 1.3, it&#8217;s still under review.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2009/10/12/be-tv-and-push-notifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Be Tv version 1.3 under review</title>
		<link>http://blog.emmerinc.be/index.php/2009/10/06/be-tv-version-1-3-under-review/</link>
		<comments>http://blog.emmerinc.be/index.php/2009/10/06/be-tv-version-1-3-under-review/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 20:22:30 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Emmer Inc]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[Be Tv]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=611</guid>
		<description><![CDATA[It took a while, but a new version of Be Tv has been sent to Apple for review. Be Tv has been available in the Belgian App Store for 6 months, nearing 30.000 downloads. Version 1.3 adds &#8211; as lots of people have requested &#8211; detailed program information, a freshened up interface &#038; a few [...]]]></description>
			<content:encoded><![CDATA[<p>It took a while, but a new version of Be Tv has been sent to Apple for review. Be Tv has been available in the Belgian App Store for 6 months, nearing 30.000 downloads. Version 1.3 adds &#8211; as lots of people have requested &#8211; detailed program information, a freshened up interface &#038; a few minor improvements. Nothing groundbreaking but a normal evolution. Here&#8217;s a small sneak preview:</p>
<p>All programs have a genre &#038; most of them have extra information like a short comment and/or a long summary. Movies have a list of the main actors and series the episode name. There is however one huge issue which might be a showstopper for non-dutch speaking users. The extra information is in dutch, even when the interface is set to english or french. We unfortunately do not have access to translated info.</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2009/10/Detail.png"><img src="http://blog.emmerinc.be/wp-content/uploads/2009/10/Detail.png" alt="Detail" title="Detail" width="320" height="423" class="aligncenter size-full wp-image-620" /></a></p>
<p>One of the small improvements is how long program titles are displayed. Long titles are cut off in version 1.2 &#038; some of them are &#8211; even with holding the device sideways &#8211; not readable. Long titles are displayed over 2 lines in version 1.3, greatly improving the readability. Nothing earth shattering, but as said before a logical improvement.</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2009/10/Multiline.png"><img src="http://blog.emmerinc.be/wp-content/uploads/2009/10/Multiline.png" alt="Multiline program titles" title="Multiline program titles" width="320" height="121" class="aligncenter size-full wp-image-619" /></a></p>
<p>Having said that, I think we&#8217;ve given a nice preview of version 1.3. As soon as the upgrade shows up in the App Store, I&#8217;ll post it on the <a href="http://blog.emmerinc.be/index.php/tag/be-tv/">blog</a> &#038; <a href="http://twitter.com/emmerinc">Twitter</a>. One final word, for those wondering, Be Tv remains a free program.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2009/10/06/be-tv-version-1-3-under-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Assembling a Minty Boost</title>
		<link>http://blog.emmerinc.be/index.php/2009/07/31/assembling-a-minty-boost/</link>
		<comments>http://blog.emmerinc.be/index.php/2009/07/31/assembling-a-minty-boost/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 15:11:13 +0000</pubDate>
		<dc:creator>Yannick Compernol</dc:creator>
				<category><![CDATA[Emmer Inc]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[Minty Boost]]></category>

		<guid isPermaLink="false">http://blog.emmerinc.be/?p=588</guid>
		<description><![CDATA[Before I made an attempt at creating a mutant iPhone, which turned out pretty good, I had a go at assembling a Minty Boost. A Minty Boost is a homemade portable charger, designed by ladyada.net, which works with regular AA batteries and has a USB plug, it&#8217;s able to charge almost anything that can be [...]]]></description>
			<content:encoded><![CDATA[<p>Before I made an attempt at creating a <a href="http://blog.emmerinc.be/index.php/2009/07/26/the-mutant-iphone/">mutant iPhone</a>, which turned out pretty good, I had a go at assembling a Minty Boost. A <a href="http://www.ladyada.net/make/mintyboost/">Minty Boost</a> is a homemade portable charger, designed by <a href="http://www.ladyada.net/">ladyada.net</a>, which works with regular AA batteries and has a USB plug, it&#8217;s able to charge almost anything that can be charged with a USB cable. And yes, it charges iPhones, doesn&#8217;t that sound like music to your ears?</p>
<p>The website lists all the parts needed, several schematics and a <a href="http://www.ladyada.net/make/mintyboost/solder.html">walkthough</a> on how to assemble it. All parts can be bought <a href="http://www.adafruit.com/index.php?main_page=index&#038;cPath=10">online</a> or you can search for them at your local hardware/electronics store. I choose to buy 2 sets online, since I had a hard time locating the IC chip in Belgium. A set costs $19.50 and contains all the parts needed, including a custom made PCB board (big plus). I choose the cheapest shipping method ($6) and it took only a week to get to the other side of the big blue ocean. Customs did ask €10 for the parts though.</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2009/07/photo.jpg"><img src="http://blog.emmerinc.be/wp-content/uploads/2009/07/photo-300x225.jpg" alt="Minty Boost parts" title="Minty Boost parts" width="300" height="225" class="aligncenter size-medium wp-image-602" /></a></p>
<p>The actual assembly is pretty straightforward and can be done without any soldering experience. The only thing left to do now, is fitting it all in a little box. I&#8217;ll post some pictures of the actual finished product, once I find a suitable metal box.</p>
<p><a href="http://blog.emmerinc.be/wp-content/uploads/2009/07/photo-2.jpg"><img src="http://blog.emmerinc.be/wp-content/uploads/2009/07/photo-2-225x300.jpg" alt="Assembled Minty Boost" title="Assembled Minty Boost" width="225" height="300" class="aligncenter size-medium wp-image-604" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.emmerinc.be/index.php/2009/07/31/assembling-a-minty-boost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
