<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>// der php hacker</title>
	
	<link>http://phphacker.net</link>
	<description>ein php blog</description>
	<lastBuildDate>Wed, 27 Jan 2010 12:06:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DerPhpHacker" /><feedburner:info uri="derphphacker" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>XINGs Recruiting Methoden</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/QjheN5pl-eQ/</link>
		<comments>http://phphacker.net/2010/01/27/xings-recruiting-methoden/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 12:06:22 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1064</guid>
		<description><![CDATA[Eine sehr nette Idee, um sich fähige Entwickler an Bord zu holen hat XING:

Auf der anderen Seite: Haben sie derzeit aber auch dringen nötig =)
]]></description>
			<content:encoded><![CDATA[<p>Eine sehr nette Idee, um sich fähige Entwickler an Bord zu holen hat XING:</p>
<p><a href="http://phphacker.net/wp-content/uploads/2010/01/Bildschirmfoto-2010-01-27-um-13.02.25.png"><img class="aligncenter size-full wp-image-1065" title="Bildschirmfoto 2010-01-27 um 13.02.25" src="http://phphacker.net/wp-content/uploads/2010/01/Bildschirmfoto-2010-01-27-um-13.02.25.png" alt="Bildschirmfoto 2010-01-27 um 13.02.25" width="560" /></a></p>
<p>Auf der anderen Seite: Haben sie derzeit aber auch dringen nötig =)</p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/QjheN5pl-eQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2010/01/27/xings-recruiting-methoden/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://phphacker.net/2010/01/27/xings-recruiting-methoden/</feedburner:origLink></item>
		<item>
		<title>Warum ist das eigentlich noch keinem aufgefallen?</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/OEMDy0-DEFo/</link>
		<comments>http://phphacker.net/2010/01/23/warum-ist-das-eigentlich-noch-keinem-aufgefallen/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 00:53:22 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1055</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://phphacker.net/wp-content/uploads/2010/01/chalmer_balmer1.png"><img class="aligncenter size-full wp-image-1061" title="chalmer_balmer" src="http://phphacker.net/wp-content/uploads/2010/01/chalmer_balmer1.png" alt="chalmer_balmer" width="500" height="312" /></a></p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/OEMDy0-DEFo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2010/01/23/warum-ist-das-eigentlich-noch-keinem-aufgefallen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://phphacker.net/2010/01/23/warum-ist-das-eigentlich-noch-keinem-aufgefallen/</feedburner:origLink></item>
		<item>
		<title>PHP Blog-Sammlung</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/m7URPyfsWSg/</link>
		<comments>http://phphacker.net/2010/01/12/php-blog-sammlung/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 06:12:54 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Blogosphere]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1053</guid>
		<description><![CDATA[Ein kleiner Hinweis: Der PHP Gangsta (vom Namen darf man nun halten was man will  ) stellt derzeit eine mehr oder weniger ausgewählte Liste von deutschsprachigen PHP-Blogs zusammen, die halbwegs aktuell sind und nicht mehr auf Anfängerniveau schreiben zusammen. Ich habe mich ganz dreist selbst vorgeschlagen. Falls jemand noch Ergänzungen hat, könnt ihr ihm [...]]]></description>
			<content:encoded><![CDATA[<p>Ein kleiner Hinweis: <a href="http://www.phpgangsta.de/die-grosse-php-blog-sammlung">Der PHP Gangsta</a> (vom Namen darf man nun halten was man will <img src='http://phphacker.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) stellt derzeit eine mehr oder weniger ausgewählte Liste von deutschsprachigen PHP-Blogs zusammen, die halbwegs aktuell sind und nicht mehr auf Anfängerniveau schreiben zusammen. Ich habe mich ganz dreist selbst vorgeschlagen. Falls jemand noch Ergänzungen hat, könnt ihr ihm diese ja auch mal zukommen lassen.</p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/m7URPyfsWSg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2010/01/12/php-blog-sammlung/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://phphacker.net/2010/01/12/php-blog-sammlung/</feedburner:origLink></item>
		<item>
		<title>(Not) The 2010 Bug</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/eSBIKUaO1Ik/</link>
		<comments>http://phphacker.net/2010/01/05/not-the-2010-bug/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 08:18:57 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Kurioses]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1050</guid>
		<description><![CDATA[Da ich jetzt zum geschätzten 20. mal per eMail darauf aufmerksam gemacht wurde und es mir auch eben in einem Forum über den Weg lief, will ich mal klarstellen, dass dieser Code hier keinen (und schon gar nicht einen y2010) Bug darstellt.


var dateObj = new Date();
var curYear = dateObj.getYear();
alert(curYear);


Wer wissen will, was dabei rauskommt, der [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich jetzt zum geschätzten 20. mal per eMail darauf aufmerksam gemacht wurde und es mir auch eben in einem Forum über den Weg lief, will ich mal klarstellen, dass dieser Code hier keinen (und schon gar nicht einen y2010) Bug darstellt.</p>
<pre>
<pre class="brush: javascript">
var dateObj = new Date();
var curYear = dateObj.getYear();
alert(curYear);
</pre>
</pre>
<p>Wer wissen will, was dabei rauskommt, der kann auch mal <a href="javascript:var dateObj = new Date();var curYear = dateObj.getYear();alert(curYear);">hier</a> klicken. Wem das nun komisch vorkommt, dem darf man ruhigen Gewissens ein herzhaftes <strong>RTFM</strong> an den Kopf werfen. Frohes Neues =)</p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/eSBIKUaO1Ik" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2010/01/05/not-the-2010-bug/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://phphacker.net/2010/01/05/not-the-2010-bug/</feedburner:origLink></item>
		<item>
		<title>Wusstest du schon …</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/1s9syhz9LNo/</link>
		<comments>http://phphacker.net/2009/12/31/wusstest-du-schon-4/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 07:30:49 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Hintergrund]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1040</guid>
		<description><![CDATA[… dass PHP jonglieren kann? Und zwar mit Typen. Type juggling nennt man das, was passiert, wenn man einen String mit dem Inhalt &#8220;1&#8243; versucht mit einem Integer zu addieren. Oder wenn man den String &#8220;Foo&#8221; mit dem Booleschen Wert &#8220;true&#8221; vergleicht: PHP würfelt die Typen einmal kräftig durch. Das sieht manchmal willkürlich aus, ist [...]]]></description>
			<content:encoded><![CDATA[<p>… dass PHP jonglieren kann? Und zwar mit Typen. Type juggling nennt man das, was passiert, wenn man einen String mit dem Inhalt &#8220;1&#8243; versucht mit einem Integer zu addieren. Oder wenn man den String &#8220;Foo&#8221; mit dem Booleschen Wert &#8220;true&#8221; vergleicht: PHP würfelt die Typen einmal kräftig durch. Das sieht manchmal willkürlich aus, ist es meist aber nicht. Damit man keine bösen Überraschungen erlebt, sollte man sich mal diese <a href="http://php.net/manual/de/types.comparisons.php">Comparison Tables</a> zu Gemüte führen.</p>
<p>Das wird dann auch mein letzter Post für dieses Jahr gewesen sein. Ich denke ich werde dann und wann noch einmal ein paar &#8220;wusstest du schon&#8221;-Beiträge raushauen. Ich hoffe ich konnte euch die Brückentage etwas verkürzen und vielleicht das ein oder andere neue erzählen. Ich wünsche euch allen einen guten Rutsch ins neue Jahr (… nen Fünfer ins Phrasenschwein – oh Mist. Schon wieder <img src='http://phphacker.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) und wir sehen uns dann 2010 in alter Frische wieder! Und als kleines Silvestergeschenk noch dieses tolle Video. Über den Song kann man streiten, aber die Performance ist toll. Also dann: Ciao!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/yjbpwlqp5Qw&amp;hl=de_DE&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/yjbpwlqp5Qw&amp;hl=de_DE&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/1s9syhz9LNo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2009/12/31/wusstest-du-schon-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://phphacker.net/2009/12/31/wusstest-du-schon-4/</feedburner:origLink></item>
		<item>
		<title>Und noch so ein langweiliger Rückblick</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/ZTfHMUHAxI0/</link>
		<comments>http://phphacker.net/2009/12/31/und-noch-so-ein-langweiliger-ruckblick/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 03:21:08 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Interna]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1045</guid>
		<description><![CDATA[Persönlich gab es für mich dieses Jahr wenig Highlights oder Bemerkenswertes. Aus technischer und beruflicher Sicht war dieses Jahr aber eines der besten, die mir bisher passiert sind.
Mehr oder weniger chronologisch will ich ein wenig aus dem Nähkästchen plaudern
Das iPhone
Bereits bei der ersten Ankündigung war ich angetan vom iPhone. Multi Touch, Beschleunigungssensor, schickes Design – Apple [...]]]></description>
			<content:encoded><![CDATA[<p>Persönlich gab es für mich dieses Jahr wenig Highlights oder Bemerkenswertes. Aus technischer und beruflicher Sicht war dieses Jahr aber eines der besten, die mir bisher passiert sind.</p>
<p>Mehr oder weniger chronologisch will ich ein wenig aus dem Nähkästchen plaudern<span id="more-1045"></span></p>
<h2>Das iPhone</h2>
<p>Bereits bei der ersten Ankündigung war ich angetan vom iPhone. Multi Touch, Beschleunigungssensor, schickes Design – Apple hat‘s da schon allen gezeigt. Zu diesem Zeitpunkt war ich noch Linux User und hatte Apple und die Produkte immer nur als überteuerten fancy Schnickschnack wahrgenommen.</p>
<p>Anfang diesen Jahres habe ich mich allerdings dazu hinreissen lassen die Unsumme auszugeben, um mir ein freies, nicht geknacktes iPhone zu leisten. Und was soll ich sagen: Ich war und bin begeistert. Selten … nein … nie habe ich so eine Intuitive und „schöne“ Benutzeroberfläche gesehen. Schon gar nicht bei einem Telefon. Seit dem ersten Tag ist das feine Teil mein ständiger Begleiter.</p>
<p>Und noch etwas hat es bei mir bewirkt: Ich habe Interesse an Apple-Produkten bekommen.</p>
<h2>Der erste Mac</h2>
<p>Nur wenige Wochen später war es soweit. Ich musste einen Mac haben. Ich wollte wissen, ob die Desktop-Oberfläche ebenfalls so elegant und selbsterklärend ist. Außerdem wollte ich – ganz die Entwickler-Seele – Apps für das iPhone schreiben. Also kurz ein paar Angebote verglichen und einen Mac-Mini erstanden.</p>
<p>Wow. Ein UI schöner und durchdachter als jedes bisher gesehen (und ich hab eine Menge gesehen <img src='http://phphacker.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) und unter der Haube auch noch ein echtes UNIX. Was will man mehr. Alles ist durchdacht. Die Tastenkürzel, die Klickwege zu den Einstellungen, die Gesamtheit. Man findet Dinge in verschiedenen Applikationen immer an der selben Stelle. Häufig benutzte und gebrauchte Tools sind ohne zutun des Entwicklers bereits in die Programme integriert. Ein OS, dem man auch einfach mal Blind vertrauen kann (mir ist bewusst, dass das vielen beim Upgrade auf Leopard zum Verhängnis wurde – allerdings konnte ich das nicht nachvollziehen).</p>
<p>Ich begann mich für die Entwicklung auf und für Macs zu interessieren …</p>
<h2>Cocoa und Objective-C</h2>
<p>Die ersten Zeilen die ich in Objective-C geschrieben habe gingen mir zugegebenermaßen nicht so leicht von der Hand. Das „Message“-Modell ist schon etwas gewöhnungsbedürftig. Aber um so mehr man sich damit beschäftigt, desto sinniger ist es. Und man lernt es schnell. Leider hatte ich bis vor kurzem noch keinen Konkreten Anlass eine App zu schreiben – und sind wir ehrlich: Hello World ist nicht nur ziemlich unfordernd sondern auch stinklangweilig. Da musste man sich also selbst erst einmal einen Anlass schaffen.</p>
<h2>Das Zend Framework</h2>
<p>Dieses Jahr habe ich mich exzessiv mit dem Zend Framework auseinandergesetzt und es für ein CMS extrem aufgebohrt und angepasst. Ich habe gelernt, dass auch hochprofessionell entwickelte Software (und dazu zähle ich das ZF nun einfach mal, auch wenn mir viele widersprechen werden) ihre Schwachstellen haben kann. Man verstehe mich nicht falsch, das ZF ist wirklich ein tolles Stück Software, die einem die Arbeit wirklich erleichtern kann. Aber man stolpert manchmal über Stellen, die wirklich „stinken“. Nichtsdestotrotz wurde es bis auf einen Punkt all meinen Anforderungen gerecht.</p>
<p>Der eine Punkt betrifft übrigens SOAP – aber das kann ich per se schon nicht leiden.</p>
<h2>Mein erstes Open Source Projekt</h2>
<p>Hier und da habe ich schon mal Patches geschrieben und eingereicht, aber wirklich aktiv an Projekten die Quelloffen waren habe ich nie mitgearbeitet. Was macht man da? Man nimmt es selbst in die Hand. Also habe ich <a href="http://phphacker.net/category/brawler/">Brawler</a> gestartet. Die Entwicklung will ich nächstes Jahr massiv antreiben und bis spätestens zum Sommer eine stabile erste Version veröffentlichen.</p>
<h2>Ein neues Blog</h2>
<p>Wie schon angedeutet, habe ich mir selbst einen Anlass geschaffe, etwas mit Cocoa zu entwickeln. Kurzerhand (obwohl schon lange geplant) habe ich <a href="http://cocoahacker.de/">ein neues Blog</a> gestartet, in dem ich von meinem (Leidens-)Weg zum Cocoa Entwickler berichte.</p>
<h2>Viele neue Leute</h2>
<p>Dieses Jahr habe ich ein paar Leute kennegelernt (hauptsächlich über Twitter), die mich oft „durch den Tag“ bringen. Erwähnenswert sind hier einige ganz besonders (und ich hoffe, die ich nicht erwähne nehmen mir das nicht übel):</p>
<h3>Jens &amp; Kai</h3>
<p>Jens (<a href="http://twitter.com/parkrocker">@parkrocker</a>) und Kai (<a href="http://twitter.com/derWebarchitekt">@derWebarchitekt</a>) muss ich gemeinsam erwähnen, denn meist waren unsere Gespräche welche unter sechs Augen. Wir sind nicht immer einer Meinung aber wir sind auf jeden Fall drei Nerds, die ähnliche Ansichten in Bezug auf das Verhalten im neuen Netz haben. Und wir sind Meister des Investigativ-Googlenimus <img src='http://phphacker.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Ola</h3>
<p>Die erste coole Nerdette die ich kennenlernen durfte. Sie (<a href="http://twitter.com/misprintedtype">@misprintedtype</a>) steht zwar auf Typo3, aber hey, keiner ist perfekt. Ähnlicher Musikgeschmack, ähnlicher Humor und ähnliche Interessen. So entstehen digitale Twitter-Freundschaften.</p>
<h3>Anne-Kathrin</h3>
<p>Um sie ist es in letzter Zeit sehr ruhig geworden, aber zum Anfang des Jahres hatte ich ein paar nette eMail-Diskussionen mir Ihr (<a href="http://twitter.com/medamind">@medamind</a>). Sehr fähig, sehr freundlich und immer sehr bedacht. Würde mich freuen mal wieder mehr von ihr zu hören.</p>
<h3>Sven</h3>
<p>Erst zum Jahresende kennengelernt, aber wie Ola ein lustiger Kamerad (<a href="http://twitter.com/fate__">@fate__</a>), nur eben männlich – und dazu noch eine PHP-Frohnatur. Nur sein OS X Bashing nervt #nimmsnichternst <img src='http://phphacker.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Mal sehen, ob wir unser kleines Projektchen 2010 vorantreiben können, hehe.</p>
<h3>Charel</h3>
<p>Last but not least <img src='http://phphacker.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Mein erster Co-Author (<a href="http://twitter.com/azunix">@azunix</a>), der sich zuvor schon konstruktiv an diesem Blog über Kommentare und Hinweise beteiligt hat. Hoffen wir, dass nächstes Jahr noch mehr von ihm kommt!</p>
<p>So. Das war es auch schon. So schlimm war‘s dann doch nicht, oder? Mein Jahresabschlussgruß kommt später noch. Hoffen wir auf ein mindestens genau so gutes wenn nicht besseres 2010.</p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/ZTfHMUHAxI0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2009/12/31/und-noch-so-ein-langweiliger-ruckblick/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://phphacker.net/2009/12/31/und-noch-so-ein-langweiliger-ruckblick/</feedburner:origLink></item>
		<item>
		<title>Wusstest du schon …</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/Dk3k5s7hAkw/</link>
		<comments>http://phphacker.net/2009/12/30/wusstest-du-schon-%e2%80%a6/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 13:52:30 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1033</guid>
		<description><![CDATA[… dass man mit strtotime wesentlich einfacher und korrekter Zeitenräume addieren oder abziehen kann, als es von Hand überhaupt möglich ist? Denn nicht jeder Tag hat 86400 Sekunden. Außerdem umgeht man auch noch das Antipattern der Magic Numbers.


$nextWeek = strtotime(&#039;+1 week&#039;);
$twoMonth = strtotime(&#039;+2 month&#039;);
$reallyScrewed = strtotime(&#039;+2 years +1 month +1 day +4 hours +7 minutes&#039;);


Sieht [...]]]></description>
			<content:encoded><![CDATA[<p>… dass man mit <a href="http://php.net/manual/en/function.strtotime.php">strtotime</a> wesentlich einfacher und korrekter Zeitenräume addieren oder abziehen kann, als es von Hand überhaupt möglich ist? Denn nicht jeder Tag hat 86400 Sekunden. Außerdem umgeht man auch noch das Antipattern der <a href="http://en.wikipedia.org/wiki/Magic_number_(programming)#Unnamed_numerical_constants">Magic Numbers</a>.</p>
<pre>
<pre class="brush: php">
$nextWeek = strtotime(&#039;+1 week&#039;);
$twoMonth = strtotime(&#039;+2 month&#039;);
$reallyScrewed = strtotime(&#039;+2 years +1 month +1 day +4 hours +7 minutes&#039;);
</pre>
</pre>
<p>Sieht doch wesentlich besser aus, oder? Und man weiß genau, was hier passiert. Als zweiten Parameter kann man übrigens einen UNIX-Timestamp angeben, der als Ausgangszeitpunkt verwendet wird.<span id="more-1033"></span></p>
<p><em>Während den Tagen bis zum neuen Jahr werde ich immer mal wieder ein bisschen aus dem Trick- und Nähkästchen plaudern. Die arbeiten an Brawler stagnieren derzeit ob des Fresskomas unter dem ich grade leide, aber da mich mein gähnend Leerer Feedreader annervt, will ich wenigstens dazu beitragen, dass ein wenig passiert.</em></p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/Dk3k5s7hAkw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2009/12/30/wusstest-du-schon-%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://phphacker.net/2009/12/30/wusstest-du-schon-%e2%80%a6/</feedburner:origLink></item>
		<item>
		<title>JavaScript Detection mit JavaScript und CSS</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/y5g9YZh3mZ8/</link>
		<comments>http://phphacker.net/2009/12/29/javascript-detection-mit-javascript-und-css/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 15:26:21 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Cascading Stylesheet]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript Detection]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[MSIE]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1024</guid>
		<description><![CDATA[We kennt das nicht , der Benutzer eurer Webseite will über vorsichtig sein hat sein Java Script im Browser nicht aktiviert und sieht euren tollen effekte nicht , dem kann man jetzt abhilfe schaffen!]]></description>
			<content:encoded><![CDATA[<p>Seit dem Web 2.0 haben sich User Interface designs geändert. Sehr viele Leute haben heut zu tage eine Seite die ohne JavaScript nicht mehr auskommt.  Deshalb sollte man immer überprüfen ob der Benutzer der Webseite sein JavaScript im Browser aktiviert hat, oder nicht , falls dieser Fall besteht muss ja auch ein Fehlermeldung ausgegeben werden. Und wie das geht zeige Ich euch heute.</p>
<p><span id="more-1024"></span></p>
<p>Wir haben bei diesem Unterfahren drei verschiedene Teile. Den JavaScript teil, den HTML teil und den CSS Teil. Fangen wir mit dem HTML Teil an.</p>
<p><em><strong>HTML</strong></em></p>
<pre>
<pre class="brush: html">
&lt;!DOCTYPE html&gt;
&lt;html&gt;
 &lt;head&gt;

 &lt;meta http-equiv=&quot;Content-type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
 &lt;/head&gt;
 &lt;body&gt;
 &lt;noscript&gt;
Please enable JavaScript in your Major browser ( Firefox, Safari , Opera, Intenet Explorer 8 or Chrome )
 &lt;/noscript&gt;

 &lt;div id=“container“&gt;
&lt;div id=“header“&gt;&lt;/div&gt;
&lt;div id=“content“&gt;&lt;/div&gt;
&lt;div id=“footer“&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
</pre>
<p>Dies ist unser einfaches HTML Gerüst. Das Tag „noscript“ ist dazu gedacht wenn im Browser kein JavaScript aktiviert ist eine Fehlermeldung herauszugeben.<br />
Nun binden wir unser CSS ein.</p>
<p><em><strong>CSS</strong></em></p>
<pre>
<pre class="brush: css">
@media all
{
   div#container
  {
     display:none;
  }
}
</pre>
</pre>
<p>Durch diese CSS deklaration wird nun garnichts gezeigt was in diesem Element mit inbregriffen ist.</p>
<p>Nun kommen wir zum JavaScript part. Um diesen Part umzusetzen nehmen wir das JavaScript Framework jQuery.  Dort nun wiederum setzen wir eine zweite CSS Regel. Das sieht dann folgend aus</p>
<p><em><strong>JavaScript / jQuery</strong></em></p>
<pre>
<pre class="brush: javascript">
$(document).ready(function()
{
 $(&#039;div#container&#039;).css({&#039;display&#039;:&#039;block&#039;});
 }
);
</pre>
</pre>
<p>Wenn unser Dokument geladen ist wird auch die seite angezeigt falls JavaScript aktiviert ist in unserem Browser.</p>
<p>So jetzt sin wir schon so gut wie fertig. Nur stylen wir nun noch ein wenig das Noscript Element<br />
<em><strong>CSS</strong></em></p>
<pre>
<pre class="brush: css">
noscript
{
 width:50%;
 margin-top:25%;
 margin-left:25%;
 text-align: left;
 height:50%;
 width:50%;
 padding: 5px 20px 5px 45px;
 border-top: 2px solid #ffd324;
 border-bottom: 2px solid #ffd324;
 background:#fff6bf;
}</pre>
</pre>
<p>So wenn nun kein JavaScript im Browser aktiviert ist wird uns eine Fehler Meldung ausgegeben.</p>
<p>Danken möchte ich noch <a href="http://twitter.com/fate__">Sven</a>(<a href="http://twitter.com/fate__">@fate__</a>) für seine kleine Hilfestellung. Und über konstruktive Kritik freue ich mich natürlich <img src='http://phphacker.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/y5g9YZh3mZ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2009/12/29/javascript-detection-mit-javascript-und-css/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://phphacker.net/2009/12/29/javascript-detection-mit-javascript-und-css/</feedburner:origLink></item>
		<item>
		<title>Von Nazis, Hackern, Datenschutz und Differenzierungen</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/xPdOQPB60Yg/</link>
		<comments>http://phphacker.net/2009/12/29/von-nazis-hackern-datenschutz-und-differenzierungen/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 13:23:12 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Interna]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1020</guid>
		<description><![CDATA[Die Nachricht schlug mal wieder ein wie eine Bombe: Hacker knacken Nazi-Flirtbörse und stellen Benutzerdaten ins Netz (sinngemäß). Ob man nun eher Links angehaucht ist oder nicht, eigentlich hat jeder der selbst keiner ist ein Problem mit Nazis. Insofern war der Zuspruch auf die Nachricht im Netz auch zunächst einmal positiv. Gute Sache. Toll. Epic [...]]]></description>
			<content:encoded><![CDATA[<p>Die Nachricht schlug mal wieder ein wie eine Bombe: <a href="http://www.heise.de/newsticker/meldung/26C3-Flirtboerse-der-rechten-Szene-gehackt-893403.html">Hacker knacken Nazi-Flirtbörse und stellen Benutzerdaten ins Netz</a><span> (sinngemäß). Ob man nun eher Links angehaucht ist oder nicht, eigentlich hat jeder der selbst keiner ist ein Problem mit Nazis. Insofern war der Zuspruch auf die Nachricht im Netz auch zunächst einmal positiv. Gute Sache. Toll. <span>Epic</span> <span>Win</span>! Ich persönlich bin der selben <span>meinung</span> gewesen. Dann aber huschte </span><a href="http://twitter.com/evebugs/status/7158333046"><span>dieser <span>Tweet</span> von <span>Evelyne</span></span></a><span> durch mei<span>ne</span> <span>Timeline</span>:</span></p>
<blockquote><p><em><span><span>leute</span> vom </span><a title="#26c3" href="http://twitter.com/search?q=%2326c3">#26c3</a><span> habt ihr sie noch alle? <span>ne</span> <span>seite</span> hacken ist ei<span>ne</span> <span>sache</span>, aber <span>daten</span> der <span>benutzer</span> ins <span>netz</span> stellen? so viel zum <span>datenschutz</span>&#8230;</span></em></p></blockquote>
<p><span><span>Mhm</span>. Irgendwo hat sie doch Recht. Setzt man sich doch für Datenschutz ein, will dem Staat keinen uneingeschränkten Zugriff auf sein digitales <span>Bewegungsmuster</span> gestatten. Wettert gegen die <span>Datenkrake</span>, weint aber <span>rum</span>, wenn die Suche mal <span>down</span> ist. Ich bin jemand, der sei<span>ne</span> Ansichten ger<span>ne</span> mal hinterfragt. So auch in diesem Fall. Darf man <span>sowas</span>?</span><span id="more-1020"></span><span>Nach reiflicher <span>Überlegung</span>: Ja, darf man. Ich würde es als einen Fall von &#8220;digitaler Notwehr&#8221; bezeichnen. Lässt man Menschen mit rechtsextremen Gedankengut Freiraum, so macht man sich indirekt schuldig für das, was dieses anrichtet. Was das ist, kann man so gut wie täglich in der Zeitung lesen: Da werden &#8220;Schwarzafrikaner&#8221; die eigentlich Italiener sind totgeprügelt, da werden Brandsätze auf Asylbewerberunterkünfte geworfen, da werden Menschen an der freien Entfaltung Ihrer Persönlichkeit gehindert, weil Ignoranz und Fremdenhass wie Gift dem nach <span>Polarisierung</span> lechzenden Mob entgegengespuckt wird. Ich persönlich möchte mich dafür nicht verantwortlich zeichnen.</span></p>
<p>Die Welt ist nun einmal nicht schwarz und nicht weiß, die Welt ist nach wie vor ein Sammelsurium von vielen verschiedenen Grautönen und man muss jeden Schritt den man tut, jeden Gedanken den man denkt und jede Meinung die man hat immer wieder neu bewerten und kann keine Schablone anwenden. Tut man das doch, hat man einen Punkt erreicht, den man guten Gewissens als &#8220;geistigen Stillstand&#8221; bezeichnen kann. Damit will ich keinesfalls sagen, dass Leute, die sich negativ über die Verbreitung der oben genannten Daten äußern dem entsprechen. Was ich aber damit sagen will: Man kann nicht mit einer- oder zweierlei Maß messen. Man braucht für jede Situation ein neues.</p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/xPdOQPB60Yg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2009/12/29/von-nazis-hackern-datenschutz-und-differenzierungen/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		<feedburner:origLink>http://phphacker.net/2009/12/29/von-nazis-hackern-datenschutz-und-differenzierungen/</feedburner:origLink></item>
		<item>
		<title>Wusstest du schon …</title>
		<link>http://feedproxy.google.com/~r/DerPhpHacker/~3/67MIGhsYZCY/</link>
		<comments>http://phphacker.net/2009/12/29/wusstest-du-schon-2/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 11:29:45 +0000</pubDate>
		<dc:creator>Cem Derin</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phphacker.net/?p=1016</guid>
		<description><![CDATA[&#8230; dass Type Hints auf Arrays gemacht werden können? Im Gegensatz zu Primitiven Datentypen wie Strings, Integer oder Boolean kann man also in Methoden- und Funktionssignaturen  auch Arrays verlangen.
Type Hints sind eine bequeme und robuste Möglichkeit, die erwarteten Datentypen zu prüfen, bzw von PHP prüfen zu lassen. Dazu wird der Datentyp (bzw. die zu erwartete [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; dass Type Hints auf Arrays gemacht werden können? Im Gegensatz zu Primitiven Datentypen wie Strings, Integer oder Boolean kann man also in Methoden- und Funktionssignaturen  auch Arrays verlangen.</p>
<p>Type Hints sind eine bequeme und robuste Möglichkeit, die erwarteten Datentypen zu prüfen, bzw von PHP prüfen zu lassen. Dazu wird der Datentyp (bzw. die zu erwartete Klasse) einfach vor den Parameter in die Signatur geschrieben. Verwende ich beispielsweise eine Signatur wie folgende &#8230;</p>
<pre>
<pre class="brush: php">

     function foo(Array $bar, Foo_Bar $buzz)
</pre>
</pre>
<p>&#8230; weise ich PHP so an, dass der erste Parameter &#8220;bar&#8221; vom Typ Array sein muss. Der zweite &#8220;buzz&#8221; allerdings kann vom Typ &#8220;Foo_Bar&#8221; sein &#8211; oder von diesem abgeleitet sein. Man kann hier also auch jede Kindklasse übergeben.</p>
<p><em>Während den Tagen bis zum neuen Jahr werde ich immer mal wieder ein bisschen aus dem Trick- und Nähkästchen plaudern. Die arbeiten an Brawler stagnieren derzeit ob des Fresskomas unter dem ich grade leide, aber da mich mein gähnend Leerer Feedreader annervt, will ich wenigstens dazu beitragen, dass ein wenig passiert.</em></p>
<img src="http://feeds.feedburner.com/~r/DerPhpHacker/~4/67MIGhsYZCY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://phphacker.net/2009/12/29/wusstest-du-schon-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://phphacker.net/2009/12/29/wusstest-du-schon-2/</feedburner:origLink></item>
	</channel>
</rss>
