<?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>Wed, 05 Jun 2013 11:02:57 +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>Developer Conferene 2013 in Hamburg</title>
		<link>http://juliusbeckmann.de/blog/developer-conferene-2013-in-hamburg.html</link>
		<comments>http://juliusbeckmann.de/blog/developer-conferene-2013-in-hamburg.html#comments</comments>
		<pubDate>Wed, 05 Jun 2013 11:02:57 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Hamburg]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=919</guid>
		<description><![CDATA[Ich mag Konferenzen, besonders wenn es dort viel zu sehen und hören gibt. Gern fahre ich auch mal in ein anderes Land aber noch lieber habe ich es, wenn die Konferenz direkt vor meiner Haustür stattfindet. Wie in Hamburg bei der Developer-Conference-HH im Jahre 2012. Die Konferenz ging damals allgemein um Webdevelopment und Projektmanagement wie [...]]]></description>
			<content:encoded><![CDATA[<p>Ich mag Konferenzen, besonders wenn es dort viel zu sehen und hören gibt. Gern fahre ich auch mal in ein anderes Land aber noch lieber habe ich es, wenn die Konferenz direkt vor meiner Haustür stattfindet. Wie  in Hamburg bei der <a href="http://developer-conference-hh.de/">Developer-Conference-HH</a> im Jahre 2012.</p>
<p>Die Konferenz ging damals allgemein um Webdevelopment und Projektmanagement wie Agile. Stattgefunden hat es im Erdgeschoss vom Otto-Versand, der mit seinen vielen mittelgroßen Tagungsräumen und der anliegenden Kantine großartig geeignet war. Wenn man denn mal davon absieht, dass ein weiteres mal die Konferenz dort nicht stattfinden können würde, da der Andrang der Besucher recht groß war.</p>
<p>Dieses Jahr wurde die Location gewechselt und die <a href="http://www.developer-conference.eu/">Developer-Conference-2013</a> findet im Cinemaxx Dammtor statt, man kann sich also auf bequeme Kinositze  und große, nicht überfüllte Säle einstellen. Auch die<a href="http://www.developer-conference.eu/themen/"> Themen der Konferenz</a> wurden leicht angepasst und decken die großen Gebiete PHP, Ruby, NodeJS, BigData, Java, Mobile und weitere ab. Einen vollständigen Plan der stattfinden Vorträge gibt es noch nicht, aber es ist ja auch noch hin bis zur Konferenz.</p>
<p>Wer auch teilnehmen möchte, hat bei den <a href="http://www.developer-conference.eu/tickets/">Tickets</a> die Qual der Wahl. Denn es gibt verschiedene Preisklassen die vom aktuell Super Early Bird, zum 3er Team Ticket, dem Blogger und Studententicket reicht. Die letzten beiden Tickets finde ich besonders toll, da sie Leuten mit weniger finanziellen Möglichkeiten die Chance gibt, an einer hochwertigen Konferenz teilzunehmen.</p>
<p>Auch wenn es noch recht lange hin ist, freue ich mich schon sehr darauf. Die Location wird sicherlich klasse und wie beim letzten Mal werde ich wieder viele interessante neue Leute und auch alte Bekannte treffen. In den Pausen werden die Netzwerke gepflegt wie es sonst nur Spinnen machen.</p>
<p>Wenn es Neuigkeiten gibt, versuche ich diese über meinen Twitter Account zu verbreiten.</p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/developer-conferene-2013-in-hamburg.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meine Lösung des Blau.de Vanity Wettbewerbs 2012</title>
		<link>http://juliusbeckmann.de/blog/meine-losung-des-blau-de-vanity-wettbewerbs-2012.html</link>
		<comments>http://juliusbeckmann.de/blog/meine-losung-des-blau-de-vanity-wettbewerbs-2012.html#comments</comments>
		<pubDate>Mon, 25 Jun 2012 10:04:13 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Blau.de]]></category>
		<category><![CDATA[FH-Wedel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Vala]]></category>
		<category><![CDATA[Vanity]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=912</guid>
		<description><![CDATA[An meiner FH Wedel hat Blau.de passend zur Firmenkontaktmesse eine kleine Programmieraufgabe gestellt, für die es auch kleine Preise von getdigital.de gab. In diesem Artikel möchte ich kurz meine Lösungen und Ideen dazu vorstellen. Aufgabe war wie folgt: Es sollte mit Hilfe einer Wortliste aus einer Vanity Nummer wieder die "gewählten Wörter" ermittelt werden. Eine [...]]]></description>
			<content:encoded><![CDATA[<p>An meiner FH Wedel hat Blau.de passend zur Firmenkontaktmesse eine kleine Programmieraufgabe gestellt, für die es auch kleine Preise von getdigital.de gab.</p>
<p>In diesem Artikel möchte ich kurz meine Lösungen und Ideen dazu vorstellen.</p>
<p><span id="more-912"></span>Aufgabe war wie folgt:</p>
<p>Es sollte mit Hilfe einer Wortliste aus einer Vanity Nummer wieder die "gewählten Wörter" ermittelt werden. Eine Vanity Nummer ist z.B. "0800 VOLKSWAGEN", wobei die Buchstaben statt der eigentlichen Zahlen auf den Telefontasten genannt werden.<br />
Mehr zur Buchstabenwahl: <a href="http://de.wikipedia.org/wiki/Buchstabenwahl">http://de.wikipedia.org/wiki/Buchstabenwahl</a>.</p>
<h2>Lösung 1 - PHP:</h2>
<p>Meine erste Lösung habe ich in PHP entwickelt, aber mit einer speziellen Zielsetzung. Es sollte keine Zuweisungen und nur Map-Filter-Reduce verwendet werden. Dies ist mir auch gelungen.<br />
PHP bringt erstaunlich viele Funktionen mit, die es ermöglichen ohne Schleifen zu arbeiten.</p>
<p>Quellcode: <a href="https://gist.github.com/2987660">https://gist.github.com/2987660</a></p>
<h2>Lösung 2 - Vala:</h2>
<p>Vala hat mir ein Kommilitone mal gezeigt und für diese Aufgabe wollte ich es einfach mal ausprobieren. Vala ist eine Programmiersprache, die vom Vala-Compiler in C-Code übersetzt wird, welcher ganz normal mit dem gcc übersetzt werden kann. Letztendlich ähnelt Vala einer Mischung aus C# und Java, da Objektorientierung und viele vorgefertigte Datenstrukturen verfügbar sind.<br />
Wer schon mal mit C# oder Java gearbeitet hat, sollte mit Vala zurechtkommen, wenn man denn entsprechende Doku findet.</p>
<p>Quellcode: <a href="https://gist.github.com/2987673">https://gist.github.com/2987673</a></p>
<p>Compile: "valac --pkg gee-1.0 --pkg gio-2.0 --pkg glib-2.0 devanity.vala"</p>
<h2>Lösung 3 - Bash:</h2>
<p>Nachdem ich eine Funktionale Lösung und eine Objektorientierte Lösung entwickelt habe, wollte ich meine Bash Fähigkeiten auffrischen und das ganze kurz als Bash Script lösen. Rausgekommen ist ein Script das mit erstaunlich wenig Befehlen ziemlich schnell war.<br />
Ich habe festgestellt, dass Funktionen in Bash nicht zu den schnellsten gehören, und habe daher auf externe Programme wie "paste" und "grep" ausweichen müssen.</p>
<p>Quellcode: <a href="https://gist.github.com/2987696">https://gist.github.com/2987696</a></p>
<h2>Aufgabe:</h2>
<p>Wer sich selber versuchen möchte, hier eine Vanity Nummer zum rausfinden: "734 724528 8353366437 2528"<br />
Und eine Wortliste: <a href="http://juliusbeckmann.de/static/fh/blau.de/vanity/messe_wedel.zip">messe_wedel.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/meine-losung-des-blau-de-vanity-wettbewerbs-2012.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie man gefälschte Motorola BP6X Akkus erkennt</title>
		<link>http://juliusbeckmann.de/blog/wie-man-gefalschte-motorola-bp6x-akkus-erkennt.html</link>
		<comments>http://juliusbeckmann.de/blog/wie-man-gefalschte-motorola-bp6x-akkus-erkennt.html#comments</comments>
		<pubDate>Sun, 20 May 2012 12:53:09 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Akku]]></category>
		<category><![CDATA[Fake]]></category>
		<category><![CDATA[Fälschung]]></category>
		<category><![CDATA[Motorola]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=908</guid>
		<description><![CDATA[Für mein Motorola Milestone habe ich letztens einen neuen Akku gekauft und musste feststellen, dass der erste Akku den ich zu gesendet bekommen habe nur sehr wenig Kapazität hatte und sich dann auch nicht mehr aufladen ließ. Daraufhin habe ich nachgeforscht und noch mehr Indizien gefunden dass es sich um eine Fälschung handeln muss. Zu [...]]]></description>
			<content:encoded><![CDATA[<p>Für mein Motorola Milestone habe ich letztens einen neuen Akku gekauft und musste feststellen, dass der erste Akku den ich zu gesendet bekommen habe nur sehr wenig Kapazität hatte und sich dann auch nicht mehr aufladen ließ. Daraufhin habe ich nachgeforscht und noch mehr Indizien gefunden dass es sich um eine Fälschung handeln muss.</p>
<p><span id="more-908"></span></p>
<p>Zu erwähnen ist noch, dass es anscheinend mehrere originale Versionen des Akkus gibt, dabei hat die neuere angeblich größere Schrift und eine andere Anordnung auf der Rückseite.</p>
<p>Auf dem ersten Bild kann man recht gut erkennen, dass die Oberfläche der Fälschung nicht so glatt ist wie beim Original, dies Indiz alleine reicht aber wohl noch nicht.<br />
<a href="/blog/static/images/motorola/akku-fake/motorola-akku-bp6x-fake-faelschung-1.jpg">Bild: motorola-akku-bp6x-fake-faelschung-1.jpg</a></p>
<p>Auf dem zweiten Bild kann man sehen dass alle Symbole noch vorhanden, aber teils woanders sind. Manche sehen auch etwas anders aus, wie das Flammensymbol zB.<br />
<a href="/blog/static/images/motorola/akku-fake/motorola-akku-bp6x-fake-faelschung-2.jpg">Bild: motorola-akku-bp6x-fake-faelschung-2.jpg</a></p>
<p>Das Gehäuse und die Kontaktfläche sehen identisch aus.<br />
<a href="/blog/static/images/motorola/akku-fake/motorola-akku-bp6x-fake-faelschung-3.jpg">Bild: motorola-akku-bp6x-fake-faelschung-3.jpg</a></p>
<p>Anscheinend hat man bei der Fälschung sich nicht die Mühe gemacht die Texte in der richtigen Größe zu drucken, daher wohl auch der Text auf der oberen Seite der Fälschung.<br />
<a href="/blog/static/images/motorola/akku-fake/motorola-akku-bp6x-fake-faelschung-4.jpg">Bild: motorola-akku-bp6x-fake-faelschung-4.jpg</a></p>
<p>Auf dem letzten Bild kann man das sicherste Indiz für eine Fälschung finden.<br />
Man hat sich zwar die Mühe gemacht alle Texte und Zahlen komplett zu kopieren, aber beim Hologramm hat man es nicht geschafft dieses komplett nachzumachen.<br />
Das Hologramm der Fälschung sieht man an dass es im Vergleich zum Original irgendwie schief und abgeschnitten ist. Auch ist es etwas zu groß.<br />
Dann wurde der Haken im Hologramm nicht richtig nachgemacht. Beim Original fängt der Haken etwa in der Mitte des Quadrat an und ist daher eher zu weit rechts. Außerdem endet der Haken außerhalb des Quadrats.<br />
<a href="/blog/static/images/motorola/akku-fake/motorola-akku-bp6x-fake-faelschung-5.jpg">Bild: motorola-akku-bp6x-fake-faelschung-5.jpg</a></p>
<p><strong>Hinweise zum Kauf eines neuen BP6X Akkus:</strong></p>
<p>Schaut auf einer Preissuchmaschine wie Geizhals nach dem Akku, NICHT nach "kompatiblen" Akkus denn dies sind Nachahmungen: <a href="http://geizhals.de/597896" target="_blank">http://geizhals.de/597896</a></p>
<p>Unter 20 Euro sind sehr wahrscheinlich nur Fälschungen zu finden sein.</p>
<p>Wenn, dann kauft bei großen namhaften Anbietern und nicht bei kleinen Unterhändlern von Amazon oder MeinPaket. Auch sind "spezialisierte" Onlineshops nicht sicher.</p>
<p>Meinen letztendlich originalen Akku habe ich bei Amazon bekommen. Ich würde aber schätzen, dass folgende Händler auch Originale verkaufen: <em>"Mindfactory, Jacob Elektronik, DriveCity"</em></p>
<p>Hoffe ich konnte mit diesem Artikel Leuten helfen die betrogen wurden. Wer kann sollte seinen Akku zurückschicken und sein Geld zurückverlangen.<em> </em>Auch wäre ein Hinweis nett, wo der Falsche Akku gekauft wurde. Meine erste anscheinende Fälschung habe ich bei Akku-King.net bekommen, die zweite beim Amazon Händler "Primemobile".</p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/wie-man-gefalschte-motorola-bp6x-akkus-erkennt.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notizen: The Pragmatic Programmer</title>
		<link>http://juliusbeckmann.de/blog/notizen-the-pragmatic-programmer.html</link>
		<comments>http://juliusbeckmann.de/blog/notizen-the-pragmatic-programmer.html#comments</comments>
		<pubDate>Thu, 10 May 2012 18:55:01 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Notizen]]></category>
		<category><![CDATA[Programmer]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=903</guid>
		<description><![CDATA[Habe meine Notizen zum Buch "The Pragmatic Programmer" gefunden. Hinweis: Die Notizen ersetzten nicht die Erkenntnisse die man beim Lesen des Buches hat ;) Keine Ausreden, sei ehrlich. Keine zerbrochenen Fenster. Katalysator für Änderungen und Synergien sein. Fange etwas an und lasse andere einsteigen (Steinsuppe). Schleichende Veränderungen bemerken (Frosch im Kochtopf). Das große Bild erkennen [...]]]></description>
			<content:encoded><![CDATA[<p>Habe meine Notizen zum Buch "<a href="http://www.amazon.de/Pragmatic-Programmer-From-Journeyman-Master/dp/020161622X/" target="_blank">The Pragmatic Programmer</a>" gefunden.</p>
<p>Hinweis: Die Notizen ersetzten nicht die Erkenntnisse die man beim Lesen des Buches hat ;)</p>
<ul>
<li>Keine Ausreden, sei ehrlich.</li>
<li>Keine zerbrochenen Fenster.</li>
<li>Katalysator für Änderungen und Synergien sein.</li>
<li>Fange etwas an und lasse andere einsteigen (Steinsuppe).</li>
<li>Schleichende Veränderungen bemerken (Frosch im Kochtopf).</li>
<li>Das große Bild erkennen und beachten.</li>
<li>Qualität ist eine Anforderung, kein Nebenprodukt.</li>
<li>Investiere in (Weiter-) Bildung.</li>
<li>Übe konstruktive Kritik.</li>
<li>Wiederhole dich nicht (DRY)</li>
<li>Mache es wiederverwendbar.</li>
<li>Keine Effekte zwischen unabhängigem Code.</li>
<li>Es gibt keine endgültigen Entscheidungen.</li>
<li>Benutze Leuchtmunition um das Ziel zu finden.</li>
<li>Programmiere näher am Problem.</li>
<li>Behebe das Problem, nicht das Symptom.</li>
<li>Verzweifle nicht (beim Debuggen).</li>
<li>'select' ist nicht buggy.</li>
<li>Nimm es nicht an - prüfe es!</li>
<li>Designe mit Vertrag (Assertion).</li>
<li>Crash early.</li>
<li>Minimiere Kopplung zwischen Modulen.</li>
<li>Abstrahiere den Code; Nutze Metadaten.</li>
<li>Designe mit Diensten.</li>
<li>Designe gleich für Parallelität.</li>
<li>Trenne Views von Models.</li>
<li>Benutze Tafeln zur (Team-) Organisation.</li>
<li>Bestimme die Komplexität und Laufzeit deiner Algorithmen (O-Notation).</li>
<li>Prüfe deine Laufzeitschätzungen.</li>
<li>Refaktoriere früh und oft.</li>
<li>Nutze nur Code den du verstehst.</li>
<li>Abstraktion lebt länger als Details.</li>
</ul>
<p>Ich kann es eigentlich nur jedem empfehlen das Buch zu lesen, der ernsthaft programmieren möchte.</p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/notizen-the-pragmatic-programmer.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: Move ringtones from SD-Card to internal memory</title>
		<link>http://juliusbeckmann.de/blog/android-move-ringtones-from-sd-card-to-internal-memory.html</link>
		<comments>http://juliusbeckmann.de/blog/android-move-ringtones-from-sd-card-to-internal-memory.html#comments</comments>
		<pubDate>Thu, 15 Dec 2011 14:35:13 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[Ringtone]]></category>
		<category><![CDATA[Root]]></category>
		<category><![CDATA[SD-Card]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=900</guid>
		<description><![CDATA[I have a Motorola Milestone and keep it inside the Desk-Dockingstation all day long. While it is in there, the phone cant use the ringtones saved on the sd-card, because the sd-card is shared over USB. I simply moved my ringtone to the internal ringtone memory. You need root access and a terminal to put [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-896" title="android-180" src="http://juliusbeckmann.de/blog/static/android-180.png" alt="android-180" width="180" height="180" />I have a Motorola Milestone and keep it inside the Desk-Dockingstation all day long. While it is in there, the phone cant use the ringtones saved on the sd-card, because the sd-card is shared over USB. I simply moved my ringtone to the internal ringtone memory.</p>
<p><span id="more-900"></span></p>
<p>You need <strong>root access</strong> and a <strong>terminal</strong> to put in these commands:</p>
<p>WARNING:<br />
Be carefull because this could ruin your system!</p>
<div class="codesnip-container" >su -<br />
cd /<br />
mount -o remout,rw /system<br />
cp /sdcard/media/ringtones/YOURRINGTONE.mp3 /system/media/ringtones/<br />
exit</div>
<p>Afterwards restart you phone, delete the ringtone file vom sdcard and select the internal ringtone. Should be working now :)</p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/android-move-ringtones-from-sd-card-to-internal-memory.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: Install Google Mail in Cyanogen 7 and similar</title>
		<link>http://juliusbeckmann.de/blog/android-install-google-mail-in-cyanogen-7-and-similar.html</link>
		<comments>http://juliusbeckmann.de/blog/android-install-google-mail-in-cyanogen-7-and-similar.html#comments</comments>
		<pubDate>Wed, 07 Dec 2011 23:50:50 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Cyanogen]]></category>
		<category><![CDATA[GMail]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=894</guid>
		<description><![CDATA[How to install Google Mail (GMail) on your Cyanogen Android Phone: 1. The Google Mail app is just available in USA Market. You need the app "Market Enabler" and fake a USA Provider like Verizon or T-Mobile. 2. Search for "Google Mail" or "Gmail" in the Market, if it does show up, install it. 3. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://juliusbeckmann.de/blog/static/android-180.png" alt="android-180" title="android-180" width="180" height="180" class="alignright size-full wp-image-896" />How to install Google Mail (GMail) on your Cyanogen Android Phone:</p>
<p>1. The Google Mail app is just available in USA Market. You need the app "Market Enabler" and fake a USA Provider like Verizon or T-Mobile.</p>
<p>2. Search for "Google Mail" or "Gmail" in the Market, if it does show up, install it.</p>
<p>3. If you cant find Google Mail in the Market, go to ww.appbrain.com and search for "Gmail". Use the QR Code + Browser to install Google Mail.</p>
<p>If you need any more Google Apps, check out this Wiki entry:<br />
<a href="http://wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps">http://wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps</a></p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/android-install-google-mail-in-cyanogen-7-and-similar.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox: Black form input fields when using a dark GTK / Gnome theme</title>
		<link>http://juliusbeckmann.de/blog/firefox-black-form-input-fields-when-using-a-dark-gtk-gnome-theme.html</link>
		<comments>http://juliusbeckmann.de/blog/firefox-black-form-input-fields-when-using-a-dark-gtk-gnome-theme.html#comments</comments>
		<pubDate>Tue, 22 Nov 2011 20:32:23 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dark]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Settings]]></category>
		<category><![CDATA[Theme]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=887</guid>
		<description><![CDATA[I recently switched to a dark Gnome2 theme and realized, that firefox did use that colors too. But also firefox used these colors for the input forms on some websites. I found out how to partially fix this. These strangely colored input field will be there when the website did not define any other colors [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://juliusbeckmann.de/blog/static/firefox.png" alt="firefox" title="firefox" width="120" height="120" class="alignright size-full wp-image-889" /></p>
<p>I recently switched to a dark Gnome2 theme and realized, that firefox did use that colors too. But also firefox used these colors for the input forms on some websites. I found out how to partially fix this.</p>
<p><span id="more-887"></span></p>
<p>These strangely colored input field will be there when the website did not define any other colors to these elements.</p>
<p>There is a way to make these fields white again with the following instructions:</p>
<p>You need to create or append this file</p>
<div class="codesnip-container" >.mozilla/firefox/YOUR_PROFILE/chrome/userContent.css</div>
<p>with this content:</p>
<div class="codesnip-container" >/**<br />
 * Default colors for HTML-Forms when using dark GTK Themes.<br />
 *<br />
 * @author Julius Beckmann kontakt@juliusbeckmann.de<br />
 */</p>
<p>button,<br />
input,<br />
input[type="radio"],<br />
input[type="checkbox"],<br />
input[type="reset"],<br />
input[type="button"],<br />
input[type="submit"],<br />
select,<br />
textarea {<br />
    -moz-appearance: none !important;<br />
    background-color: white;<br />
    color: black;<br />
}</p></div>
<p>Download: <a href="/static/firefox/userContent.css">userContent.css</a></p>
<p>It will give Firefox default values to use when a website does not set any colors for form inputs.<br />
You need to restart Firefox to activate these settings.</p>
<p>You can test it here: <a href="/static/firefox/forms.html">Test-Forms</a></p>
<p>But the check-box input fields are still black. I think because Firefox does not render these Elements on its own, but let GTK do it. I could not find any method to reset these to normal again.</p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/firefox-black-form-input-fields-when-using-a-dark-gtk-gnome-theme.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP: Uncomment PHP Code</title>
		<link>http://juliusbeckmann.de/blog/php-uncomment-php-code.html</link>
		<comments>http://juliusbeckmann.de/blog/php-uncomment-php-code.html#comments</comments>
		<pubDate>Fri, 18 Nov 2011 09:33:52 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Comment]]></category>
		<category><![CDATA[Gist]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=883</guid>
		<description><![CDATA[If you want to uncomment your PHP Code, have a look at my script: https://gist.github.com/1375986 Usage: # php uncomment /path/to/file.php The script will read the content of the file, remove the comment, and write back to the file. So the file will be CHANGED! You have been warned.]]></description>
			<content:encoded><![CDATA[<p><img src="http://juliusbeckmann.de/blog/static/php-logo.jpg" alt="php-logo" title="php-logo" width="100" height="55" class="alignright size-full wp-image-855" /></p>
<p>If you want to uncomment your PHP Code, have a look at my script:</p>
<p><a href="https://gist.github.com/1375986">https://gist.github.com/1375986</a></p>
<p>Usage:</p>
<div class="codesnip-container" ># php uncomment /path/to/file.php</div>
<p>The script will read the content of the file, remove the comment, and write back to the file.<br />
So the file will be CHANGED! You have been warned.</p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/php-uncomment-php-code.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: The big php variable type casting!</title>
		<link>http://juliusbeckmann.de/blog/php-the-big-php-variable-type-casting.html</link>
		<comments>http://juliusbeckmann.de/blog/php-the-big-php-variable-type-casting.html#comments</comments>
		<pubDate>Sat, 05 Nov 2011 14:25:30 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=879</guid>
		<description><![CDATA[I wrote a small script that does every available cast in PHP on every datattype. Check it out on GistHub: https://gist.github.com/1341572 The output of the script should be the following: $ php casting.php --- Casting all in PHP available Types in every way --- Info: In PHP we have the following data types: boolean, int, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://juliusbeckmann.de/blog/static/php-logo.jpg" alt="php-logo" title="php-logo" width="100" height="55" class="alignright size-full wp-image-855" />I wrote a small script that does every available cast in PHP on every datattype.<br />
Check it out on GistHub:<br />
<a href="https://gist.github.com/1341572">https://gist.github.com/1341572</a></p>
<p>The output of the script should be the following:</p>
<div class="codesnip-container" >$ php casting.php </p>
<p>--- Casting all in PHP available Types in every way ---</p>
<p>Info:<br />
In PHP we have the following data types: boolean, int, float, double, array, object,<br />
while float and double should be the same.<br />
There are other types that can not be created by cast, like resources.<br />
PHP is weak typed and allows to cast everything to everything.<br />
I think this is something every (good) Software Programmer working with PHP should know.<br />
Check out the results of the casts, especially to boolean, so you do not need<br />
if(strlen($s) > 0 || count($a) > 0) ... anymore.</p>
<p>PHP-Version: 5.3.5-1ubuntu7.3</p>
<p>--- casting 'null' ------------<br />
(boolean)null -> (boolean)false<br />
(int)null -> (integer)0<br />
(float)null -> (double)0<br />
(double)null -> (double)0<br />
(string)null -> (string)''<br />
(array)null -> (array)array ()<br />
(object)null -> (object)stdClass</p>
<p>--- casting '0' ------------<br />
(boolean)0 -> (boolean)false<br />
(int)0 -> (integer)0<br />
(float)0 -> (double)0<br />
(double)0 -> (double)0<br />
(string)0 -> (string)'0'<br />
(array)0 -> (array)array (0 => 0,)<br />
(object)0 -> (object)stdClass</p>
<p>--- casting '1' ------------<br />
(boolean)1 -> (boolean)true<br />
(int)1 -> (integer)1<br />
(float)1 -> (double)1<br />
(double)1 -> (double)1<br />
(string)1 -> (string)'1'<br />
(array)1 -> (array)array (0 => 1,)<br />
(object)1 -> (object)stdClass</p>
<p>--- casting '0.0' ------------<br />
(boolean)0.0 -> (boolean)false<br />
(int)0.0 -> (integer)0<br />
(float)0.0 -> (double)0<br />
(double)0.0 -> (double)0<br />
(string)0.0 -> (string)'0'<br />
(array)0.0 -> (array)array (0 => 0,)<br />
(object)0.0 -> (object)stdClass</p>
<p>--- casting '0.1' ------------<br />
(boolean)0.1 -> (boolean)true<br />
(int)0.1 -> (integer)0<br />
(float)0.1 -> (double)0.1<br />
(double)0.1 -> (double)0.1<br />
(string)0.1 -> (string)'0.1'<br />
(array)0.1 -> (array)array (0 => 0.1,)<br />
(object)0.1 -> (object)stdClass</p>
<p>--- casting '1.23' ------------<br />
(boolean)1.23 -> (boolean)true<br />
(int)1.23 -> (integer)1<br />
(float)1.23 -> (double)1.23<br />
(double)1.23 -> (double)1.23<br />
(string)1.23 -> (string)'1.23'<br />
(array)1.23 -> (array)array (0 => 1.23,)<br />
(object)1.23 -> (object)stdClass</p>
<p>--- casting 'true' ------------<br />
(boolean)true -> (boolean)true<br />
(int)true -> (integer)1<br />
(float)true -> (double)1<br />
(double)true -> (double)1<br />
(string)true -> (string)'1'<br />
(array)true -> (array)array (0 => true,)<br />
(object)true -> (object)stdClass</p>
<p>--- casting 'false' ------------<br />
(boolean)false -> (boolean)false<br />
(int)false -> (integer)0<br />
(float)false -> (double)0<br />
(double)false -> (double)0<br />
(string)false -> (string)''<br />
(array)false -> (array)array (0 => false,)<br />
(object)false -> (object)stdClass</p>
<p>--- casting '""' ------------<br />
(boolean)"" -> (boolean)false<br />
(int)"" -> (integer)0<br />
(float)"" -> (double)0<br />
(double)"" -> (double)0<br />
(string)"" -> (string)''<br />
(array)"" -> (array)array (0 => '',)<br />
(object)"" -> (object)stdClass</p>
<p>--- casting '"abc"' ------------<br />
(boolean)"abc" -> (boolean)true<br />
(int)"abc" -> (integer)0<br />
(float)"abc" -> (double)0<br />
(double)"abc" -> (double)0<br />
(string)"abc" -> (string)'abc'<br />
(array)"abc" -> (array)array (0 => 'abc',)<br />
(object)"abc" -> (object)stdClass</p>
<p>--- casting 'array()' ------------<br />
(boolean)array() -> (boolean)false<br />
(int)array() -> (integer)0<br />
(float)array() -> (double)0<br />
(double)array() -> (double)0<br />
(string)array() -> (string)'Array'<br />
(array)array() -> (array)array ()<br />
(object)array() -> (object)stdClass</p>
<p>--- casting 'array(1)' ------------<br />
(boolean)array(1) -> (boolean)true<br />
(int)array(1) -> (integer)1<br />
(float)array(1) -> (double)1<br />
(double)array(1) -> (double)1<br />
(string)array(1) -> (string)'Array'<br />
(array)array(1) -> (array)array (0 => 1,)<br />
(object)array(1) -> (object)stdClass</p>
<p>--- casting 'array(1, 2)' ------------<br />
(boolean)array(1, 2) -> (boolean)true<br />
(int)array(1, 2) -> (integer)1<br />
(float)array(1, 2) -> (double)1<br />
(double)array(1, 2) -> (double)1<br />
(string)array(1, 2) -> (string)'Array'<br />
(array)array(1, 2) -> (array)array (0 => 1,1 => 2,)<br />
(object)array(1, 2) -> (object)stdClass</p>
<p>--- casting 'fopen("php://stdout", "w")' ------------<br />
(boolean)fopen("php://stdout", "w") -> (boolean)true<br />
(int)fopen("php://stdout", "w") -> (integer)6<br />
(float)fopen("php://stdout", "w") -> (double)7<br />
(double)fopen("php://stdout", "w") -> (double)8<br />
(string)fopen("php://stdout", "w") -> (string)'Resource id #9'<br />
(array)fopen("php://stdout", "w") -> (array)array (0 => NULL,)<br />
(object)fopen("php://stdout", "w") -> (object)stdClass</p>
<p>--- casting 'new A()' ------------<br />
(boolean)new A() -> (boolean)true<br />
PHP Notice:  Object of class A could not be converted to int in casting.php(67) : eval()'d code on line 1<br />
(int)new A() -> (integer)1<br />
PHP Notice:  Object of class A could not be converted to double in casting.php(67) : eval()'d code on line 1<br />
(float)new A() -> (double)1<br />
PHP Notice:  Object of class A could not be converted to double in casting.php(67) : eval()'d code on line 1<br />
(double)new A() -> (double)1<br />
(string)new A() -> (string)'A'<br />
(array)new A() -> (array)array ()<br />
(object)new A() -> (object)A</p>
<p>--- PROBLEMS ------------<br />
Some constructs in PHP need a parameter type to work correnctly,<br />
like foreach() and many functions like implode() ....</p>
<p>foreach(array("works") as $a) {}<br />
PHP Warning:  Invalid argument supplied for foreach() in casting.php on line 78<br />
PHP Warning:  Invalid argument supplied for foreach() in casting.php on line 79<br />
PHP Warning:  Invalid argument supplied for foreach() in casting.php on line 80<br />
implode('', array("works"));<br />
PHP Warning:  implode(): Invalid arguments passed in casting.php on line 84<br />
PHP Warning:  implode(): Invalid arguments passed in casting.php on line 85<br />
PHP Warning:  implode(): Invalid arguments passed in casting.php on line 86</p></div>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/php-the-big-php-variable-type-casting.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Playing with stdClass</title>
		<link>http://juliusbeckmann.de/blog/php-playing-with-stdclass.html</link>
		<comments>http://juliusbeckmann.de/blog/php-playing-with-stdclass.html#comments</comments>
		<pubDate>Mon, 24 Oct 2011 16:15:38 +0000</pubDate>
		<dc:creator>Julius</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://juliusbeckmann.de/blog/?p=875</guid>
		<description><![CDATA[I wrote some code to check what PHP included stdClass is capeable of. You can find the code at gisthub: https://gist.github.com/1309031 stdClass is really just a wrapper around a array that can be casted to a array. Good thing about it is, you can extend it with some failsave __get($key) function.]]></description>
			<content:encoded><![CDATA[<p><img src="http://juliusbeckmann.de/blog/static/php-logo.jpg" alt="php-logo" title="php-logo" width="100" height="55" class="alignright size-full wp-image-855" />I wrote some code to check what PHP included stdClass is capeable of.<br />
You can find the code at gisthub:<br />
<a href="https://gist.github.com/1309031">https://gist.github.com/1309031</a></p>
<p>stdClass is really just a wrapper around a array that can be casted to a array.<br />
Good thing about it is, you can extend it with some failsave __get($key) function.</p>
]]></content:encoded>
			<wfw:commentRss>http://juliusbeckmann.de/blog/php-playing-with-stdclass.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
