<?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>knuspermagier.de &#187; Code</title>
	<atom:link href="http://knuspermagier.de/category/code/feed" rel="self" type="application/rss+xml" />
	<link>http://knuspermagier.de</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 20 May 2012 18:06:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-beta2-20489</generator>
		<item>
		<title>Vagrant</title>
		<link>http://knuspermagier.de/2012-vagrant.html</link>
		<comments>http://knuspermagier.de/2012-vagrant.html#comments</comments>
		<pubDate>Sun, 26 Feb 2012 22:55:05 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=9179</guid>
		<description><![CDATA[Na, kennt ihr schon Vagrant? Wenn nicht, dann will ich es kurz vorstellen. Vagrant ist im Grunde erstmal ein Commandline-Interface für Virtualbox und macht es sehr einfach neue Virtuelle Maschinen zu erstellen, konfigurieren und zu starten. Alles ist sehr eingängig, die Konfiguration lässt sich mit Ruby-Code schreiben und zum starten einer VM genügt ein einfaches [...]]]></description>
			<content:encoded><![CDATA[<p>Na, kennt ihr schon <a href="http://vagrantup.com/">Vagrant</a>? Wenn nicht, dann will ich es kurz vorstellen.</p>
<p>Vagrant ist im Grunde erstmal ein Commandline-Interface für Virtualbox und macht es sehr einfach neue Virtuelle Maschinen zu erstellen, konfigurieren und zu starten. Alles ist sehr eingängig, die Konfiguration lässt sich mit Ruby-Code schreiben und zum starten einer VM genügt ein einfaches <code>vagrant up</code>.</p>
<h3>Wozu das ganze?</h3>
<p>Naja. Wenn ich programmiere, dann habe ich den Code meistens in einer VM. Warum? Weil ich keine Lust habe mir mein Betriebsystem durch irgendwelche bescheuerten XAMP-Pakete (oder eigene entsprechende Installationen von Webserver, PHP, MySQL) zuzumüllen und weil ich will, dass mein Code möglichst in der Umgebung läuft, in der es auch im Produktivsystem laufen wird. Also ein Debian-Rechner.</p>
<p>Schon seit langem mache ich das mit Virtualbox. Was mir Vagrant hier erleichtert ist der ganze Startprozess, indem es ein paar Mausklicks durch ein einfaches Consolenkommando ersetzt. Außerdem hängt nirgens das dämliche Virtualbox-Fenster rum, da es Virtualbox ohne GUI startet. (Ja, das könnte man auch ohne Vagrant, aber nicht so komfortabel, wenn ich das recht in Erinnerung habe)</p>
<h3>Und das ist jetzt alles?</h3>
<p>Nein. Das Basis-System, mit der man bei Vagrant eine neue VM startet, hat bereits entsprechend Support für Configuration-Management-Systeme wie <a href="http://puppetlabs.com/">Puppet</a> oder <a href="http://wiki.opscode.com/display/chef/Chef+Server">Chef</a> eingebaut. Mit ein paar Zeilen in der Vagrant-Konfiguration ist es dadurch möglich in windeseile eine komplett fertig installierte und konfigurierte VM zu basteln.</p>
<p>Das hilft dann z.b. wenn man schnell mal lokal irgendetwas nachstellen oder ausprobieren will und dafür ein paar VMs braucht.</p>
<p>Voraussetzung dafür ist natürlich, dass man entsprechende Chef/Puppet-Konfigurationen hat. Aber da ich mich damit eh schon seit längerem mal beschäftigen wollte ist das hier der perfekte Anlass dafür. Eventuell berichte ich später über meine Erfolge!</p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2012-vagrant.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Meine zweite iPhone-App.</title>
		<link>http://knuspermagier.de/2012-meine-zweite-iphone-app.html</link>
		<comments>http://knuspermagier.de/2012-meine-zweite-iphone-app.html#comments</comments>
		<pubDate>Sun, 22 Jan 2012 02:04:20 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[watched.li]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=8905</guid>
		<description><![CDATA[Keine Sorge, ich werde jetzt hier nicht allen Quatsch posten, den ich mache. Aber hier hat es ja einen direkten Bezug zu einem Projekt von mir, nämlich watched.li. Ich hatte mir für dieses Wochenende vorgenommen etwas tiefer in die Materie einzusteigen und mich langsam an die watched.li-iPhone-App zu machen, die ich schon vor Jahrhunderten versprochen [...]]]></description>
			<content:encoded><![CDATA[<p>Keine Sorge, ich werde jetzt hier nicht allen Quatsch posten, den ich mache. Aber hier hat es ja einen direkten Bezug zu einem Projekt von mir, nämlich watched.li.</p>
<p>Ich hatte mir für dieses Wochenende vorgenommen etwas tiefer in die Materie einzusteigen und mich langsam an die watched.li-iPhone-App zu machen, die ich schon vor Jahrhunderten versprochen hatte.</p>
<p>Mein erster Plan war erstmal eine einfache TableView, welche die verfolgten Serien anzeigt, samt letzter gesehener Episode und einem Button um die ganze Sache zu inkrementieren. Login-Kram und so erstmal außen vorgelassen.</p>
<p>Watched.li hat zum Glück schon eine (sehr) kleine API, die ich mal machte um eine mobile Seite zu gestalten (mit jQuery Touch-Kram), die genau die beiden benötigten Funktionen bot, also musste ich schonmal keinen PHP-Code schreiben. Nur schnell den Authentifizierungskram entfernt und alles auf den User mit ID 1 umgebogen (in meiner Testumgebung, versteht sich).</p>
<p>Nachdem ich noch ein paar Serien schaute, Wäsche wusch und anderen Kram tat, konnte ich mich dann heute gegen 23:30 dazu aufraffen damit anzufangen. Erstmal festgestellt, dass es jetzt Automatisches Reference-Counting gibt, welches mein Buch noch nich kennt. Dankend angenommen. Dann herausgefunden, dass iOS scheinbar keine JSON-Parsing-Sachen mitbringt. Dafür scheint es aber eine recht weit verbreitete <a href="https://github.com/stig/json-framework/">Lösung</a> zu geben, die sich auch problemlos einbinden lies. Hier Screenshots vom Anfang und vom Ende:</p>
<p><img src="http://knuspermagier.de/wp-content/uploads/2012/01/apppreview.png" alt="" title="Erste Version, Zweite Version" width="900" height="675" class="big size-full wp-image-8906" /></p>
<p>Mit Hilfe des Buches und Google (ok, eher StackOverflow) gelang es mir dann meinen Plan umzusetzen. Funktioniert! Natürlich is der Code noch etwas zusammengehackt, aber naja, hey. Meine erste vernünftige App. Hier ein Video, welches ich vom Simulator drehte:</p>
<p><iframe style="margin-left: -100px;" width="900" height="488" src="http://www.youtube.com/embed/L7jez7yXbIk?rel=0&#038;hd=1" frameborder="0" allowfullscreen></iframe></p>
<p>(Wer genau aufpasst erkennt noch einen Bug, den ich aber mittlerweile schon fixte &#8212; war aber auch zu faul das Video nochmal zu machen)</p>
<p>Wer sich jetzt fragt: &#8220;<em>BOAH, KANN ICH DAS JETZT MORGEN IM APPSTORE RUNTERLADEN?</em>&#8221; &mdash; Nein, so schnell geht&#8217;s dann doch nicht. Wie gesagt fehlt noch das einloggen und ein bisschen hübscher soll es auch noch werden. Und ich muss mal schauen ob das alles sinnvoll ist, so wie ich es jetzt gemacht hab, oder ob es gegen alle Best Practises der iOS-Programmierung verstößt. Wer weiß. Dauert also noch nen Moment, Freunde.</p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2012-meine-zweite-iphone-app.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Meine erste iPhone-App.</title>
		<link>http://knuspermagier.de/2012-meine-erste-iphone-app.html</link>
		<comments>http://knuspermagier.de/2012-meine-erste-iphone-app.html#comments</comments>
		<pubDate>Fri, 20 Jan 2012 22:35:25 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=8898</guid>
		<description><![CDATA[Ich lerne gerade Objective C und Kram, um demnächst auch ein paar supergute iPhone Apps zu bauen. Muss man ja können heutzutage, sowas. Aktuell lese ich dazu auch dieses Buch, welches mir irgendwer auf Twitter empfahl. Am Wochenende plane ich nun, endlich mal die watched.li-App in Angriff zu nehmen. Meine ersten Versuche waren allerdings ein [...]]]></description>
			<content:encoded><![CDATA[<p>Ich lerne gerade Objective C und Kram, um demnächst auch ein paar supergute iPhone Apps zu bauen. Muss man ja können heutzutage, sowas.</p>
<p>Aktuell lese ich dazu auch <a href="http://www.amazon.de/iOS-Programming-Ranch-Guide-Guides/dp/0321773772/ref=sr_1_3?ie=UTF8&#038;qid=1327098764&#038;sr=8-3">dieses Buch</a>, welches mir irgendwer auf Twitter empfahl.</p>
<p>Am Wochenende plane ich nun, endlich mal die watched.li-App in Angriff zu nehmen. Meine ersten Versuche waren allerdings ein paar Spielereien mit dem Accelerometer. Buuuuunt.</p>
<p><iframe width="900" height="640" style="margin-left: -100px;" src="http://www.youtube.com/embed/sfrRVom-w1g?rel=0" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2012-meine-erste-iphone-app.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Basecamp-Userscripts</title>
		<link>http://knuspermagier.de/2012-basecamp-userscripts.html</link>
		<comments>http://knuspermagier.de/2012-basecamp-userscripts.html#comments</comments>
		<pubDate>Mon, 09 Jan 2012 15:55:24 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=8838</guid>
		<description><![CDATA[Für unser Projektmanagement bei QUOTE.fm verwenden wir bereits seit geraumer Zeit Basecamp, da es eigentlich für viele unserer Anforderungen völlig ausreichend ist und sich insgesamt dann doch etwas komfortabler bedienen lässt, als ein vollwertiges Bugtracking-Tool wie Redmine. Jedoch hat es ein paar Macken. Oder sagen wir Ecken und Kanten, die nicht so super sind. Aber [...]]]></description>
			<content:encoded><![CDATA[<p>Für unser Projektmanagement bei QUOTE.fm verwenden wir bereits seit geraumer Zeit <a href="http://basecamphq.com/">Basecamp</a>, da es eigentlich für viele unserer Anforderungen völlig ausreichend ist und sich insgesamt dann doch etwas komfortabler bedienen lässt, als ein vollwertiges Bugtracking-Tool wie Redmine.</p>
<p>Jedoch hat es ein paar Macken. Oder sagen wir Ecken und Kanten, die nicht so super sind. Aber dafür kann man sich ja zum Glück ein paar Userscripts schreiben, die man dann im Chrome oder im Firefox mit Greasemonkey verwenden kann.</p>
<p>Bisher hab ich zwei kleine Scripte erstellt, die vielleicht auch für andere Basecamp-Benutzer interessant sein könnten:</p>
<ul>
<li><a href="https://github.com/pwaldhauer/basecamp-id-userscript/raw/master/basecamp_todo_id.user.js">Basecamp ID Userscript</a> &#8211; Zeigt links neben den Todo-Items die interne ID des Todo-List-Items an. Brauchen wir, um Todo-Items mit Subversion-Commits zu verbinden. (<a href="https://github.com/pwaldhauer/basecamp-id-userscript">Github</a>)</li>
<li><a href="https://github.com/pwaldhauer/basecamp-tabber/raw/master/basecamp_tabber.user.js">Basecamp Tabber</a> &#8211; Das interessantere Script erstellt in der Todo-Ansicht Tabs, mit denen man Todolisten ein/ausblenden kann, je nachdem zu welcher Kategorie sie gehören. Kategorie-Einteilung funktioniert ganz einfach über einzelne [Tags] die dem Todolist-Namen vorangestellt werden. (<a href="https://github.com/pwaldhauer/basecamp-tabber">Github</a>)</li>
</ul>
<p>Hier ein Screenshot, auf dem man beides in Aktion sieht:</p>
<p><img src="http://knuspermagier.de/wp-content/uploads/2012/01/basecamp.png" alt="" title="basecamp" width="900" height="670" class="big size-full wp-image-8842" /></p>
<p>(Bitte nicht über den Code ablästern, meine Userscripts sind immer ein bisschen schmutzig)</p>
<p>Eventuell ist es ja für jemanden hilfreich!</p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2012-basecamp-userscripts.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Betreffend: watched.li</title>
		<link>http://knuspermagier.de/2011-betreffend-watched-li.html</link>
		<comments>http://knuspermagier.de/2011-betreffend-watched-li.html#comments</comments>
		<pubDate>Wed, 30 Nov 2011 17:55:12 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[watched.li]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=8740</guid>
		<description><![CDATA[Am 30. Mai diesen Jahres stellte ich watched.li hier im Blog vor und brachte es als &#8220;alpha&#8221;-Version ans Volk. Naja, also man musste sich um einen Invite bewerben um rein zu kommen. Beides war nicht unbedingt gewollt, sondern ergab sich so. Die Alpha-Version war es, weil es halt unter der alpha.watched.li-Subdomain lief und ich zu [...]]]></description>
			<content:encoded><![CDATA[<p>Am 30. Mai diesen Jahres stellte ich watched.li <a href="http://knuspermagier.de/2011-watched-li.html">hier im Blog</a> vor und brachte es als &#8220;alpha&#8221;-Version ans Volk. Naja, also man musste sich um einen Invite bewerben um rein zu kommen. Beides war nicht unbedingt gewollt, sondern ergab sich so.</p>
<p>Die Alpha-Version war es, weil es halt unter der alpha.watched.li-Subdomain lief und ich zu faul war ein beta.watched.li anzulegen &#8212; weil mir der Name im Grunde auch egal war.</p>
<p>Das Invite-System kam vor allem daher, dass ich möglichst wenig Stress wollte mit 10000 Leuten, die meinen sich über Bugs oder irgendwas beschweren zu müssen. Aber eigentlich wollte ich das auch garnicht so lange so lassen, sondern nur für die erste Test-Zeit.</p>
<p>Nunja, dann, wir wissen es alle, kam QUOTE.fm und beanspruchte die Wochenenden für sich, was ich jetzt auch nicht schlecht finde, denn das macht auch viel Spaß, aber irgendwie tut es mir natürlich auch etwas Leid für watched.li. Immerhin hat es eine recht loyale kleine Benutzergemeinde, die es regelmäßig verwenden. </p>
<p>Dummerweise tauchen in der letzten Zeit immermal ein paar Bugs auf, die zum größten Teil auf Fehlern in der Serien-Datenbank basieren, die ich verwende, wo ich leider nicht arg viel machen kann. Aber hier und da sind natürlich auch ein paar Bugs drin, die ich selber zu verantworten habe, wo mir bisher aber einfach die Zeit fehlte sie zu fixen.</p>
<p>Außerdem ist es langsam auch mal Zeit für ein neues, helleres Layout. In meiner Feedback-Umfrage, die ich vor einiger Zeit mal machte, war das der größte Kritikpunkt. Ich selber hab mir da letztens auch mal ein paar Gedanken gemacht, bin in meiner Rolle als Designer nicht ganz so super und bin daher noch zu keinem wirklich guten Ergebnis gekommen. Falls sich also jemand findet, der ne gute Idee hätte und Lust etwas beizutragen, nur zu. Schickt mir ne Mail.</p>
<p>Dieser Post sollte vor allem dazu dienen mal etwas zum Status von watched.li zu sagen. Es ist nicht tot. Und mal wieder werde ich ankündigen, dass ich mich in nächster Zeit drum kümmern werde, auch wenn ich noch nicht weiß, wann. </p>
<p>Danke für die Loyalität an die, die es regelmäßig nutzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2011-betreffend-watched-li.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>QUOTE.fm, öffentlich.</title>
		<link>http://knuspermagier.de/2011-quote-fm-offentlich.html</link>
		<comments>http://knuspermagier.de/2011-quote-fm-offentlich.html#comments</comments>
		<pubDate>Tue, 01 Nov 2011 19:03:00 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Daily Life]]></category>
		<category><![CDATA[quote.fm]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=8640</guid>
		<description><![CDATA[Wie es sicher viele mitbekommen haben, ist das Projekt an dem Marcel, Martin und ich jetzt seit einiger Zeit arbeiten, heute von der geschlossenen Beta in die öffentliche Phase übergegangen. Ich hab in letzter Zeit nicht soviel darüber geschrieben, weil, äh, ich mit programmieren beschäftigt war und insgesamt nichts groß zu berichten hatte, was es [...]]]></description>
			<content:encoded><![CDATA[<p>Wie es sicher viele mitbekommen haben, ist das Projekt an dem <a href="http://uarrr.org">Marcel</a>, <a href="http://visuellegedanken.de">Martin</a> und ich jetzt seit einiger Zeit arbeiten, heute von der geschlossenen Beta in die öffentliche Phase übergegangen.</p>
<p>Ich hab in letzter Zeit nicht soviel darüber geschrieben, weil, äh, ich mit programmieren beschäftigt war und insgesamt nichts groß zu berichten hatte, was es nicht schon bei den anderen beiden zu lesen gegeben hätte. Da es mittlerweile aber ein recht großer Teil meines Lebens ist und ich ab nächstes Jahr ja auch Vollzeit daran arbeiten werde, dachte ich, es wär mal wieder an der Zeit dem Projekt einen Blogeintrag in meinem Tagebuch-Blog zu widmen.</p>
<p>Falls jemand noch nicht weiß, worum es sich bei QUOTE.fm handelt, dem sei an dieser Stelle mal der <a href="http://blog.quote.fm/">offizielle Blog</a> ans Herz gelegt. Kurz zusammengefasst: Leseempfehlungen an Freunde, nicht über Links, sondern in Form von Zitaten aus dem Text.</p>
<p><img src="http://knuspermagier.de/wp-content/uploads/2011/11/quotefm_screnn.png" alt="" title="quotefm_screnn" width="900" height="538" class="big size-full wp-image-8651" /></p>
<p>Im November letzten Jahres startete es quasi, dann kam der erste Konzeptwechsel. Am 10. September dann die geschlossene Beta. Jetzt, knapp 2 Monate später richtiger Launch. Dazwischen lagen einige Wochenenden, die ich statt mit Serien gucken und Zocken mit Coden verbracht habe. Leider hat darunter auch <a href="http://watched.li">watched.li</a> etwas gelitten, was mir sehr leid tut, denn es hat durch aus eine kleine aber loyale Benutzergruppe. Ich werde sehen, ob sich in nächer Zeit mal kurz Zeit findet die dort auftretenden Probleme zu beseitigen. (Aber dazu zu einem späteren Zeitpunkt)</p>
<p>Hier ein sehr informatives Diagramm:</p>
<p><img src="http://knuspermagier.de/wp-content/uploads/2011/11/qfmloc.png" alt="" title="___qfmloc" width="728" height="495" class="center size-full wp-image-8641" /></p>
<p>Man sieht, dass sich zwischen Beta-launch und heute doch noch einiges getan hat (die lange konstante Phase über war ich in nem anderen Branch, deswegen der Stillstand). Jetzt bin ich erstmal froh, dass alles scheinbar ganz gut funktioniert und es erstmal nur ein paar Kleinigkeiten zu korrigieren gibt.</p>
<p>Nichts desto trotz wird es natürlich weiter gehen und Marcel hat wohl noch ein paar Ideen in der Pipeline, von der es die ein oder andere Sicherlich auch dieses Jahr schon live schaffen wird. Und wenn wir dann Vollzeit dran sitzen wirds umso besser.</p>
<p>Im Laufe der Zeit nervt dieses entwickeln mit großem Abstand zueinander nämlich schon etwas. Wir haben zwar tolle Bugtracker, Skype, E-Mail und sonstige Kommunikationstools, aber es kommt halt schon mal vor, das man was falsch baut, weil man etwas dann doch irgendwie anders interpretiert hat. Also klar, das kann auch passieren, wenn man sich gegenübersitzt, aber da merkt man es vielleicht schneller. </p>
<p>Alles in allem läuft&#8217;s aber trotz der Entfernung sehr gut, finde ich. Jeder hat klar seinen Bereich und die Übergabe läuft sehr flüssig. Marcel und Martin machen wunderbares Frontend, ich bastel das Backend und am Ende funktionierts irgendwie.</p>
<p>Und das aus einem kleinen &#8220;Äh, klar, ich mach dir die Seite&#8221; irgendwann mal ein echter Vollzeit-Job wird, hätt ich auch nicht zwingend erwartet.</p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2011-quote-fm-offentlich.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Ess-Mashup.</title>
		<link>http://knuspermagier.de/2011-ess-mashup.html</link>
		<comments>http://knuspermagier.de/2011-ess-mashup.html#comments</comments>
		<pubDate>Sun, 19 Jun 2011 23:04:17 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=8159</guid>
		<description><![CDATA[Wie manche sicherlich mitbekommen haben, mache ich fast jeden Tag ein Foto von meinem Mittagessen, sofern ich denn an der Arbeit bin. Eben, also Sonntag Abend, als ich gerade an QUOTE.fm bastelte, kam mir nun die Idee, die täglichen Bilder und Foursquare-Checkins irgendwie fix zu verbinden, damit ich mir mal schön auf einer Seite anschauen [...]]]></description>
			<content:encoded><![CDATA[<p>Wie manche sicherlich mitbekommen haben, mache ich fast jeden Tag ein Foto von meinem Mittagessen, sofern ich denn an der Arbeit bin.</p>
<p>Eben, also Sonntag Abend, als ich gerade an <a href="http://quote.fm/">QUOTE.fm</a> bastelte, kam mir nun die Idee, die täglichen Bilder und Foursquare-Checkins irgendwie fix zu verbinden, damit ich mir mal schön auf einer Seite anschauen kann, was ich so die letzten Wochen gegessen habe und wo ich war.</p>
<p>Also bastelte ich mir schnell was aus Foursquare- und Twitter-API und schwupps, <a href="http://ess.supermagier.de/">fertig</a>.</p>
<p><img src="http://knuspermagier.de/wp-content/uploads/2011/06/essen.png" alt="" title="essen" width="900" height="642" class="big size-full wp-image-8160" style="box-shadow: 0 0 10px rgba(0, 0, 0, .4);" /></p>
<p>Leider hat img.ly keine vernünftige API, also musste ich die Bilder umständlich über die Tweets holen, aber klappt natürlich trotzdem.</p>
<p>Ja, ich könnte auch <a href="http://www.foodspotting.com/">Foodspotting</a> oder soetwas benutzen, aber das ist mir a) zu voll und b) hab ich keine Lust meine Gewohnheiten umzustellen. So hatte ich einen kurzen Sonntag-Abend-Frickel-Spaß.</p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2011-ess-mashup.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>watched.li</title>
		<link>http://knuspermagier.de/2011-watched-li.html</link>
		<comments>http://knuspermagier.de/2011-watched-li.html#comments</comments>
		<pubDate>Mon, 30 May 2011 20:01:42 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[watched.li]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=8031</guid>
		<description><![CDATA[Ungewöhnlich, dass ich dazu noch nichts schrieb. Dann muss ich es halt jetzt tun. Watched.li ist mein &#8220;neustes&#8221; kleines Projekt. Die Anführungszeichen deshalb, weil es eigentlich garnicht neu ist. Denn bereits Ende letzten Jahres kam ich auf die Idee die Seite zu basteln. Doch worum geht&#8217;s überhaupt? Also, zuerst einmal muss man wissen, dass ich [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://alpha.watched.li/css/img/logo.png" alt="" /></p>
<p>Ungewöhnlich, dass ich dazu noch nichts schrieb. Dann muss ich es halt jetzt tun.</p>
<p><img src="http://knuspermagier.de/wp-content/uploads/2011/05/watchedli2.png" alt="" title="watchedli" width="900" class="big size-full wp-image-8038" /></p>
<p>Watched.li ist mein &#8220;neustes&#8221; kleines Projekt. Die Anführungszeichen deshalb, weil es eigentlich garnicht neu ist. Denn bereits Ende letzten Jahres kam ich auf die Idee die Seite zu basteln. Doch worum geht&#8217;s überhaupt?</p>
<p>Also, zuerst einmal muss man wissen, dass ich gerne Serien schaue, vor allem amerikanische, wie <em>House</em>, <em>How I Met Your Mother</em> oder <em>Castle</em>. Mit unter ist es nicht ganz einfach sich immer zu merken, bei welcher Folge man jetzt jeweils stehen geblieben ist, vor allem wenn man mal ne Woche Pause macht. Daher brauchte ich eine Möglichkeit meinen Status festzuhalten.</p>
<p>Dazu könnte man natürlich einfach eine Exceltabelle anlegen (die meisten Probleme der Menschheit lassen sich durch Exceltabellen lösen). Allerdings war mir das dann zu langweilig und unkomfortabel. Ich wollte einfach eine Seite, auf der ich eine Liste meiner Serien hab und einen &#8220;Plus&#8221;-Button, den ich drücken kann um das &#8220;Lesezeichen&#8221; hochzuzählen.</p>
<p>Natürlich machte ich mich erstmal auf die Suche, ob es sowas vielleicht schon gibt &#8212; unter anderem <a href="http://sidereel.com/">sidereel.com</a>. Die Seite ist leider hässlich und hat viel zu viel sinnlosen Content rund um die Serien-Tracking-Funktion drumherum. Dann fand ich da noch <a href="http://followmy.tv">followmy.tv</a> &#8212; nich ganz so hässlich, dafür dauert aber alles ewig und es ist gespickt mit sinnlosen Social Network-Funktionen die ich nicht brauchte.</p>
<p>Also kurzum entschlossen schnell selbst was zu basteln. Der <a href="http://janoelze.de">Herr Oelze</a> schaltete sich relativ schnell ein und bastelte mir ein ganz schickes Design. Die Grundfunktionalität hatte ich dann schnell zusammengeklebt und ich konnte es benutzen &#8211; wunderbar. </p>
<p>Jedoch meldeten recht schnell andere Leute auch ihr Interesse an und so entschied ich mich die ganze Sache noch etwas auszubauen und richtete eine Seite ein, auf der man sich für eine Einladung in die Beta-Phase bewerben kann, ganz Web 2.0-mäßig.</p>
<p>Ende Februar gab ich den ersten paar Leuten Zugriff. Dann tat sich lange nichts, denn ich hatte nicht soviel Lust und der Jan hatte nicht soviel Zeit das Design zu vollenden. Jetzt vor ein paar Wochen fragten allerdings immer mehr Leute, wann es endlich neue Einladungen gibt &#8212; letzendlich für mich der Anlass mir das alles nochmal genau anzuschauen und einen Plan zu machen, was noch zu tun ist.</p>
<p><img src="http://knuspermagier.de/wp-content/uploads/2011/05/IMG_3777.jpg" alt="" title="IMG_3777" width="900" height="600" class="big size-full wp-image-8036" /></p>
<p>Ein paar Skizzen und zwei Samstage später ist watched.li jetzt in einem Zustand, in dem ich es auch weiteren Leuten zeigen kann und so gebe ich in den letzten Tagen immer mal wieder ein paar Einladungen raus &#8212; solang keine größeren Fehler auftreten wird das auch so weiter gehen, bis alle Bewerbungen aufgebraucht sind. Und dann wird man sich vielleicht auch einfach so anmelden können. Vielleicht. Irgendwann wenn noch die kleinsten Design- und Code-Fehlerchen gefunden und gefixt sind.</p>
<p>Falls ihr jemand Interesse hat früher reinzukommen, einfach <a href="http://watched.li">bewerben</a>. Weitere Informationen zum aktuellen Status gibts auf <a href="http://status.watched.li">status.watched.li</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2011-watched-li.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>HBCI Push und so.</title>
		<link>http://knuspermagier.de/2011-hbci-push-und-so.html</link>
		<comments>http://knuspermagier.de/2011-hbci-push-und-so.html#comments</comments>
		<pubDate>Wed, 23 Feb 2011 21:40:55 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=7554</guid>
		<description><![CDATA[Mal wieder ein Post, der etwas technisch angehauchter ist, zu einem Thema, was ich letztens mal bei Twitter erwähnte, dann aber wieder relativ in Vergessenheit geraten ließ. Es geht um folgendes: Wie sicherlich viele von euch auch, habe ich ein Girokonto bei einer Bank. Bei mir ist das die Sparkasse. Ich bin sehr gerne darüber [...]]]></description>
			<content:encoded><![CDATA[<p>Mal wieder ein Post, der etwas technisch angehauchter ist, zu einem Thema, was ich letztens mal bei Twitter erwähnte, dann aber wieder relativ in Vergessenheit geraten ließ.</p>
<p>Es geht um folgendes: Wie sicherlich viele von euch auch, habe ich ein Girokonto bei einer Bank. Bei mir ist das die Sparkasse. Ich bin sehr gerne darüber informiert, wer mir Geld abbucht, und vor allem wieviel Geld mir wer abbucht. Der normale Workflow um an diese Information zu kommen sieht nun so aus:</p>
<ol>
<li>Webseite öffnen</li>
<li>Benutzerdaten eingeben</li>
<li>3x Klicken</li>
<li>Sehen!</li>
</ol>
<p>Soweit so gut, so hab ich es Jahre lang gemacht. Jedoch wünschte ich mir schon immer eine einfachere, automatischere Möglichkeit das zu erledigen. </p>
<p>Letztens las ich dann irgendwo irgendwas über Homebanking und kam auf diesem Wege zu dem <a href="http://de.wikipedia.org/wiki/HBCI">HBCI</a>-Protokoll, welches von verschiedenen Software-Dingern benutzt wird um mit Banken zu kommunizieren. Wunderbar.</p>
<p>Schnell erkundigte ich mich, was es so für Bibliotheken gibt, die HBCI implementieren. Zunächst versuchte ich <a href="http://www.aquamaniac.de/sites/aqbanking/index.php">AqBanking</a>, welches ich aber nicht in einer vernünftigen aktuellen Version compiliert bekommen habe. Also Wechsel zu Java und <a href="http://hbci4java.kapott.org/">HBCI4Java</a>.</p>
<p>Da waren ein paar gute Beispiele dabei, womit es es, nach etwas rumprobieren, geschafft hab ein kleines Programm zu schreiben, was mir die letzten Umsätze von der Bank abfragt und sie in eine SQLite-Datenbank abspeichert.</p>
<p><img src="http://knuspermagier.de/wp-content/uploads/2011/02/kontomail.png" alt="" title="kontomail" width="707" height="144" class="center size-full wp-image-7561" style="margin-left: -4px;"/></p>
<p>Dieses Progrämmchen läuft nun gemütlich auf meinem VServer, ruft alle paar Stunden die Umsätze ab und speichert sie. Soweit so gut. Jetzt kann man mit den Umsatzdaten, auf die man jetzt locker und flockig über eine Datenbank zugreifen kann, anfangen was man will.</p>
<p>Ich schrieb mir zum Beispiel erstmal ein kleines PHP-Skript, welches neue Umsätze via <a href="http://prowl.weks.net/">Prowl</a> an mein iPhone pusht. Ebenso werden die Umsätze über die REST-Schnittstelle meiner &#8220;Finanzverwaltungswebapp&#8221; in ebendiese eingefügt. Ein Traum!</p>
<p>Natürlich ist das ganze nur relativ schnell zusammengehackt. Zum Beispiel steht Kontonummer und Onlinebanking-PIN im Klartext im Source. Nicht so schön, aber für mich ausreichend. Falls Interesse besteht, lad ich das Zeug aber trotzdem mal bei GitHub hoch, vielleicht kann jemand der Lust auf sowas hat, es ja schöner gestalten!</p>
]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2011-hbci-push-und-so.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Striche und Bildchen.</title>
		<link>http://knuspermagier.de/2011-striche-und-bildchen.html</link>
		<comments>http://knuspermagier.de/2011-striche-und-bildchen.html#comments</comments>
		<pubDate>Tue, 15 Feb 2011 22:33:55 +0000</pubDate>
		<dc:creator>Philipp</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://knuspermagier.de/?p=7489</guid>
		<description><![CDATA[Letztens hatte ich so eine Idee, das es lustig wäre, mal visualisiert zu haben, wer mit wem so auf Twitter kommuniziert. Oder so. Ich bin relativ sicher, dass es sowas irgendwo schon gibt, aber ich war zu faul zu suchen. Außerdem wollte ich mal was mit dem &#60;svg&#62;-Tag basteln1 Jedenfalls bastelte ich schnell ein Script, [...]]]></description>
			<content:encoded><![CDATA[<p>Letztens hatte ich so eine Idee, das es lustig wäre, mal visualisiert zu haben, wer mit wem so auf Twitter kommuniziert. Oder so.</p>
<p>Ich bin relativ sicher, dass es sowas irgendwo schon gibt, aber ich war zu faul zu suchen. Außerdem wollte ich mal was mit dem &lt;svg&gt;-Tag basteln<sup class="footnote-anchor"><a href="#footnotes-7489" title="Auf Twitter kündigte ich fälschlicherweise an, ich würde mit &lt;canvas&gt; arbeiten, aber das war natürlich Quatsch">1</a></sup></p>
<p>Jedenfalls bastelte ich schnell ein Script, das meine letzten 200 Tweets<sup class="footnote-anchor"><a href="#footnotes-7489" title="Vor allem deshalb nur 200, weil sonst das dämliche API-Limit nervt">2</a></sup> läd, und außerdem auch noch die letzten 200 Tweets von allen Leuten, denen ich eine @-Nachricht schrieb.</p>
<p>Aus diesen Daten versuche ich dann irgendwelche Striche zu erzeugen. Das Komplizierte daran, zumindest in meinem Kopf, ist die Sachen am Ende vernünftig anzuordnen.</p>
<p><a href="http://area51.knuspercode.de/tg/index2.php?x=900&#038;y=600"><img src="http://knuspermagier.de/wp-content/uploads/2011/02/dings.png" alt="" title="dings" width="918" height="712" class="big aligncenter size-full wp-image-7490" style="margin-left: -109px" /></a></p>
<p>In dieser Ansicht z. B. stehe ich in der Mitte. Die &#8220;Stärke&#8221; der Kommunikation (eine gewichtete Summe aus @-Replies und einfachen @-Mentions) ist dabei dargestellt durch die Dicke der Linien und den Abstand in der Horizontalen.</p>
<p><a href="http://area51.knuspercode.de/tg/index.php?x=900&#038;y=600"><img src="http://knuspermagier.de/wp-content/uploads/2011/02/dings2.png" alt="" title="dings2" width="918" height="711" class="big aligncenter size-full wp-image-7493"  style="margin-left: -109px"/></a></p>
<p>Das sieht etwas ungeordneter aus, hier sind die Leute einfach von links nach rechts geordnen, danach wie oft sie erwähnt wurden. Die Dicke der Striche ist wie oben.</p>
<p>Nachdem ich das jetzt hier zusammengehackt habe, weiß ich nicht so recht, was es mir nun bringt, außer das ich ein bisschen SVG-Zeug ausprobiert habe. Und naja, das erste sieht schon nicht so schlecht aus. Könnte aber sicher irgendwelche Algorithmen vertragen um es noch schöner zu gestalten.</p>
<p>Aber von diesem Mathe-Kram hab ich zu wenig Ahnung. Vielleicht räum ich morgen den Code etwas auf und Packs in ein github, ich denke, es gibt Leute, die können das besser.</p>
<p><strong>Update</strong>: Ist im <a href="https://github.com/pwaldhauer/twittergraph">GitHub</a>.</p>
<div class="footnotes"><h3 class="footnote-heading" id="footnotes-7489">Fu&szlig;noten</h3><ol class="footnote-list"><li>Auf Twitter kündigte ich fälschlicherweise an, ich würde mit &lt;canvas&gt; arbeiten, aber das war natürlich Quatsch</li><li>Vor allem deshalb nur 200, weil sonst das dämliche API-Limit nervt</li></ol></div>]]></content:encoded>
			<wfw:commentRss>http://knuspermagier.de/2011-striche-und-bildchen.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

