<?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>Julius Beckmann</title>
	<atom:link href="http://juliusbeckmann.de/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://juliusbeckmann.de/blog</link>
	<description>Ich bin nicht verrückt, nur technisch begabt ...</description>
	<lastBuildDate>Sun, 11 Jul 2010 13:44:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Meine Tux Auto-Fahne</title>
		<link>http://juliusbeckmann.de/blog/meine-tux-auto-fahne-linux-logo.html</link>
		<comments>http://juliusbeckmann.de/blog/meine-tux-auto-fahne-linux-logo.html#comments</comments>
		<pubDate>Sun, 11 Jul 2010 13:44:49 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=595</guid>
		<description><![CDATA[Jetzt zur WM 2010 in Südafrika gab es kaum ein Auto ohne Auto-Fahnen zu sehen. Dies hat mich auf eine Idee gebracht ...

Ich wollte auch eine Auto Fahne haben, aber nicht mit einer Flagge drauf. Es sollte etwas sein was sonst keiner am Auto wehen hat. Kurz drüber nachgedacht und sofort war Tux im Sinn.
Nach [...]]]></description>
			<content:encoded><![CDATA[<p>Jetzt zur WM 2010 in Südafrika gab es kaum ein Auto ohne Auto-Fahnen zu sehen. Dies hat mich auf eine Idee gebracht ...<br />
<span id="more-595"></span><br />
Ich wollte auch eine Auto Fahne haben, aber nicht mit einer Flagge drauf. Es sollte etwas sein was sonst keiner am Auto wehen hat. Kurz drüber nachgedacht und sofort war Tux im Sinn.</p>
<p>Nach etwas Recherche ließ sich aber keine Auto-Fahne mit Tux oder anderem Linux Bezug finden. Und wenn, dann hat dieser Einzeldruck viel zu viel Geld gekostet. Was also tun?</p>
<p>Dann eben selber machen! Bei Ebay gab es auch komplett weiße Fahnen zu kaufen, von denen ich gleich 3 Stück bestellt habe (Kosten fast nix und man weiß ja nie was noch kommt). Im nächsten Schreibwarenladen 2 Eddings besorgt, einen in Schwarz (col. 001) und den anderen in Gelb (col. 005). Das Gelb habe ich zum Glück etwas heller gekauft, denn es ist auf der Fahne doch erheblich dunkler geworden als gedacht. Mehr braucht man an Utensilien nicht.</p>
<p>Das Bemalen war auch nicht sonderlich schwer. Ein Logo von Tux gesucht (Hier das was ich benutzt habe: <a href="http://juliusbeckmann.de/blog/static/tux-linux-logo-debian-ubuntu-gnu.png">Meine Vorlage</a>), auf die passende Größe skaliert und ausgedruckt. Das Papier dann auf dem Tisch mit Klebeband festgeklebt. Dadrüber dann die abgezogene Fahne auch festgeklebt, damit sie schön plan aufliegt und nicht verrutscht. Da der Fahnenstoff recht durchsichtig war, konnte man einfach Malen nach Zahlen machen. Aber Achtung! Man muss aufpassen denn die Farbe aus den Eddings verläuft etwas im Fahnenstoff, dies war besonders bei den Kanten zu beachten.</p>
<p><a href="http://juliusbeckmann.de/blog/static/1.jpg"><img class="aligncenter size-medium wp-image-597" title="Linux Tux Autofahne Schritt 1" src="http://juliusbeckmann.de/blog/static/1-600x337.jpg" alt="Linux Tux Autofahne Schritt 1" width="600" height="337" /></a></p>
<p>Dazu musste man mit Schwarz sehr vorsichtig sein, denn einmal angemalt bekommt man es nie wieder weg. Ich habe zuerst das Schwarz, dann das Gelb benutzt um saubere Kanten hin zu bekommen.</p>
<p><a href="http://juliusbeckmann.de/blog/static/2.jpg"><img class="aligncenter size-medium wp-image-598" title="Linux Tux Autofahne Schritt 2" src="http://juliusbeckmann.de/blog/static/2-600x337.jpg" alt="Linux Tux Autofahne Schritt 2" width="600" height="337" /></a></p>
<p><a href="http://juliusbeckmann.de/blog/static/31.jpg"><img class="aligncenter size-medium wp-image-602" title="Linux Tux Autofahne Schritt 3" src="http://juliusbeckmann.de/blog/static/31-600x337.jpg" alt="Linux Tux Autofahne Schritt 3" width="600" height="337" /></a></p>
<p>Mit den orangen Flossen war Tux auch fertig. Es musste noch etwas auf der Rückseite nach gemalt werden da die Farbe nicht überall perfekt durchgedrungen ist.</p>
<p><a href="http://juliusbeckmann.de/blog/static/31.jpg"></a><a href="http://juliusbeckmann.de/blog/static/41.jpg"><img class="aligncenter size-medium wp-image-603" title="Linux Tux Autofahne Fertig" src="http://juliusbeckmann.de/blog/static/41-600x337.jpg" alt="Linux Tux Autofahne Fertig" width="600" height="337" /></a></p>
<p>Wieder den Fahnenmast dran und fertig :D</p>
<p><a href="http://juliusbeckmann.de/blog/static/41.jpg"></a><a href="http://juliusbeckmann.de/blog/static/51.jpg"><img class="aligncenter size-medium wp-image-604" title="Linux Tux Autofahne am auto montiert" src="http://juliusbeckmann.de/blog/static/51-600x337.jpg" alt="Linux Tux Autofahne am auto montiert" width="600" height="337" /></a></p>
<p>Ich hoffe dass mir keiner die Fahne kaputt macht. Werde versuchen gut drauf aufzupassen.</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/meine-tux-auto-fahne-linux-logo.html&amp;t=Meine+Tux+Auto-Fahne&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/meine-tux-auto-fahne-linux-logo.html&amp;title=Meine+Tux+Auto-Fahne&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/meine-tux-auto-fahne-linux-logo.html&amp;title=Meine+Tux+Auto-Fahne&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Meine+Tux+Auto-Fahne;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/meine-tux-auto-fahne-linux-logo.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/meine-tux-auto-fahne-linux-logo.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Howto move min/max/close buttons to the right in Ubuntu Lynx 10.4</title>
		<link>http://juliusbeckmann.de/blog/ubuntu-howto-move-minmaxclose-buttons-to-the-right-in-ubuntu-lynx-10-4.html</link>
		<comments>http://juliusbeckmann.de/blog/ubuntu-howto-move-minmaxclose-buttons-to-the-right-in-ubuntu-lynx-10-4.html#comments</comments>
		<pubDate>Sun, 04 Apr 2010 09:42:35 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=591</guid>
		<description><![CDATA[With version 10.4 Ubuntu design team decided to move the minimize/maximize/close buttons to the left. Maybe to look like mac. For everybody who do not like this and want their buttons back on the right, follow the instructions.

Even if the position on the left might have some advantages, here is a instruction for changing them [...]]]></description>
			<content:encoded><![CDATA[<p>With version 10.4 Ubuntu design team decided to move the minimize/maximize/close buttons to the left. Maybe to look like mac. For everybody who do not like this and want their buttons back on the right, follow the instructions.<br />
<span id="more-591"></span></p>
<p>Even if the position on the left might have some advantages, here is a instruction for changing them back.</p>
<p>Go to the "Terminal" or "Shell" and start the Programm:</p>
<div class="codesnip-container" >gconf-editor</div>
<p>Now navigate to:</p>
<div class="codesnip-container" >apps>metacity>general</div>
<p>And change the key <strong>button_layout</strong> from:</p>
<div class="codesnip-container" >maximize,minimize,close:</div>
<p>to</p>
<div class="codesnip-container" >menu:minimize,maximize,close</div>
<p>Even faster is this command you need to run in your terminal/shell:</p>
<div class="codesnip-container" >gconftool-2 --set /apps/metacity/general/button_layout --type string menu:minimize,maximize,close</div>
<p>How this helps.</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/ubuntu-howto-move-minmaxclose-buttons-to-the-right-in-ubuntu-lynx-10-4.html&amp;t=Ubuntu%3A+Howto+move+min%2Fmax%2Fclose+buttons+to+the+right+in+Ubuntu+Lynx+10.4&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/ubuntu-howto-move-minmaxclose-buttons-to-the-right-in-ubuntu-lynx-10-4.html&amp;title=Ubuntu%3A+Howto+move+min%2Fmax%2Fclose+buttons+to+the+right+in+Ubuntu+Lynx+10.4&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/ubuntu-howto-move-minmaxclose-buttons-to-the-right-in-ubuntu-lynx-10-4.html&amp;title=Ubuntu%3A+Howto+move+min%2Fmax%2Fclose+buttons+to+the+right+in+Ubuntu+Lynx+10.4&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Ubuntu%3A+Howto+move+min%2Fmax%2Fclose+buttons+to+the+right+in+Ubuntu+Lynx+10.4;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/ubuntu-howto-move-minmaxclose-buttons-to-the-right-in-ubuntu-lynx-10-4.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/ubuntu-howto-move-minmaxclose-buttons-to-the-right-in-ubuntu-lynx-10-4.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Verkaufe Bücher!</title>
		<link>http://juliusbeckmann.de/blog/verkaufe-bucher.html</link>
		<comments>http://juliusbeckmann.de/blog/verkaufe-bucher.html#comments</comments>
		<pubDate>Fri, 19 Mar 2010 08:51:45 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=583</guid>
		<description><![CDATA[Ich habe ein paar Bücher im Regal aussortiert die ich nicht mehr benötige. Schaut euch einfach die Liste an.

Die folgende Liste ist nach besten Wissen und Gewissen angefertigt.
Versandkosten werde zusätzlich und fair erhoben.
Default ist normaler Buchversand der Post, auf Wunsch auch mit Paketdienst.
Professionelle PHP 5-Programmierung: Entwicklerleitfaden für große Webprojekte mit PHP 5 (Broschiert)

Zustand: Mittlere Gebrauchsspuren, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe ein paar Bücher im Regal aussortiert die ich nicht mehr benötige. Schaut euch einfach die Liste an.<br />
<span id="more-583"></span></p>
<p>Die folgende Liste ist nach besten Wissen und Gewissen angefertigt.<br />
Versandkosten werde zusätzlich und fair erhoben.<br />
Default ist normaler Buchversand der Post, auf Wunsch auch mit Paketdienst.</p>
<h2>Professionelle PHP 5-Programmierung: Entwicklerleitfaden für große Webprojekte mit PHP 5 (Broschiert)</h2>
<p><img src="http://ecx.images-amazon.com/images/I/41DC6HFSKZL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU03_.jpg"><br />
Zustand: Mittlere Gebrauchsspuren, aber sehr gut erhalten.<br />
Preis: 17 Euro + Versand</p>
<h2>Professionelle PHP 5-Programmierung. Entwicklerleitfaden für große Webprojekte mit PHP 5 (Gebundene Ausgabe)</h2>
<p><img src="http://ecx.images-amazon.com/images/I/41MJWTBFVXL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU03_.jpg"><br />
Zustand: Geringe Gebrauchspuren, sehr guter Zustand.<br />
Preis: 17 Euro + Versand</p>
<h2>Webseiten mit PHP 5 und MySQL 4. 111 Lösungen für Ein- und Umsteiger (Taschenbuch)</h2>
<p><img src="http://ecx.images-amazon.com/images/I/510BTSGC35L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU03_.jpg"><br />
Zustand: In Ordnung, leichte Spuren am Rand.<br />
Preis: 5 Euro + Versand</p>
<p><br/><br/><br/><br/><br/><br/><br/><br/></p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/verkaufe-bucher.html&amp;t=Verkaufe+B%C3%BCcher%21&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/verkaufe-bucher.html&amp;title=Verkaufe+B%C3%BCcher%21&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/verkaufe-bucher.html&amp;title=Verkaufe+B%C3%BCcher%21&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Verkaufe+B%C3%BCcher%21;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/verkaufe-bucher.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/verkaufe-bucher.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Opel Corsa C Kurbelwellensensor austauschen</title>
		<link>http://juliusbeckmann.de/blog/howto-opel-corsa-c-kurbelwellensensor-austauschen-anleitung-hilfe.html</link>
		<comments>http://juliusbeckmann.de/blog/howto-opel-corsa-c-kurbelwellensensor-austauschen-anleitung-hilfe.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 16:00:34 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=567</guid>
		<description><![CDATA[Auf dem Weg nach Hause habe ich es das Erste mal bemerkt. Beim Rollen zu einer Roten Lichtzeichenanlage (Ampel) ist der Motor einfach ausgegangen. Ich hab mir nichts weiter bei gedacht und den Motor wieder gestartet. Doch ab dann hat die Motorkontrolleuchte (MKL) geleuchtet (nicht geblinkt!). Ein paar Kilometer weiter leuchtete dann auch noch die [...]]]></description>
			<content:encoded><![CDATA[<p>Auf dem Weg nach Hause habe ich es das Erste mal bemerkt. Beim Rollen zu einer Roten Lichtzeichenanlage (Ampel) ist der Motor einfach ausgegangen. Ich hab mir nichts weiter bei gedacht und den Motor wieder gestartet. Doch ab dann hat die Motorkontrolleuchte (MKL) geleuchtet (nicht geblinkt!). Ein paar Kilometer weiter leuchtete dann auch noch die Abgaskontrolleuchte (AKL) und der Drehzahlmesser hat nichts mehr angezeigt.<br />
Ab dann war mir klar dass da irgendwas an dem Auto nicht in Ordnung ist.<br />
Wer wissen will wie ich das Auto wieder repariert habe, der lese einfach weiter...<br />
<span id="more-567"></span><br />
<b>Vorab:</b><br />
Ich bin kein KFZ Mechaniker und kann für nichts garantieren. Was Sie an ihrem Auto machen ist Ihr Ding.</p>
<h2>Symptome</h2>
<p>Fangen wir erstmal mit den Symptomen an:<br />
- Motor geht sporadisch aus, lässt sich aber wieder starten<br />
- MKL leuchtet<br />
- AKL leuchtet<br />
- Motor hat weniger Leistung<br />
- Drehzahl im Stand etwas höher als sonst (1200 U/Min statt 900 U/Min)</p>
<h2>Ursache</h2>
<p>Doch was ist die Ursache?<br />
In meinem Fall war es der Kurbelwellensensor.<br />
Dies konnte ich recht leicht über den Fehlercode herausfinden.<br />
Was im Motor passiert ist sollte etwa so gewesen sein:<br />
Der Kurbelwellensensor hat fehlerhafte Werte geliefert und das Steuergerät den Motor deshalb in den "Notmodus" geschaltet. In diesem Modus werden anscheinend die Sensoren größtenteils ignoriert und der Motor mit Standardwerten betrieben. Die Abgaskontrolleuchte fängt an zu leuchten da im Notmodus die Abgaswerte natürlich nicht mehr stimmen.</p>
<h2>Fehlercode auslesen</h2>
<p>Ich habe einen Opel Corsa C, bei meinem Model funktioniert die "Fehlercode ausblinken"-Technik noch. Der Ablauf ist absolut ungefährlich und problemlos machbar, kein Löten/Verkabeln, nichts.<br />
Dazu muss man folgendes machen:<br />
1. Ins Auto setzten<br />
2. Schlüssel ins Schloss stecken<br />
3. Bremse <b>und</b> Gas gleichzeitig mit den Füssen drücken und gedrückt halten<br />
4. Den Schlüssel auf Zündung drehen. (Das ist die Schlüsselposition bevor der Motor angeht)<br />
5. Auf die MKL achten. Nach ein paar Sekunden fängt diese an zu blinken.<br />
6. Mitzählen und notieren wie oft diese Blinkt. (Wer es nicht beim ersten mal schafft kann problemlos von Vorne bei Punkt 1 anfangen)<br />
7. Auswerten was geblinkt wurde.</p>
<p>Das Auswerten funktioniert wie folgt.<br />
Die Leuchte hat beispielsweise so geblinkt: 10-3-3-5 - 10-3-3-5 - 10-3-3-5<br />
Wenn 1 bis 9 mal geblinkt wurde, so ist die Ziffer ensprechend. Bei der 10 ist die Ziffer eine 0.<br />
Es wurde uns also drei mal der Fehlercode 0335 - 0335 - 0335 angezeigt. Ich habe gelesen dass das Auto auch verschiedene Codes anzeigt und nicht immer drei mal den gleichen, also genau aufpassen!</p>
<p>Protipp zum Ausblinken: Video mit dem Handy machen.<br />
Hier das Video von meinem Handy:<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/2PxuAb3nxHs&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2PxuAb3nxHs&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Der Fehlercode 0335 bedeutet "0335 Falsches Signal für die Motordrehzahl". Die Ursache für diesen Fehler ist laut Google Analyse der Kurbelwellensensor.<br />
Eine Liste mit Fehlercodes für Opel Motoren findet sich am Ende dieses Artikels.</p>
<h2>Kurbelwellensensor</h2>
<p>Der Kurbelwellensensor ist dazu da um die Drehzahl der Kurbelwelle zu messen damit das Steuergerät den Motor besser steuern kann. Auch wird von hier wohl der Drehzahlmesser gespeist.<br />
Bei älteren Motoren liegt dieser Sensor meist direkt am Drehrad des Keilriemen.<br />
Bei neueren Motoren, wie meinem, wurde der Sensor in den Motorblock integriert.<br />
Vom Sensor geht 1 Kabel mit 2 Adern ab.<br />
<b>Achtung!</b><br />
Da wir an der Elektronik des Autos arbeiten ist es ratsam die Batterie abzuklemmen.<br />
<i>(Hinweis von Jörg aus Ahaus)</i></p>
<p>Laut Forenberichten kostet ein original Ersatzteil zwischen 50 und 100 Euro. Mein original verbauter Sensor war von Bosch und den Ersatz habe ich für insgesamt 18 Euro bei Ebay bekommen. Die Technik in dem Sensor ist nicht wirklich spektakulär, da kann man auch mal Ebay-NoName Kram ausprobieren.</p>
<p>Die Position des Sensor ist nicht ganz einfach zu erklären da er auch nicht von oben bei offener Motorhaube zu sehen ist.<br />
Auf dieser Skizze habe ich versucht die Position zu beschreiben:<br />
<a href="/blog/static/images/auto/corsa_kurbelwellensensor/opel_corsa_kurbelwellensensor_skizze.gif"><br />
<img width="500px" src="/blog/static/images/auto/corsa_kurbelwellensensor/opel_corsa_kurbelwellensensor_skizze.gif" alt="Opel Corsa Kurbelwellensensor Position" /></a><br />
<br style="clear: both;"></p>
<p>Der Sensor ist direkt neben der Antriebswelle für das rechte Vorderrad angebracht. Auf der Seite vom Motor dir dem Beifahrer zugewand ist. Wenn man sich unter das Auto legt kann man das Bauteil recht schnell ausmachen. Hier ein Bild:<br />
<a href="/blog/static/images/auto/corsa_kurbelwellensensor/opel_corsa_kurbelwellensensor_3_text.jpg"><br />
<img width="500px" src="/blog/static/images/auto/corsa_kurbelwellensensor/opel_corsa_kurbelwellensensor_3_text.jpg" alt="Opel Corsa Kurbelwellensensor" /></a><br />
<br style="clear: both;"></p>
<p>Der Ausbau des Sensors ist eigentlich recht einfach, wenn man davon absieht dass man sich irgendwie unter das Auto begeben muss. Man liegt dann direkt unter der Ölwanne und in der Nähe des Auspuffrohres. Also Vorsicht wenn der Motor noch warm ist!<br />
Bei mir kahm übrigens kein Öl beim Ausbau raus, aber der Sensor war leicht eingeölt. Daher auch hier vorsicht da ich nicht sicher bin.</p>
<p>Die eine Schraube die den Sensor fest hält ist eine Aussentorx Schraube. Wer nicht über so einen Schraubenschlüssel verfügt kann dies auch mit einer Rohrzange, oder einem 8er Ring/Gabelschlüssel gemacht werden. Natürlich schön vorsichtig sein und die Schraube heil lassen. Nach fest kommt bekanntlich ab!</p>
<p>Eine Ansicht im Ausgebauten Zustand:<br />
<a href="/blog/static/images/auto/corsa_kurbelwellensensor/opel_corsa_kurbelwellensensor_4.jpg"><br />
<img width="500px" src="/blog/static/images/auto/corsa_kurbelwellensensor/opel_corsa_kurbelwellensensor_4.jpg" alt="Opel Corsa Kurbelwellensensor Ausgebaut" /></a><br />
<br style="clear: both;"></p>
<p>Beim Einbau darauf achten dass der O-Dichtungsring nicht beschädigt wird und dass der Ring+Sensor ein bisschen eingeölt wird damit er sich nicht verkantet.</p>
<h2>Fehlercode entfernen</h2>
<p>Wen die Reparatur erfolgreich war aber das Warnlicht immer noch leuchtet, kann versuchen dieses zu beseitigen in dem die Batterie für einen relativ langen Zeitrum abklemmt wird ( >= 1 Stunde).</p>
<h2>Keine Hebebühne, kein Problem!</h2>
<p>Wer nur einen Wagenheber zur Verfügung hat kann auch damit das Auto anheben. Ich habe noch ein paar Waschbetonplatten sowie meinen Reserverreifen benutzt damit ich unters Auto komme.<br />
<a href="/blog/static/images/auto/corsa_kurbelwellensensor/opel_corsa_kurbelwellensensor_8.jpg"><br />
<img width="500px" src="/blog/static/images/auto/corsa_kurbelwellensensor/opel_corsa_kurbelwellensensor_8.jpg" alt="Opel Corsa Kurbelwellensensor" /></a><br />
<br style="clear: both;"><br />
Auch sehr nützlich hat sich der Kantstein vor dem Haus erwiesen wenn man sich nur mal schnell drunter legen will. Die Holzplatte unter dem Auto war auch etwas bequemer als der nackte Steinboden. Eine alte Decke könnte hier auch helfen.</p>
<h2>Hinweis</h2>
<p>Ich habe diesen Artikel geschrieben nachdem ich selber mehrere Stunden im Internet recherchiert habe. In diesem Artikel wollte ich Leidensgenossen möglichst viel Sucharbeit ersparen. Zwar ist die Anleitung für einen Opel Corsa C geschrieben, sollte sich aber auch auf andere Opelmodelle übertragen lassen.</p>
<p>Ganz besonders würde ich mich über ein Kommentar freuen wenn Ihnen dieser Artikel geholfen hat, oder wenn sie etwas hinzuzufügen haben. Danke im Voraus.</p>
<h2>Liste mit Fehlercodes für Opel Motoren</h2>
<p>0013 Schaltkreis der Lambdasonde offen<br />
0014 Kühlmitteltemperatursensor = Niedrige Spannung<br />
0015 Kühlmitteltemperatursensor = Hohe Spannung<br />
0016 Klopfsensorfehler Kreis 1<br />
0017 Klopfsensorfehler Kreis 2<br />
0018 Klopfsensormodul oder Rechner fehlerhaft<br />
0019 Signal der Motordrehzahl Falsch<br />
0021 Drosselklappenpotentiometer =Spannung Hoch<br />
0022 Drosselklappenpotentiometer =Spannung niedrig<br />
0023 Klopfsensormodul oder Rechner fehlerhaft<br />
0024 Kein Fahrzeuggeschwindigkeitssignal<br />
0025 Einspritzdüse 1 = Spannung Hoch<br />
0026 Einspritzdüse 2 = Spannung Hoch<br />
0027 Einspritzdüse 3 = Spannung Hoch<br />
0028 Einspritzdüse 4 = Spannung Hoch<br />
0029 Einspritzdüse 5 = Spannung Hoch<br />
0031 Kein Signal der Motordrehzahl<br />
0032 Einspritzdüse 6 = Spannung Hoch<br />
0033 Abgasrückführungsventil = Spannung niedrig<br />
0034 Abgasrückführungsventil = Spannung Hoch<br />
0035 Kontrollleuchte = Spannung niedrig<br />
0036 ROZ-Schaltkreis<br />
0037 Massefehler der Warnlampe<br />
0038 Lambdasonde = Spannung niedrig<br />
0039 Lambdasonde = Spannung Hoch<br />
0041 Geschwindigkeitssensor = Spannung niedrig<br />
0042 Geschwindigkeitssensor = Spannung Hoch<br />
0044 Lambdasonde = Gemisch mager<br />
0045 Lambdasonde = Gemisch Fett<br />
0046 Relais der Sekundärluftpumpe = Spannung niedrig<br />
0047 Relais der Sekundärluftpumpe = Spannung Hoch<br />
0048 Batteriespannung niedrig<br />
0049 Batteriespannung Hoch<br />
0051 Rechner fehlerhaft = Speicher<br />
0052 Fehler in der Warnlampenversorgung<br />
0053 Relais der Kraftstoffpumpe = Massefehler<br />
0054 Relais der Kraftstoffpumpe = Versorgungsfehler<br />
0055 Rechner fehlerhaft<br />
0056 Massefehler des Leerlaufventils<br />
0057 Schaltkreis des Leerlaufventils offen<br />
0059 Kodieren der Wegfahrsperre<br />
0061 Massefehler des Tankventils<br />
0062 Tankventil = Versorgungsfehler<br />
0063 Lufteinlassventil = Versorgungsfehler<br />
0063 EST-Zündspule Zylinder 2+3 Spannung niedrig<br />
0064 EST-Anschluss Spannung niedrig<br />
0065 CO- Potentiometer (Motronic) Niedrige Spannung<br />
0065 Zu hohe Temperatur im Rechnergehäuse (Simtec)<br />
0066 CO- Potentiometer = Hohe Spannung<br />
0067 Schalter der Leerlauf Drosselklappe<br />
0068 Leerlauf-Positionsschalter = Spannung Hoch<br />
0068 CO- Potentiometer = Hohe Spannung<br />
0069 Lufttemperatursensor = Niedrige Spannung<br />
0071 Lufttemperatursensor = Hohe Spannung<br />
0072 Drosselklappe = Vollastschalter<br />
0073 Luftmengenmesser = Niedrige Spannung<br />
0074 Luftmengenmesser = Hohe Spannung<br />
0075 Kraftübertragungsschalter = Niedrige Spannung<br />
0076 Kontinuierliche Drehmomentkontrolle<br />
0079 Antriebssteuereinheit<br />
0081 Einspritzventil = Spannung Hoch<br />
0081 Einspritzdüse 1 = Niedrige Spannung<br />
0082 Einspritzdüse 2 = Niedrige Spannung<br />
0083 Einspritzdüse 3 = Niedrige Spannung<br />
0084 Einspritzdüse 4 = Niedrige Spannung<br />
0085 Einspritzdüse 5 = Niedrige Spannung<br />
0086 Einspritzdüse 6 = Niedrige Spannung<br />
0087 Massefehler Relais der Klimaanlage<br />
0088 Relais der Klimaanlage = Versorgungsfehler<br />
0091 Kraftstoffsperre = Spannung niedrig<br />
0091 Heizung der Lambda-Sonde = Hohe Spannung<br />
0092 Kraftstoffsperre = Spannung Hoch<br />
0092 Hallsensor = Falsches Signal<br />
0093 Vierfachantriebsmodul<br />
0093 Hallsensor = Niedrige Spannung ( Motronic )<br />
0093 Kein Signal der Wegfahrsperre ( Simtec )<br />
0094 Hallsensor = Hohe Spannung ( Motronic )<br />
0094 Wegfahrsperre = Falsches Signal ( Simtec )<br />
0095 Motorlastsignal = Spannung niedrig<br />
0098 PTC-Signal = Spannung niedrig<br />
0098 Heizung der Lambdasonde = Niedrige Spannung ( Simtec )<br />
0099 PTC-Signal = Spannung Hoch<br />
0100 Luftmengenmesser<br />
0110 Lufttemperatursensor<br />
0115 Kühlmitteltemperatur<br />
0120 Drosselklappenpotentiometer<br />
0130 Spannung des Stromkreises der Lambda-Sonde<br />
0135 Spannung für das Aufheizen der Lambda-Sonde<br />
0150 Spannung des Stromkreises der Lambda-Sonde<br />
0170 Lambda-Sonde = Gemisch zu Fett<br />
0173 Lambda-Sonde<br />
0201 Spannung der Einspritzdüse 1<br />
0202 Spannung der Einspritzdüse 2<br />
0203 Spannung der Einspritzdüse 3<br />
0204 Spannung der Einspritzdüse 4<br />
0205 Spannung der Einspritzdüse 5<br />
0206 Spannung der Einspritzdüse 6<br />
0230 Relais der Benzinpumpe<br />
0325 Spannung des Klopfsignals Stromkreis 1<br />
0330 Spannung des Klopfsignals Stromkreis 2<br />
0335 Falsches Signal für die Motordrehzahl<br />
0340 Spannung des Hall-Sensors<br />
0351 Zündspannung Zylinder 1+4<br />
0352 Zündspannung Zylinder 2+3<br />
0403 Abgasrückführungsventil<br />
0410 Relais der Sekundärluftpumpe<br />
0411 Sekundärluftdurchfluss<br />
0443 Spannung des Tankventils<br />
0500 Kein Signal des Geschwindigkeitssensors<br />
0505 Spannung der Leerlaufregelung<br />
0550 Spannung der Servolenkung<br />
0560 Spannung der Batterie<br />
0602 Rechnerprogramm<br />
1105 Signal des Drucksensors<br />
1110 Ventil 1 des Ansaugkrümmers<br />
1111 Ventil 2 des Ansaugkrümmers<br />
1112 Blinker = Niedrige Spannung<br />
1113 Ventil 2 des Ansaugkrümmers<br />
1229 Primärstromkreis Versorgungsrelais<br />
1230 Versorgung des Kraftrelais<br />
1326 Höchstgrenze der Klopfregelung am Zylinder 1<br />
1327 Höchstgrenze der Klopfregelung am Zylinder 2<br />
1328 Höchstgrenze der Klopfregelung am Zylinder 3<br />
1329 Höchstgrenze der Klopfregelung am Zylinder 4<br />
1330 Höchstgrenze der Klopfregelung am Zylinder 5<br />
1331 Höchstgrenze der Klopfregelung am Zylinder 6<br />
1340 Mechanische Verstellung des Nockenwellensensors<br />
1405 Spannung des Abgasrückführungsventil<br />
1410 Spannung des Relais der Klimaanlage<br />
1501 Falscher Code der Wegfahrsperre<br />
1502 Signal der Wegfahrsperre<br />
1502 Falsches Signal der Wegfahrsperre<br />
1530 Relais der Klimaanlage<br />
1600 Rechnerprogramm<br />
1601 Hohe Temperatur des Rechners<br />
1602 Klopfsignal Modul<br />
1690 Spannung der Warnlampe<br />
1740 Spannung der Kraftübertragungssteuerung</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/howto-opel-corsa-c-kurbelwellensensor-austauschen-anleitung-hilfe.html&amp;t=Howto%3A+Opel+Corsa+C+Kurbelwellensensor+austauschen&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/howto-opel-corsa-c-kurbelwellensensor-austauschen-anleitung-hilfe.html&amp;title=Howto%3A+Opel+Corsa+C+Kurbelwellensensor+austauschen&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/howto-opel-corsa-c-kurbelwellensensor-austauschen-anleitung-hilfe.html&amp;title=Howto%3A+Opel+Corsa+C+Kurbelwellensensor+austauschen&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Howto%3A+Opel+Corsa+C+Kurbelwellensensor+austauschen;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/howto-opel-corsa-c-kurbelwellensensor-austauschen-anleitung-hilfe.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/howto-opel-corsa-c-kurbelwellensensor-austauschen-anleitung-hilfe.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>PHP: Micro vs. Macro optimization, or &quot;Get the low hanging fruit first&quot;</title>
		<link>http://juliusbeckmann.de/blog/php-micro-vs-macro-optimization-or-get-the-low-hanging-fruit-first.html</link>
		<comments>http://juliusbeckmann.de/blog/php-micro-vs-macro-optimization-or-get-the-low-hanging-fruit-first.html#comments</comments>
		<pubDate>Tue, 16 Feb 2010 12:56:46 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[fruits]]></category>
		<category><![CDATA[macro]]></category>
		<category><![CDATA[micro]]></category>
		<category><![CDATA[optimieren]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=549</guid>
		<description><![CDATA[After using and developing PHP for a few years now, i heard pretty much stuff about optimization, special technice's and other myths and fairy tales. But this article is not about tips or tricks, it is about if this the real key to better performance.

Nearly all of us have heard about hints like "static method [...]]]></description>
			<content:encoded><![CDATA[<p>After using and developing PHP for a few years now, i heard pretty much stuff about optimization, special technice's and other myths and fairy tales. But this article is not about tips or tricks, it is about if this the real key to better performance.<br />
<span id="more-549"></span><br />
Nearly all of us have heard about hints like "static method calls are faster" or "++$i is faster than $i++". First is wrong, second is true by the way, but more important is the question, does it really perform better in overall?</p>
<p>I would like to categorize the optimization possibility's into micro-optimization and macro-optimization.</p>
<h2>Micro-optimization:</h2>
<p>I already mentioned the ++$i tip. This would be a perfect example for a micro-optimization. Imagine you have a website, just a normal one with a few thousand hits a day. Simple fetching articles from database and formatting/outputting these. Of course you could use ++$i instead of $i++, but what will be the achievement? Lets guess there are about 1000 PHP operations done on a normal page request. About 50 of them could be optimized with ++$i which is guessed 10% faster. </p>
<div class="codesnip-container" >950 + 50 * (1-0.10) = 950 + 45 = 995 calls left.</div>
<p>You saved 5 simple operations, what are about 0,5%. </p>
<p>This might look noticeable at first, but this is only the number of operations, not the real spend time where these 5 calls will not be measurable any more. Every request the PHP parser has to read and parse the PHP file. On every SQL SELECT there is the database overhead which also depends on database server load. Our previous result combined with that knowledge might be ~0.1% at the end. Conclusion: This kind of optimization simply does not make the page significantly  faster.</p>
<h2>Macro-optimization:</h2>
<p>First, this is not about using macros like in C. No simple code substitution. It is the opposite of the micro-optimization. Once again a example with the simple imaginary PHP website. The main menu using JavaScript is generated by a complex SQL query on every request. This whole procedure takes about 10ms (unrealistic i know, but it is _just_ for the example calculation). 9ms for the SQL query and 1 ms PHP. For all of you who do not know why SQL is slower: Because there are sockets / TCP, database-daemon and harddisk access involved.</p>
<p>THIS is the point where we could use a macro-optimization.<br />
Either, we could invest much work and create a different menu system without javascript and faster SQL queries, or we could do it a much easier. </p>
<p>If we have APC for caching (other anything else), we could use the following strategy: </p>
<div class="codesnip-container" >1. Check for a cached result of our SQL query.<br />
2. If yes, skip to 5.<br />
3. We have no cached entry and perform the SQL query now.<br />
4. The result of the query will be saved in our cache for 1 hours.<br />
5. Use the result to generate the menu.</div>
<p>After this optimization that _just_ affect the SQL fetching part, we have a APC cache request that might take ~1 ms. So we reduced our 9ms SQL to 1ms APC. Of course the overall benefit will not be that big, but will be notice- and measurable. But what really makes the point here is, that we need to query only 24 times a day and not on _every_ request.</p>
<h2>Low hanging fruit</h2>
<p><img alt="" src="/blog/files/images/lowapples.png" class="alignright" width="224" height="261" /><br />
After reading about micro and macro optimization, you might understand the meaning of this much better.<br />
There are several ways to optimize, some of them are easy and fast. These are the "low hanging fruit" - easy to pick. This fruits should be always the first thought when it comes to optimizing. Some of them can be found easily with profiling.<br />
I want to give you a few hints for optimizing your PHP (Python, Ruby, ...) application.:</p>
<p>1. Keep an eye on the IO load. The harddisk of the server is mostly the slowest part and should be used only if necessary.</p>
<p>2. Try to avoid complex SQL querys. The database servers are often under heavy load, even if they have some integrated caching, there is still the SQL overhead.</p>
<p>3. Try to store results. If you need to analyse the browser of your clients, do not do this every request, save the needed values in their $_SESSION and check only if the UserAgent has been changed with a simple crc32 hash.</p>
<p>4. Try to cache. If you have parts in your code that are called nearly every request, have the same result and do not change often. Cache them! Some options are: APC, XCache, Memcache, eAccelerator, tmpFS.</p>
<p>5. Try to avoid unnecessary function calls. Try to store the result of that function and use it multiple times.</p>
<h2>High hanging fruit</h2>
<p><img alt="" src="/blog/files/images/tallapples.png" class="alignright" width="224" height="261" /><br />
I do not say you should not use ++$i or static methods. I want to clarify that there are more important parts worth optimizing.<br />
If you write new code, it should always be your aim writing the fastest code possible. Some of these tips floating on the internet might be helpful, but please check if they are true first!<br />
Some tips i tested myself:<br />
1. ++$i is faster than $i++<br />
2. Static methods are not always faster. (<a href="http://www.ingo-schramm.de/blog/archives/4-PHP-Myth-static-function-call-faster-than-instance-function-call.html">source</a>)<br />
3. Relative paths are slower to include than absolute.<br />
4. foreach is fastest for iterating over arrays. (<a href="/blog/php-foreach-vs-while-vs-for-the-loop-battle.html">benchmark</a>)<br />
5. floor and ceil can be replaced bei (int) casts. (<a href="/blog/php-floor-and-ceil-are-slow.html">benchmark</a>)<br />
6. Try to avoid preg_* function if possible. (<a href="/blog/php-do-not-rebuild-preg_-functions.html">benchmark</a>)</p>
<h2>Conclusion</h2>
<p>If you are hungry, profile the tree first, then pick some of the large low hanging fruits.<br />
While coding pick some of the tiny high hanging.<br />
I hope you had fun reading about my point of view.</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/php-micro-vs-macro-optimization-or-get-the-low-hanging-fruit-first.html&amp;t=PHP%3A+Micro+vs.+Macro+optimization%2C+or+%22Get+the+low+hanging+fruit+first%22&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/php-micro-vs-macro-optimization-or-get-the-low-hanging-fruit-first.html&amp;title=PHP%3A+Micro+vs.+Macro+optimization%2C+or+%22Get+the+low+hanging+fruit+first%22&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/php-micro-vs-macro-optimization-or-get-the-low-hanging-fruit-first.html&amp;title=PHP%3A+Micro+vs.+Macro+optimization%2C+or+%22Get+the+low+hanging+fruit+first%22&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=PHP%3A+Micro+vs.+Macro+optimization%2C+or+%22Get+the+low+hanging+fruit+first%22;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/php-micro-vs-macro-optimization-or-get-the-low-hanging-fruit-first.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/php-micro-vs-macro-optimization-or-get-the-low-hanging-fruit-first.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thunderbird: Newsgroup has unread messages error</title>
		<link>http://juliusbeckmann.de/blog/thunderbird-newsgroup-has-unread-messages-error.html</link>
		<comments>http://juliusbeckmann.de/blog/thunderbird-newsgroup-has-unread-messages-error.html#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:04:20 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Thunderbird]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=545</guid>
		<description><![CDATA[I am using Mozilla Thunderbird for a while now and one error occurs every now and then. After updating and reading news from our University news-server, some of them are still marked as "unread", but when i click on the folder, the unread marked messages disappear.
I researched the error and found a simple fix ...

Locate [...]]]></description>
			<content:encoded><![CDATA[<p>I am using Mozilla Thunderbird for a while now and one error occurs every now and then. After updating and reading news from our University news-server, some of them are still marked as "unread", but when i click on the folder, the unread marked messages disappear.<br />
I researched the error and found a simple fix ...<br />
<span id="more-545"></span></p>
<h3>Locate profile folder</h3>
<p>First, we need to shut down Thunderbird and locate the Profile folder. On Ubuntu this is in you home directory in "~/.mozilla-thunderbird/". In your profile folder is another folder called "News". Therein are all the subscribed News-servers and topics. Now you need to open the .rc file. In my case is is: "news.fh-wedel.de.rc"</p>
<h3>Open .rc file</h3>
<p>The content should look similar to this:</p>
<div class="codesnip-container" >fhw.c: 1-8723<br />
fhw.db: 1-1708<br />
fhw.talk: 1-23184,23186-23218,23220-23223,23225-23234,23236-23266,23268-23611<br />
fhw.mathematik: 1-3697,3699-3707,3709-3730,3732-3760,3762-3769,3771-3809,3811-3838,3840-3875,3877-4019</div>
<p>The principle behind this file is simple. All the read messages are marked. For example ALL messages in "fhw.db" are read. But in fhw.talk the messages 23185, 23219, ... are unread.<br />
And exactly here is the problem. Some of these messages are marked as unread, but you already read them, so some of these number are wrong.</p>
<h3>Repair .rc file</h3>
<p>Simple solution is, clear them all!<br />
The content of the file with all messages marked as read should look like this:</p>
<div class="codesnip-container" >fhw.c: 1-8723<br />
fhw.db: 1-1708<br />
fhw.talk: 1-23611<br />
fhw.mathematik: 1-4019</div>
<p>Now save the file and reopen thunderbird and your messages should now be marked as read.</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/thunderbird-newsgroup-has-unread-messages-error.html&amp;t=Thunderbird%3A+Newsgroup+has+unread+messages+error&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/thunderbird-newsgroup-has-unread-messages-error.html&amp;title=Thunderbird%3A+Newsgroup+has+unread+messages+error&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/thunderbird-newsgroup-has-unread-messages-error.html&amp;title=Thunderbird%3A+Newsgroup+has+unread+messages+error&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Thunderbird%3A+Newsgroup+has+unread+messages+error;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/thunderbird-newsgroup-has-unread-messages-error.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/thunderbird-newsgroup-has-unread-messages-error.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Open Windows in Foreground</title>
		<link>http://juliusbeckmann.de/blog/ubuntu-open-windows-in-foreground.html</link>
		<comments>http://juliusbeckmann.de/blog/ubuntu-open-windows-in-foreground.html#comments</comments>
		<pubDate>Sun, 07 Feb 2010 18:47:38 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Config]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Compiz]]></category>
		<category><![CDATA[Settings]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=542</guid>
		<description><![CDATA[If your windows do not open in Foreground like we are all used to it, it might be caused by a wrong compiz-setting.
In this article i will describe how to fix that problem.

The setting can be found in the Compiz Setting Manager. This manager can be found under "System" -> "Settings"
Under "General options/Focus &#038; Raise [...]]]></description>
			<content:encoded><![CDATA[<p>If your windows do not open in Foreground like we are all used to it, it might be caused by a wrong compiz-setting.<br />
In this article i will describe how to fix that problem.<br />
<span id="more-542"></span></p>
<p>The setting can be found in the Compiz Setting Manager. This manager can be found under "<em>System</em>" -> "<em>Settings</em>"<br />
Under "<em>General options/Focus &#038; Raise Behaviour/Focus Prevention Level</em>" is the checkbox.</p>
<p>On my system even without any visual effects, this setting was used.</p>
<p>If you <strong>cant find</strong> the Compiz Settings Manager, you need to install this package first. Simple command:</p>
<div class="codesnip-container" >sudo apt-get install compizconfig-settings-manager</div>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/ubuntu-open-windows-in-foreground.html&amp;t=Ubuntu%3A+Open+Windows+in+Foreground&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/ubuntu-open-windows-in-foreground.html&amp;title=Ubuntu%3A+Open+Windows+in+Foreground&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/ubuntu-open-windows-in-foreground.html&amp;title=Ubuntu%3A+Open+Windows+in+Foreground&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Ubuntu%3A+Open+Windows+in+Foreground;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/ubuntu-open-windows-in-foreground.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/ubuntu-open-windows-in-foreground.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Adding Thunderbird to indicator-applet</title>
		<link>http://juliusbeckmann.de/blog/ubuntu-adding-thunderbird-to-indicator-applet.html</link>
		<comments>http://juliusbeckmann.de/blog/ubuntu-adding-thunderbird-to-indicator-applet.html#comments</comments>
		<pubDate>Fri, 05 Feb 2010 06:15:57 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Config]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Evolution]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[indicator-applet]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=537</guid>
		<description><![CDATA[Adding Thunderbird to the "indicator-applet" is possible and not that hard.
I wrote down the few commands and hints.

Applications shown by the "indicator-applet" are listed in this directory:
/usr/share/indicators/messages/applications/
By default the files "empathy" and "evolution" should be inside this directory.
Adding Thunderbird
Adding Thunderbird is just creating a new file with the path to the .desktop file.
Opening the "thunderbird" [...]]]></description>
			<content:encoded><![CDATA[<p>Adding Thunderbird to the "indicator-applet" is possible and not that hard.<br />
I wrote down the few commands and hints.<br />
<span id="more-537"></span><br />
Applications shown by the "indicator-applet" are listed in this directory:</p>
<div class="codesnip-container" >/usr/share/indicators/messages/applications/</div>
<p>By default the files "empathy" and "evolution" should be inside this directory.</p>
<h3>Adding Thunderbird</h3>
<p>Adding Thunderbird is just creating a new file with the path to the .desktop file.</p>
<p>Opening the "thunderbird" file:</p>
<div class="codesnip-container" >sudo gedit /usr/share/indicators/messages/applications/thunderbird</div>
<p>Now add this line and save:</p>
<div class="codesnip-container" >/usr/share/applications/thunderbird.desktop</div>
<p>Hint: Check if that file exist on your system!</p>
<p>Now you should be abled to see Thunderbird if you klick on the "indicator-applet".</p>
<h3>Removing Evolution</h3>
<p>Removing Evolution from the "indicator-applet", just execute this command:</p>
<div class="codesnip-container" >sudo rm /usr/share/indicators/messages/applications/evolution</div>
<h3>Credit</h3>
<p>Credit for this goes to "Lorenzo Francisco":<br />
https://bugs.launchpad.net/ubuntu/+source/thunderbird/+bug/367175/comments/6</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/ubuntu-adding-thunderbird-to-indicator-applet.html&amp;t=Ubuntu%3A+Adding+Thunderbird+to+indicator-applet&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/ubuntu-adding-thunderbird-to-indicator-applet.html&amp;title=Ubuntu%3A+Adding+Thunderbird+to+indicator-applet&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/ubuntu-adding-thunderbird-to-indicator-applet.html&amp;title=Ubuntu%3A+Adding+Thunderbird+to+indicator-applet&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Ubuntu%3A+Adding+Thunderbird+to+indicator-applet;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/ubuntu-adding-thunderbird-to-indicator-applet.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/ubuntu-adding-thunderbird-to-indicator-applet.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Easy and secure password hashing class</title>
		<link>http://juliusbeckmann.de/blog/php-easy-and-secure-password-hashing-class.html</link>
		<comments>http://juliusbeckmann.de/blog/php-easy-and-secure-password-hashing-class.html#comments</comments>
		<pubDate>Fri, 29 Jan 2010 13:26:06 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Classes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Hash]]></category>
		<category><![CDATA[MD5]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[SHA1]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=526</guid>
		<description><![CDATA[Everybody talks about security but most of the people still save md5(password) in their databases. This is not funny. Reversing a simple and even a average password is not that hard.
I once wrote this tiny class that generates secure enough password hashes.

I build in salt and variable interations.
License is GPL so everybody can use it [...]]]></description>
			<content:encoded><![CDATA[<p>Everybody talks about security but most of the people still save md5(password) in their databases. This is not funny. Reversing a simple and even a average password is not that hard.<br />
I once wrote this tiny class that generates secure enough password hashes.<br />
<span id="more-526"></span><br />
I build in salt and variable interations.<br />
License is GPL so everybody can use it :D</p>
<h2>Download / Source</h2>
<p><a href="http://juliusbeckmann.de/code/class.password.phps">http://juliusbeckmann.de/code/class.password.phps</a><br />
<a href="http://juliusbeckmann.de/code/class.password.php.txt">http://juliusbeckmann.de/code/class.password.php.txt</a></p>
<h2>Usage / Example</h2>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;"><span class="re0">$pass</span> <span class="sy0">=</span> <span class="st_h">'MyPassword'</span><span class="sy0">;</span><br />
<span class="kw1">echo</span> <span class="re0">$pass</span><span class="sy0">,</span> <span class="st_h">' =&gt; '</span><span class="sy0">,</span> password<span class="sy0">::</span><a href="http://www.php.net/hash"><span class="kw3">hash</span></a><span class="br0">&#40;</span><span class="re0">$pass</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<h2>Background</h2>
<p><strong>What is a "salt" good for?</strong><br />
A salt adds a pretty random string so passwords to make the hash more secure.<br />
The saltless password <strong>grandma becomes a5d19cdd5fd1a8f664c0ee2b5e293167</strong>.<br />
If you use the salt="!24sf+fs5SDG65-54" then <strong>grandma!24sf+fs5SDG65-54 becomes bab9015f430ad28f420581f069f5736f</strong><br />
And nobody would know that bab9015f430ad28f420581f069f5736f was "grandma"</p>
<p>Check it yourself:<br />
<a href="http://www.google.com/search?q=a5d19cdd5fd1a8f664c0ee2b5e293167">Google a5d19cdd5fd1a8f664c0ee2b5e293167 = "grandma"</a><br />
<a href="http://www.google.com/search?q=bab9015f430ad28f420581f069f5736f">Google bab9015f430ad28f420581f069f5736f = "grandma!24sf+fs5SDG65-54"</a><br />
You can clearly see yourself the salted password hash is not known by Google.</p>
<p><strong>What are iterations good for?</strong><br />
Iterations mean you make a hash from a hash.<br />
Again the "grandma" example:<br />
md5(grandma) = a5d19cdd5fd1a8f664c0ee2b5e293167<br />
md5(a5d19cdd5fd1a8f664c0ee2b5e293167) = ce807f095fa160ccce736e007fe74ff1<br />
md5(ce807f095fa160ccce736e007fe74ff1) = e720fe3e6cc002a0eaabf5300283bd56<br />
md5(e720fe3e6cc002a0eaabf5300283bd56) = ...<br />
But be carefull, plain rehashing is not more secure than single hashing.<br />
What makes rehashing more secure is using the salt again what makes the new hash dependent from the previous hash AND the salt.</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/php-easy-and-secure-password-hashing-class.html&amp;t=PHP%3A+Easy+and+secure+password+hashing+class&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/php-easy-and-secure-password-hashing-class.html&amp;title=PHP%3A+Easy+and+secure+password+hashing+class&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/php-easy-and-secure-password-hashing-class.html&amp;title=PHP%3A+Easy+and+secure+password+hashing+class&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=PHP%3A+Easy+and+secure+password+hashing+class;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/php-easy-and-secure-password-hashing-class.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/php-easy-and-secure-password-hashing-class.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP: FIFO queue with APC</title>
		<link>http://juliusbeckmann.de/blog/php-fifo-queue-with-apc.html</link>
		<comments>http://juliusbeckmann.de/blog/php-fifo-queue-with-apc.html#comments</comments>
		<pubDate>Fri, 29 Jan 2010 08:04:42 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[APC]]></category>
		<category><![CDATA[Classes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[FIFO]]></category>
		<category><![CDATA[Memcache]]></category>
		<category><![CDATA[Queue]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=520</guid>
		<description><![CDATA[A few days ago i needed a simple queue class that would also be persistent after the pagerequest. I first thought about putting this queue in SQL but did not want the whole SQL overhead and such and remembered a blog artice about memcache queues a once read. But i had no memcache for that [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago i needed a simple queue class that would also be persistent after the pagerequest. I first thought about putting this queue in SQL but did not want the whole SQL overhead and such and remembered a <a href="http://3.rdrail.net/blog/memcached-based-message-queues/">blog artice about memcache queues</a> a once read. But i had no memcache for that project and used <a href="http://pecl.php.net/package/APC">APC</a> instead.<br />
<span id="more-520"></span></p>
<h2>Basic idea</h2>
<p>The basic idea looks like this:<br />
<a href="http://juliusbeckmann.de/blog/static/memqueue.jpg"><img src="http://juliusbeckmann.de/blog/static/memqueue-600x397.jpg" alt="memqueue" title="memqueue" width="600" height="397" class="aligncenter size-medium wp-image-521" /></a><br />
There are 2 counters, one for the current head key, and the other for the current tail key.<br />
The main part of the code is from the mentioned blog artice, but i ported it to PHP and APC instead of Memcache.</p>
<h2>Documentation</h2>
<p>A generated documentation can be found here:<br />
<a href="http://juliusbeckmann.de/classes/li_apc_queue.html">http://juliusbeckmann.de/classes/li_apc_queue.html</a></p>
<h2>Source</h2>
<p>The source can be found here:<br />
<a href="http://juliusbeckmann.de/classes/src/apc_queue/class.apc_queue.phps">http://juliusbeckmann.de/classes/src/apc_queue/class.apc_queue.phps</a><br />
<a href="http://juliusbeckmann.de/classes/src/apc_queue/class.apc_queue.php.txt">http://juliusbeckmann.de/classes/src/apc_queue/class.apc_queue.php.txt</a></p>
<h2>Usage</h3>
<p>Here is a example how to use the queue:</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;"><span class="re0">$q</span> <span class="sy0">=</span> <span class="kw2">new</span> apc_queue<span class="br0">&#40;</span><span class="st_h">'test'</span><span class="sy0">,</span> <a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">'force'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p><span class="kw1">echo</span> <span class="st0">&quot;STORE: &quot;</span><span class="sy0">;</span><br />
<span class="kw1">for</span><span class="br0">&#40;</span><span class="re0">$i</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span> <span class="re0">$i</span><span class="sy0">&lt;</span><span class="nu0">10</span><span class="sy0">;</span> <span class="sy0">++</span><span class="re0">$i</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="re0">$rand</span> <span class="sy0">=</span> <a href="http://www.php.net/rand"><span class="kw3">rand</span></a><span class="br0">&#40;</span>0<span class="sy0">,</span>9<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">echo</span> <span class="re0">$rand</span><span class="sy0">,</span><span class="st_h">','</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$q</span><span class="sy0">-&gt;</span><span class="me1">add</span><span class="br0">&#40;</span><span class="re0">$rand</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">echo</span> <span class="st0">&quot;<span class="es1">\n</span>FETCH: &quot;</span><span class="sy0">;</span><br />
<span class="kw1">while</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="re0">$g</span> <span class="sy0">=</span> <span class="re0">$q</span><span class="sy0">-&gt;</span><span class="me1">get</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">!==</span> <span class="kw4">FALSE</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">echo</span> <span class="re0">$g</span><span class="sy0">,</span><span class="st_h">','</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">echo</span> <span class="st0">&quot;<span class="es1">\n</span>LENGTH: &quot;</span><span class="sy0">,</span> <span class="re0">$q</span><span class="sy0">-&gt;</span><span class="me1">length</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://juliusbeckmann.de/blog/php-fifo-queue-with-apc.html&amp;t=PHP%3A+FIFO+queue+with+APC&amp;s=compact' height='18' width='120' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://juliusbeckmann.de/blog/php-fifo-queue-with-apc.html&amp;title=PHP%3A+FIFO+queue+with+APC&amp;t=1 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://juliusbeckmann.de/blog/php-fifo-queue-with-apc.html&amp;title=PHP%3A+FIFO+queue+with+APC&amp;t=2 ' height='18' width='120' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=PHP%3A+FIFO+queue+with+APC;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=small-votes></script></td> <td><script type="text/javascript">tweetmeme_url='http://juliusbeckmann.de/blog/php-fifo-queue-with-apc.html'; tweetmeme_style = 'compact';tweetmeme_source = 'h4cc'; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/php-fifo-queue-with-apc.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
