<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>No pain no gain</title>
	<atom:link href="http://www.dikant.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dikant.de</link>
	<description>Personal blog of Peter Dikant</description>
	<lastBuildDate>Sat, 28 Jan 2012 12:25:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Quickie: Change Time Machine interval</title>
		<link>http://www.dikant.de/2012/01/28/quickie-change-time-machine-interval/</link>
		<comments>http://www.dikant.de/2012/01/28/quickie-change-time-machine-interval/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 12:25:42 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[interval]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[TimeMachine]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=255</guid>
		<description><![CDATA[Here is a quick shell snippet to change the time machine backup interval on OSX. The time interval is specified in seconds. If you want to change it to 4 hours open terminal and enter: sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto.plist StartInterval &#8230; <a href="http://www.dikant.de/2012/01/28/quickie-change-time-machine-interval/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is a quick shell snippet to change the time machine backup interval on OSX. The time interval is specified in seconds. If you want to change it to 4 hours open terminal and enter:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> defaults <span style="color: #c20cb9; font-weight: bold;">write</span> <span style="color: #000000; font-weight: bold;">/</span>System<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>LaunchDaemons<span style="color: #000000; font-weight: bold;">/</span>com.apple.backupd-auto.plist StartInterval <span style="color: #660033;">-int</span> <span style="color: #000000;">14400</span></pre></div></div>

<p>You can restore the default interval with:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> defaults <span style="color: #c20cb9; font-weight: bold;">write</span> <span style="color: #000000; font-weight: bold;">/</span>System<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>LaunchDaemons<span style="color: #000000; font-weight: bold;">/</span>com.apple.backupd-auto.plist StartInterval <span style="color: #660033;">-int</span> <span style="color: #000000;">3600</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2012/01/28/quickie-change-time-machine-interval/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring a PPTP-VPN on iOS and Android</title>
		<link>http://www.dikant.de/2011/10/03/configuring-a-pptp-vpn-on-ios-and-android/</link>
		<comments>http://www.dikant.de/2011/10/03/configuring-a-pptp-vpn-on-ios-and-android/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 15:28:30 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[was]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=225</guid>
		<description><![CDATA[About a year ago, I wrote a blog posting about how to setup a PPTP VPN service on a Amazon EC2 node. This is a follow up to that posting which describes how to setup the VPN on an iOS &#8230; <a href="http://www.dikant.de/2011/10/03/configuring-a-pptp-vpn-on-ios-and-android/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>About a year ago, I wrote a <a href="http://www.dikant.de/2010/10/08/setting-up-a-vpn-server-on-amazon-ec2/" title="Setting up a VPN-server on Amazon EC2">blog posting</a> about how to setup a PPTP VPN service on a Amazon EC2 node. This is a follow up to that posting which describes how to setup the VPN on an iOS or Android device.</p>
<p>Please note that some carriers might block PPTP traffic. I experienced problems with using the VPN connection via 3G, while connecting through Wifi works for me. On 3G I can connect to the server, but no data is being transferred. On the server I see a lot of messages of the type &#8220;Protocol-Reject&#8221;. So if your device seems to be connected to the VPN but you get no traffic, it might be blocked by your carrier. You then need to find a Wifi Hotspot to use the VPN.</p>
<p><span id="more-225"></span></p>
<h2>iOS Devices</h2>
<p>Setting up the VPN is pretty straight forward:</p>
<ol>
<li>Go to Settings and open the &#8220;General&#8221; settings</li>
<li>Select &#8220;Network&#8221;</li>
<li>Select &#8220;VPN&#8221;</li>
<li>Choose &#8220;Add VPN Configuration&#8230;&#8221;</li>
<li>On this screen make sure you activate &#8220;PPTP&#8221;. Now you can name your VPN connection and enter the address of the server, your login and your password. Ensure that &#8220;Send All Traffic&#8221; is &#8220;ON&#8221;. Now save your settings.</li>
<li>Now you can turn on the VPN connection. An active connection is indicated by a blue &#8220;VPN&#8221; icon in the status bar.</li>
</ol>
<p><a href="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0020.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0020-150x150.png" alt="" title="iOS step 1" width="150" height="150" class="alignnone size-thumbnail wp-image-233" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0021.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0021-150x150.png" alt="" title="iOS step 2" width="150" height="150" class="alignnone size-thumbnail wp-image-234" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0022.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0022-150x150.png" alt="" title="iOS step 3" width="150" height="150" class="size-thumbnail wp-image-235" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0023.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0023-150x150.png" alt="" title="iOS step 4" width="150" height="150" class="alignnone size-thumbnail wp-image-236" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0024.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0024-150x150.png" alt="" title="iOS step 5" width="150" height="150" class="alignnone size-thumbnail wp-image-237" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0025.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/IMG_0025-150x150.png" alt="" title="iOS step 6" width="150" height="150" class="alignnone size-thumbnail wp-image-238" /></a></p>
<h2>Android Devices</h2>
<p>On Android, the steps are quite similar:</p>
<ol>
<li>Go to &#8220;Settings&#8221; and open &#8220;Wireless &#038; networks&#8221;</li>
<li>Select &#8220;VPN settings&#8221;</li>
<li>Select &#8220;Add VPN&#8221;</li>
<li>Choose &#8220;Add PPTP VPN&#8221;</li>
<li>Enter the &#8220;VPN name&#8221; and the server address in &#8220;Set VPN server&#8221;. Encryption should be enabled and DNS search domains not set. Now pull up the menu and save your changes.</li>
<li>Click on connect and enter your login and password.</li>
<li>An active VPN connection is indicated by a key icon in the status bar.</li>
</ol>
<p><a href="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162230.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162230-150x150.png" alt="" title="Android step 1" width="150" height="150" class="alignnone size-thumbnail wp-image-226" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162247.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162247-150x150.png" alt="" title="Android step 2" width="150" height="150" class="alignnone size-thumbnail wp-image-227" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162257.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162257-150x150.png" alt="" title="Android step 3" width="150" height="150" class="alignnone size-thumbnail wp-image-228" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162304.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162304-150x150.png" alt="" title="Android step 4" width="150" height="150" class="alignnone size-thumbnail wp-image-229" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162538.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162538-150x150.png" alt="" title="Android step 5" width="150" height="150" class="alignnone size-thumbnail wp-image-230" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162631.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-162631-150x150.png" alt="" title="Android step 6" width="150" height="150" class="alignnone size-thumbnail wp-image-231" /></a><a href="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-163133.png"><img src="http://www.dikant.de/wp-content/uploads/2011/10/device-2011-10-03-163133-150x150.png" alt="" title="Android step 7" width="150" height="150" class="alignnone size-thumbnail wp-image-232" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2011/10/03/configuring-a-pptp-vpn-on-ios-and-android/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Speeding up ProFTPD logins</title>
		<link>http://www.dikant.de/2011/08/16/speeding-up-proftpd-logins/</link>
		<comments>http://www.dikant.de/2011/08/16/speeding-up-proftpd-logins/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 18:21:25 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[FTP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[proftpd]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=220</guid>
		<description><![CDATA[One year ago I have switched from PureFTPd to ProFTPD because it runs smoother on the virtual server I am running. The server is really easy to setup and maintain, but with the standard configuration it always takes around 5 &#8230; <a href="http://www.dikant.de/2011/08/16/speeding-up-proftpd-logins/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dikant.de/wp-content/uploads/2011/08/proftpd.png"><img src="http://www.dikant.de/wp-content/uploads/2011/08/proftpd-150x92.png" alt="" title="ProFTPD" width="150" height="92" class="alignleft size-thumbnail wp-image-221" /></a>One year ago I have switched from <a href="http://www.pureftpd.org" target="_blank">PureFTPd</a> to <a href="http://www.proftpd.org/" target="_blank">ProFTPD</a> because it runs smoother on the virtual server I am running. The server is really easy to setup and maintain, but with the standard configuration it always takes around 5 to 10 seconds to log on to the server. After searching for a solution to these slow logins, it turns out that there is even a point in the <a href="http://www.proftpd.org/docs/faq/linked/faq-ch4.html#AEN341" target="_blank">FAQ</a> on how to speed up the login process.</p>
<p>Just edit the file <code>/etc/proftpd/proftpd.conf</code> and add these 2 lines:</p>

<div class="wp_syntax"><div class="code"><pre class="config" style="font-family:monospace;">UseReverseDNS off
IdentLookups off</pre></div></div>

<p>Lesson learned: I should read manuals more often.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2011/08/16/speeding-up-proftpd-logins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lion and legacy AFP connections</title>
		<link>http://www.dikant.de/2011/08/10/lion-and-legacy-afp-connections/</link>
		<comments>http://www.dikant.de/2011/08/10/lion-and-legacy-afp-connections/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 19:05:58 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[afp]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[lion]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=211</guid>
		<description><![CDATA[I have just upgraded to Lion to find out that I could no longer connect to my Qnap NAS via the AFP protocol. Seems like Apple decided to disable an authentication mechanism in Lion which the Qnap device depends on. &#8230; <a href="http://www.dikant.de/2011/08/10/lion-and-legacy-afp-connections/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dikant.de/wp-content/uploads/2011/08/OS-X-Lion-Logo.jpg"><img src="http://www.dikant.de/wp-content/uploads/2011/08/OS-X-Lion-Logo-150x150.jpg" alt="" title="OS-X-Lion" width="150" height="150" class="alignleft size-thumbnail wp-image-215" /></a>I have just upgraded to Lion to find out that I could no longer connect to my Qnap NAS via the AFP protocol. Seems like Apple decided to disable an authentication mechanism in Lion which the Qnap device depends on. Whenever I tried to connect with my username, I received an error &#8220;There was a problem connecting to the server&#8221;.</p>
<p>Qnap is working on an updated firmware but my device will not receive this update, so I need another solution.</p>
<p>Thanks to <a href="http://www.alexanderwilde.com/2011/04/os-x-lion-connection-error-with-afp-and-workaround/" target="_blank">Alexander Wilde</a> there is a simple solution to reenable the now missing authentication schema.</p>
<p><span id="more-211"></span></p>
<p>Open up the Terminal app, enable write access to /Library/Preferences and change a setting for AppleShareClient:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> o+<span style="color: #c20cb9; font-weight: bold;">w</span> <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Preferences
<span style="color: #c20cb9; font-weight: bold;">sudo</span> defaults <span style="color: #c20cb9; font-weight: bold;">write</span> <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Preferences<span style="color: #000000; font-weight: bold;">/</span>com.apple.AppleShareClient afp_host_prefs_version <span style="color: #660033;">-int</span> <span style="color: #000000;">1</span></pre></div></div>

<p>Now reboot the computer and try to connect to the AFP share. There will still be an error, but now Lion has updated the AppleShareClient plist file and we can enable the old authentication mechanism and remove the write permission from the Preferences folder:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> defaults <span style="color: #c20cb9; font-weight: bold;">write</span> <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Preferences<span style="color: #000000; font-weight: bold;">/</span>com.apple.AppleShareClient afp_disabled_uams <span style="color: #660033;">-array</span> <span style="color: #ff0000;">&quot;Cleartxt Passwrd&quot;</span> <span style="color: #ff0000;">&quot;MS2.0&quot;</span> <span style="color: #ff0000;">&quot;2-Way Randnum exchange&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> o-w <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Preferences</pre></div></div>

<p>After another reboot, the AFP shares are now working again.</p>
<p>To reset the setting, just use:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> defaults <span style="color: #c20cb9; font-weight: bold;">write</span> <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Preferences<span style="color: #000000; font-weight: bold;">/</span>com.apple.AppleShareClient afp_disabled_uams <span style="color: #660033;">-array-add</span> <span style="color: #ff0000;">&quot;DHCAST128&quot;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2011/08/10/lion-and-legacy-afp-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recap: 4 months on the iOS App Store</title>
		<link>http://www.dikant.de/2011/07/11/recap-4-months-in-the-ios-app-store/</link>
		<comments>http://www.dikant.de/2011/07/11/recap-4-months-in-the-ios-app-store/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 17:54:40 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=192</guid>
		<description><![CDATA[It is now a little over 4 month ago that I have released Gigtool in the iOS app store. I was aware, that most applications in the app store don&#8217;t perform well without heavy promotion. I wrote Gigtool with a &#8230; <a href="http://www.dikant.de/2011/07/11/recap-4-months-in-the-ios-app-store/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dikant.de/wp-content/uploads/2011/07/app-store-icon.jpg"><img src="http://www.dikant.de/wp-content/uploads/2011/07/app-store-icon-150x150.jpg" alt="App Store Icon" title="App Store Icon" width="150" height="150" class="alignleft size-thumbnail wp-image-193" /></a>It is now a little over 4 month ago that I have released <a href="http://fieryapps.com/gigtool/" title="Gigtool Website" target="_blank">Gigtool</a> in the iOS app store. I was aware, that most applications in the app store don&#8217;t perform well without heavy promotion. I wrote Gigtool with a very small target audience in mind to test whether specialized applications might produce a steady revenue stream even without any promotion. The reasoning behind this is, that Gigtool will be found by its target audience using the search functionality of the app store.</p>
<p>I released Gigtool for a price of $1.99 in the music category of the store. As long as Gigtool was mentioned on the front page of that category under the &#8220;New &#038; Noteworthy&#8221; section there was a steady stream of around 5 sales per day. This dwindled to next to nothing once Gigtool dropped out of the &#8220;New &#038; Noteworthy&#8221; section. At that time I had only around 2 sales per week.</p>
<p><span id="more-192"></span></p>
<p>After 4 weeks I decided to check out how many people would download the app if it is a free app. I did not expect the results though. Gigtool got mentioned on a couple of news sites which monitor the app store for price drops and that lead to around 7000 downloads in the first week. Seems like people were downloading Gigtool without even knowing what it does just for the sake of it. Downloads remained in the area of around 50 per day throughout the month.</p>
<p>The following month I released a small bugfix update and changed the price to $0.99. It seems that around half of the people who downloaded Gigtool for free still have it installed on their device. So it is obvious that there is a target audience out there for this app. Sales went a little smoother than when the app did cost $1.99. For the last 2 month I had a steady 5 to 10 sales per week. This is not very much, but at least it will cover the costs (app store, website, domains, &#8230;).</p>
<p>So, after these 4 months, have my expectations been met? Well, yes and no I guess. I did not have great expectations in the beginning. My goal was to cover the costs. I guess this goal will be reached in a couple of month. So this is one side of it. The other side is that without proper marketing even a highly specialized application will not do well on the app store. There are a couple of customers that find the application via the search box but this is by far not enough to cover any development costs at all.</p>
<p>I thought that people searching for this type of application would be willing to spend more than $0.99 for the app, but here it seems, that the $0.99 price seems to be a kind of motivation wall. Once the price is higher, sales drop dramatically. With a price of $0.99 the revenue is nearly twice as high as with a price of $1.99.</p>
<p>So, what did I learn with my first app in the app store. I guess it is absolutely necessary to promote your app. Send out demo keys to blogs and news sites related to your target audience. This is something I want to try in the future. Also pricing seems to be important. Staying below the $1 barrier boosted the overall revenue.</p>
<p>Personally, I will take a look at the influence of marketing the app and I also plan to develop another small app which will be free and use the iAds mechanism for revenue. Let&#8217;s see how well that performs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2011/07/11/recap-4-months-in-the-ios-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git hosting with gitolite</title>
		<link>http://www.dikant.de/2011/04/26/git-hosting-with-gitolite/</link>
		<comments>http://www.dikant.de/2011/04/26/git-hosting-with-gitolite/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 20:47:48 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=178</guid>
		<description><![CDATA[Now that Xcode has native support for Git repositories, I finally decided to migrate my private Mercurial repository to Git. I have always been running my source code repository on my own server and I want to keep this practice &#8230; <a href="http://www.dikant.de/2011/04/26/git-hosting-with-gitolite/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dikant.de/wp-content/uploads/2011/04/750px-Git-logo-jengelh.svg_.png"><img src="http://www.dikant.de/wp-content/uploads/2011/04/750px-Git-logo-jengelh.svg_-300x120.png" alt="Git Logo" title="Git Logo" width="300" height="120" class="alignleft size-medium wp-image-201" /></a>Now that Xcode has native support for Git repositories, I finally decided to migrate my private Mercurial repository to Git. I have always been running my source code repository on my own server and I want to keep this practice with Git. When searching for options on how to setup a private Git repository, <a href="https://github.com/sitaramc/gitolite">Gitolite</a> seemed like a nice option.</p>
<p>In this small howto I will describe how I have setup Gitolite on my Ubuntu 8.04 server. Please note, that Ubuntu has included Gitolite in the 10.10 release, so that the installation is even simpler now. I will describe the manual installation procedure for Ubuntu releases prior to 10.10.<br />
<span id="more-178"></span></p>
<p>The first step is to install the git software on the server:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> git-core</pre></div></div>

<p>Please not, that gitolite neads at least version 1.6.2 of git. If your distribution contains an older version (this is the case with Ubuntu 8.04), use a backport package, or install git via source.</p>
<p>Now we need a user account which will be used to run gitolite. The user will not be able to login via password authentication, we will only allow certificate based authentication:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> adduser <span style="color: #660033;">--system</span> <span style="color: #660033;">--group</span> <span style="color: #660033;">--disabled-password</span> <span style="color: #660033;">--shell</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bash</span> <span style="color: #660033;">--home</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">git</span> <span style="color: #c20cb9; font-weight: bold;">git</span></pre></div></div>

<p>This user needs to have certificate based SSH access. So we need to create a certificate we can use to login to the server. This is done on your local machine, for example on the development box:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh
<span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-t</span> rsa <span style="color: #660033;">-f</span> id_rsa_git</pre></div></div>

<p>When prompted for a password, just press enter to enable passwordless logins. It is recommended that you activate a password for this account after the gitlite installation, as this certificate enables a login to the shell on your server. This can be done via <code>ssh-keygen -p</code>.</p>
<p>The user account on the server now needs to register the public key, to enable login with the new certificate. Log on to your server, change to the new user <code>git</code> and follow these steps:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> .ssh
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">700</span> .ssh
<span style="color: #7a0874; font-weight: bold;">cd</span> .ssh
<span style="color: #c20cb9; font-weight: bold;">touch</span> authorized_keys</pre></div></div>

<p>Now edit the file <code>authorized_keys</code> and add the contents of the created id_rsa_git.pub file from the local machine to the <code>authorized_keys</code>.</p>
<p>Before you can log in with that user, it could be possible that you need to add that user to the file <code>/etc/ssh/sshd_config</code> in the setting <code>AllowUsers</code>. This depends on the setup of your ssh daemon. After changes to this file, you need to restart the ssh daemon.</p>
<p>Now check, if you can login from the local machine with your new certificate (replace SERVERNAME.COM with the address of your server):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #c20cb9; font-weight: bold;">git</span><span style="color: #000000; font-weight: bold;">@</span>SERVERNAME.COM</pre></div></div>

<p>The following steps are done on your local machine.</p>
<p>Get the current version of gitolite and start the installation wizard:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> clone <span style="color: #c20cb9; font-weight: bold;">git</span>:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>sitaramc<span style="color: #000000; font-weight: bold;">/</span>gitolite
<span style="color: #7a0874; font-weight: bold;">cd</span> gitolite<span style="color: #000000; font-weight: bold;">/</span>src
.<span style="color: #000000; font-weight: bold;">/</span>gl-easy-install <span style="color: #c20cb9; font-weight: bold;">git</span> SERVERNAME.COM gitadmin</pre></div></div>

<p><code>gitadmin</code> will be the username to administer the gitlite installation. The installation wizard will ask you some questions. Generally you can accept the default options.</p>
<p>I experienced a problem towards the end of the wizard. It complained that the default identity has not been set. This is an error from the server. You can get rid of it by logging in to the server as the git user and then setting the identity in the git config:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> config <span style="color: #660033;">--global</span> user.email <span style="color: #ff0000;">&quot;you@example.com&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">git</span> config <span style="color: #660033;">--global</span> user.name <span style="color: #ff0000;">&quot;Your Name&quot;</span></pre></div></div>

<p>The installation wizard will setup gitolite in the home directory of the git user on the server. It will create a new certificate for the user <code>gitadmin</code> which can be used to administer the gitolite settings.</p>
<p>After the wizard has finished, there will be a new directory <code>gitolite-admin</code> in your home folder on the local workstation. You can add user certificates and create git repositories inside this directory by copying the public keys and editing the config files. When done, push the changes to your server and the configuration is active.</p>
<p>Users will not get shell access to the server. When they try to login via ssh with the certificate they will only get a list of all repositories they may access. With gitlite you now have the option to add a number of users without the need to create accounts on your server.</p>
<p>Further information on how to setup the gitolite server can be found in the <a href="http://sitaramc.github.com/gitolite/doc/2-admin.html">documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2011/04/26/git-hosting-with-gitolite/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gigtool now available on the iTunes App Store</title>
		<link>http://www.dikant.de/2011/02/22/gigtool-now-available-on-the-itunes-app-store/</link>
		<comments>http://www.dikant.de/2011/02/22/gigtool-now-available-on-the-itunes-app-store/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 16:50:21 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=169</guid>
		<description><![CDATA[I have developed an iPhone application which contains some handy tools for live sound engineers. Nowadays the App Store is crowded with all kinds of games, utilities and applications. For a developer it is extremely hard to get the amount &#8230; <a href="http://www.dikant.de/2011/02/22/gigtool-now-available-on-the-itunes-app-store/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dikant.de/wp-content/uploads/2011/02/gigtool-logo.png"><img src="http://www.dikant.de/wp-content/uploads/2011/02/gigtool-logo.png" alt="" title="gigtool-logo" width="175" height="175" class="alignleft size-full wp-image-173" /></a>I have developed an iPhone application which contains some handy tools for live sound engineers. Nowadays the App Store is crowded with all kinds of games, utilities and applications. For a developer it is extremely hard to get the amount of visibility you need to make a small profit or even to break even. Gigtool is an experiment to find out, if addressing a niche target market helps in building up a customer base.</p>
<p>Today the application has been added to the App Store. In a couple of weeks I will write up about my experiences with Gigtool. More information about the app is available on the <a href="http://fieryapps.com/gigtool">Gigtool website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2011/02/22/gigtool-now-available-on-the-itunes-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Workaround for iOS 4.1 battery drain problem</title>
		<link>http://www.dikant.de/2010/10/10/workaround-for-ios-4-1-battery-drain-problem/</link>
		<comments>http://www.dikant.de/2010/10/10/workaround-for-ios-4-1-battery-drain-problem/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 18:02:14 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[battery]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=152</guid>
		<description><![CDATA[It seems that Apple introduced a nasty battery drain problem with the iOS4.1 update in September. After I installed the update, my iPod Touch 2G drained the battery completely empty after about 8 hours of sleep. Resetting and reinstalling the &#8230; <a href="http://www.dikant.de/2010/10/10/workaround-for-ios-4-1-battery-drain-problem/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dikant.de/wp-content/uploads/2010/10/overview_hero1_headline20100902-e1286733881377.png"><img src="http://www.dikant.de/wp-content/uploads/2010/10/overview_hero1_headline20100902-e1286733881377.png" alt="" title="overview_hero1_headline20100902" width="149" height="118" class="alignleft size-full wp-image-153" /></a>It seems that Apple introduced a nasty battery drain problem with the iOS4.1 update in September. After I installed the update, my iPod Touch 2G drained the battery completely empty after about 8 hours of sleep. Resetting and reinstalling the device didn&#8217;t help. The problem was that it stayed connected to the wireless network even in sleep mode.</p>
<p>There exist 2 solutions which seem to work for me so far:</p>
<ul>
<li>Switch the iPod into Airplane mode when network access is not needed</li>
<li>Go to Settings -> Notification settings and toggle all the settings of all applications in that screen to ON and back to OFF. It seems like some these applications have been using wrong settings even with global notification turned off. Toggling the individual settings has reset them to the desired state. You can see if this step was successful by opening the overview of connected WLAN devices in your WLAN access point and then putting your iPod to sleep. It should drop out of the list of connected devices after about 10 seconds of sleep.
</ul>
<p>Let&#8217;s hope that Apple will fix this issue with iOS 4.2 due in November.</p>
<p><strong>Update</strong></p>
<p>The described fix did not prove to be permanent. Every now and the setting seems to reset itself and the iPod stays connected to the WLAN in sleep mode. So back to square one: turn on airplane mode whenever Wifi is not needed. Damn!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2010/10/10/workaround-for-ios-4-1-battery-drain-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a VPN-server on Amazon EC2</title>
		<link>http://www.dikant.de/2010/10/08/setting-up-a-vpn-server-on-amazon-ec2/</link>
		<comments>http://www.dikant.de/2010/10/08/setting-up-a-vpn-server-on-amazon-ec2/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 17:34:24 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[pptpd]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=129</guid>
		<description><![CDATA[Amazon has recently announced the new Micro Instances in their Elastic Cloud service. A so called Micro Instance is a virtual machine with 620 MB main memory and CPU power in the area of an 1 GHz Opteron processor. The &#8230; <a href="http://www.dikant.de/2010/10/08/setting-up-a-vpn-server-on-amazon-ec2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dikant.de/wp-content/uploads/2010/10/imgres.jpg"><img src="http://www.dikant.de/wp-content/uploads/2010/10/imgres.jpg" alt="" title="imgres" width="116" height="47" class="alignleft size-full wp-image-130" /></a><a href="http://aws.amazon.com">Amazon</a> has recently announced the new Micro Instances in their Elastic Cloud service. A so called Micro Instance is a virtual machine with 620 MB main memory and CPU power in the area of an 1 GHz Opteron processor. The advantage of the Micro Instance is its low cost of only $0.02 per hour of operation (be advised, there are some additional costs for traffic and storage). </p>
<p>The EC2 Micro Instance is an ideal way to operate your own VPN-server, when you need it only a couple of hours per month. Let&#8217;s assume, that you want to use it for about 50 hours per month with around 10 GB of traffic, this means $1.00 for computation time + $1.50 for 15 GB of storage + $1.50 for 10 GB outgoing traffic. So for $4 this is quite a good offer. Granted, you can find commercial VPN providers for $5 per month, but it is more fun to do it yourself. In this article I will describe, how to setup an EC2 instance as a VPN-server.<br />
<span id="more-129"></span><br />
I choose to setup a PPTP server. PPTP is not the most secure type of VPN, but it has the big advantage, that it is the most compatible. Nearly every OS is able to open a PPTP connection without additional software and this includes mobile devices like iPhones/iPads. </p>
<p>First, you need to choose a base image to boot in the Micro Instance. I have selected an 32-bit Ubuntu 10.04 server image. The AMI-ID of this image is <code>ami-6c06f305</code>. Start this image in a Micro Instance and log in with your SSH-key. For more details on these steps, refer to the AWS documentation.</p>
<p>Once you are logged in, you can install the pptp-daemon:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> pptpd</pre></div></div>

<p>Configuring the pptp-daemon is a breeze. First you to define an IP address range which will be used for connected clients. This can be any IP range, but keep in mind, if you want to avoid routing problems, choose a private IP range. Uncomment and modify 2 lines at the end of <code>/etc/pptpd.conf</code>:</p>
<pre>
localip 192.168.240.1
remoteip 192.168.240.2-9
</pre>
<p>With the above settings, the pptpd server will get the address 192.168.240.1 and there are 8 possible client addresses 192.168.240.2 to 192.168.240.9.</p>
<p>It is also a good idea to specify the address of at least one DNS server. You can use the DNS server of amazon (<code>172.16.0.23</code>) or the Google Public DNS. I choose the latter. Open the file <code>/etc/ppp/pptpd-options</code> and make sure it contains the following settings:</p>
<pre>
ms-dns 8.8.8.8
ms-dns 8.8.4.4
</pre>
<p>The last step for configuring the pptpd-daemon is to add a user account for the service:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;USERNAME pptpd PASSWORD *&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ppp<span style="color: #000000; font-weight: bold;">/</span>chap-secrets</pre></div></div>

<p>Replace <code>USERNAME</code> and <code>PASSWORD</code> with whatever credentials you like. It is possible to add as many users as you like.</p>
<p>Now restart the pptp-daemon:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>pptpd restart</pre></div></div>

<p>It is already possible to open a PPTP-connection to the server, although no traffic will be forwarded to the Internet. We still need to enable packet forwarding and network address translation on the server.</p>
<p>To enable packet forwarding, uncomment the following line in <code>/etc/sysctl.conf</code>:</p>
<pre>
net.ipv4.ip_forward=1
</pre>
<p>Now reload this config:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> sysctl <span style="color: #660033;">-p</span></pre></div></div>

<p>The last step is to enable network address translation:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> iptables <span style="color: #660033;">-t</span> nat <span style="color: #660033;">-A</span> POSTROUTING <span style="color: #660033;">-o</span> eth0 <span style="color: #660033;">-j</span> MASQUERADE</pre></div></div>

<p>This setting is reset on every reboot, so make sure that you add the following line above <code>exit 0</code> in the file <code>/etc/rc.local</code>:</p>
<pre>
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
</pre>
<p>Now the VPN server is fully functional. The only small problem is, that the server will get a new IP address every time you reboot it. I would recommend using a dynamic dns-provider to assign this machine a unique domain name. I am using <a href="http://www.dyndns.com/">DynDNS</a>.</p>
<p>The <a href="http://sourceforge.net/apps/trac/ddclient">ddclient</a> is a great little tool to update the current IP address on a number of different dynamic DNS services. Installation is done as usual:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ddclient</pre></div></div>

<p>Once installed, the configuration is done in the file <code>/etc/ddclient.conf</code>. It will already contain some usefull settings, because the installer will require you to enter some information about the DNS service you are using. In the end the configuration should look something like this:</p>
<pre>
protocol=dyndns2
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
server=members.dyndns.org
login=LOGINNAME
password='PASSWORD'
DOMAINNAME.dyndns.org
</pre>
<p>Replace <code>LOGINNAME</code>, <code>PASSWORD</code> and <code>DOMAINNAME.dyndns.org</code> with your own settings. The most important line is the one starting with <code>use=</code>. This defines that the registered IP-address is detected by DynDNS itself. This is neccessary, because the virtual machine is running with a private IP address.</p>
<p>That&#8217;s it! Now you have your own VPN-server up and running. Just start the instance in the <a href="https://console.aws.amazon.com/ec2/home">AWS Management Console</a> whenever you need it.</p>
<p><em>Update:</em></p>
<p>Here is a screenshot of the security groups setup I am using:<br />
<a href="http://www.dikant.de/wp-content/uploads/2010/10/ec2_security_setup.gif"><img src="http://www.dikant.de/wp-content/uploads/2010/10/ec2_security_setup.gif" alt="" title="ec2_security_setup" width="775" height="287" class="alignleft size-full wp-image-163" /></a></p>
<p><em>Update 2:</em></p>
<p>Please take a look at my <a href="http://www.dikant.de/2011/10/03/configuring-a-pptp-vpn-on-ios-and-android/" title="Configuring a PPTP-VPN on iOS and Android">follow up posting</a> on how to connect to the VPN from an iOS or Android device.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2010/10/08/setting-up-a-vpn-server-on-amazon-ec2/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>Prevent Time Machine Backup Resizing</title>
		<link>http://www.dikant.de/2010/05/23/prevent-time-machine-backup-resizing/</link>
		<comments>http://www.dikant.de/2010/05/23/prevent-time-machine-backup-resizing/#comments</comments>
		<pubDate>Sun, 23 May 2010 20:57:46 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[TimeMachine]]></category>

		<guid isPermaLink="false">http://www.dikant.de/?p=118</guid>
		<description><![CDATA[If you are using Time Machine to backup your Mac onto a network share, you might have noticed, that since the Snow Leopard 10.6.3 update the sparsebundle image used by Time Machine has been resized to use the whole capacity &#8230; <a href="http://www.dikant.de/2010/05/23/prevent-time-machine-backup-resizing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you are using Time Machine to backup your Mac onto a network share, you might have noticed, that since the Snow Leopard 10.6.3 update the sparsebundle image used by Time Machine has been resized to use the whole capacity of your network share.</p>
<p>I use a Qnap NAS as a central network storage for backing up mulitple Macs and therefore I want to define strict limits for the maximum size of each Time Machine backup. So after noticing the new image sizes, I tried to resize them with hdiutil:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">hdiutil resize <span style="color: #660033;">-size</span> 500g MYBUNDLENAME.sparsebundle</pre></div></div>

<p>Unfortunately Time Machine resizes the image size every time it runs, so it is necessary to prevent it from resizing the image. </p>
<p>The image size of a sparsebundle is stored in the Info.plist file inside the bundle directory, so I tried to remove write permissions to that file from the terminal:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>MYSHARE<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">chmod</span> a-w MYBUNDLENAME.sparsebundle<span style="color: #000000; font-weight: bold;">/</span>Info.<span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

<p>This wasn&#8217;t working either, because OSX seems to reset the permissions to Info.plist automatically.</p>
<p>The solution which is finally working for me was to login to my Qnap box via SSH and change the permissions there via chmod:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> a-w MYBUNDLENAME.sparsebundle<span style="color: #000000; font-weight: bold;">/</span>Info.<span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

<p>Now, when Time Machine starts, it tries to resize the image but fails, as the Qnap server is preventing any changes to the Info.plist file. You can see this behavior in the system.log:</p>

<div class="wp_syntax"><div class="code"><pre class="log" style="font-family:monospace;">23.05.10 22:29:13	com.apple.backupd[378] Resizing backup disk image from 500.0 GB to 989.8 GB
23.05.10 22:29:13	com.apple.backupd[378] Could not resize backup disk image (DIHLResizeImage returned 35)</pre></div></div>

<p>After this logging message, the rest of the backup runs fine. For me this is a nice workaround until there is an official way to limit the backup size.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dikant.de/2010/05/23/prevent-time-machine-backup-resizing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

