<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Fousa</title>
    <description>I craft awesome apps.</description>
    <link>http://www.fousa.be/blog</link>
    <item>
      <title>Postgres.app on OS X</title>
      <description>&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/83/postgres-mac-icon.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=NjpvlBxXtC63TPkyXwBvp5gvfPE%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/83/thumb_postgres-mac-icon.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=NxroKy0gB%2BOWymWXrlALXdZ73ww%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I always use &lt;a href="http://postgresapp.com"&gt;Postgres.app&lt;/a&gt; as my main postgresql server when developing my Ruby on Rails websites.&lt;/p&gt;

&lt;p&gt;But there is always a bit of a hassle to go through in order to get everything up and running on your machine. So here is what you’ll have to do.&lt;/p&gt;

&lt;h4&gt;Setup&lt;/h4&gt;

&lt;p&gt;Download and install &lt;a href="http://postgresapp.com"&gt;Postgres.app&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Add the Postgres.app’s bin directory to the path so your machine knows it’s there. You can do this by adding the following line of code in your &lt;em&gt;.zshrc&lt;/em&gt; file.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;export PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you’re not using &lt;a href="http://ohmyz.sh"&gt;Oh My Zsh&lt;/a&gt;, you can add the line to the &lt;em&gt;.bashrc&lt;/em&gt; file and it will work just fine.&lt;/p&gt;

&lt;h4&gt;Rails&lt;/h4&gt;

&lt;p&gt;Something stupid I had to do in my rails app, is that I had to add the host to my &lt;em&gt;database.yml&lt;/em&gt; file. If I didn’t it just wouldn’t work.&lt;/p&gt;

&lt;p&gt;So this is what my database configuration looks like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;development:
    adapter: postgresql
    database: my_db
    username: my_user
    host: localhost
&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate> 9 Jul 2014</pubDate>
      <link>http://www.fousa.be/blog/postgres-app-on-os-x</link>
      <guid>http://www.fousa.be/blog/postgres-app-on-os-x</guid>
    </item>
    <item>
      <title>MKPolyline in Swift</title>
      <description>&lt;p&gt;Here is a small recap on how to create a &lt;em&gt;MKPolyline&lt;/em&gt; in &lt;em&gt;Swift&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;Snippet&lt;/h4&gt;

&lt;p&gt;Let's say you have an array containing multiple &lt;em&gt;CLLocation&lt;/em&gt; instances.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var locations = [CLLocation(...), CLLocation(...), CLLocation(...)]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now you want to convert these locations into a &lt;em&gt;MKPolyline&lt;/em&gt; so you can display them on your &lt;em&gt;MapView&lt;/em&gt;. Simply use the following code in order to extract the coordinates out of the locations array and use them in the &lt;em&gt;MKPolyline&lt;/em&gt; initialiser by passing the coordinates.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var coordinates = locations.map({ (location: CLLocation) -&amp;gt; 
    CLLocationCoordinate2D in
        return location.coordinate
    })
var polyline = MKPolyline(coordinates: &amp;amp;coordinates, 
                            count: locations.count)
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Explanation&lt;/h4&gt;

&lt;p&gt;This is what is happening:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var coordinates = locations.map({ (location: CLLocation) -&amp;gt; 
    CLLocationCoordinate2D in
        return location.coordinate
    })
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You are calling the &lt;em&gt;map&lt;/em&gt; method on the &lt;em&gt;locations&lt;/em&gt; array. This will take a closure expression as an argument. While iterating through the &lt;em&gt;CLLocation&lt;/em&gt; instances, the closure will be called for every single one and will return the value you specify.&lt;/p&gt;

&lt;p&gt;Once the closure has been applied on every &lt;em&gt;CLLocation&lt;/em&gt; instance, a new array will be returned and stored in the &lt;em&gt;coordinates&lt;/em&gt; variable.&lt;/p&gt;

&lt;p&gt;In this case the &lt;em&gt;coordinates&lt;/em&gt; array will contain all _ CLLocationCoordinate2D&lt;em&gt; structs for each &lt;/em&gt;CLLocation&lt;em&gt; in the &lt;/em&gt;locations_ array.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var polyline = MKPolyline(coordinates: &amp;amp;coordinates, 
                            count: locations.count)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In Objective0C a &lt;em&gt;MKPolyline&lt;/em&gt; is created by passing a C array of structs of the type &lt;em&gt;CLLocationCoordinate2D&lt;/em&gt;. But in Swift it is handled differently. When going to the &lt;em&gt;MKPolyline&lt;/em&gt; swift definition (by CMD-clicking the class), you'll see that you have to pass a &lt;em&gt;CMutablePointer&lt;/em&gt; to the initialiser.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;convenience init(points: CMutablePointer, count: Int)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;As you can see you can just pass the &lt;em&gt;coordinates&lt;/em&gt; array to the initialiser by adding an ampersand in front of it. This way you are passing the address of the &lt;em&gt;coordinates&lt;/em&gt; variable, the same way you would do in Objective-C.&lt;/p&gt;</description>
      <pubDate>11 Jun 2014</pubDate>
      <link>http://www.fousa.be/blog/mkpolyline-in-swift</link>
      <guid>http://www.fousa.be/blog/mkpolyline-in-swift</guid>
    </item>
    <item>
      <title>Podcasts</title>
      <description>&lt;p&gt;I want to keep a list of my favourite podcasts, so here it is.&lt;/p&gt;

&lt;h4&gt;The list&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://atp.fm"&gt;Accidental Tech Podcast&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://5by5.tv/b2w"&gt;Back to Work&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.imore.com/debug"&gt;Debug&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://nsbrief.com"&gt;NSBrief&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://releasenotes.tv"&gt;Release Notes&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.muleradio.net/thetalkshow/"&gt;The Talk Show&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I think I just created my biggest blog post evah! Awesomeness.&lt;/p&gt;

&lt;p&gt;If you have some cool podcasts, don't hesitate to comment below and let me know!&lt;/p&gt;</description>
      <pubDate> 6 Jun 2014</pubDate>
      <link>http://www.fousa.be/blog/podcasts</link>
      <guid>http://www.fousa.be/blog/podcasts</guid>
    </item>
    <item>
      <title>Clean install Yosemite</title>
      <description>&lt;p&gt;I'm not a big fan of upgrading, I almost always try to clean install OS X. And it didn't change with the newest version of OS X, &lt;a href="http://www.apple.com/osx/preview/"&gt;Yosemite&lt;/a&gt;. Love the name by the way!&lt;/p&gt;

&lt;h4&gt;Developer&lt;/h4&gt;

&lt;p&gt;Unfortunately you can only download the preview when you are a registered Apple Mac Developer. So this blog post will only relate to those people.&lt;/p&gt;

&lt;p&gt;You can download the preview &lt;a href="https://developer.apple.com/devcenter/mac/index.action"&gt;here&lt;/a&gt; (as a developer).&lt;/p&gt;

&lt;h4&gt;Bootable USB&lt;/h4&gt;

&lt;p&gt;In order to create a bootable USB you'll have to follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;In the &lt;em&gt;/Applications&lt;/em&gt; folder right click the OS X Installer package and tap &lt;em&gt;Show Package Contents&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Inside that folder go to &lt;em&gt;Contents/Shared Support&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Open de InstallESD.dmg.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Once the disk mounts enter the following command in the Terminal:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;open /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/81/2014-06-03_at_20.18.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=3VxOEZiWVc9TUNvUZjdeCrWi2FY%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/81/thumb_2014-06-03_at_20.18.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=uFMUUXl%2FHJ7cbB1kdnj8mIKIXAY%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Now open &lt;em&gt;Disk Utility&lt;/em&gt; and restore the &lt;em&gt;OS X Base System&lt;/em&gt; to your USB drive.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Go to the USB disk and remove the &lt;em&gt;System/Installation/Packages&lt;/em&gt; link.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Copy the Packages folder from the &lt;em&gt;OS X Install ESD&lt;/em&gt; package to the &lt;em&gt;System/Installation&lt;/em&gt; folder on the USB drive.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Now unhide the hidden files in your &lt;em&gt;Finder&lt;/em&gt; like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;defaults write com.apple.finder AppleShowAllFiles -boolean true
killall Finder
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Next copy the &lt;em&gt;BaseSystem.dmg&lt;/em&gt; and the &lt;em&gt;Basesystem.chunklist&lt;/em&gt; from &lt;em&gt;OS X Install ESD&lt;/em&gt; to the USB root.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Unmount the USB and you are ready to go!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;Installing&lt;/h4&gt;

&lt;p&gt;Installing with the newly created USB is easy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Insert the USB drive.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Restart your Mac.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Press and hold the OPTION (aka. ALT) key.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;You'll see your USB drive appear. Now select it.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Before installing you should erase your current drive with the &lt;em&gt;Disk Utility&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Enjoy Yosemite!&lt;/p&gt;</description>
      <pubDate> 4 Jun 2014</pubDate>
      <link>http://www.fousa.be/blog/clean-install-yosemite</link>
      <guid>http://www.fousa.be/blog/clean-install-yosemite</guid>
    </item>
    <item>
      <title>Photoshop Copy/Paste</title>
      <description>&lt;p&gt;When you (as a developer) have to slice a &lt;em&gt;PSD&lt;/em&gt; file into several images and the &lt;em&gt;PSD&lt;/em&gt; isn’t &lt;a href="http://macrabbit.com/slicy/"&gt;Slicy&lt;/a&gt; ready, than I’ve got a trick for you.&lt;/p&gt;

&lt;h4&gt;Slice&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Make the background transparent so that we can easily cut out the layer.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Press &lt;em&gt;CMD-SHIFT-C&lt;/em&gt; to only cut the layer.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;When pressing &lt;em&gt;CMD-N&lt;/em&gt; you create a new tab with the dimensions of the cutter layer.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Now just &lt;em&gt;CMD-V&lt;/em&gt; and the layer is pasted.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Simple.&lt;/p&gt;

&lt;p&gt;Or you can just download &lt;a href="http://macrabbit.com/slicy/"&gt;Slicy&lt;/a&gt; and make designers aware!&lt;/p&gt;</description>
      <pubDate>26 May 2014</pubDate>
      <link>http://www.fousa.be/blog/photoshop-copy-paste</link>
      <guid>http://www.fousa.be/blog/photoshop-copy-paste</guid>
    </item>
    <item>
      <title>Dispatch group</title>
      <description>&lt;p&gt;Sometimes you’ll have to wait for multiple asynchronous calls to complete before performing the next step.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For example. When you have to perform multiple API calls to fetch some data.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;Grouping&lt;/h4&gt;

&lt;p&gt;You can do this &lt;em&gt;fairly&lt;/em&gt; easy with the following code:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dispatch_group_t group = dispatch_group_create();
for (id object in _NSArray instance_) {
    dispatch_group_enter(group);
    [self doAsynchronousTask:^{
        dispatch_group_leave(group);
    }];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When all the asynchronous calls are completed you’ll enter the &lt;em&gt;group notify block&lt;/em&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dispatch_group_notify(group, dispatch_get_main_queue(), ^{
     // Executed when all the async task completed.
});
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;More info&lt;/h4&gt;

&lt;p&gt;Here is some more information about the different group calls.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;dispatch_group_create()&lt;/strong&gt;: Creates a group that will associate multiple blocks.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;dispatch_group_enter()&lt;/strong&gt;: Indicate that the block that follows this line will be added to the group.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;dispatch_group_leave()&lt;/strong&gt;: Indicate that the previous block has completed.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;dispatch_group_notify()&lt;/strong&gt;: The given block is called when all the blocks associated with the group have completed.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>19 May 2014</pubDate>
      <link>http://www.fousa.be/blog/dispatch-group</link>
      <guid>http://www.fousa.be/blog/dispatch-group</guid>
    </item>
    <item>
      <title>Xcode plugins</title>
      <description>&lt;p&gt;Here is a list of my favourite Xcode plugins I tend to use.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/JugglerShu/XVim"&gt;Xvim&lt;/a&gt;: Add Vim bindings.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/neonichu/BBUFullIssueNavigator"&gt;BBUFullIssueNavigator&lt;/a&gt;: Show all the issue content in the issue navigator.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin"&gt;FuzzyAutocomplete&lt;/a&gt;: Add more flexible autocompletion instead of just prefix matching.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/deszip/Jumper"&gt;Jumper&lt;/a&gt;: Move 10 lines up/down with your keyboard for faster navigation.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/questbeat/Lin-Xcode5"&gt;Lin&lt;/a&gt;: Manage your localizations.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/trawor/XToDo"&gt;XToDo&lt;/a&gt;: Handle &lt;em&gt;TODO&lt;/em&gt; and &lt;em&gt;FIXME&lt;/em&gt; keywords.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/onevcat/VVDocumenter-Xcode"&gt;VVDocumenter&lt;/a&gt;: Helps you write Javadoc style documentation.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/omz/ColorSense-for-Xcode"&gt;ColorSense&lt;/a&gt;: Select colours with the color picker straight from the code.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;Alcatraz&lt;/h4&gt;

&lt;p&gt;You should really use the &lt;a href="http://alcatraz.io"&gt;Alcatraz&lt;/a&gt; package manager for Xcode, makes using plugins simple.&lt;/p&gt;</description>
      <pubDate>12 May 2014</pubDate>
      <link>http://www.fousa.be/blog/xcode-plugins</link>
      <guid>http://www.fousa.be/blog/xcode-plugins</guid>
    </item>
    <item>
      <title>Oudie IGC</title>
      <description>&lt;h4&gt;flying weekend&lt;/h4&gt;

&lt;p&gt;The past weekend was a really good one for us glider pilots. If you look at &lt;a href="http://www.onlinecontest.org/olc-2.0/gliding/daily.html?sp=2014&amp;amp;c=BE&amp;amp;sc=&amp;amp;rt=olc&amp;amp;st=olc&amp;amp;df=2014-05-03"&gt;Saturday&lt;/a&gt; &amp;amp; &lt;a href="http://www.onlinecontest.org/olc-2.0/gliding/daily.html?sp=2014&amp;amp;c=BE&amp;amp;sc=&amp;amp;rt=olc&amp;amp;st=olc&amp;amp;df=2014-05-04"&gt;Sunday&lt;/a&gt; on OLC you’ll see that it was pretty awesome.&lt;/p&gt;

&lt;p&gt;And I had some fun as well.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Saturday we went to Ieper and after some difficulties crossing the harbour area of Antwerp we went for a little trip to Keiheuvel. Here is the &lt;a href="https://www.skylines.aero/flights/31422/"&gt;flight track&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;On Sunday I went for a tour around the Eindhoven CTR together with Kris. Awesome flight can be seen &lt;a href="https://www.skylines.aero/flights/31423/"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;During both flights I used my brand new &lt;a href="http://www.naviter.com/2013/11/announcing-oudie-igc/"&gt;Oudie IGC&lt;/a&gt; device. And I’m really happy with it.&lt;/p&gt;

&lt;h4&gt;Battery usage&lt;/h4&gt;

&lt;p&gt;Before using the &lt;em&gt;Oudie&lt;/em&gt; I wanted to see out how long the battery would stay alive during full usage. So I created a movie during the night so I could figure out how long it would take before the battery died.&lt;/p&gt;

&lt;p&gt;Check out the &lt;a href="https://vimeo.com/94175959"&gt;movie on Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I ended up stopping the process because I had to go flying...&lt;/p&gt;

&lt;h4&gt;Charging&lt;/h4&gt;

&lt;p&gt;An annoyance I have is that there is no indication when the battery is charging. With the old Oudie 2 you could see a light burning. But with the Oudie IGC this isn’t available.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/77/Charging.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=qi11Gr%2Bl7qC5NLgukD0g2YkGsDs%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/77/thumb_Charging.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=Edjmtq1mTtX20i%2FSkLS0L8Pt%2FpI%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A little trick is to set the &lt;em&gt;battery indicator field&lt;/em&gt; in See You Mobile. This will say &lt;em&gt;charging&lt;/em&gt; when (drums please) the battery is charging. If so, you can just hold the on/off button to shut down the device and it will keep on charging.&lt;/p&gt;

&lt;p&gt;It takes about 5 to 6 hours to fully charge from an empty state.&lt;/p&gt;

&lt;h4&gt;Logging&lt;/h4&gt;

&lt;p&gt;There are a few things you should know how to setup your Oudie.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/78/Screenshots.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=1ml8vbwletxI8sqSCfkCz5lR4L0%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/78/thumb_Screenshots.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=sL6rTn6gAqVeZgG8nFvlGKaCaAg%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;To set the pilot’s name you have to go to the &lt;em&gt;Settings &gt; Log&lt;/em&gt; menu.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Setting the plane type is done in the &lt;em&gt;Settings &gt; Polar&lt;/em&gt; menu.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;If you want to declare a task, than you just have to setup a task in the &lt;em&gt;Task&lt;/em&gt; menu. When you takeoff the task will be automatically declared.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;There is also a checkbox &lt;em&gt;Logger permanently on&lt;/em&gt;. Apparently this is for paragliders to make sure the device will keep on logging with low airspeeds.&lt;/p&gt;</description>
      <pubDate> 8 May 2014</pubDate>
      <link>http://www.fousa.be/blog/oudie-igc</link>
      <guid>http://www.fousa.be/blog/oudie-igc</guid>
    </item>
    <item>
      <title>Stop iTunes</title>
      <description>&lt;p&gt;I recently bought some wireless &lt;a href="http://www.beatsbydre.com/headphones/studio-wireless/beats-studio-wireless.html"&gt;Beats&lt;/a&gt; headsets that I started to love by the way. But there was one thing the started to annoy me after a while.&lt;/p&gt;

&lt;p&gt;Every time I connected the headset with my Mac it opened iTunes. Why? I never use iTunes because I’m a huge fan of online streaming services like &lt;a href="http://spotify.com"&gt;Spotify&lt;/a&gt; or &lt;a href="http://rdio.com"&gt;Rdio&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So I Googled for a solution and after a few weeks I found a solution that worked for me.&lt;/p&gt;

&lt;h4&gt;How to stop it&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/76/2014-04-28_at_00.37.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=kWQDNoWXMyuaX95YfUG4%2Bgp05Mk%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/76/thumb_2014-04-28_at_00.37.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=GgW%2BbRqhErAayD4RZ8YyuI0BtLg%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;First of all remove the &lt;em&gt;iTunesHelper&lt;/em&gt; from your login items.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Than go with your Terminal to the following folder &lt;em&gt;/Applications/iTunes.app/Contents/MacOS&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Locate the &lt;em&gt;iTunesHelper.app&lt;/em&gt; and rename it to something like &lt;em&gt;iTunesHelperStopped.app&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Go back to the &lt;em&gt;/Applications&lt;/em&gt; folder and rename the &lt;em&gt;iTunes.app&lt;/em&gt; to something like &lt;em&gt;iTunesStopped.app&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Now itunes won’t start every time you connect the headphone. Awesome, isn’t it?&lt;/p&gt;

&lt;p&gt;Ow yeah, you can still use iTunes without a problem.&lt;/p&gt;</description>
      <pubDate> 7 May 2014</pubDate>
      <link>http://www.fousa.be/blog/stop-itunes</link>
      <guid>http://www.fousa.be/blog/stop-itunes</guid>
    </item>
    <item>
      <title>Ive</title>
      <description>&lt;p&gt;I created a gem that allows you to easily bump the version of your Xcode project.&lt;/p&gt;

&lt;p&gt;When bumping a version I always performed the following steps: (in 90% of the cases)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Bump the version in the &lt;em&gt;.plist&lt;/em&gt; file.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Commit the version change with the awesome message &lt;em&gt;”Version bump”&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Tag that commit.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;But this is something that can be scripted. So therefore this gem.&lt;/p&gt;

&lt;h4&gt;Setup&lt;/h4&gt;

&lt;p&gt;Start by installing the gem from the command line. (you can also add it to your &lt;em&gt;Gemfile&lt;/em&gt; if needed)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gem install ive
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In the project root you have to add an .ive configuration file. You can do this by manually adding the file with the following contents:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;target: “TargetName”
configuration: “Debug”
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or you can let Ive handle this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ive setup
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Info&lt;/h4&gt;

&lt;p&gt;You can get the current Xcode version like this.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ive version
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Bumping&lt;/h4&gt;

&lt;p&gt;You can perform 4 major bumps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;major&lt;/strong&gt; bump from version &lt;em&gt;1.0.0&lt;/em&gt; to &lt;em&gt;2.0.0&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;minor&lt;/strong&gt; bump from version &lt;em&gt;1.0.0&lt;/em&gt; to &lt;em&gt;1.1.0&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;patch&lt;/strong&gt; bump from version &lt;em&gt;1.0.0&lt;/em&gt; to &lt;em&gt;1.0.1&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;build&lt;/strong&gt; bump from version &lt;em&gt;1.0.0-0001&lt;/em&gt; to &lt;em&gt;1.0.0-0002&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And here is how you can do this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ive major
ive minor
ive patch
ive build
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can also add the &lt;em&gt;—path&lt;/em&gt; parameter to provide a path, although I used this mainly for testing I decided to keep this in the live version as well.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ive minor —path ~/ProjectPath
ive minor -p ~/ProjectPath
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Git&lt;/h4&gt;

&lt;p&gt;As mentioned above I want to commit and tag the version bump in one command. Just add &lt;em&gt;—git&lt;/em&gt; behind the the &lt;em&gt;ive&lt;/em&gt; command and this will be taken care of.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ive patch —git
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now you’ll have a commit message saying &lt;em&gt;“Version bump”&lt;/em&gt; and a tag on it called &lt;em&gt;v1.0.0&lt;/em&gt;. If you have unstaged changes you won’t be able to do this.&lt;/p&gt;

&lt;h4&gt;Init&lt;/h4&gt;

&lt;p&gt;Sometimes you want to set the initial version. Ive can do this for you.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ive init
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will set the version and build number to &lt;em&gt;1.0.0-0001&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy the gem!&lt;/p&gt;</description>
      <pubDate>30 Apr 2014</pubDate>
      <link>http://www.fousa.be/blog/ive</link>
      <guid>http://www.fousa.be/blog/ive</guid>
    </item>
    <item>
      <title>Delete a tag from git</title>
      <description>&lt;p&gt;I sometimes mistakenly version (or tag) the wrong commit and afterwards I want to change this. And because you can’t push the same tag twice, I have the delete the old one.&lt;/p&gt;

&lt;p&gt;This is done by the following command:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git tag -d 1.0.0
➜  Project git:(develop) git push origin :refs/tags/1.0.0
&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate>29 Apr 2014</pubDate>
      <link>http://www.fousa.be/blog/delete-a-tag-from-git</link>
      <guid>http://www.fousa.be/blog/delete-a-tag-from-git</guid>
    </item>
    <item>
      <title>Deprecating in Objective-C</title>
      <description>&lt;p&gt;For the first time ever I had to deprecate some methods in an &lt;em&gt;Objective-C&lt;/em&gt; code base I used in a client project.&lt;/p&gt;

&lt;h4&gt;Methods&lt;/h4&gt;

&lt;p&gt;Deprecating methods in Objective-C is done like this.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;- (void)methodToDeprecate __deprecated;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Just add the &lt;em&gt;__deprecated&lt;/em&gt; keyword to the method in the header file.&lt;/p&gt;

&lt;h4&gt;Classes&lt;/h4&gt;

&lt;p&gt;You can also deprecate an entire class.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;__deprecated
@interface DeprecatedClass : NSObject
@end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Add the &lt;em&gt;__deprecated&lt;/em&gt; keyword before the &lt;em&gt;@interface&lt;/em&gt; declaration in the header file.&lt;/p&gt;

&lt;h4&gt;Messages&lt;/h4&gt;

&lt;p&gt;You can also pass a message to the deprecated piece of code.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;__deprecated_msg(“Will stop working mister!”);
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;OS version&lt;/h4&gt;

&lt;p&gt;When you want some methods only be available in the newest versions of the OS (like iOS 7 only), you can define the &lt;em&gt;OS X&lt;/em&gt; &amp;amp; &lt;em&gt;iOS&lt;/em&gt; version number from which the method will be available.&lt;/p&gt;

&lt;p&gt;Add the following macro to the line (just like &lt;em&gt;__deprecated&lt;/em&gt;).&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;NS_AVAILABLE_IOS(7_0)
NS_AVAILABLE_MAC(10_9)
NS_AVAILABLE(10_9, 7_0)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can do the same with deprecation. Deprecate a method beginning with a version. In the case below the method will be deprecated from iOS 7.&lt;/p&gt;

&lt;p&gt;The first parameter is the version number of the OS in which this method was introduced.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;NS_DEPRECATED_IOS(5_0, 7_0)
NS_DEPRECATED_MAC(10_6, 10_9)
NS_DEPRECATED(10_6, 10_9, 5_0, 7_0)
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Documentation&lt;/h4&gt;

&lt;p&gt;Mention the deprecation in your code documentation is done like this.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/*!
 * What does this method do?
 *
 * @deprecated in the next version.
 */
&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate>25 Apr 2014</pubDate>
      <link>http://www.fousa.be/blog/deprecating-in-objective-c</link>
      <guid>http://www.fousa.be/blog/deprecating-in-objective-c</guid>
    </item>
    <item>
      <title>SSL on Digitalocean</title>
      <description>&lt;p&gt;It’s actually pretty easy to use SSL on digital ocean with your custom domain.&lt;/p&gt;

&lt;h4&gt;Self signed&lt;/h4&gt;

&lt;p&gt;To create a self signed certificate and use it with &lt;a href="http://nginx.org/"&gt;nginx&lt;/a&gt; you just have to follow this &lt;a href="https://www.digitalocean.com/community/articles/how-to-create-a-ssl-certificate-on-nginx-for-ubuntu-12-04"&gt;post&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Certificate&lt;/h4&gt;

&lt;p&gt;But when using a self signed certificate your browser will start complaining. You can easily generate an SSL certificate at &lt;a href="http://www.startssl.com/"&gt;StartSSL&lt;/a&gt; without paying a shitload of money.&lt;/p&gt;</description>
      <pubDate> 9 Apr 2014</pubDate>
      <link>http://www.fousa.be/blog/ssl-on-digitalocean</link>
      <guid>http://www.fousa.be/blog/ssl-on-digitalocean</guid>
    </item>
    <item>
      <title>Vim + Arduino</title>
      <description>&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/75/2014-03-15_11.27.56.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=V4rWKyQ2xlZj2RbKJBuTt2YvyDE%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/75/thumb_2014-03-15_11.27.56.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=exmtid%2FlkmBXXPXGkQ24HLZQaGo%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Because I love &lt;a href="http://www.vim.org/"&gt;Vim&lt;/a&gt; and started learning some &lt;a href="http://www.arduino.cc/"&gt;Arduino&lt;/a&gt; shizzle, I had to find a way to do the development in Vim on my OS X machine.&lt;/p&gt;

&lt;p&gt;I found a great &lt;a href="http://grantlucas.com/posts/2012/09/using-vim-arduino-development"&gt;post&lt;/a&gt; on how to use the &lt;em&gt;vim-arduino&lt;/em&gt; plugin but unfortunately I ran into some problems during deployment to the device.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;java.lang.UnsatisfiedLinkError: /Applications/Arduino.app/
        Contents/Resources/Java/librxtxSerial.jnilib:  
        no suitable image found.  Did find:  
        /Applications/Arduino.app/Contents/Resources/
        Java/librxtxSerial.jnilib: no matching architecture in 
        universal wrapper thrown while loading gnu.io.RXTXCommDriver
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So I had to look for another solution.&lt;/p&gt;

&lt;h4&gt;Ino&lt;/h4&gt;

&lt;p&gt;That is where &lt;a href="http://inotool.org"&gt;Ino&lt;/a&gt; helped me out. With this tool I could build and deploy from the command line and guess what? There is an &lt;a href="https://github.com/jplaut/vim-arduino-ino/"&gt;vim-arduino-ino&lt;/a&gt; available.&lt;/p&gt;

&lt;p&gt;Before you can use this plugin you have to install Ino. I installed it using Python, but there are other ways.&lt;/p&gt;

&lt;p&gt;First I had to install Python with &lt;a href="http://brew.sh/"&gt;Homebrew&lt;/a&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ brew install python
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And then Ino:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ pip install ino
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Plugin&lt;/h4&gt;

&lt;p&gt;I cloned the &lt;em&gt;vim-arduino-ino&lt;/em&gt; inside my &lt;em&gt;~/.vim/bundle&lt;/em&gt; directory and BOOM it’s installed.&lt;/p&gt;

&lt;p&gt;Now you can do your development and use the following commands to build and deploy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;[LEADER]ac&lt;/strong&gt;: Compile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;[LEADER]ad&lt;/strong&gt;: Compile &amp;amp; deploy&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;[LEADER]as&lt;/strong&gt;: Open a serial post.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;Syntax&lt;/h4&gt;

&lt;p&gt;In order to get some better syntax colouring in vim you should add this &lt;a href="http://www.vim.org/scripts/script.php?script_id=2654"&gt;syntax&lt;/a&gt; file to the &lt;em&gt;~/.vim/syntax&lt;/em&gt; folder.&lt;/p&gt;

&lt;p&gt;Next add the following lines to your &lt;em&gt;vimrc&lt;/em&gt; file and colouring should be up and running tot your Arduino files.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;au BufRead,BufNewFile *.pde set filetype=arduino
au BufRead,BufNewFile *.ino set filetype=arduino
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Ino project&lt;/h4&gt;

&lt;p&gt;You can’t just open a project created in the Arduino IDE and compile it with Ino, you’ll always get this error:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ No project found in this directory.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You’ll have to create the project with Ino and then you can continue with your development. You can read more info on how Ino works (and what the project folder structure is like) on &lt;a href="http://inotool.org/quickstart"&gt;this website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But to get you started we’ll create a quick project by running the following commands:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ mkdir ~/new_project
$ cd ~/new_project
$ ino init
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now you have setup the project. You can start coding in the &lt;em&gt;scr/sketch.ino&lt;/em&gt; file.&lt;/p&gt;</description>
      <pubDate>31 Mar 2014</pubDate>
      <link>http://www.fousa.be/blog/vim-arduino</link>
      <guid>http://www.fousa.be/blog/vim-arduino</guid>
    </item>
    <item>
      <title>Localize app name</title>
      <description>&lt;p&gt;I always forget the key to use in the &lt;em&gt;InfoPlist.string&lt;/em&gt; file so I can translate the application name that you see in your home screen.&lt;/p&gt;

&lt;p&gt;Well, here it is!&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CFBundleDisplayName
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;More info on this can be found &lt;a href="https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/Articles/LocalizingPathnames.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>28 Mar 2014</pubDate>
      <link>http://www.fousa.be/blog/localize-app-name</link>
      <guid>http://www.fousa.be/blog/localize-app-name</guid>
    </item>
    <item>
      <title>GVUserDefaults</title>
      <description>&lt;p&gt;Every time I start a project I create a category on &lt;em&gt;NSUserDefaults&lt;/em&gt; so that it requires less code in the controllers (or wherever I need it) to set/get the defaults.&lt;/p&gt;

&lt;p&gt;But I used this nice &lt;em&gt;pod&lt;/em&gt; called &lt;a href="https://github.com/gangverk/GVUserDefaults"&gt;GVUserDefaults&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;How it works&lt;/h4&gt;

&lt;p&gt;Well it’s fairly easy. You start by creating a category on GVUserDefaults. In this category you define the needed properties.&lt;/p&gt;

&lt;p&gt;This is how the interface will look like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@interface GVUserDefaults (Prop)
@property (nonatomic, weak) NSString *name;
@end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And the implementation file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@implementation GVUserDefaults (Prop)
@dynamic name;
@end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now in your code you can just access the properties like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[GVUserDefaults standardUserDefaults].name;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I likez.&lt;/p&gt;</description>
      <pubDate>24 Mar 2014</pubDate>
      <link>http://www.fousa.be/blog/gvuserdefaults</link>
      <guid>http://www.fousa.be/blog/gvuserdefaults</guid>
    </item>
    <item>
      <title>EOS Utility without CD</title>
      <description>&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/73/2014-03-18_18.22.18.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=i7cLBUOcPYLJ3RZ2ecXD1dodJ1Q%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/73/thumb_2014-03-18_18.22.18.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=RF%2BDIBTXeJm2FuMN1x7TOTGrQA0%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I recently bought myself a &lt;a href="http://www.usa.canon.com/cusa/consumer/products/cameras/slr_cameras/eos_70d"&gt;Canon EOS 70D&lt;/a&gt; camera. It’s a pretty cool camera with Wifi integration so you can send pictures to your pc without having to eject your SD card. Sounds cool.&lt;/p&gt;

&lt;p&gt;But there is one little issue with this. EOS Utility that is used to download the images from the camera is on a CD. And guess what, I recently bought a &lt;a href="http://www.fousa.be/blog/the-imac"&gt;new iMac&lt;/a&gt; without CD drive… And on the Canon website there is only a download link available for the EOS Utility updater, not the full version. &lt;em&gt;Narf&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;Fix it&lt;/h4&gt;

&lt;p&gt;It’s a bit of a workaround to install the full version. But it workz!&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/74/2014-03-17_at_10.17.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=Gi2ZERJ0TIrgVQvvlx1WOgAtc%2B4%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/74/thumb_2014-03-17_at_10.17.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=pE5cPv%2FwGn%2B0u2gykwslB%2BUsiQg%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Download the update installer of your camera (in my case the 70D) &lt;a href="http://www.usa.canon.com/cusa/consumer/products/cameras/slr_cameras/eos_70d#DriversAndSoftware"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Open de downloaded &lt;em&gt;dmg&lt;/em&gt; file.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Drag the only file inside the &lt;em&gt;dmg&lt;/em&gt; to a place on your hard disk.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Show the package contents of this file.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Continue browsing to the folder Contents/Resources&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Now in this folder there will be a file &lt;em&gt;Info.datx&lt;/em&gt;, and this is the file you should remove.&lt;/p&gt;

&lt;p&gt;Once this file is removed, you can just double click the installer file from which you opened the package contents and &lt;strong&gt;tadaaa&lt;/strong&gt;. You just installed the EOS Utility without a CD.&lt;/p&gt;</description>
      <pubDate>18 Mar 2014</pubDate>
      <link>http://www.fousa.be/blog/eos-utility-without-cd</link>
      <guid>http://www.fousa.be/blog/eos-utility-without-cd</guid>
    </item>
    <item>
      <title>Extract assets</title>
      <description>&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/21/Screen_Shot_2013-09-24_at_13.42.41.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=Olvhmt2lyK4HksOfp5EXvmx0N7s%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/21/thumb_Screen_Shot_2013-09-24_at_13.42.41.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=3osu31NArHTE18Wm4dU1D%2Bm%2BrYg%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I wanted to let you know that there is a handy utility to export all the available assets from every application from you iOS device.&lt;/p&gt;

&lt;p&gt;The only requirement is that you have Xcode installed. If not, go and install it from the link in the sources below.&lt;/p&gt;

&lt;h4&gt;How?&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Download the source from &lt;a href="https://github.com/0xced/iOS-Artwork-Extractor"&gt;Github&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Open the Xcode project.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Run the application in the simulator (or on the device as explained below).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;When the app is done indexing all the assets, you'll be able to browse and save them. The save action will save the assets to a folder on your desktop.&lt;/p&gt;

&lt;h4&gt;Device&lt;/h4&gt;

&lt;p&gt;You can even run the application on your device and save all the  images. They will be saved inside the &lt;em&gt;Documents&lt;/em&gt; foldeef="http://www.macroplant.com/iexplorer/"&gt;iExplorer&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>10 Mar 2014</pubDate>
      <link>http://www.fousa.be/blog/extract-assets</link>
      <guid>http://www.fousa.be/blog/extract-assets</guid>
    </item>
    <item>
      <title>Doxie + Factura + Dropbox</title>
      <description>&lt;p&gt;I love the work on my iOS/OS X applications during my free time, but this brings some administration with it. And because I hate searching through all my paperwork, I have a workflow for getting every document on my &lt;a href="http://dropbox.com"&gt;Dropbox&lt;/a&gt;. This way it’s available to me anywhere, anytime!&lt;/p&gt;

&lt;p&gt;Here is how it works.&lt;/p&gt;

&lt;h4&gt;Doxie&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/71/doxie-go-cordless-paper-scanner.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=%2BgUzoQInSOISUW%2FgeSUp7JxcRzo%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/71/thumb_doxie-go-cordless-paper-scanner.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=rXxO6Z9cTtKulWX3xpkzelXC1xo%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once a week I take 10 minutes of my time to scan in all the documents I received that week. I process the documents with my &lt;a href="http://getdoxie.com"&gt;Doxie Scanner&lt;/a&gt;, pull out the SD card and insert it in my Mac.&lt;/p&gt;

&lt;p&gt;It’s very easy to merge pages and rotate them with the &lt;a href="http://www.getdoxie.com/product/doxie-go/software.html"&gt;Doxie Software&lt;/a&gt;. And afterward you can export them as PDF with OCR recognition.&lt;/p&gt;

&lt;p&gt;The OCR part makes it really cool, this way you can search for the content of your document with Spotlight.&lt;/p&gt;

&lt;h4&gt;Factura&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/72/screen800x500.jpeg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=yA5%2FRcW64cW6uWijS%2FAlByTI8TA%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/72/thumb_screen800x500.jpeg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=LWEqc7jo%2FGSmBvAge%2Fh%2FShVQIqc%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After I exported all my documents to a location on the disk, I open them with &lt;a href="http://fousa.be/apps/factura"&gt;Factura&lt;/a&gt;. This is a small application I created to quickly order my documents in folders and subfolders.&lt;/p&gt;

&lt;p&gt;Hope this helps some of you! It sure does for me, since I started doing it I archived 1200 invoices and I can find them back in a minute with Spotlight.&lt;/p&gt;</description>
      <pubDate> 6 Mar 2014</pubDate>
      <link>http://www.fousa.be/blog/doxie-factura-dropbox</link>
      <guid>http://www.fousa.be/blog/doxie-factura-dropbox</guid>
    </item>
    <item>
      <title>Digital Ocean</title>
      <description>&lt;p&gt;I ran the &lt;a href="http://www.soaringbook.com"&gt;Soaring Book&lt;/a&gt; application on &lt;a href="http://heroku.com"&gt;Heroku&lt;/a&gt; for more than a year now. But because I wanted to do more background processing it soon became to expensive.&lt;/p&gt;

&lt;p&gt;Therefore I decided to switch to &lt;a href="http://digitalocean.com"&gt;DigitalOcean&lt;/a&gt;. Over here I have a server that is completely under my control. Check out the &lt;a href="https://www.digitalocean.com/features"&gt;specs&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Migrating from Heroku&lt;/h4&gt;

&lt;p&gt;Because the original application is designed to be use by &lt;em&gt;Heroku&lt;/em&gt;, I had to make some changes. Especially when it comes to using add-ons.&lt;/p&gt;

&lt;p&gt;Here are some add-ons I had to reconfigure in order to work on my new server:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://addons.heroku.com/sentry"&gt;Sentry&lt;/a&gt;: I now started using my own &lt;a href="http://errbit.github.io/errbit/"&gt;Errbit&lt;/a&gt; server.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://addons.heroku.com/sendgrid"&gt;Sendgrid&lt;/a&gt;: Change the config files because &lt;em&gt;Heroku&lt;/em&gt; does this automatically.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;I had to do the same for the &lt;a href="https://addons.heroku.com/pusher"&gt;Pusher&lt;/a&gt; configuration.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I also migrated from &lt;a href="https://github.com/collectiveidea/delayed_job"&gt;DelayedJob&lt;/a&gt; to &lt;a href="http://sidekiq.org"&gt;Sidekiq&lt;/a&gt; because I could setup my own &lt;a href="http://redis.io"&gt;Redis&lt;/a&gt; server without having to pay for it.&lt;/p&gt;

&lt;p&gt;Below you can find how I configured my application on &lt;em&gt;DigitalOcean&lt;/em&gt;.&lt;/p&gt;

&lt;h4&gt;Redis&lt;/h4&gt;

&lt;p&gt;You can install &lt;em&gt;Redis&lt;/em&gt; by running the following commands:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ sudo apt-get update
$ sudo apt-get install build-essential
$ wget http://redis.googlecode.com/files/redis-xxx.tar.gz
$ tar xzf redis-xxx.tar.gz
$ cd redis-xxx
$ make
$ make test
$ sudo make install
$ cd utils
$ sudo ./install_server.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Start/stop the &lt;em&gt;Redis&lt;/em&gt; services like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ sudo service redis_6379 start
$ sudo service redis_6379 stop
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To make &lt;em&gt;Redis&lt;/em&gt; auto start at boot run this command:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ sudo update-rc.d redis_6379 defaults
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I’m not going to dive in any deeper. If you want more information on how to install &lt;em&gt;Redis&lt;/em&gt; you can find it in the &lt;a href="https://www.digitalocean.com/community/articles/how-to-install-and-use-redis"&gt;DigitalOcean docs&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Git&lt;/h4&gt;

&lt;p&gt;You can install &lt;em&gt;Git&lt;/em&gt; by running the following commands:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ sudo apt-get install git-core
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I’m not going to dive in any deeper. If you want more information on how to install &lt;em&gt;Git&lt;/em&gt; you can find it in the &lt;a href="https://www.digitalocean.com/community/articles/how-to-install-git-on-ubuntu-12-04"&gt;DigitalOcean docs&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;PostgreSQL&lt;/h4&gt;

&lt;p&gt;You can install &lt;em&gt;Git&lt;/em&gt; by running the following commands:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ sudo apt-get install postgresql
$ sudo apt-get install postgresql-contrib
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I’m not going to dive in any deeper. If you want more information on how to install &lt;em&gt;Git&lt;/em&gt; you can find it in the &lt;a href="https://www.digitalocean.com/community/articles/how-to-install-and-use-postgresql-on-ubuntu-12-04"&gt;DigitalOcean docs&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;SSH keys&lt;/h4&gt;

&lt;p&gt;Here are some steps you can perform in order to generate some SSH keys for deployment:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ ssh-keygen -t rsa
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I’m not going to dive in any deeper. If you want more information on how to install &lt;em&gt;Git&lt;/em&gt; you can find it in the &lt;a href="https://www.digitalocean.com/community/articles/how-to-set-up-ssh-keys--2"&gt;DigitalOcean docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In order to add your &lt;em&gt;public ssh key&lt;/em&gt; to your &lt;a href="http://github.com"&gt;Github Deploy Keys&lt;/a&gt;, you have to copy the content of the &lt;em&gt;~/.ssh/id&lt;/em&gt;rsa.pub&lt;em&gt; file to your &lt;/em&gt;Github_ account.&lt;/p&gt;

&lt;h4&gt;Unicorn&lt;/h4&gt;

&lt;p&gt;Because I use &lt;a href="http://nadarei.co/mina/"&gt;Mina&lt;/a&gt; as the deployment utility, I had to reconfigure unicorn to use the correct working directory.&lt;/p&gt;

&lt;p&gt;Change the &lt;em&gt;working&lt;/em&gt;directory&lt;em&gt; setting in the file &lt;/em&gt;~/home/unicorn/unicorn.conf_ to match your directory. In my case like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;working_directory "/home/rails/production/current"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you run into some problems you can always tail the unicorn logging.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ tail -f /home/unicorn/log/unicorn.log
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Mina&lt;/h4&gt;

&lt;p&gt;Here is how to setup deployment with &lt;em&gt;mina&lt;/em&gt;. Add the gem to the &lt;em&gt;Gemfile&lt;/em&gt; and run &lt;em&gt;bundle install&lt;/em&gt; in order to set it.&lt;/p&gt;

&lt;p&gt;Next up: setup your project. Run the following command to create the needed files:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ mina init
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now a &lt;em&gt;deploy.rb&lt;/em&gt; file is added to the config directory. Here you have to do some changes. &lt;a href="https://gist.github.com/fousa/8918242"&gt;Here&lt;/a&gt; is an example of what I use.&lt;/p&gt;

&lt;p&gt;Create all the directories like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ mina setup
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now you’ll have to logon on the server in order to configure the &lt;em&gt;database.yml&lt;/em&gt; file. Because this file isn’t cloned from the repo.&lt;/p&gt;

&lt;h4&gt;Swap&lt;/h4&gt;

&lt;p&gt;After deployment I ran into some issues with memory. This can be solved my adding swap space to your server.&lt;/p&gt;

&lt;p&gt;More information on the &lt;a href="https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04"&gt;DigitalOcean Help&lt;/a&gt; pages.&lt;/p&gt;</description>
      <pubDate>24 Feb 2014</pubDate>
      <link>http://www.fousa.be/blog/digital-ocean</link>
      <guid>http://www.fousa.be/blog/digital-ocean</guid>
    </item>
    <item>
      <title>Mailbox</title>
      <description>&lt;p&gt;I recently started using the &lt;a href="http://www.mailpilot.co"&gt;Mail Pilot&lt;/a&gt; application to handle all my incoming mail on my iPhone, iPad &amp;amp; Mac. I prefer using the same clients so they handle the labels in the exact same way. Todo’s are linked as the same labels etc…&lt;/p&gt;

&lt;h4&gt;Mail Pilot&lt;/h4&gt;

&lt;p&gt;I love how &lt;em&gt;Mail Pilot&lt;/em&gt; handles your emails in a todo-like way. It was easy to complete and to put aside. But after a while I got a little frustrated by the small bugs that were still in the application. Push Notifications weren’t handled correctly, I was unable to search through my entire email set on Google.&lt;/p&gt;

&lt;p&gt;I wasn't sure that I read all my incoming mails. So I decided to look for alternatives.&lt;/p&gt;

&lt;h4&gt;Mailbox + Airmail&lt;/h4&gt;

&lt;p&gt;Here is my current setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;I use &lt;a href="http://www.mailboxapp.com"&gt;Mailbox&lt;/a&gt; on all my i-devices, because I like their todo/archive flow. Love the simplicity of the app.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;On OS X I use the &lt;a href="http://airmailapp.com"&gt;Airmail&lt;/a&gt; application, because this app is todo-ready, and I can assign the same labels as the todo labels defined in &lt;em&gt;Mailbox&lt;/em&gt;. Awesomeness!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>12 Feb 2014</pubDate>
      <link>http://www.fousa.be/blog/mailbox</link>
      <guid>http://www.fousa.be/blog/mailbox</guid>
    </item>
    <item>
      <title>Git mine/theirs</title>
      <description>&lt;p&gt;When you have some conflicts in your git repo after you performed a merge from another branch you have the ability to only select your changes or their changes.&lt;/p&gt;

&lt;p&gt;So which changes are mine, and what did they do?&lt;/p&gt;

&lt;h4&gt;Merging&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;Mine&lt;/strong&gt;: This will resolve the conflict using the version of your HEAD.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;theirs&lt;/strong&gt;: This will resolve the conflict using the version you are moving into your HEAD.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;Rebasing&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;Mine&lt;/strong&gt;: This will resolve the conflict using the version of you are rebasing on top of the current HEAD.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;theirs&lt;/strong&gt;: This will resolve the conflict using the version you rebase onto your HEAD.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;How?&lt;/h4&gt;

&lt;pre&gt;&lt;code&gt;$ git checkout --ours file.txt
$ git checkout —theirs file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Don’t forget to perform &lt;em&gt;git add&lt;/em&gt; on this file to add the changes.&lt;/p&gt;</description>
      <pubDate>10 Feb 2014</pubDate>
      <link>http://www.fousa.be/blog/git-mine-theirs</link>
      <guid>http://www.fousa.be/blog/git-mine-theirs</guid>
    </item>
    <item>
      <title>Some Vim commands</title>
      <description>&lt;h4&gt;s/find/replace with condition&lt;/h4&gt;

&lt;p&gt;Replace the word blue by the word green on every line that contains the word red.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;:g/red/s/blue/green
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;delete line with condition&lt;/h4&gt;

&lt;p&gt;Delete every line that contains the word red.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;:g/red/d
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Duplicate file in Vim&lt;/h4&gt;

&lt;p&gt;Save the current content to a new file.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;:saves new_filename
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Move lines&lt;/h4&gt;

&lt;p&gt;Move next line to the end of the current line.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;J
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Move next line to the end of the current line without a space.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gJ
&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate> 4 Feb 2014</pubDate>
      <link>http://www.fousa.be/blog/some-vim-commands</link>
      <guid>http://www.fousa.be/blog/some-vim-commands</guid>
    </item>
    <item>
      <title>SCP / RSYNC</title>
      <description>&lt;p&gt;Did you ever want to copy a file from your pc at home to your current machine?&lt;/p&gt;

&lt;p&gt;Well there are some ways to do this.&lt;/p&gt;

&lt;h4&gt;SCP&lt;/h4&gt;

&lt;p&gt;You can use SCP like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ ~  scp -p3333 
    jake@home.fuzzy.be:your_file your_destination_folder
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;em&gt;3333&lt;/em&gt; is the custom SSH port.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;em&gt;jake&lt;/em&gt; is my username.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;em&gt;home.fuzzy.be&lt;/em&gt; is a subdomain that redirects to the correct IP.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;RSYNC&lt;/h4&gt;

&lt;p&gt;The disadvantage with SCP is that I currently can’t find a way to show the progress of the download. So therefore I use Rsync.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ rsync -av --progress 
    --inplace --rsh='ssh -p3333 
    jake@home.fuzzy.be:your_file your_destination_folder
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;At least now you get a decent progress indicator.&lt;/p&gt;</description>
      <pubDate>28 Jan 2014</pubDate>
      <link>http://www.fousa.be/blog/scp-rsync</link>
      <guid>http://www.fousa.be/blog/scp-rsync</guid>
    </item>
    <item>
      <title>Codesign troubles</title>
      <description>&lt;p&gt;A few weeks ago I wanted to release a new version of the &lt;a href="http://fousa.be/apps/gpxreader-osx"&gt;GPX Reader&lt;/a&gt; application. This application uses the new MapKit framework and therefore the entitlements should be set correct in order to use this.&lt;/p&gt;

&lt;h4&gt;Problem&lt;/h4&itting the update to Apple I tested the application thoroughly to make sure everything was working correctly. And it was on my 2 machines.&lt;/p&gt;

&lt;p&gt;A few hours after the update hit the App Store I got some user emails that the maps stopped working. The track was drawn but the map background wasn’t shown.&lt;/p&gt;

&lt;p&gt;The problem was that I was provisioning the application with an App Store provisioning profile, so I wasn’t able to test that version on my machine to check whether something was wrong with it.&lt;/p&gt;

&lt;h4&gt;Solution&lt;/h4&gt;

&lt;p&gt;Because everything was working on my machine I contacted Apple support, and after some emailing they told me to try this.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Archive the application.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Export your application as a &lt;em&gt;Mac Installer Package&lt;/em&gt;. (You can do this after pressing the distribute button)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Now you have a &lt;em&gt;.pkg&lt;/em&gt; package somewhere on your machine. You’ll have to perform some actions on it. Open the Terminal and browse to the folder in which this package resides. Execute the following commands:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ pkgutil --expand package.pkg expand
$ open expand/be.fousa.app.pkg/Payload
$ codesign -d --entitlements - expand/be.fousa.app.pkg/App.app
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The last command will return the entitlements of the application as they are send to Apple. Like the one in this &lt;a href="https://gist.github.com/fousa/1fe50494f3d22029e3d5"&gt;gist&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In my case the &lt;em&gt;com.apple.developer.maps&lt;/em&gt; entitlements were missing and this caused the map to be missing.&lt;/p&gt;</description>
      <pubDate>22 Jan 2014</pubDate>
      <link>http://www.fousa.be/blog/codesign-troubles</link>
      <guid>http://www.fousa.be/blog/codesign-troubles</guid>
    </item>
    <item>
      <title>Testing File extensions</title>
      <description>&lt;p&gt;I recently had some problems with &lt;a href="http://fousa.be/apps/gpxreader-osx"&gt;GPX Reader&lt;/a&gt; and the support for the &lt;em&gt;.gpx&lt;/em&gt; file extension.&lt;/p&gt;

&lt;p&gt;Some people kept notifying me that Quick Look wasn’t always working, so I looked for a solution. Unfortunately this solution broke the support for &lt;em&gt;.gpx&lt;/em&gt; and many more emails followed.&lt;/p&gt;

&lt;h4&gt;qlmanage&lt;/h4&gt;

&lt;p&gt;I’m not going to talk about how to implement file extension support, but more on how you can check if the extension is registered by your app correctly.&lt;/p&gt;

&lt;p&gt;This is fairly easy. Run the following command in the Terminal.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ qlmanage -m | grep gpx
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will return the identifier with the application that is linked to it. If your app is not linked try starting your application once and than reload the generator list like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ qlmanage -r
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;mdls&lt;/h4&gt;

&lt;p&gt;The &lt;em&gt;mdls&lt;/em&gt; command allows you to browse all the attributes of a specific file. This can always come in handy to check if your identifier is added to the list.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ mdls filename.gpx
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Hope this helps some of you!&lt;/p&gt;</description>
      <pubDate>20 Jan 2014</pubDate>
      <link>http://www.fousa.be/blog/testing-file-extensions</link>
      <guid>http://www.fousa.be/blog/testing-file-extensions</guid>
    </item>
    <item>
      <title>Safari to Chrome</title>
      <description>&lt;h4&gt;Safari Extension&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/70/2014-01-15_at_09.20.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=Rk0967JdqG47gV62oDM2xvHB1nI%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/70/thumb_2014-01-15_at_09.20.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=WXs0Td%2Bw78VhPJLwOwF9oGKWmTs%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href="https://github.com/lhagan"&gt;Luke&lt;/a&gt; there is an easy way to open the current page in Safari in Google Chrome. The only thing you have to do is press the button in the top bar and BOOM Chrome will open the current page.&lt;/p&gt;

&lt;p&gt;Just download the plugin &lt;a href="https://github.com/lhagan/Open-in-Chrome"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>15 Jan 2014</pubDate>
      <link>http://www.fousa.be/blog/safari-to-chrome</link>
      <guid>http://www.fousa.be/blog/safari-to-chrome</guid>
    </item>
    <item>
      <title>LOLCommits</title>
      <description>&lt;p&gt;I've known LOL commits for some time now, but I finally started using it. Reason: I think it will be really cool if I check out the pictures taken after a year, what I was doing during commit, and how I looked.&lt;/p&gt;

&lt;h4&gt;What&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/69/3e4c7909d17.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=UzoyLwyPZqVD%2FsJ53zTjlZofo%2BE%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/69/thumb_3e4c7909d17.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=%2BdPX523NXkiPmbSwunYaaSWyek0%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now What does it do?&lt;/p&gt;

&lt;p&gt;Easy. It takes a picture with your onboard (or connected) camera at the moment you commit your changes to git. So &lt;em&gt;git commit -m "Awesome"&lt;/em&gt; will take a picture. The pictures taken at that time will be 'memed' with the commit message.&lt;/p&gt;

&lt;h4&gt;How&lt;/h4&gt;

&lt;p&gt;Again. Easy. Check out the website of LOL commits on how to install this. It worked instantly on my machine.&lt;/p&gt;

&lt;p&gt;Here is the &lt;a href="http://mroth.github.io/lolcommits/"&gt;LOLCommits&lt;/a&gt; website.&lt;/p&gt;

&lt;p&gt;To initialise a git repo to take some funny pictures execute the following line of code.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ lolcommits --enable --delay=5 --fork
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The &lt;em&gt;delay&lt;/em&gt;-parameter adds a delay of 5 seconds to the time of the commit, this way you won't be typing during the picture taking process.&lt;/p&gt;

&lt;h4&gt;Custom directory&lt;/h4&gt;

&lt;p&gt;I want to share my LOLCommit pictures on Dropbox, so I can use it on multiple computers.&lt;/p&gt;

&lt;p&gt;Add the following line in the &lt;em&gt;.git/hooks/post-commit&lt;/em&gt; file and place it before the &lt;em&gt;lolcommits&lt;/em&gt; command.&lt;/p&gt;

&lt;p&gt;export LOLCOMMITS_DIR=$HOME/Dropbox/LOLCommits&lt;/p&gt;

&lt;p&gt;Enjoy it! And please, share your images!&lt;/p&gt;

&lt;h4&gt;My post-commit hook&lt;/h4&gt;

&lt;p&gt;Here is how my post-commit hook looks like.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/bash
export PATH=/usr/local/bin:$PATH
export LOLCOMMITS_DIR=$HOME/Dropbox/LOLCommits
cd $GIT_DIR/..
lolcommits --capture
&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate>11 Jan 2014</pubDate>
      <link>http://www.fousa.be/blog/lolcommits</link>
      <guid>http://www.fousa.be/blog/lolcommits</guid>
    </item>
    <item>
      <title>XVim</title>
      <description>&lt;p&gt;Since I became a Vim user (again). I wanted to use this in every code editing tool I use. So for my iOS-OS X development this would be Xcode.&lt;/p&gt;

&lt;p&gt;There is a cool plugin to integrate Vim into Xcode, so that your editing window uses Vim shortcuts. This way I don't have to switch all the time.&lt;/p&gt;

&lt;h4&gt;Installing&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Download the project from &lt;a href="https://github.com/JugglerShu/XVim"&gt;Github&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Select the correct target. (Xvim for Xcode 5 in my case)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Edit the scheme and set the &lt;em&gt;Run Xcode.app&lt;/em&gt; Build Configuration to &lt;em&gt;Release&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Run the project.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;BOOM! You now have Vim integration in Xcode.&lt;/p&gt;</description>
      <pubDate> 6 Jan 2014</pubDate>
      <link>http://www.fousa.be/blog/xvim</link>
      <guid>http://www.fousa.be/blog/xvim</guid>
    </item>
    <item>
      <title>SDK in multiple projects</title>
      <description>&lt;p&gt;During the development for a client I had to use SDK code from one Github repo in multiple Xcode projects. But you don't want your application to be broken every time the SDK repo code get's updated.&lt;/p&gt;

&lt;p&gt;Therefore you commit every single line of code of the SDK to the SDK repo and to the application's repo, so when someone else clones this repo it will work without a hassle.&lt;/p&gt;

&lt;p&gt;Be aware, if you want to push back some SDK code to the main repo, that you'll have to something more too get this working (check the section &lt;em&gt;working together&lt;/em&gt;).&lt;/p&gt;

&lt;h4&gt;How&lt;/h4&gt;

&lt;p&gt;Go to the Terminal and clone the sdk directory to somewhere inside your current project folder.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ git clone git@github.com:project/sdk.git
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Add the cloned folder to your git repository by typing the following command. Make sure you type the &lt;em&gt;/&lt;/em&gt; Because otherwise git will see it as a submodule, and that is absolutely not what we want.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ git add sdk/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So now you added the sdk code to your project repo, this way when you clone the project file it will always work without a hassle.&lt;/p&gt;

&lt;h4&gt;Working together&lt;/h4&gt;

&lt;p&gt;If you're working with other people you have to change something. Well, not you, but the person that wants to contribute to the SDK code.&lt;/p&gt;

&lt;p&gt;He has to remove you're recently added sdk folder.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ rm -rf sdk/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And then he has to clone it again with the exact same folder name. Nothing will/should change in your project git status. But now he can commit and push changes to the sdk repo.&lt;/p&gt;

&lt;h4&gt;Best practice?&lt;/h4&gt;

&lt;p&gt;I'm still not convinced, but I'm open to other methods.&lt;/p&gt;</description>
      <pubDate> 2 Jan 2014</pubDate>
      <link>http://www.fousa.be/blog/sdk-in-multiple-projects</link>
      <guid>http://www.fousa.be/blog/sdk-in-multiple-projects</guid>
    </item>
    <item>
      <title>Aerobic running</title>
      <description>&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/67/Jelle___Energy_Lab__2_.JPG?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=4SYREZhVWKClONH6%2FaHlquUohI0%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/67/thumb_Jelle___Energy_Lab__2_.JPG?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=MyDP48Y0GB0qQ5glJ7vMt89Wg4Q%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I recently went to &lt;a href="http://www.energylab.be"&gt;Energy Lab&lt;/a&gt; to test my current running condition. I thought it would be nice to know my exact heart rate zones so I can continue preparing for the Antwerp marathon in a correct way.&lt;/p&gt;

&lt;p&gt;It would be sad to do it all wrong.&lt;/p&gt;

&lt;h4&gt;Results&lt;/h4&gt;

&lt;p&gt;At first the results were quite disappointing. They pointed out that if I keep running like this, my time for the marathon would be like 5h or so. So I really had to change something.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/68/2013-12-21_at_12.33.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=HFWRetKkJEV20kZp6WcMIYIp7eo%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/68/thumb_2013-12-21_at_12.33.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=epnFEN%2FC3xmLIcd1VgPItjivsWE%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The overall condition was okay, but my body entered the anaerobic zone to fast. I started burning to much sugars instead of fat. And you can run on sugars for an hour, but on fat for hours and hours. So I should try to stay in the aerobic zone to burn more fat.&lt;/p&gt;

&lt;h4&gt;Training&lt;/h4&gt;

&lt;p&gt;So what should I do? Well, start by running much slower. At a maximum heart rate of 161BPM. I find this to be very hard, but I guess when I keep on running at low speeds it will improve.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.strava.com/activities/101188330"&gt;Here&lt;/a&gt; is the log of my first slow run. Man that was hard.&lt;/p&gt;</description>
      <pubDate>22 Dec 2013</pubDate>
      <link>http://www.fousa.be/blog/aerobic-running</link>
      <guid>http://www.fousa.be/blog/aerobic-running</guid>
    </item>
    <item>
      <title>Porta Westfalica</title>
      <description>&lt;p&gt;The weekend of the 26th of october my brother in law and I went flying with a bunch of Belgians in &lt;a href="http://nl.wikipedia.org/wiki/Porta_Westfalica"&gt;Porta Westfalica&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/64/11131648313_e232debf05_b.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=wPCujQOCTorkFBDYwjYYvxqCpoo%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/64/thumb_11131648313_e232debf05_b.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=GxSwPawfbSOwwwD5CflWilPiGos%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Porta Westfalica is well known for it's ridge flying during the -boring- winter times. Well, at least if there's enough wind and it comes from the right direction (mainly from the south).&lt;/p&gt;

&lt;h4&gt;Organisation&lt;/h4&gt;

&lt;p&gt;If you want to go flying in Porta then the only thing you'll need is a glider (and a glider license of course). Simple as that. Ow yeah, and maybe some experience because it can be tricky flying so close to the slopes.&lt;/p&gt;

&lt;p&gt;My &lt;a href="http://www.flarm.com/"&gt;Flarm&lt;/a&gt; device didn't stop alerting me for collisions because you're always on the same height at the same place (the slope of course) as other gliders. I've never had some many head-on collision warnings as that day. So lookout is important (and this is really an understatement).&lt;/p&gt;

&lt;h4&gt;Days&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/65/11131657083_b1c3d1eae9_b.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=w31yTgjYP%2BA9ihrxG%2FI0qJ7fgxQ%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/65/thumb_11131657083_b1c3d1eae9_b.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=gXgJcQIvq6WXZhtlrNKlZh%2F5fLg%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first day started slow for me. After Peter did his flight and enjoyed it, I took off and did it one step at a time. First I did some recognition. Afterwards I started going further and further down the slopes. So not much km's for me in the beginning, but hey, we're here to learn and to enjoy ourselves.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/66/11131503435_99010f662a_b.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=HhLUusbPJ3b9N5ed0lWUQ6ahJus%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/66/thumb_11131503435_99010f662a_b.jpg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=d%2BKteeyuyjmzR%2BgAPiD%2FJNIqgyc%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second day was a lot better. The only disadvantage was that rain was coming in from the west. And next to that it was a bumpy day. It wasn't the easiest job to keep the &lt;a href="https://www.google.be/#q=libelle+glider"&gt;libelle&lt;/a&gt; flying straight. And although I don't like such heavy turbulence, I really enjoyed the flight.&lt;/p&gt;

&lt;p&gt;Sadly it ended quickly due to the rain that was coming in. And I didn't know the area good enough to keep on flying.&lt;/p&gt;

&lt;h4&gt;Will I go there again?&lt;/h4&gt;

&lt;p&gt;As soon as possible. I really had a great time. You're almost 100% certain you'll fly for some hours (depending on the weather of course). And it's an awesome way to break the boring winter time.&lt;/p&gt;

&lt;p&gt;Can't way to go back. Ow yeah, and &lt;a href="http://www.flickr.com/photos/jellevandebeeck/sets/72157638205884963/"&gt;here&lt;/a&gt; are some pictures I took.&lt;/p&gt;</description>
      <pubDate>19 Dec 2013</pubDate>
      <link>http://www.fousa.be/blog/porta-westfalica</link>
      <guid>http://www.fousa.be/blog/porta-westfalica</guid>
    </item>
    <item>
      <title>Shared static library</title>
      <description>&lt;p&gt;During my work for a client I had to build multiple iPad applications that connect to the same web service. The main problem here was how to centralize the SDK code so that it was easy to reuse inside all the different Xcode projects.&lt;/p&gt;

&lt;p&gt;Below is a small explanation of how I integrated it, but there will be more suitable solutions for this. I didn't use git submodules because I'm not too fond of them.&lt;/p&gt;

&lt;h4&gt;Logic&lt;/h4&gt;

&lt;p&gt;This is what I want to do.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Create a project that build your static library.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Reside the SDK project in a separate repository.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Include this project inside your iOS application project.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Make it possible to edit SDK code while developing in your app's project.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;Setup SDK project&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/28/Screen_Shot_2013-09-27_at_13.40.49.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=kXzHQ6taNZEfHnRkpH9w%2FgTeEIg%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/28/thumb_Screen_Shot_2013-09-27_at_13.40.49.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=eSaNC5n7e3ka4xye6FKcs5V3jmM%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is how you create your basic SDK project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Create a &lt;em&gt;Cocoa Touch Static Library&lt;/em&gt; project.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Change the &lt;em&gt;Public Headers Folder Path&lt;/em&gt; to &lt;em&gt;include/$(TARGET&lt;/em&gt;NAME)&lt;em&gt; in the &lt;/em&gt;Build Settings_ of your project.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Next you should create a global header file that you can include from within your application so that all the headers you import in there will be imported without you having to define them all.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/29/Screen_Shot_2013-09-27_at_13.48.53.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=d3oKuFheY44D32wz7rLIBvwus7w%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/29/thumb_Screen_Shot_2013-09-27_at_13.48.53.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=WwvU2qLMi56FtKsCdFLGb2Ihu60%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you should make sure that the headers you want to be public available are set to Public. You can do this in the &lt;em&gt;Build Phases&lt;/em&gt; tab of your project settings by adding a &lt;em&gt;Copy Headers&lt;/em&gt; build phase.&lt;/p&gt;

&lt;p&gt;Drag the headers you want to be available to the Public section as shown in the screenshot.&lt;/p&gt;

&lt;p&gt;I had a small problem that some headers were already defined inside the &lt;em&gt;Copy Files&lt;/em&gt; build phase. So I removed the duplicate copy files here.&lt;/p&gt;

&lt;h4&gt;Integrate inside another project&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/30/Screen_Shot_2013-09-27_at_13.52.55.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=jT1FwDy7oD35cRPZlUpBDBq%2FZ54%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/30/thumb_Screen_Shot_2013-09-27_at_13.52.55.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=6Gk2xDH3%2B6F7y5LcAs4mHXWDlpY%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now go to the parent folder of your SDK project, and create a new project here. So you perfectly know the relative path to the SDK.&lt;/p&gt;

&lt;p&gt;Now drag and drop your SDK project file into your application project. Sometimes you'll have to close Xcode and open it again in order to open the subproject from inside this project.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/31/Screen_Shot_2013-09-27_at_13.59.58.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=g%2BzaSTPnIPRh9KbBHX0a%2FnJgapM%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/31/thumb_Screen_Shot_2013-09-27_at_13.59.58.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=scZ7q03sOQRU%2FtAM72UoU7hbeI8%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to the &lt;em&gt;Build Phases&lt;/em&gt; tab and add the static library to the &lt;em&gt;Target Dependencies&lt;/em&gt;. And while you're at it, continue by adding the same library to the &lt;em&gt;Link Libraries With Binary&lt;/em&gt; list.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/32/Screen_Shot_2013-09-27_at_14.01.46.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=CuWAe43Pwx%2F4HhAcQ6fRH1mCVyo%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/32/thumb_Screen_Shot_20t_14.01.46.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=c0bZ%2FUkVusluGeKXklb6S29Hm7g%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the &lt;em&gt;Build Settings&lt;/em&gt; add the following flags to the &lt;em&gt;Other Linker Flags&lt;/em&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;-ObjC
-all_load
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And last but not least configure the application target to use the static library's header path during building. Add the following paths to the &lt;em&gt;Header Search Paths&lt;/em&gt; line in the &lt;em&gt;Build Settings&lt;/em&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$(TARGET_BUILD_DIR)/usr/local/lib/include
$(OBJROOT)/UninstalledProducts/include
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Using the library&lt;/h4&gt;

&lt;p&gt;Add the following code to your &lt;em&gt;Objective-C&lt;/em&gt; file, or somewhere inside your &lt;em&gt;.pch&lt;/em&gt; to include use your library.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#import 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;BAM! You just added the SDK library to your project.&lt;/p&gt;

&lt;h4&gt;Minor set backs&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;You have to make sure that other developers place the SDK project on the location you specify. For example: always in the SDK folder next to your application's root folder.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;You can only open the SDK project from inside another project one at a time.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Not perfect yet, but I'm satisfied with it at the moment.&lt;/p&gt;

&lt;h4&gt;Commit the SDK in the main repo&lt;/h4&gt;

&lt;p&gt;A few weeks later I added the SDK folder to the same repository as the main project's repo. The reason I did this is that the projected sometimes stopped working if someone did a small refactor to the SDK. And since we always use the code from the repo it could give some issues.&lt;/p&gt;

&lt;p&gt;So now I commit the SDK changes to the main projects repo (so this keeps working) and afterwards I update the main SDK repo. If you want to know how to do this check out this &lt;a href="http://debuggable.com/posts/git-fake-submodules:4b563ee4-f3cc-4061-967e-0e48cbdd56cb"&gt;post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It comes down to this. Add the SDK folder to your project's git like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ git add sdk/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The &lt;em&gt;/&lt;/em&gt; at the end does the trick, but you can find more on this in the blog post above.&lt;/p&gt;</description>
      <pubDate>15 Dec 2013</pubDate>
      <link>http://www.fousa.be/blog/shared-static-library</link>
      <guid>http://www.fousa.be/blog/shared-static-library</guid>
    </item>
    <item>
      <title>UITextField placeholder</title>
      <description>&lt;p&gt;Changing the placeholder color in a UITextField isn’t that difficult, but I always have to search the internetz for a solution.&lt;/p&gt;

&lt;h4&gt;Textfield&lt;/h4&gt;

&lt;p&gt;To change the color in a &lt;em&gt;UITextField&lt;/em&gt; you just have to subclass the textfield and override the following method.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;- (void)drawPlaceholderInRect:(CGRect)rect {
    [self.placeholder drawInRect:rect     
            withAttributes:@{
                NSFontAttributeName: 
                    self.font, 
                NSForegroundColorAttributeName: 
                    [UIColor red Color] 
            }];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When you implement this in the subclass the placeholder color will be red.&lt;/p&gt;

&lt;h4&gt;Search bar&lt;/h4&gt;

&lt;p&gt;But what if you want to change the placeholder color of the &lt;em&gt;UISearchBar&lt;/em&gt;. Well this is a bit harder. What I do is I create a category on &lt;em&gt;UITextField&lt;/em&gt; and add the following method to it.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;- (void)swizzled_drawPlaceholderInRect:(CGRect)rect {
    CGRect placeholderRect = [self textRectForBounds:rect];
    placeholderRect.origin = (CGPoint) { 0, 4 }; 

    [self.placeholder drawInRect:placeholderRect     
       withAttributes:@{
            NSFontAttributeName: 
                self.font, 
            NSForegroundColorAttributeName: 
                [UIColor red Color] 
        }];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Next up: create a class method on in the category I added above. Don't forget to import __ at the top.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;+ (void)swizzleDrawPlaceholder {
    Method original = class_getInstanceMethod([UITextField class],
                             @selector(drawPlaceholderInRect:));
    Method swizzled = class_getInstanceMethod([UITextField class],
                     @selector(swizzled_drawPlaceholderInRect:));
    method_exchangeImplementations(original, swizzled);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This code makes sure the &lt;em&gt;drawPlaceholderInRect:&lt;/em&gt; method will be swizzled with the &lt;em&gt;swizzled&lt;/em&gt;drawPlaceholderInRect:_.&lt;/p&gt;

&lt;p&gt;So instead of executing the code from the default &lt;em&gt;drawPlaceHolderInRect:&lt;/em&gt; the app will execute the code from the &lt;em&gt;swizzled_drawPlaceholderInRect:&lt;/em&gt;. Awesomeness. But before all this works you have to call the &lt;em&gt;[UITextField swizzleDrawPlaceholder]&lt;/em&gt; method from the &lt;em&gt;AppDelegate&lt;/em&gt;. This will trigger the swizzling.&lt;/p&gt;

&lt;p&gt;Ow yeah, and don’t forget to import the category at the top of the &lt;em&gt;AppDelegate&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The code above also shows a blue placeholder in a normal &lt;em&gt;UITextField&lt;/em&gt;, so there is no need to subclass this any more.&lt;/p&gt;

&lt;p&gt;More info on swizzling can be found &lt;a href="https://speakerdeck.com/inferis/objective-c-runtime-in-practice"&gt;here&lt;/a&gt;. a very interesting slide show on runtime in Objective-C by &lt;a href="http://twitter.com/inferis"&gt;@inferis&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>12 Dec 2013</pubDate>
      <link>http://www.fousa.be/blog/uitextfield-placeholder</link>
      <guid>http://www.fousa.be/blog/uitextfield-placeholder</guid>
    </item>
    <item>
      <title>Modal &amp; first responder</title>
      <description>&lt;p&gt;This is a blog post just to remind myself on how this works. I noticed on a recent project that it took me some time to find this bug and why it didn't work.&lt;/p&gt;

&lt;h4&gt;Problem&lt;/h4&gt;

&lt;p&gt;Now what is the problem. I have a table view controller in a navigation controller that is presented as a modal.&lt;/p&gt;

&lt;p&gt;Inside the table there is a cell that contains a textfield. I keep a reference to this textfield so I could easily dismiss the keyboard by resigning it from being first responder.&lt;/p&gt;

&lt;p&gt;But calling the following line of code did nothing. The keyboard only disappeared when dismissing the modal.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[textfield resignFirstResponder];
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Solution&lt;/h4&gt;

&lt;p&gt;Well, the solution is easy if you just present a single view controller in the modal. Implement the following method in the controller and return &lt;em&gt;NO&lt;/em&gt;. This will allow the keyboard to be dismissed in this modal presentation.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;- (BOOL)disablesAutomaticKeyboardDismissal {
    return NO;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But be aware, when this controller resides inside a navigation controller than implementing this method in the controller doesn't work. Than you'll have to subclass &lt;em&gt;UINavigationController&lt;/em&gt; and add the method there.&lt;/p&gt;</description>
      <pubDate> 9 Dec 2013</pubDate>
      <link>http://www.fousa.be/blog/modal-first-responder</link>
      <guid>http://www.fousa.be/blog/modal-first-responder</guid>
    </item>
    <item>
      <title>Nest in Belgium?</title>
      <description>&lt;p&gt;The annoying thing about using &lt;a href="http://nest.com"&gt;Nest&lt;/a&gt; on this side of the ocean, aka in Europe, is that you were not able to set your correct location. You just couldn't set the correct postal code for Belgium in this case.&lt;/p&gt;

&lt;p&gt;As a result you had to select a postal code somewhere in the US that has approximately a 12h difference. And then you'll have make sure that your keep this into account when setting your heating schedule.&lt;/p&gt;

&lt;h4&gt;And then suddenly...&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/62/foto_1.PNG?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=h%2F0tX7U61JCyj9N9s8mGaDH7Nek%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/62/thumb_foto_1.PNG?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=VU2MkB%2F1a1YZkOoCLwhECwi%2BS6o%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;... there was an update in the iOS application that allowed me to select Belgium and set the 4 digit postal code to 2640 (the awesome city of &lt;a href="https://maps.google.be/maps?q=stad+mortsel&amp;amp;ie=UTF-8&amp;amp;hq=&amp;amp;hnear=0x47c3fa0ec110e1ef:0xf4cb1f645daaa5de,Mortsel&amp;amp;gl=be&amp;amp;ei=kSKfUtbhG4KxtAb_9oDgCA&amp;amp;ved=0CJUBELYD"&gt;Mortsel&lt;/a&gt;). Did I miss this somewhere?&lt;/p&gt;

&lt;p&gt;Anyhow, this is awesome. Now I can just schedule my Nest without having to switch AM with PM and vice versa.&lt;/p&gt;

&lt;h4&gt;Testing&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/63/foto_2.PNG?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=ZuVvV0fqyIecB6TWaUP9zevv6vI%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/63/thumb_foto_2.PNG?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=BT818QKDyB9lIrmHfGXMfn3daGk%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I tried it out this morning and it worked. Not that I was surprised, but I wanted to make 100% sure. Now I can finally wake up and go from my bed to the shower without freezing.&lt;/p&gt;

&lt;p&gt;More info on the update can be found &lt;a href="http://support.nest.com/article/What-s-new-in-the-Nest-Thermostat-s-4-0-software-update"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate> 4 Dec 2013</pubDate>
      <link>http://www.fousa.be/blog/nest-in-belgium</link>
      <guid>http://www.fousa.be/blog/nest-in-belgium</guid>
    </item>
    <item>
      <title>Knock to unlock</title>
      <description>&lt;p&gt;Since a few weeks I've been using this tiny cool app called &lt;a href="http://www.knocktounlock.com/"&gt;Knock&lt;/a&gt;. When installed on your Mac &amp;amp; iPhone, it allows you to login to your Mac by just knocking your iPhone. It works really great.&lt;/p&gt;

&lt;h4&gt;Hu?&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/61/knock.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=igRTOnWxZvBYC%2FPumfQhppALPVA%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/61/thumb_knock.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=7HRr0Y%2BbEjmof0yZ0Brc%2B3YnHl4%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You know those moments where you run away from you Mac. The screensaver pops up, and your Mac is locked. After some time you come back with your iPhone in your pocket. (&lt;em&gt;Who leaves his desk without his phone?&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;Double knock on your phone and &lt;em&gt;BOOM&lt;/em&gt; your Mac is unlocked without you having to type your awful password. I think it's cool. You should check it out.&lt;/p&gt;</description>
      <pubDate> 2 Dec 2013</pubDate>
      <link>http://www.fousa.be/blog/knock-to-unlock</link>
      <guid>http://www.fousa.be/blog/knock-to-unlock</guid>
    </item>
    <item>
      <title>Empty back button in iOS 7</title>
      <description>&lt;p&gt;The new &lt;em&gt;UINavigationBar&lt;/em&gt; style changed a bit in iOS 7. A simple arrow is now displayed by default followed by the title of the previous &lt;em&gt;UIViewController&lt;/em&gt; on the navigation stack.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/52/Back.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=qHii80vQNkvf1MiuKF8XCxgxWQk%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/52/thumb_Back.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=Fi91X3lwjFqLY5CH0lzZJJj8ZHY%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I wonder if I could just remove the text and only keep the arrow. Just because it's not always useful to show the text. Most of the time you know where you're coming from, and you can just use all the space available on the little iPhone screen.&lt;/p&gt;

&lt;h4&gt;Implementation&lt;/h4&gt;

&lt;p&gt;You can implement this by changing the offset the title of the back &lt;em&gt;UIBarButtonItem&lt;/em&gt;. Set this on the &lt;em&gt;appearance&lt;/em&gt; of &lt;em&gt;UIBarButtonItem&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Here is how:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[[UIBarButtonItem appearance] 
    setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000, -1000) 
    forBarMetrics:UIBarMetricsDefault];
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The only disadvantage is that if your original back button title is too large it will push the main navigation bar title to the right side. I'm still looking for a solution on this.&lt;/p&gt;</description>
      <pubDate>29 Nov 2013</pubDate>
      <link>http://www.fousa.be/blog/empty-back-button-in-ios-7</link>
      <guid>http://www.fousa.be/blog/empty-back-button-in-ios-7</guid>
    </item>
    <item>
      <title>Mantle</title>
      <description>&lt;p&gt;Every time you connect to a web service and want to parse a JSON  response to your Objective-C objects you'll have to do some conversion. Like iterating all the key/value pairs in order to assign the values to the correct properties.&lt;/p&gt;

&lt;p&gt;This is a lot of work. But there is a cool solution for this. Meet &lt;a href="https://github.com/github/Mantle"&gt;Mantle&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Hello Mantle&lt;/h4&gt;

&lt;p&gt;Mantle is a small framework that allows you to parse an &lt;em&gt;NSDictionary&lt;/em&gt; to your custom objects without to much hassle. Just extend you model from &lt;em&gt;MTModel&lt;/em&gt; and you can get started.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#import "MTModel.h"

@interface YourModel : MTModel
@end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Below are a few simple examples to show you how Mantle can help you.&lt;/p&gt;

&lt;h4&gt;Mapping&lt;/h4&gt;

&lt;p&gt;You can map your property names to the names used by the web service. I hate to use the API names, because most of the time they suck. For example: Mapping the &lt;em&gt;created_at&lt;/em&gt; value to the &lt;em&gt;createdAt&lt;/em&gt; property is done by implementing the method below inside your model.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;+ (NSDictionary *)JSONKeyPathsByPropertyKey {
    return @{
        @"createdAt": @"created_at",
        @"user": NSNull.null
    };
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Mapping the user property name to &lt;em&gt;NSNull.null&lt;/em&gt; makes sure the user property is ignore during the serialization to JSON.&lt;/p&gt;

&lt;h4&gt;Transforming&lt;/h4&gt;

&lt;p&gt;Sometimes you'll have to convert a date to the &lt;em&gt;NSDate&lt;/em&gt; class. This can be easily done by implementing the following code. (Be aware, the NSDateFormatter is defined somewhere else in a category on &lt;em&gt;NSDate/NSString&lt;/em&gt;)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;+ (NSValueTransformer *)createdAtJSONTransformer {
    return [MTLValueTransformer 
        reversibleTransformerWithForwardBlock:^(NSString *text) {
            return [self.dateFormatter dateFromString:text];
    } reverseBlock:^(NSDate *date) {
        return [self.dateFormatter stringFromDate:date];
    }];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can always implement the &lt;em&gt;&lt;em&gt;JSONTransformer method to do transformations. The &lt;/em&gt;reversibleTransformerWithForwardBlock&lt;/em&gt; block is executed when converting from the web service value to the property. And the &lt;em&gt;reverseBlock&lt;/em&gt; is used the other way around.&lt;/p&gt;

&lt;h4&gt;To dictionary&lt;/h4&gt;

&lt;p&gt;Converting your custom object back to a dictionary is as easy as calling the &lt;em&gt;dictionaryValue&lt;/em&gt; selector on the object that extends from &lt;em&gt;MTModel&lt;/em&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[myObject dictionaryValue]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;These are some basic examples on how to use Mantle, well at least it speeds up my web service implementation time.&lt;/p&gt;</description>
      <pubDate>25 Nov 2013</pubDate>
      <link>http://www.fousa.be/blog/mantle</link>
      <guid>http://www.fousa.be/blog/mantle</guid>
    </item>
    <item>
      <title>Rearranged spaces on OS X</title>
      <description>&lt;p&gt;I'm a big fan of spaces, and use them all the time. I love to keep things organised and next to positioning all my apps with &lt;a href="http://mizage.com/divvy/"&gt;Divvy&lt;/a&gt;, switching between spaces is probably one of the things I do the most.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/55/spaces.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=N29FpchfE7Z7EqnS0bFlr7FV1jE%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/55/thumb_spaces.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=U1sTw7HjtsYwhZ1aU4ncFI1nVaU%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, the only thing I hate is that sometimes the spaces switch position. And since I always want to know where I am and how I can get to an application with the least touches on the keyboard, I really had to get this fixed.&lt;/p&gt;

&lt;h4&gt;Solution&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/56/Screenshot_2013-10-23_10.33.00.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=6hhcYI3CKxgN%2FcZbu6fuHESmt5s%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/56/thumb_Screenshot_2013-10-23_10.33.00.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=kmnlVmdWGPAxKkIv5mrhsZaw%2F7o%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well, the solution is very easy. Just go to the Settings application and open the &lt;em&gt;Mission Control&lt;/em&gt; preference pane.&lt;/p&gt;

&lt;p&gt;Here you have to deselect the option &lt;em&gt;Automatically rearrange spaces based on most recent use&lt;/em&gt;. Unbelievable that I had to bare this, and only found this option after months (maybe years) of annoyance...&lt;/p&gt;</description>
      <pubDate>18 Nov 2013</pubDate>
      <link>http://www.fousa.be/blog/rearranged-spaces-on-os-x</link>
      <guid>http://www.fousa.be/blog/rearranged-spaces-on-os-x</guid>
    </item>
    <item>
      <title>Import dump from Heroku</title>
      <description>&lt;p&gt;Back in the days cloning your remote database from &lt;a href="http://heroku.com"&gt;Heroku&lt;/a&gt;  to your local machine was just a matter of running &lt;em&gt;heroku db:pull&lt;/em&gt; and BAM all your data was downloaded to your local Postgres database.&lt;/p&gt;

&lt;p&gt;But for some reason the &lt;a href="https://github.com/ricardochimal/taps"&gt;taps&lt;/a&gt; functionality stopped working...&lt;/p&gt;

&lt;h4&gt;What now?&lt;/h4&gt;

&lt;p&gt;Well, there are a few more steps to it in order to get it done.&lt;/p&gt;

&lt;p&gt;You first start by backing up your remote database.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ heroku pgbackups:capture
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then copy the latest backup to your local filesystem.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ curl -o latest.dump `heroku pgbackups:url`
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And in the last step you import the downloaded dump into your local database.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ pg_restore --verbose --clean --no-acl --no-owner
    -h localhost -U myuser -d mydb latest.dump
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Et voila. Now you have real life data on your local machine.&lt;/p&gt;</description>
      <pubDate>14 Nov 2013</pubDate>
      <link>http://www.fousa.be/blog/import-dump-from-heroku</link>
      <guid>http://www.fousa.be/blog/import-dump-from-heroku</guid>
    </item>
    <item>
      <title>Pow + rbenv</title>
      <description>&lt;p&gt;Every time I have to setup a new Ruby on Rails website I have troubles with &lt;a href="http://pow.cx"&gt;Pow&lt;/a&gt;. And so that is why I wanted to let you (and probably the future me again) know how to configure your machine in order to get it up and running.&lt;/p&gt;

&lt;h4&gt;Problem&lt;/h4&gt;

&lt;p&gt;When adding your RoR application to pow, and try to browse to the domain created by Pow, I always get the following error with bundler:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;LoadError: cannot load such file -- bundler/setup
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Well, not always, when using &lt;a href="http://rbenv.org"&gt;rbenv&lt;/a&gt; in this case. So I had to look for a way to get this working,&lt;/p&gt;

&lt;h4&gt;Solution&lt;/h4&gt;

&lt;p&gt;It's really simple. Just add the following line of code to your &lt;em&gt;~/.powconfig&lt;/em&gt; file and restart Pow. Everything should be up and running.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;export PATH="$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Peace of cake!&lt;/p&gt;</description>
      <pubDate> 9 Nov 2013</pubDate>
      <link>http://www.fousa.be/blog/pow-rbenv</link>
      <guid>http://www.fousa.be/blog/pow-rbenv</guid>
    </item>
    <item>
      <title>Punch &amp; GPX Reader</title>
      <description>&lt;p&gt;And again, here are some updates.&lt;/p&gt;

&lt;h4&gt;Punch for Freckle&lt;/h4&gt;

&lt;p&gt;I fixed a small bug when trying to authenticate with a special character (like a ?) in your password. You weren't able to log in, but with this update this should be fixed.&lt;/p&gt;

&lt;h4&gt;GPX Reader for iOS&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/60/mzl.uxsxiltn.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=bJoxlzMLS6nZoZnH%2F3PZY65OZ5k%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/60/thumb_mzl.uxsxiltn.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=SDV%2BqwJkv%2BthtzkkTAx%2FOVnGCo4%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And GPX Reader for iOS got a major update. I revamped the entire application to match the iOS 7 style. Hope you like it.&lt;/p&gt;

&lt;p&gt;Next to this I refactored the code and fixed some minor bugs. The GPX &amp;amp; TCX parsing should be more performant with this update.&lt;/p&gt;

&lt;p&gt;Enjoy the applications and let me know if you have a nice feature I can implement.&lt;/p&gt;</description>
      <pubDate> 7 Nov 2013</pubDate>
      <link>http://www.fousa.be/blog/punch-gpx-reader</link>
      <guid>http://www.fousa.be/blog/punch-gpx-reader</guid>
    </item>
    <item>
      <title>Garmin Connect to Strava</title>
      <description>&lt;p&gt;Every time I come back home after a nice run I have to connect my Garmin device to my Mac and upload them to all my services (such as Strava, Runkeeper, …) And I got a bit tired of doing so. So &lt;a href="https://twitter.com/tomklaasen"&gt;@tomklaasen&lt;/a&gt; brought me a nice solution.&lt;/p&gt;

&lt;h4&gt;Tapiriik&lt;/h4&gt;

&lt;p&gt;Meet &lt;a href="http://tapiriik.com"&gt;Tapirriik&lt;/a&gt;, an sync service that connect all you different sports account together. Send your data from Strava to RunKeeper and back. Keep both of these account perfectly synchronized without you having to upload your activity twice.&lt;/p&gt;

&lt;p&gt;And if you pay 2$ a year, you will be able to use the automated sync service, it performs your sync every hour without you even noticing it.&lt;/p&gt;

&lt;h4&gt;Services&lt;/h4&gt;

&lt;p&gt;Tapiriik supports the following services, I currently sync with four of them.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/13/Screen_Shot_2013-09-15_at_11.30.26.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=YSJx3RZScgFM2iOQiZVph2OPYwA%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/13/thumb_Screen_Shot_2013-09-15_at_11.30.26.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=1VdGH6RSMY0OVaA9sgyunPR4D6c%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://connect.garmin.com"&gt;GARMIN CONNECT&lt;/a&gt; (To connect my sport watch.)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.strava.com"&gt;STRAVA&lt;/a&gt; (My main activity service)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.runkeeper.com"&gt;RUNKEEPER&lt;/a&gt; (Just to keep my friends happy, because I'm really on Strava.)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.endomondo.com"&gt;ENDOMONDO&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.zonefivesoftware.com/sporttracks/"&gt;SPORTTRACKS&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.dropbox.com"&gt;DROPBOX&lt;/a&gt; (Exports all my GPX files from Strava to Dropbox, so I can always check them in my &lt;a href="http://http://gpxreader.fousa.be"&gt;GPX Reader&lt;/a&gt; application.)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;Configure&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/14/Screen_Shot_2013-09-15_at_11.30.36.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=W4slVrVct%2BdUSz7lqhxFeHwQCn0%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/14/thumb_Screen_Shot_2013-09-15_at_11.30.36.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=L%2BoNhJl4HxreP%2Fa%2Bh2sio3zerAM%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can customize the sync process for every service. I love this feature. Tapirriik will sync only from Garmin Connect to Strava, and only from Strava to RunKeeper for example.&lt;/p&gt;

&lt;p&gt;This way you can control where you're running (or whatever activity you upload) goes.&lt;/p&gt;</description>
      <pubDate> 4 Nov 2013</pubDate>
      <link>http://www.fousa.be/blog/garmin-connect-to-strava</link>
      <guid>http://www.fousa.be/blog/garmin-connect-to-strava</guid>
    </item>
    <item>
      <title>Amsterdam half marathon</title>
      <description>&lt;p&gt;Sunday the 20th of october in the year 2013 will be known as the day I first ran half a marathon. I started training for this event in july as part of a small bet with a friend of mine. And believe it or not, I did it!&lt;/p&gt;

&lt;h4&gt;How it went&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/53/Screenshot_2013-10-22_23.32.49.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=onunDMHnBcuRszjy%2FfJbsM09w6s%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/53/thumb_Screenshot_2013-10-22_23.32.49.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=12x%2FQVGm3Oee2%2Fl5VoPgzgpbhWY%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just before the start my friend Jantien and I decided to run together, because it was our first time, and you never know we could help each other out.&lt;/p&gt;

&lt;p&gt;Minutes before we had to start running I became really nervous. But once we started that was all gone and there was just one thing on my mind: &lt;em&gt;finishing my first half marathon&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/54/Screenshot_2013-10-22_23.33.34.png?AWSAccessKeyId=AKIAILRGQTPPUQ&amp;Signature=sg8Cz6eNQ2ldKSq%2B%2BnbDDlNZlBk%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/54/thumb_Screenshot_2013-10-22_23.33.34.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=fdu4AUQXI2Ke4D2uRblQozLE%2Bxs%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For me the hardest part of the race were the first 5k. Why? Because we started in a group that was estimated to finish between &lt;em&gt;02:00:00&lt;/em&gt; and &lt;em&gt;02:10:00&lt;/em&gt;, and our plan was to run in &lt;em&gt;01:45:00&lt;/em&gt; so this meant we had to overtake lots of people in the beginning.&lt;/p&gt;

&lt;p&gt;So there was a lot of slowing down and speeding up at the beginning and this took a lot of energy. Jantien had a tough time but she managed to keep up. But I ran at a much lower pace than what I did on training. On km 16 she started to walk so she could recover a bit... At that time I started running at a higher pace so I could make up some of the time lost in the beginning.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/59/2013-10-31_at_10.10.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=Q7%2FCD2t%2BmUZKcOxkUMrf1G9Rk58%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/59/thumb_2013-10-31_at_10.10.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=KN8d3vpxxIGJi%2FKjC3ieyFaRWUM%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the point where we got separated we were running at an average pace of &lt;em&gt;5:30min/km&lt;/em&gt;, and by running faster during the last 5k I could bring it back to &lt;em&gt;5:11min/km&lt;/em&gt;. So I was pretty happy with this.&lt;/p&gt;

&lt;p&gt;The last part of the half marathon was entering the Amsterdam Arena. This was a really cool experience. A really cool way to finishing the 21k run, really satisfying.&lt;/p&gt;

&lt;h4&gt;Lessons learned&lt;/h4&gt;

&lt;p&gt;Here are some things I learned.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Sign up for the correct start group.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;I really have to learn how to drink from a cup while running.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Running together is not that easy, because one always has to watch the other. And if you're not at the same level this can be frustrating.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;You can read more on what plan I followed in the post &lt;a href="http://fousa.be/blog/running-with-asics"&gt;Running with Asics&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>31 Oct 2013</pubDate>
      <link>http://www.fousa.be/blog/amsterdam-half-marathon</link>
      <guid>http://www.fousa.be/blog/amsterdam-half-marathon</guid>
    </item>
    <item>
      <title>Alfred &amp; Nest</title>
      <description>&lt;p&gt;What if... you could combine one of my favourite tools on OS X, called &lt;a href="http://alfredapp.com"&gt;Alfred&lt;/a&gt; with my favourite thermostat Nest? Well, you can and than you're able to control the &lt;a href="http://nest.com"&gt;Nest&lt;/a&gt; with just some simple touches on your keyboard.&lt;/p&gt;

&lt;p&gt;Install the Alfred &lt;a href="http://www.alfredforum.com/topic/1710-another-nest-thermostat-workflow/"&gt;workflow&lt;/a&gt; so you can get things started.&lt;/p&gt;

&lt;h4&gt;Check status&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/37/Screen_Shot_2013-10-09_at_13.58.13.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=DKLV7Yxze3Xsv7IMkCSTMqTPN2Y%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/37/thumb_Screen_Shot_2013-10-09_at_13.58.13.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=dXqtWo2207ONmfb9qu8jXCHw%2Bv4%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the main things I use the workflow for is to check the current status of my Nest. I quickly want to know the temperature at home. It even displays the current humidity and your current away state. (So you can check if auto away did a good job)&lt;/p&gt;

&lt;h4&gt;Set temperature&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/38/Screen_Shot_2013-10-09_at_13.58.23.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=547%2B97gpVUWijDdShPZ3PdZMbqk%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/38/thumb_Screen_Shot_2013-10-09_at_13.58.23.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=1FVf%2BFwMWgk5RoatY7F65XjUkRc%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another cool thing is that you can set the temperature by typing &lt;em&gt;nest temp 20&lt;/em&gt;. This will set the current temperature to 20˚, and I suppose if your Nest's unit is Fahrenheit it will use this as your unit.&lt;/p&gt;

&lt;h4&gt;More functions&lt;/h4&gt;

&lt;p&gt;Here are some more functions you can use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;em&gt;nest fan&lt;/em&gt;: Sets the nest's fan mode.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;em&gt;nest away&lt;/em&gt;: Sets whether your away or home.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;em&gt;nest mode&lt;/em&gt;: Change from heat mode to cool mode.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;em&gt;nest weather&lt;/em&gt;: Get the forecast at the Nest's location.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;em&gt;nest nest&lt;/em&gt;: List all your available Nest's devices and choose the active one.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>28 Oct 2013</pubDate>
      <link>http://www.fousa.be/blog/alfred-nest</link>
      <guid>http://www.fousa.be/blog/alfred-nest</guid>
    </item>
    <item>
      <title>OS X app updates</title>
      <description>&lt;p&gt;Since the GM version of OS X Mavericks is released to developers I was able to install it and test all my &lt;a href="http://fousa.be/#osx"&gt;OS X&lt;/a&gt; applications on it.&lt;/p&gt;

&lt;p&gt;And I got some more work than expected...&lt;/p&gt;

&lt;h4&gt;Pivot, Factura &amp;amp; Eggy&lt;/h4&gt;

&lt;p&gt;The &lt;a href="http://pivot.fousa.be"&gt;Pivot&lt;/a&gt;, &lt;a href="http://www.fousa.be/apps/factura"&gt;Factura&lt;/a&gt; &amp;amp; &lt;a href="http://www.fousa.be/apps/eggy"&gt;Eggy&lt;/a&gt; applications didn't just got some bug fixes. I removed some old code, to be more conform with the new OS X SDK's.&lt;/p&gt;

&lt;h4&gt;Punch&lt;/h4&gt;

&lt;p&gt;The &lt;a href="http://www.getharvest.com"&gt;Harvest&lt;/a&gt; version of Punch just got some refactored code and depreciation removal. So nothing special.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/57/Screen_Shot_2013-10-09_at_22.44.56.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=aLKWFyTngYRWJYjXkELgMJ8DYj4%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/57/thumb_Screen_Shot_2013-10-09_at_22.44.56.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=3U6Sso9rzJeNxHKvHioLTwjWSRU%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://punch.fousa.be"&gt;Punch for Freckle&lt;/a&gt; on the other hand got the integration of new #hashtags. This is a new feature supported by Freckle and didn't seem to work out of the blue. Something needed to be fixed in the API in order to send them through correctly.&lt;/p&gt;

&lt;h4&gt;Snabb&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/58/Screenshot_2013-10-24_22.04.11.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=oKivzMMlf0Qwpzqi7YIWhGBb4A4%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/58/thumb_Screenshot_2013-10-24_22.04.11.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=kjQOJd1rInKRjXa83hBQBYMyyeo%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The fastest way to post a message to &lt;a href="http://app.net"&gt;App.net&lt;/a&gt; is using the &lt;a href="http://fousa.be/apps/snabb"&gt;Snabb&lt;/a&gt; application. But in order to get it working in Mavericks, I had to do some changes to the login flow. Login in wasn't possible anymore, due to behaviour changes in the &lt;em&gt;WebView&lt;/em&gt; I used. Other than that I refactored some code, removed some code warnings, and had fun doing it!&lt;/p&gt;

&lt;h4&gt;GPX Reader&lt;/h4&gt;

&lt;p&gt;The &lt;a href="http://gpxreader.fousa.be"&gt;GPX Reader&lt;/a&gt;'s codebase was revamped completely. So I should work a lot smoother.&lt;/p&gt;

&lt;p&gt;I also did some design changes, and implementer a nicer overall look and feel. Here is a small list with some examples.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Better share icon in the window bar.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Better window background behaviour.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Nice looking annotations.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Better display of paths.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Bottom bar with zoom controls and notion of distance.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/41/Screen_Shot_2013-10-09_at_22.57.54.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=Yv1xgmFefxwSlo7ZAi2i2eAKzqY%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/41/thumb_Screen_Shot_2013-10-09_at_22.57.54.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=sVyLhHarjntZTZt4blXmE5QRNeY%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And last but not least the &lt;a href="https://github.com/Oomph/MacMapKit"&gt;MacMapKit&lt;/a&gt; is replaced by the native Maps. Finally! I was waiting for this FO-EVAH! And since I'm so happy it is released I wanted it in GPX Reader as soon as possible! Rendering is much smoother, exporting options will be integrated and more features will be coming to you thanks to MapKit.&lt;/p&gt;

&lt;p&gt;When annotations are showing on the map, you'll also have the possibility to open &lt;em&gt;Apple Maps&lt;/em&gt; and get the directions for this point.&lt;/p&gt;</description>
      <pubDate>24 Oct 2013</pubDate>
      <link>http://www.fousa.be/blog/os-x-app-updates</link>
      <guid>http://www.fousa.be/blog/os-x-app-updates</guid>
    </item>
    <item>
      <title>iOS app updates, part II</title>
      <description>&lt;p&gt;And here comes the next batch of app updates to make them match more with iOS 7.&lt;/p&gt;

&lt;h4&gt;Spoty&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://www.fousa.be/apps/spoty"&gt;Spoty&lt;/a&gt; application got completely revamped. It was a lot of work to get everything iOS 7 conform, but I'm satisfied with the result.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/43/Icon.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=%2BU6g1QIPkn%2B0dzx4maEiNXW97cQ%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/43/thumb_Icon.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=eyHYoygo7xcIMdstYKd%2Buzsv9rA%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You won't notice a lot of changes in functionality but now that everything refactored I can continue adding more features. Don't forget to email me if you thinks something is really missing!&lt;/p&gt;

&lt;p&gt;Some changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Updated the icon.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Updated the user interface to be more &lt;em&gt;iOS 7-ish&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;iPad now only usable in landscape mode.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;iPad shows mode &lt;em&gt;daily&lt;/em&gt; data than the iPhone version.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Faster network interaction.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;RASP&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/44/mzl.wmjbabid.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=i2PMMIKQizxX494yHbdB6bJ%2FQk4%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/44/thumb_mzl.wmjbabid.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=cNu1RQQfZyDHVTtkaIAEjqYpGXY%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://fousa.be/apps/rasp"&gt;RASP&lt;/a&gt; has about the same changes as Spoty. No new features or charts, but most of them are UI changes to get everything right.&lt;/p&gt;

&lt;p&gt;Here is what I did:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Updated the user interface to be more &lt;em&gt;iOS 7-ish&lt;/em&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Better network connectivity.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Refactored some old code.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Because of a lack of time I didn't get to maintain RASP as I wanted, so I decided to make the app a paid app. Lot of people will hate me for it, but this gives me an excuse to keep maintaining it. I will do more UI changes and add more charts. So keep me posted of new charts so I can add them!&lt;/p&gt;

&lt;h4&gt;IGC Reader&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/45/iOS_Simulator_Screen_shot_13_Oct_2013_23.35.26.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=mg0B0HUdgzMX6fkLZaM02iV%2FwwY%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/45/thumb_iOS_Simulator_Screen_shot_13_Oct_2013_23.35.26.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=BTKGlOLmx%2BVcSqbwPefgHM6ogh0%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We're almost finished with the updates. Here is the second last one, &lt;a href="http://fousa.be/apps/igcreader"&gt;IGC Reader&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can guess two times why I updated this app? Correct Sherlock! Because the app became fugly according to the &lt;em&gt;iOS 7&lt;/em&gt; design guidelines.&lt;/p&gt;

&lt;p&gt;Below is a small list of what changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;The UI changed big time.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ability to save every IGC file to the application for later (and offline) use.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Some more IGC parsing bug fixes that were notified by some users.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>22 Oct 2013</pubDate>
      <link>http://www.fousa.be/blog/ios-app-updates-part-ii</link>
      <guid>http://www.fousa.be/blog/ios-app-updates-part-ii</guid>
    </item>
    <item>
      <title>Windows Phone in VMWare</title>
      <description>&lt;p&gt;I had to develop a Windows Mobile 8 application for a client. And since I had to develop this on my Mac, I had to setup my Windows 8 development environment on &lt;a href="http://www.vmware.com/products/fusion/"&gt;VMWare&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/47/1.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=bl4sYlSq5gU%2BWhsWf75D3UpaOmc%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/47/thumb_1.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=YLSvJETlp2TysqmMifT9bD65hqU%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Development itself wasn't the major issue. The biggest trouble came from running the Windows Phone emulator. Apparently I had to configure some stuff in my VM in order to get this up and running.&lt;/p&gt;

&lt;h4&gt;Setup your VMWare&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/48/2.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=f14K6xxpfR0fTLqHVTY%2Buys8lz8%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/48/thumb_2.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=7S3k6e9fZiZYnfSd0zFEADrFh4I%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have to enabled the Hyper-V mode on your virtual machine. Go to the &lt;em&gt;Processors &amp;amp; Memory&lt;/em&gt; Settings pane of your VM. Open the Advanced options and select the &lt;em&gt;Enabled hypervisor applications in this virtual machine&lt;/em&gt; checkbox.&lt;/p&gt;

&lt;p&gt;Also make sure you have allocated enough memory to this VM because otherwise your emulator will start complaining if you have insufficient memory.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/49/3.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=zfJ5LzSO1Yt1m0jTDRV5n6xiHlo%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/49/thumb_3.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=%2BkXnXJgIdHPW7cnJpDoQlfuigAQ%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next up. Go to the Library window and right click on your virtual machine. Select &lt;em&gt;Show in Finder&lt;/em&gt; to get a Finder window with the folder where your VM resides. Here you have to open the Package Contents of your VM.&lt;/p&gt;

&lt;p&gt;In this folder open the file with the &lt;em&gt;.vmx&lt;/em&gt; extension and add the following line.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;hypervisor.cpuid.v0 = "FALSE"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Next save the file and restart your VM.&lt;/p&gt;

&lt;h4&gt;Setup your Windows&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/50/Screenshot_2013-10-19_14.58.28.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=9doIh7XfzNyRRpG1KcLZ5kGjBq4%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/50/thumb_Screenshot_2013-10-19_14.58.28.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=lAGgVhl9NaHVDUma65Pm2thgwTg%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you have to enable &lt;em&gt;Hyper-V&lt;/em&gt; mode in your Windows VM. Go to the Configuration screen and select &lt;em&gt;Programs and Features&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Next look for the &lt;em&gt;Turn Windows features on or off&lt;/em&gt; link, or something like that. Here you can select the look for the Hyper-V checkboxes. Check all the boxes and press Ok. Now you will be asked to restart the VM and you'll have to do so.&lt;/p&gt;

&lt;h4&gt;Start the emulator&lt;/h4&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/51/5.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=Hk4SZrxhg92HvX7QtL53qRIi1nk%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/51/thumb_5.png?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=2ZGplIVQk28cPZ76A%2Fx7ytjKsIA%3D&amp;Expires=1408114955" class="left" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now the time has come to test our Windows Phone 8 emulator. Open yur project in the &lt;em&gt;Visual Studio for Windows Phone&lt;/em&gt; environment.&lt;/p&gt;

&lt;p&gt;Wait until everything is loaded, I hope you don't mind waiting because this can take a while... And than press the &lt;em&gt;Emulator WVGA 512MB&lt;/em&gt; button with the green arrow. This will start the emulator and BOOM you're good to go!&lt;/p&gt;

&lt;p&gt;You should just click &lt;em&gt;Retry&lt;/em&gt; or &lt;em&gt;Continue&lt;/em&gt; on any popup that appears. Apparently Microsoft doesn't like you to develop something for them...&lt;/p&gt;</description>
      <pubDate>19 Oct 2013</pubDate>
      <link>http://www.fousa.be/blog/windows-phone-in-vmware</link>
      <guid>http://www.fousa.be/blog/windows-phone-in-vmware</guid>
    </item>
    <item>
      <title>The iMac</title>
      <description>&lt;p&gt;This year I finally wanted to buy myself a computer that could just stay on my desk, be fast and look beautiful. Therefore I decided to get myself an iMac.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/46/IMG_7220.jpeg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=nf2ZJQkVr7Gu0RtFYwFOO9pIJO8%3D&amp;Expires=1408114955' class='tooltip popup-image' rel='group'&gt;&lt;img src="https://fousa.s3-eu-west-1.amazonaws.com/uploads/picture/picture/46/thumb_IMG_7220.jpeg?AWSAccessKeyId=AKIAILRGQTPPUKVBHNGQ&amp;Signature=NKb3E%2Fb4W9tEkdwFj8X%2BwxW9R7w%3D&amp;Expires=1408114955" class="right" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And not just any iMac. I upgraded it until it was full, so I'm sure that it wouldn't be a problem for the next three to four years. And since I have a &lt;a href="http://fousa.be/apps/georeader"&gt;Windows App&lt;/a&gt; in the their &lt;em&gt;amazing&lt;/em&gt; Store, I wanted enough power to develop in my virtual machine.&lt;/p&gt;

&lt;p&gt;I didn't go for a laptop, because I already got one at &lt;a href="http://10to1.be"&gt;work&lt;/a&gt;, and I didn't want to carry around two of them.&lt;/p&gt;

&lt;h4&gt;Wall Mount&lt;/h4&gt;

&lt;p&gt;At first I wanted to hang the iMac on the wall. But the biggest issue there was that I had to buy the &lt;a href="http://store.apple.com/us/buy-mac/imac-vesa"&gt;iMac wall mount equipped&lt;/a&gt;, so without a pedestal. And if I change my mind and want to switch, I had to bring the iMac back to the store to get one installed.&lt;/p&gt;

&lt;p&gt;That was something my brains couldn't handle. What if I want to do some pair coding with my friends, than I can't even move my iMac around even if I wanted to.&lt;/p&gt;

&lt;p&gt;So no wall mount for me.&lt;/p&gt;

&lt;h4&gt;Specs&lt;/h4&gt;

&lt;p&gt;Here is an overview of what's inside:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span&gt;3.5GHz Quad-core Intel Core i7, Turbo Boost up to 3.9GHz&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;32GB 1600MHz DDR3 SDRAM - 4X8GB&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;512GB Flash Storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;NVIDIA GeForce GTX 780M 4GB GDDR5&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>16 Oct 2013</pubDate>
      <link>http://www.fousa.be/blog/the-imac</link>
      <guid>http://www.fousa.be/blog/the-imac</guid>
    </item>
  </channel>
</rss>
