<?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>Rainer Bendig &#187; opensource</title>
	<atom:link href="http://mrbendig.com/tag/opensource/feed/" rel="self" type="application/rss+xml" />
	<link>http://mrbendig.com</link>
	<description>Some stuff about developing, the web and social media</description>
	<lastBuildDate>Thu, 02 Sep 2010 21:51:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>

   <image>
    <title>Rainer Bendig</title>
    <url>http://1.gravatar.com/avatar/7ce1993be3038455e79d29f6495ceaef?s=48&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536</url>
    <link>http://mrbendig.com</link>
   </image>
		<item>
		<title>WordPress function: has_parentpage()</title>
		<link>http://mrbendig.com/2009/03/wordpress-function-has_parentpage/</link>
		<comments>http://mrbendig.com/2009/03/wordpress-function-has_parentpage/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 19:27:28 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://beta.mrbendig.com/?p=206</guid>
		<description><![CDATA[<p>I just created a conditional function for Wordpress to check, if the current page has a parent page (or if the page is a sub page). It works outside the main loop, and also inside. To use this function, you need WordPress 2.5 or higher.... <a href="http://mrbendig.com/2009/03/wordpress-function-has_parentpage/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p>I just created a conditional function for WordPress to check, if the current page has a parent page (or if the page is a sub page). It works outside the main loop, and also inside. To use this function, you need WordPress 2.5 or higher.<br />
<span id="downloadbutton" class="yui-button yui-link-button" style="margin-bottom:1em;"><br />
        <em class="first-child"><br />
<a href="/get/wordpress/has_parentpage.phps">Download function</a><br />
        </em><br />
      </span><br />
<span id="more-207"></span></p>
<h3>Example usage</h3>
<pre class="brush: php">
&lt;?php if (have_posts()) : ?&gt;

&lt;?php while (have_posts()) : the_post(); ?&gt;

&lt;?php if ( has_parentpage() ): ?&gt;
&lt;p&gt; This page has a parent page. &lt;/p&gt;
&lt;?php endif ?&gt;

&lt;?php endwhile; ?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2009/03/wordpress-function-has_parentpage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CVS &#8211; Concurrent Versioning System</title>
		<link>http://mrbendig.com/2008/12/cvs-concurrent-versioning-system/</link>
		<comments>http://mrbendig.com/2008/12/cvs-concurrent-versioning-system/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 11:28:18 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[arbeit]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[versionskontrollsysteme]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/?p=149</guid>
		<description><![CDATA[<p>Dies ist der Start einer kleinen Serie über sogenannte Versionskontrollsysteme. Da CVS das bekannteste und auch älteste Versionskontrollsystem ist, habe ich mich dazu entschlossen es als erstes vorzustellen. In späteren Beiträgen werden SVN,... <a href="http://mrbendig.com/2008/12/cvs-concurrent-versioning-system/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>Dies ist der Start einer kleinen Serie über sogenannte Versionskontrollsysteme. Da CVS das bekannteste und auch älteste Versionskontrollsystem ist, habe ich mich dazu entschlossen es als erstes vorzustellen. In späteren Beiträgen werden SVN, Git, Mercurial sowie Bazaar folgen. </em></p></blockquote>
<p>CVS ist die wie bereits erwähnt das älteste Versionskontrollsystem das noch aktiv eingesetzt wird. CVS ist sozusagen die Mutter aller Versionskontrollsysteme. Hierbei ist zu beachten, dass es im Gegensatz zu Git und Mercurial ein sogenanntes zentrales Versionskontrollsystem ist. Dies bedeutet, dass ein CVS-Server dazu benutzt wird den aktuellen Stand vorzuhalten. CVS wird noch von einigen Projekten eingesetzt, und afaik auch noch von Sourceforge als Zugang angeboten.<br />
CVS hat mit anderen Versionskontrollsystemen einiges gemeinsam, so werden unterschiedliche Revisionen abgelegt, die meistens durch eine fortlaufende Nummer gekennzeichnet sind. Bei den sogenannten Check-Outs wird die aktuelle Arbeitskopie des CVS-Repositories auf den Client übertragen. Der Entwickler kann dort dann entsprechende Änderungen am Code vornehmen, und diese mit einem Check-In wieder zum Server übertragen. Dabei kann er zu jedem Check-In einen Logeintrag verfassen, der für alle Benutzer sichtbar ist.<br />
CVS unterstützt die Rechte „darf lesen“, „darf schreiben“ sowie „darf nix“. Meistens erhält ein Gast-Zugang in Opensource-Projekten reinen lesezugriff, damit kann ein x-beliebiger Benutzer jeden vorhandenen Projektstand erhalten, egal ob die gewünschte Version bereits Jahre zurückliegt, oder er den aktuellen Entwicklerzweig (trunk) erhalten möchte.<br />
Natürlich bieten einige Tools eine CVS unterstüzung an. So lässt sich CVS in <a href="http://www.eclipse.org/">Eclipse</a>, <a href="http://www.microsoft.com/germany/msdn/vstools/default.mspx">Visual Studio</a>, <a href="http://developer.apple.com/Tools/xcode/">XCode</a>, <a href="http://www.gnu.org/software/emacs/">Emacs</a> oder <a href="http://www.netbeans.org/">Netbeans</a> (und einigen Weiteren IDEs) einbinden. Auch steht mit <a href="http://www.tortoisecvs.org/index.shtml">TortoiseCVS</a> ein Windows-Client zur Verfügung.<br />
Allerdings wird CVS immer mehr von Subversion (the better CVS) abgelöst.</p>
<p><strong>Links zu CVS</strong></p>
<ul>
<li><a href="http://www.linuxdevcenter.com/pub/a/linux/2002/01/03/cvs_intro.html">Introduction to CVS</a></li>
<li><a href="http://tldp.org/REF/CVS-BestPractices/html/index.html">CVS Best Practices</a></li>
<li><a href="http://de.wikipedia.org/wiki/Concurrent_Versions_System">Wikipedia Artikel</a></li>
<li><a href="http://ximbiot.com/cvs/wiki/">Ximbiot &#8211; CVS Wiki</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/12/cvs-concurrent-versioning-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Interfaces</title>
		<link>http://mrbendig.com/2008/11/userinterfaces/</link>
		<comments>http://mrbendig.com/2008/11/userinterfaces/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 17:05:31 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[arbeit]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/?p=140</guid>
		<description><![CDATA[<p>Ein recht Interessantes Video gab es heute auf Golem.de zu sehen. Hierbei spricht Aza Raskin, der derzeit am Interface für den neuen Firefox arbeitet, wie man ein User Interface besser machen kann. Kurz gesagt: Man muss es anders machen als das,... <a href="http://mrbendig.com/2008/11/userinterfaces/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Ein recht Interessantes Video gab es heute auf <a href="http://www.golem.de/0811/63189.html">Golem.de</a> zu sehen. Hierbei spricht Aza Raskin, der derzeit am Interface für den neuen Firefox arbeitet, wie man ein User Interface besser machen kann. Kurz gesagt: Man muss es anders machen als das, was der Benutzer bereits kennt.<br />
<span id="more-140"></span><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="270" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="AllowScriptAccess" value="always" /><param name="src" value="http://video.golem.de/player/videoplayer.swf?id=1702&amp;autoPl=false" /><embed type="application/x-shockwave-flash" width="480" height="270" src="http://video.golem.de/player/videoplayer.swf?id=1702&amp;autoPl=false" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="width: 480px; text-align: center; font-family: verdana,sans-serif; font-size: 0.8em;"><a href="http://video.golem.de/desktop-applikationen/1702/aza-razkin-humane-interfaces.html">Video: Aza Raskin &#8211; Humanes Interface-Design (deutsch)</a> (10:42)</div>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/11/userinterfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox-Addons die Xte</title>
		<link>http://mrbendig.com/2008/09/mozilla-firefox-addons/</link>
		<comments>http://mrbendig.com/2008/09/mozilla-firefox-addons/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 00:47:54 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/?p=106</guid>
		<description><![CDATA[<p>Wer dabei ist seinen Firefox neu zu installieren oder seine Plugins zu überdenken, sollte sich einen Artikel bei noupe.com ansehen. In jenem geht es um 20 Firefox Add-ons die Webentwicklern helfen sollen. Stellenweise ist das sehr hilfreich... <a href="http://mrbendig.com/2008/09/mozilla-firefox-addons/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Wer dabei ist seinen Firefox neu zu installieren oder seine Plugins zu überdenken, sollte sich einen Artikel bei noupe.com ansehen. In jenem geht es um<a href="http://www.noupe.com/tools/20-firefox-add-ons-to-enhance-your-web-development.html"> 20 Firefox Add-ons die Webentwicklern helfen sollen</a>. Stellenweise ist das sehr hilfreich <img src='http://mrbendig.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/09/mozilla-firefox-addons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress mit Subversion aktualisieren</title>
		<link>http://mrbendig.com/2008/08/wordpress-subversion/</link>
		<comments>http://mrbendig.com/2008/08/wordpress-subversion/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 18:02:34 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[versionskontrollsysteme]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/?p=94</guid>
		<description><![CDATA[<p>Dieser Artikel beschäftigt sich mit einem automatischen Update von Wordpress über das Versionskontrollsystem Subversion. Was ist Subversion? Subversion ist ein sogenanntes Versions-Kontroll-System welches es ermöglicht einfach und unkompliziert... <a href="http://mrbendig.com/2008/08/wordpress-subversion/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p><em>Dieser Artikel beschäftigt sich mit einem automatischen Update von WordPress über das Versionskontrollsystem Subversion.</em></p>
<p><strong>Was ist Subversion?</strong><br />
<br /> <a href="http://subversion.tigris.org">Subversion</a> ist ein sogenanntes Versions-Kontroll-System welches es ermöglicht einfach und unkompliziert an jede beliebige Version einer bestimmten Datei innerhalb eines Quell-Code-Projekts zu gelangen. Subversion gibt es seit etwa 2000. Alternativen dazu sind unteranderem GIT und CVS.  Subversion gilt als Quasi-Standard der Versions-Kontroll-Systeme. Es ist kostenlos (OpenSource) und es gibt unterschiedliche Clients für Windows, Linux und auch MacOS. Unter Windows dürfte das bekannteste wohl <a href="http://www.tortoisesvn.net">TortoiseSVN</a> sein.</p>
<p>Der Sinn hinter Subversion versteckt sich darin, dass man ein Projekt entwickeln kann, und immer wieder zu einem bestimmten Stand zurückkehren kann, auch noch nach Jahren. Dabei ist keine Änderung innerhalb des Subversion-Archives redundant es werden im Endeffekt nur Änderungen gespeichert, und dann solange durchgeführt, bis Subversion die gewünschte Version der Datei zurückgeben kann. So ist die aktuelle WordPress Version 2.6 entpackt und lauffähig 4,36 MB groß, das komplette Subversion Archiv „nur“ 107 MB groß. Dies hört sich nun viel an, ist aber, wenn man bedenkt wirkliche jede Änderung im Quellcode bis Version x rückgängig machen zu können wirklich nicht viel <img src='http://mrbendig.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>
<strong>WordPress und Subversion</strong><br />
<br /> Automattic Inc. betreibt einen Subversionserver auf dem unter Anderem die Quelltexte für WordPress abgelegt sind. Darüber gestaltet sich der Zugriff auf die Entwicklerversion („bleeding“) und alle vorherigen Veröffentlichungen der Software recht einfach. Um nun WordPress über Subversion zu aktualisieren müssen mehrere Voraussetzungen erfüllt sein:</p>
<ul>
<li><strong>Subversion-Client-Software</strong><br />
Der Subversion Client muss installiert sein. Dies geschieht unter Debian-Abkömmlingen mit dem als root auszuführenden Befehl „apt-get install subversion“. Für ein manuelles aktualisieren von WordPress empfiehlt sich unter Windows Servern die Installation von TortoiseSVN. Für ein Automatisches Update wird allerdings ein Kommandozeilen-Client benötigt, hier bietet sich der Client von Collab.net an, auf den ich mich im weiteren Verlauf auch beziehe.</p>
<li><strong>Shellzugriff bzw. Remotezugriff</strong><br />
Zum Einrichten des Aktualisierungsprozesses wird Shellzugriff (SSH) unter Linux, beziehungsweise Remotezugriff (RemoteDesktop) unter Windows benötigt.</p>
<li><strong>Cronjobs / geplante Tasks</strong><br />
Um eine Automatische Aktualisierung einzurichten benötigen Sie entsprechende Rechte um einen geplanten Task unter Windows beziehungsweise einen Cronjob unter Linux einrichten zu können.</li>
</ul>
<p>Ich biete einen Mirror des WordPress-SVNs an, der im Regelfall jede Stunde aktualisiert wird. Dies dient dazu um die Belastung des Ursprünglichen SVN-Servers zu verringern. Auch wenn es ein OpenSource-Projekt ist, sollte man sich nicht einfach immer nur gedankenlos bedienen. Das Mirrorverzeichnis ist wie folgt zugänglich:</p>
<p>Unter dem Archiv auf http://svn.nyforge.eu/get/WP-Mirror liegt eine direkte stündlich aktuelle Kopie des WordPress SVN Archivs. Hierbei geht die Primäre Auswahl über die sogenannten Tags beziehungsweise nur den Entwickler-Zweig „trunk“. Kommt ein neues WordPress-Release heraus, ist ein manuelles Nacharbeiten notwendig, wenn man trunk nicht verwendet.</p>
<blockquote><p>Als kleine Randanmerkung: Man sollte nur „trunk“ auswählen wenn man sich den Gefahren einer aktuellen Entwickler-Version bewusst ist, und die Risiken entsprechend in Kauf nehmen will. Hierzu gehören unter Anderem plötzliche Änderungen an der Datenbankstruktur die den Blog temporär zumindest unbrauchbar machen können, sowie einfache Fehler in Quelldateien. (So sind zum Beispiel bei der Entwicklerversion von 2.4 auf 2.5 alle eingepflegten Tags verloren gegangen) Ich rate dringendst davon ab, eine Entwickler-Version im Produktivbetrieb einzusetzen. Dennoch beziehen sich die folgenden Beispiele alle auf „trunk“. Wenn man die letzte Stabile Version verwenden will, benutzt man bitte anstatt „trunk“ die Zeichenfolge „tags/2.6“. </p></blockquote>
<p><strong>Backup erstellen!</strong><br /> Auch wenn es sich kleinlich anhört, aber es wird dringend das Erstellen eines kompletten Backups eines bereits bestehenden Blogs empfohlen! Dies beinhaltet:</p>
<ul>
<li>Die Datenbank</li>
<li>Alles was sich im Blogverzeichnis befindet</li>
<li>insbesondere aber den Ordner wp-content, sowie die Datei wp-config.php</li>
</ul>
<p>Erst wenn dieses Backup existiert, sollte man mit der Einrichtung fortfahren.</p>
<p>Ich gehe nun von folgender Situation aus:
<ul>
<li>Der Blog ist oder soll über http://www.example.com/blog erreichbar sein</li>
<li>Das DocumentRoot liegt unter /home/hosts/example-com bzw c:\inetpub\wwwroot\example-com </li>
<li>Das SVN Binary ist unter Windows im Pfad vorhanden.</li>
</ul>
<p><strong>Es geht los!</strong><br />
Als erstes muss das Ursprüngliche Verzeichnis gelöscht werden wenn der Blog bereits existierte, beziehungsweise angelegt werden wenn der Blog neu eingerichtet werden soll.<br />
Unter Linux geschieht dies mit dem Befehl</p>
<pre>rm -Rf /home/hosts/example-com/blog ; mkdir /home/hosts/example-com/blog –p</pre>
<p>Unter Windows kann man dies komfortabel über den Explorer lösen.<br />
Als nächsten Schritt müssen wir die gewünschte Version von WordPress „auschecken“.<br />
Unter Linux ist dies über den Befehl</p>
<pre>svn co http://svn.nyforge.eu/get/WP-Mirror/trunk /home/hosts/example-com/blog </pre>
<p>zu erreichen.<br />
Subversion listet daraufhin alle Dateien auf die heruntergeladen wurden.<br />
 Unter Windows muss man entsprechend den Befehl wie folgt ändern:</p>
<pre>svn co http://svn.nyforge.eu/get/WP-Mirror/trunk c:\inetpub\wwwroot\example-com\blog</pre>
</p>
<p><strong>Einrichtung</strong><br />
Handelt es sich um eine neue WordPressinstallation kann man die Einrichtung von WordPress gemäß der Anleitung von WordPress starten. (Mit dem Browser auf http://www.example.com/blog/wp-admin wechseln und 2 Seiten ausfüllen, fertig.)<br />
Wenn es sich um ein Update einer bereits vorhandenen (und vorher gesicherten) WordPressinstallation handelt ist die Sache etwas komplizierter.<br />
Der geneigte Blogbesitzer muss nun seine wp-config.php aus dem Backupverzeichnis in die neue WordPress installation kopieren. Ebenso muss der Ordner wp-content/uploads, diverse plugins aus wp-content/plugins sowie das verwendete theme aus wp-content/themes/meintollestheme aus dem Backup in die aktuelle WordPress installation kopiert werden, also zum Beispiel</p>
<pre>cp /home/hosts/example-com/blog.bak/wp-config.php /home/hosts/example-com/blog/wp-config.php
cp –rf /home/hosts/example-com/blog.bak/wp-content/uploads /home/hosts/example-com/blog/wp-content
cp –rf /home/hosts/example-com/blog.bak/wp-content/themes/meintollestheme /home/hosts/example-com/blog/wp-content/themes
cp –rf /home/hosts/example-com/blog.bak/wp-content/plugins/TollesPlugin /home/hosts/example-com/blog/wp-content/plugins/TollesPlugin</pre>
<p>Damit ware der Blog nun wieder lauffähig. Im Regelfall muss der Blogeigentümer nun noch die Datenbank aktualisieren, was sich einfach mit einem Klick auf http://www.example.com/blog/wp-admin erledigen lässt.<br />
Aktualisieren kann man den Blog nun über den Befehl</p>
<pre>svn up /home/hosts/example-com/blog </pre>
<p>Beziehungsweise</p>
<pre>svn up c:\inetpub\wwwroot\example-com\blog</pre>
<p>Dies sind auch die Befehle die man entweder in die Crontab unter Linux, oder als geplanten Task einrichtet unter Windows, wenn man in den Genuss einer automatischen Aktualisierung kommen will.</p>
<p><strong>Warum über Subversion aktualisieren?</strong><br />
Die Gründe für ein automatisches Update waren für mich recht simpel: Fehlerbeseitigungen sind schneller eingespielt, und ab 2 Installationen die man zu verwalten hat spart man Zeit <img src='http://mrbendig.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Auch wenn man WordPress testen will, und durch das Verwenden von sogenannten Bleeding-Versionen mithelfen will die Qualität zu verbessern bietet sich dieser Weg nun einmal an. Ein wichtiger Grund dürfte auch einfache stupide Faulheit sein, denn es spart wie gesagt Unmengen an Zeit.<br />
Ich müsste mehrere Blogs händisch auf dem neusten Stand halten, mich um die Sicherheitsupdates kümmern, alles Arbeit die man sich sparen kann.<br />
Sicherlich ist es einmalig ein kleiner Aufwand das ganze einzurichten, aber die Arbeit lohnte sich zumindest für mich. </p>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/08/wordpress-subversion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Postfix-Mailqueue leeren</title>
		<link>http://mrbendig.com/2008/06/postfix-mailqueue-leeren/</link>
		<comments>http://mrbendig.com/2008/06/postfix-mailqueue-leeren/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 12:54:37 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[queue]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/?p=71</guid>
		<description><![CDATA[<p>Kit dem folgenden snippet, kann man gezielt seine Postfix-Warteschlange aufräumen, nur für mich als Erinnerung... Stammen tut das snippet im übrigen von it-crowd.biz mailq &#124; tail +2 &#124; grep -v '^ *(' &#124; awk  'BEGIN { RS = "" } # $7=Absender,... <a href="http://mrbendig.com/2008/06/postfix-mailqueue-leeren/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Kit dem folgenden snippet, kann man gezielt seine Postfix-Warteschlange aufräumen, nur für mich als Erinnerung&#8230; Stammen tut das snippet im übrigen von <a href="http://www.it-crowd.biz/2008/04/23/postfix-queue-gezielt-oder-komplett-loschen/">it-crowd.biz</a></p>
<pre>mailq | tail +2 | grep -v '^ *(' | awk  'BEGIN { RS = "" }
# $7=Absender, $8=Empfänger1, $9=Empfänger2
{ if ($8 == "gibtsnicht@rainerbendig.com" &amp;&amp; $7 == "MAILER-DAEMON")
print $1 }
' | tr -d '*!' | postsuper -d -</pre>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/06/postfix-mailqueue-leeren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multilinguale Projekte: Translation Memory eXchange aka TMX</title>
		<link>http://mrbendig.com/2008/05/multilanguage-tmx-translation-memory-exchange/</link>
		<comments>http://mrbendig.com/2008/05/multilanguage-tmx-translation-memory-exchange/#comments</comments>
		<pubDate>Tue, 27 May 2008 20:28:24 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[tmx]]></category>
		<category><![CDATA[tyche]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/blog/?p=44</guid>
		<description><![CDATA[<p>Translation Memory eXchange ist ein interessanter Standard, der es Projekten ermöglicht Multilinguale Texte in XML-Dateien abzulegen. Laut unsicheren Informationsquellen "unterstützen praktisch alle Anbieter von Übersetzungssoftware das Format... <a href="http://mrbendig.com/2008/05/multilanguage-tmx-translation-memory-exchange/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lisa.org/Translation-Memory-e.34.0.html">Translation Memory eXchange</a> ist ein interessanter Standard, der es Projekten ermöglicht Multilinguale Texte in XML-Dateien abzulegen. Laut unsicheren <a href="http://de.wikipedia.org/wiki/Translation_Memory_eXchange">Informationsquellen</a> &#8220;unterstützen praktisch alle Anbieter von Übersetzungssoftware das Format zumindest für Im- und Export in ihre proprietären Formate&#8221;.</p>
<p>TMX ist der Standard den ich in &#8220;Tyche&#8221; entsprechend verwenden werde. Zumal das Zend Framework eine entsprechende Schnittstelle mitsich bringt.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/05/multilanguage-tmx-translation-memory-exchange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Groundwork Monitor &#8211; Service startet nicht?</title>
		<link>http://mrbendig.com/2008/05/groundwork-monitor-service-startet-nicht/</link>
		<comments>http://mrbendig.com/2008/05/groundwork-monitor-service-startet-nicht/#comments</comments>
		<pubDate>Thu, 22 May 2008 07:20:32 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[groundwork]]></category>
		<category><![CDATA[gwservice]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/blog/?p=39</guid>
		<description><![CDATA[<p>ich habe eben den Groundwork Monitor auf einem Host installiert. Das ist eine Oberfläche für Nagios und Konsorten, die mal echt nen Blick wert ist. In der Community Edition, wie MySQL, sogar umsonst. Nach dem Starten von gwservice bot sich mir... <a href="http://mrbendig.com/2008/05/groundwork-monitor-service-startet-nicht/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p>ich habe eben den <a href="http://www.groundworkopensource.com/community/community-edition.html">Groundwork Monitor</a> auf einem Host installiert. Das ist eine Oberfläche für Nagios und Konsorten, die mal echt nen Blick wert ist. In der Community Edition, wie MySQL, sogar umsonst.</p>
<p>Nach dem Starten von gwservice bot sich mir recht lange das folgende Bild:<br />
<code>shorn:~ # /etc/init.d/gwservices restart<br />
Stopping Groundwork Services                                [ OK ]<br />
Starting Groundwork Services<br />
Connecting to Foundation listener Host:localhost Port:4913<br />
Listener not ready to accept data feeds ....<br />
Listener not ready to accept data feeds ....<br />
Listener not ready to accept data feeds ....<br />
Listener not ready to accept data feeds ....<br />
Listener not ready to accept data feeds ....<br />
Listener not ready to accept data feeds ....<br />
Couldn't connect to localhost:4913: IO::Socket::INET: connect: Connection refused<br />
gwservices start failed.                                    [ FAILED ]</code></p>
<p>Ursache hierfür ist einfach, dass sich Java nicht im Pfad befindet. nach einem kurzen Edit der Datei /etc/init.d/gwservices wo ich die zeilen</p>
<p><code>export JAVA_HOME=/usr/java<br />
export JRE_HOME=$JAVA_HOME/bin</code></p>
<p>einfügte lies sich der Service ohne probleme starten:<br />
<code>shorn:~ # /etc/init.d/gwservices restart<br />
Stopping Groundwork Services                                [ OK ]<br />
Cannot stat file /proc/28148/fd/3: No such file or directory<br />
Cannot stat file /proc/28148/fd/4: No such file or directory<br />
Cannot stat file /proc/28148/fd/5: No such file or directory<br />
Starting Groundwork Services<br />
Connecting to Foundation listener Host:localhost Port:4913<br />
Listener not ready to accept data feeds ....<br />
Listener ready to accept data feeds....<br />
gwservices start                                            [ OK ]</code></p>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/05/groundwork-monitor-service-startet-nicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Winamp- und Picasaeinbindung in WordPress</title>
		<link>http://mrbendig.com/2008/05/winamp-picasa-integration-wordpress/</link>
		<comments>http://mrbendig.com/2008/05/winamp-picasa-integration-wordpress/#comments</comments>
		<pubDate>Sun, 18 May 2008 20:51:01 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[picasa]]></category>
		<category><![CDATA[winamp]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/blog/?p=31</guid>
		<description><![CDATA[<p>Letzte Woche habe ich einer Bekannten ihren Weblog (natürlich Wordpress) eingerichtet. Meine Bekannte hat ziemlich viele Bilder bei Picasa abgelegt, und verwaltet auch Ihre Bilder mit selbigen Tool. Abgesehen davon, dass Picasa Google gehört, und... <a href="http://mrbendig.com/2008/05/winamp-picasa-integration-wordpress/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Letzte Woche habe ich einer Bekannten ihren Weblog (natürlich <a href="http://www.wordpress.org">WordPress</a>) eingerichtet. Meine Bekannte hat ziemlich viele Bilder bei <a href="http://picasa.google.de/">Picasa</a> abgelegt, und verwaltet auch Ihre Bilder mit selbigen Tool. Abgesehen davon, dass Picasa <a href="http://www.google.com">Google</a> gehört, und <a href="http://www.google.de/search?hl=de&amp;q=google+ist+der+kraken&amp;btnG=Google-Suche&amp;meta=">Google der Kraken</a> ist der gestoppt werden muss, war also schon etwas Infrastruktur vorhanden. <span id="more-202"></span></p>
<p>Meine Bekannte  stellte nun die folgenden Anforderungen:</p>
<ul>
<li>Bilder sollten auf Ihrer Seite präsentiert werden, aber  diese will sie mit Picasa weiterhin verwalten</li>
<li>Ihre Musik die sie hört, soll wie eine Playlist in einer der Sidebars ihres Blogs erscheinen. Natürlich mit so wenig Aufwand für sie wie möglich.</li>
</ul>
<p>Für die Integration von Picasa kamen nun mehrere Plugins zum Einsatz:</p>
<ul>
<li><a href="http://www.sandaru1.com/2008/04/04/wordpress-picasa-plugin/">Picasa Photos</a> um die Bilder in der Sidebar anzuzeigen. Dieses Addon wurde allerdings angepasst, dass es nun nicht mehr auf die Bilder bei Picasa verweist, sondern das jeweils ausgewählte Bild in einer <a href="http://www.huddletogether.com/projects/lightbox/">Lightbox</a> auf der Webseite darstellt.</li>
<li><a href="http://www.boloxe.com/kpicasa_gallery/">kPicasa Gallery</a> um die Bilder in einer Art Galerie in dem jeweils ausgesuchten WordPress-Theme darstellt. Und diese auch in einem eigenen „Frame“ auf der eigenen Seite präsentiert.</li>
</ul>
<p>Beide Plugins speichern oder cachen die Photos leider nicht zwischen, weshalb für jeden Bilderaufruf zu Google umgeleitet wird.<br />
Die Playlist ist etwas komplizierter. Meine bekannte verwaltet ihre Lieder auf dem PC mit <a href="http://www.winamp.com">Winamp</a> und der dort integrierten Medialibrary. Allerdings gibt es Plugins, die an bestimmte Webseiten Posts-Requests absenden. Und es gibt Plugins für WordPress die die Liedtitel anschaulich präsentieren. Es kommen hier also die folgenden Plugins zum Einsatz:</p>
<ul>
<li><a href="http://users.jyu.fi/~ltnevala/nowplaying/">Now Playing Plugin for Winamp</a>, damit Winamp die Liedtitel an den Blog postet. Dies geschieht nach einer einmaligen Einrichtung komplett automatisiert. Man muss sich nicht mehr darum kümmern.</li>
<li><a href="http://www.italyisfalling.com/plastic-tunes/">Plastic Tunes in WordPress</a>. Dieses Plugin wertet die von Winamp geschichten Postdaten auf, und speichert sie in einer MySQL Tabelle innerhalb der WordPress installation. Über ein Widget können diese hinterlegten Informationen dann in der WordPress Sidebar präsentiert werden.</li>
</ul>
<p>Durch die Kombination der unterschiedlichen Services und Plugins muss meine Bekannte ihre bisherigen Tätigkeiten nicht umstellen, sie kann weiterhin Ihre Bilder mit Picasa verwalten und ha diese dennoch in einer schönen Oberfläche innerhalb ihres Blogs. Die Winamp-Anbindung war wie vorher schon beschrieben eine einmalige Install-And-Forget Geschichte.<br />
Da meine Bekannte keine Verlinkung ihres Blogs wünscht, hier nur ein paar Screenshots<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/05/winamp-picasa-integration-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Lustiger Cyrus-Fehler</title>
		<link>http://mrbendig.com/2008/04/lustiger-cyrus-fehler/</link>
		<comments>http://mrbendig.com/2008/04/lustiger-cyrus-fehler/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 05:24:56 +0000</pubDate>
		<dc:creator>Rainer Bendig</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[cyrus]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[reboot]]></category>
		<category><![CDATA[seen]]></category>

		<guid isPermaLink="false">http://rainerbendig.com/blog/?p=22</guid>
		<description><![CDATA[<p>Wenn im Logfile mail.err die folgenden Meldungen auftauchen: 2008-04-14T07:50:01+02:00 zetal01 cyrus/imapd: DBERROR: skiplist recovery /var/imap/user/m/mx0002.seen: ADD at 6FA4 exists 2008-04-14T07:50:01+02:00 zetal01 cyrus/imapd: DBERROR: opening... <a href="http://mrbendig.com/2008/04/lustiger-cyrus-fehler/">Read more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Wenn im Logfile mail.err die folgenden Meldungen auftauchen:</p>
<pre class="code">2008-04-14T07:50:01+02:00 zetal01 cyrus/imapd[22591]: DBERROR: skiplist recovery /var/imap/user/m/mx0002.seen: ADD at 6FA4 exists
2008-04-14T07:50:01+02:00 zetal01 cyrus/imapd[22591]: DBERROR: opening /var/imap/user/m/mx0002.seen: cyrusdb error
2008-04-14T07:50:01+02:00 zetal01 cyrus/imapd[22591]: Could not open seen state for mx0002 (System I/O error)</pre>
<p>kann daran ein &#8220;<span class="code">shutdown -rfn now</span>&#8221; oder ein &#8220;<span class="code">shutdown -rf -t 1 now</span>&#8221; schuld sein.</p>
<p>Wenn man nach der Fehlermeldung bei google sucht, wird man <a href="http://lists.andrew.cmu.edu/pipermail/cyrus-devel/2006-May/000101.html">hierher</a> geleitet, wo vorgeschlagen wird die datei mx0002.seen umzubenenn oder zu verschieben was dann auch hilft.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrbendig.com/2008/04/lustiger-cyrus-fehler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
