<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Joachim Schuster</title>
	
	<link>http://www.joachimschuster.de</link>
	<description />
	<lastBuildDate>Wed, 11 Apr 2012 16:03:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JoachimSchuster" /><feedburner:info uri="joachimschuster" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/JoachimSchuster" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FJoachimSchuster" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Kosten Entwicklung eingestellt</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/c1vyqcPrr64/</link>
		<comments>http://www.joachimschuster.de/kosten-entwicklung-eingestellt/888/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 16:03:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=888</guid>
		<description><![CDATA[Leider muss ich mitteilen, dass ich die Entwicklung an Kosten eingestellt habe.]]></description>
			<content:encoded><![CDATA[<p>Leider muss ich mitteilen, dass ich die Entwicklung an Kosten eingestellt habe.</p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/c1vyqcPrr64" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/kosten-entwicklung-eingestellt/888/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/kosten-entwicklung-eingestellt/888/</feedburner:origLink></item>
		<item>
		<title>iPhone Apps selektiv wiederherstellen</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/ATM3D_pL3ZM/</link>
		<comments>http://www.joachimschuster.de/iphone-apps-selektiv-wiederherstellen/874/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 10:52:01 +0000</pubDate>
		<dc:creator>joachim</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=874</guid>
		<description><![CDATA[Vorgeschichte Vor einigen Tagen wollte ich das iPhone als Modem nutzen &#8211; Stichwort &#8220;Internet-Tethering&#8221;. Musste dabei allerdings feststellen, dass dieser Menü-Eintrag (unter Einstellungen -> Allgemein -> Netzwerk -> Internet-Tethering gar nicht auftaucht. Telekom Hotline konnte auch nicht helfen. Sollte ohne weitere Aktivierungen etc. im Menü angezeigt werden. Wiederherstellung Nun also zuerst ein aktuelles Backup des]]></description>
			<content:encoded><![CDATA[<h2>Vorgeschichte</h2>
<p>Vor einigen Tagen wollte ich das iPhone als Modem nutzen &#8211; Stichwort &#8220;Internet-Tethering&#8221;. Musste dabei allerdings feststellen, dass dieser Menü-Eintrag (unter Einstellungen -> Allgemein -> Netzwerk -> Internet-Tethering gar nicht auftaucht.</p>
<p><img src="http://www.joachimschuster.de/wp-content/uploads/2011/02/notethering.png" alt="notethering.png" title="notethering.png" border="0" width="400" height="600" /></p>
<p>Telekom Hotline konnte auch nicht helfen. Sollte ohne weitere Aktivierungen etc. im Menü angezeigt werden.</p>
<h2>Wiederherstellung</h2>
<p>Nun also zuerst ein aktuelles Backup des iPhones angelegt. Danach das iPhone über &#8220;Wiederherstellen&#8221; zurück gesetzt. KEIN BACKUP eingespielt &#8211; und siehe da, im o.g. Menü taucht der Punkt Internet-Tethering jetzt tatsächlich auf.</p>
<p><img src="http://www.joachimschuster.de/wp-content/uploads/2011/02/withtethering.png" alt="withtethering.png" title="withtethering.png" border="0" width="400" height="600" /></p>
<p>Jetzt noch das Backup zurück gesichert -> Menüeintrag verschwunden!</p>
<p>Demnach werden Einstellungen aus dem Backup wiederhergestellt, die die Option ausblenden. Ist durchaus vorstellbar, da ich bisher seit meinem iPhone 2G sämtliche Neugeräte immer per Backup des Altgeräts eingerichtet hatte (was im allgemeinen auch sehr gut funktioniert &#8211; sich aber in diesem Fall wohl verschluckt).</p>
<h2>Wiederherstellungs-Dilemma</h2>
<p>Sämtliche Versuche das iPhone per Einstellungen -> Allgemein -> Zurücksetzen den Menüeintrag zu entlocken scheiterte. iTunes bietet keine Möglichkeit nur Teile des Backups wiederherzustellen.</p>
<p>Bleiben zwei Optionen:</p>
<ol>
<li>ohne Tethering leben, dafür ein komplett eingerichtetes iPhone</li>
<li>über gelegentliches Tethering freuen und dafür alle Einstellungen, Daten der Apps etc. neu eingeben</li>
</ol>
<p>Das System selbst zu konfigurieren (E-Mail-Konten, WLAN-Kennworte etc.) ist ja relativ schnell machbar. Schwieriger wird es mit der Konfiguration / Wiederherstellung der Daten in einzelnen Apps &#8211; vor allem wenn die Daten nicht irgendwie serverseitig gespeichert werden.</p>
<p>In dieser Situation kam der <a href="http://www.iphone-ticker.de/2011/02/23/mac-komplettes-iphone-backup-ohne-jailbreak/">Bericht auf iFun über das Sichern des kompletten iPhones</a> außerhalb von iTunes gerade recht.<br />
Auch wenn darin steht, man könne mit dieser Methode ohne Jailbreak eine komplette Sicherung durchführen, stimmt das zumindest für die Apps und deren Settings nicht.</p>
<h2>Lösung</h2>
<p>Mit den Informationen aus o.g. Artikel und etwas Recherche ergab sich nun folgender Lösungsweg:</p>
<ol>
<li>Sicherung des iPhones mit iTunes</li>
<li>Extrahieren des kompletten Backups mit <a href="http://www.addpod.de/juicephone">JuicePhone<br />
</a></li>
<li>Wiederherstellen de iPhones OHNE einspielen eines Backups &#8211; also als Neugerät konfigurieren</li>
<li>Übertragen der gewünschten Apps aus der iTunes Bibilothek</li>
<li>Einrichten des iPhones von Hand, d.h. Einstellungen (E-Mail,WLAN, etc)</li>
<li>Zurücksichern der Einstellungen einzelner Apps aus dem extrahierten Backup mit <a href="http://www.macroplant.com/iphoneexplorer/">iPhone Explorer</a> oder <a href="http://www.ecamm.com/mac/phoneview/">PhoneView</a></li>
</ol>
<p>Schritt 2 und 6 sind also die interessanten.</p>
<h3>Extrahieren des kompletten Backups mit JuicePhone</h3>
<p>JuicePhone extrahiert Teile oder ein Komplettes Backup in ein gewünschtes Speicherzeil.<br />
<img src="http://www.joachimschuster.de/wp-content/uploads/2011/02/juicephone.png" alt="juicephone.png" title="juicephone.png" border="0" width="600" height="400" /><br />
Im Zielordner befindet sich dann ein Unterordner &#8220;Application Data&#8221; in dem sich die Einstellungsdateien sämtlicher Apps befinden.</p>
<h3>Zurücksichern der Einstellungen einzelner Apps</h3>
<p>Das zurücksichern erfolgt für jede App einzeln. Mühsam aber dank Drag&#038;Drop nur Fleißarbeit.</p>
<p>iPhone Explorer starten, iPhone anschließen (falls noch nicht geschehen). in iPhone Explorer Apps aufklappen und eine einzelne App auswählen. Aus dem App-Ordner des Backups den markierten Inhalt (z.B. Documents / Library) dieser einzelnen App per D&#038;D darauf ziehen. iPhone Explorer fragt nach, ob man die Ordner Documents bzw. Library wirklich überschreiben möchte und danach beginnt das kopieren.</p>
<p>iPhone Explorer zeigt die Liste der installierten Apps unsortiert an und fragt auch beim Überschreiben der Ordner sehr oft nach. Daher empfehle ich eher PhoneView zu verwenden, da dies die Liste der Apps sortiert darstellt und auch das Überschreiben nur einmal pro App anfragt.</p>
<h2>Fazit</h2>
<p>Dank der Kombination der zwei Tools ist es möglich, die Daten und Einstellungen einzelner Apps nach einer Wiederherstellung selektiv zurück zu sichern. Ist zwar etwas zeitraubend, aber sicherlich angenehmer als die Daten von Hand auf dem iPhone eingeben zu müssen. Wer also evtl. Funktionen vermisst oder generell mal ein &#8220;sauberes Neuaufsetzen des Systems&#8221; durchführen möchte, ist mit dieser Methode schnell am Ziel.</p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/ATM3D_pL3ZM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/iphone-apps-selektiv-wiederherstellen/874/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/iphone-apps-selektiv-wiederherstellen/874/</feedburner:origLink></item>
		<item>
		<title>Synology DiskStation migrieren</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/kU3h_KFSAVk/</link>
		<comments>http://www.joachimschuster.de/synology-diskstation-migrieren/868/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 12:32:13 +0000</pubDate>
		<dc:creator>joachim</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[WWW]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=868</guid>
		<description><![CDATA[Auch wenn die DS106 durchaus für die meisten Anwendungsfälle File-, SVN-, Web- Server ausreichte, so ist eine aktuelle DS211+ doch etwas performanter und dank RAID1 auch beruhigender, was Datenverlust durch Festplattencrashes angeht. Die Migration Unter how to migrate beschreibt der Hersteller selbst sehr ausführlich, welche Möglichkeiten es gibt. Ein direktes austauschen der Festplatten fällt der]]></description>
			<content:encoded><![CDATA[<p>Auch wenn die DS106 durchaus für die meisten Anwendungsfälle File-, SVN-, Web- Server ausreichte, so ist eine aktuelle DS211+ doch etwas performanter und dank RAID1 auch beruhigender, was Datenverlust durch Festplattencrashes angeht.</p>
<h1>Die Migration</h1>
<p>Unter <a href="http://www.synology.com/deu/support/tutorials/how_to_migrate.php#3.2">how to migrate</a> beschreibt der Hersteller selbst sehr ausführlich, welche Möglichkeiten es gibt. Ein direktes austauschen der Festplatten fällt der Anleitung zufolge flach.<br/><br />
Entsprechend bleibt nur Mehtode 3.2 übrig. Diese funktioniert aber prächtig.</p>
<ol>
<li>Backup der Einstellungen auf alter DS und Restore auf neuer brachte alle User samt Rechte auf die neue DS.
</li>
<li>Das beschriebene Network Backup kopiert die Daten der alten DS auf die neue und behält dabei die Besitzer und Zugriffsrechte bei!
</li>
<li>Das Verschieben macht man, wie beschrieben, über den File-Browser der DSM Web-Oberfläche, da so die Rechte korrekt beibehalten werden (Über SMB oder AFP Freigabe werden die Rechte entsprechend des angemeldeten Users gesetzt!!!).
</li>
</ol>
<h1>Nacharbeit</h1>
<p>Was die Migration nicht hin bekommen hat (Web-Server aktiviere, Servername etc.) lässt sich wirklich schnell von Hand nachziehen.
<p/>
<p>Auch die mySQL Datenbank muss man selbst per dump (über phpMyAdmin schnell gemacht) auf die neue DS übertragen.</p>
<p/>
<p>Ipkg installiert man am besten auch frisch, da sich die Binaries, die sich im opt Ordner befinden (und vorbildlich im Backup mitgesichert werden) in der Regel nicht auf anderen Prozessortypen ausführen lassen.</p>
<h2>websvn</h2>
<p>Hat man SVN installiert und möchte gerne websvn einsetzen, so könnte evtl. folgende Fehlermeldung, trotz korrekt konfiguriertem websvn auftreten:<br/><br />
&#8220;sh: svn: not found&#8221;</p>
<p>Das liegt daran, dass der Pfad /opt/bin nicht in open_basedir der php.ini Konfiguration eingetragen ist.<br />
Dazu einfach in der DSM Web-Oberfläche Bedienfeld -> Webdienste den Reiter &#8220;PHP-Einstellungen&#8221; wählen, die Option &#8220;PHP open_basedir benutzerspezifisch anpassen&#8221; aktivieren und &#8220;:/opt/bin&#8221; anfügen.<br />
<img src="http://www.joachimschuster.de/wp-content/uploads/2011/02/DSPHPEinstellungen.png" alt="DS PHP-EInstellungen" title="DSPHPEinstellungen.png" border="0" width="600" height="355" /></p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/kU3h_KFSAVk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/synology-diskstation-migrieren/868/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/synology-diskstation-migrieren/868/</feedburner:origLink></item>
		<item>
		<title>New iTunes Connect fixes usability flaw</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/liOoiPOH2yE/</link>
		<comments>http://www.joachimschuster.de/new-itunes-connect-fixes-usability-flaw/857/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 15:33:04 +0000</pubDate>
		<dc:creator>joachim</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=857</guid>
		<description><![CDATA[Just yesterday I was discussing login screen design with a friend. We looked at some iPhone apps with login screens to find out the best way of implementation. We came across iTunes Connect as an Apple own application. Layout is done via UITableView (at least visually) The Keyboard fits directly underneath the buttons so you]]></description>
			<content:encoded><![CDATA[<p>Just yesterday I was discussing login screen design with a friend. We looked at some iPhone apps with login screens to find out the best way of implementation.<br />
We came across <a href="http://itunes.apple.com/de/app/itunes-connect-mobile/id376771144?mt=8">iTunes Connect</a> as an Apple own application.</p>
<p><img src="http://www.joachimschuster.de/wp-content/uploads/2010/11/itc1.png" alt="itc1.png" title="itc1.png" border="0" width="320" height="480" /></p>
<ul>
<li>Layout is done via UITableView (at least visually)</li>
<li>The Keyboard fits directly underneath the buttons so you can reach every UI-Element while typing</li>
<li>Both fields for &#8220;Member Name&#8221; and &#8220;Password&#8221; are filled with a placeholder so the purpose is very clear.</li>
<li>Each field provides a info-button for recovering the Apple ID / password (in case you&#8217;ve forgotten).</li>
<li>If you type in your member name in the first text field an press the &#8220;Next&#8221;-button on the keyboard, the focus is set directly to the password field. So you can type in the password without being interrupted by having to tap in the password field first to activate it. And after typing the password you can use the keyboards &#8220;Go&#8221;-button or the &#8220;Sign In&#8221;-button to initiate the login process.</li>
</ul>
<p>It&#8217;s very handy to use.</p>
<p>But one thing I was always wondering about is the &#8220;Cancel&#8221;-button. You can not use the app without signing in. Canceling at this point could only mean quitting the app (as you may expect for Desktop applications). But the <a href="http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/HandleTasks/HandleTasks.html">(iOS) iPhone Human Interface Guidelines for stopping</a> strongly discourages the programmatically termination.<br />
And the cancel button indeed doesn&#8217;t exit the app. Instead an &#8220;Error&#8221; Popup with an dubious error code is shown.<br />
So what purpose may this Button have in the future, I was wondering.</p>
<p><img src="http://www.joachimschuster.de/wp-content/uploads/2010/11/itc2.png" alt="itc2.png" title="itc2.png" border="0" width="320" height="480" /></p>
<p>Apple must have read my mind! Today a new version was released and&#8230; the cancel button has vanished!</p>
<p><img src="http://www.joachimschuster.de/wp-content/uploads/2010/11/ic3.png" alt="ic3.png" title="ic3.png" border="0" width="320" height="480" /></p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/liOoiPOH2yE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/new-itunes-connect-fixes-usability-flaw/857/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/new-itunes-connect-fixes-usability-flaw/857/</feedburner:origLink></item>
		<item>
		<title>Generate readable log from svn repository</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/BjRz_U5G0ZM/</link>
		<comments>http://www.joachimschuster.de/generate-readable-log-from-svn-repository/848/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 13:27:15 +0000</pubDate>
		<dc:creator>joachim</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=848</guid>
		<description><![CDATA[If you want to see, what you have already done for a certain project of your repository, SVN offers you the ability to export the log as a XML-File. svn log -v --xml https://server.org/svn/project This will show the log directly in your console. If you prefer the output as a file append &#62; outfile.xml If]]></description>
			<content:encoded><![CDATA[<p>If you want to see, what you have already done for a certain project of your repository, SVN offers you the ability to export the log as a XML-File.</p>
<pre>svn log -v --xml https://server.org/svn/project</pre>
<p>This will show the log directly in your console. If you prefer the output as a file append</p>
<pre>&gt; outfile.xml</pre>
<p>If you&#8217;d like to have a more human readable output, you can use the following xsl, to transform it to a readable html table:</p>
<pre name="code" class="html">&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
&lt;xsl:template match="/"&gt;
&lt;html&gt;
&lt;body&gt;
&lt;h2&gt;SVN Log&lt;/h2&gt;
&lt;table border="1"&gt;
&lt;xsl:for-each select="log/logentry"&gt;
&lt;xsl:if test="author='USERNAME'"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;xsl:value-of select="date"/&gt;&lt;/td&gt;
&lt;td&gt;&lt;xsl:value-of select="author"/&gt;&lt;/td&gt;
&lt;td&gt;&lt;xsl:value-of select="msg"/&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/xsl:if&gt;
&lt;/xsl:for-each&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre>
<p>Change USERNAME to your svn username and save it to svnstyle.xsl for example.</p>
<p>Now you can use the following command to export and transform the export-xml directly to readable html via:</p>
<pre>svn log -v --xml https://server.org/svn/project | xsltproc svnstyle.xsl - > ~/Desktop/svnlog.html</pre>
<p>This uses the XSLT-Processor xsltproc, which seams to be preinstalled on a Mac OS X system. But you can replace it with any XSLT-Processor of your choice <img src='http://www.joachimschuster.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The svn command may require username and password &#8211; so you may get asked for turing the process.<br />
You can specify a username and password with the parameters &#8211;username USERNAME and &#8211;password PASSWORD.<br />
But think of the little security issue.</p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/BjRz_U5G0ZM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/generate-readable-log-from-svn-repository/848/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/generate-readable-log-from-svn-repository/848/</feedburner:origLink></item>
		<item>
		<title>Malicious UIDatePicker</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/ZJDP1TpewK0/</link>
		<comments>http://www.joachimschuster.de/malicious-uidatepicker/834/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 14:11:40 +0000</pubDate>
		<dc:creator>joachim</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=834</guid>
		<description><![CDATA[I used the UIDatePicker a few times already. Mostly in german Apps. I have never had any problems setting the minimum or maximum date properties. Yesterday we figured out a strange behavior. The App always quit with a &#8220;SIGABRT&#8221; and the information -[UIDateTableCell date]: unrecognized selector sent to instance *** Terminating app due to uncaught]]></description>
			<content:encoded><![CDATA[<p>I used the UIDatePicker a few times already. Mostly in german Apps. I have never had any problems setting the minimum or maximum date properties.<br />
Yesterday we figured out a strange behavior. The App always quit with a &#8220;SIGABRT&#8221; and the information</p>
<pre name="code" class="c">-[UIDateTableCell date]: unrecognized selector sent to instance
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIDateTableCell date]: unrecognized selector sent to instance </pre>
<p><img src="http://www.joachimschuster.de/wp-content/uploads/2010/11/UIDatePickerCrash.png" alt="UIDatePickerCrash.png" title="UIDatePickerCrash.png" border="0" width="376" height="331" /></p>
<p>at following line</p>
<pre name="code" class="c">self.datePicker.minimumDate = [NSDate date];</pre>
<p>And it only crashes if the datePickerMode is UIDatePickerModeDateAndTime</p>
<pre name="code" class="c">self.datePicker.datePickerMode = UIDatePickerModeDateAndTime;</pre>
<p>First try, use the setter Method instead of Dot-notation:</p>
<pre name="code" class="c">[self.datePicker setMinimumDate:[NSDate date]];</pre>
<p>same effect.</p>
<p>As you can&#8217;t always rely on the simulator, we tried the code on the device. -> No crash!</p>
<p>First thought: A further Simulator discrepancy.</p>
<p>Tried it on a different Mac in Simulator -> NO CRASH!</p>
<p>So what was the difference between the two systems?</p>
<p>Same XCode Version<br />
Same OS X Version<br />
&#8230;</p>
<p>Different System Language! </p>
<p>Changed the language of the device to Language EN, Region US and voila, the App crashes at the expected line.</p>
<p>After a long google session without any hint, we tried some rearrangement of code and put the setting of the pickers date before the setting of the minimumDate.</p>
<pre name="code" class="c">self.datePicker.minimumDate = [NSDate date];
self.datePicker.date = [NSDate date]:
</pre>
<p>to</p>
<pre name="code" class="c">self.datePicker.date = [NSDate date]:
self.datePicker.minimumDate = [NSDate date];
</pre>
<p>Guess what! Now the App runs fine even on the EN_US Simulator and Device!</p>
<p>So you will say: &#8220;it&#8217;s obvious you must set the pickers date before you can set a minimum date&#8221;.</p>
<p>Hm good point, but:</p>
<ol>
<li>the API tells you, that even if you omit setting the date explicitly &#8220;<a href="http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDatePicker_Class/Reference/UIDatePicker.html">the default is the date when the UIDatePicker object is created</a>&#8220;, so the date property is never nil.</li>
<li>if the Picker is shown in &#8220;german&#8221; style the App won&#8217;t crash.</li>
</ol>
<p>If your Picker is created by a nib-File as a IBOutlet, the date can be set in Interface Builder.</p>
<h2>A second solution</h2>
<p>set the Mode of the Picker in Interface Builder initially to &#8220;Date &#038; Time&#8221;.<br />
<img src="http://www.joachimschuster.de/wp-content/uploads/2010/11/PastedGraphic-2.png" alt="PastedGraphic-2.png" title="PastedGraphic-2.png" border="0" width="275" height="127" /></p>
<p>In your code you can change the Mode afterwards via datePickerMode.</p>
<pre name="code" class="c">self.datePicker.datePickerMode = UIDatePickerModeDate;</pre>
<p>But Attention:<br />
Setting the Mode in Interface Builder to &#8220;Date &#038; Time&#8221; initially will cause the Picker to ignore a minuteInterval programmatically set in code.</p>
<p>So set &#8220;Date &#038; Time&#8221; in IB -> self.datePicker.minuteInterval = 15; has no effect.</p>
<p>set &#8220;Date&#8221; -> self.datePicker.minuteInterval = 15; will be recognized (if you also set the Mode to Date &#038; Time programmatically) &#8211; but you have to set also date to avoid crashing.</p>
<p>So have fun.</p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/ZJDP1TpewK0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/malicious-uidatepicker/834/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/malicious-uidatepicker/834/</feedburner:origLink></item>
		<item>
		<title>MediaWiki with Google Code Prettify</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/Xsg9Td86k1E/</link>
		<comments>http://www.joachimschuster.de/mediawiki-with-google-code-prettify/825/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 09:37:21 +0000</pubDate>
		<dc:creator>joachim</dc:creator>
				<category><![CDATA[WWW]]></category>
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=825</guid>
		<description><![CDATA[To add Googles prettify.js for syntax highlighting to MediaWiki follow the instructions below: Download google code prettify Rename the containing src folder to code-prettify Upload the code-prettify folder (not only the content!) to your MediaWiki installation to the folder &#8220;skins&#8221;. Edit the file MonoBook.php (if you use another skin, edit the corresponding file) and add]]></description>
			<content:encoded><![CDATA[<p>To add Googles prettify.js for syntax highlighting to MediaWiki follow the instructions below:</p>
<ol>
<li>
Download <a href="http://code.google.com/p/google-code-prettify/downloads/list">google code prettify</a>
</li>
<li>
Rename the containing src folder to code-prettify
</li>
<li>
Upload the code-prettify folder (not only the content!) to your MediaWiki installation to the folder &#8220;skins&#8221;.
</li>
<li>
Edit the file MonoBook.php (if you use another skin, edit the corresponding file) and add the following lines anywhere within the &lt;head&gt;-Element.</p>
<pre  name="code" class="html">
<link href="&lt;?php $this->text('stylepath') ?&gt;/code-prettify/prettify.css" type="text/css" rel="stylesheet" />
&lt;script type="text/javascript" src="&lt;?php $this->text('stylepath') ?&gt;/code-prettify/prettify.js">&lt;/script&gt;
</pre>
</li>
<li>
Find the &lt;body&gt;-Element. Usually you will find the following line in the opening tag of the &lt;body&gt;-Element:</p>
<pre name="code" class="html">
&lt;?php if($this->data['body_onload']) { ?&gt; onload="&lt;?php $this->text('body_onload') ?&gt;;"&lt;?php ?&gt;
</pre>
<p>change it to:</p>
<pre name="code" class="html">
&lt;?php if($this->data['body_onload']) { ?&gt; onload="&lt;?php $this->text('body_onload') ?&gt;;prettyPrint();"&lt;?php } else { ?&gt; onload="prettyPrint();" &lt;?php } ?&gt;
</pre>
</li>
</ol>
<p>Inspired by <a href="http://www.richardnichols.net/2010/04/adding-google-prettify-syntax-highlight-to-mediawiki/">Richard Nichols How-to: Add Code Syntax Highlighting to MediaWiki</a></p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/Xsg9Td86k1E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/mediawiki-with-google-code-prettify/825/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/mediawiki-with-google-code-prettify/825/</feedburner:origLink></item>
		<item>
		<title>Tunneling AFP durch SSH</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/fybodybQxEQ/</link>
		<comments>http://www.joachimschuster.de/tunneling-afp-durch-ssh/805/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 10:15:36 +0000</pubDate>
		<dc:creator>joachim</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=805</guid>
		<description><![CDATA[Mit folgenden Befehlen kann man das angebotene Apple File Protocol eines entfernten Servers in das lokale Netzwerk befördern. SSH ermöglicht eine sichere Terminal Verbindung zu einem Host-Rechner. So kann man auch mittels Port Forwarding auf einen Rechner zugreifen, der in einem Fremden Netzwerk, hinter einem Router / Firewall / etc. steht. Auf diesem Host-Rechner muss]]></description>
			<content:encoded><![CDATA[<p>Mit folgenden Befehlen kann man das angebotene Apple File Protocol eines entfernten Servers in das lokale Netzwerk befördern.<br />
SSH ermöglicht eine sichere Terminal Verbindung zu einem Host-Rechner. So kann man auch mittels Port Forwarding auf einen Rechner zugreifen, der in einem Fremden Netzwerk, hinter einem Router / Firewall / etc. steht.<br />
Auf diesem Host-Rechner muss der SSH Service laufen &#8211; wer hätte es gedacht, die Synology DiskStation bietet eben diesen Service. Aktivierbar unter Netzwerkdienste -> Terminal -> SSH Dienst aktivieren.<br />
Außerdem bietet die DiskStation noch das AFP (unter Gemeinsame Dateien -> Win/Mac OS -> Mac Dateidienst aktivieren).</p>
<p>Befindet man sich nun Unterwegs/in einem fremden LAN und möchte auf die heimische DiskStation zugreifen, bietet es sich an, diese per SSH anzusprechen und das AFP hindurch zu tunneln. Anschließend kann auf die DiskStation zugreifen, als befände man sich im gleichen Netzwerk und das schöne ist, die Verbindung ist über SSH gesichert.</p>
<p>Folgende Befehle sorgen dafür, dass die entfernte DiskStation auf dem lokalen Rechner erreichbar wird.</p>
<pre  name="code" class="c++">
dns-sd -R DiskStation _afpovertcp._tcp . 12345 > /dev/null &#038;
ssh -gNL 12345:127.0.0.1:548 root@remote.host.com
</pre>
<p>Erklärung:<br />
Der Erste registriert den AFP Dienst unter dem Namen DiskStation über den Port 12345. Es wird so ein AFP Dienst angekündigt, der vom Dienst aus dem entfernten Netzwerk noch bedient werden muss.</p>
<p>Die Parameter:</p>
<ul>
<li><strong>g</strong> sorgt dafür, dass der entfernte Host auf den lokal freigegebenen Port (12345) zugreifen darf &#8211; somit kann der entfernte Server seinen AFP Dienst durch den SSH-Tunnel über den Port 12345 bekannt machen. </li>
<li><strong>N</strong> bewirkt, dass nur die Tunnelfunktion genutzt wird, keine Konsoleneingabe möglich.</li>
<li><strong>L</strong> bewirkt das eigentliche Tunneln. Hier wird der lokale Port 12345 auf den entfernten Rechner auf 548 gemappt (wenn man statt 127.0.0.1 eine andere Adresse angibt, so könnte der SSH Dient auf einem anderen Rechner laufen, wie AFP). </li>
<li>Als letztes wird angegeben, dass die SSH Verbindung über den Benutzer root am remote.host.com hergestellt wird.</li>
</ul>
<p>Kleine Ergänzung:<br />
Wer das ganze noch gerne ohne Passwortabfrage hätte, ist folgender Artikel im <a href="http://wiki.joachimschuster.de/">Wiki</a> wärmstens empfohlen:<br />
<a href="http://wiki.joachimschuster.de/index.php/SSH_ohne_Passwortabfrage">http://wiki.joachimschuster.de/index.php/SSH_ohne_Passwortabfrage</a></p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/fybodybQxEQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/tunneling-afp-durch-ssh/805/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/tunneling-afp-durch-ssh/805/</feedburner:origLink></item>
		<item>
		<title>Ruby on Rails und Redmine auf Synology DiskStation</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/aXC_ySOMh4w/</link>
		<comments>http://www.joachimschuster.de/ruby-on-rails-und-redmine-auf-synology-diskstation/802/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 20:36:34 +0000</pubDate>
		<dc:creator>joachim</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=802</guid>
		<description><![CDATA[Vor einigen Monaten versuchte ich Ruby on Rails auf der Synology DS106 zu installieren um anschließend das Projektmanagement Tool Redmine darauf laufen zu lassen. Da das Ergebnis leider nur die Information war, dass die DS106 für Ruby einfach hoffnungslos unterdimensioniert ist, musste die Sache erst mal ruhen. Bis jetzt endlich die neue DS210+ mit 512MB]]></description>
			<content:encoded><![CDATA[<p>Vor einigen Monaten <a href="http://wiki.joachimschuster.de/index.php/Ruby_on_Rails_und_Redmine_installieren">versuchte ich Ruby on Rails auf der Synology DS106</a> zu installieren um anschließend das <a href="http://www.redmine.org/">Projektmanagement Tool Redmine</a> darauf laufen zu lassen.<br />
Da das Ergebnis leider nur die Information war, dass die DS106 für Ruby einfach hoffnungslos unterdimensioniert ist, musste die Sache erst mal ruhen.<br />
Bis jetzt endlich die neue DS210+ mit 512MB RAM und 1 GHz CPU zur Verfügung stand. Den kleinen Leistungsunterschied (vgl. 32MB RAM 266MHz) merkt man dann doch umgehend <img src='http://www.joachimschuster.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Da die Installation nun erfolgreich durchgeführt werden konnte, habe ich die <a href="http://wiki.joachimschuster.de/index.php/Install_Ruby_on_Rails_and_Redmine_on_DS210%2B">Anleitung noch mal überarbeitet und in Englisch verfasst</a>.</p>
<p>Am Kniffligsten war nicht das Einrichten selbst, sondern den Dienst anschließend beim Booten automatisch starten zu lassen.<br />
Dabei stellte sich heraus, dass zwei Umstände zu Problemen führten:</p>
<ol>
<li>Ruby möchte beim Ausführen ins Home-Verzeichnis des ausführenden Benutzers das Verzeichnis .gem (mit Dateien etc.) anlegen</li>
<li>Redmine über Webrick gestartet will im Verzeichnis, in dem der Webservice ausgeführt wird, ein tmp-Verzeichnis erstellen.</li>
</ol>
<p>Der erste Punkt kann dadurch behoben werden, dass die home-Verzeichnisse der Benutzer aktiviert werden. Dazu den Benutzer-home-Dienst unter Berechtigungen -> Benutzer -> Benutzer-Home aktivieren.</p>
<p>Der zweite Punkt kann durch das Wechseln in den Ordner, in dem der Redmine Service liegt behoben werden. Von dort aus kann dann der Dienst gestartet werden, da der Benutzer redmine darin schreibrechte hat.</p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/aXC_ySOMh4w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/ruby-on-rails-und-redmine-auf-synology-diskstation/802/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/ruby-on-rails-und-redmine-auf-synology-diskstation/802/</feedburner:origLink></item>
		<item>
		<title>Update: Simyo Login erneut gestört</title>
		<link>http://feedproxy.google.com/~r/JoachimSchuster/~3/7Dl0Ff4k9Ds/</link>
		<comments>http://www.joachimschuster.de/simyo-verbindungsubersicht-wird-uberarbeitet/795/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 10:39:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.joachimschuster.de/?p=795</guid>
		<description><![CDATA[03.01.2011: Die Probleme wurden behoben. Ging über die Feiertage etwas unter, aber seit einigen Tagen funktioniert die Verbindungsübersicht wieder zuverlässig. Somit werden die Daten auch in Kosten angezeigt. Seit mehreren Tagen ist die Verbindungsübersicht von Simyo nicht mehr im Betrieb, bzw. zeigt keine Werte an. Dementsprechend werden in Kosten leider auch keine Details angezeigt. Sobald]]></description>
			<content:encoded><![CDATA[<div class='update'>03.01.2011: Die Probleme wurden behoben. Ging über die Feiertage etwas unter, aber seit einigen Tagen funktioniert die Verbindungsübersicht wieder zuverlässig. Somit werden die Daten auch in Kosten angezeigt.</div>
<p>Seit mehreren Tagen ist die Verbindungsübersicht von Simyo<br />
nicht mehr im Betrieb, bzw. zeigt keine Werte an. Dementsprechend<br />
werden in Kosten leider auch keine Details angezeigt. Sobald die<br />
Wartungsarbeiten abgeschlossen sind und die Verbindungsübersicht<br />
auf der Homepage wieder Daten anzeigt, wird auch Kosten wieder<br />
korrekte Werte anzeigen. Ich bitte um Verständnis und hoffe, dass<br />
das Problem möglichst bald behoben ist und wir die detaillierten<br />
Informationen von Simyo wieder bereit gestellt bekommen. Vielen<br />
Dank für die Rückmeldung bei Problemen- es hilft die App stetig<br />
weiter zu verbessern. Ich bin bemüht die Probleme, die in meiner<br />
Macht stehen, umgehend zu beheben. Über das <a<br />
href="http://www.joachimschuster.de/contact/">Kontaktformular</a><br />
können Probleme ganz einfach gemeldet werden.</p>
<img src="http://feeds.feedburner.com/~r/JoachimSchuster/~4/7Dl0Ff4k9Ds" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joachimschuster.de/simyo-verbindungsubersicht-wird-uberarbeitet/795/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.joachimschuster.de/simyo-verbindungsubersicht-wird-uberarbeitet/795/</feedburner:origLink></item>
	</channel>
</rss>

