<?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>kTHXbye</title>
	<atom:link href="http://blog.kthxbye.us/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kthxbye.us</link>
	<description>Quis custodiet ipsos custodes?</description>
	<lastBuildDate>Wed, 27 Apr 2011 14:32:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Quote of the Day</title>
		<link>http://blog.kthxbye.us/2011/04/27/quote-of-the-day-34/</link>
		<comments>http://blog.kthxbye.us/2011/04/27/quote-of-the-day-34/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 14:32:24 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[quote of the day]]></category>

		<guid isPermaLink="false">http://blog.kthxbye.us/?p=971</guid>
		<description><![CDATA[14:40:24 Beha: hey? 14:40:46 Beha: hast du n geheimtipp, was als thema sensor der zukunft bzw ideen der zukunft gesehen werden könnte? 14:40:57 Beha: ich dachte grad an smarte sensoren wegen ibm auch, aber des gibs shcon seit 08 15:00:23: Beha signed off (was Online) 15:24:03: Beha signed on (Online) 15:24:56 Me: alles in richtung [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>14:40:24 Beha: hey?<br />
14:40:46 Beha: hast du n  geheimtipp, was als thema sensor der zukunft bzw ideen der zukunft gesehen  werden könnte?<br />
14:40:57 Beha: ich dachte grad an smarte sensoren wegen ibm  auch, aber des gibs shcon seit 08<br />
15:00:23: Beha signed off (was  Online)<br />
15:24:03: Beha signed on (Online)<br />
15:24:56 Me: alles in richtung  robotik<br />
15:25:14 Beha:  robotik is ja nichts mit sensoren oder?</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2011/04/27/quote-of-the-day-34/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Documentation and how you should&#8217;nt do it</title>
		<link>http://blog.kthxbye.us/2010/04/09/code-documentation-and-how-you-shouldnt-do-it/</link>
		<comments>http://blog.kthxbye.us/2010/04/09/code-documentation-and-how-you-shouldnt-do-it/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 21:54:45 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[Unileben]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[make it work]]></category>

		<guid isPermaLink="false">https://blog.kthxbye.us/?p=960</guid>
		<description><![CDATA[Da ich zur Zeit mit jemandem ein kleines Projekt fuer die Uni bastle &#8211; ein neuronales Netz, Abgabe naechsten Mittwoch &#8211; hat man das Vergnuegen sich des oefteren mit fremden Code zu befassen: while (!learned) { NN.apply(); for (j = 0; j &#60; another_number; j++) { o[j] = NN.getOutput(j); } for (j = 0; j [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich zur Zeit mit jemandem ein kleines Projekt fuer die Uni bastle &#8211; ein neuronales Netz, Abgabe naechsten Mittwoch &#8211; hat man das Vergnuegen sich des oefteren mit fremden Code zu befassen:</p>
<pre class="brush: c#">
while (!learned)
{
NN.apply();

for (j = 0; j &lt; another_number; j++)
{
o[j] = NN.getOutput(j);
}

for (j = 0; j &lt; another_number; j++)
t[j] = teach[i, j];

error = NN.energy(ref t, ref o);

if (error &gt; NN.getEpsilon())
{
NN.backpropagate(t);
}
else
learned = true;
}
</pre>
<p>Wenn man sowas liest, dann fragt man sich doch unter anderem, was ist eigentlich <em>another_number</em>? Auf jeden Fall eine andere Zahl &#8211; aber anders als welche? Und warum muss sie anders sein? Schauen wir mal an anderer Stelle im qualitativ hochwertig kommentierten Quellcode &#8482;:</p>
<pre class="brush: c#">
int number = 5;               // actually, this is the number of examples
int another_number = 5;       // number of output neurons
int iterations = 0;</pre>
<p><em>Another_number</em> ist also eine Fachbezeichnung fuer die Anzahl der Ausgabeneuronen in einem neuronalen Netz m(. Mir persoenlich waere allerdings ein Name wie <em>outputNeuronCount</em> lieber gewesen.</p>
<p>Mein persoenliches Highlight findet sich aber hier:</p>
<pre class="brush: c#">
// set teaching input
for (int icsharpsucksiknowwhatimdoing = 0; icsharpsucksiknowwhatimdoing &lt; 5; icsharpsucksiknowwhatimdoing++)
teach[icsharpsucksiknowwhatimdoing, icsharpsucksiknowwhatimdoing] = 1;
</pre>
<p>Sieht aus als haette C# ihn an dieser Stelle irgendwie geaergert. Nun denn, unter Zeitdruck wirft man wohl die ein oder andere Richtlinie aus den Softwareengineeringvorlesungen ueber Board &#8211; getreu nach dem Motto MAKE IT WORK BITCH!!!11</p>
<p>Die Absicht meiner Worte zur naechtlichen Stunde ist es, dem ein oder anderen Code-in-die-Tastatur-Klopper doch einmal ins Gewissen zu rufen, dass man auch sauber und lesbar programmieren kann, auch wenn es mal eine Minute laenger dauert sich beispielsweise einen sinnvollen Variablennamen oder eine Zeile Kommentar auszudenken (ich schliesse mich da auch nicht direkt aus).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/04/09/code-documentation-and-how-you-shouldnt-do-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blockierende Sessions in PHP</title>
		<link>http://blog.kthxbye.us/2010/03/27/blockierende-sessions-in-php/</link>
		<comments>http://blog.kthxbye.us/2010/03/27/blockierende-sessions-in-php/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 16:43:24 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[blocking sites]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">https://blog.kthxbye.us/?p=955</guid>
		<description><![CDATA[Wenn ihr oft mit PHP Skripte schreibt ist es euch vielleicht schonmal aufgefallen. Solange die PHP-Seite lädt kann eine weitere nicht angezeigt werden. Die zweite Seite &#8220;hängt&#8221; dann einfach. Das fällt vorallem bei Downloadscripts auf. Wenn der Download läuft kann man die Seite selbst nicht mehr aufrufen. Das Problem tritt allerdings nur auf, wenn man [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn ihr oft mit PHP Skripte schreibt ist es euch vielleicht schonmal aufgefallen. Solange die PHP-Seite lädt kann eine weitere nicht angezeigt werden. Die zweite Seite &#8220;hängt&#8221; dann einfach. Das fällt vorallem bei Downloadscripts auf. Wenn der Download läuft kann man die Seite selbst nicht mehr aufrufen. Das Problem tritt allerdings nur auf, wenn man Sessions verwendet. Um das Problem zu verstehen, sollte man wissen, wie Sessions in PHP funktionieren.<span id="more-955"></span></p>
<p>Mit der Funktion <a href="http://de.php.net/session_start" target="_blank">session_start</a> kann ein Script nicht nur Daten in der serverseitigen Session speichern, sondern bekommt auch einen exklusiven Lock auf diese. In dem Moment können andere Scripts die Session nicht benutzen. Die Funktion im zweiten Script wartet dann, bis das erste Script den Lock wieder freigibt und lockt danach die Session für sich selbst. Dies ist recht sinnvoll, da so Seiteneffekte ausgeschlossen werden, da nur ein Script Daten in der Session modifizieren kann.</p>
<p>Problematisch wird das Konzept bei zeitintensiven Aufgaben. Da PHP eine Session automatisch erst am Ende der Laufzeit eines Scripts wieder freigibt bleibt der Lock solange bestehen bis das Script abgearbeitet ist. Zum Beispiel ein Download:</p>
<pre class="brush: php">session_start();

authenticationstuff();

// Wir werden eine PDF Datei ausgeben
header(&#039;Content-type: application/pdf&#039;);

// Es wird downloaded.pdf benannt
header(&#039;Content-Disposition: attachment; filename=&quot;downloaded.pdf&quot;&#039;);
// Die originale PDF Datei heißt original.pdf
readfile(&#039;original.pdf&#039;);</pre>
<p>Während der Download der PDF-Datei läuft kann also keine weitere Seite aufgerufen werden, die session_start benutzt. Umgehen kann man das ganze recht einfach, indem man die Session schließt, nachdem man alle relevanten Bearbeitungen an ihr vorgenommen hat:</p>
<pre class="brush: php">session_start();
authenticationstuff();

// session schließen und freigeben
session_write_close();

// Wir werden eine PDF Datei ausgeben
header(&#039;Content-type: application/pdf&#039;);

// Es wird downloaded.pdf benannt
header(&#039;Content-Disposition: attachment; filename=&quot;downloaded.pdf&quot;&#039;);
// Die originale PDF Datei heißt original.pdf
readfile(&#039;original.pdf&#039;);</pre>
<p>Die Session wird so vor dem zeitintensivem Download wieder freigegeben und weitere Seiten können ohne Probleme aufgerufen werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/03/27/blockierende-sessions-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stoppt Elena</title>
		<link>http://blog.kthxbye.us/2010/03/26/stoppt-elena/</link>
		<comments>http://blog.kthxbye.us/2010/03/26/stoppt-elena/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 16:29:50 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[Real Life]]></category>
		<category><![CDATA[elena]]></category>
		<category><![CDATA[foebud]]></category>
		<category><![CDATA[Verfassungsklage]]></category>

		<guid isPermaLink="false">https://blog.kthxbye.us/?p=953</guid>
		<description><![CDATA[Nahezu 20.000 Unterschriften für die Verfassungsklage gegen ELENA sind beim FoeBuD (Verein zur Förderung des öffentlichen bewegten und unbewegten Datenverkehrs e. V.) bereits eingegangen. Aber worum gehts eigentlich genau? „ELENA“ ist eine Abkürzung für „Elektronischer EntgeltNachweis“. Es handelt sich um ein Projekt der Bundesregierung, das früher auch als „Job-Card-Projekt“ bezeichnet worden ist. Nach dem am 28.3.2009 [...]]]></description>
			<content:encoded><![CDATA[<p>Nahezu 20.000 Unterschriften für die Verfassungsklage gegen ELENA sind beim <strong>FoeBuD</strong> (<em>Verein zur Förderung des öffentlichen bewegten und  unbewegten Datenverkehrs e. V.</em>) bereits eingegangen. Aber worum gehts eigentlich genau?</p>
<blockquote><p>„ELENA“ ist eine Abkürzung für „Elektronischer EntgeltNachweis“.</p>
<p>Es handelt sich um ein Projekt der Bundesregierung, das früher auch  als „Job-Card-Projekt“ bezeichnet worden ist.</p>
<p>Nach dem am 28.3.2009 im Bundesrat verabschiedeten dazugehörigen  Gesetz muss seit dem 1.1.2010 jeder Arbeitgeber für jeden seiner  Beschäftigten (Angestellte, Arbeiter, Beamte, Richter und Soldaten)  einmal pro Monat einen Datensatz übermitteln. In diesem Datensatz sind  eine große Anzahl persönlicher Angaben über die erfasste Person  enthalten.</p>
<p>Mit Hilfe dieser Daten sollen dann ab dem 1.1.2012 die Arbeits- und  Sozialämter schneller und einfacher entscheiden können, ob und in  welcher Höhe jemand Anrecht auf Sozialleistungen hat oder auch nicht. Gespeichert werden:</p>
<ul>
<li>Bruttoentgelt und Steuerklasse</li>
<li>Kinderfreibetrag</li>
<li>Angaben zur Tätigkeit, wöchentliche Arbeitszeit</li>
<li>Renten-, Sozialversicherungs-, Arbeitslosen- und  Pflegeversicherungabzüge</li>
<li>Lohnsteuer, Solidaritätszuschlag, Kirchensteuer</li>
<li>Name und Anschrift, Geburtsort, -datum und -name</li>
<li>Angaben zu Arbeitgeber und Betrieb</li>
<li>Anzahl, Beginn und Ende sowie „Arten“ von Fehlzeiten (z.B.  Krankheit, Mutterschutz, Pflegezeit, Elternzeit, Wehrdienst/Zivildienst,  usw.)</li>
<li>Höhe und Art sonstiger steuerpfl. Bezüge (Weihnachts- u.  Urlaubsgeld, zusätzl. Monatsgehälter, Gratifikationen,Tantiemen,  Urlaubsabgeltungen, Abfindungen …)</li>
<li>Höhe und Art von steuerfreien Bezügen (z.B.  Pensionskasse-Zuwendungen durch den Arbeitgeber, Kurzarbeitergeld,  steuerfreie Fahrtkostenzuschüsse, Zuschüsse bei Mutterschaft usw.)</li>
<li>Zeitpunkt des Beginns sowie voraussichtliches und tatsächliches  Ende einer Ausbildung</li>
<li>Arbeitgeber-Zuschuss zur freiwilligen Kranken- und  Pflegeversicherung</li>
<li>Grund von Arbeitszeitänderungen</li>
<li>Arbeitsstunden – aufgeschlüsselt in Arbeitsstunden jeder einzelnen  Kalenderwoche des Monats</li>
<li>Urlaubsanspruch und tatsächlich genommene Urlaubstage,  Urlaubsentgelt</li>
<li>Angaben zu befristeten Arbeitsverhältnissen</li>
<li>Angaben zu Entlassungen und Kündigungen</li>
<li>Auskunft über bereits erfolgte Abmahnungen im Vorfeld von  Kündigungen</li>
<li>Schilderung von „vertragswidrigen Verhalten“ des  Angestellten/Arbeiters</li>
<li>Vorruhestandsleistungen und -gelder, Abfindungen</li>
</ul>
</blockquote>
<p>Da die unabhaengige Vorratsdatenspeicherung dieser Daten verfassungsrechtlich mindestens bedenklich sind, kann ähnlich zur Verfassungsklage gegen die Vorratsdatenspeicherung kann dagegen vorgegangen werden. Da die einjährige Beschwerdemöglichkeit nahezu abgelaufen ist, sollte dies recht zeitnah erfolgen. Unter <a href="http://www.stoppt-elena.de" target="_blank">www.stoppt-elena.de</a> kann man sich kostenlos registrieren. Dies beinhaltet allerdings auch den Versand eines Briefes mit Unterschrift. Diese Briefe werden noch bis zum 29.03.2010 angenommen. Wenn man den Brief am Wochenende noch wegschickt, könnte dieser also auch mitgezählt werden. Da die Vorratsdatenspeicherung auch auf Eis gelegt wurde denke ich, dass wir auch diesmal erfolgreich sein können.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/03/26/stoppt-elena/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubisoft oder wie man mit DRM alles falsch macht</title>
		<link>http://blog.kthxbye.us/2010/03/21/ubisoft-oder-wie-man-mit-drm-alles-falsch-macht/</link>
		<comments>http://blog.kthxbye.us/2010/03/21/ubisoft-oder-wie-man-mit-drm-alles-falsch-macht/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 17:18:28 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[assassins creed 2]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[silenthunter 5]]></category>
		<category><![CDATA[ubisoft]]></category>

		<guid isPermaLink="false">https://blog.kthxbye.us/?p=945</guid>
		<description><![CDATA[Waehrend man bei den Musikfirmen langsam merkt, dass DRM (Digital Rights Management) aufgrund seiner Probleme nicht das Werkzeug ist um gewinnbringend Content zu den Nutzern zu bringen, versucht es Ubisoft damit nun bei seinen Spielen. DRM hat sich im Musikbusiness nicht durchgesetzt, da damit zuviele Probleme und Inkompatibilitaeten aufgetreten sind. Viele MP3-Player koennen damit nicht [...]]]></description>
			<content:encoded><![CDATA[<p>Waehrend man bei den Musikfirmen langsam merkt, dass DRM (Digital Rights Management) aufgrund seiner Probleme nicht das Werkzeug ist um gewinnbringend Content zu den Nutzern zu bringen, versucht es Ubisoft damit nun bei seinen Spielen. DRM hat sich im Musikbusiness nicht durchgesetzt, da damit zuviele Probleme und Inkompatibilitaeten aufgetreten sind. <span id="more-945"></span>Viele MP3-Player koennen damit nicht umgehen und am Beispiel des Yahoo Shops, der nach ein paar Monaten einfach den Verkauf einstellte und die Lizensserver herunter fuhr sieht man, dass man mit DRM absolut abhaengig vom eigentlichen Contentprovider ist. Ist der naemlich nicht mehr verfuegbar kann der Content nicht genutzt werden. Das haben auch die Spieler der beiden neuen Spiele von Ubisoft gemerkt, Assassins Creed 2 und Silent Hunter 5 waren trotz 50 Euro-Investition nicht spielbar &#8211; die Ubisoft-DRM-Server waren nicht erreichbar. Ubisoft setzt bei seinem neuen Kopierschutz auf eine staendige Internetverbindung des Spielers. Die Logik, warum bei einem Einzelspielerspiel eine Internetverbindung verfuegbar sein muss, wird sich dem durchschnittlichen Kaeufer wahrscheinlich eher nicht erschliessen.</p>
<p>Das Prinzip ist relativ einfach. Wenn ein neues Level gestartet werden soll stellt der Spielclient eine Anfrage an die Ubisoftserver und erhaelt Daten, die es erst moeglich machen das Level selbst zu starten. Ubisoft hat also die volle Kontrolle ueber den Spielverlauf. Ubisoft hat dadurch Kontrolle ueber alle legitimen Kaeufer und kann Kopien ohne korrekte Aktivierung ausschliessen. Dies scheint (noch) relativ gut zu funktionieren, es gibt fuer beide Spiele zwar Cracks, welche das Starten groesstenteils moeglich machen, diese funktionieren anscheinend aber noch nicht fehlerfrei.Ein weiterer Vorteil den Ubisoft mit diesem System hat ist die Eindaemmung des Gebrauchtspielverkaufs. Wenn das Spiel einmal aktiviert wurde ist es vortan nur noch mit dem eigenen Ubiaccount benutzbar, welcher wohl ungern verkauft werden wird, da er an die persoenlichen Daten und die Emailadresse gebunden ist. Ein Uebergeben des Datentraegers ist also nicht mehr ausreichend.</p>
<p>Insgesamt erhaelt Ubisoft nun zwei Vorteile fuer die Verbraucher jedoch mit einigen Einschraenkungen zahlen. Da waere zum einen die erschwerte Wiederverkaufbarkeit des Spiels und zum anderen der staendige Onlinezwang. Eine Runde unterwegs zu spielen ist also nur eingeschraenkt moeglich und erfordert mobile Datentarife die verhaeltnismaessig teuer sind.</p>
<p>Fuer den Nutzer bringt DRM nur Einschraenkungen und keine Vorteile. Vor einigen Tagen kam es zudem zu Problemen mit den Ubisoftservern, sodass die Spiele ueber Tage hinweg, auch mit Internetanbindung, nicht spielbar waren. Die Server waren schlichtweg nicht erreichbar. Laut einer Pressemitteilung von Ubisoft wurden die Server mit DoS-Attacken lahmgelegt, was dem gefrusteten Spieler jedoch relativ egal gewesen sein duerfte.</p>
<p>In den letzten Jahren hat sich gezeigt, dass Spielepiraten weniger Probleme mit den Spielen hatten als jene, welche sich das Spiel original fuer viel Geld gekauft haben. Es gibt kein nerviges DVD-Wechseln, keine Onlineaktivierung, kein Steam, Seriennummern muessen nicht abgetippt werden und je nach Kopierschutz verringern sich sogar die Ladezeiten beim Starten des Spiels. Auch Ubisoft weiss das und hat <a href="https://blog.kthxbye.us/2008/07/07/ubisoft-behebt-fehler-mit-nodvd-cracks/" target="_blank">vor einer Zeit</a> einen Crack der Gruppe <a href="http://www.xrel.to/game-nfo/16500/Splinter-Cell-Chaos-Theory-RELOADED.html" target="_blank">RELOADED</a> fuer das Spiel Rainbow Six Vegas 2 als Patch angeboten weil der Kopierschutz Probleme verursachte.</p>
<p>Eine Frage ist nun, wie lange Ubisofts &#8220;Geniestreich&#8221; den Piraten standhaelt. Prinzipiell ist alles was im Betriebssystemkontext auf dem Nutzerrechner laeuft crackbar. An irgendeiner Stelle wird schliesslich der ungeschuetzte Originalcode des Spiels im Prozessor verarbeitet. Sobald ein neuartiger Kopierschutz auf den Markt kommt, hat dieser den Vorteil unbekannt zu sein, d.h. bekannte Techniken zur Umgehung koennen nicht angewendet werden. Es kommt somit aber meist nur auf die Zeit und den Willen der Cracker an. Ein besonderes Beispiel ist der Kopierschutz Starforce in Splinter Cell 3. Es verging fast ein Jahr bis dieser ausgehebelt wurde. Im Endeffekt laeuft es immer auf ein Katz und Mausspiel hinaus, dass bisher jedes mal die Cracker gewonnen haben. Im Falle Ubisofts kommt allerdings hinzu, dass fuer alle moeglichen Wege des Spiels die Daten vom Ubisoftserver benoetigt werden. Vielleicht sehen wir ja in nicht allzuferner Zeit Serveremulatoren aehnlich zu Steam oder WOW, mit denen es moeglich ist ohne Internetverbindung und somit auch ohne Abhaengigkeit von Ubisoft &#8211; auch unterwegs &#8211; die Spiele zu spielen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/03/21/ubisoft-oder-wie-man-mit-drm-alles-falsch-macht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Suchtspiel</title>
		<link>http://blog.kthxbye.us/2010/03/17/suchtspiel/</link>
		<comments>http://blog.kthxbye.us/2010/03/17/suchtspiel/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 09:37:04 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[Web Stuff]]></category>

		<guid isPermaLink="false">https://blog.kthxbye.us/?p=939</guid>
		<description><![CDATA[Waehrend man das millionenverschlingende Modern Warefare 2 in 4h durchspielen kann, haengt man an diesen Flashgames praktisch ewig. Ich werde mich nie wieder auf sowas einlassen Tower Defense]]></description>
			<content:encoded><![CDATA[<p><a href="https://blog.kthxbye.us/wp-content/uploads/2010/03/towerdefense.png" class="lightview" rel="gallery[939]" title="towerdefense"><img class="aligncenter size-medium wp-image-938" title="towerdefense" src="https://blog.kthxbye.us/wp-content/uploads/2010/03/towerdefense-300x251.png" alt="" width="300" height="251" /></a></p>
<p>Waehrend man das millionenverschlingende Modern Warefare 2 in 4h durchspielen kann, haengt man an diesen Flashgames praktisch ewig. Ich werde mich nie wieder auf sowas einlassen <img src='http://blog.kthxbye.us/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://www.chilloutzone.to/game/das-spiel-zum-sonntag-mini-tower-defence.html">Tower Defense</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/03/17/suchtspiel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google als SMS Gateway benutzen</title>
		<link>http://blog.kthxbye.us/2010/03/09/google-als-sms-gateway-benutzen/</link>
		<comments>http://blog.kthxbye.us/2010/03/09/google-als-sms-gateway-benutzen/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 18:50:59 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[Web Stuff]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">https://blog.kthxbye.us/?p=927</guid>
		<description><![CDATA[Beim Entwickeln von Monitoringanwendungen kommt man ab und zu zu dem Punkt, an dem man sich fragt, wie man den Benutzer im Falle eines schwerwiegenden Problems schnell benachrichtigt. Eine Email ist in der Regel doch zu langsam, da der Benutzer nicht den ganzen Tag sein Postfach überwacht. Eine andere Benachrichtigungsmöglichkeit stellt SMS dar. Ein Handy [...]]]></description>
			<content:encoded><![CDATA[<p>Beim Entwickeln von Monitoringanwendungen kommt man ab und zu zu dem Punkt, an dem man sich fragt, wie man den Benutzer im Falle eines schwerwiegenden Problems schnell benachrichtigt. Eine Email ist in der Regel doch zu langsam, da der Benutzer nicht den ganzen Tag sein Postfach überwacht. Eine andere Benachrichtigungsmöglichkeit stellt SMS dar. Ein Handy hat man praktisch immer dabei. Allerdings kosten SMS Gateways Geld, für Privatkunden liegen die Preise zwischen 5 und 9C pro SMS. Sofern man die SMS immer an die gleiche Nummer schicken will, lassen sich diese Kosten jedoch umgehen. An diesem Punkt kommt Google ins Spiel.<span id="more-927"></span></p>
<p>Google bietet seinen Gmailnutzern einen Calendarservice an, mit dem es möglich ist SMS-Erinnerungen für Termine festzulegen. In diesen Erinnerungen steht der Titel sowie der Ort des Eintrags. Das Prinzip ist also recht einfach. Man erstellt einen Termin mit dem SMS Text als Titel im Kalender, fügt eine SMS-Benachrichtigung hinzu und schon schickt Google die Nachricht an die Handynummer, die dem Googleaccount zugeordnet wurde.</p>
<p>Die Schwierigkeit besteht lediglich darin diesen Eintrag zu automatisieren. Dafür stellt Google jedoch eine <a href="http://code.google.com/apis/calendar/data/1.0/developers_guide_php.html">API</a> bereit. Ich habe in PHP eine Klasse geschrieben mit der es möglich ist SMS zu verschicken, sodass nur ein paar Sekunden vergehen, bis diese dann tatsächlich auf dem Handy eintreffen. Zusätzlich benötigt man das Zend Framework mit Gdata.</p>
<p>Die Benutzung meiner Klasse ist verhältnismäßig einfach. Allerdings sollte sie nur als eine Art VHIT-Prototyp (vom Hirn ins Terminal) gesehen werden. Man kann einige Dinge wahrscheinlich besser lösen.</p>
<pre class="brush: php">
// load class
require &#039;googlesms.php&#039;;
// set login data
//$test = new googleSMS(&quot;bla@gmail.com&quot;, &quot;securepass&quot;);
$test = new googleSMS(); // uses default data from googlesms.php
// set the time offset of the calendar to UTC+1
$test-&gt;setCalendarTZOffset(&quot;+01&quot;);
// set compensatory time to synch google and server time to 30sec ahead
$test-&gt;setTimeAdjust(30);
// define from who the sms will be sent
$test-&gt;setSenderName(&quot;SMS Sender&quot;);
// set message of the sms
$test-&gt;setMessage(&quot;Testmessage&quot;);

// send the sms
$test-&gt;send();
// delete old sent sms
$test-&gt;deleteOlderEntries();
</pre>
<p><a title="Download googlesms.rar" href="https://blog.kthxbye.us/downloads/googlesms.rar">Download Klasse</a> <a title="Zend Framework Google Data" href="http://framework.zend.com/download/webservices">Download Zend Framework</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/03/09/google-als-sms-gateway-benutzen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows 7 und Wake On Lan</title>
		<link>http://blog.kthxbye.us/2010/02/03/windows-7-und-wake-on-lan/</link>
		<comments>http://blog.kthxbye.us/2010/02/03/windows-7-und-wake-on-lan/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 22:37:38 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[nforce 4]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[wakeonlan]]></category>
		<category><![CDATA[windows 7]]></category>
		<category><![CDATA[wol]]></category>

		<guid isPermaLink="false">http://kthxbye.us/?p=924</guid>
		<description><![CDATA[WakeOnLan oder kurz auch WOL ist ein Feature um einen heruntergefahrenen Rechner ueber das Netzwerk wieder hochzufahren. Dummerweise unterstuetzt Windows 7 WakeOnLan from PowerOff nicht standardmaessig im Zusammenhang mit Nvidias nforce 4 Chipsaetzen. Loesen laesst sich dieses Problem allerdings mit den Vistatreibern fuer die Netzwerkkarte. Diese findet man hier. Sobald man zum Auswahlbildschirm kommt waehlt [...]]]></description>
			<content:encoded><![CDATA[<p>WakeOnLan oder kurz auch WOL ist ein Feature um einen heruntergefahrenen Rechner ueber das Netzwerk wieder hochzufahren. Dummerweise unterstuetzt Windows 7 WakeOnLan from PowerOff nicht standardmaessig im Zusammenhang mit Nvidias nforce 4 Chipsaetzen. Loesen laesst sich dieses Problem allerdings mit den Vistatreibern fuer die Netzwerkkarte. Diese findet man <a href="http://www.nvidia.com/object/nforce_vista64_15.23.html">hier</a>. Sobald man zum Auswahlbildschirm kommt waehlt man alle Treiber bis auf den Netzwerktreiber ab und installiert diesen. Im Geraetemanager kann man nun in den Eigenschaften der Netzwerkkarte WakeOnLan from PowerOff auf Enabled setzen.</p>
<p>Jetzt laesst sich auch Windows 7 wieder per WOL hochfahren.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/02/03/windows-7-und-wake-on-lan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Memory Book</title>
		<link>http://blog.kthxbye.us/2010/01/24/the-memory-book/</link>
		<comments>http://blog.kthxbye.us/2010/01/24/the-memory-book/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 13:32:23 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[Unileben]]></category>

		<guid isPermaLink="false">http://kthxbye.us/?p=915</guid>
		<description><![CDATA[The Memory Book: The Classic Guide to Improving Your Memory at Work, at School, and at Play The Memory Book bei Amazon Wer kennt es nicht, man ist auf einer Party und wird plötzlich angesprochen. Man kennt diese Person aber man kommt einfach nicht auf den Namen. Da heißt es geschickt rundherum reden und hoffen, [...]]]></description>
			<content:encoded><![CDATA[<h2>The Memory Book: The Classic Guide to Improving Your Memory at Work, at School, and at Play</h2>
<p style="text-align: center;"><a href="http://www.amazon.de/gp/product/0345337581?ie=UTF8&amp;tag=ba07-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=0345337581"><img class="aligncenter" src="http://ecx.images-amazon.com/images/I/512ZKDPNZML._SL160_.jpg" alt="" width="97" height="160" /><br />
The Memory Book bei Amazon</a></p>
<p>Wer kennt es nicht, man ist auf einer Party und wird plötzlich angesprochen. Man kennt diese Person aber man kommt einfach nicht auf den Namen. Da heißt es geschickt rundherum reden und hoffen, dass das Gesräch ein kurzes wird. Anderes Szenario, ähnliches Problem. Mitten in einer Präsentation fällt einem nicht mehr ein, was man an dieser Stelle sagen wollte, die Erinnerung ist wie ausgelöscht.<span id="more-915"></span></p>
<p>Das Memory Book befasst sich mit genau dieser Thematik. Wie merkt man sich schwer merkbare Dinge wie Wortlisten, Reihenfolgen, Namen, Nummern&#8230; Dabei geht behandelt das Buch so genannte Memory Systems &#8211; Systeme mit denen man sich bestimmte Sachen einfach merken kann. Diese sind meist sehr trivial, funktionieren aber nach etwas Übung unglaublich gut. Die meisten dieser Systeme bauen auf unnatürlichen Zusammenhängen. Um sich Namen zu merken spricht man diese bspw. im Kopf rückwärts oder mit den Buchstaben in alphabetischer Reihenfolge aus. Da diese Namen dann sehr unnatürlich und außergewöhnlich klingen merkt sich das Gehirn diese einfacher. Vom verunstalteten Namen dann auf den richtigen Namen zu schließen ist meist recht einfach.</p>
<blockquote><p>Bsp: Elke<br />
rückwärts: Ekle<br />
sortiert: Eekl</p></blockquote>
<p>Assoziiert man jetzt noch das Wort &#8220;Ekel&#8221; mit der entsprechenden Person ist der Name praktisch unvergessbar.</p>
<p>Im Buch selbst werden noch einige andere Systeme zum Merken spezieller Sachen beschrieben und erklärt. Da ich ein sehr vergesslicher Typ bin, zumindest was Namen oder ähnliches betrifft, hat mir das Buch in dem Belang sehr geholfen. Mir gefällt allerdings nicht unbedingt wie es geschrieben ist. Das Buch ist als eine Art Dialog zwischen zwei Personen, die diese Memory Systeme exzessiv nutzen und für sich verbessern aufgebaut und wirkt in einigen Abschnitten wie eine Art Verkaufsveranstaltung. Dennoch halte ich das Buch für sehr empfehlenswert. Meine Geschichtsnoten im Abi wären, hätte ich das Buch schon vorher gekannt, durchaus um einiges besser gewesen. Ein weiter Nachteil für einige ist vielleicht aber auch, dass das Buch in Englisch verfasst ist.</p>
<p>Bei einem Preis von nichtmal 5€ kann man allerdings nicht so viel falsch machen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/01/24/the-memory-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>quote of the day</title>
		<link>http://blog.kthxbye.us/2010/01/15/quote-of-the-day-33/</link>
		<comments>http://blog.kthxbye.us/2010/01/15/quote-of-the-day-33/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 09:54:43 +0000</pubDate>
		<dc:creator>nemesis</dc:creator>
				<category><![CDATA[quote of the day]]></category>
		<category><![CDATA[latex]]></category>

		<guid isPermaLink="false">http://kthxbye.us/?p=913</guid>
		<description><![CDATA[S*****, A****** (*****) [10:49]: ich hab mir die latex schriftart runtergeladen damit ich in word meine bachelorarbeit schreiben kann]]></description>
			<content:encoded><![CDATA[<blockquote>
<div id="_mcePaste">S*****, A****** (*****) [10:49]:</div>
<div id="_mcePaste">ich hab mir die latex schriftart runtergeladen damit ich in word meine bachelorarbeit schreiben kann</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kthxbye.us/2010/01/15/quote-of-the-day-33/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

