<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Personal weblog by Logan Raarup.

I’m an entrepreneur, ruby developer, engineer and guitarist.

Check out some of my stuff:TwitterGitHubcoookin’SoftinnovatorThe Sickboy Method
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

try {
var pageTracker = _gat._getTracker("UA-9040027-2");
pageTracker._trackPageview();
} catch(err) {}</description><title>logan's log</title><generator>Tumblr (3.0; @logandk)</generator><link>http://logan.dk/</link><item><title>"The profession of designer is not that of an artist nor an aesthetician; it is that of a specialist..."</title><description>““The profession of designer is not that of an artist nor an aesthetician; it is that of a specialist in semantics.””&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;P. Starck&lt;/em&gt;</description><link>http://logan.dk/post/1074522335</link><guid>http://logan.dk/post/1074522335</guid><pubDate>Mon, 06 Sep 2010 11:02:00 +0200</pubDate></item><item><title>http://www.youtube.com/watch?v=owGykVbfgUE&amp;feature=youtube_gdata</title><description>&lt;a href="http://www.youtube.com/watch?v=owGykVbfgUE&amp;feature=youtube_gdata"&gt;http://www.youtube.com/watch?v=owGykVbfgUE&amp;feature=youtube_gdata&lt;/a&gt;: &lt;p&gt;Look at me. Now, look at your man. You’re on a boat with The Man Your Man Could Smell Like.&lt;/p&gt;</description><link>http://logan.dk/post/713051864</link><guid>http://logan.dk/post/713051864</guid><pubDate>Sat, 19 Jun 2010 01:58:59 +0200</pubDate></item><item><title>BBQ at the Marina</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_l3k4tapsw91qzm9bko1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;BBQ at the Marina&lt;/p&gt;</description><link>http://logan.dk/post/667358918</link><guid>http://logan.dk/post/667358918</guid><pubDate>Sat, 05 Jun 2010 21:57:56 +0200</pubDate></item><item><title>"It’s not about pop culture, and it’s not about fooling people, and it’s not about convincing people..."</title><description>“It’s not about pop culture, and it’s not about fooling people, and it’s not about convincing people that they want something they don’t. We figure out what we want. And I think we’re pretty good at having the right discipline to think through whether a lot of other people are going to want it, too. That’s what we get paid to do. So you can’t go out and ask people, you know, what’s the next big [thing.] There’s a great quote by Henry Ford, right? He said, ‘If I’d have asked my customers what they wanted, they would have told me ‘A faster horse.’’”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Steve Jobs quoted in &lt;a href="http://www.pragmaticmarketing.com/publications/magazine/6/4/you_cant_innovate_like_apple"&gt;You Can’t Innovate Like Apple&lt;/a&gt;&lt;/em&gt;</description><link>http://logan.dk/post/540400555</link><guid>http://logan.dk/post/540400555</guid><pubDate>Thu, 22 Apr 2010 10:00:00 +0200</pubDate></item><item><title>How I Sync Application Preferences through Dropbox</title><description>&lt;p&gt;I use &lt;a href="http://dropbox.com"&gt;Dropbox&lt;/a&gt; to sync and backup most of my stuff. Out of the box, Dropbox makes it easy to sync documents, photos, music etc.&lt;/p&gt;

&lt;p&gt;However, I also wanted it to sync application preferences between my Macs. This can be done in a rather simple way, using a Launch Agent and a simple Ruby script.&lt;/p&gt;

&lt;p&gt;This is a basic overview of how it works:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The Launch Agent monitors your &lt;em&gt;Preferences&lt;/em&gt; folder and a mirrored folder in your Dropbox&lt;/li&gt;
&lt;li&gt;Whenever a file in one of these folders is changed, the Ruby script will be run&lt;/li&gt;
&lt;li&gt;The script copies newly modified files from your &lt;em&gt;Preferences&lt;/em&gt; folder to the Dropbox and vise-versa&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Let&amp;#8217;s take a look at how to implement this.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;&lt;strong&gt;Folders&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We need to setup a Dropbox folder for mirroring the preferences. I created a folder called &lt;em&gt;Preferences&lt;/em&gt; in my dropbox. Also, I have a subfolder called &lt;em&gt;Scripts&lt;/em&gt; for storing the Ruby script and a copy of my Launch Agent for installation on other computers.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;code&gt;~/Dropbox/Preferences&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/Dropbox/Preferences/Scripts&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;If you want to use other folders for your setup, make sure to correct the paths in both the Ruby script and the Launch Agent.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;&lt;strong&gt;The Ruby Script&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This script performs the actual mirroring of modified files. Any preference files that should be synced must be included in the &lt;code&gt;preference_files&lt;/code&gt; array. As you can see, this script is set up to sync preferences for the TextMate, Transmit and Terminal applications.&lt;/p&gt;

&lt;p&gt;The script should be placed in the file &lt;code&gt;~/Dropbox/Preferences/Scripts/copy_plists.rb&lt;/code&gt;.&lt;/p&gt;

&lt;script src="http://gist.github.com/373039.js?file=copy_plists.rb"&gt;&lt;/script&gt;&lt;hr&gt;&lt;p&gt;&lt;strong&gt;The Launch Agent&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Launch Agent is responsible for monitoring the preference folders. It consists of a &lt;code&gt;plist&lt;/code&gt; file, represented as XML in the following code section.&lt;/p&gt;

&lt;script src="http://gist.github.com/373039.js?file=com.dropbox.preferences.plist"&gt;&lt;/script&gt;&lt;p&gt;Install the Launch Agent by copying the XML into the following file:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;~/Library/LaunchAgents/com.dropbox.preferences.plist&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Make sure to replace all &lt;code&gt;[USERNAME]&lt;/code&gt; entries in the XML with your actual Mac OS X username. If you have &lt;a href="http://developer.apple.com/technologies/tools/xcode.html"&gt;Xcode Tools&lt;/a&gt; installed, you can also edit this file using the &lt;em&gt;Property List Editor&lt;/em&gt; application.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;That&amp;#8217;s it. I have been using this setup for about a year, and it has been pretty robust this far. Got any ideas for improvement?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This setup is only necessary when you need to sync individual &lt;code&gt;plist&lt;/code&gt; files. If you want to sync entire folders (e.g. &lt;code&gt;~/Library/Application Support/Textmate&lt;/code&gt;), you can create a symbolic link to the folder inside your dropbox.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;&lt;strong&gt;Update April 23&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tumblr&amp;#8217;s questions feature doesn&amp;#8217;t allow the author to reply. Answering some questions related to this post:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&amp;#8220;Why not just move the Preferences folder to your Dropbox then make a symlink?&amp;#8221;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This should work as well, however I found that I only wanted to synchronize settings for a few apps. Some apps have settings, which you&amp;#8217;d like to have different between systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&amp;#8220;What would be benefit of having it this over making the actual plist file to a symbolic link and copying it to the dropbox folder?&amp;#8221;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This was also my initial approach. The problem is that a lot of applications recreates the &lt;code&gt;plist&lt;/code&gt; file instead of writing into the existing file, thus removing the symbolic link. That&amp;#8217;s basically why this setup was needed at all.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&amp;#8220;I don’t know anything about Ruby or Rails, but did you really need to put the ‘Copied to’ line in an if/else statement? And is ‘elsif’…?&amp;#8221;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Sure, the ruby script could be refined and made more slick. I just needed a quick solution and it works, so that&amp;#8217;s good enough for now :)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&amp;#8220;Does it work to symlink the plist files into your Dropbox? If not, what about a hard link? Seems the script should definitely be unnecessary.&amp;#8221;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, Dropbox will overwrite the symbolic link with a regular file upon update. I haven&amp;#8217;t tested hard links yet, but please let me know if you do. For more information on symbolic- and hard linking files in your Dropbox, and the related issues, see: &lt;a href="http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders#OSXandLinux"&gt;&lt;a href="http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders#OSXandLinux"&gt;http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders#OSXandLinux&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://logan.dk/post/536565827</link><guid>http://logan.dk/post/536565827</guid><pubDate>Tue, 20 Apr 2010 23:30:00 +0200</pubDate></item><item><title>unhappyhipsters:

Without the shades, they might have to face...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_kyoo2dWQp71qam6ylo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://unhappyhipsters.com/post/430398411/without-the-shades-they-might-have-to-face-the" class="tumblr_blog"&gt;unhappyhipsters&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Without the shades, they might have to face the terrifying prospect of actually speaking to one another.&lt;/p&gt;
&lt;p&gt;(Photo: Dean Kaufman; &lt;a href="http://www.dwell.com/articles/Creative-Types.html"&gt;Dwell, September 2009&lt;/a&gt;)&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Unhappy Hipsters: Great blog - check it out!&lt;/p&gt;</description><link>http://logan.dk/post/468067073</link><guid>http://logan.dk/post/468067073</guid><pubDate>Tue, 23 Mar 2010 16:01:05 +0100</pubDate></item><item><title>Just played a show with The Sickboy Method. Free Pariah is on...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_kzji6f8dCx1qzm9bko1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Just played a show with The Sickboy Method. Free Pariah is on right now. Thats some sweet guitar!&lt;/p&gt;</description><link>http://logan.dk/post/459164014</link><guid>http://logan.dk/post/459164014</guid><pubDate>Fri, 19 Mar 2010 18:34:53 +0100</pubDate></item><item><title>http://www.instapaper.com</title><description>&lt;a href="http://www.instapaper.com"&gt;http://www.instapaper.com&lt;/a&gt;: &lt;p&gt;Great tool for saving stuff you would like to &lt;em&gt;read later&lt;/em&gt;. I used to bookmark articles and such, but it gets hard to manage. I can also recommend the accompanying iPhone app. You probably know about it already - but if you don’t, check it out.&lt;/p&gt;</description><link>http://logan.dk/post/407090101</link><guid>http://logan.dk/post/407090101</guid><pubDate>Tue, 23 Feb 2010 16:07:51 +0100</pubDate></item><item><title>Fixing Authlogic I18n Error Messages</title><description>&lt;p&gt;It&amp;#8217;s about time for a code post :)&lt;/p&gt;

&lt;p&gt;I ran into some issues with ActiveRecord I18n error messages when using Authlogic. Apparently Authlogic looks up the translations during initialization, so if you change locale later on with &lt;code&gt;I18n.locale=&lt;/code&gt; (e.g. in a &lt;code&gt;before_filter&lt;/code&gt;), any ActiveRecord error messages will still appear in the default locale.&lt;/p&gt;

&lt;p&gt;This &lt;a href="http://github.com/binarylogic/authlogic/issues/29"&gt;issue&lt;/a&gt; is currently listed in the &lt;a href="http://github.com/binarylogic/authlogic"&gt;GitHub project&lt;/a&gt;, however I needed a quick unobtrusive fix until it&amp;#8217;s corrected in Authlogic. I&amp;#8217;m sharing it in case others run into this problem.&lt;/p&gt;

&lt;script src="http://gist.github.com/306991.js"&gt;&lt;/script&gt;</description><link>http://logan.dk/post/398406302</link><guid>http://logan.dk/post/398406302</guid><pubDate>Fri, 19 Feb 2010 12:17:49 +0100</pubDate><category>ruby</category><category>rails</category><category>authlogic</category><category>I18n</category><category>activerecord</category><category>code</category></item><item><title>This is a simple and very delicious recipe. I know it’s a...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_ky09r9FbAv1qzm9bko1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;This is a simple and very delicious recipe. I know it’s a bit off-season as it’s not really winter-food, but I’m just starting to look forward to warmer weather :)&lt;/p&gt;

&lt;p&gt;The first step is to cook up some flatbread. This is a very simple process of making a flatbread dough with flour, yeast, water, oil and salt. I usually add some rosemary or other herbs to the dough. Roll it into pancakes and cook it on a &lt;em&gt;hot&lt;/em&gt; pan! Check &lt;a href="http://www.houseandhome.com/food/recipes/indian-flat-bread-recipe"&gt;this recipe&lt;/a&gt; for a more detailed walkthrough.&lt;/p&gt;

&lt;p&gt;Next is the cream which ties it all together. It’s made with sour cream, crumbled feta cheese, chopped chives, salt and pepper. Very simple, about 50/50 sour cream and feta.&lt;/p&gt;

&lt;p&gt;I usually fry some chicken fillets, seasoned with rosemary, garlic, lemon, salt and pepper. But any other meat and spices should do just fine as well.&lt;/p&gt;

&lt;p&gt;Serve it with some tomatoes, cucumber and romaine lettuce. Roll it up and eat with your hands - Mmmm…&lt;/p&gt;</description><link>http://logan.dk/post/396441111</link><guid>http://logan.dk/post/396441111</guid><pubDate>Thu, 18 Feb 2010 12:17:58 +0100</pubDate><category>food</category><category>chicken</category><category>flatbread</category><category>recipe</category></item><item><title>"Stuff has gotten a lot cheaper, but our attitudes toward it haven’t changed correspondingly...."</title><description>“Stuff has gotten a lot cheaper, but our attitudes toward it haven’t changed correspondingly. We overvalue stuff.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://paulgraham.com/stuff.html"&gt;Paul Graham&lt;/a&gt;&lt;/em&gt;</description><link>http://logan.dk/post/389148667</link><guid>http://logan.dk/post/389148667</guid><pubDate>Sun, 14 Feb 2010 17:32:36 +0100</pubDate></item><item><title>Hansenbergsang</title><description>&lt;a href="http://www.hansenberg.dk/Sang/hansenbergsangen.htm"&gt;Hansenbergsang&lt;/a&gt;: &lt;p&gt;I’m participating in the HANSENBERG song contest - I would appreciate a vote on my song, number 10 :)&lt;/p&gt;</description><link>http://logan.dk/post/380846025</link><guid>http://logan.dk/post/380846025</guid><pubDate>Wed, 10 Feb 2010 01:49:22 +0100</pubDate></item><item><title>Fresh start!</title><description>&lt;p&gt;I was tired of my old site and I never got around to post much on it. So I moved to Tumblr in hope of updating more often from my iPhone and such.&lt;/p&gt;

&lt;p&gt;The new site is going to be in English and will focus on code, business, music, recipes. Basically the stuff that I find interesting!&lt;/p&gt;</description><link>http://logan.dk/post/380817510</link><guid>http://logan.dk/post/380817510</guid><pubDate>Wed, 10 Feb 2010 01:32:00 +0100</pubDate></item></channel></rss>

