<?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>Dunkelstern&#039;s Blog</title>
	<atom:link href="http://blog.dunkelstern.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dunkelstern.de</link>
	<description>Weird things happening</description>
	<lastBuildDate>Fri, 27 Aug 2010 22:38:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Nehmt Abschied Brüder&#8230;</title>
		<link>http://blog.dunkelstern.de/2010/08/28/nehmt-abschied-bruder/</link>
		<comments>http://blog.dunkelstern.de/2010/08/28/nehmt-abschied-bruder/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 22:03:44 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Privatkram]]></category>
		<category><![CDATA[requiem]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/?p=174</guid>
		<description><![CDATA[&#8230; ungewiss ist alle Wiederkehr. Und eine Sache ist ganz wichtig: Besucht die Leute die euch am Herzen liegen so oft ihr könnt. Heute muss ich mich schon wieder von einem wichtigen Menschen aus meinem Leben verabschieden weil er nicht mehr da ist. Ich rede von meinem früheren Pfadfinder Leiter Wolfi. Er war für mich [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; ungewiss ist alle Wiederkehr.</p>
<p>Und eine Sache ist ganz wichtig: Besucht die Leute die euch am Herzen liegen so oft ihr könnt.</p>
<p>Heute muss ich mich schon wieder von einem wichtigen Menschen aus meinem Leben verabschieden weil er nicht mehr da ist. Ich rede von meinem früheren Pfadfinder Leiter Wolfi. Er war für mich ein bisschen auch Opa Ersatz da meine Großeltern ja damals fast 700 Kilometer entfernt waren.</p>
<p>Ich kann mich noch gut an die Zeit erinnern, ich war eigentlich jeden Nachmittag in der Schule, aber nicht weil ich dort Hausaufgaben gemacht habe oder Unterricht hatte sondern weil ich bei den Pfadfindern, der Videogruppe, der Theatergruppe, der Schülerzeitung oder im Computerraum oder bei irgend einer SMV Aktion dabei war. Man wie haben meine Hausaufgaben darunter gelitten <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  aber bei Wolfi der auch den Getränkeverkauf organisiert hat in der Pause gab es immer ein Plätzchen wo man noch eben was nachholen oder zumindest abschreiben konnte. Nachmittags ist man ihm dann bei seinem täglichen Rundgängen als 2. Hausmeister begegnet (z.b. Getränkeautomaten nachfüllen, und nachsehen dass in den leeren Klassenzimmern kein Schabernack getrieben wird)</p>
<p>Und abends hat man ihn dann oft verzweifelt gesucht weil man mal wieder bis nach 5 in der Schule unterwegs war und der Fahrradkeller schon abgeschlossen war und man vom Sekretariat auch keinen Generalschlüssel mehr holen konnte (den hatte ich verdammt oft in den Fingern übrigens, ich war ja bekannt und anscheinend auch Vertrauenswürdig, trotzdem gab es immer den Kommentar: &#8220;Aber in 10 Minuten ist der wieder bei mir!&#8221;)</p>
<p>Wolfi war eh immer sehr gewissenhaft und geduldig. Pünktlich um 5 waren alle Fenster geschlossen und alle Klassenzimmer abgesperrt <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Das spiegelt den Charakter von Wolfi sehr gut wieder, denn genauso gewissenhaft hat er jedes Jahr für das Zeltlager ca. 70 Anhänger für alle Teilnehmer als Andenken gebastelt und von allen jemals gebauten Lagerbauten Modelle hergestellt für die Pfadfinderausstellung die er zu jeder sich ergebenden Möglichkeit aufgebaut hat.</p>
<p>Am Eingang dieser Ausstellung stand er dann immer in seiner Kluft und natürlich gehörten die Knielangen Hosen wie immer dazu (ich kannte ihn eigentlich nur in diesen &#8220;Hochwasserhosen&#8221;). Versteckt in seiner linken Hand ein kleines Zählwerk von dem nur die Pfadis wussten, immer wenn wir mal schauen gegangen sind mussten wir natürlich Nachfragen wieviele Leute schon da waren, und es waren niemals wenige! Die Ausstellung war auch einfach zu detailverliebt&#8230; Selbst als alteingesessener Pfadi ist man jedes mal durch die Ausstellung gegangen es gab immer was neues oder verbessertes.</p>
<p>Wir haben uns oft gefragt wo er die Sachen alle lässt wenn sie nicht ausgestellt sind. Und tatsächlich sein Zimmer war immer bis oben hin voller Bücher, Projekte und Lagermodelle. Baden Powell wäre stolz gewesen auf einen Pfadfinder wie Wolfi, der fast sein ganzes Leben den Pfadis gewidmet hat. Auch wenn Wolfi auf den Letzten Zeltlagern nicht mehr im Materialzelt geschlafen hat (er zersägte sogar im Schlaf noch ne Menge Holz. Insider: &#8220;I glaub da verreckt a Kuh!&#8221;) sondern sich in den alten grünen Pfadibus zurückgezogen hat (da war&#8217;s nicht so feucht) war er doch trotzdem nicht aus den Lagern wegzudenken.</p>
<p>Danke dass ich dich kennenlernen durfte Wolfi, ich werde dich niemals vergessen!</p>
<p>Mit Pfadfindergrüßen!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/08/28/nehmt-abschied-bruder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der eiserne Fotograf (part 3)</title>
		<link>http://blog.dunkelstern.de/2010/07/19/eisern-2/</link>
		<comments>http://blog.dunkelstern.de/2010/07/19/eisern-2/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 02:20:41 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Kreatives Chaos]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iron photographer]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/?p=168</guid>
		<description><![CDATA[Heute gibts nur ne kleine Fortschrittsmeldung Was ist passiert? Seit dem letzten Update ist nichts mehr an der iPhone App passiert, der Serverteil hält mich gerade ein wenig auf. Unter Anderem musste das Backend ersteinmal fertiggestellt werden. Im Admininterface auf der Website lässt sich jetzt zumindest schonmal alles Organisieren bis auf die User selber. D.h. [...]]]></description>
			<content:encoded><![CDATA[<p>Heute gibts nur ne kleine Fortschrittsmeldung <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Was ist passiert?</h3>
<p>Seit dem letzten Update ist nichts mehr an der iPhone App passiert, der Serverteil hält mich gerade ein wenig auf. Unter Anderem musste das Backend ersteinmal fertiggestellt werden. Im Admininterface auf der Website lässt sich jetzt zumindest schonmal alles Organisieren bis auf die User selber. D.h. man kann sich als User bereits registrieren und einloggen. Auf der Adminseite kann man schon Bilder moderieren und die Themen verwalten, was noch nicht geht ist User sperren/löschen und Mails rausschicken.</p>
<p><span id="more-168"></span>Dafür steht aber das komplette Datenbank Backend und die Sprachlokalisierung für Deutsch und Englisch funktioniert auch schon (uff, das ist immer irgendwie nervig). Außerdem kriegt ein User der Admin ist nun Warnmeldungen wenn ein Teil der Seite noch keine Übersetzung hat (saupraktisch weil man sonst garantiert was übersieht!).</p>
<p>So Arbeite ich an der Website:</p>
<div id="attachment_169" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/arbeitsbereich2.png"><img class="size-medium wp-image-169" title="Arbeitsbereich" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/arbeitsbereich2-300x187.png" alt="" width="300" height="187" /></a><p class="wp-caption-text">Arbeitsbereich für die Webentwicklung (Espresso, Cyberduck, Sequel Pro, Chrome und ein Terminal)</p></div>
<p>Ich verwende Espresso als HTML/PHP Editor weil ich die Integration mag, wer Espresso nicht kennt: Es ist vergleichbar mit Coda vom Grundprinzip her, kann aber wesentlich weniger. Stände ich vor der Wahl würde ich heute wohl Coda kaufen, aber Espresso war damals im MacHeist mit drin <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> , Cyberduck brauch ich eigentlich seltener, aber manchmal muss man direkt auf dem Server irgendwas fixen, dann ist es unbezahlbar. Sequel Pro ist ein MySQL Datenbank Frontend, sehr praktisch wenn man mal eben ein paar Testdaten ändern will, leider hat es Probleme mit UTF8 Tabellen, wer kennt sie nicht: kaputte Zeichen an der Tagesordnung. Chrome sollte klar sein… ich könnte zwar auch Safari direkt verwenden, aber den benutze ich gerade als iPad Preview, d.h. die iPad/iPhone Browserweiche schließt Safari gerade absichtlich in die iOS Geräteversion der Seite ein damit ich nicht dauern mein iPhone bemühen muss. Das Terminal ist hauptsächlich für GIT und diverse Unix Timestamp Berechnungen da (<code>date -j -r 1280527200</code> und so <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>Insgesamt geht&#8217;s also voran auch wenn man noch nix davon sieht, ich denke morgen im Laufe des Tages werde ich die externe API fertig kriegen, sodass es weiter gehen kann mit der iPhone App. Den Kram dann da einzubauen sollte ich bis Dienstag Abend wohl schaffen, aber ich habe ja auch noch mit der Wohnungssuche in Bremen zu kämpfen und mein Job will ja auch noch Zeit von mir <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Also seid nicht enttäuscht wenn ihr nicht am Mittwoch mit Betatestanfragen beworfen werdet, das wird wohl noch ein bisschen dauern.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/07/19/eisern-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Eiserne Fotograf (part 2)</title>
		<link>http://blog.dunkelstern.de/2010/07/17/eisern/</link>
		<comments>http://blog.dunkelstern.de/2010/07/17/eisern/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 05:49:40 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Kreatives Chaos]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[fortschritt]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iron photographer]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/?p=160</guid>
		<description><![CDATA[Es geht voran, ich habe die gerenderten Szenen für den Eisernen Fotografen fast fertig und gieße gerade die Animationen und Übergänge in Code. Interface Funktionalität ist also schon da, aber ich arbeite immer noch mit Platzhalterdaten. Heute Nachmittag kommt die Server Infrastruktur dran damit ich auch mal reale Daten in die App kriege (ein paar [...]]]></description>
			<content:encoded><![CDATA[<p>Es geht voran, ich habe die gerenderten Szenen für den Eisernen Fotografen fast fertig und gieße gerade die Animationen und Übergänge in Code. Interface Funktionalität ist also schon da, aber ich arbeite immer noch mit Platzhalterdaten. Heute Nachmittag kommt die Server Infrastruktur dran damit ich auch mal reale Daten in die App kriege (ein paar HTTP Get und Post Requests sollten ja nicht so schwer werden…)<br />
<!-- more --><span id="more-160"></span><br />
Für alle die schon gespannt sind gibt&#8217;s von mir mal ein kleines Interfacedemovideo. Nur im iPhone Simulator geschossen, daher gibts auch keine richtige Kamera sondern nur die Library, das wird in der finalen Version natürlich anders: Da gibt&#8217;s dann nur noch die Kamera <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<a href="http://downloads.dunkelstern.de/Grafikdemo.mov">Video download: Grafikdemo</a></p>
<p>Und hier mal ein Sneak Peek von meiner Arbeitsumgebung:</p>
<div id="attachment_162" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/arbeitsbereich.png"><img class="size-medium wp-image-162" title="Xcode und co" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/arbeitsbereich-300x187.png" alt="Screenshot von Xcode und ein paar anderen Dingen" width="300" height="187" /></a><p class="wp-caption-text">Ich liebe meinen 24&quot; Monitor <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p></div>
<div id="attachment_161" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/3d_scene.png"><img class="size-medium wp-image-161" title="Cinema4D" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/3d_scene-300x196.png" alt="" width="300" height="196" /></a><p class="wp-caption-text">Die 3D Szene, nicht besonders aufregend, rendert auch in weniger als 5 Sekunden</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/07/17/eisern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://downloads.dunkelstern.de/Grafikdemo.mov" length="8026060" type="video/quicktime" />
		</item>
		<item>
		<title>Der Eiserne Fotograf</title>
		<link>http://blog.dunkelstern.de/2010/07/13/iron/</link>
		<comments>http://blog.dunkelstern.de/2010/07/13/iron/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 16:04:02 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Kreatives Chaos]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iron photographer]]></category>
		<category><![CDATA[programmieren]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/?p=147</guid>
		<description><![CDATA[Hier für alle die es interessiert mal ein kleines Sneak Preview für meine nächste iPhone App: Den Eisernen Fotografen. WTF? Der Eiserne Fotograf ist eine Methode sich selbst (oder eben anderen) ein Fotografiethema zu stellen. Das funktioniert im Prinzip wie die &#8220;Reizwortgeschichten&#8221; in der (Grund-)Schule damals. Man kriegt ein Thema vorgegeben in der Form von [...]]]></description>
			<content:encoded><![CDATA[<p>Hier für alle die es interessiert mal ein kleines Sneak Preview für meine nächste iPhone App: Den Eisernen Fotografen.</p>
<h3>WTF?</h3>
<p>Der Eiserne Fotograf ist eine Methode sich selbst (oder eben anderen) ein Fotografiethema zu stellen. Das funktioniert im Prinzip wie die &#8220;Reizwortgeschichten&#8221; in der (Grund-)Schule damals. Man kriegt ein Thema vorgegeben in der Form von ein paar Worten und muss dann losziehen und ein Foto zum Thema machen. Alte Fotos einreichen gilt nicht, man soll ja schließlich seine Kreativität fördern und sich was neues Ausdenken. Und da ich in letzter Zeit viel zu wenig Bewußt Fotografiere und mein Projekt 52 schon nach dem 2. Bild mittels mangelnder Teilnahme eingestellt wurde hab ich mir gedacht ich bau mir einfach eine Community die mich dazu Antreibt mal wieder was zu machen.</p>
<p><span id="more-147"></span></p>
<h3>Die iPhone App</h3>
<p>(Ja Android kommt auch evtl. noch, nur um den Meckerern mal gleich den Wind aus den Segeln zu nehmen, aber ich hab grad kein Android Gerät zum testen… könnt mich ja Sponsorn <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>Was soll sie können? Das ist recht überschaubar:</p>
<ol>
<li>Ich will eine Online Community in der Bewertet und Kommentiert werden soll</li>
<li>Ich beschränke mich Bewusst auf die interne Kamera des iPhones</li>
<li>Nur Quadratische Bilder sind erlaubt (Polaroid mäßig)</li>
<li>Jede Woche gibt&#8217;s ne neue Aufgabe (evtl. mit <a href="http://www.andrae.org/podcast/">Monis Motivklingel</a> synchronisiert <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</li>
<li>Kommentieren und Voten für die Aufgabe dieser Woche kann man erst wenn man selber ein Bild eingeschickt hat.</li>
<li>Alles muss vom iPhone aus gehen</li>
<li>Keine Bilder aus der iPhone Bibliothek, nur live mit der Kamera aufgenommenes (Crop darf man nachher noch festlegen)</li>
<li>Das ganze soll Spaß machen, d.h. schöne Animationen, schöne Grafik, einfache Bedienung</li>
</ol>
<h3>Und so stell ich mir das vor</h3>
<p>Bilder anklicken zum vergrößern, sonst könnt ihr den Text nicht lesen der neben den Pfeilen steht.</p>
<div id="attachment_150" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Assignment.jpg"><img class="size-medium wp-image-150" title="Startbildschirm" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Assignment-300x233.jpg" alt="Zeichnung des Startbildschirms" width="300" height="233" /></a><p class="wp-caption-text">Startbildschirm</p></div>
<div id="attachment_149" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Assignment_Completed.jpg"><img class="size-medium wp-image-149" title="Startbildschirm nach Upload" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Assignment_Completed-300x232.jpg" alt="Zeichnung des Startbildschirmes nach dem Upload des eigenen Bildes" width="300" height="232" /></a><p class="wp-caption-text">Startbildschirm nach Upload (Aufgabe Erfüllt)</p></div>
<div id="attachment_148" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Archiv.jpg"><img class="size-medium wp-image-148" title="Archiv" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Archiv-300x217.jpg" alt="Zeichnung des Archivbildschirms" width="300" height="217" /></a><p class="wp-caption-text">Archiv Browsen</p></div>
<div id="attachment_151" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Vote.jpg"><img class="size-medium wp-image-151" title="Vote" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Vote-300x193.jpg" alt="Zeichnung des Vote und Kommentarbildschirms" width="300" height="193" /></a><p class="wp-caption-text">Voten und Kommentieren</p></div>
<h3>Update: Es wird <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </h3>
<p>Habe schonmal angefangen und ein paar Sachen gerendert. Die Wäscheleine schaukelt schon, aber die Bilder da drin sind noch statisch. Außerdem muss ich das Polaroid in der Mitte noch rotieren.</p>
<div id="attachment_155" class="wp-caption aligncenter" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0236.png"><img class="size-medium wp-image-155" title="Main Screen Mockup" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0236-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Main Screen Mockup (funktioniert Teilweise)</p></div>
<div id="attachment_156" class="wp-caption aligncenter" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0237.png"><img class="size-medium wp-image-156" title="Crop Screen" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0237-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Crop Screen (Pinch Zoom zum Ausschnitt wählen)</p></div>
<div id="attachment_157" class="wp-caption aligncenter" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0238.png"><img class="size-medium wp-image-157" title="Main Screen mit Thumbnail" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0238-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Main Screen mit Thumbnail</p></div>
<div id="attachment_158" class="wp-caption aligncenter" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0239.png"><img class="size-medium wp-image-158" title="Settings Screen" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0239-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Einstellungen (langweilig wie immer)</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/07/13/iron/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Immobilienscout24 App Review</title>
		<link>http://blog.dunkelstern.de/2010/07/03/immoscout-app/</link>
		<comments>http://blog.dunkelstern.de/2010/07/03/immoscout-app/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 21:29:32 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Meine Nerven!]]></category>
		<category><![CDATA[#fail]]></category>
		<category><![CDATA[immobilienscout24]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[pr]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/?p=124</guid>
		<description><![CDATA[Da sich Immobilienscout24 ja gerade einen Fauxpas nach dem Anderen liefert, hab ich beschlossen doch einfach mal zu gucken ob da nur die Marketingabteilung unfähig ist oder ob das auch auf die App-Programmierer zutrifft. Ich meine bis gestern passierte ja lediglich folgendes: Die App ist nämlich bis gestern unter iOS4 beim starten gecrasht. Fällt halt [...]]]></description>
			<content:encoded><![CDATA[<p>Da sich Immobilienscout24 ja gerade einen <a href="http://blog.dunkelstern.de/2010/06/24/immoscout-flash/">Fauxpas</a> nach dem Anderen liefert, hab ich beschlossen doch einfach mal zu gucken ob da nur die Marketingabteilung unfähig ist oder ob das auch auf die App-Programmierer zutrifft.</p>
<p><span id="more-124"></span>Ich meine bis gestern passierte ja lediglich folgendes:</p>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Organizer.png"><img class="aligncenter size-medium wp-image-125" title="iPhone App crash" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Organizer-300x134.png" alt="" width="300" height="134" /></a>Die App ist nämlich bis gestern unter iOS4 beim starten gecrasht. Fällt halt echt ungünstig mit der Werbecampagne von ImmoScout zusammen, Sorry Leute. Gebt doch bitte eurer Marketingabteilung mal eine auf den Deckel!</p>
<p>Ich habe übrigens auf der ImmobilienScout Seite einen nicht-ver-flashten Link gefunden und zwar wenn man auf den <a href="http://www.immobilienscout24.de/de/iphone.jsp">&#8220;hier&#8221;-Link (noch so ein WTF übrigens!) bei den Technischen Details</a> klickt kommt man hier raus:</p>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Immoscout-here.png"><img class="aligncenter size-medium wp-image-127" title="&quot;Hier&quot;-Link" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Immoscout-here-300x164.png" alt="" width="300" height="164" /></a></p>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Immoscout-Technische-Details.png"><img class="aligncenter size-medium wp-image-126" title="Immoscout Technische Details" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/Immoscout-Technische-Details-300x192.png" alt="" width="300" height="192" /></a>Warum muss ich auf eine Seite die &#8220;Technische Details&#8221; heißt, jedoch nix mit Technischen Details zu tun hat? Und Warum wurde nicht diese viel informativere Seite direkt aus der Mail verlinkt. Ist der PR Abteilung eine nichtssagende Animation wirklich wichtiger als passende Information?</p>
<h3>Die App</h3>
<p>Die ImmobilienScout App, so sie denn jetzt endlich auch auf meinem iPhone läuft ist eigentlich sehr gelungen. Die Navigation ist etwas gewöhnungsbedürftig da anscheinend der Navigationscontroller selber geschrieben wurde und eine 2. Toolbar am oberen Bildschirmrand klebt. Einige Buttons sind größer oder kleiner als andere, einige sind unscharf, andere hingegen die den selben Text enthalten und den gleichen Zweck erfüllen dagegen scharf (frag mich mal einer wie man sowas hinkriegt <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) Aber eigentlich sind das alles nur optische Mängel und im Appstore schwirren unzweifelhaft sehr viel häßlichere Apps herum. Ich lasse einfach mal ein paar Screenshots für sich sprechen:</p>
<table>
<tbody>
<tr>
<td>
<p><div id="attachment_136" class="wp-caption alignnone" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0223.png"><img class="size-medium wp-image-136 " title="Suche inkl. GPS unterstützung" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0223-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Suche inkl. GPS unterstützung</p></div></td>
<td>
<p><div id="attachment_137" class="wp-caption alignnone" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0224.png"><img class="size-medium wp-image-137 " title="Filtermöglichkeiten" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0224-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Filtermöglichkeiten</p></div></td>
<td>
<p><div id="attachment_135" class="wp-caption alignnone" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0222.png"><img class="size-medium wp-image-135 " title="Kartenansicht" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0222-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Kartenansicht</p></div></td>
</tr>
<tr>
<td>
<p><div id="attachment_134" class="wp-caption alignnone" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0221.png"><img class="size-medium wp-image-134 " title="Besichtigungstermine eintragen" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0221-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Besichtigungstermine eintragen</p></div></td>
<td>
<p><div id="attachment_131" class="wp-caption alignnone" style="width: 210px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0218.png"><img class="size-medium wp-image-131 " style="clear: both;" title="Objektansicht" src="http://blog.dunkelstern.de/wp-content/uploads/2010/07/IMG_0218-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Objektansicht </p></div></td>
</tr>
</tbody>
</table>
<p>Was ich irgendwie schade finde: Die App synchronisiert nicht mit dem Immobilienscout Portal, doch das ist für die Version 2.0 angekündigt (warum das nicht von Anfang an drin war ist mir aber irgendwie ein Rätsel). Außerdem steht in den Release Notes der 1.3.2 dass nun iOS4 unterstützt würde, insbesondere das Multitasken. Doch leider ist das eine implizite Sache die man mit einem einfachen Klick auf &#8220;Projekt neu Übersetzen&#8221; hinbekommt, die App nutzt sonst ja keine Multitasking Funktion aus. Was auch nicht ausgenutzt wird ist das Eintragen der Besichtigungstermine in den iPhone Kalender (Stichwort: EventKit), das wäre nämlich endlich mal eine Funktion die iOS4 kann und diese App auch sinnvoll nutzen könnte. Also ist die Aussage &#8220;Alle neuen Features&#8221; wohl leider auch nur Marketingsprech für: &#8220;Wir haben es neu kompiliert und den Hack weshalb es gecrashed ist rausgenommen, bzw. den SDK Bug von Apple umgangen&#8221; (Ich weiß ja nicht woran es lag, das kann man an den Crashlogs leider nicht erkennen).<br />
Wenn schon kein Kalender unterstützt wird hätte ich aber wenigstens lokale Benachrichtigungen erwartet, das kann nicht so schwer einzubauen sein (Stichwort: Local Notifications) und braucht auch keinen Server auf der anderen Seite.</p>
<p>Doch das alles kann man wieder nicht dem App-Programmierer anlasten, das ist alles wieder der Marketingabteilung zuzurechnen. Ich hab nix gegen Marketing, aber bitte belügt eure User nicht, die kriegen das nämlich recht schnell mit!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/07/03/immoscout-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Spam am Avatar erkennen</title>
		<link>http://blog.dunkelstern.de/2010/06/29/twitter-spam/</link>
		<comments>http://blog.dunkelstern.de/2010/06/29/twitter-spam/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 18:59:56 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Meine Nerven!]]></category>
		<category><![CDATA[The Dump]]></category>
		<category><![CDATA[avatar]]></category>
		<category><![CDATA[coaches]]></category>
		<category><![CDATA[internetmarketer]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/?p=114</guid>
		<description><![CDATA[Ich glaube ich gehe zu &#8220;Wetten dass?!?&#8221;, ich kann nämlich mittlerweile am Twitter Avatar mit 80% Wahrscheinlichkeit erkennen was für ein Spammer sich dieses mal wieder dahinter verbirgt Die Spammer lassen sich grob in mehrere Gruppen einteilen. Sorry falls ich da jetzt den ein oder anderen Avatar falsch einsortiere, ich hatte keinen Bock mir die [...]]]></description>
			<content:encoded><![CDATA[<p>Ich glaube ich gehe zu &#8220;Wetten dass?!?&#8221;, ich kann nämlich mittlerweile am Twitter Avatar mit 80% Wahrscheinlichkeit erkennen was für ein Spammer sich dieses mal wieder dahinter verbirgt <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Die Spammer lassen sich grob in mehrere Gruppen einteilen. Sorry falls ich da jetzt den ein oder anderen Avatar falsch einsortiere, ich hatte keinen Bock mir die ganzen Accounts nochmal anzusehen (ich Block die ja nicht umsonst).</p>
<p><span id="more-114"></span></p>
<h3>ReTweet Bots</h3>
<p>Der Sinn dieser Bots hat sich mir noch nicht ergeben, scheint so ne Art neues &#8220;Hallo Welt&#8221; Programm zu sein. Ich mein Verteiler wie <a href="http://twitter.com/karlsruher">@karlsruher</a> finde ich ja toll, den schreibt man mit nem @-Reply an und er ReTweetet die Nachricht, sehr schön um einen großen Personenkreis erreichen zu können ohne Gott und der Welt folgen zu müssen. Aber Bots die sich einfach irgendwas Rausgreifen?!? Totaler Unsinn. Aber die Twitterbildchen erkennt man ganz gut:</p>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/06/bots.png"><img class="aligncenter size-full wp-image-115" title="Twitter Bots" src="http://blog.dunkelstern.de/wp-content/uploads/2010/06/bots.png" alt="Avatare von Twitter Bots" width="288" height="240" /></a>Wenn diese ReTweet Bots einem dann noch automatisch folgen werden sie grundsätzlich als Spam gemeldet von mir, wenn sie mich sozusagen wegen einem @-Reply anpingen sind sie auch schnell gemeldet. Die Retweet funktion von Twitter geht ja grad noch so, kriegt aber auch mindestens nen Block von mir.</p>
<h3>Sex Angebote</h3>
<p>Die gibt es wohl überall, so auch bei Twitter, meistens versuchen die Bot-Autoren den Account wenigstens auf den ersten Blick menschlich aussehen zu lassen, aber erstens verraten sie sich mit zuviel Anzüglichkeiten und zweitens merkt man spätestens ab der 2. Seite Tweets, dass sich der Kram wiederholt. Die Avatare sind auch meistens ziemlich eindeutig:</p>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/06/sex.png"><img class="aligncenter size-full wp-image-118" title="Sex Avatare" src="http://blog.dunkelstern.de/wp-content/uploads/2010/06/sex.png" alt="Twitter Spammer Avatare zum Thema Sex" width="192" height="144" /></a></p>
<h3>Herkömmlicher Spam</h3>
<p>&#8220;Normaler&#8221; Spam lässt sich in ein paar Untergruppen einteilen, nichtsdestotrotz bleibt alles Spam, zum Glück kann man keine Direct Messages mehr an Leute verschicken die einem nicht folgen!</p>
<h4>Spam der sogar eigene Marken hat</h4>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/06/marke.png"><img class="aligncenter size-full wp-image-119" title="Markenspam" src="http://blog.dunkelstern.de/wp-content/uploads/2010/06/marke.png" alt="Twitter Avatare von Markenspam" width="192" height="144" /></a>Diese Art von Spam kann ich so gar nicht verstehen, verbrennt man doch die Marke mit der man mittels Spam Wirbt… Aber evtl. sind es auch nur die Steinzeitlichen Marketingagenturen die Twitter nicht verstanden haben, und für die viele Follower gleichzusetzen mit viel Erfolg ist.</p>
<h4>Produkt Hijacking</h4>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/06/produkt.png"><img class="aligncenter size-full wp-image-121" title="Produkthijacking" src="http://blog.dunkelstern.de/wp-content/uploads/2010/06/produkt.png" alt="Twitter Avatare von Produkt Hijackern" width="192" height="96" /></a></p>
<p>Diese Spammer verwenden einfach Logos oder Produkte von bekannten Marken um die User neugierig zu machen, doch würde Apple wohl nie mit einem iPhone als Avatar auf Twitter zu finden sein denke ich. Da wird z.B. höchstens der graue Apfel zu sehen sein. (By the way Twittert überhaupt irgendwer für Apple offiziell?)</p>
<h4>Quick and Dirty</h4>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/06/nix.png"><img class="aligncenter size-full wp-image-120" title="Nichtssagende Avatare" src="http://blog.dunkelstern.de/wp-content/uploads/2010/06/nix.png" alt="Nichtssagende Avatare" width="432" height="336" /></a>Das hier ist üblicher Spam, Quick and Dirty, weder sind die Avatare schön, noch wurde Arbeit reingesteckt oder haben sie irgend eine Aussage. Oftmals sind die Logos oder Schriftzüge sogar abgeschnitten oder so verkomprimiert dass man nix mehr erkennen kann. (Die Bilder sind verlustfrei in die Kollagen eingefügt worden, die Qualität ist so also auf Twitter zu finden!)</p>
<h3>Coaches</h3>
<p>Der Twitterkrebs überhaupt (zumindest in Deutschland) sind sogenannte Twitter- oder Social-Networking-Coaches. Erstens habe ich von keiner dieser Personen bis jetzt eine sinnvolle Aussage zu Twitter gehört (nur Dampfplauderei und heiße Luft, oft gemischt mit Buzzword Bingo) und zweitens scheinen diese Damen und Herren selbst Twitter nicht verstanden zu haben wie man unschwer an den Tweets von denen erkennen kann. RSS-Feed Relays oder sinnloses &#8220;Infos Raushauen&#8221;, keine @-Replies, keine Anzeichen einer wirklichen sozialen Vernetzung. Manchmal nennen sich diese Typen übrigens auch &#8220;Internetmarketer&#8221;, die haben wohl ihren Job verfehlt!</p>
<p>Am besten filtert man solche Leute übrigens mit dem bekannten &#8220;Anzugfilter&#8221;, ist wie mit Java Programmierern, denen scheint einfach ne Krawatte und ein Anzug zu wachsen. Aber sollen sie ruhig weiter machen, dann kann man die wenigstens schnell blocken <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/06/coaches.png"><img class="aligncenter size-full wp-image-116" title="Twitter Coaches" src="http://blog.dunkelstern.de/wp-content/uploads/2010/06/coaches.png" alt="Avatare von Twitter Coaches" width="336" height="288" /></a>Wenn sich einer von den Coaches hier wiedererkennt, erklärt mir doch mal euer Geschäftsmodell, oder ist das wirklich nur Abzocke?</p>
<h3>Richtige Follower</h3>
<p>Die gibt es natürlich auch, und ich möchte hier Stellvertretend mal ein paar Auflisten. Wenn jemand dabei ist der nicht in meinem Blogeintrag auftauchen möchte einfach melden.</p>
<p><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/06/follow.png"><img class="aligncenter size-full wp-image-117" title="Richtige Follower" src="http://blog.dunkelstern.de/wp-content/uploads/2010/06/follow.png" alt="Avatare von richtigen Followern" width="432" height="384" /></a></p>
<p>Was man hier schön sehen kann: Die Bilder sind entweder Fotos, bearbeitete Fotos oder strahlen zumindest Individualität aus. Zum Glück hat sich die Welle Southpark und Simpsons Avatare (und andere aus Avatargeneratoren stammende Animee Sachen) ausgetwittert. Mittlerweile wechseln die Leute wieder zu individuelleren Avataren. Ich hab Fotos ja am liebsten, da kann man wenigstens erahnen mit wem man es zu tun hat. Auf Avatare abgestimmte Logos find ich auch immer schön (Gruß an <a href="http://twitter.com/fashioncrime">@fashioncrime</a> und <a href="http://twitter.com/toastroom">@toastroom</a> an dieser Stelle). Bei vielen Leuten sieht man im Moment natürlich Flaggen, ist ja auch WM gerade, das wird sich wieder geben denke ich <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Man findet übrigens 2 Anzugträger in dieser Liste… aber in diesem Fall pure Absicht, die beiden machen sich nämlich genau über diese Coaches von eben Lustig <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/06/29/twitter-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress?!?</title>
		<link>http://blog.dunkelstern.de/2010/06/28/wordpress/</link>
		<comments>http://blog.dunkelstern.de/2010/06/28/wordpress/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 14:48:55 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Meine Nerven!]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Konzept]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/?p=107</guid>
		<description><![CDATA[So, ich hab mich jetzt 3 Tage lang mit WordPress rumgeärgert und hab schon die Nase voll. Die Codequalität der angebotenen Plugins ist unter aller Sau! Doch warum interessiert mich die Codequalität von funktionierenden Plugins? Ganz einfach, sie funktionieren nicht, oder nicht so wie ich das will. Bestes Beispiel die Tag-Cloud in der Seitenleiste. Ich [...]]]></description>
			<content:encoded><![CDATA[<p>So, ich hab mich jetzt 3 Tage lang mit WordPress rumgeärgert und hab schon die Nase voll. Die Codequalität der angebotenen Plugins ist unter aller Sau!</p>
<p><span id="more-107"></span>Doch warum interessiert mich die Codequalität von funktionierenden Plugins? Ganz einfach, sie funktionieren nicht, oder nicht so wie ich das will. Bestes Beispiel die Tag-Cloud in der Seitenleiste. Ich wollte eine Tag-Cloud die eben nicht nur die Schriftgröße verändert umso häufiger der Tag vorkommt, deshalb fällt die standard WordPress Tagcloud schonmal raus. Zum Ändern der Farbe gibts 2 fertige Plugins, eines davon funktioniert gar nicht (ich denke das liegt irgendwie an WordPress 3, anders kann ich mir die positiven Bewertungen nicht erklären), das andere Produziert invaliden HTML Code und kann auch nur zufällige Farben vergeben (Palette kann man einstellen aber die Farben aus dieser werden zufällig auf die Tags verteilt). Ich wollte aber etwas anderes: Meine Vorstellung war, dass das Tag-Cloud Plugin einfach CSS Klassen vergibt die ich dann in meinem Stylesheet vernünftig beschreiben kann. Somit könnte man eben nicht nur Schriftgröße und Farbe richtig anpassen sondern auch die Schriftart ändern zum Beispiel.</p>
<h3>Plugin abändern?</h3>
<p>Das dachte ich mir auch, dann nehm ich halt das vorhandene Plugin her und bau das um. Dann hat mich allerdings der Schlag getroffen in welchem katastrophalen Zustand der Code ist. Geschockt wie ich war hab ich mal die anderen Plugins die ich so installiert habe in meinen Texteditor geworfen und bei allen existiert dasselbe Chaos.</p>
<h3>Anderes Thema: Themes</h3>
<p>Ich dachte, da WordPress so verbreitet ist müsste man eine Menge Themes finden auf die man Aufbauen kann, doch zumindest mit der in WordPress integrierten Suche findet man fast nix. Also hab ich mir ein möglichst minimalistisches Theme genommen und angefangen das umzubauen. Auch hier wieder: Totales Chaos!</p>
<p>Was mir bei der Bastelei weiterhin aufgefallen ist: Das ganze Theme Konzept von WordPress ist totaler Murks. Möchte ich z.B. auf der Frontpage (<code>index.php</code>) meines Blogs einen Blogeintrag komplett ausgeführt haben statt ihn automatisch beim &#8220;more&#8221;-Tag abschneiden zu lassen, muss ich eine Variable namens <code>$more</code> auf den Wert <code>-1</code> setzen bevor ich das Kommando <code>the_post()</code> aufrufe. (Dieses <code>the_post()</code> ist nochmal so ne ganz andere Geschichte) Kurzgesagt: Das Template design in WordPress ist totaler Murks. Magische Variablen die irgendwie im globalen Kontext existieren müssen um etwas total unbeteiligtes zu verändern? Das gehört im besten Fall als Parameter in <code>the_post()</code>, aber am besten schafft man dieses Konstrukt gleich mit ab.</p>
<h3>Reengineering WordPress: The right way!</h3>
<div id="attachment_108" class="wp-caption alignright" style="width: 460px"><a href="http://blog.dunkelstern.de/wp-content/uploads/2010/06/modular_blog.png"><img class="size-full wp-image-108 " title="Mindmap" src="http://blog.dunkelstern.de/wp-content/uploads/2010/06/modular_blog_thumb.png" alt="Mindmap des Modularen Blogs" width="450" height="324" /></a><p class="wp-caption-text">Konzept</p></div>
<p>Wie macht man es also Richtig? Meiner Meinung nach muss alles was nicht integraler Bestandteil des Blogs ist in externe Plugins ausgelagert werden. Also auch Tags, Kategorien und sogar Kommentare. Erstens kann man so schnell Teile austauschen ohne das ganze System updaten zu müssen und zweitens werde ich damit gezwungen vernünftig zu Programmieren.</p>
<p>Am besten sollten alle Plugins sich konventionell prozedural bei den Systemfunktionen einklinken (Hooks registrieren) und dann als reine Klassen und Objekte weiter existieren. Bei der Architektur würde ich das Android Modell bevorzugen. Ein Plugin benötigt &#8220;Dienste&#8221; und stellt dem System auf der anderen Seite wieder andere Dienste zur verfügung. Beispielsweise würde ein Tags Plugin sich in die Adminseite für die Posts mit einklinken und auf dieser Seite zusätzliche Steuerelemente zur Verfügung stellen, weiterhin klinkt es sich automatisch in den &#8220;Postings&#8221; Dienst ein und ergänzt zu jedem Posting die vorhandenen Tags. Auf der anderen Seite benötigt das Tags Plugin natürlich Zugriff auf die Datenbank in der es eine eigene Tabelle für die Tags anlegt und die Posts mit den Tags verknüpft.</p>
<p>Das Theme Template wiederum könnte das System fragen ob ein &#8220;Tags&#8221; Service existiert und die Tags anzeigen sobald es welche erhält. Das Theme wäre also ebenfalls von Systemdiensten abhängig, allerdings auf zweierlei unterschiedliche Weisen: Erstens könnte es einen Dienst Zwingend benötigen oder zweitens ihn optional unterstützen (wenn keine Tags da sind zeig ich halt keine an vs. ich benötige dringend JQuery da sonst die Seite nicht funktioniert). Auf der anderen Seite stellt das Theme Template dem System aber auch Dienste zur Verfügung in Form von Containern (z.B. Posting/Archiv Bereich und eine Navigationsleiste oben und eine Sidebar). Diese Container könnten dann wie im WordPress Admin Interface mit Widgets gefüllt werden die ebenfalls als Plugins angelegt sind.</p>
<p>Ich habe das ganze mal als Mindmap (klick auf das Bild führt zum ganzen Ausmaß) grob zusammengefasst weil ich mir selber darüber klar werden wollte wie viel Aufwand es wäre ein Blog auf dieser Basis zu entwickeln. Ich muss sagen das ganze wirkt recht umfangreich auf mich, doch ich denke ich werde es probieren (auch einfach aus dem Grund weil mein altes Blog aus historisch gewachsenem Code besteht und mittlerweile ein wenig aus der Mode gekommen ist da ich dort rein prozedural Programmiert habe). Ich vermute das Backend an sich wird der meiste Aufwand, doch die Plugins können ja stückweise entstehen.</p>
<p>Das ganze soll nachher OpenSource werden, da ich es auch als Referenz für zukünftige Bewerbungen benutzen möchte und einfach weil ich denke, dass WordPress (sofern es nicht überdacht wird, wobei… das hatte ich bei 3.0 schon erwartet) ausgedient hat und eine flexiblere Alternative her sollte.</p>
<p>Den Fortschritt könnt ihr, sobald etwas Sichtbar wird, auf <a href="http://devel.dunkelstern.de/">http://devel.dunkelstern.de/</a> mitverfolgen, aber erwartet nicht dort etwas funktionierendes zu finden.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/06/28/wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Immobilienscout 24 hat den Knall nicht gehört</title>
		<link>http://blog.dunkelstern.de/2010/06/24/immoscout-flash/</link>
		<comments>http://blog.dunkelstern.de/2010/06/24/immoscout-flash/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 19:01:59 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Meine Nerven!]]></category>
		<category><![CDATA[#fail]]></category>
		<category><![CDATA[facepalm]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[immobilienscout24]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/06/24/immoscout-flash</guid>
		<description><![CDATA[Immobilienscout24 hat eine tolle Idee gehabt: Sie haben eine iPhone App entwickelt (bzw. wahrscheinlich Entwickeln lassen) um die Seite auf dem iPhone besser verwenden zu können. Die Idee ansich ist ja löblich, die Umsetzung aber #fail Die Werbemail Man verschickt keine HTML Mails Jungs und Mädels, schon gar nicht wenn man als Zielgruppe iPhone User [...]]]></description>
			<content:encoded><![CDATA[<p>Immobilienscout24 hat eine tolle Idee gehabt: Sie haben eine iPhone App entwickelt (bzw. wahrscheinlich Entwickeln lassen) um die Seite auf dem iPhone besser verwenden zu können. Die Idee ansich ist ja löblich, die Umsetzung aber #fail</p>
<h3><span id="more-5"></span>Die Werbemail</h3>
<p><a href="http://blog.dunkelstern.de/images/blog/immoscout/mail.png"><img src="http://blog.dunkelstern.de/images/blog/immoscout/thumb/mail.jpg" alt="Werbemail" width="344" height="214" /></a></p>
<ol>
<li> Man verschickt keine HTML Mails Jungs und Mädels, schon gar nicht wenn man als Zielgruppe iPhone User hat</li>
<li> Wenn man auf den Link klickt kommt man auf folgende Seite:</li>
</ol>
<h3>Die Seite</h3>
<p><a href="http://blog.dunkelstern.de/images/blog/immoscout/1.png"><img src="http://blog.dunkelstern.de/images/blog/immoscout/thumb/1.jpg" alt="Flash-Fail" width="507" height="488" /></a></p>
<p><a href="http://blog.dunkelstern.de/images/blog/immoscout/2.png"><img src="http://blog.dunkelstern.de/images/blog/immoscout/thumb/2.jpg" alt="Flash fail 2" /></a></p>
<p>Wie man sehr schön an den Kontextmenus erkennen kann ist die komplette Seite als Flash Objekt angelegt. Ähm, nur kann das iPhone leider kein Flash… und einen alternativen Link gibt&#8217;s leider nicht. Auf dem iPhone sieht das dann so aus:</p>
<p><img src="http://blog.dunkelstern.de/images/blog/immoscout/IMG_0202.PNG" alt="iPhone Screenshot" /> <img src="http://blog.dunkelstern.de/images/blog/immoscout/IMG_0203.PNG" alt="iPhone Screenshot 2" width="480" height="320" /></p>
<p>Ich frage mich ernsthaft ob ich bei solcher Stümperei noch Lust habe die iPhone App auch auszuprobieren</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/06/24/immoscout-flash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flickr in schöner</title>
		<link>http://blog.dunkelstern.de/2010/06/23/flickr-in-schoner/</link>
		<comments>http://blog.dunkelstern.de/2010/06/23/flickr-in-schoner/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 19:58:06 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Meine Nerven!]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Foto]]></category>
		<category><![CDATA[Selffail]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/06/23/flickr-prettifier</guid>
		<description><![CDATA[Flickr probiert ja gerade sein neues Interface als open beta aus (Opt-In hier:  http://www.flickr.com/photobetaoptin/) aber eins haben sie wieder vergessen: Den &#8220;View on Black&#8221;-Link, weil ein weißer Hintergrund viele eher dunklere Bilder total zerstört. Schade, (siehe Update weiter unten) aber trotzdem ist das neue Interface viel schöner muss ich sagen. View on Black nachrüsten Um [...]]]></description>
			<content:encoded><![CDATA[<p>Flickr probiert ja gerade sein neues Interface als open beta aus (Opt-In hier:  <a href="http://www.flickr.com/photobetaoptin/">http://www.flickr.com/photobetaoptin/</a>) <span style="text-decoration: line-through;">aber eins haben sie wieder vergessen: Den &#8220;View on Black&#8221;-Link, weil ein weißer Hintergrund viele eher dunklere Bilder total zerstört. Schade,</span> <em>(siehe Update weiter unten</em>) aber trotzdem ist das neue Interface viel schöner muss ich sagen.</p>
<h3><span id="more-6"></span>View on Black nachrüsten</h3>
<p>Um den fehlenden Link nachzurüsten gibts ja im Netz schon diverse Services, aber man ist mehr oder weniger darauf angewiesen, dass der Flickr User das auch verlinkt. Deshalb hab ich mir ein Bookmarklet gebastelt das das Original Flickr interface auf schwarz umstellt.</p>
<p>Damit das vernünftig funktioniert einfach folgendes machen:</p>
<ol>
<li> Bei der Flickr beta anmelden, dazu einfach diesen Link hier klicken: <a href="http://www.flickr.com/photobetaoptin/">http://www.flickr.com/photobetaoptin/</a></li>
<li> Das Bookmarklet installieren: Einfach den folgenden Link mit Drag and Drop in die Lesezeichenleiste schieben oder alternativ mit Rechtsklick kopieren und im Lesezeichenmanager ein neues Lesezeichen damit anlegen: <a href="javascript:function onBlack(){var body=document.getElementsByTagName('body')[0];var main=document.getElementById('main');var head=document.getElementById('head');var beta=document.getElementById('photo-beta-msg');body.style.backgroundColor=&quot;#000000&quot;;body.style.color=&quot;#ffffff&quot;;main.style.backgroundColor=&quot;#000000&quot;;main.style.color=&quot;#ffffff&quot;;head.style.backgroundColor=&quot;#ffffff&quot;;head.style.color=&quot;#000000&quot;;beta.style.display=&quot;none&quot;;var h4s=document.getElementsByTagName('h4');for(var i=0;i&lt;h4s.length;i++)h4s[i].style.color=&quot;#c0c0c0&quot;;var h3s=document.getElementsByTagName('h3');for(var i=0;i&lt;h3s.length;i++)h3s[i].style.color=&quot;#c0c0c0&quot;;}onBlack();">Flickr on black</a></li>
<li> Auf Flickr das gewünschte Bild suchen und dann auf den Bookmark klicken <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ol>
<h3>Update!</h3>
<p>Wenn ihr in der Opt-In-Beta seid drückt doch einfach auf der Fotoseite mal &#8220;f&#8221; auf der Tastatur <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  (yay sie haben&#8217;s doch eingebaut!)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/06/23/flickr-in-schoner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terminal Environment</title>
		<link>http://blog.dunkelstern.de/2010/06/22/bash-profile/</link>
		<comments>http://blog.dunkelstern.de/2010/06/22/bash-profile/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 12:24:25 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Arbeitshilfen]]></category>
		<category><![CDATA[Config]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/06/22/bash-profile</guid>
		<description><![CDATA[Um auf einem Terminal vernünftig arbeiten zu können braucht es auch dafür eine Config Datei Um genau diese Datei(-en) soll es hier mal gehen. Was braucht der übliche Unix Poweruser also auf seiner Shell? Bash profile (~/.profile) # # useful aliases # alias vi=vim alias ll='ls -l' alias la='ls -al' alias dirs='dirs -l -p' alias [...]]]></description>
			<content:encoded><![CDATA[<p>Um auf einem Terminal vernünftig arbeiten zu können braucht es auch dafür eine Config Datei <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Um genau diese Datei(-en) soll es hier mal gehen. Was braucht der übliche Unix Poweruser also auf seiner Shell?</p>
<p><span id="more-7"></span></p>
<h3>Bash profile (~/.profile)</h3>
<pre class="brush:shell">#
# useful aliases
#

alias vi=vim
alias ll='ls -l'
alias la='ls -al'
alias dirs='dirs -l -p'
alias root='sudo bash -l'

#
# history management
#

remove_from_history="ls ll la pushd git cd man"
clean_history() {
rm -f /tmp/kill_in_history
touch /tmp/kill_in_history
for i in $remove_from_history ; do
cat "$HOME/.bash_history"|grep -B1 "^$i" &gt;&gt;/tmp/kill_in_history
done
if [ -s /tmp/kill_in_history ] ; then
cat /tmp/kill_in_history|sed -e 's/^/^/g' &gt;/tmp/kill_in_history2
cat "$HOME/.bash_history"|grep -v -f /tmp/kill_in_history2 &gt;/tmp/history
cat /tmp/history &gt;"$HOME/.bash_history"
history -c
history -r /tmp/history
fi
rm -f /tmp/kill_in_history /tmp/kill_in_history2 /tmp/history
}

#
# prompt thingies
#

promptcmd() {
exitstatus=$?
history -a

COLOR_WHITE='\\033[1;37m'
COLOR_LIGHTGRAY='\\033[0;37m'
COLOR_GRAY='\\033[1;30m'
COLOR_BLACK='\\033[0;30m'
COLOR_RED='\\033[0;31m'
COLOR_LIGHTRED='\\033[1;31m'
COLOR_GREEN='\\033[0;32m'
COLOR_LIGHTGREEN='\\033[1;32m'
COLOR_BROWN='\\033[0;33m'
COLOR_YELLOW='\\033[1;33m'
COLOR_BLUE='\\033[0;34m'
COLOR_LIGHTBLUE='\\033[1;34m'
COLOR_PURPLE='\\033[0;35m'
COLOR_PINK='\\033[1;35m'
COLOR_CYAN='\\033[0;36m'
COLOR_LIGHTCYAN='\\033[1;36m'
COLOR_DEFAULT='\\033[0m'

# clear prompt
PS1="\\n${COLOR_LIGHTBLUE}&gt;&gt;&gt;${COLOR_DEFAULT} "

# current date
PS1="${PS1}[`date +'%Y-%m-%d %H:%M'`] "

# username @ host : path
if [ "$SUDO_COMMAND" != "" ] ; then
user="$COLOR_RED$USER$COLOR_DEFAULT"
else
user="$COLOR_GREEN$USER$COLOR_DEFAULT"
fi
PS1="${PS1}${user}@${HOSTNAME%%.*}:${COLOR_PURPLE}`pwd`${COLOR_DEFAULT} "

# line break
PS1="${PS1}\\n${COLOR_LIGHTBLUE}&gt;&gt;&gt;${COLOR_DEFAULT} "

# smily for exit status
if [ ${exitstatus} -ne 0 ] ; then
PS1="${PS1}[exit: ${COLOR_RED}${exitstatus}${COLOR_DEFAULT}] "
else
PS1="${PS1}[exit: ${COLOR_GREEN}:)${COLOR_DEFAULT}] "
fi

# backgrounded jobs
bgjobs=`echo $(jobs -r | wc -l)`
stopjobs=`echo $(jobs -s| wc -l)`
if [ ${stopjobs} -gt 0 ]; then
PS1="${PS1}[${COLOR_RED}jobs: ${stopjobs}/${bgjobs}${COLOR_DEFAULT}] "
elif [ ${bgjobs} -gt 0 ]; then
PS1="${PS1}[${COLOR_BROWN}jobs: ${stopjobs}/${bgjobs}${COLOR_DEFAULT}] "
else
PS1="${PS1}[jobs: 0/0] "
fi

# history number
PS1="${PS1}[history: \\!] "

# dirs on stack
d=$(( `dirs -p |wc -l` - 1 ))
if [ $d -eq 0 ] ; then
PS1="${PS1}[dir stack: 0] "
else
PS1="${PS1}[${COLOR_BROWN}dir stack: $d${COLOR_DEFAULT}] "
fi

# newline and prompt
PS1="${PS1}\\n\\\\\\$ "

#
# Window Title adjustments
#

if [ "$TERM" = "xterm" ] ; then
XTERM_TITLE='\\[\\033]0;\\W@\\u@\\H\\007\\]'
fi

if [ "$TERM_PROGRAM" = "iTerm.app" ] ; then
echo -ne "\\033]0;${USER}@${HOSTNAME%%.*}: ${PWD/#$HOME/~}\\007"
fi
}

PROMPT_COMMAND="promptcmd"

#
# some paths
#

export CDPATH="$HOME:$HOME/Documents:$HOME/Documents/XCode"

#
# bash history settings
#

# no duplicates, ignore spaces in front of command
HISTCONTROL="ignorespace ignoredups"

# ignore the following commands as i use them often and they have no history value
HISTIGNORE='history:clean_history:popd:dirs:dirs *:jobs:jobs *:w:fg:bg:env:mc:vi:vim:pwd'

# add timestamp to history entries
HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] "

# make the history bigger
HISTSIZE="10000"
HISTFILESIZE="10000"</pre>
<p>Die Farben im Prompt ändern sich je nach status, z.B. verschwindet das grüne smiley und zeigt nen roten Exitcode an wenn das ausgeführte Programm nicht mit</p>
<p>einem Exitcode von 0 zurück kommt. Der Username wird rot wenn ich in einer sudo shell bin, jobs werden gelb wenn im Hintergrund noch was läuft und rot wenn ein Angehaltener<br />
Job vorhanden ist. &#8220;dir stack&#8221; wird ebenfalls gelb wenn ich mit <code>pushd</code> ein Verzeichnis auf den Stack gelegt habe. Wenn ich das ganze in einem XTerm oder iTerm laufen hab ändert sich zusätzlich noch der Titel des Fensters entsprechend dem Verzeichnis in dem ich gerade bin.</p>
<div class="code">&gt;&gt;&gt; [2010-06-22 16:04] dark@iMac:/Users/dark<br />
&gt;&gt;&gt; [exit: <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ] [jobs: 0/0] [history: 601] [dir stack: 0]<br />
$ _</div>
<h3>vimrc</h3>
<p>Wenn ich schon auf dem Terminal unterwegs bin brauche ich auch einen vernünftigen Editor, und da ich keinen Bock habe mir ein zweites Betriebssystem namens EMACS zu installieren bin ich irgendwann mal bei vim hängen geblieben. Das Ding hol ich mir unter MacOS X aus den MacPorts (genauso wie den Midnight Commander, der muss auch her <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<pre>" line numbers
set number

" no enforced vi compatibility
set nocompatible
set cf

" yanking to clipboard
set clipboard+=unnamed

" autosave on ext commands
set autowrite

" cosmetics
set ruler
set t_Co=256
set ch=2

" Syntax hilighting and search hilighting on
syntax enable
filetype on
highlight clear Search
highlight Search term=reverse cterm=bold ctermbg=1 guifg=white guibg=hotpink1

" Tab and indent settings
set noexpandtab
set tabstop=4
set bs=2
set shiftwidth=4
set autoindent
set smarttab

" show matching parenthesis
set showmatch
set mat=5
set list

" turn of beeping
set noerrorbells

" always display status line
set laststatus=2

" display arrows if line extends below screen
set lcs=tab:\\ \\ ,extends:&gt;,precedes:&lt;

" Save Buffer
map &lt;F2&gt; :w
" Next Window
map &lt;F3&gt; :wincmd w
" Close current window
map &lt;F4&gt; :wincmd c
" run make at current dir
map &lt;F5&gt; :make
" CTRL-F5 creates ctags database
map &lt;C-F5&gt; :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --languages=c,c++ .

" Move around tabs
map &lt;F9&gt; :tabfirst
map &lt;F10&gt; :tabp
map &lt;F11&gt; :tabn
map &lt;F12&gt; :tablast

" Zen coding
let g:user_zen_settings = {
\\  'php' : {
\\    'extends' : 'html',
\\    'filters' : 'c',
\\  },
\\  'xml' : {
\\    'extends' : 'html',
\\  },
\\  'haml' : {
\\    'extends' : 'html',
\\  },
\\}

" Tab commands
map to :browse tabnew
map tn :tabnew
map tc :tabclose

" Comment out mappings
map &lt;C-c&gt; Traditionalj
vmap &lt;C-c&gt; VisualTraditional

" Tag list settings
let Tlist_Process_File_Always = 1
let Tlist_Use_Right_Window = 1
let Tlist_Inc_Winwidth = 0
let Tlist_Enable_Fold_Column = 0
let Tlist_Auto_Update = 1
let Tlist_Exit_OnlyWindow = 1

" include current tag into status line
set statusline=%&lt;%f%=%([%{Tlist_Get_Tagname_By_Line()}]%)

" auto completion
set completeopt=menu

" Comment out settings
let g:EnhCommentifyRespectIndent = 'No'
let g:EnhCommentifyIgnoreWs = 'yes'
let g:EnhCommentifyPretty = 'yes'
let g:EnhCommentifyMultiPartBlocks = 'yes'
let g:EnhCommentifyAlignRight = 'yes'

" Gui Settings
set guifont=inconsolata
set guioptions=aegirLt

" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\\ if line("'\"") &gt; 0 &amp;&amp; line("'\"") &lt;= line("$") |
\\   exe "normal g`\"" |
\\ endif</pre>
<p>Folgende vim plugins kommen bei mir zum Einsatz:</p>
<ul>
<li><a href="http://www.vim.org/scripts/script.php?script_id=1520">OmniCppComplete</a> (Intellisense like Autovervollständigung für C/C++)</li>
<li><a href="http://www.vim.org/scripts/script.php?script_id=23">Enhanced Commentify</a> (Schnell Code auskommentieren)</li>
<li><a href="http://www.vim.org/scripts/script.php?script_id=1861">Error Marker</a> (Fehler rot markieren bei Compile Errors)</li>
<li><a href="http://www.vim.org/scripts/script.php?script_id=273">Taglist</a> (Schnell zu Funktionen springen)</li>
<li><a href="http://github.com/mattn/zencoding-vim">Zen Coding</a> (HTML Schreibhilfe)</li>
</ul>
<h3>git config</h3>
<p>Die Git Konfiguration liegt zwar nicht in meinem Home Verzeichnis, ist aber doch eine sehr wertvolle Datei in meinem <code>.skel</code> Verzeichnis weil ich die andauernd brauche <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>.gitignore</h4>
<pre># XCode Noise
build/*
*.pbxuser
*.mode1v3

# Oldschool versioning
.svn
.cvs

# OSX Noise
._*
.DS_Store
.localized

# Windows Noise
Thumbs.db
desktop.ini

# Temp files and dirs
*.tmp
temp/*
*.bak
*.swp
*.*~</pre>
<h4>.gitattributes</h4>
<pre># XCode Project files cannot be merged <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
*.pbxproj -crlf -diff -merge</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/06/22/bash-profile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warum sind eigentlich alle Keyboard APIs kaputt?</title>
		<link>http://blog.dunkelstern.de/2010/06/21/keyboard-api/</link>
		<comments>http://blog.dunkelstern.de/2010/06/21/keyboard-api/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 10:41:31 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Meine Nerven!]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/06/21/keyboard-api</guid>
		<description><![CDATA[Warum sind eigentlich auf allen Betriebssystemen die Keyboard APIs kaputt? Also ich meine eigentlich wär das ne Sache die schon vor 10 Jahren hätte repariert werden müssen! Was meine ich mit Kaputt? Auf allen 3 großen Betriebssystemen (Windows, Mac OS X, Linux/BSD/etc.) gibt es Möglichkeiten auf einer tieferen Ebene Keyboard Events zu empfangen und zu [...]]]></description>
			<content:encoded><![CDATA[<p>Warum sind eigentlich auf allen Betriebssystemen die Keyboard APIs kaputt? Also ich meine eigentlich wär das ne Sache die schon vor 10 Jahren hätte repariert werden müssen!</p>
<p><span id="more-8"></span></p>
<h3>Was meine ich mit Kaputt?</h3>
<p>Auf allen 3 großen Betriebssystemen (Windows, Mac OS X, Linux/BSD/etc.) gibt es Möglichkeiten auf einer tieferen Ebene Keyboard Events zu empfangen und zu senden, das ist gerade für Software wie VNC oder eben auch <a href="http://projects.dunkelstern.de/JoyBoard">JoyBoard</a> eine tolle Funktionalität, ermöglicht das doch erst dass es solche Programme überhaupt gibt.</p>
<p>Leider ist auf allen mir bekannten Betriebssystemen die Keyboard API auf einem Stand von Ende der 80er stehen geblieben. Tastenanschläge werden auf allen Betriebssystemen intern durch Keycodes dargestellt (oft als &#8220;Virtuelle KeyCodes&#8221; bezeichnet), und das funktioniert im Grunde auf allen Betriebssystemen gleich: Der Keycode leitet sich direkt von der Hardware her. Hierzu muss man wissen, wie eine Tastatur auf Hardwareebene funktioniert.</p>
<h4>Tastatur Hardware</h4>
<p>Im Grunde genommen ist das ganz einfach: Man stelle sich eine Matrix aus Leiterbahnen vor, an jeder Stelle wo eine Taste sitzt &#8220;kreuzen&#8221; sich die Leiterbahnen, sodass, drückt man die Taste, die beiden Leiterbahnen verbunden werden. Der Keyboard Controller frägt nun hintereinander alle Tasten des Keyboards ab (mehrere male pro Sekunde) und zählt sozusagen mit. Daraus ergibt sich dann einfach eine Nummer für jede Taste. Das ist der Sogenannte Scancode. Dieser Scancode wird nun vom USB oder Bluetooth HID in einen eindeutigen HID Code umgewandelt und an den Rechner geschickt.</p>
<h4>Was ist also kaputt?</h4>
<p>Und jetzt kommt das unfassbare: Im Rechner werden die wohldefinierten, eindeutigen HID Codes in virtuelle Keycodes umgerechnet damit der User das Keyboardlayout unabhängig von der Hardware in Software umstellen kann. Doch worauf Basieren diese virtuellen Keycodes? Leider nicht auf den eindeutigen HID Codes. Diese werden nämlich sozusagen wieder in einen virtuellen Scancode (!) zurückgerechnet, d.h. ich als Programm bekomme keine eindeutigen Codes mehr vom Treiber der sie ja hätte, sondern ich bekomme wieder eine Position auf der Tastatur, die sich je nach vorhandenem Keyboard Layout ändert. Drücke ich also mit dem Deutschen Keyboard Layout auf das Z bekomme ich beispielsweise den Code 16. Stelle ich nun das Keyboardlayout auf US Amerikanisch und drücke die gleiche Taste so schreibt das Betriebssystem jetzt ein Y aber ich bekomme trotzdem den Code 16. Eigentlich würde sich jeder Programmierer wünschen, dass das Betriebssystem einem diese ganze hin- und herrechnerei zwischen Virtuellem KeyCode und dem Zeichen was nachher rausfällt abnimmt. Wenn der Nutzer also ein Z drückt will ich nicht die Tastenposition auf der &#8220;virtuellen&#8221; Tastatur die durch das Software Keyboardlayout definiert wird sondern ich will die Information: Der User hat den Buchstaben &#8220;Z&#8221; eingegeben.</p>
<p>Ich habe das Problem durch meine Tätigkeit bei X-Software und eben durch die beiden inkarnationen des JoyBoard Programms (Windows ist bereits veröffentlicht, MacOS X bastel ich gerade dran) nun schon auf den drei großen Platformen gesehen und verstehe nicht warum da seitdem ein Einheitlicher Tastaturstandard eingeführt wurde immer noch nix passiert ist im Bezug auf Abstraktionsschichten in den Betriebssystem APIs. Auf jedem Betriebssystem muss ich die empfangene Taste erstmal durch eine Übersetzungstabelle jagen die ich, je nach Tastaturlayout, generieren muss um an vernünftige Informationen zu kommen.</p>
<h3>Code anyone?</h3>
<p>Und nun, damit der Blogeintrag auch noch zu was nützlich ist, noch ein bisschen Code für MacOS zum Umrechnen des ganzen Schmarrns.</p>
<div class="code"><span style="color: #8b4513;"></p>
<pre class="brush:objc">#import &lt;CoreFoundation/CoreFoundation.h&gt;
#import &lt;Carbon/Carbon.h&gt; /* For kVK_ constants, and TIS functions. */

/* Returns string representation of key, if it is printable.
 * Ownership follows the Create Rule; that is, it is the caller's
 * responsibility to release the returned object. */

CFStringRef createStringForKey(CGKeyCode keyCode)
{
	TISInputSourceRef currentKeyboard =
		TISCopyCurrentKeyboardInputSource();
	CFDataRef layoutData = TISGetInputSourceProperty(
		currentKeyboard, kTISPropertyUnicodeKeyLayoutData);
	const UCKeyboardLayout *keyboardLayout =
		(const UCKeyboardLayout *)CFDataGetBytePtr(layoutData);
	UInt32 keysDown = 0;
	UniChar chars[4];
	UniCharCount realLength;

	UCKeyTranslate(
		keyboardLayout,
		keyCode,
		kUCKeyActionDisplay,
		0,
		LMGetKbdType(),
		kUCKeyTranslateNoDeadKeysBit,
		&amp;keysDown,
		sizeof(chars) / sizeof(chars[0]),
		&amp;realLength,
		chars);
	CFRelease(currentKeyboard);

	return CFStringCreateWithCharacters(kCFAllocatorDefault, chars, 1);
}

/* Returns key code for given character via the above function,
 * or UINT16_MAX on error. */
CGKeyCode keyCodeForChar(const char c)
{
	static CFMutableDictionaryRef charToCodeDict = NULL;
	CGKeyCode code;
	UniChar character = c;
	CFStringRef charStr = NULL;

	/* Generate table of keycodes and characters. */
	if (charToCodeDict == NULL) {
		size_t i;
		charToCodeDict = CFDictionaryCreateMutable(
			kCFAllocatorDefault,
			128,
			&amp;kCFCopyStringDictionaryKeyCallBacks,
			NULL);
		if (charToCodeDict == NULL)
			return UINT16_MAX;

		/* Loop through every keycode (0 - 127) to find its current mapping. */
		for (i = 0; i &lt; 128; ++i) {
			CFStringRef string = createStringForKey((CGKeyCode)i);
			if (string != NULL) {
				CFDictionaryAddValue(charToCodeDict, string, (const void *)i);
				CFRelease(string);
			}
		}
	}
	charStr = CFStringCreateWithCharacters(kCFAllocatorDefault, &amp;character, 1);

	/* Our values may be NULL (0), so we need to use this function. */
	if (!CFDictionaryGetValueIfPresent(charToCodeDict, charStr,
		(const void **)&amp;code))
		code = UINT16_MAX;

	CFRelease(charStr);
	return code;
}</pre>
<p></span></div>
<p>(Code von <a href="http://stackoverflow.com/questions/1918841/how-to-convert-ascii-character-to-cgkeycode">http://stackoverflow.com/questions/1918841/how-to-convert-ascii-character-to-cgkeycode</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/06/21/keyboard-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Merkwürdigkeiten des iPhone SDK</title>
		<link>http://blog.dunkelstern.de/2010/06/14/merkwurdigkeiten-des-iphone-sdk/</link>
		<comments>http://blog.dunkelstern.de/2010/06/14/merkwurdigkeiten-des-iphone-sdk/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 16:04:20 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Meine Nerven!]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Cocoa Touch]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[UIWebView]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/06/14/iphone-xcode</guid>
		<description><![CDATA[Warum nur? NSString *baseURL = [thisBundle resourcePath]; baseURL = [baseURL stringByReplacingOccurrencesOfString:@"/" withString:@"//"]; // double slashes baseURL = [baseURL stringByReplacingOccurrencesOfString:@" " withString:@"%20"]; // change spaces to %20 [self.bubbleHTML loadHTMLString:locString baseURL:[NSURL URLWithString:[NSString stringWithFormat:@"file:/%@//", baseURL]]]; Und das alles nur um die Basis URL eines UIWebViews auf ein Unterverzeichnis im Bundle zu setzen… Warum muss man da erst noch [...]]]></description>
			<content:encoded><![CDATA[<p>Warum nur?</p>
<div class="code"><span style="color: #0000cd;"></p>
<pre class="brush:objc">NSString *baseURL = [thisBundle resourcePath];
baseURL = [baseURL stringByReplacingOccurrencesOfString:@"/" withString:@"//"]; // double slashes
baseURL = [baseURL stringByReplacingOccurrencesOfString:@" " withString:@"%20"]; // change spaces to %20
[self.bubbleHTML loadHTMLString:locString
    baseURL:[NSURL URLWithString:[NSString stringWithFormat:@"file:/%@//", baseURL]]];</pre>
<p></span></div>
<p>Und das alles nur um die Basis URL eines <span class="code">UIWebViews</span> auf ein Unterverzeichnis im Bundle zu setzen… Warum muss man da erst noch am String rumfrickeln?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/06/14/merkwurdigkeiten-des-iphone-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Farewell Funkyou!</title>
		<link>http://blog.dunkelstern.de/2010/05/22/farewell-funkyou/</link>
		<comments>http://blog.dunkelstern.de/2010/05/22/farewell-funkyou/#comments</comments>
		<pubDate>Sat, 22 May 2010 14:18:44 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Privatkram]]></category>
		<category><![CDATA[Farewell]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/05/22/farewell-funkyou</guid>
		<description><![CDATA[Wie ich gerade schockiert Erfahren habe ist ein guter Freund von mir schon am 24. April 2010 verstorben. Es geht um Jan Mette (aka. Funkyou) der Begründer des KDEmod Projektes für Archlinux (das Projekt hat sich mittlerweile zum Chakra Projekt weiterentwickelt). Ich bin damals ca. ein Jahr nachdem Jan das Projekt gestartet hatte mit eingestiegen [...]]]></description>
			<content:encoded><![CDATA[<div class="pic_r rr2">Wie ich gerade schockiert Erfahren habe ist ein guter Freund von mir schon am 24. April 2010 verstorben. Es geht um Jan Mette (aka. Funkyou) der Begründer des KDEmod Projektes für Archlinux (das Projekt hat sich mittlerweile zum <a href="http://chakra-project.org/">Chakra Projekt</a> weiterentwickelt). Ich bin damals ca. ein Jahr nachdem Jan das Projekt gestartet hatte mit eingestiegen und habe eineinhalb Jahre lang den 64Bit Build des Repositories betreut (damals noch KDE 3.5) und viele Patches repariert und neue beigesteuert. Die Zusammenarbeit war echt toll und wir hatten viel Spaß!</div>
<p><span id="more-10"></span></p>
<p><a href="http://chakra-project.org/news/index.php?/archives/54-Sad-news-we-lost-one-of-our-own.html"><img class="alignright" src="http://blog.dunkelstern.de/images/blog/farewell/janmette.png" alt="" width="480" height="300" /></a></p>
<p>Wir haben uns sogar (als Jan noch in Berlin wohnte) einmal zum Linuxtag getroffen, am Linuxtag selber waren wird dann nur an einem der 3 Tage da uns das Zusammensitzen und an KDEmod rumhacken viel mehr Spaß gemacht hatte als auf der Messe herumzulungern.</p>
<p>Vor 2 Wochen noch dachte ich es währe schön Jan mal wieder zu besuchen und auch seine Freundin endlich mal kennenzulernen, doch was ich nicht wusste: Er war nur deshalb nicht in Jabber online weil er bereits von uns gegangen war, und ich dachte er ist einfach nur im Urlaub. So kann man sich täuschen. Im Nachhinein finde ich es extrem Schade, dass wir uns nicht mehr getroffen haben, wir beide hätten uns viel zu erzählen gehabt.</p>
<p>Farewell Funkyou, oder eben auch geh in Frieden Jan!</p>
<p>Mein Beileid an alle Verwandten, und natürlich an seine Freundin und alle anderen Freunde die noch hier auf dieser Welt verweilen.</p>
<p>Wir hatten zwar in letzter Zeit nicht viel Kontakt weil jeder mit etwas anderem Beschäftigt war, aber ich werde ihn vermissen. Leute wie ihn findet man nicht oft!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/05/22/farewell-funkyou/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mikrowellenmuffins</title>
		<link>http://blog.dunkelstern.de/2010/05/14/muffins/</link>
		<comments>http://blog.dunkelstern.de/2010/05/14/muffins/#comments</comments>
		<pubDate>Fri, 14 May 2010 18:20:46 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Mjam Lecker]]></category>
		<category><![CDATA[Backen]]></category>
		<category><![CDATA[Mikrowelle]]></category>
		<category><![CDATA[Muffins]]></category>
		<category><![CDATA[Rezept]]></category>
		<category><![CDATA[Spontanaktion]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/05/14/muffins</guid>
		<description><![CDATA[Twitterer sind doch immer wieder für Spontiaktionen gut. Beispielsweise gestern gegen halb 2 nachts: @toastroom hatte am Abend Muffins gebacken und schickt mir ein &#8220;Schnell mal eben&#8221; &#8211; Rezept weiter. Ich konnte natürlich nicht anders und hab&#8217;s gleich ausprobiert Der erste Muffin gestern Nacht ist auch schon ganz gut geworden nur stand leider nicht dabei [...]]]></description>
			<content:encoded><![CDATA[<div class="pic_r rr2"><a href="http://blog.dunkelstern.de/images/blog/muffins/mufftrip.jpg"><img src="http://blog.dunkelstern.de/images/blog/muffins/mufftrip_thumb.jpg" alt="Muffins" /></a></div>
<div>Twitterer sind doch immer wieder für Spontiaktionen gut. Beispielsweise gestern gegen halb 2 nachts: <a href="http://twitter.com/toastroom/status/13941329566">@toastroom</a> hatte am Abend Muffins gebacken und schickt mir ein &#8220;Schnell mal eben&#8221; &#8211; Rezept weiter.</div>
<div>Ich konnte natürlich nicht anders und hab&#8217;s gleich ausprobiert <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<div>Der erste Muffin gestern Nacht ist auch schon ganz gut geworden nur stand leider nicht dabei wie man die Sauerei wieder von der Tasse abkriegt, außerdem war er ein bisschen zu wenig süß und auch nicht schokoladig genug, aber die Möglichkeit Muffins innerhalb von 5 Minuten in der Mikrowelle zu machen hat mich dann doch sehr fasziniert.</div>
<div>Deshalb konnte ich es nicht lassen und habe heute meine WG Mitbewohner mit Muffins gequält. 3 Megariesenteile sinds geworden und der 3. war dann fast perfekt (Hat nur der Puderzucker für die Glasur gefehlt <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  )</div>
<div><span id="more-11"></span></div>
<div><strong>Schokomuffin</strong></div>
<div class="pic_r rr2"><a href="http://blog.dunkelstern.de/images/blog/muffins/muffins-1.jpg"><img src="http://blog.dunkelstern.de/images/blog/muffins/muffins-1_thumb.jpg" alt="" width="320" height="300" /></a>Schokomuffin in der &#8220;Form&#8221;</div>
<p>Das muss rein:</p>
<ul>
<li> 4 EL Mehl</li>
<li> 1/2 EL Mondamin</li>
<li> 1 Prise Backpulver</li>
<li> 4 1/2 EL Zucker</li>
<li> 2 1/2 EL Kakao (ungesüßt)</li>
<li> 1 Ei</li>
<li> 3-4 EL Milch</li>
<li> 3 EL Öl</li>
<li> Schokoraspeln oder kleine Schokostückchen</li>
</ul>
<p>Und das ganze dann für 3 1/2 Minuten in die Mikrowelle. Die Menge reicht für einen Riesenmuffin oder 2 Normale <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Am besten macht man die Dinger direkt in ner kleinen Desertschale oder ner großen Tasse. Bei der Tassenvariante würde ich aber nen Teller drunter stellen falls das Überläuft.</p>
<h3>Vanille-Krokant-Muffin</h3>
<div class="pic_r rr2"><a href="http://blog.dunkelstern.de/images/blog/muffins/muffins-3.jpg"><img src="http://blog.dunkelstern.de/images/blog/muffins/muffins-3_thumb.jpg" alt="" width="320" height="290" /></a>Crunchy</div>
<p>Ziemlich gleich wie der Schoko-Muffin:</p>
<ul>
<li> 5 EL Mehl</li>
<li> 1/2 EL Mondamin</li>
<li> 1 Prise Backpulver</li>
<li> 4 1/2 EL Zucker</li>
<li> 1 Ei</li>
<li> 3-4 EL Milch</li>
<li> 3 EL Öl</li>
<li> Vanillearoma (oder 1 EL Vanillezucker und entsprechend weniger Zucker)</li>
<li> 1 EL Haselnusskrokant</li>
</ul>
<p>Beim Haselnusskrokant drauf achten, dass es nicht zu lange verrührt wird, sonst löst sich die knackige Zuckerschicht zu schnell auf und dann ist der Witz weg <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Zitronen-Kokos-Muffin</h3>
<div class="pic_r rr2"><a href="http://blog.dunkelstern.de/images/blog/muffins/muffins-5.jpg"><img src="http://blog.dunkelstern.de/images/blog/muffins/muffins-5_thumb.jpg" alt="" width="320" height="302" /></a>Mjam</div>
<ul>
<li> 4 EL Mehl</li>
<li> 1/2 EL Mondamin</li>
<li> 1 Prise Backpulver</li>
<li> 3 1/2 EL Zucker</li>
<li> 1 Ei</li>
<li> 3-4 EL Milch</li>
<li> 3 EL Öl</li>
<li> 1/2 Abgeriebene Zitronenschale</li>
<li> 2 EL Kokosraspeln</li>
</ul>
<p>Am besten noch nen Zuckerguss aus 2 EL Puderzucker und ein bisschen Zitronensaft drüber machen <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/05/14/muffins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spray, Free Wall Graffiti in Karlsruhe</title>
		<link>http://blog.dunkelstern.de/2010/05/12/spray-one/</link>
		<comments>http://blog.dunkelstern.de/2010/05/12/spray-one/#comments</comments>
		<pubDate>Wed, 12 May 2010 13:23:55 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Kreatives Chaos]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Foto]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/05/13/spray-one</guid>
		<description><![CDATA[Wer von uns kennt das nicht: Dauernd fährt man mit der Straßenbahn oder dem Auto an einer Location vorbei die man unbedingt mal Fotografieren möchte und jedes mal hat man wieder keine Zeit, keine Kamera oder sonstwas vor und kommt nicht dazu. So ging es mir bis letzten Freitag auch. Ich fahre nämlich immer wenn [...]]]></description>
			<content:encoded><![CDATA[<div class="pic_r rr2"><img src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-15.jpg" alt="Graffitiwand" width="420" height="213" /></div>
<p>Wer von uns kennt das nicht: Dauernd fährt man mit der Straßenbahn oder dem Auto an einer Location vorbei die man unbedingt mal Fotografieren möchte und jedes mal hat man wieder keine Zeit, keine Kamera oder sonstwas vor und kommt nicht dazu. So ging es mir bis letzten Freitag auch. Ich fahre nämlich immer wenn ich nach Karlsruhe in die Innenstadt fahre mit der Linie 4 am Fächerbad vorbei. Kurz nach dem Fächerbad strahlt es einen dann an: Free Wall Graffiti in seiner schönsten Pracht. Man kann 2 der Wände direkt von der Tram aus sehen, doch dahinter ist noch viel mehr <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-12"></span>Also habe ich am Freitag die Initiative ergriffen und bin mal direkt hingefahren. Im Gepäck meine Canon EOS 350d und mein iPhone. Leider ist mir mein schönes Sigma Objektiv verreckt, also musste das Kit Objektiv herhalten. Als ich dann da war kam mir spontan die Idee ein Video draus zu machen, also ging ich das Fotoshooting einmal ganz anders an. Zuerst kam die Dokumentation an die Reihe, ich hab also erstmal Panoramas von den Wänden gemacht (die ich nachher mit einigem Gefummel in Photoshop zusammensetzen musste, wieder was gelernt!). Die Ergebnisse findet ihr hier. Außerdem brauchte ich die Panorama shots für das Video. <em>(Alle Bilder sind anklickbar zum vergrößern!)</em></p>
<p><a href="http://blog.dunkelstern.de/images/blog/spray1/pano1.jpg"><img class="round_corners" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/pano1.jpg" alt="" width="720" height="74" /></a></p>
<p><a href="http://blog.dunkelstern.de/images/blog/spray1/pano4.jpg"><img class="round_corners" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/pano4.jpg" alt="" width="720" height="69" /></a></p>
<p><a href="http://blog.dunkelstern.de/images/blog/spray1/pano2.jpg"><img class="round_corners" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/pano2.jpg" alt="" width="720" height="188" /></a></p>
<div class="center"><a href="http://blog.dunkelstern.de/images/blog/spray1/pano3.jpg"><img class="round_corners" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/pano3.jpg" alt="" /></a></div>
<h3>Planung? Wozu, ich bin doch Spontan!</h3>
<p>Da steh ich also auf dem Bolzplatz und weiß nicht genau was ich draus machen soll, was mache ich also? Ich fange an meine DSLR ein wenig so zu verwenden wie man es wohl mit einer Videokamera machen würde… Nur dass sie eben keine Videos macht sondern Standbilder, und zwar viele! Ich bin nachher mit 3 GB Daten nach Hause gegangen und musste den Kram erstmal sichten. Aber das war ja zu erwarten <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Als ich gerade die CF-Karte wechseln musste ist mir mein iPhone in meiner Hosentasche eingefallen, das kann ja Video! Also Kamera weggepackt und fix mit dem iPhone ein paar Videoschnipsel gedreht, ohne weiteren Plan, da wird schon was bei rauskommen, doch so langsam entwickelt sich bei mir eine Vorstellung wie das Video nachher aussehen wird.</p>
<h3>Ok doch noch Fotos!</h3>
<p>Mein Plan weitet sich immer mehr aus und ich mache nach dem Videodreh also doch noch ein paar richtige Fotos™ (die könnt ihr in der Galerie nachher bestaunen…) und außerdem noch Nahaufnahmen der Tags der Künstler. Das Video ist also mehr eine dreingabe Geworden, es geht hektischer drin zu, wenn man die Graffities in Ruhe betrachten möchte empfehle ich also die Panoramas und die Fotos <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Das Video</h3>
<p>Das Video ist in Adobe After Effects entstanden, Musik hab ich auf Jamendo gefunden und gebraucht hab ich ca 3 Tage. Für mein allererstes After Effects Projekt doch ganz nett geworden oder?</p>
<p>[There is a video that cannot be displayed in this feed. <a href="http://blog.dunkelstern.de/2010/05/12/spray-one/">Visit the blog entry to see the video.]</a></p>
<p><strong>Ich will Fotos sehen!</strong></p>
<p>Ja dafür hab ich sie ja gemacht <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  hier sind sie:</p>
<p><!-- 14	13	4<br />
5	1	3<br />
6	-	2<br />
7	9	8<br />
11	10	12 --></p>
<table class="gallery">
<tbody>
<tr>
<td style="padding-right: 30px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-14.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-14.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 30px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-13.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-13.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 0px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-4.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-4.jpg" alt="thumbnail" height="150" /></a></td>
</tr>
</tbody>
</table>
<table class="gallery">
<tbody>
<tr>
<td style="padding-right: 43px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-5.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-5.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 43px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-1.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-1.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 0px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-3.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-3.jpg" alt="thumbnail" height="150" /></a></td>
</tr>
</tbody>
</table>
<table class="gallery">
<tbody>
<tr>
<td style="padding-right: 301px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-6.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-6.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 0px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-2.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-2.jpg" alt="thumbnail" height="150" /></a></td>
</tr>
</tbody>
</table>
<table class="gallery">
<tbody>
<tr>
<td style="padding-right: 88px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-7.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-7.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 88px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-9.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-9.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 0px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-8.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-8.jpg" alt="thumbnail" height="150" /></a></td>
</tr>
</tbody>
</table>
<table class="gallery">
<tbody>
<tr>
<td style="padding-right: 26px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-11.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-11.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 25px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-10.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-10.jpg" alt="thumbnail" height="150" /></a></td>
<td style="padding-right: 0px;"><a title="Großansicht" href="http://blog.dunkelstern.de/images/blog/spray1/spray-12.jpg"><img title="untitled" src="http://blog.dunkelstern.de/images/blog/spray1/thumb/spray-12.jpg" alt="thumbnail" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>Ich hoffe die Fotos gefallen euch <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/05/12/spray-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atmel AVR Programmer</title>
		<link>http://blog.dunkelstern.de/2010/04/26/usbasp/</link>
		<comments>http://blog.dunkelstern.de/2010/04/26/usbasp/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 19:15:45 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Platinen]]></category>
		<category><![CDATA[USBASP]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/04/26/usbasp</guid>
		<description><![CDATA[Ich sehe schon, ich vernachlässige mein Blog zu sehr, könnte daran liegen, dass ich hinter den Kulissen an der Blog Engine arbeite gerade Aber Heute geht&#8217;s mal um was anderes: Elektronik und die Tücken des Platinen herstellens. AVR USB Programmer Leider hat sich mein Atmel AVRISP MK2 vor ein paar Monaten schon in die ewigen [...]]]></description>
			<content:encoded><![CDATA[<div class="pic_r rr2"><a href="http://blog.dunkelstern.de/images/blog/usbasp/usbasp_big.jpg"><img class="alignright" src="http://blog.dunkelstern.de/images/blog/usbasp/usbasp_small.jpg" alt="Bild vom USBASP" width="280" height="200" /></a></div>
<p>Ich sehe schon, ich vernachlässige mein Blog zu sehr, könnte daran liegen, dass ich hinter den Kulissen an der Blog Engine arbeite gerade <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Aber Heute geht&#8217;s mal um was anderes: Elektronik und die Tücken des Platinen herstellens.</p>
<p><span id="more-13"></span></p>
<h3>AVR USB Programmer</h3>
<p>Leider hat sich mein Atmel AVRISP MK2 vor ein paar Monaten schon in die ewigen Jagdgründe verabschiedet. Was genau dem Kistchen fehlt kann ich leider nicht wirklich sagen, denn am Computer wird es noch ohne weiteres Erkannt und funktioniert anscheinend auch, doch aus dem Programmierstecker kommt kein Muks mehr. Der Maschinengeist war dem kleinen blauen Kästchen wohl nicht mehr gnädig und hat sich auf die Suche nach einem neuen Zuhause gemacht.</p>
<p>Da ich ja nun kein Programmiergerät mehr mein eigen nennen durfte musste natürlich ein neues her. Und da mein WG Mitbewohner zufällig noch einen dieser kleinen Adapter besitzt der noch funktionsfähig ist dachte ich mir ich baue mir einfach selber einen. Kann ja nicht so schwer sein und siehe da im Netz findet man sogar Schaltpläne für diverse Versionen dieser Programmer. Nach mehrfachem hin und her was ich nun bauen soll habe ich mich für das <a href="http://wiki.ullihome.de/index.php/USBAVR-ISP/de">USBLab Christian Ulrich</a> entschieden. Warum? &#8211; Das war relativ einfach zu entscheiden:</p>
<ol>
<li> Kann man mit der USBLab Hardware auch die <a href="http://www.fischl.de/usbasp/">USBASP</a> Firmware benutzen, d.h. falls die USBLab Firmware nicht laufen würde hätte ich einfach die von USBASP drauf flashen können.</li>
<li> Kann USBLab noch viel mehr. z.B. kann man einen JTAG Adapter draus machen oder ein sehr niederfrequentes Oszilloskop.</li>
</ol>
<h3>Die Tücken der Platinenherstellung</h3>
<p>Immer wenn man mal wieder richtig was tolles bauen will versagt natürlich die Ausrüstung, ist ja klar. Vor einem Monat funktionierte noch alles, doch wenn man es jetzt aus dem Schrank zieht tut sich nix mehr. Kennt das jemand? &#8211; Nicht? &#8211; Glück gehabt. Ich hatte nicht soviel Glück und natürlich ist die dumme Aquariumspumpe der Ätzanlage (damit die Säure so schön durchgemischt wird beim Ätzen) direkt erstmal verreckt. Aber immerhin tut die Heizung noch. Aber sei&#8217;s drum, dann stell ich mich halt daneben und schwenk die Platine hin und her. Aber dazu müsste man wohl erstmal ein korrekt belichtetes Platinchen in den Händen halten. Also unsere Mini Solarbank ausgepackt (Umgebauter Scanner mit einem Gesichtsbräuner drin&#8230; funktioniert super!) und dem Laserdrucker eine Folie zu fressen gegeben und das Layout erstmal ausgedruckt. Soweit so gut.</p>
<div class="pic_l rl3"><a href="http://blog.dunkelstern.de/images/blog/usbasp/usbasp_layout.png"><img src="http://blog.dunkelstern.de/images/blog/usbasp/usbasp_layout_small.png" alt="Platinenlayout" width="331" height="263" /><br />
</a></div>
<p>Ich halte also eine korrekt belichtete Platine in den Händen und rühre den Entwickler nach Gefühl und, so glaubte ich zumindest, bestem Wissen und Gewissen an, lasse die Platine hineingleiten und wusch: Platine komplett entschichtet. Ups das war wohl zu scharf angesetzt. Also schnell mal mit der gleichen Menge Wasser aufgießen und ein neues Stück Platine zurechtdrehmeln.</p>
<p>Beim 2. Mal hat&#8217;s dann schließlich geklappt. 5 Gramm Entwickler auf 200 ml Wasser. So nun hab ich&#8217;s aufgeschrieben und wenn ich beim nächsten mal auf Twitter schreib das ich mich vertan hab dürft ihr mich hauen.</p>
<p>Beim Ätzen sind mir dann ein paar kleine Schwächen des Platinenlayouts aufgefallen, an einer Stelle wollte sich das Kupfer nämlich nicht von der Platine lösen und ich musste dem Ding nachher mit einem Skalpell zu Leibe rücken um den Kurzschluss zu beseitigen. Das was ihr in diesem Blogeintrag zu sehen kriegt ist also schon das bereits überarbeitete Platinenlayout das ich dann morgen ätzen und bestücken werde. Das Foto am Anfang ist jedoch das bereits funktionierende Teil was ich schon fertig hab mit Version 1 der Platine.</p>
<p>Beim Bohren der Platine wurde mir dann auch wieder ins Gedächtnis zurück gerufen weshalb ich Eagle nicht so besonders mag. Man kann nicht ohne weiteres alle Lötpads vergrößern damit diese beim Bohren per Hand nicht plötzlich verschwinden (weil man eben nicht genau Zentral getroffen hat und somit das gute Kupfer die Platine verlassen hat um sich ganz eng an den Bohrer zu kuscheln&#8230; Man wickelt sozusagen das ganze Pad auf den Bohrer auf und darf sich nachher die Haare raufen wie man das jetzt festgelötet kriegt)</p>
<p>Aus genau diesem Grund habe ich dann Heute entschlossen mir eine eigene Eagle Library zu bauen in die ich einfach alle Teile reinkopiert habe die ich auf der Platine habe um die Lötpads zu vergrößern. Die Dunkelstern &#8220;Handmade&#8221; Library sozusagen. Wenn die Bibliothek einmal genügend Teile umfassen sollte werde ich die dann auch mal online stellen, aber im Moment ist es dafür wohl noch zu früh. An den Teilen habe ich auch schon teilweise Detailverbesserungen angebracht (z.b. hat der Quarz jetzt ein rechteckiges Pad an Pin1 und die Widerstände haben 1mm mehr Abstand damit ein normalsterblicher die auch so biegen kann dass die da ohne weiteres reinpassen), ein paar mehr werden wohl folgen.</p>
<h3>USBLab Firmware</h3>
<p>Nachdem ich dem Ding dann endlich alle Hardwarefehler und Kinderkrankheiten ausgetrieben habe ging&#8217;s an die Firmware, doch die hätte ich mir besser vorher angesehen. Ich habe selten so ein <span class="code">#ifdef</span> Chaos gesehen wie in dieser Firmware. Es gibt für die USBLab Platine insgesamt 7 verschiedene Firmware brocken plus einen USB Bootloader. Leider wurden alle 7 unterschiedlichen Programme inkl. Bootloader in einem Satz Dateien untergebracht und es wird munter mittels <span class="code">#ifdef</span> ausgeklammert was man gerade nicht benötigt. Der Quellcode ist ohne Vorlauf von &#8220;<span class="code">gcc -E</span>&#8221; nicht lesbar. Nachdem der Präprozessor die Firmware einmal durchgekaut hat geht&#8217;s einigermaßen, aber ändern kann man an dem Quellcode so nix. Was dabei allerdings auch unglaublich nervt: Es gibt keine <span class="code">Makefiles</span> in die man eben das <span class="code">-E</span> einschmuggeln könnte, sondern nur AVRStudio Projektdateien. Also musste die Virtuelle Maschine mit Windows ran um das Gewirr zu sortieren.</p>
<p>Als nächstes musste ich feststellen, dass der Bootloader ein paar sehr merkwürdige Annahmen über die Taktfrequenz des ATmega8 vorweg nimmt, so läuft der Bootloader nur mit 12 MHz und, mit den übertakteten außerhalb der Spezifikation des Chips liegenden, 20 MHz, die 16 MHz die ich so gut wie immer benutze werden nicht unterstützt. Allerdings ist das eine absolut frei gewählte Einschränkung damit der Firmware Updater nicht soviele verschiedene Firmware Images vorhalten muss. Da der Firmwareupdater aber wohl eh nur unter Windows läuft war mir das zunehmend egal. Dann kann ich den halt nicht verwenden.</p>
<div class="pic_r rr2"><a href="http://blog.dunkelstern.de/images/blog/usbasp/usbasp_schema.png"><img src="http://blog.dunkelstern.de/images/blog/usbasp/usbasp_schema_small.png" alt="Schaltplan" width="416" height="367" /></a></div>
<p>Also auf zur Programmer Firmware. Und ich ahnte schlimmes (was wie ihr gleich sehen werdet auch eintrat). Ich wollte eigentlich die AVRISP MK2 Firmware einspielen und mein fertiges Gerätchen dann gut getarnt wieder in das Gehäuse des Zerstörten original Atmel Programmers einsetzen (daher auch die Außenmaße von 4 mal 5 cm). So könnte ich wie gewohnt weiter arbeiten. Aber leider musste ich feststellen, dass trotz der vielen <span class="code">#ifdef</span> Anweisungen immer starr von 12 MHz ausgegangen wird und sich der Autor der Firmware auch noch selber eine Timer funktion gebastelt hatte die nur als delay verwendung findet und dafür einen Timer/Counter auffrisst. Natürlich funktionierte diese Timer Funktion nicht mehr korrekt bei 16 MHz.</p>
<p>Nachdem ich auch diesen Fehler beseitigt hatte erkannte mein Computer den Programmer korrekt als <span class="code">AVRISP MKII</span> mit der Seriennummer <span class="code">ULIHOME.DE0</span>. Soweit so klar, also das AVRStudio angeworfen, eine Testplatine rausgekramt und einfach mal irgendwas auf den Microcontroller auf der Platine schreiben&#8230;. Mööööp Fehlanzeige. Das AVRStudio und auch Windows erkennen das Gerät zwar korrekt aber leider funktioniert wohl irgendetwas nicht und die Verbindung kommt nicht zustande. Zu diesem Zeitpunkt dachte ich mir nur: &#8220;Hoffentlich ist es nicht die Hardware, sondern nur meine Dummheit&#8221;. Also fix die USBASP FIrmware runtergeladen, die Ports und Pins angepasst und siehe da: Es funktioniert.</p>
<h3>Softwareentwicklung und Elektronik</h3>
<p>Wie ich immer wieder feststellen musste sind Elektroniker nicht unbedingt die besten Softwareentwickler. Für mich hat sich dieses Vorurteil mit dem USBLab wieder mal bestätigt, ich möchte niemandem zu nahe treten mit dieser Aussage, denn ich bin zwar ein guter Softwareentwickler aber dafür nicht so gut mit der Elektronik <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Trotzdem werde ich mich der kaputten Firmware annehmen und diese in funktionsfähigen und lesbaren Zustand bringen, ich hab ja nu schon mal 2 von den Geräten hier rumliegen, dann will ich das auch nutzen können. (Habt mich also doch gekriegt <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>Ich werde das dann hier in meinem Blog dokumentieren und evtl. noch ne Projektseite dazu online stellen.</p>
<h3>Die Hardware</h3>
<p>In den Bildern oben konntet ihr ja schon sehen wie das ganze ungefähr aussieht. Sollte jetzt jemand so heiß drauf sein, dass er das unbedingt nachbauen will kommt hier jetzt einfach noch schnell <a href="http://blog.dunkelstern.de/images/blog/usbasp/usbasp_board.pdf">ein PDF mit allen Zeichnungen</a> drin.</p>
<p>Auf der letzten Seite findet ihr das Board Layout zum Belichten in Originalgröße, sowie eine Maske für den Lötstopp Lack sowie ein kleines Bestückungsschema. An einigen Widerständen im Schaltplan steht kein Wert dran, diese Werte könnt ihr in der Materialliste auf der nächsten Seite nachlesen. Als Lötstopp Lack lässt sich übrigens prima der unbelichtete Lack der noch auf der Platine ist nach dem Ätzen verwenden. Einfach nochmal die Lötstopp Maske drauf belichten, nochmal entwickeln (jetzt sind die Lötpads frei) und dann für 10 min in den Backofen legen (ohne vorheizen) das backt den Lack dann fest und ihr habt fast die Qualität Platine die ihr aus der Fabrik kriegen würdet <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/04/26/usbasp/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Applescripts 1</title>
		<link>http://blog.dunkelstern.de/2010/03/25/useful-applescripts/</link>
		<comments>http://blog.dunkelstern.de/2010/03/25/useful-applescripts/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 01:05:34 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Arbeitshilfen]]></category>
		<category><![CDATA[Finder]]></category>
		<category><![CDATA[Smultron]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/03/25/useful-applescripts</guid>
		<description><![CDATA[Ich habe mich im Zuge eines kleinen Projektes das ich gerade angefangen habe einmal näher mit den Möglichkeiten von AppleScript beschäftigt. Ein nettes Tool wenn man denn damit umgehen kann. Ich kippe einfach mal ein paar sinnvolle und nützliche Skripte hier ab, evtl. kann die ja jemand brauchen. Und ja, ich gebe zu einige davon [...]]]></description>
			<content:encoded><![CDATA[<div class="pic_r rr2"><img class="alignright" src="http://blog.dunkelstern.de/images/blog/programming/applescript-icon.png" alt="AppleScript Icon" width="210" height="210" /></div>
<p>Ich habe mich im Zuge eines kleinen Projektes das ich gerade angefangen habe einmal näher mit den Möglichkeiten von AppleScript beschäftigt. Ein nettes Tool wenn man denn damit umgehen kann.</p>
<p><span id="more-14"></span></p>
<p>Ich kippe einfach mal ein paar sinnvolle und nützliche Skripte hier ab, evtl. kann die ja jemand brauchen. Und ja, ich gebe zu einige davon sind echt Hacks. Wenn jemand ne Idee hat wie man einen Hack in was schöneres Verwandeln kann bitte immer her damit, ich habe nicht die ganze Doku gelesen weil ich eigentlich &#8220;Nur mal eben schnell&#8221; was basteln wollte. Hat dann zwar doch wieder länger gedauert aber es macht das Leben wesentlich einfacher.</p>
<h3>Applescripts für die Finder Toolbar</h3>
<p>Derer habe ich gerade zwei auf Halde die mir meine (Programmier-)Arbeit erstaunlich vereinfachen.</p>
<h4>Open Terminal Here</h4>
<p>Beim ersten Skript geht es einfach nur darum ein neues Terminal (in meinem Fall ein <a href="http://iterm.sourceforge.net/">iTerm</a>) zu öffnen und dessen Pfad auf den aktuellen Ordner im Finder zu setzen (also ein einfaches &#8220;<span class="code">cd </span>&#8220;)</p>
<div class="code">
<pre class="brush:applescript">tell application "iTerm"
	tell application "Finder"
		set thewindow to window 1
		set thePath to (quoted form of POSIX path of (target of thewindow as alias))
	end tell
	activate
	set myterm to (make new terminal)
	tell myterm
		set mysession to (make new session at the end of sessions)
		tell mysession
			set name to "Launched from Finder"
			exec command "bash -l"
			write text "cd " &amp; thePath
		end tell
	end tell
end tell</pre>
</div>
<p>Dieses Script habe ich mir als App gespeichert und mit dem iTerm Icon versehen in die Toolbar vom Finder gelegt, ein einfacher klick darauf öffnet dann ein neues Terminalfenster und wechselt in das aktuelle Verzeichnis des Finder Fensters. Wer will kann das ganze Ding fertig <a href="http://downloads.dunkelstern.de/blog/programming/open_iterm_here.zip">gepackt als Application-Bundle hier runterladen</a>.</p>
<h4>Edit in Smultron</h4>
<p>Ich bearbeite öfters Dateien mal einfach im Texteditor auch wenn unter Umständen andere Programme mit dem Dateityp verknüpft sind. Praktisch ist das z.B. bei Quellcode.  Oft möchte ich nur schnell was nachschauen und da ist es unnötig, dass gleich XCode aufgeht und mir den RAM vollballert. Ich verwende <a href="http://smultron.sourceforge.net/">Smultron</a> als Texteditor.</p>
<pre class="brush:applescript">tell application "Finder"
	set selectedFiles to the selection
	repeat with fileName in selectedFiles
		set tFileName to (fileName as text)
		set rvName to the reverse of (characters of tFileName)
		set tRvName to rvName as string
		set colon to character 1 of tRvName
		set doNotOpen to 0
		if (colon is equal to ":") then
			set doNotOpen to 1
		end if
		if item (tFileName &amp; ":Info.plist") exists then
			set doNotOpen to 1
		end if
		if item (tFileName &amp; ":Contents:Info.plist") exists then
			set doNotOpen to 1
		end if
		if (doNotOpen is equal to 0) then
			do shell script "smultron " &amp; quoted form of POSIX path of (fileName as text)
		end if
	end repeat
end tell</pre>
<div class="code">Auch dieses kleine Skript gibts wieder <a href="http://downloads.dunkelstern.de/blog/programming/edit_in_smultron.zip">fertig als Application-Bundle zum runterladen</a>. Was allerdings zu beachten ist: Die Kommandozeilen Tools von Smultron müssen installiert sein (Findet man im Hilfe Menu)</div>
<h3>Applescripts zum direkt ausführen</h3>
<p>Da habe ich heute nur eins auf Lager, aber das hat es echt in sich!</p>
<h4>Wacom Tablet bei zwei Monitoren automatisiert umschalten</h4>
<p>Ui, ui, ui das hab ich vor ner ganzen Zeit schon gebastelt. Es geht um folgendes: Wenn man ein älteres Wacom Tablet besitzt (Ich habe ein Graphire 3) hat man das Problem, dass der Treiber bei Mehrbildschirmbetrieb das Bedienfeld entweder total verzerrt oder stark Einschränkt. Irgendwie muss die überbreite Fläche der 2 Monitore ja auf das 4:3 Pad abgebildet werden. Man hat ja im Prinzip das Seitenverhältnis 32:10 bei 2 Monitoren. Die andere Variante ist folgende: Man schränkt sich auf einen Monitor ein. Das empfinde ich jedoch als zu schade, daher habe ich mir einen Script gebastelt den ich auf die obere Stifttaste gelegt habe. Drücke ich diese tritt mein Script in Aktion und wechselt den Bildschirm. Der Mauscursor springt also vom 1. zum 2. Bildschirm und umgekehrt. So kann ich das Pad großflächig Nutzen (16:10 Seitenverhältnis) aber trotzdem auf beiden Bildschirmen benutzen.</p>
<p>Hierfür braucht es ein wenig Shellscript und Unix Voodoo aber es funktioniert zuverlässig. Die Scripte liegen bei mir übrigens im Verzeichnis &#8220;/Users/dark/Scripts&#8221;, dieser Pfad muss angepasst werden wenn es auch bei euch funktionieren soll.</p>
<h5>wacom_switch Applescript (für den Stiftbutton)</h5>
<div class="code">
<pre class="brush:applescript">do shell script "/Users/dark/Scripts/wacom_switch.sh"
tell application "PenTabletDriver.app" to activate</pre>
</div>
<h5>wacom_switch.sh</h5>
<div class="code">
<pre class="brush:shell">#!/bin/bash
killall PenTabletDriver
current=`cat /Users/dark/Scripts/wacom.conf`

if [ "$current" = "1" ] ; then
	cp /Users/dark/Scripts/com.wacom.pentablet.prefs_screen2 /Users/dark/Library/Preferences/com.wacom.pentablet.prefs
	echo "2" &gt;/Users/dark/Scripts/wacom.conf
else
	cp /Users/dark/Scripts/com.wacom.pentablet.prefs_screen1 /Users/dark/Library/Preferences/com.wacom.pentablet.prefs
	echo "1" &gt;/Users/dark/Scripts/wacom.conf
fi</pre>
</div>
<h5>Die Dateien <span class="code">com.wacom.pentablet.prefs_screen1</span> und <span class="code">com.wacom.pentablet.prefs_screen2</span></h5>
<p>Diese beiden Dateien kann ich euch leider nicht geben, da diese vom System und der installierten Treiberversion abhängen. Ihr könnt diese Dateien aber recht einfach selbst erstellen.</p>
<ol>
<li> Stellt den Treiber auf Einbildschirmbetrieb ein und legt das AppleScript als Tastenaktion fest</li>
<li> Verlasst die Systemsteuerung</li>
<li> Navigiert im Finder in folgendes Verzeichnis: <span class="code">/Users/<strong>dark</strong>/Library/Preferences/</span> (das <em>dark</em> wieder durch euren Benutzernamen ersetzen)</li>
<li> Kopiert die Datei <span class="code">com.wacom.pentablet.prefs</span> in euer &#8220;<span class="code">Scripts</span>&#8221; Verzeichnis und benennt sie um in <span class="code">com.wacom.pentablet.prefs_screen1</span></li>
<li> Öffnet wieder die Systemsteuerung und konfiguriert den Wacom Treiber für den anderen Bildschirm</li>
<li> Verlasst die Systemsteuerung</li>
<li> Geht wieder in das Verzeichnis aus Schritt 3 und kopiert die Datei wieder in das Scripts Verzeichnis, dieses mal wird sie jedoch mit &#8220;screen2&#8243; umbenannt. <strong>Bevor dieser Schritt nicht gemacht wurde auf keinen Fall die Stifttaste drücken!</strong></li>
<li> Jetzt das ganze mit der Stifttaste ausprobieren. Es kann bis zu 2 Sekunden dauern bis der Cursor auf den anderen Bildschirm wechselt! (Aber nur beim ersten wechsel, danach geht&#8217;s schneller!)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/03/25/useful-applescripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filmstöckchen</title>
		<link>http://blog.dunkelstern.de/2010/03/08/filmstockchen/</link>
		<comments>http://blog.dunkelstern.de/2010/03/08/filmstockchen/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 12:02:02 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[The Dump]]></category>
		<category><![CDATA[Filme]]></category>
		<category><![CDATA[Kino]]></category>
		<category><![CDATA[Stöckchen]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2010/03/08/film-stoeckchen</guid>
		<description><![CDATA[Bild von frashier via Flickr Heute habe ich mir ein Filmst&#246;ckchen von Gilly via Twitter eingefangen. Es geht darum mal anzugeben welche der Finanziell erfolgreichsten Filme man denn so gesehen hat. Da ich Filmfan bin wollen wir doch mal sehen was mir noch fehlt Die Filmliste Ich mach mal alles gr&#252;n was ich gesehen hab [...]]]></description>
			<content:encoded><![CDATA[<div class="pic_r rr2">
	<a href="http://www.flickr.com/photos/frashier/3072714530/"><img alt="Stöckchen" height="500" src="http://blog.dunkelstern.de/images/blog/stoeckchen.jpg" width="333" /></a>Bild von <a href="http://www.flickr.com/photos/frashier/">frashier via Flickr</a></div>
<p>
	Heute habe ich mir ein Filmst&ouml;ckchen von <a href="http://blog.gilly.ws/2010/03/08/hundert-finanziell-erfolgreichsten-filme">Gilly</a> via Twitter eingefangen. Es geht darum mal anzugeben welche der Finanziell erfolgreichsten Filme man denn so gesehen hat. Da ich Filmfan bin wollen wir doch mal sehen was mir noch fehlt <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<h3>
	Die Filmliste</h3>
<p>
	Ich mach mal alles gr&uuml;n was ich gesehen hab und rot was ich nicht kenne <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ol>
<li>
		<span style="color:#008000;">Avatar &ndash; Aufbruch nach Pandora, 2009, James Cameron</span></li>
<li>
		<span style="color:#008000;">Titanic, 1997, James Cameron</span></li>
<li>
		<span style="color:#008000;">Der Herr der Ringe &ndash; Die R&uuml;ckkehr des K&ouml;nigs, 2003, Peter Jackson</span></li>
<li>
		<span style="color:#008000;">Pirates of the Caribbean &ndash; Fluch der Karibik 2, 2006, Gore Verbinski</span></li>
<li>
		<span style="color:#b22222;">The Dark Knight, 2008, Christopher Nolan</span></li>
<li>
		<span style="color:#008000;">Harry Potter und der Stein der Weisen, 2001, Chris Columbus</span></li>
<li>
		<span style="color:#008000;">Pirates of the Caribbean &ndash; Am Ende der Welt, 2007, Gore Verbinski</span></li>
<li>
		<span style="color:#008000;">Harry Potter und der Orden des Ph&ouml;nix, 2007, David Yates</span></li>
<li>
		<span style="color:#008000;">Harry Potter und der Halbblutprinz, 2009, David Yates</span></li>
<li>
		<span style="color:#008000;">Der Herr der Ringe &ndash; Die zwei T&uuml;rme, 2002, Peter Jackson</span></li>
<li>
		<span style="color:#008000;">Star Wars Episode 1 &ndash; Die dunkle Bedrohung, 1999, George Lucas</span></li>
<li>
		<span style="color:#008000;">Shrek 2 &ndash; Der tollk&uuml;hne Held kehrt zur&uuml;ck, 2004, Andrew Adamson, Kelly Asbury, Conrad Vernon</span></li>
<li>
		<span style="color:#008000;">Jurassic Park, 1993, Steven Spielberg</span></li>
<li>
		<span style="color:#008000;">Harry Potter und der Feuerkelch, 2005, Mike Newell</span></li>
<li>
		<span style="color:#008000;">Spider-Man 3, 2007, Sam Raimi</span></li>
<li>
		<span style="color:#008000;">Ice Age 3, 2009, Carlos Saldanha, Mike Thurmeier</span></li>
<li>
		<span style="color:#008000;">Harry Potter und die Kammer des Schreckens, 2002, Chris Columbus</span></li>
<li>
		<span style="color:#008000;">Der Herr der Ringe &ndash; Die Gef&auml;hrten, 2001, Peter Jackson</span></li>
<li>
		<span style="color:#008000;">Findet Nemo, 2003, Andrew Stanton</span></li>
<li>
		<span style="color:#008000;">Star Wars Episode 3 &ndash; Die Rache der Sith, 2005, George Lucas</span></li>
<li>
		<span style="color:#b22222;">Transformers &ndash; Die Rache, 2009, Michael Bay</span></li>
<li>
		<span style="color:#008000;">Spider-Man, 2002, Sam Raimi</span></li>
<li>
		<span style="color:#008000;">Independence Day, 1996, Roland Emmerich</span></li>
<li>
		<span style="color:#008000;">Shrek der Dritte, 2007, Chris Miller</span></li>
<li>
		<span style="color:#008000;">Krieg der Sterne, 1977, George Lucas</span></li>
<li>
		<span style="color:#008000;">Harry Potter und der Gefangene von Askaban, 2004, Alfonso Cuaron</span></li>
<li>
		<span style="color:#008000;">E.T. &ndash; Der Au&szlig;erirdische, 1982, Steven Spielberg</span></li>
<li>
		<span style="color:#b22222;">Der K&ouml;nig der L&ouml;wen, 1994, Roger Allers, Rob Minkoff</span></li>
<li>
		<span style="color:#008000;">Indiana Jones und das K&ouml;nigreich des Kristallsch&auml;dels, 2008, Steven Spielberg</span></li>
<li>
		<span style="color:#008000;">Spider-Man 2, 2004, Sam Raimi</span></li>
<li>
		<span style="color:#b22222;">2012, 2009, Roland Emmerich</span></li>
<li>
		<span style="color:#b22222;">The Da Vinci Code &ndash; Sakrileg, 2006, Ron Howard</span></li>
<li>
		<span style="color:#008000;">Die Chroniken von Narnia &ndash; Der K&ouml;nig von Narnia, 2005, Andrew Adamson</span></li>
<li>
		<span style="color:#008000;">Matrix Reloaded, 2003, Andy &amp; Larry Wachowski</span></li>
<li>
		<span style="color:#008000;">Oben, 2009, Pete Docter, Bob Peterson</span></li>
<li>
		<span style="color:#008000;">Transformers, 2007, Michael Bay</span></li>
<li>
		<span style="color:#b22222;">New Moon &ndash; Biss zur Mittagsstunde, 2009, Chris Weitz</span></li>
<li>
		<span style="color:#008000;">Forrest Gump, 1994, Robert Zemeckis</span></li>
<li>
		<span style="color:#008000;">The Sixth Sense, 1999, M. Night Shyamalan</span></li>
<li>
		<span style="color:#008000;">Fluch der Karibik, 2003, Gore Verbinski</span></li>
<li>
		<span style="color:#008000;">Ice Age 2, 2006, Carlos Saldanha</span></li>
<li>
		<span style="color:#008000;">Star Wars Episode 2 &ndash; Angriff der Klonkrieger, 2002, George Lucas</span></li>
<li>
		<span style="color:#b22222;">Kung Fu Panda, 2008, Mark Osborne, John Stevenson</span></li>
<li>
		<span style="color:#008000;">Die Unglaublichen, 2004, Brad Bird</span></li>
<li>
		<span style="color:#008000;">Hancock, 2008, Peter Berg</span></li>
<li>
		<span style="color:#008000;">Ratatouille, 2007, Brad Bird</span></li>
<li>
		<span style="color:#008000;">Vergessene Welt &ndash; Jurassic Park, 1997, Steven Spielberg</span></li>
<li>
		<span style="color:#008000;">Die Passion Christi, 2004, Mel Gibson</span></li>
<li>
		<span style="color:#b22222;">Mamma Mia!, 2008, Phyllida Lloyd</span></li>
<li>
		<span style="color:#008000;">Madagascar 2, 2008, Eric Darnell, Tom McGrath</span></li>
<li>
		<span style="color:#b22222;">007 &ndash; Casino Royale, 2006, Martin Campbell</span></li>
<li>
		<span style="color:#b22222;">Krieg der Welten, 2005, Steven Spielberg</span></li>
<li>
		<span style="color:#008000;">Men in Black, 1997, Barry Sonnenfeld</span></li>
<li>
		<span style="color:#b22222;">007 &ndash; Ein Quantum Trost, 2008, Marc Forster</span></li>
<li>
		<span style="color:#008000;">I Am Legend, 2007, Francis Lawrence</span></li>
<li>
		<span style="color:#b22222;">Iron Man, 2008, Jon Favreau</span></li>
<li>
		<span style="color:#b22222;">Nachts im Museum, 2006, Shawn Levy</span></li>
<li>
		<span style="color:#008000;">Mission: Impossible 2, 2000, John Woo</span></li>
<li>
		<span style="color:#008000;">Armageddon, 1998, Michael Bay</span></li>
<li>
		<span style="color:#b22222;">King Kong, 2005, Peter Jackson</span></li>
<li>
		<span style="color:#008000;">The Day After Tomorrow, 2004, Roland Emmerich</span></li>
<li>
		<span style="color:#008000;">Das Imperium schl&auml;gt zur&uuml;ck, 1980, Irvin Kershner</span></li>
<li>
		<span style="color:#008000;">Wall-E &ndash; Der Letzte r&auml;umt die Erde auf, 2008, Andrew Stanton</span></li>
<li>
		<span style="color:#008000;">Kevin &ndash; Allein zu Haus, 1990, Chris Columbus</span></li>
<li>
		<span style="color:#008000;">Madagascar, 2005, Eric Darnell, Tom McGrath</span></li>
<li>
		<span style="color:#008000;">Die Monster AG, 2001, Pete Docter</span></li>
<li>
		<span style="color:#008000;">Die Simpsons, 2007, David Silverman</span></li>
<li>
		<span style="color:#008000;">Terminator 2 &ndash; Tag der Abrechnung, 1991, James Cameron</span></li>
<li>
		<span style="color:#b22222;">Ghost &ndash; Nachricht von Sam, 1990, Jerry Zucker</span></li>
<li>
		<span style="color:#008000;">Meine Frau, ihre Schwiegereltern und ich, 2004, Jay Roach</span></li>
<li>
		<span style="color:#008000;">Aladdin, 1992, John Musker, Ron Clements</span></li>
<li>
		<span style="color:#b22222;">Troja, 2004, Wolfgang Petersen</span></li>
<li>
		<span style="color:#008000;">Twister, 1996, Jan De Bont</span></li>
<li>
		<span style="color:#008000;">Indiana Jones und der letzte Kreuzzug, 1989, Steven Spielberg</span></li>
<li>
		<span style="color:#b22222;">Illuminati, 2009, Ron Howard</span></li>
<li>
		<span style="color:#008000;">Toy Story 2, 1999, John Lasseter</span></li>
<li>
		<span style="color:#008000;">Bruce Allm&auml;chtig, 2003, Tom Shadyac</span></li>
<li>
		<span style="color:#008000;">Shrek &ndash; Der tollk&uuml;hne Held, 2001, Andrew Adamson, Vicky Jenson</span></li>
<li>
		<span style="color:#008000;">Der Soldat James Ryan, 1998, Steven Spielberg</span></li>
<li>
		<span style="color:#008000;">Mr. &amp; Mrs. Smith, 2005, Doug Liman</span></li>
<li>
		<span style="color:#008000;">Die R&uuml;ckkehr der Jedi-Ritter, 1983, Richard Marquand</span></li>
<li>
		<span style="color:#008000;">Charlie und die Schokoladenfabrik, 2005, Tim Burton</span></li>
<li>
		<span style="color:#008000;">Gladiator, 2000, Ridley Scott</span></li>
<li>
		<span style="color:#b22222;">Der wei&szlig;e Hai, 1975, Steven Spielberg</span></li>
<li>
		<span style="color:#008000;">Hangover, 2009, Todd Phillips</span></li>
<li>
		<span style="color:#008000;">Mission: Impossible, 1996, Brian De Palma</span></li>
<li>
		<span style="color:#008000;">Pretty Woman, 1990, Garry Marshall</span></li>
<li>
		<span style="color:#008000;">Cars, 2006, John Lasseter</span></li>
<li>
		<span style="color:#008000;">Matrix, 1999, Andy &amp; Larry Wachowski</span></li>
<li>
		<span style="color:#008000;">X-Men &ndash; Der letzte Widerstand, 2006, Brett Ratner</span></li>
<li>
		<span style="color:#b22222;">Das Verm&auml;chtnis des geheimen Buches, 2007, Jon Turteltaub</span></li>
<li>
		<span style="color:#008000;">Last Samurai, 2003, Edward Zwick</span></li>
<li>
		<span style="color:#b22222;">Tarzan, 1999, Kevin Lima, Chris Buck</span></li>
<li>
		<span style="color:#008000;">300, 2007, Zack Snyder</span></li>
<li>
		<span style="color:#008000;">Ocean&rsquo;s Eleven, 2001, Steven Soderbergh</span></li>
<li>
		<span style="color:#008000;">Pearl Harbor, 2001, Michael Bay</span></li>
<li>
		<span style="color:#008000;">Men in Black II, 2002, Barry Sonnenfeld</span></li>
<li>
		<span style="color:#008000;">Sherlock Holmes, 2009, Guy Ritchie</span></li>
<li>
		<span style="color:#008000;">Das Bourne Ultimatum, 2007, Paul Greengrass</span></li>
<li>
		<span style="color:#008000;">Mrs. Doubtfire &ndash; Das stachelige Kinderm&auml;dchen, 1993, Chris Columbus</span></li>
</ol>
<p>
	Hm irgendwie muss ich wohl mal nen James Bond abend machen <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>
	Und wen es interessiert wie ich diese Filme denn so bewerten w&uuml;rde den schick ich einfach mal auf mein <a href="http://www.criticker.com/profile/dunkelstern">Criticker Profil</a> weiter.</p>
<p>
	Wer mag denn das St&ouml;ckchen haben? Eine Person mit St&ouml;ckchenmontag kenn ich ja, n&auml;mlich die <a href="http://alphabordercollie.blogspot.com/">Moonica</a>, ansonsten lass ich es hier mal liegen, nehme sich wer will <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2010/03/08/filmstockchen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warum Copyrights global gesehen Mist sind</title>
		<link>http://blog.dunkelstern.de/2009/12/31/warum-copyrights-global-gesehen-mist-sind/</link>
		<comments>http://blog.dunkelstern.de/2009/12/31/warum-copyrights-global-gesehen-mist-sind/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 18:14:27 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Meine Nerven!]]></category>
		<category><![CDATA[Copyright]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2009/12/31/copyright</guid>
		<description><![CDATA[Ich hoffe Sascha Lobo nimmt es mir jetzt nicht &#252;bel wenn ich sein &#34;Video&#34; mal hotlinke &#160; So das musste mal gesagt werden!]]></description>
			<content:encoded><![CDATA[<p>
	Ich hoffe <a href="http://saschalobo.com">Sascha Lobo</a> nimmt es mir jetzt nicht &uuml;bel wenn ich sein <a href="http://saschalobo.com/2009/12/31/warum-das-internet-ein-neues-copyright-braucht/">&quot;Video&quot;</a> mal hotlinke <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>
	&nbsp;</p>
<p>
	<a href="http://saschalobo.com/2009/12/31/warum-das-internet-ein-neues-copyright-braucht/"><img alt="" class="rr4" height="424" src="http://saschalobo.com/wp-content/uploads/2009/12/a-pdIOa-VI.png" tooltip="linkalert-tip" width="536" /></a></p>
<p>
	So das musste mal gesagt werden!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2009/12/31/warum-copyrights-global-gesehen-mist-sind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liebe im Internet</title>
		<link>http://blog.dunkelstern.de/2009/12/31/liebe-im-internet/</link>
		<comments>http://blog.dunkelstern.de/2009/12/31/liebe-im-internet/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 07:23:14 +0000</pubDate>
		<dc:creator>dunkelstern</dc:creator>
				<category><![CDATA[Nochmal Schule?]]></category>
		<category><![CDATA[Privatkram]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Liebe]]></category>
		<category><![CDATA[Singlebörsen]]></category>

		<guid isPermaLink="false">http://blog.dunkelstern.de/2009/12/31/internetliebe</guid>
		<description><![CDATA[Angeblich nutzen heutzutage ja schon 6,3 bis 6,7 Millionen Deutsche das Internet zur Partnersuche (siehe dieser Wikipedia Artikel, jaja ich wei&#223; Wikipedia wei&#223; nicht alles, aber dieses mal isses sogar mit ner Emnid Umfrage belegt) und das ist nur auf die speziellen Singleb&#246;rsen bezogen. Ich glaube die &#34;Dunkelziffer&#34; derer Leute die sich in einem Chat [...]]]></description>
			<content:encoded><![CDATA[<p>
	Angeblich nutzen heutzutage ja schon 6,3 bis 6,7 Millionen Deutsche das Internet zur Partnersuche (<a href="http://de.wikipedia.org/wiki/Singleb%C3%B6rse">siehe dieser Wikipedia Artikel</a>, jaja ich wei&szlig; Wikipedia wei&szlig; nicht alles, aber dieses mal isses sogar mit ner Emnid Umfrage belegt) und das ist nur auf die speziellen Singleb&ouml;rsen bezogen. Ich glaube die &quot;Dunkelziffer&quot; derer Leute die sich in einem Chat kennenlernen ist noch wesentlich h&ouml;her.</p>
<p>
	Eigentlich eignen sich ja alle &quot;Social Networks&quot; zum Flirten in irgendeiner Weise. Das geht mit Twitter genauso gut wie auf StudiVZ/Facebook wie auf den Singleb&ouml;rsen. Der einzige Vorteil der Singleb&ouml;rsen scheint auf den ersten Blick klar: Die Leute wollen wirklich jemanden kennenlernen.</p>
<h3>
	Singleb&ouml;rsen&#8230; nur Singles? Wirklich?</h3>
<p>
	Anscheinend eben nicht. Viele alte Profile existieren noch von &quot;vor der Zweisamkeit&quot;, viele der Leute auf Singleb&ouml;rsen l&ouml;schen oder updaten ihr Profil n&auml;mlich nicht wenn sie eigentlich schon jemand haben. Die Anbieter nutzen das nat&uuml;rlich in gewisser Weise auch aus (&quot;2 Millionen angemeldete Singles&quot;) und haben daher wohl auch nix dagegen.</p>
<h3>
	Vorteile? Nachteile?</h3>
<p>
	Hm das ist schwer zu sagen&#8230; Auf den Singleb&ouml;rsen findet man nat&uuml;rlich sehr einfach Leute die &quot;zu einem passen&quot;, weil dort die Profile eben auf Flirten ausgelegt sind. Bei Twitter z.B. ist es wohl eher schwer innerhalb von kurzer Zeit viel &uuml;ber die Leute zu erfahren mit denen man schreibt. Allerdings muss ich sagen, dass eine formlose Kommunikation wie sie auf den meisten Social Networks wohl stattfindet ein nat&uuml;rlicheres Kennenlernen ist. In der <a href="http://www.immersivetech.org/media/movies-entertainment/augmented-reality-dating/" tooltip="linkalert-tip">&Ouml;ffentlichkeit rennt ja auch keiner mit nem Zettel am R&uuml;cken rum</a> wo draufsteht was der/diejenige mag.</p>
<p>
	Ein gro&szlig;er Nachteil der Singleb&ouml;rsen sind nat&uuml;rlich die Kosten. Die meisten kosten pro Monat zwischen 5 und 45 Euro damit man andere Leute anschreiben kann. Umgucken geht also kostenlos, jedoch werden dann die M&ouml;glichkeiten doch stark eingeschr&auml;nkt. Das soll wohl so ne Art Lockvogelangebot sein. Suchen und anklicken gerne, anschreiben is aber nicht. Auf der einen Seite sch&uuml;tzt man sich als Anbieter so nat&uuml;rlich vor Missbrauch der Singleb&ouml;rse und irgendwie will man ja schlie&szlig;lich Geld damit verdienen, auf der anderen Seite wird man f&uuml;r ziemlich viele Leute damit nat&uuml;rlich unattraktiv.</p>
<h3>
	Problem: Wenn man gar nicht flirten will <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </h3>
<p>
	Nicht immer will man mit den Leuten die man anschreibt auf einem Social Network auch direkt flirten. Vielleicht will man einfach nur neue Leute kennenlernen oder man war in irgendeinerweise vom Profil oder Avatarbild des Gegen&uuml;bers beeindruckt. Viele Leute (vor allem die M&auml;dels nat&uuml;rlich) fassen das oftmals falsch auf. Heutzutage jemandem ein Kompliment machen ohne gleich das &quot;ach der will mich doch nur angraben&quot; im Hinterkopf scheint schon ein richtiges Minenfeld zu sein. Wenn ihr ein niedliches Avatarbild auf Twitter stellt m&uuml;sst ihr auch mit Komplimenten rechnen M&auml;dels <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Wozu macht ihr das sonst oder?</p>
<p>
	Noch schlimmer ist es &uuml;brigens mit Youtube Videos die eigentlich keinen weiteren Zweck erf&uuml;llen au&szlig;er niedlich zu sein:</p>
<p>
	<object height="364" width="445"><param name="movie" value="http://www.youtube.com/v/tjLJ8Ir2beU&amp;hl=de_DE&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed allowfullscreen="true" allowscriptaccess="always" height="364" src="http://www.youtube.com/v/tjLJ8Ir2beU&amp;hl=de_DE&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" type="application/x-shockwave-flash" width="445"></embed></object></p>
<p>
	Hallo <a href="http://twitter.com/r0_x">@r0_x</a> &uuml;brigens <img src='http://blog.dunkelstern.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>
	Und selbst wenn&#8230;</h3>
<p>
	Und selbst wenn man angeflirtet wird&#8230; Kann doch auch Spa&szlig; machen oder? Finde ich zumindest. Man kann den Spa&szlig; ja ne weile mitmachen und wenn&#39;s einem zuviel wird immer noch nein sagen. Im Vergleich zum Real Life &#8482; hat man im Internet ja noch viel mehr m&ouml;glichkeiten Den/Diejenige notfalls &quot;wegzublocken&quot;&#8230;</p>
<p>
	Und ja, ich bin Single und ich flirte gerne im Internet, doch ob da jemals was richtiges draus wird bezweifel ich leider stark. In the internet nobody knows you&#39;re a dog you know&#8230; Au&szlig;erdem macht das Internet die Welt so klein, 100 km ohne Auto sind halt doch ne ganze Strecke aber im Internet eben nur 100 Millisekunden weit weg.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dunkelstern.de/2009/12/31/liebe-im-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

