<?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>Flos Spielwiese</title>
	<atom:link href="http://www.donuz.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.donuz.de</link>
	<description></description>
	<lastBuildDate>Mon, 05 Apr 2010 08:24:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Shaback 0.6.0</title>
		<link>http://www.donuz.de/2010/04/05/shaback-0-6-0/</link>
		<comments>http://www.donuz.de/2010/04/05/shaback-0-6-0/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 08:23:10 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[shaback]]></category>

		<guid isPermaLink="false">http://www.donuz.de/?p=125</guid>
		<description><![CDATA[Die neuste Version meines Backuptools shaback steht nun zum Download bereit:

 
 
  
   Shaback 0.6.0
   shaback-0.6.0.py
   Version: 0.6.0
   
  
  
  Jetzt mit libz-Komprimierung und AES-Verschlüsselung.
  
   Languages:English
   Author:Florian Wolff
   Platforms:Cross Platform
   Requirements:Python [...]]]></description>
			<content:encoded><![CDATA[<p>Die neuste Version meines Backuptools <a href="/software/shaback/"><em>shaback</em></a> steht nun zum Download bereit:</p>
<p><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://www.donuz.de/download/shaback/shaback-0.6.0.py" onclick="wpfilebase_dlclick(5, 'download/shaback/shaback-0.6.0.py')" title="Download Shaback 0.6.0"><img align="middle" src="http://www.donuz.de/wp-includes/images/crystal/default.png" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://www.donuz.de/download/shaback/shaback-0.6.0.py" onclick="wpfilebase_dlclick(5, 'download/shaback/shaback-0.6.0.py')" title="Download Shaback 0.6.0">Shaback 0.6.0</a>
   shaback-0.6.0.py
   Version: 0.6.0
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails2" style="display: none;">
  Jetzt mit libz-Komprimierung und AES-Verschlüsselung.
  <table border="0">
   <tr><th>Languages:</th><td>English</td></tr>
   <tr><th>Author:</th><td>Florian Wolff</td></tr>
   <tr><th>Platforms:</th><td>Cross Platform</td></tr>
   <tr><th>Requirements:</th><td>Python 2.5, Python 2.6, <a href="http://www.dlitz.net/software/pycrypto/" target="_blank">PyCrypto</a></td></tr>
   <tr><th>Category:</th><td>shaback</td></tr>
   <tr><th>License:</th><td>GNU Lesser General Public License</td></tr>
   <tr><th>Date:</th><td>April 5, 2010</td></tr>
   
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  28.9 KiB
  81 Downloads
  <a href="#" onclick="return wpfilebase_filedetails(2);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div></p>
<p>Die neue Version bringt nun die versprochene AES-Verschlüsselung mit. Neben Python 2.5 oder 2.6 ist dafür die <a href="http://www.dlitz.net/software/pycrypto/">PyCrypto-Bibliothek</a> erforderlich.</p>
<p>Das Binärformat der Backupfiles hat sich in dieser Version geändert, so dass alte Backups mit dieser Version nicht wiederhergestellt werden können. Es muss unbedingt ein neues Backuprepository erzeugt werden!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donuz.de/2010/04/05/shaback-0-6-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AES-Verschlüsselung für shaback</title>
		<link>http://www.donuz.de/2010/03/24/aes-verschlusselung-fur-shaback/</link>
		<comments>http://www.donuz.de/2010/03/24/aes-verschlusselung-fur-shaback/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 08:55:56 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[shaback]]></category>

		<guid isPermaLink="false">http://www.donuz.de/?p=111</guid>
		<description><![CDATA[Ich arbeite seit ein Paar Wochen daran, das Backuptool shaback um eine AES-Verschlüsselung zu erweitern.
Dabei soll jede einzelne Datei inklusive dem Indexfile beim Schreiben in den Backuppool verschlüsselt werden. Auf diese Weise kann man dann (hoffentlich) gefahrlos auch ein Onlinebackup bei einem entsprechenden Provider in Erwägung ziehen. Entsprechende Angebote für Online-Festplatten gibt es mittlerweile von [...]]]></description>
			<content:encoded><![CDATA[<p>Ich arbeite seit ein Paar Wochen daran, das Backuptool shaback um eine AES-Verschlüsselung zu erweitern.</p>
<p>Dabei soll jede einzelne Datei inklusive dem Indexfile beim Schreiben in den Backuppool verschlüsselt werden. Auf diese Weise kann man dann (hoffentlich) gefahrlos auch ein Onlinebackup bei einem entsprechenden Provider in Erwägung ziehen. Entsprechende Angebote für Online-Festplatten gibt es mittlerweile von verschiedenen Anbietern. In meinem Fall funktioniert es mit <a href="http://www.strato.de/hidrive/index.html" target="_blank">Stratos hidrive-Produkt</a> sehr gut, weil man dort u.a. per rsync seine Daten anliefern darf.</p>
<p>Mein Setup sieht dann so aus, dass ich lokal eine zweite Festplatte in meinem Server habe, die per Standby-Schaltung nach einer Weile abgeschaltet wird, um Strom zu sparen. Auf diese Festplatte wird jede Nacht mit shaback ein Backup meiner wichtigsten Dokumente, Fotos etc. gemacht. Anschließend wird das gesamte Backupverzeichnis per rsync auf die Online-Festplatte kopiert.</p>
<p>Somit habe ich immer auch noch ein Offsite-Backup, falls bei mir zu Hause etwas wirklich furchtbares passieren sollte. Ich darf dann nur das Passwort, aus dem der AES-Schlüssel gebildet wird, nicht vergessen!</p>
<p>Sobald die neue Version fertig ist, werde ich sie umgehend hier veröffentlichen. Zur Zeit kämpfe ich noch mit der schlechten Performance der Verschlüsselung. Es ist aber leider schon klar geworden, dass das Format der Backupfiles nicht mehr kompatibel zur ersten Version sein wird. Bereits vorhandene Backups können also mit der neuen Version nicht mehr wiederhergestellt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donuz.de/2010/03/24/aes-verschlusselung-fur-shaback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shaback 0.5.1</title>
		<link>http://www.donuz.de/2010/02/13/shaback-2/</link>
		<comments>http://www.donuz.de/2010/02/13/shaback-2/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 11:20:59 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[shaback]]></category>

		<guid isPermaLink="false">http://www.donuz.de/?p=91</guid>
		<description><![CDATA[Nun ist es soweit, ich möchte die erste alpha-Version meines neuen Backuptools shaback veröffentlichen. Die Idee hinter diesem Tool habe ich hier schon einmal umrissen: Blogeintrag.
Das Programm habe ich als Prototyp zunächst in Python 2.6 geschrieben. Wenn es sich bewährt, werde ich das vielleicht später noch in C++ umsetzen. Das würde sich dann aber nur [...]]]></description>
			<content:encoded><![CDATA[<p>Nun ist es soweit, ich möchte die erste alpha-Version meines neuen Backuptools <a href="/software/shaback/"><em>shaback</em></a> veröffentlichen. Die Idee hinter diesem Tool habe ich hier schon einmal umrissen: <a href="/2010/02/09/idee-fur-backup-tool">Blogeintrag</a>.</p>
<p>Das Programm habe ich als Prototyp zunächst in Python 2.6 geschrieben. Wenn es sich bewährt, werde ich das vielleicht später noch in C++ umsetzen. Das würde sich dann aber nur lohnen, wenn es dadurch auch deutlich schneller wird&#8230;</p>
<p><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://www.donuz.de/download/shaback/shaback-0.5.1.py" onclick="wpfilebase_dlclick(4, 'download/shaback/shaback-0.5.1.py')" title="Download Shaback 0.5.1"><img align="middle" src="http://www.donuz.de/wp-includes/images/crystal/default.png" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://www.donuz.de/download/shaback/shaback-0.5.1.py" onclick="wpfilebase_dlclick(4, 'download/shaback/shaback-0.5.1.py')" title="Download Shaback 0.5.1">Shaback 0.5.1</a>
   shaback-0.5.1.py
   Version: 0.5.1
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails4" style="display: none;">
  
  <table border="0">
   
   <tr><th>Author:</th><td>Florian Wolff</td></tr>
   
   <tr><th>Requirements:</th><td>Python 2.6</td></tr>
   <tr><th>Category:</th><td>shaback</td></tr>
   
   <tr><th>Date:</th><td>February 13, 2010</td></tr>
   
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  25.5 KiB
  115 Downloads
  <a href="#" onclick="return wpfilebase_filedetails(4);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.donuz.de/2010/02/13/shaback-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idee für Backup-Tool</title>
		<link>http://www.donuz.de/2010/02/09/idee-fur-backup-tool/</link>
		<comments>http://www.donuz.de/2010/02/09/idee-fur-backup-tool/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 13:41:42 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Ideen]]></category>

		<guid isPermaLink="false">http://www.donuz.de/?p=56</guid>
		<description><![CDATA[Seit einer ganzen Weile beschäftigt mich die Fragestellung, wie man am besten Backups von all seinen Rechner anfertigt. Diese Backups müssen natürlich endweder physisch beweglich gespeichert werden, damit man sie z.B. auch räumlich getrennt lagern kann. Oder aber, man sichert gleich alles über das Internet auf einem entfernten Rechner, der z.B. irgendwo in einem Rechenzentrum [...]]]></description>
			<content:encoded><![CDATA[<p>Seit einer ganzen Weile beschäftigt mich die Fragestellung, wie man am besten Backups von all seinen Rechner anfertigt. Diese Backups müssen natürlich endweder physisch beweglich gespeichert werden, damit man sie z.B. auch räumlich getrennt lagern kann. Oder aber, man sichert gleich alles über das Internet auf einem entfernten Rechner, der z.B. irgendwo in einem Rechenzentrum für diesen Zweck gemietet wurde.<br />
Gerade bei Datensicherungen über langsame Netzwerkverbindungen muss man natürlich besonders die dabei zu übertragende Datenmenge im Auge behalten. Wenn man viele Rechner auf einen Backupserver sichern will, muss man auch sehr auf den absoluten Platzbedarf achten. Vor allem möchte man hier auch doppelt vorhandene Dateien nach Möglichkeit nur einmal aufbewahren müssen.</p>
<p>Was man eigentlich generell vom Backup-Tool seines Vertrauens erwartet:</p>
<ul>
<li>Inkrementelle Sicherung, damit nicht immer alles hin- und herkopiert werden muss</li>
<li>Aufbewahren mehrerer Snapshots, damit man nicht nur eine Kopie hat, sondern eben auch noch den Stand von gestern, vorgestern und vor einem Monat.</li>
<li>Die Sicherung muss wenigstens insofern platzsparend erfolgen, als dass Dateien, die sich nicht geändert haben, nicht erneut abgelegt werden.</li>
<li>Besser wäre es, wenn das auch für verschobene bzw. umbenannte Dateien gilt, deren Inhalt gleich geblieben ist.</li>
<li>Noch besser wäre es, wenn eine Datei selbst dann nur einmal abgelegt werden muss, wenn sie in verschiedenen Backupsets vorkommt, wenn also mehrere Rechner die inhaltlich gleiche Datei sichern wollen. Gerade wenn das ganze Betriebssystem mitgesichert wird, dürfte der Anteil der mehrfach vorhandenen Dateien recht groß sein.</li>
<li>Wenn man auch Diskimages von virtuellen Maschinen (z.B. vmdk-Dateien bei VmWare) sichern will, wäre es sehr hilfreich, wenn man auch die Änderungen innerhalb einer einzelnen Datei inkrementell sichern könnte. Diskimages sind sehr groß, ändern sich aber gewöhnlich immer nur blockweise, so dass auch immer große Bereiche unverändert bleiben.</li>
<li>Für Offsite-Backups muss man die gesicherten Dateien verschlüsseln können.</li>
<li>Oftmals ist es auch wünschenswert, dass eine einfache Komprimierung der Dateien erfolgt. Bestimmte Dateitypen sollte man davon aber ausnehmen können, da sich eine Komprimierung nicht für alle Dateitypen lohnen wird.</li>
</ul>
<h2>Snapshots mit rsync</h2>
<p>rsync bietet von Hause aus eine wunderbare Möglichkeit, platzsparend Snapshots zu speichern. Dabei werden dann nur neue oder geänderte Dateien kopiert. Für bereits im letzten Snapshot existierende Dateien legt rsync einfach einen Hardlink auf die bereits vorhandene Kopie an. Ändert sich jedoch der Pfad oder Name einer Datei, kann rsync keine Zuordnung mehr herstellen und legt eine neue Kopie an.</p>
<p>Apple verwendet in seiner Timemachine<sup>TM</sup> ebenfalls diesen Hardlink-Trick.</p>
<h2>Noch mehr Platz sparen mit Message-Digests</h2>
<p>Als ich mir den <a href="http://chaosradio.ccc.de/cre130.html" target="_blank">Chaos Radio Express-Podcast</a> über das Versionsverwaltungssystem <a href="http://git-scm.com" target="_blank"><em>git</em></a> anhörte, kam mir folgende Idee:</p>
<p>git hat nämlich ein ganz ähnliches Problem wie ein Backuptool: Es muss zum einen entscheiden, ob sich eine Datei gegenüber einer Vorgängerversion geändert hat, und es muss diese Datei sichern, falls sich der Inhalt geändert hat. In git wird dieses Problem auf eine sehr einfache und elegante Art und Weise gelöst. Für jede Datei wird einfach ein Hash-Wert (in diesem Fall <a href="http://de.wikipedia.org/wiki/Secure_Hash_Algorithm" target="_blank">sha1</a>) berechnet. Im Repository wird der Inhalt der Datei dann in einer Datei abgelegt, deren Name dem Hash-Wert entspricht. Gibt es diese Datei bereits im Repository, wurde diese Version der Datei offensichtlich bereits gesichert. Oder aber es gibt bereits eine andere Datei, die genau den gleichen Inhalt hat. Auch in diesem Fall ist ja eine weitere Sicherung nicht mehr erforderlich. Somit müssen Datei auch nicht mehrfach gesichert werden, wenn sie unterschiedliche Namen oder Pfade haben.</p>
<p>Diese Idee habe ich in Form eines in Python geschriebenen Prototypen umgesetzt, den ich hier in Kürze vorstellen werde.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donuz.de/2010/02/09/idee-fur-backup-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jakelib2-2.0.3</title>
		<link>http://www.donuz.de/2010/01/20/jakelib2-2-0-3/</link>
		<comments>http://www.donuz.de/2010/01/20/jakelib2-2-0-3/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 16:55:24 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[jakelib2]]></category>

		<guid isPermaLink="false">http://www.donuz.de/?p=28</guid>
		<description><![CDATA[Nach gaaaanz langer Zeit habe ich endlich einmal wieder ein kleines Update meiner jakelib2 veröffentlicht. Die einzige Verbesserung ist, dass sich das Ding jetzt auch wieder unter Mac OS X 10.6 bauen lässt.

 
 
  
   jakelib2-2.0.3
   jakelib2-2.0.3.tar.gz
   Version: 2.0.3
   
  
  
  [...]]]></description>
			<content:encoded><![CDATA[<p>Nach gaaaanz langer Zeit habe ich endlich einmal wieder ein kleines Update meiner <a href="software/jakelib2">jakelib2</a> veröffentlicht. Die einzige Verbesserung ist, dass sich das Ding jetzt auch wieder unter Mac OS X 10.6 bauen lässt.</p>
<p><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://www.donuz.de/download/jakelib2/jakelib2-2.0.3.tar.gz" onclick="wpfilebase_dlclick(1, 'download/jakelib2/jakelib2-2.0.3.tar.gz')" title="Download jakelib2-2.0.3"><img align="middle" src="http://www.donuz.de/wp-includes/images/crystal/archive.png" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://www.donuz.de/download/jakelib2/jakelib2-2.0.3.tar.gz" onclick="wpfilebase_dlclick(1, 'download/jakelib2/jakelib2-2.0.3.tar.gz')" title="Download jakelib2-2.0.3">jakelib2-2.0.3</a>
   jakelib2-2.0.3.tar.gz
   Version: 2.0.3
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails6" style="display: none;">
  
  <table border="0">
   
   <tr><th>Author:</th><td>Florian Wolff</td></tr>
   <tr><th>Platforms:</th><td>Cross Platform</td></tr>
   
   <tr><th>Category:</th><td>Jakelib2</td></tr>
   <tr><th>License:</th><td>GNU General Public License</td></tr>
   <tr><th>Date:</th><td>January 20, 2010</td></tr>
   
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  919.3 KiB
  187 Downloads
  <a href="#" onclick="return wpfilebase_filedetails(6);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.donuz.de/2010/01/20/jakelib2-2-0-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vom iPhone</title>
		<link>http://www.donuz.de/2010/01/16/vom-iphone/</link>
		<comments>http://www.donuz.de/2010/01/16/vom-iphone/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 06:28:34 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.donuz.de/2010/01/16/vom-iphone/</guid>
		<description><![CDATA[Ich habe mir eben die iPhone-App &#8220;Wordpress 2&#8243; installiert. Damit kann ich nun auch bequem unterwegs Posten  
]]></description>
			<content:encoded><![CDATA[<p>Ich habe mir eben die iPhone-App &#8220;Wordpress 2&#8243; installiert. Damit kann ich nun auch bequem unterwegs Posten <img src='http://www.donuz.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.donuz.de/2010/01/16/vom-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
