<?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>sabel&#039;s blog</title>
	<atom:link href="http://sabel.bluegfx.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://sabel.bluegfx.de</link>
	<description>Alles rund um Linux, PHP, MySQL, XHTML, CSS, Javascript, Ajax usw</description>
	<lastBuildDate>Thu, 26 Jan 2012 14:14:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code completion für jQuery in NetBeans 7.1</title>
		<link>http://sabel.bluegfx.de/2012/01/26/code-completion-fur-jquery-in-netbeans-7-1/</link>
		<comments>http://sabel.bluegfx.de/2012/01/26/code-completion-fur-jquery-in-netbeans-7-1/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 14:14:41 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[auto completion]]></category>
		<category><![CDATA[code completion]]></category>
		<category><![CDATA[complete]]></category>
		<category><![CDATA[does not work]]></category>
		<category><![CDATA[doesn't work]]></category>
		<category><![CDATA[filename]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=375</guid>
		<description><![CDATA[Tach, NetBeans rühmt sich ja schon lange damit, dass sie code completion für JavaScript Dateien und Libraries haben. Unter anderem auch für jQuery. In der Doku findet man dazu sogar einen recht ausführlichen Artikel. Leider hat das bei mir nie funktioniert und ich konnte auch nach ausführlichem googlen nichts finden, was mir half. Heute bin [...]]]></description>
			<content:encoded><![CDATA[<p>Tach,</p>
<p>NetBeans rühmt sich ja schon lange damit, dass sie code completion für JavaScript Dateien und Libraries haben. Unter anderem auch für jQuery. In der Doku findet man dazu sogar einen recht ausführlichen <a href="http://netbeans.org/kb/docs/web/js-toolkits-jquery.html">Artikel</a>.</p>
<p>Leider hat das bei mir nie funktioniert und ich konnte auch nach ausführlichem googlen nichts finden, was mir half.</p>
<p>Heute bin ich aber endlich auf die Lösung gestoßen:</p>
<p><strong>Man darf die Datei nicht umbenennen!</strong></p>
<p>Ich hatte meine Datei immer in <strong>jquery.js</strong> umbenannt. Damit klappts aber nicht.<br />
Die Datei muss, z.B. für die aktuellste Version 1.7.1, <strong>jquery-1.7.1.js</strong> heißen!</p>
<p><a href="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2012/01/netbeans.jquery.png"><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2012/01/netbeans.jquery-480x198.png" alt="" title="jQuery code completion in NetBeans" width="480" height="198" class="aligncenter size-medium wp-image-378" /></a></p>
<p>Im Moment bin ich mir noch nicht sicher, warum das so ist und ob das Absicht ist oder ob es sich um einen Bug handelt. Allerdings könnte ich mir vorstellen, dass es mit der Doku zusammenhängt, die neben der code completion angezeigt wird. Diese Doku muss aus dem Netz gezogen werden, da sie nicht in der JavaScript Datei enthalten ist.</p>
<p>Klappt übrigens auch perfekt mit der komprimierten Version <strong>jquery-1.7.1.min.js</strong>.</p>
<p>Begeistert bin ich davon allerdings nicht. Ich würde meine Dateien eigentlich gerne so benennen, wie ich es will.</p>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2012/01/26/code-completion-fur-jquery-in-netbeans-7-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neue Methode für Textarea Autoresize</title>
		<link>http://sabel.bluegfx.de/2011/11/01/neue-methode-fur-textarea-autoresize/</link>
		<comments>http://sabel.bluegfx.de/2011/11/01/neue-methode-fur-textarea-autoresize/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 12:57:19 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[autoexpand]]></category>
		<category><![CDATA[autoresize]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[expand]]></category>
		<category><![CDATA[height]]></category>
		<category><![CDATA[textarea]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=362</guid>
		<description><![CDATA[Neue interessante Methode, um eine Textarea zu erzeugen, die ihre Höhe automatisch dem Inhalt anpasst: http://www.alistapart.com/articles/expanding-text-areas-made-elegant/]]></description>
			<content:encoded><![CDATA[<p>Neue interessante Methode, um eine Textarea zu erzeugen, die ihre Höhe automatisch dem Inhalt anpasst:</p>
<p><a href="http://www.alistapart.com/articles/expanding-text-areas-made-elegant/">http://www.alistapart.com/articles/expanding-text-areas-made-elegant/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2011/11/01/neue-methode-fur-textarea-autoresize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thunderbird 3 Windows Theme für Thunderbird 5+</title>
		<link>http://sabel.bluegfx.de/2011/08/23/thunderbird-3-windows-theme-fur-thunderbird-5/</link>
		<comments>http://sabel.bluegfx.de/2011/08/23/thunderbird-3-windows-theme-fur-thunderbird-5/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 15:57:58 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[3]]></category>
		<category><![CDATA[5]]></category>
		<category><![CDATA[6]]></category>
		<category><![CDATA[altes theme]]></category>
		<category><![CDATA[old theme]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=358</guid>
		<description><![CDATA[Hasst ihr das Standard Theme für Windows von Thunderbird 5 und neuer auch so wie ich? Hier gibts die Lösung: xpDefault]]></description>
			<content:encoded><![CDATA[<p>Hasst ihr das Standard Theme für Windows von Thunderbird 5 und neuer auch so wie ich?<br />
Hier gibts die Lösung: <a href="https://addons.mozilla.org/de/thunderbird/addon/xpdefault/">xpDefault</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2011/08/23/thunderbird-3-windows-theme-fur-thunderbird-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xdebug mit XAMPP unter Windows &#8211; Standard-Einstellung vom Profiler funktioniert nicht</title>
		<link>http://sabel.bluegfx.de/2011/07/27/xdebug-mit-xampp-unter-windows-standard-einstellung-vom-profiler-funktioniert-nicht/</link>
		<comments>http://sabel.bluegfx.de/2011/07/27/xdebug-mit-xampp-unter-windows-standard-einstellung-vom-profiler-funktioniert-nicht/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 16:39:42 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[filename]]></category>
		<category><![CDATA[xdebug]]></category>
		<category><![CDATA[xdebug.profiler_output_name]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=349</guid>
		<description><![CDATA[Kurze Lösung für ein Problem, das mich gerade doch einige Zeit aufgehalten hat. Die Standard-Einstellung für den Dateinamen, der für die Profiler-Dumps verwendet wird, ist unter XAMPP 1.7.4: Windows erlaubt aber keine Doppelpunkte im Dateinamen. Es gibt keine Fehlermeldung, gar nichts. Es tut sich einfach nichts. Geändert auf z.B. &#8230;und es funktioniert. Das Prefix &#8220;callgrind.&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Kurze Lösung für ein Problem, das mich gerade doch einige Zeit aufgehalten hat.</p>
<p>Die Standard-Einstellung für den Dateinamen, der für die Profiler-Dumps verwendet wird, ist unter <a href="http://www.apachefriends.org/de/xampp-windows.html">XAMPP 1.7.4</a>:</p>
<pre class="brush: plain; title: ; notranslate">
xdebug.profiler_output_name = &quot;xdebug_profile.%R::%u&quot;
</pre>
<p>Windows erlaubt aber keine Doppelpunkte im Dateinamen. Es gibt keine Fehlermeldung, gar nichts. Es tut sich einfach nichts.</p>
<p>Geändert auf z.B.</p>
<pre class="brush: plain; title: ; notranslate">
xdebug.profiler_output_name = &quot;callgrind.%t-%s&quot;
</pre>
<p>&#8230;und es funktioniert. Das Prefix &#8220;callgrind.&#8221; benutze ich, damit ich die Datei dann in KCacheGrind öffnen kann.</p>
<p>Weitere Informationen gibt es in der <a href="http://xdebug.org/docs/all_settings#profiler_output_name">Xdebug-Doku</a>.</p>
<p>Da muss man erstmal draufkommen.</p>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2011/07/27/xdebug-mit-xampp-unter-windows-standard-einstellung-vom-profiler-funktioniert-nicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: Aktives Fenster auf anderen Monitor verschieben</title>
		<link>http://sabel.bluegfx.de/2011/05/30/linux-aktives-fenster-auf-anderen-monitor-verschieben/</link>
		<comments>http://sabel.bluegfx.de/2011/05/30/linux-aktives-fenster-auf-anderen-monitor-verschieben/#comments</comments>
		<pubDate>Mon, 30 May 2011 21:07:26 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[dual]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[move]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[window]]></category>
		<category><![CDATA[x]]></category>
		<category><![CDATA[xfce]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=343</guid>
		<description><![CDATA[Mit diesem kleinen Script lässt sich das aktuelle Fenster leicht per Shortcut von einem auf den anderen Monitor verschieben. Funktioniert auch mit maximierten Fenstern, die nach dem Verschieben weiterhin maximiert bleiben. Das Script ist für zwei Monitore mit gleicher Auflösung ausgelegt.]]></description>
			<content:encoded><![CDATA[<p>Mit diesem kleinen Script lässt sich das aktuelle Fenster leicht per Shortcut von einem auf den anderen Monitor verschieben. Funktioniert auch mit maximierten Fenstern, die nach dem Verschieben weiterhin maximiert bleiben.</p>
<p>Das Script ist für zwei Monitore mit gleicher Auflösung ausgelegt.</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash

# screen width
screen_width=1280

# active window
window=`xdotool getactivewindow`

# get active window size and position
x=`xwininfo -id $window | grep &quot;Absolute upper-left X&quot; | awk '{print $4}'`
w=`xwininfo -id $window | grep &quot;Width&quot; | awk '{print $2}'`

maximized=false
if [[ &quot;$w&quot; -eq &quot;$screen_width&quot; ]]; then
	maximized=true
fi

# window on left monitor
if [ &quot;$x&quot; -lt &quot;$screen_width&quot; ]; then

	if $maximized; then
		wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
	fi

	wmctrl -r :ACTIVE: -e 0,$screen_width,-1,-1,-1

	if $maximized; then
		wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
	fi

# window on right monitor
else

	if $maximized; then
		wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
	fi

	wmctrl -r :ACTIVE: -e 0,0,-1,-1,-1

	if $maximized; then
		wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
	fi

fi
</pre>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2011/05/30/linux-aktives-fenster-auf-anderen-monitor-verschieben/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows(7): Kontextmenü Einträge für Dateitypen ändern</title>
		<link>http://sabel.bluegfx.de/2011/03/28/windows7-kontextmenu-eintrage-fur-dateitypen-andern/</link>
		<comments>http://sabel.bluegfx.de/2011/03/28/windows7-kontextmenu-eintrage-fur-dateitypen-andern/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 20:59:21 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[context menu]]></category>
		<category><![CDATA[dateityp]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[description]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[filetype]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[items]]></category>
		<category><![CDATA[kontextmenü]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=268</guid>
		<description><![CDATA[Kleiner Tip: Mit dem Defaults Programs Editor lassen sich die Kontextmenüs, Icons und Beschreibungen aller im System registrierten Dateitypen verwalten. Schnell und unkompliziert, super Sache!]]></description>
			<content:encoded><![CDATA[<p>Kleiner Tip:</p>
<p>Mit dem <a href="http://defaultprogramseditor.com">Defaults Programs Editor</a> lassen sich die Kontextmenüs, Icons und Beschreibungen aller im System registrierten Dateitypen verwalten. Schnell und unkompliziert, super Sache!</p>
<p><a href="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2011/03/defaultsprogramseditor.png"><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2011/03/defaultsprogramseditor-480x357.png" alt="" title="defaultsprogramseditor" width="480" height="357" class="aligncenter size-medium wp-image-297" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2011/03/28/windows7-kontextmenu-eintrage-fur-dateitypen-andern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weitere Junk-Ordner in Thunderbird definieren</title>
		<link>http://sabel.bluegfx.de/2011/01/27/weitere-junk-ordner-in-thunderbird-definieren/</link>
		<comments>http://sabel.bluegfx.de/2011/01/27/weitere-junk-ordner-in-thunderbird-definieren/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 20:06:49 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[flag]]></category>
		<category><![CDATA[folder]]></category>
		<category><![CDATA[ignore]]></category>
		<category><![CDATA[junk]]></category>
		<category><![CDATA[no scan]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=255</guid>
		<description><![CDATA[Hi, ich bekomme neben meinen privaten E-Mails auch alle Mails, die an die Spam-Report-Adresse (abuse@) gesendet werden. Diese werden in einen Ordner einsortiert. Dumm ist nur, dass der Junk-Filter im Thunderbird diese Mails meist als Spam erkennt und in den Junk-Ordner des Kontos verschiebt. Auf meiner Suche nach einer Lösung bin ich auf ein kleines [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>ich bekomme neben meinen privaten E-Mails auch alle Mails, die an die Spam-Report-Adresse (abuse@) gesendet werden. Diese werden in einen Ordner einsortiert.</p>
<p>Dumm ist nur, dass der Junk-Filter im Thunderbird diese Mails meist als Spam erkennt und in den Junk-Ordner des Kontos verschiebt.</p>
<p>Auf meiner Suche nach einer Lösung bin ich auf ein kleines Thunderbird-Addon gestoßen: <a href="https://addons.mozilla.org/en-US/thunderbird/addon/folderflags/">FolderFlags</a></p>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2011/01/folderflags.png" alt="" title="folderflags" width="100%" class="aligncenter size-full wp-image-256" /></p>
<p>Dieses Addon ermöglicht es einem unter anderem das Junk-Flag für weitere Ordner zu setzen.<br />
Dadurch ignoriert der Junk-Filter diesen Ordner und neue ankommende Mails, die in diesem Ordner landen, werden nicht mehr überprüft.</p>
<p>Super Sache!</p>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2011/01/27/weitere-junk-ordner-in-thunderbird-definieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion: Autor und Commit Message nachträglich mit tortoisesvn ändern</title>
		<link>http://sabel.bluegfx.de/2011/01/13/subversion-autor-und-commit-message-nachtraglich-mit-tortoisesvn-andern/</link>
		<comments>http://sabel.bluegfx.de/2011/01/13/subversion-autor-und-commit-message-nachtraglich-mit-tortoisesvn-andern/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 02:25:14 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[Subversion]]></category>
		<category><![CDATA[author]]></category>
		<category><![CDATA[change author]]></category>
		<category><![CDATA[change commit message]]></category>
		<category><![CDATA[commit message]]></category>
		<category><![CDATA[hook]]></category>
		<category><![CDATA[pre-revprop-change]]></category>
		<category><![CDATA[tortoisesvn]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=247</guid>
		<description><![CDATA[Will man den Autor oder die Log message eines Commits im Nachhinein ändern, bietet tortoisesvn dafür zwei Kontextmenüpunkte an. Im Log-Fenster einfach die gewünschte Revision auswählen und rechtsklicken. Dann erscheint folgendes Menü: Dort kann man dann &#8220;Edit author&#8221; oder &#8220;Edit log message&#8221; auswählen. Beispiel für Autor: Damit diese beiden Funktionen funktionieren, muss auf dem Server [...]]]></description>
			<content:encoded><![CDATA[<p>Will man den Autor oder die Log message eines Commits im Nachhinein ändern, bietet <a href="http://tortoisesvn.net">tortoisesvn</a> dafür zwei Kontextmenüpunkte an.</p>
<p>Im Log-Fenster einfach die gewünschte Revision auswählen und rechtsklicken.<br />
Dann erscheint folgendes Menü:</p>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2011/01/menu.png" alt="" title="" width="320" height="408" class="aligncenter size-full wp-image-248" /></p>
<p>Dort kann man dann &#8220;Edit author&#8221; oder &#8220;Edit log message&#8221; auswählen.<br />
Beispiel für Autor:</p>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2011/01/window.png" alt="" title="" width="475" height="334" class="aligncenter size-full wp-image-249" /></p>
<p>Damit diese beiden Funktionen funktionieren, muss auf dem Server im jeweiligen Repository ein <a href="http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-repository-hooks.html">hook-script</a> installiert/aktiviert werden.</p>
<p>Im Verzeichnis <strong>hooks</strong> einfach eine Datei <strong>pre-revprop-change</strong> mit folgenem Inhalt anlegen:</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/sh
exit 0
</pre>
<p>Dann noch die Berechtigungen entsprechend setzen:</p>
<pre class="brush: bash; title: ; notranslate">
chmod ug+x pre-revprop-change
</pre>
<p>Und schon klappts.</p>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2011/01/13/subversion-autor-und-commit-message-nachtraglich-mit-tortoisesvn-andern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prototype 1.7 vs. jQuery 1.4.3+ Workaround</title>
		<link>http://sabel.bluegfx.de/2011/01/07/prototype-1-7-vs-jquery-1-4-3-workaround/</link>
		<comments>http://sabel.bluegfx.de/2011/01/07/prototype-1-7-vs-jquery-1-4-3-workaround/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 21:02:17 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[1.4.3]]></category>
		<category><![CDATA[1.4.4]]></category>
		<category><![CDATA[1.7]]></category>
		<category><![CDATA[getElementsByClassName]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[noconflict]]></category>
		<category><![CDATA[parallel]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=240</guid>
		<description><![CDATA[Bin gerade auf ein Problem gestoßen und möchte hier schnell meine Lösung festhalten. Situation Man will prototype und jQuery parallel benutzen. Dafür gibt es ja bekanntlich jQuery.noConflict(). Problem Ab Version 1.4.3 von jQuery klappt das nicht mehr richtig. Version 1.4.2 funktioniert bei mir perfekt. Siehe: jQuery Bugtracker und jQuery Forum Lösung Im Bugreport bzw. im [...]]]></description>
			<content:encoded><![CDATA[<p>Bin gerade auf ein Problem gestoßen und möchte hier schnell meine Lösung festhalten.</p>
<p><strong>Situation</strong><br />
Man will prototype und jQuery parallel benutzen. Dafür gibt es ja bekanntlich <a href="http://api.jquery.com/jQuery.noConflict/">jQuery.noConflict()</a>.</p>
<p><strong>Problem</strong><br />
Ab Version 1.4.3 von jQuery klappt das nicht mehr richtig. Version 1.4.2 funktioniert bei mir perfekt.<br />
Siehe: <a href="http://bugs.jquery.com/ticket/7426">jQuery Bugtracker</a> und <a href="https://forum.jquery.com/topic/jquery-conflicts-with-prototype-and-the-fix">jQuery Forum</a></p>
<p><strong>Lösung</strong><br />
Im Bugreport bzw. im Forum wird ein Fix für jQuery vorgeschlagen.<br />
Ich bin den anderen Weg gegangen und habe prototype gepatcht.<br />
Ist vielleicht nicht die schönste und beste Lösung, aber es funktioniert bei mir bisher ohne Probleme. </p>
<pre class="brush: diff; title: ; notranslate">
--- prototype.js.orig	2010-11-16 21:33:26.000000000 +0100
+++ prototype.js	2011-01-07 21:06:39.039888000 +0100
@@ -5971,7 +5971,7 @@
     var elements = [], classNames = (/\s/.test(className) ? $w(className) : null);
     if (!classNames &amp;&amp; !className) return elements;

-    var nodes = $(element).getElementsByTagName('*');
+    var nodes = Prototype.$alias(element).getElementsByTagName('*');
     className = ' ' + className + ' ';

     for (var i = 0, child, cn; child = nodes[i]; i++) {
@@ -5985,7 +5985,7 @@
   };

   return function(className, parentElement) {
-    return $(parentElement || document.body).getElementsByClassName(className);
+    return Prototype.$alias(parentElement || document.body).getElementsByClassName(className);
   };
 }(Element.Methods);

@@ -6080,3 +6080,5 @@
     }
   });
 })();
+
+Prototype.$alias = $;
</pre>
<p>Download: <a href="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2011/01/prototype.js.patch">prototype.js.patch</a></p>
<p><strong>Update (17.03.2011):</strong><br />
Inzwischen scheint der Bug seitens jQuery in Version 1.5.1 gefixt zu sein.</p>
<blockquote><p>
<a href="http://bugs.jquery.com/ticket/8033">#8033</a> jQuery 1.4.4+ fails to load on pages with old Prototype (< = 1.5) or Current Prototype + Scriptaculous in IE
</p></blockquote>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2011/01/07/prototype-1-7-vs-jquery-1-4-3-workaround/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS von Twitter mit OAuth abholen</title>
		<link>http://sabel.bluegfx.de/2010/09/19/rss-von-twitter-mit-oauth-abholen/</link>
		<comments>http://sabel.bluegfx.de/2010/09/19/rss-von-twitter-mit-oauth-abholen/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 14:11:38 +0000</pubDate>
		<dc:creator>sabel</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[fetch]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://sabel.bluegfx.de/?p=209</guid>
		<description><![CDATA[Hi, Twitter hat ja am 31. August die Basic Auth abgeschaltet. Es wird nur noch OAuth unterstützt. Blöd, wenn man Twitter über den RSS-Feed gelesen hat, denn RSS-Reader wie Google Reader unterstützen kein OAuth. Ich hab mir also ein kleines PHP-Script geschrieben, das mich per OAuth authentifiziert, meinen RSS-Feed von Twitter abholt und auspruckt. Dieses [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Twitter hat ja am <a href="http://blog.twitter.com/2010/08/twitter-applications-and-oauth.html">31. August die Basic Auth abgeschaltet</a>. Es wird nur noch <a href="http://www.oauth.net">OAuth</a> unterstützt.</p>
<p>Blöd, wenn man Twitter über den RSS-Feed gelesen hat, denn RSS-Reader wie <a href="http://www.google.de/reader/">Google Reader</a> unterstützen kein OAuth.</p>
<p>Ich hab mir also ein <a href='http://sabel.bluegfx.de/wordpress/wp-content/uploads/2010/09/twitter.tar.gz'>kleines PHP-Script</a> geschrieben, das mich per OAuth authentifiziert, meinen RSS-Feed von Twitter abholt und auspruckt. Dieses Script kann man dann einfach in den RSS-Reader einbinden.<br />
Hierfür habe ich die schlanke <a href="http://github.com/abraham/twitteroauth">TwitterOAuth-Lib</a> von <a href="http://abrah.am/">Abraham Williams</a> benutzt.</p>
<p>Bevor man das Script benutzen kann, muss man erstmal eine App bei Twitter registrieren.<br />
Das geht unter folgender Adresse: <a href="http://dev.twitter.com/apps/">http://dev.twitter.com/apps/</a></p>
<p><strong>1)</strong> Zunächst muss man eine neue App anlegen, indem man rechts auf <strong>&#8220;Register a new app&#8221; </strong>klickt.</p>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2010/09/0.png" alt="" title="Neue Twitter App registrieren" width="241" height="53" class="aligncenter size-full wp-image-210" /></p>
<p><strong>2)</strong> Bei den Einstellungen sind 2 Punkte wichtig.</p>
<ul>
<li><strong>Application Type</strong> auf <strong>Client</strong> setzen</li>
<li><strong>Default Access type</strong> auf <strong>Read-only</strong> setzen</li>
</ul>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2010/09/1.png" alt="" title="App Einstellungen" width="408" height="201" class="aligncenter size-full wp-image-228" /></p>
<p><strong>3)</strong> Danach landet man wieder auf der Übersicht seiner Apps. Einfach die gerade neu erstellte App auswählen</p>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2010/09/2.png" alt="" title="App auswählen" width="309" height="90" class="aligncenter size-full wp-image-212" /></p>
<p>Für das Script brauchen wir nun 4 Tokens/Keys:</p>
<ul>
<li>Consumer Key</li>
<li>Consumer Secret</li>
<li>Access Token</li>
<li>Access Token Secret</li>
</ul>
<p><strong>4)</strong> Auf der Detailansicht der App findet man den <strong>Consumer Key</strong> und das <strong>Consumer Secret</strong>.</p>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2010/09/3.png" alt="" title="Consumer Key und Consumer Secret auslesen" width="398" height="171" class="aligncenter size-full wp-image-213" /></p>
<p><strong>5)</strong> Dann rechts auf <strong>&#8220;My Access token&#8221;</strong> klicken.</p>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2010/09/4.png" alt="" title="Access Token" width="234" height="204" class="aligncenter size-full wp-image-214" /></p>
<p><strong>6)</strong> Hier findet man dann den <strong>Access Token</strong> und das <strong>Access Token Secret</strong>.</p>
<p><img src="http://sabel.bluegfx.de/wordpress/wp-content/uploads/2010/09/5.png" alt="" title="Access Token und Access Token Secret auslesen" width="480" height="174" class="aligncenter size-full wp-image-215" /></p>
<p>Diese 4 Werte trägt man nun einfach oben in der index.php ein und fertig.</p>
<p><strong>Download:</strong> <a href='http://sabel.bluegfx.de/wordpress/wp-content/uploads/2010/09/twitter.tar.gz'>Twitter OAuth RSS Feed Fetcher</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sabel.bluegfx.de/2010/09/19/rss-von-twitter-mit-oauth-abholen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

