<?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>Zustandsforschung &#187; KnowHow</title>
	<atom:link href="http://www.zustandsforschung.de/index.php/kategorien/knowhow/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zustandsforschung.de</link>
	<description>Mit offenen Augen durch die Welt</description>
	<lastBuildDate>Wed, 21 Jul 2010 09:37:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Versionsverwaltung mit Mercurial</title>
		<link>http://www.zustandsforschung.de/index.php/versionsverwaltung-mit-mercurial/</link>
		<comments>http://www.zustandsforschung.de/index.php/versionsverwaltung-mit-mercurial/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 10:49:50 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[programmierung]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[versionierung]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=1549</guid>
		<description><![CDATA[Vor ein paar Monaten bin ich über das verteilte Source-Control-Management-Tool Mercurial gestoßen und habe angefangen mich damit zu beschäftigen. Mittlerweile setze ich es im privaten wie im professionellen Bereich ein und weil ich es so toll und praktisch finde, möchte es euch hier ein bisschen näher bringen.

Unterschied zum zentralisierten Modell
Der wichtigste Unterschied zwischen Mercurial und [...]]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Monaten bin ich über das verteilte Source-Control-Management-Tool <a href="http://mercurial.selenic.com/">Mercurial</a> gestoßen und habe angefangen mich damit zu beschäftigen. Mittlerweile setze ich es im privaten wie im professionellen Bereich ein und weil ich es so toll und praktisch finde, möchte es euch hier ein bisschen näher bringen.</p>
<p><span id="more-1549"></span></p>
<h2>Unterschied zum zentralisierten Modell</h2>
<p>Der wichtigste Unterschied zwischen Mercurial und traditionellen Versionierungssystemen wie CVS oder SVN ist das verteilte Modell. Das bedeutet, es gibt nicht mehr nur ein zentrales Repository, sondern jeder Entwickler hat quasi eine Kopie des zentralen Repositories bei sich lokal liegen.</p>
<p>Der Entwickler checkt nun zunächst in sein lokales Repository ein und kann damit arbeiten wie z.B. mit einem SVN, über das er die alleinige Kontrolle hat. Zu einem Zeitpunkt, an dem der Entwickler mit seiner Arbeit so weit zufrieden ist, dass er sie den anderen an dem Projekt beteiligten Entwicklern zur Verfügung stellen möchte, schiebt er alles in das übergeordnete Repository.</p>
<p>Bei diesem Vorgang wird nicht nur der aktuelle Stand hochgeschoben, sondern auch alle Zwischenstände, die der Entwickler an seinem lokalen Repository eingecheckt hat. Außerdem kann sich das übergeordnete Repository selbst von einem weiteren Repository bedienen, so dass nicht nur zwei Ebenen sondern eine ganze Repository-Hierarchie möglich ist.</p>
<p>Für mich selbst war zunächst vor allem die Tatsache ungewohnt, dass man bei sich lokal eincheckt &#8211; das klingt ein bisschen so als wäre der Code in größerer Gefahr, weil er ja nur auf dem eigenen Rechner liegt. In der Praxis erweist sich das aber als großer Vorteil, denn man kann auf die Art viel freier ausprobieren und auch mal Zwischenstände einchecken, die nicht so hundertprozentig stabil sind und die man normalerweise seinen Kollegen nicht als Checkin zumuten würde.</p>
<h2>Mercurial</h2>
<p>Mercurial selbst ist Open-Source-Software und benötigt Python ab Version 2.4 zum Funktionieren. Mitte 2005 gab Mat Mackall bekann, daran zu arbeiten. Mittlerweile hat Mercurial die Versionsnumer 1.6 erreicht und ist recht verbreitet &#8211; so werden unter anderem die Sourcen von FireFox, OpenOffice und Python damit verwaltet. Außerdem kann man bei den bei <a href="http://code.google.com">Google Code</a> gehosteten Projekten außer SVN auch Mercurial einsetzen.</p>
<p>Es gibt ein gutes Eclipse-Plugin, das sich <a href="http://www.javaforge.com/project/HGE">MercurialEclipse</a> nennt und eine Shell-Extension für Windows ähnlich dem bekannten TortoiseSVN, die sich <a href="http://tortoisehg.bitbucket.org/">TortoiseHG</a> nennt. </p>
<p>Das folgende Mini-Tutorial zeigt allerdings den Standardfall: Mercurial über die Kommandozeile.</p>
<h2>Mini-Tutorial</h2>
<p>Der Befehl, um Mercurial aufzurufen ist hg (das chemische Zeichen für Quecksilber, englisch eben &#8220;mercurial&#8221; &#8211; soll wohl so &#8216;ne Art Wortspiel sein). Mercurial bring eine gute Dokumentation gleich mit. Eine Kurzversion wird angezeigt, wenn man nur <code>hg</code> aufruft &#8211; eine ausführlichere Variante wird bei <code>hg help</code> angezeigt.</p>
<p>Um ein neues Repository anzulegen, muss man nur in das Verzeichnis seiner Wahl wechseln (wo evtl. bereits nicht-versionierte Dateien liegen) und den Befehl <code>hg init</code> ausführen. Damit erstellt Mercurial ein neues Verzeichnis <code>.hg</code>, in das das komplette Repository abgelegt wird.</p>
<p>Nun kann man mit <code>hg add</code> und einem anschließenden <code>hg commit -m "Adding files."</code> seine Dateien in das Repository einchecken. Nun kann man den Source-Code weiterbearbeiten, irgendwann dann mit einem <code>hg status</code> nachschauen, was man so alles geändert hat und dann wieder mit <code>hg commit</code> einchecken.</p>
<p>Interessant wird es dann, wenn mehrere Repositories ins Spiel kommen. Möchte man jetzt eine Kopie des Repositories erstellen, wechselt man beispielsweise ins übergeordnete Verzeichnis und führt <code>hg clone <em>Original-Verzeichnis</em> <em>Clone-Verzeichnis</em></code> aus. Dann kann man im Clone-Verzeichnis weiterarbeiten und auch hier einchecken. </p>
<p>Das Original-Verzeichnis ist so lange davon nicht betroffen, wie man ein <code>hg push</code> ausführt, das dann die Änderungen ins Original-Verzeichnis hochschieben würde. Idealerweise macht man vorher erst ein <code>hg pull</code>, um das Clone-Repository auf den neuesten Stand zu bringen und dann ein <code>hg update</code>, um die Dateien im Clone-Verzeichnis zu aktualisieren. Falls es im übergeordneten Repository schon Änderungen gegeben hat, muss vor dem Push mit <code>hg merge</code> gemergt werden.</p>
<p>Weitere Detail zur Nutzung von Mercurial kann man dem sehr guten <a href="http://mercurial.selenic.com/guide/">Tutorial auf der offiziellen Mercurial-Seite</a> entnehmen oder dem Tutorial von Joel Spolsky auf <a href="http://hginit.com" >hginit.com</a>.</p>
<h2>Mercurial zusammen mit SVN</h2>
<p>Man kann mit Mercurial auch dann nutzbringend einsetzen, wenn für das aktuelle Projekt ein anderes SCM wie zum Beispiel Subversion im Einsatz ist. Das kann dann folgendermaßen funktionieren:</p>
<p>Zunächst checkt man den Code wie gewohnt aus dem Subversion-Repository aus. Dann führt man im obersten Verzeichnis <code>hg init</code> aus. Dann legt man dort ein zusätzliches File <code>.hgignore</code> mit folgendem Inhalt an:<br />
<code><br />
syntax: glob<br />
.svn<br />
</code><br />
Das verhindert, dass man die SVN-spezifischen Files mit eincheckt. Umgekehrt sollte man das Einchecken des <code>.hg</code>-Ordners ins SVN verhindern, indem man das <code>svn:ignore</code>-Property entsprechend setzt. Danach kann man mit <code>hg add</code> und <code>hg commit</code> das lokale Mercurial-Repository mit Inhalt füllen.</p>
<p>Nun arbeitet man immer zunächst gegen das Mercurial-Repository und checkt dort ein. Wenn man seinen Code der Allgemeinheit zur Verfügung stellen möchte, macht man schließlich ein <code>svn commit</code>. Man muss allerdings darauf achten, wenn man ein Update aus dem SVN macht, dieses Update auch in das lokale Mercurial-Repository einzuchecken.</p>
<h2>Ein Wort zu git</h2>
<p>Wenn es um verteilte Versionskontrollsysteme geht, fällt einem meistens vermutlich <a href="http://git-scm.com/">git</a> ein. Wahrscheinlich hat man schon davon gehört, wie toll git ist und was git alles kann. Es gibt sogar eine Internetseite, die erklärt <a href="http://whygitisbetterthanx.com/">warum git besser ist als alles andere</a>. Warum also Mercurial ausprobieren?</p>
<p>Für meine Begriffe liegt die Popularität von git &#8211; abgesehen davon, dass es sicher ein geniales SCM ist &#8211; hauptsächlich daran, dass die git-Benutzer lauter schreien als die Mercurial-Benutzer <img src='http://www.zustandsforschung.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Ich bin immer davon abgeschreckt, wenn irgendetwas zu sehr gehypt und zu vollmundig angepriesen wird. Deshalb habe ich mich dazu entschieden, Mercurial auszuprobieren. Mercurial-Benutzer müssen nicht rumlaufen und Leute missionieren &#8211; sie benutzen einfach ihr SCM und sind glücklich damit dass es so toll funktioniert.</p>
<p>Nein. Scherz. Ich denke die Entscheidung sollte im ersten Schritt nicht zwischen Mercurial oder git getroffen werden, sondern <em>für</em> ein verteiltes Versionskontrollsystem. Denn das ist das zentrale Merkmal, das beide Systeme auszeichnet. Der Rest ist dann Geschmackssache. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/versionsverwaltung-mit-mercurial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MythTV HTPC &#8211; Features und mehr</title>
		<link>http://www.zustandsforschung.de/index.php/mythtv-htpc-features-und-mehr/</link>
		<comments>http://www.zustandsforschung.de/index.php/mythtv-htpc-features-und-mehr/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 10:51:03 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[Film & Fernsehen]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[fernsehen]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mythtv]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=1299</guid>
		<description><![CDATA[Dies ist der dritte Artikel in einer Serie von Artikeln, die sich mit dem Zusammenbau eines HTPC auf Basis von MythTV beschäftigen. Die bisher veröffentlichen Artikel sind hier verlinkt:

MythTV HTPC &#8211; Komponentenauswahl
MythTV HTPC &#8211; Installation und Konfiguration
MythTV HTPC &#8211; Features und mehr


Nachdem ich in den ersten beiden Artikeln dieser Serie erklärt habe wie man das [...]]]></description>
			<content:encoded><![CDATA[<p><em>Dies ist der dritte Artikel in einer Serie von Artikeln, die sich mit dem Zusammenbau eines HTPC auf Basis von MythTV beschäftigen. Die bisher veröffentlichen Artikel sind hier verlinkt:</p>
<ul>
<li><a href="http://www.zustandsforschung.de/index.php/mythtv-htpc-komponentenauswahl/">MythTV HTPC &#8211; Komponentenauswahl</a></li>
<li><a href="http://www.zustandsforschung.de/index.php/mythtv-htpc-installation-und-konfiguration/">MythTV HTPC &#8211; Installation und Konfiguration</a></li>
<li>MythTV HTPC &#8211; Features und mehr</li>
</ul>
<p></em></p>
<p>Nachdem ich in den ersten beiden Artikeln dieser Serie erklärt habe wie man das Ding zusammenbaut und anschließend zum Laufen bringt, möchte ich jetzt hier darauf eingehen, warum ich das überhaupt gemacht habe, was das Endergebnis so an Features hat und warum ich MythTV verwende und nicht irgendeine andere Media-Center-Software.</p>
<p><span id="more-1299"></span></p>
<h2>Warum selber bauen?</h2>
<p>Warum würde jemand sich die Mühe machen, einen Festplattenrecorder selbst zu bauen, statt einen fertigen zu kaufen? Die kurze Antwort darauf ist: Weil es Spaß macht!</p>
<p>Die etwas längere Antwort: Mir ist bewusst, dass es deutlich weniger Arbeit ist, einen fertigen Festplattenrecorder zu kaufen, als selber einen zu bauen. Aber einerseits ist man wenn man sowas fertig kauft meistens auf die Software/Firmware des Herstellers angewiesen und muss sich mit anderen Beschränkungen (z.B. Festplattengröße) abfinden. Und andererseits wollte ich auch sehen, ob ich das kann &#8211; aus einzelnen Teilen einen funktionierenden HTPC zusammenbauen. Und außerdem ist es total nerdy <img src='http://www.zustandsforschung.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h2>Was kann MythTV?</h2>
<p>MythTV kann Sendungen im Fernsehen aufnehmen. Toll, oder?</p>
<h3>Aufnahme</h3>
<p>Das schöne daran ist die große Flexibilität, die man dabei hat. Im Prinzip läuft das Aufnehmen im einfachsten Fall folgendermaßen ab: Ich öffne den EPG und wähle die Sendung aus, die ich aufnehmen will. Dann öffnet sich ein Dialogfenster, in dem ich unter anderem auswählen kann, wie ich die Sendung aufnehmen möchte. Meistens benutze ich dabei die Funktionen</p>
<ul>
<li><strong>Genau diese Sendung aufnehmen:</strong> Nimmt genau diese Sendung in genau diesem Timeslot auf. Ganz gut für Live-Shows oder wenn man zeitversetzt Fernsehen möchte.</li>
<li><strong>Eine Ausstrahlung dieser Sendung aufnehmen:</strong> Benutze ich um Filme aufzunehmen, wenn mir egal ist, ob dieser Film oder die Wiederholung oder der gleiche Film auf einem anderen Sender aufgenommen wird.</li>
<li><strong>Jederzeit auf diesem Kanal aufnehmen:</strong> Verwenden wir um zum Beispiel täglich die &#8220;Küchenschlacht&#8221; auf dem ZDF aufzunehmen, aber nicht die Wiederholungen alter Sendungen auf anderen Sendern.</li>
<li><strong>Jederzeit &#8211; egal welcher Sender:</strong> Die beste Option um Serien aufzunehmen. Nie wieder eine Folge der Lieblingsserie verpassen, auch wenn sie auf einem anderen Sender kommt, oder der Sendeplatz verschoben wird, oder das Finale der Staffel als Doppelfolge ausgestrahlt wird.</li>
</ul>
<p>Es gibt noch ein paar andere Aufnahmeoptionen wie täglich oder wöchentlich im gleichen Timeslot, aber die brauche ich persönlich gar nicht.</p>
<p>Abgesehen von der Methode über EPG bietet MythTV noch viele andere Aufnahmemöglichkeiten, :</p>
<ul>
<li>Man kann aus einer alphabetischen Liste aller Sendungen diejenige auswählen die man aufnehmen möchte. Anwendungsfall: Auf&#8217;m Klo im Fernsehheft gelesen, dass ein toller Film im Fernsehen kommt, aber vergessen auf welchem Sender.</li>
<li>Suchwörter: Ich nehme alle Sendungen auf, die &#8220;Phil Collins&#8221; irgendwo im Titel oder der Beschreibung enthalten. Außerdem werde ich nie wieder eine Folge &#8220;Pfarrer Braun&#8221; verpassen.</li>
<li>SQL-WHERE-Clause: Da MythTV die Daten aus dem EPG in einer MySQL-Datenbank speichert, kann man Sendungen programmieren basierend auf diesen Attributen. Ich habe eine Query, um alle &#8220;Star Trek&#8221;-Filme, aber keine -Serien aufzunehmen und eine für alle &#8220;Columbo&#8221;-Folgen nach 1980 (ich weiß dass die vor 1980 die besseren sind, aber die habe ich alle auf DVD <img src='http://www.zustandsforschung.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> )</li>
<li>Die Videorecorder-Methode: Sender, Uhrzeit und Datum manuell eingeben &#8211; habe ich noch nie benutzt und ich weiß auch nicht warum man das brauchen würde, wenn man ja die ganzen anderen Optionen hat, aber gehen tut&#8217;s auf jeden Fall.</li>
</ul>
<p>Alles was man dann so einprogrammiert hat, wird von MythTV dann auf Konflikte überprüft und ggf. werden Aufnahmen verschoben, wenn die eingestellte Regel das zulässt und Duplikate werden gefiltert. Tritt doch ein Konflikt auf, wird das von MythTV markiert und wenn man nichts unternimmt, gewinnt die Sendung mit der höchsten Priorität (kann man auch bei den Aufnahmeoptionen definieren). Dann kann man den HTPC abschalten, denn wie im letzten Artikel schon erwähnt schaltet MythTV sich wieder ein, wenn eine Aufnahme ansteht.</p>
<h3>Wiedergabe</h3>
<p>Die aufgenommenen Sendungen werden dann in einer alphabetisch und dann nach Titel sortierten Liste angezeigt. MythTV generiert ein Vorschaubildchen und zeigt das zusammen mit den Infos aus dem EPG dort an. Bei der Wiedergabe hat man dann die üblichen Features wie Pause, Vor- und Rücklauf, mehrere Sekunden springen und man kann auch ein Lesezeichen setzen, wenn man &#8220;Ben Hur&#8221; jetzt doch nicht am Stück anschauen wollte.</p>
<p>Für zeitversetztes Fernsehen kann man entweder einfach eine bereits angefangene, aber noch laufende Aufnahme anschauen oder man schaltet auf Fernsehen und dort ist dann automatisch das zeitversetzte Fernsehen aktiv. MythTV nimmt nämlich prinzipiell alles auf was man anschaut, so dass man immer im laufenden Fernsehprogramm Pause machen oder auch zurückspulen kann.</p>
<h3>Plugins</h3>
<p>Im Moment benutze ich zwar keine davon aber ich wollte zumindest mal erwähnt haben, dass es für MythTV eine ganze Menge an Plugins für die unterschiedlichsten Zwecke gibt:</p>
<ul>
<li><strong>MythBrowser</strong>: Ein Browser zum Surfen im Internet.</li>
<li><strong>MythArchive</strong>: Wenn man seine Aufnahmen nicht nur auf der Festplatte behalten will, sondern auch noch brennen möchte.</li>
<li><strong>MythGallery</strong>: Eine Fotogalerie, die auch als Bildschirmschoner verwendet werden kann.</li>
<li><strong>MythGame</strong>: In Verbindung mit verschiedenen Emulatoren, kann man mit MythGame eine Spielekonsole aus dem HTPC machen.</li>
<li><strong>MythMovies</strong>: Zeigt an, welche Filme in welchen Kinos laufen (bin mir nicht sicher, ob das nur für Amerikaner was bringt).</li>
<li><strong>MythMusic</strong>: Zum Abspielen von Musik.</li>
<li><strong>MythNews</strong>: Bindet News-Feeds innerhalb von MythTV ein.</li>
<li><strong>MythVideo</strong>: Kann verschiedene Videoformate wiedergeben, DVDs abspielen und archivieren.</li>
<li><strong>MythWeather</strong>: Der persönliche Wetterkanal für MythTV</li>
<li><strong>MythWeb</strong>: Web-Frontend, um Aufnahmen über einen Browser steuern zu können.</li>
<li><strong>MythNetvision</strong>: In der in wenigen Wochen erscheinenden Version 0.23 von MythTV wird dieses neue Plugin enthalten sein, das Video-Sites wie Youtube oder Vimeo von MythTV aus komfortabel zugänglich macht.</li>
</ul>
<p>Außerdem gibt es noch eine ganze Menge inoffizieller Plugins &#8211; eine Liste befindet sich hier: <a href="http://www.mythtv.org/wiki/Unofficial_Plugins">MythTV Wiki &#8211; Unofficial Plugins</a></p>
<h2>Warum MythTV?</h2>
<p>Es gibt ja eine ganze Menge sogenannter &#8220;Media Center&#8221;/DVR-Software, daher wollte ich noch kurz erwähnen, was mich dazu gebracht hat, MythTV zu benutzen.</p>
<p>Hauptkriterien waren einerseits Linux als Betriebssystem (weil ich mir die Kosten für Windows ersparen wollte), dass die Software selbst kostenlos ist und dass die Aufnahme und Wiedergabe von Fernsehprogramm ausgereift ist. In einem <a href="http://lifehacker.com/5128408/six-best-dvr-applications">Vergleichstest von DVR-Anwendungen</a> hat MythTV ganz gut abgeschnitten &#8211; außerdem passt es auf meine Anforderungen. </p>
<p>Was mir an MythTV besonders gut gefallen hat, ist die Konfigurierbarkeit. Zum Beispiel hat mir hat die Standard-Menüaufteilung nicht gefallen, also habe ich das Hauptmenü so gestaltet, wie es mir am besten passt. Außerdem habe ich eingestellt, dass jede Aufnahme 5 Minuten vor der Sendung startet und 5 Minuten nach der Sendung endet. Ich habe eingestellt, dass beim Verlassen der Wiedergabe automatisch ein Lesezeichen gesetzt wird. Außerdem gibt es noch massenhaft weitere Einstellungsmöglichkeiten und falls es die gesuchte Einstellung doch nicht gibt, ist das Programm immer noch Open Source&#8230;</p>
<p>Ein weiterer guter Anhaltspunkt für die Auswahl ist das <a href="http://www.telematicsfreedom.org/en/project/14/floss-media-center-state-art">FLOSS Media Center State of the Art Comparison Chart</a>, wo die Features verschiedener aktueller Media-Center-Applikationen gegenübergestellt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/mythtv-htpc-features-und-mehr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MythTV HTPC &#8211; Installation und Konfiguration</title>
		<link>http://www.zustandsforschung.de/index.php/mythtv-htpc-installation-und-konfiguration/</link>
		<comments>http://www.zustandsforschung.de/index.php/mythtv-htpc-installation-und-konfiguration/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 14:19:22 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[Film & Fernsehen]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[fernsehen]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mythtv]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=1258</guid>
		<description><![CDATA[Dies ist der zweite Artikel in einer Serie von Artikeln, die sich mit dem Zusammenbau eines HTPC auf Basis von MythTV beschäftigen. Die bisher veröffentlichen Artikel sind hier verlinkt:

MythTV HTPC &#8211; Komponentenauswahl
MythTV HTPC &#8211; Installation und Konfiguration
MythTV HTPC &#8211; Features und mehr


Wie ich im ersten Artikel der Serie ja schon erwähnt habe, ist MythTV die [...]]]></description>
			<content:encoded><![CDATA[<p><em>Dies ist der zweite Artikel in einer Serie von Artikeln, die sich mit dem Zusammenbau eines HTPC auf Basis von MythTV beschäftigen. Die bisher veröffentlichen Artikel sind hier verlinkt:</p>
<ul>
<li><a href="http://www.zustandsforschung.de/index.php/mythtv-htpc-komponentenauswahl/">MythTV HTPC &#8211; Komponentenauswahl</a></li>
<li>MythTV HTPC &#8211; Installation und Konfiguration</li>
<li><a href="http://www.zustandsforschung.de/index.php/mythtv-htpc-features-und-mehr/">MythTV HTPC &#8211; Features und mehr</a></li>
</ul>
<p></em></p>
<p>Wie ich im ersten Artikel der Serie ja schon erwähnt habe, ist <a href="http://www.mythtv.org/">MythTV</a> die Software, für die ich mich entschieden habe, um meinen HTPC zu betreiben. MythTV ist Linux und Open Source und mit Mythbuntu gar nicht so schwer zu installieren. Zunächst habe ich mit meinem Notebook das aktuellste <a href="http://www.mythbuntu.org/">Mythbuntu-ISO</a> gezogen und mittels <a href="http://unetbootin.sourceforge.net/">UNetbootin</a> zuerst auf meinem USB-Stick und von dort aus auf dem HTPC installiert.</p>
<p>Die Installation von Mythbuntu führt durch die wichtigsten Schritte bei der Installation von sowohl Linux &#8211; in diesem Fall eine um alles überflüssige bereinigte Ubuntu-Version &#8211; als auch MythTV. Zu meiner großen Erleichterung wurde die Hardware korrekt erkannt und installiert.</p>
<p><span id="more-1258"></span><br />
Allerdings muss man trotzdem noch einiges von Hand konfigurieren. Hier sind jetzt die Punkte beschrieben, die mir bei der Konfiguration am schwierigsten vorkamen:</p>
<h2>Bild abgeschnitten</h2>
<p>Das ist mir als erstes aufgefallen: Mein Fernseher zeigte zunächst nicht den ganzen Bildschirm an. An den Rändern hat mein Fernsehen ein paar Pixel abgeschnitten &#8211; unter anderem auch die Taskleiste oder wie man das bei Linux nennt. Durch ein bisschen Internetrecherche bin ich dann darauf gestoßen, dass das Absicht ist, sich &#8220;<a href="http://de.wikipedia.org/wiki/Overscan">Overscan</a>&#8221; nennt und sich dadurch beheben lässt, dass in den Einstellungen meines Fernsehers &#8220;Vollpixel&#8221; eingeschaltet wird. Details dazu kann man der Seite <a href="http://pixelmapping.wikispaces.com/Sony+TVs">Guide To Perfect Pixel mapping</a> entnehmen.</p>
<h2>Sender einstellen</h2>
<p>Fernsehen wird erst dann schön, wenn man auch ein paar Sender empfangen kann. Ich bin dabei im Wesentlichen dieser Anleitung hier gefolgt: <a href="http://mythwiki.de/index.php?title=Schnelleinstieg_DVB-C">Schnelleinstieg DVB-C</a>. Wichtige Voraussetzung ist, dass man die Frequenz und die Quadraturamplitudenmodulation kennt. Normalerweise bekommt man diese Infos entweder <a href="http://www.unitymedia.de/images/UnityDigitalTV_Lineup_01-07-2009.pdf">offiziell</a> oder <a href="http://helpdesk.unitymediaforum.de/">inoffiziell</a> von seinem Kabelnetzbetreiber. Bei mir wurden auf Anhieb nicht alle Sender gefunden, aber mehrmaliges scannen hat dann letztendlich geholfen.</p>
<h2>Kein Ton über HDMI</h2>
<p>Dummerweise hab&#8217; ich in der Standardkonfiguration über meinen HDMI-Ausgang keinen Ton gehört. Also normale Audio-Ausgänge haben funktioniert, aber über den Fernseher war nix zu hören. Also hab&#8217; ich <a href="http://wiki.ubuntuusers.de/Pulseaudio">PulseAudio und pavucontrol installiert</a>, dann Einstellungen so wie <a href="http://ubuntuforums.org/showthread.php?p=7328686#post7328686">in diesem Forumsthread</a> geändert. Bis zu &#8220;move stream&#8221;, das ging nicht. Dann hab&#8217; ich pavucontrol gestartet und das HDMI-Device als Fallback eingetragen. Damit ging die Tonausgabe dann immerhin im VLC.</p>
<p>Eventuell braucht man das ganze Theater aber gar nicht. Denn mir ist dann aufgefallen, dass im General Setup vom MythTV-Backend bei &#8220;Audio System&#8221; das Audio Output Device auf &#8220;ALSA:hdmi&#8221; gestellt werden kann. Ich bin mir jetzt nicht mehr so ganz sicher, ob diese Einstellung vorher schon da war oder erst durch meine PulseAudio-Konfiguration reingekommen ist. Aber egal &#8211; dann war alles in Ordnung mit dem Ton.</p>
<h2>Fernbedienung geht nicht</h2>
<p>Scheinbar ist meine Capture-Karte so selten, dass die dort beigelegte Fernbedienung nicht standardmäßig vom Mythbuntu-Kontrollzentrum unterstützt wird. Ich hab&#8217; dann dort bei &#8220;Remote Control&#8221; &#8220;Linux input layer&#8221; ausgewählt. Dann hab&#8217; ich mich weitgehend an <a href="http://www.parker1.co.uk/mythtv_ubuntu2.php">den Abschnitt über LIRC in diesem Tutorial</a> gehalten und per <code>cat /proc/bus/input/devices</code> nachgeschaut, was bei &#8220;Handlers&#8221; für ein <code>event</code> steht und anschließend in <code>/etc/lirc/hardware.conf</code> bei <code>REMOTE_DEVICE</code> genau das eingetragen (z.b. <code>/dev/input/event3</code>). Allerdings kann es sein, dass beim Anschließen von USB-Geräten (Tastatur/Maus) sich die Event-Nummern ändern. Das heißt bei mir konkret, dass wenn ich meinen HTPC mit angeschlossener Tastatur und Maus starte, die Fernbedienung nicht funktioniert, weil sie dann eine andere Event-Nummer zugeordnet bekommt.</p>
<p>Dann hat man schon ein paar Standard-Einstellungen für die Fernbedienung. Man kann aber noch selber was an der Tastenbelegung machen, indem in der Konfigurationsdatei <code>~/.lirc/mythtv</code> ein bisschen rumbastelt. Bei den <a href="http://www.mythtv.org/wiki/Keybindings">MythTV Keybindings</a> kann man sich dabei ein paar Inspirationen holen, was denn so alles geht.</p>
<h2>Automatisch Ein- und Ausschalten</h2>
<p>Eines der wichtigsten Features für einen HTPC, der einen Videorecorder ersetzen soll, ist dass er sich von selbst einschaltet, wenn eine Aufnahme ansteht und nach der Aufnahme auch wieder abschaltet. Ich möchte das Ding nicht den ganzen Tag brummen lassen, wenn ich es tatsächlich nur ein paar Stunden brauche. Erfreulicherweise hat sich das zwar als konfigurationslastig, aber relativ Problemlos herausgestellt. Ich bin einfach der <a href="http://www.mythtv.org/wiki/ACPI_Wakeup">Anleitung für ACPI Wakeup im MythTV-Wiki</a> gefolgt und das hat dann auch gleich funktioniert (bei mir ist die Variante mit <a href="http://www.mythtv.org/wiki/Mythwelcome">Mythwelcome</a> am Laufen). Das einzige woran man denken muss, weil es nicht so explizit in der Anleitung drinsteht ist, dass man die Ausführungsrechte für <code>setwakeup.sh</code> auf Execute für alle setzen muss.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/mythtv-htpc-installation-und-konfiguration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MythTV HTPC &#8211; Komponentenauswahl</title>
		<link>http://www.zustandsforschung.de/index.php/mythtv-htpc-komponentenauswahl/</link>
		<comments>http://www.zustandsforschung.de/index.php/mythtv-htpc-komponentenauswahl/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 06:55:39 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[Film & Fernsehen]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[fernsehen]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[mythtv]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=1181</guid>
		<description><![CDATA[Dies ist der erste Artikel in einer Serie von Artikeln, die sich mit dem Zusammenbau eines HTPC auf Basis von MythTV beschäftigen. Die bisher veröffentlichen Artikel sind hier verlinkt:

MythTV HTPC &#8211; Komponentenauswahl
MythTV HTPC &#8211; Installation und Konfiguration
MythTV HTPC &#8211; Features und mehr


Weil ich nicht so wirklich zufrieden mit meinem bisherigen Festplattenrecorder war, hatte ich schon [...]]]></description>
			<content:encoded><![CDATA[<p><em>Dies ist der erste Artikel in einer Serie von Artikeln, die sich mit dem Zusammenbau eines HTPC auf Basis von MythTV beschäftigen. Die bisher veröffentlichen Artikel sind hier verlinkt:</p>
<ul>
<li>MythTV HTPC &#8211; Komponentenauswahl</li>
<li><a href="http://www.zustandsforschung.de/index.php/mythtv-htpc-installation-und-konfiguration/">MythTV HTPC &#8211; Installation und Konfiguration</a></li>
<li><a href="http://www.zustandsforschung.de/index.php/mythtv-htpc-features-und-mehr/">MythTV HTPC &#8211; Features und mehr</a></li>
</ul>
<p></em></p>
<p>Weil ich nicht so wirklich zufrieden mit meinem bisherigen Festplattenrecorder war, hatte ich schon seit ein paar Monaten die Idee, mir einen wirklich vernünftigen <a href="http://de.wikipedia.org/wiki/Home_Theater_Personal_Computer">HTPC</a> selbst zu bauen. Nach ein bisschen Recherche im Netz ist meine Wahl für die Software dann auf <a href="http://www.mythtv.org/">MythTV</a> gefallen. MythTV ist eine Open Source DVR-Lösung auf Linux-Basis, die eine ordentliche Masse an Features hat. Details dazu, was MythTV so alles kann, werde ich in einem späteren Beitrag der Serie liefern. Hier geht es jetzt zunächst darum, welche Hardware-Komponenten nötig sind und welche ich ausgewählt habe. Basis für meine Auswahl war der Abschnitt über <a href="http://www.mythtv.org/docs/mythtv-HOWTO-3.html#ss3.1">Hardware-Voraussetzungen in der MythTV-Dokumentation</a> und die <a href="http://www.mythtv.org/wiki/Category:Hardware">Hardware-Kategorie im MythTV-Wiki</a>.</p>
<p><span id="more-1181"></span></p>
<h2>Barebone: <a href="http://www.shuttle.eu/de/produkte/barebones/sg45h7/uebersicht/">Shuttle XPC Barebone SG45H7</a></h2>
<p>Die Barebone-Auswahl war so eine Sache. Kennt ihr den Unterschied zwischen PCI und PCIe (PCI-Express)? Ich jetzt auch, nachdem ich erstmal einen Barebone (<a href="http://www.asus.de/product.aspx?P_ID=fEMLgh6B4GRRCGDK">ASUS Pundit P4-P5N9300</a>) bestellt hatte, der nur PCIe-Slots hat, meine Tunerkarte aber PCI ist. Also nochmal: PCI ist was ganz anderes als PCIe, d.h. man kann weder eine PCI-Karte in einem PCIe-Slot verwenden noch umgekehrt. Also habe ich was dazugelernt, den ASUS-Barebone wieder zurückgeschickt und was neues rausgesucht, was auch PCI-Slots hat. Meine Wahl ist dann auf den etwas teureren <a href="http://www.shuttle.eu/de/produkte/barebones/sg45h7/uebersicht/">Shuttle XPC Barebone SG45H7</a> gefallen, der mich hauptsächlich durch seinen Onboard-HDMI-Ausgang und sein Design überzeugt hat:</p>
<p><img src="http://www.zustandsforschung.de/wp-content/uploads/2010/03/mein_mythtv_htpc.jpg" alt="Mein MythTV HTPC" title="Mein MythTV HTPC" width="500" height="363" class="alignnone size-full wp-image-1195" /></p>
<p>Natürlich braucht man nicht zwangsläufig einen Barebone &#8211; man kann auch Gehäuse, Lüfter und Mainboard einzeln kaufen, aber ganz so schwer wollte ich es mir dann doch nicht machen.</p>
<h2>Prozessor: <a href="http://ark.intel.com/Product.aspx?id=36503">Intel Core 2 Duo E7500</a></h2>
<p>Ein Mittelklasse-Prozessor. Selbst der langweilt sich meistens &#8211; auch dann wenn ich was aufnehme. Wichtig: Der Prozessor und der Sockel auf dem Mainboard müssen zusammenpassen.</p>
<h2>RAM: <a href="http://www.valueram.com/europe/desktop/memory.asp">2 GB Kingston ValueRAM DDR2-800</a></h2>
<p>2 GB RAM reichen völlig aus &#8211; theoretisch müsste MythTV aber auch mit 512 MB schon auskommen.</p>
<h2>Festplatte: <a href="http://www.wdc.com/de/products/products.asp?driveid=559">Western Digital Caviar Green 1 TB</a></h2>
<p>Bei meinem alten Festplattenrecorder mit 160 GB bin ich immer wieder relativ schnell an die Grenzen der Festplatte gestoßen, wenn ein paar Filme zu viel drauf waren. Damit mir das nicht mehr passiert, habe ich gleich mal eine ordentliche Festplatte mit 1 Terabyte Platz gekauft. Die Status-Anzeige innerhalb MythTV sagt mir, dass ich so ca. 400 Stunden damit aufnehmen kann. Ich denke das sollte erstmal reichen.</p>
<h2>DVB-C-Tuner: <a href="http://www.tt-pc.de/2915/TT-budget__C-1501.html">TT-budget C-1501</a></h2>
<p>Wenn man Fernsehen am Computer empfangen will, dann braucht man eine Tunerkarte. Ich habe einen Kabelanschluss, also musste es eine DVB-C-Karte sein. Im MythTV-Wiki gibt es eine Seite mit einer Liste von solchen Karten (<a href="http://www.mythtv.org/wiki/Video_capture_card">Video Capture Cards</a>), aber da MythTV eine Linux-Anwendung ist, sollte man <a href="http://www.linuxtv.org/wiki/index.php/Main_Page">im Wiki von LinuxTV</a> bei &#8220;Hardware Device Information&#8221; schauen, ob die Karte von Linux auch unterstützt wird.</p>
<h2>CI-Modul: <a href="http://www.alphacrypt.de/AlphaCrypt-Classic.39.0.html">AlphaCrypt Classic CI Modul</a></h2>
<p>Um verschlüsseltes Digitalfernsehen schauen zu können, braucht man die Smartcard, die man vom Kabelnetz-Betreiber geschickt bekommt und ein <a href="http://de.wikipedia.org/wiki/Common_Interface">CI-Modul</a>, das die Entschlüsselung übernimmt. Da gibt es eigentlich keine wirkliche Alternative zu den AlphaCrypt-Modulen.</p>
<h2>CI-Slot: <a href="http://www.tt-pc.de/2787/TT-budget_CI.html">TT-budget CI</a></h2>
<p>Der zu meinem DVB-C-Tuner zugehörige CI-Slot für das CI-Modul. Es gibt auch Tuner, die gleich auf der Karte den Slot haben, aber in meinem Fall sind das zwei Karten.</p>
<h2>Komponenten, die ich nicht gekauft habe:</h2>
<p>Ich habe keine zusätzliche Grafikkarte verbaut. Einerseits müsste für HD-Fernsehen auch die Onboard-Grafik des Barebone zusammen mit meiner CPU ausreichen und andererseits war ich mir nicht sicher, wieviel Platz im Gehäuse tatsächlich noch ist, da das AlphaCrypt-Modul auch noch irgendwohin gepackt werden musste. Da im Moment sowieso nur ARD und ZDF in HD senden, und es außerdem einen <a href="http://svn.mythtv.org/trac/ticket/7481">Bug in MythTV gibt, der genau ARD HD und ZDF HD betrifft</a>, würde eine zusätzliche Grafikkarte aktuell auch keinerlei Vorteile bringen.</p>
<p>Außerdem hat mein HTPC kein optisches Laufwerk. Warum? Ich habe eine PS3, die als DVD- und BluRay-Player dient und mit der riesigen Festplatte sehe ich nicht wirklich die Notwendigkeit, mal irgendwas von meinen Aufnahmen brennen zu müssen.</p>
<h2>Zusammenbau:</h2>
<p>Mit der dem Barebone beigelegten Anleitung ist es nicht so wirklich schwer alle Teile korrekt zusammenzusetzen. Wenn man auf der sicheren Seite sein will, kauft man noch ein paar Antistatik-Handschuhe für den Zusammenbau dazu. Wer sich für Details zum Zusammenbau interessiert, kann sich <a href="http://www.pcshoptalk.com/showthread.php?18728-Shuttle-SG45H7-Barebone">diesen Artikel hier</a> mal ansehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/mythtv-htpc-komponentenauswahl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$</title>
		<link>http://www.zustandsforschung.de/index.php/a-z0-9-_-a-z0-9-a-z2/</link>
		<comments>http://www.zustandsforschung.de/index.php/a-z0-9-_-a-z0-9-a-z2/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 10:35:28 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[programmierung]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[validierung]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=1009</guid>
		<description><![CDATA[Das immer wieder gerne angeführte Standardbeispiel für die Anwendung von Regular Expressions ist die E-Mail-Validierung. Mittels eines mehr oder weniger komplizierten Ausdrucks soll dabei geprüft werden, ob die von einem Benutzer in ein Webformular eingegebene E-Mail-Adresse den Regeln für eine gültige Adresse genügt. Dabei reichen die Varianten von eher simplen wie z.B. 
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$
über komplizierte wie [...]]]></description>
			<content:encoded><![CDATA[<p>Das immer wieder gerne angeführte Standardbeispiel für die Anwendung von Regular Expressions ist die E-Mail-Validierung. Mittels eines mehr oder weniger komplizierten Ausdrucks soll dabei geprüft werden, ob die von einem Benutzer in ein Webformular eingegebene E-Mail-Adresse den Regeln für eine gültige Adresse genügt. Dabei reichen die Varianten von eher simplen wie z.B. </p>
<p><code>^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$</code></p>
<p>über komplizierte wie </p>
<p><code>[a-z0-9!#$%&#038;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&#038;'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?</code></p>
<p>bis hin zu solchen, die man schon eher als <em>völlig irre</em> bezeichnen könnte:</p>
<p><code>(?:[a-z0-9!#$%&#038;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&#038;'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])</code></p>
<p>die allesamt darauf abzielen eine mehr oder weniger genaue Abdeckung der in <a href="http://tools.ietf.org/html/rfc2822#section-3.4.1">RFC 2822 &#8211; Internet Message Format</a> definierten Vorgabe zu erfüllen.</p>
<p>Die Frage ist doch aber &#8211; warum tut man so etwas? Klar, man möchte dass der Benutzer eine gültige E-Mail-Adresse (im besten Fall seine eigene) in ein Formular einträgt. Aber dient eine Validierung der Gültigkeit mittels Regular Expressions wirklich diesem Zweck?</p>
<p>Mit fallen zwei Szenarien ein, wo ein Benutzer eine ungültige E-Mail-Adresse eingibt: Entweder er macht es unabsichtlich, wenn er sich vertippt oder so. Oder er macht es absichtlich, um irgendeine Zwangsregistrierung zu umgehen. In beiden Fällen greift die Validierung über Regular Expression nicht wirklich.</p>
<p>Erster Fall &#8211; Versehen: Wenn ich mich beim Eingeben der Mailadresse vertippe, dann dreht sich das doch meist um einzelne Buchstaben &#8211; dass ich das &#8220;@&#8221; vergesse kommt eher selten vor. D.h. ich kann mich leicht so vertippen, dass ich zwar eine formal gültige Adresse eingebe, die aber leider trotzdem falsch ist (z.B. Buchstabendreher im Vornamen).</p>
<p>Zweiter Fall &#8211; Absicht: Ich kann mir leicht eine lustige Mailadresse ausdenken, die bei der Validierung zwar durchgeht, aber völlig frei erfunden ist. Die Mailadresse hab.ich@erfunden.de erfüllt zwar die Validierung &#8211; ist aber deshalb noch lange keine gültige E-Mail-Adresse.</p>
<p>Eine mögliche Lösung könnte daher sein, die Mailadresse über Double Opt-in zu validieren, also dass man dem Benutzer eine Mail an diese Adresse schickt, die einen Link enthält, den der Benutzer klicken muss, um seine E-Mail-Adresse zu bestätigen. Aber auch diese Variante schützt nicht gegen mutwillige Falscheingabe &#8211; es gibt immer noch <a href="http://www.spamgourmet.com/">Spamgourmet</a>, <a href="http://www.mailinator.com/">Mailinator</a> und ähnliche Sites, die Wegwerf-E-Mail-Adressen bereitstellen.</p>
<p>Fazit: Mit Regular Expressions kann man zwar den Benutzer bei der Eingabe etwas unterstützen, aber der Weisheit letzter Schluss sind sie für die E-Mail-Validierung deshalb noch lange nicht. Und gerade deshalb braucht man sich auch nicht verkünsteln, um zu beweisen, wie toll man Regular Expressions (kopieren) kann.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/a-z0-9-_-a-z0-9-a-z2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>no nohup &#8211; no copy</title>
		<link>http://www.zustandsforschung.de/index.php/no-nohup-no-copy/</link>
		<comments>http://www.zustandsforschung.de/index.php/no-nohup-no-copy/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 08:00:39 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=1022</guid>
		<description><![CDATA[Die Unix-Gurus unter euch werden jetzt zwar wahrscheinlich sagen: Is ja klar, aber ich bin kein Unix-Guru und mir war&#8217;s nicht klar:
Wenn man eine Unix-Konsole schließt, werden alle Prozesse gestoppt, dir darin gestartet wurden, selbst dann wenn der Prozess mit &#038; im Hintergrund gestartet wurde. Allerdings &#8211; und das ist das fiese &#8211; offenbar nicht [...]]]></description>
			<content:encoded><![CDATA[<p>Die Unix-Gurus unter euch werden jetzt zwar wahrscheinlich sagen: <em>Is ja klar</em>, aber ich bin kein Unix-Guru und mir war&#8217;s nicht klar:</p>
<p>Wenn man eine Unix-Konsole schließt, werden alle Prozesse gestoppt, dir darin gestartet wurden, selbst dann wenn der Prozess mit <code>&#038;</code> im Hintergrund gestartet wurde. Allerdings &#8211; und das ist das fiese &#8211; offenbar nicht sofort. </p>
<p>Geahnt hab&#8217; ich sowas ja schon als ich gestern Abend meinen Copy-Befehl angestoßen habe und sicherheitshalber nach dem Schließen meines einen PuTTY im anderen PuTTY nochmal geschaut ob der Prozess noch da ist. </p>
<p>Direkt danach war er noch da. </p>
<p>2 Stunden später war er auch noch da. </p>
<p>Nur irgendwann im Laufe der Nacht hat er sich verabschiedet. Also alles nochmal von vorne <img src='http://www.zustandsforschung.de/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Jetzt habe ich mit einem Unix-Guru gesprochen und der hat mir erklärt, dann man den Befehlen ein <em>nohup</em> vornedran stellen muss damit sie auch wirklich so gestartet werden, dass sie im Hintergrund laufen und nicht abhängig von der Shell sind.  Alternativ hätte ich auch &#8211; wie ich jetzt recherchiert habe &#8211; den Prozess nachträglich auch mit einem <code>disown</code> in den Hintergrund schicken können.</p>
<p>Also entweder gleich mit <code>nohup</code> starten oder &#8211; wenn der Prozess schon läuft &#8211; erst <em>STRG-Z</em>, dann <code>bg</code> und abschließend ein <code>disown</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/no-nohup-no-copy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pimp my Addressleiste</title>
		<link>http://www.zustandsforschung.de/index.php/pimp-my-addressleiste/</link>
		<comments>http://www.zustandsforschung.de/index.php/pimp-my-addressleiste/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 17:26:39 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[Surftips]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[shortcuts]]></category>
		<category><![CDATA[suche]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=923</guid>
		<description><![CDATA[Bisher war ich ja als Firefox-Benutzer großer Fan der Suchleiste. Aber da ich privat ganz gern mit Chrome unterwegs bin und mir bei Firefox das Umschalten zwischen den Suchmaschinen zu umständlich ist, bin ich vor kurzem auf &#8220;Custom Keywords&#8221; umgestiegen.
Damit muss ich jetzt in der Adressleiste von Chrome oder Firefox, in die ich per Strg [...]]]></description>
			<content:encoded><![CDATA[<p>Bisher war ich ja als Firefox-Benutzer großer Fan der Suchleiste. Aber da ich privat ganz gern mit Chrome unterwegs bin und mir bei Firefox das Umschalten zwischen den Suchmaschinen zu umständlich ist, bin ich vor kurzem auf &#8220;Custom Keywords&#8221; umgestiegen.</p>
<p>Damit muss ich jetzt in der Adressleiste von Chrome oder Firefox, in die ich per Strg + L wechseln kann, einen der folgenden Buchstaben, ein Leerzeichen und dann den Suchbegriff eintippen und schon habe ich die entsprechenden Suchergebnisse:</p>
<ul>
<li>g: Google normal</li>
<li>gi: Google Image Search (gleich mit aktivierter CC-Suche)</li>
<li>gb: Google Blog Suche (eingeschränkt auf die letzten 24 Stunden)</li>
<li>w: Wikipedia deutsch</li>
<li>we: Wikipedia englisch</li>
<li>l: Leo</li>
</ul>
<p>Auch sehr praktisch kann diese Methode für Bugtracking-Tools genutzt werden: Gebe ich <em>b</em> oder <em>j</em> gefolgt von der Bug-Nummer in die Adressleiste ein, komme ich ohne Umwege zum entsprechenden Bug in Bugzilla bzw. Jira.</p>
<p>Um diese Abkürzungen zu konfigurieren, muss man bei Firefox ein neues Lesezeichen anlegen, dort dann die URL irgendeiner Seite, die durchsuchbar ist und dort in der URL, wo der Suchbegriff sein soll ein &#8220;%s&#8221; eintragen. Dann muss man nur noch als Schlüsselwort die gewünschte Abkürzung eingeben:</p>
<p><a href="http://www.zustandsforschung.de/wp-content/uploads/2009/07/custom_keywords.png"><img src="http://www.zustandsforschung.de/wp-content/uploads/2009/07/custom_keywords.png" alt="Custom Keywords in Firefox anlegen" title="Custom Keywords in Firefox anlegen" width="377" height="263" class="alignnone size-full wp-image-933" /></a></p>
<p>Bei Chrome funktioniert es ähnlich, man muss dort nur vorher mit der rechten Maustaste in die Adressleiste reinklicken und &#8220;Suchmaschinen bearbeiten&#8230;&#8221; auswählen. Dann nochmal auf &#8220;Hinzufügen&#8221; klicken und man kann in einem ähnlichen Dialog die entsprechenden Werte eintragen:</p>
<p><a href="http://www.zustandsforschung.de/wp-content/uploads/2009/07/custom_keywords_chrome.png"><img src="http://www.zustandsforschung.de/wp-content/uploads/2009/07/custom_keywords_chrome.png" alt="Suchmaschinen hinzufügen bei Chrome" title="Suchmaschinen hinzufügen bei Chrome" width="493" height="221" class="alignnone size-full wp-image-934" /></a></p>
<p>Weitere Informationen gibt&#8217;s hier:</p>
<ul>
<li><a href="http://www.mozilla.org/docs/end-user/keywords.html">How Cool are Custom Keywords?</a></li>
<li><a href="http://www.stichpunkt.de/mozilla/moz-keymarks.html#dyn">Dynamische Bookmarks mit Kürzel</a></li>
<li><a href="http://www.perun.net/2007/07/19/mozilla-custom-keywords/">Mozilla: Custom Keywords</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/pimp-my-addressleiste/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>URLs verkürzt</title>
		<link>http://www.zustandsforschung.de/index.php/urls-verkuerzt/</link>
		<comments>http://www.zustandsforschung.de/index.php/urls-verkuerzt/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 06:45:31 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=775</guid>
		<description><![CDATA[Mit Twitter sind derzeit ja die URL-Verkürzungsservices wie Bit.ly, TinyURL oder Is.gd schwer in Mode gekommen. Diese Services machen aus einer eher längeren URL wie z.B. dieser hier mit 70 Zeichen (und das ist noch ein harmloses Beispiel &#8211; ein Produktlink bei Amazon hat gerne mal mehr als 200 Zeichen):
http://www.zustandsforschung.de/index.php/tail-programme-fuer-windows/
eine kurze URL mit nur noch [...]]]></description>
			<content:encoded><![CDATA[<p>Mit Twitter sind derzeit ja die URL-Verkürzungsservices wie <a href="http://bit.ly/">Bit.ly</a>, <a href="http://tinyurl.com/">TinyURL</a> oder <a href="http://is.gd/">Is.gd</a> schwer in Mode gekommen. Diese Services machen aus einer eher längeren URL wie z.B. dieser hier mit 70 Zeichen (und das ist noch ein harmloses Beispiel &#8211; ein Produktlink bei Amazon hat gerne mal mehr als 200 Zeichen):</p>
<p><a href="http://www.zustandsforschung.de/index.php/tail-programme-fuer-windows/">http://www.zustandsforschung.de/index.php/tail-programme-fuer-windows/</a></p>
<p>eine kurze URL mit nur noch 25 Zeichen:</p>
<p><a href="http://tinyurl.com/lwarvl">http://tinyurl.com/lwarvl</a></p>
<p>Ruft man die TinyURL-URL auf, wird ein Redirect auf die lange URL ausgeführt.</p>
<p>Das hat den großen Vorteil, dass man kurze URLs bekommt; Probleme mit Zeilenumbrüchen z.B. in Mails können so vermieden werden und es passt bei Twitter auch mit Text zusammen noch in die 140 Zeichen rein.</p>
<p>Allerdings hat die URL-Verkürzerei auch so ihre Nachteile &#8211; und die sind zum Teil wirklich gravierend:</p>
<ul>
<li>Man weiß nicht, wo eine solche URL hinführt. Da man nur noch die verkürzte URL zu sehen bekommt, hat man keine Möglichkeit im Voraus zu sehen, wohin einen diese URL schicken wird. Im Beispiel oben kann ich anhand der ungekürzten URL sehen, dass ich auf eine Seite von diesem Blog hier komme, wo es wahrscheinlich um Tail-Programme für Windows geht. Bei der verkürzten URL hat man keine Ahnung &#8211; die kann sonstwohin gehen, wo ich vielleicht nie hinsurfen wollte.</li>
<li>Die URLs funktionieren nur so lange, wie der Anbieter auch seinen Service anbietet. Das mag offensichtlich klingen, hat aber weitreichende langfristige Auswirkungen. Angenommen TinyURL oder irgendein anderer populärer Linkverkürzer stellt seine Website ein oder &#8211; auch nicht ganz unwahrscheinlich &#8211; hat einen Datencrash. Das Resultat sind dann direkt massenhaft verkürzter URLs, die nun völlig wertlos geworden sind. Is.gd schreibt beispielsweise etwas von mehr als 17 Millionen gekürzter URLs, die dann verloren wären.</li>
<li>Auch nicht ausgeschlossen ist das Risiko einer absichtlichen Attacke auf solche Services, so wie es vor kurzem dem Service <a href="http://cli.gs/">Cligs</a> passiert ist (<a href="http://www.sophos.com/pressoffice/news/articles/2009/06/cligs.html">Popular short URL service hacked and millions redirected</a>). Hier waren die Hacker allerdings gnädig und haben nur auf irgendeinen Blog-Artikel umgeleitet &#8211; sie hätten auch alle auf eine Seite, die Schadsoftware installiert umleiten können.</li>
<li>Hier sind noch zwei Artikel, die sich auch eher kritisch mit dem Thema auseinandersetzen: <a href="http://www.codinghorror.com/blog/archives/001276.html">Url Shorteners: Destroying the Web Since 2002</a> und <a href="http://www.webmonkey.com/blog/Why_URL_Shortening_is_a_Threat_to_the_Web">Why URL Shortening is a Threat to the Web</a></li>
</ul>
<p>Das Fazit ist also, dass URL-Verkürzungsservices schon ihre Existenz-Berechtigung haben &#8211; gerade bei Services wie Twitter, wo ja eigentlich spätestens nach ein paar Tagen sowieso keiner mehr die Tweets liest und die URLs verwenden will. Für die meisten anderen Bereiche, in denen längerfristige zuverlässige Verlinkung erwünscht ist, rate ich aber dazu, aufgrund der oben genannten Nachteile die echten URLs der Seiten, die man verlinken möchte zu verwenden.</p>
<p>Weitere Links zum Thema:</p>
<p><a href="http://www.friedbeef.com/top-5-url-shorteners-and-how-they-help-you/">Top 5 URL Shorteners and How They Help You</a><br />
<a href="http://mashable.com/2008/01/08/url-shortening-services/">URL Toolbox: 90+ URL Shortening Services</a><br />
<a href="http://mashable.com/2009/05/01/weird-url-shorteners/">5 Very Weird URL Shorteners</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/urls-verkuerzt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die X-Header</title>
		<link>http://www.zustandsforschung.de/index.php/die-x-header/</link>
		<comments>http://www.zustandsforschung.de/index.php/die-x-header/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 12:09:30 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[http]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=670</guid>
		<description><![CDATA[Was ist ein HTTP-Header?
Bei einem HTTP-Request bzw. der Antwort des Servers werden außer der angefragten Seite bzw. des HTML-Inhaltes der Antwort noch eine ganze Menge Metadaten mitgeschickt. Diese Metadaten nennt man den Header des Requests, der tatsächliche Inhalt ist der Body. So werden z.B. im Normalfall bei einer Anfrage an den Server der Referer (also [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Was ist ein HTTP-Header?</strong><br />
Bei einem HTTP-Request bzw. der Antwort des Servers werden außer der angefragten Seite bzw. des HTML-Inhaltes der Antwort noch eine ganze Menge Metadaten mitgeschickt. Diese Metadaten nennt man den <em>Header</em> des Requests, der tatsächliche Inhalt ist der <em>Body</em>. So werden z.B. im Normalfall bei einer Anfrage an den Server der <em>Referer</em> (also die URL der Seite, wo man auf den Link geklickt hat) oder der <em>User-Agent</em> (also die Information welcher Browser benutzt wurde) mitgeschickt. Weitere Details gibt es entweder im <a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html">HTTP-Standard</a> oder natürlich in der <a href="http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol">Wikipedia</a>.</p>
<p><strong>Was sind jetzt X-Header?</strong><br />
Dabei gibt es jede Menge <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14">vordefinierter und standardisierter Header-Fields</a>. Für manche Applikationen möchte man allerdings in der Lage sein, seine eigenen Header zu definieren. Hier haben sich die sogenannten <em>X-Header</em> als De-facto-Standard durchgesetzt. Das Prinzip ist ganz einfach: Man denkt sich aus, wie der Header heißen soll, z.B. <em>Application-Name</em> und setzt dann ein &#8220;X-&#8221; davor. Damit hat man dann einen wunderschönen X-Header mit dem Namen <em>X-Application-Name</em> und kann ihn verwenden für was man will, da per HTTP-Standard unbekannte Header zwar ignoriert, aber dennoch weitergeleitet werden sollen.</p>
<p><strong>Was gibt&#8217;s sonst noch?</strong><br />
Wenn man sich mal ansehen will, was gewisse Server für Header mitschicken, gibt es das &#8220;<a href="http://url-info.appspot.com/">URLinfo</a>&#8220;-Tool. Der folgende Link zeigt die <a href="http://url-info.appspot.com/getUrl?url=http%3A%2F%2Fwww.zustandsforschung.de&#038;bt=Go#fragment-2">Header von Zustansforschung.de</a>. </p>
<p>Wer sich richtig damit auseinandersetzen will oder muss, braucht aber etwas besseres wie zum Beispiel das <a href="http://livehttpheaders.mozdev.org/">LiveHTTPHeaders-Plugin für Firefox</a>.</p>
<p>Bei manchen Sites scheinen da auch echt merkwürdige Sachen drinzustehen. Unter dem Titel <a href="http://www.nextthing.org/archives/2005/08/07/fun-with-http-headers">Fun With HTTP Headers</a> hat jemand mal getestet, was für Sachen in diesen Headern manchmal drinstehen. Gefunden hat er interessante  Header wie z.B.</p>
<p><code>X-Got-Fish: Yes<br />
X-Subliminal: You want to buy as many games as you can afford<br />
X-beliebig: Dieser Header dient der allgemeinen Verwirrung =:)</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/die-x-header/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vergeblicher Notebookrettungsversuch</title>
		<link>http://www.zustandsforschung.de/index.php/vergeblicher-notebookrettungsversuch/</link>
		<comments>http://www.zustandsforschung.de/index.php/vergeblicher-notebookrettungsversuch/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 16:22:29 +0000</pubDate>
		<dc:creator>Benedikt</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[chkdsk]]></category>
		<category><![CDATA[knoppicillin]]></category>
		<category><![CDATA[notebook]]></category>
		<category><![CDATA[reparatur]]></category>

		<guid isPermaLink="false">http://www.zustandsforschung.de/?p=623</guid>
		<description><![CDATA[Es kann vorkommen, dass ein Notebook (oder überhaupt ein PC) einfach nicht mehr will. So geschehen bei einer Freundin von mir, die mir ihren Notebook zum ansehen übers Wochenende vorbeigebracht hat. Das ganze ganz vorbildlich mit allen Installations-CDs, die sie so hat. Symptome: Notebook bootet nicht mehr und bringt eine Fehlermeldung beim Start &#8220;A disk [...]]]></description>
			<content:encoded><![CDATA[<p>Es kann vorkommen, dass ein Notebook (oder überhaupt ein PC) einfach nicht mehr will. So geschehen bei einer Freundin von mir, die mir ihren Notebook zum ansehen übers Wochenende vorbeigebracht hat. Das ganze ganz vorbildlich mit allen Installations-CDs, die sie so hat. Symptome: Notebook bootet nicht mehr und bringt eine Fehlermeldung beim Start &#8220;A disk read error occurred. Press Ctrl+Alt+Del to restart&#8221;.</p>
<p>Mein erster Schritt bestand dann daraus, die <a href="http://www.tech-faq.com/lang/de/windows-xp-recovery-console.shtml&#038;usg=ALkJrhghYBFTiDRKWe9X7EpzUNxZ7s6ylg">Windows-Recovery-Console</a> zu starten und erstmal diverse Microsoft-Tools laufen zu lassen. Das erste davon war <em>chkdsk</em>, was ich dann aber abgebrochen habe, weil sich da nix tat. Der nächste Versuch mit <em>fixboot</em> und <em>fixmbr</em> hat auch nichts gebracht. Bei dem Versuch, sich mit dir den Inhalt der Festplatte anzeigen zu lassen, kam die Fehlermeldung &#8220;an error occurred during directory enumeration&#8221;. Ich hab&#8217; dann noch ein <a href="http://www.pchell.com/support/directoryenumeration.shtml">bisschen gegoogelt</a> und bin dann darauf gestoßen, dass man mal <em>chkdsk /p /r</em> ausführen sollte und dann am besten auch <a href="http://www.tek-tips.com/viewthread.cfm?qid=1421346&#038;page=2">wartet, bis das ganz fertig ist</a>. Leider hat auch das nix gebracht.</p>
<p>Zusätzlich zur Windows-CD sollte man auch immer ein paar Rettungs-CDs im Hause haben, wie z.B. <a href="http://www.heise.de/software/download/knoppicillin_download_edition/37894">Knoppicillin</a> oder die <a href="http://ubcd4win.com/">Ultimate Boot CD for Windows</a>. Ich hab&#8217;s mit Koppicillin und den darauf vorhandenen SeaTools versucht, die dann beim testen der Platte auch gleich einige Fehler angezeigt haben. Letztendlich war auch der Reparaturversuch mit den SeaTools vergeblich und ich nehme an, die Platte ist wirklich komplett im Eimer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zustandsforschung.de/index.php/vergeblicher-notebookrettungsversuch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
