<?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>progressive thinking</title>
	<atom:link href="http://andreaskalsch.de/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://andreaskalsch.de/blog</link>
	<description>Andreas Kalsch&#039;s weblog</description>
	<lastBuildDate>Fri, 14 May 2010 15:38:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/>		<item>
		<title>Vitamin</title>
		<link>http://andreaskalsch.de/blog/2010/05/14/strampeln/</link>
		<comments>http://andreaskalsch.de/blog/2010/05/14/strampeln/#comments</comments>
		<pubDate>Fri, 14 May 2010 15:14:01 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[culture]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/2010/05/14/strampeln/</guid>
		<description><![CDATA[Wer schon genug gestrampelt hat, kann auch sozial sein.
Strampeln als edle Beschäftigung für noch mehr Edles, das dann folgt und sogar sozial ist!
 Musik als Strampelkatalysator &#8230;
Denn: Kulturelle Beiträge sind an Teilnahme an sozialen Systemen gebunden.
Wer diesen Post seltsam findet, der gehört nicht zu den seltenen, die mal zu wenig strampelten oder ist schlichtweg von [...]]]></description>
			<content:encoded><![CDATA[<p>Wer schon genug gestrampelt hat, kann auch sozial sein.<br />
Strampeln als edle Beschäftigung für noch mehr Edles, das dann folgt und sogar sozial ist!<br />
<a href="http://www.simfy.de/#/artists/81194-Incubus/albums/381833-S-C-I-E-N-C-E" target="_blank"> Musik als Strampelkatalysator &#8230;</a><br />
Denn: Kulturelle Beiträge sind an Teilnahme an sozialen Systemen gebunden.</p>
<p>Wer diesen Post seltsam findet, der gehört nicht zu den seltenen, die mal zu wenig strampelten oder ist schlichtweg von wenigen Dingen begeistert.</p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2010/05/14/strampeln/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leben</title>
		<link>http://andreaskalsch.de/blog/2010/04/27/leben/</link>
		<comments>http://andreaskalsch.de/blog/2010/04/27/leben/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 00:09:34 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/?p=104</guid>
		<description><![CDATA[Fakten:
Leben ist egoistische Konkurrenz um Ressourcen, Kooperation ist unwahrscheinlich, aber hilfreich.
Das Leben hat keinen Plan und passiert einfach &#8211; Leben ist opportunistisch.
Leben ist eine Minimallösung.
Menschen werden eher nach ihrem Skelett, neuerdings auch nach ihren Gesichtern, als nach ihrem Gehirn bewertet.
&#160;
Strategien:
Archaisches Verhalten zu heucheln, um nicht nachgeben zu müssen, kann hilfreich sein.
Das Leben ist nicht aufgeschlossen [...]]]></description>
			<content:encoded><![CDATA[<p>Fakten:</p>
<p>Leben ist egoistische Konkurrenz um Ressourcen, Kooperation ist unwahrscheinlich, aber hilfreich.</p>
<p>Das Leben hat keinen Plan und passiert einfach &#8211; Leben ist opportunistisch.</p>
<p>Leben ist eine Minimallösung.</p>
<p>Menschen werden eher nach ihrem Skelett, neuerdings auch nach ihren Gesichtern, als nach ihrem Gehirn bewertet.</p>
<p>&nbsp;</p>
<p>Strategien:</p>
<p>Archaisches Verhalten zu heucheln, um nicht nachgeben zu müssen, kann hilfreich sein.</p>
<p>Das Leben ist nicht aufgeschlossen gegenüber nicht bewährten Abhängigkeiten. Intelligenz kann dazu dienen, stabile Abhängigkeiten zu lokalisieren und auf penetrante und doch subtile Art und Weise diese versuchen zu etablieren.</p>
<p>Es gilt, harte Kanäle zu etablieren, die mehr &#8220;weiche&#8221; Generösität der Individuen untereinander ermöglichen und dennoch nicht den Naturgesetzen widersprechen.</p>
<p>&nbsp;</p>
<p>Fazit:</p>
<p>Das Leben sollte diese Fakten verinnerlicht haben, um die Autopoiesis zu garantieren. Diese Fakten können aber auch explizit gelernt und &#8211; wie hier &#8211; formuliert werden. Eine bereits bewährte Expression dieser Fakten sollte angestrebt werden, um sie aus dem Bewusstsein auszublenden.</p>
<p>&nbsp;</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/ooi7eomsTuc&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ooi7eomsTuc&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2010/04/27/leben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Was ist &#8220;neu&#8221;?</title>
		<link>http://andreaskalsch.de/blog/2009/09/22/was-ist-neu/</link>
		<comments>http://andreaskalsch.de/blog/2009/09/22/was-ist-neu/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 19:33:21 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[culture]]></category>
		<category><![CDATA[science]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/?p=79</guid>
		<description><![CDATA[Eine überzeugende Erläuterung dazu schreibt Niklas Luhmann in &#8220;Die Wissenschaft der Gesellschaft&#8221;:
Die Antwort wird leichtfallen, sobald wir das Sonderproblem gefunden haben, das die Ausdifferenzierung dieses besonderen Kommunikationsmediums auslöst. Es handelt sich um das Gewinnen neuen, unvertrauten, überraschenden Wissens, also um die Überwindung einer Schwelle der Unwahrscheinlichkeit. Die Erfahrung von &#8220;Neuheit&#8221; setzt einen Beobachter voraus, der [...]]]></description>
			<content:encoded><![CDATA[<p>Eine überzeugende Erläuterung dazu schreibt <a href="http://de.wikipedia.org/wiki/Niklas_Luhmann" target="_blank">Niklas Luhmann</a> in <a href="http://www.amazon.de/Die-Wissenschaft-Gesellschaft-Niklas-Luhmann/dp/3518286013/" target="_blank">&#8220;Die Wissenschaft der Gesellschaft&#8221;</a>:</p>
<blockquote><p>Die Antwort wird leichtfallen, sobald wir das Sonderproblem gefunden haben, das die Ausdifferenzierung dieses besonderen Kommunikationsmediums auslöst. Es handelt sich um das <strong>Gewinnen neuen, unvertrauten, überraschenden Wissens</strong>, also um die Überwindung einer Schwelle der Unwahrscheinlichkeit. Die Erfahrung von &#8220;Neuheit&#8221; setzt einen Beobachter voraus, der eine Abweichung von Erwartungen feststellen kann. Solange aber der Beobachter seine Erwartung nicht spezifisch kognitiv auffasst, sondern die Frage dieser Modalisierung im Unbestimmten lässt oder gar normativ erwartet, wird die Abweichung ihn stören, und er wird einen Weg zurück in normale Verhältnisse suchen. Kommt es zu einer kognitiven Spezifikation des Erwartens oder gar zu neugierigem Erwarten, wird das Neue in spezifischer Weise interessant; und das gilt nochmals verstärkt, wenn die Neuheit nicht einfach als sachliche Abweichung erfahren, sondern temporal als Differenz zu früheren Zuständen oder Erfahrungen thematisiert wird. Dann ist die Neuheit des Befundes ein Anlaß zur Suche nach nach einer Erklärung, dann stimuliert der Neuheitseindruck die Suche nach neuem Wissen; und Neues wird geradezu gesucht, um ein Anlaß zu sein, Neues zu suchen.</p></blockquote>
<p>Im Normalfall ist eine Irritation der Punkt, wo man am Ende einer Fahnenstange sitzt &#8211; wenn man denn soweit kommt -, um dann zu sagen: &#8220;Dünne Luft hier, ich rutsche besser runter.&#8221;</p>
<p>Weiter schreibt Luhmann:</p>
<blockquote><p>Mehr und mehr liegt das Problem nun nicht nur im Bekannten und Unbekannten, woran jedermann interessiert sein müßte, und auch nicht mehr im Wiedererkennen (a-létheia!) des an sich bekannten WIssens, sondern in der <strong>Änderung vorhandener Wissensstrukturen</strong>. [...] Eben deshalb bildet sich, wenn (aus welchen Zufällen immer) so etwas vorkommt, ein besonderes Medium für Wahrheitskommunikation, das die schockierende Kommunikation gleichwohl trägt oder sie jedenfalls nicht vorab entmutigt und erstickt.</p></blockquote>
<p>Also geht es auch darum, vorhandene Fahnenstangenfundamente zu versetzen oder zu erneuern. Nur Wiedererkennen langweilt ja auf Dauer. Es geht um das Erkennen und Differenzieren von Sichtweisen. Die neue Art, das Beobachten zu beobachten, das ist auch &#8220;neu&#8221;.</p>
<p>Zu fragen, was &#8220;neu&#8221; eigentlich ist, ist in Zeiten mit viel &#8220;Neuem&#8221; auf jeden Fall interessant. Und noch spannender ist, das falsch positive vom falsch negativen zu unterscheiden und das ganze zu thematisieren ;)</p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2009/09/22/was-ist-neu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting out more from PHP</title>
		<link>http://andreaskalsch.de/blog/2009/06/27/getting-out-more-from-php/</link>
		<comments>http://andreaskalsch.de/blog/2009/06/27/getting-out-more-from-php/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 14:35:13 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/?p=36</guid>
		<description><![CDATA[
In this post I will demonstrate some practices to optimize performance and reduce memory footprint of a PHP script. Writing your code according to them is especially useful in the case where you traditionally do not use PHP: transforming a large bulk of data.
Even PHP can handle this because it has become more performant in [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://andreaskalsch.de/blog/wp-content/uploads/2009/06/photocase4wdqytmt1_.jpg" alt="" class="alignright"/></p>
<p>In this post I will demonstrate some practices to optimize performance and reduce <a href="http://en.wikipedia.org/wiki/Memory_footprint" target="_blank">memory footprint</a> of a PHP script. Writing your code according to them is especially useful in the case where you traditionally do not use PHP: transforming a large bulk of data.</p>
<p>Even PHP can handle this because it has become more performant in the last years and has got a <a href="http://php.net/manual/en/features.commandline.php" target="_blank">command line interface</a> since 4.3.0. But there are more arguments for transforming data with PHP: You reuse your application&#8217;s PHP interface. If it is performant itself, it&#8217;s probably not necessary to rewrite parts in another language to do the bulk operations.</p>
<ol>
<li>In PHP, assignments copy arrays. <strong>Assign arrays explicitly by <a href="http://de3.php.net/manual/en/language.references.pass.php" target="_blank">reference</a></strong>, so they will not be duplicated in memory:
<pre>class RowHolder {
  public $rows;
  function __construct(array $rows) {
    $this-&gt;rows = &amp;$rows;
  }
}

$manyRows = $Stmt-&gt;fetchAll();
$RowHolder = new RowHolder($manyRows);</pre>
<p>Same goes for iteration:</p>
<pre>foreach ($RowHolder-&gt;rows as &amp;$row) {
  ...
}</pre>
</li>
<li><strong>Use <a href="http://de3.php.net/manual/en/class.pdostatement.php" target="_blank">prepared statements</a></strong>. Next to be more efficient they prevent SQL injection:
<pre>$Stmt = $PDOConnection-&gt;prepare(
  'SELECT * FROM table WHERE id = ?'
);

foreach ($ids as $id) {
  $row = $Stmt-&gt;execute(array($id))-&gt;fetch();
  ...
  $Stmt-&gt;closeCursor();
}</pre>
</li>
<li><strong>Check if you really need a class to represent a simple data structure which is used in vast numbers.</strong> Memory usage is higher and you get longer <a href="http://de3.php.net/manual/en/function.serialize.php" target="_blank"><code>serialize()</code></a> strings. Imagine a country border, which is represented as array of geo points. Using an array of <code>Point</code> objects will need more bytes than simply using an array of arrays, like this:
<pre>$Border = new Geometry(
  Geometry::LinearRing,
  array(
    array(53.0749616,87.867913),
    array(53.0719262,87.840664),
    array(53.0706606,87.819640),
    ...
    array(53.0749616,87.867913)
  )
);</pre>
<p>I came across this when I created a framework for <a href="http://portal.opengeospatial.org/files/?artifact_id=13227" target="_blank">OpenGIS Simple Features</a>. The standard defines a class hierarchy of geometric features. Starting the conventional way I just transfered it into a big class tree. But then I switched to an easier way, because all classes share an array of elements which form a geometry. I just define the parent class &#8211; <code>Geometry</code>. It is a container for a multi-dimensional array instead of a complex object tree.</li>
<li>
<img src="http://andreaskalsch.de/blog/wp-content/uploads/2009/06/photocase4hstrhj91_.jpg" alt="" class="alignright"/></p>
<p><strong>Memory management is still PHP&#8217;s big issue.</strong> <a href="http://paul-m-jones.com/?p=262" target="_blank">Especially using objects with circular references creates memory leaks.</a> While rendering a website this is not a problem because the number of objects is rather small. Memory is cleaned up after script execution. But looping through millions of objects will make the memory use growing until the script stops (sometimes even without a message). There is no clear way to prevent leaks. Raising <code>memory_limit</code> will not help to complete the script execution, if it will run a long time. I don&#8217;t suggest trying to fix memory leaks completely. You will not be successful with complex structures. To create a job script with PHP is not elegant but there is a way to do it.</p>
<p>I suggest the following solution: Let the script run on the command line until it reaches a memory limit you have defined. If the job was not finished, the script will save its state to a temporary file. On the next execution it reloads the state and starts from there. A bash script repeatedly calls the job script. It looks like this:</p>
<pre>#!/bin/sh
e=2
while [ $e -eq 2 ]
  do jobScript.php $1
  e=$?
done</pre>
<p>And this is a scheme I use for jobScript.php:</p>
<pre>&lt;?php
ini_set('memory_limit', '500M');

/*
This one is for checking and should be
significantly lower than the 'memory_limit' ini setting
*/
$memory_limit = 100 * 1000 * 1000;

/*
Create State with names of variables,
which are important for current execution state.
Example:
object identifier of current data row
*/
$State = new State(array(
  'stateVar1',
  'stateVar2',
  ...
), $dataset);

// Try to load variables into script
if (!$State-&gt;load()) {

  // On initial execution: init state variables
  $stateVar1 = ...;
  $stateVar2 = ...;
  // On repeated execution: $State->load() does the trick
}

// This is the loop where your data is transformed
do {

  /*
  The job:
  - fetch data chunk from db depending from state vars ...
  - compute heavy objects (and create memory leaks)
  - put data to db
  - change state vars
  */

  /*
  To call
  unset() or explicit __destruct()
  here didn't succeed to prevent memory leaks
  */

  if (memory_get_usage(true) &gt; $memory_limit) {

    /*
    If memory usage has risen too high,
    save current script state and exit
    */
    $State-&gt;save();
    exit(2);
  }
} while ($data_exists);

/*
This time the script finishes - now delete
the script's state and exit with success
*/
$State-&gt;delete();
exit(0);</pre>
<p>Pretty, huh? For me it has worked many times. This is the <a href="http://andreaskalsch.de/blog/wp-content/uploads/2009/06/state._php"><code>State</code> class for download</a>.</p>
<p>Don&#8217;t do this at home, if your job is finished quickly or your script does not create memory leaks ;)</li>
</ol>
<p>Photos are by photocase users <a href="http://www.photocase.com/de/user.asp?u=112234" target="_blank">complize</a> and <a href="http://www.photocase.com/de/user.asp?u=174647" target="_blank">mathias the dread</a></p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2009/06/27/getting-out-more-from-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some sites should fear their search boxes</title>
		<link>http://andreaskalsch.de/blog/2009/04/15/some-sites-should-fear-their-search-boxes/</link>
		<comments>http://andreaskalsch.de/blog/2009/04/15/some-sites-should-fear-their-search-boxes/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 08:50:24 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/2009/04/15/Some sites should fear their search boxes/</guid>
		<description><![CDATA[Half an hour of research has shown that still many websites don&#8217;t filter their HTML for potential XSS attacks. I just entered the simple search term &#8220;&#60;script&#62;alert(1)&#60;/script&#62;&#8221; into search boxes of well-known news sites in the USA, UK and Germany. I got 7 results of vulnerable websites. Some of them just include the search term [...]]]></description>
			<content:encoded><![CDATA[<p>Half an hour of research has shown that still many websites don&#8217;t filter their HTML for potential XSS attacks. I just entered the simple search term &#8220;&lt;script&gt;alert(1)&lt;/script&gt;&#8221; into search boxes of well-known news sites in the USA, UK and Germany. I got 7 results of vulnerable websites. Some of them just include the search term unescaped into the website, others get in trouble when including the term inside embedded JavaScript strings. In the latter case I had to change the term a bit to get the script executed. The following sites are vulnerable:</p>
<ul>
<li><a href="https://www.faz.net/f30/common/Suchergebnis.aspx?term=%22%3C%2Fscript%3E%3Cscript%3Ealert(1)%3C%2Fscript%3E&amp;x=0&amp;y=0&amp;allchk=1" target="_blank">faz.net</a></li>
<li><a href="http://www.sat1.de/service/suche/?q=%27%3C%2Fscript%3E%3Cscript%3Ealert(1)%3C/script%3E" target="_blank">sat1.de</a></li>
<li><a href="http://www.mirror.co.uk/search.cfm?what=%22%3C/script%3E%3Cscript%3Ealert(1)%3C%2Fscript%3E" target="_blank">mirror.co.uk</a></li>
<li><a href="http://www.newsnow.co.uk/h/?JavaScript=1&amp;search=%3Cscript%3Ealert(1)%3C%2Fscript%3E" target="_blank">newsnow.co.uk</a></li>
<li><a href="http://www.thesun.co.uk/search/searchAction.do?query=%3Cscript%3Ealert(1)%3C/script%3E" target="_blank">thesun.co.uk</a></li>
<li><a href="http://www.nydailynews.com/nydn/form/searchResults.jsp?sort=date%3AD%3AS%3Ad1&amp;output=xml_no_dtd&amp;oe=UTF-8&amp;ie=UTF-8&amp;client=nydn&amp;start=0&amp;q=%3Cscript%3Ealert(1)%3C%2Fscript%3E&amp;site=news|boroughs|sports|entertainment|latino|gossip|lifestyle|money|opinions|travel" target="_blank">nydailynews.com</a></li>
<li><a href="http://www.kn-online.de/suche/?typ=theme&amp;such=%3Cscript%3Ealert(1)%3C/script%3E&amp;searchressort=" target="_blank">kn-online.de</a></li>
</ul>
<p>Should check your code, guys and learn &#8230;</p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2009/04/15/some-sites-should-fear-their-search-boxes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OpenStreetMap &#8211; die Karte der Zukunft</title>
		<link>http://andreaskalsch.de/blog/2008/08/13/openstreetmap-die-karte-der-zukunft/</link>
		<comments>http://andreaskalsch.de/blog/2008/08/13/openstreetmap-die-karte-der-zukunft/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 13:52:52 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[api]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[osm]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/2008/08/13/OpenStreetMap - die Karte der Zukunft/</guid>
		<description><![CDATA[
Prinzipiell lässt sich alles auf das Open-Source-Prinzip übertragen, sogar Karten ;)
Seit 2004 gibt es OpenStreetMap: Jeder kann mitmachen und eigene GPS-Tracks hochladen und getaggte Objekte in Form von Wegen, Knoten und Relationen zur freien Datenbank hinzufügen. Das ganze visualisiert und über Open Layers in eine Webseite eingebunden ist teilweise schon konkurrenzfähig zur Standardlösung Google Maps. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm4.static.flickr.com/3193/2760059498_5fef43a888.jpg?v=0" align="right" />
<p><strong>Prinzipiell lässt sich alles auf das Open-Source-Prinzip übertragen, sogar Karten ;)</strong></p>
<p>Seit 2004 gibt es OpenStreetMap: Jeder kann mitmachen und eigene <a href="http://de.wikipedia.org/wiki/GPS-Track" target="_blank"><strong>GPS</strong>-Tracks </a>hochladen und ge<a href="http://de.wikipedia.org/wiki/Gemeinschaftliches_Indexieren" target="_blank">tag</a>gte Objekte in Form von Wegen, Knoten und Relationen zur freien Datenbank hinzufügen. Das ganze visualisiert und über <a href="http://openlayers.org/" target="_blank">Open Layers</a> in eine Webseite <a href="http://maps.cloudmade.com/" target="_blank">eingebunden</a> ist teilweise schon konkurrenzfähig zur Standardlösung Google Maps. Soweit klar? &#8211; Wie geht das genau?</p>
<ol>
<li>Der &#8220;Mapper&#8221; steigt mit einem GPS-Gerät auf sein Fahrrad und schaltet die Logging-Funktion des Geräts ein. Damit wird der zurückgelegte Weg festgehalten (&#8221;getrackt&#8221;).</li>
<li>Interssante Punkte (&#8221;<a href="http://de.wikipedia.org/wiki/Point_of_Interest" target="_blank"><strong>POI</strong></a>&#8220;s) und Informationen markiert er und notiert Infos über die Audio-Aufnahme seines Handys.</li>
<li>Er lädt den GPS-Track und die Sound-Dateien auf seinen Rechner und erstellt die Kartendaten mit <a href="http://wiki.openstreetmap.org/index.php/JOSM" target="_blank">JOSM</a>. Die GPS-Tracks und Marker werden angezeigt und dienen als Grundlage für die Kartendaten &#8211; Wege, Straßen, Wälder, Bäche etc.</li>
<li>Zuletzt der Upload via <a href="http://wiki.openstreetmap.org/index.php/API" target="_blank"><strong>OSM-API</strong></a> auf den Server. Zum Anschauen eignet sich die mit <a href="http://wiki.openstreetmap.org/index.php/Mapnik" target="_blank">Mapnik</a> gerenderte <a href="http://www.openstreetmap.org/index.html?lat=49.7552&amp;lon=6.6394&amp;zoom=12" target="_blank">Karte</a>, die einmal wöchentlich geupdatet wird</li>
</ol>
<p>Natürlich gibt es andere Methoden zu <strong>mappen</strong> &#8211; aber so habe ich es in den letzten Wochen mit dem Bike gemacht und damit die Höhenstadtteile Triers vervollständigt.  Ich sehe in dem Projekt eine Riesenpotenzial, denn die Plattform läuft stabil und die Anzahl der Contributors steigt <a href="http://wiki.openstreetmap.org/index.php/Stats" target="_blank">exponentiell</a>. Nicht nur für Kartendaten ist OpenStreetMap eine super Plattform, sondern für jede Art von Information, die an eine geografische Position geknüpft ist. Auf lange Sicht hat OpenStreetMap eine echte Chance, Dienste, die proprietäre Daten lizenzieren, zu überbieten &#8211; vor allem was Details und Aktualität angeht. Alle Daten stehen unter einer <a href="http://creativecommons.org/" target="_blank">Creative-Commons</a>-Lizenz, die Entwicklern keine Hindernisse in den Weg legt.</p>
<p>Rund um das Projekt bilden sich außerdem <strong>Communitys von Mappern und Entwicklern</strong>. Auch in <a href="http://wiki.openstreetmap.org/index.php/Trier" target="_blank">Trier</a> bildet sich langsam eine Gruppe von Aktiven heraus.</p>
<p>Wer sich noch nie mit Karten befasst hat und gerade nur Bahnhof gelesen hat: Einen guten Überblick verschaffen <a href="http://de.wikipedia.org/wiki/OpenStreetMap" target="_blank">Wikipedia</a>, das <a href="http://wiki.openstreetmap.org/" target="_blank"><strong>Wiki</strong></a> und die Karte selbst auf <a href="http://www.openstreetmap.org/index.html?lat=49.7552&amp;lon=6.6394&amp;zoom=12" target="_blank"><strong>openstreetmap.org</strong></a>.</p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2008/08/13/openstreetmap-die-karte-der-zukunft/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Googles Kapital</title>
		<link>http://andreaskalsch.de/blog/2008/07/18/googles-kapital/</link>
		<comments>http://andreaskalsch.de/blog/2008/07/18/googles-kapital/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 18:26:57 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[psychology]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/2008/07/18/Googles Kapital/</guid>
		<description><![CDATA[Weder Yahoo noch Microsoft sind besessen von dem, was Google macht: &#8220;organizing the world&#8217;s information&#8221;. Und dann wird mit Stühlen geworfen und rumgeschrien (Steve Ballmer) &#8211; kein Wunder dass Google keiner schlägt. Denn am Ende geht es immer um Schnellzugriff auf Information &#8211; eine Platt form dafür zu bauen finden fast alle Menschen im Gegensatz [...]]]></description>
			<content:encoded><![CDATA[<p>Weder Yahoo noch Microsoft sind besessen von dem, was <a href="http://www.google.de/intl/de/corporate/" target="_blank">Google</a> macht: &#8220;organizing the world&#8217;s information&#8221;. Und dann wird mit Stühlen geworfen und <a href="http://youtube.com/watch?v=KMU0tzLwhbE" target="_blank">rumgeschrien</a> (<a href="http://www.microsoft.com/presspass/exec/steve/default.aspx" target="_blank">Steve Ballmer</a>) &#8211; kein Wunder dass Google keiner schlägt. Denn am Ende geht es immer um Schnellzugriff auf Information &#8211; eine <a href="http://en.wikipedia.org/wiki/Google_platform" target="_blank">Platt</a> <a href="http://infolab.stanford.edu/~backrub/google.html">form</a> dafür zu bauen finden fast alle Menschen im Gegensatz zu den Informationen selbst langweilend &#8211; und genau das ist Googles Kapital.</p>
<p>Oder?</p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2008/07/18/googles-kapital/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Damit zusammenwächst was zusammengehört?</title>
		<link>http://andreaskalsch.de/blog/2008/06/26/damit-zusammenwachst-was-zusammengehort/</link>
		<comments>http://andreaskalsch.de/blog/2008/06/26/damit-zusammenwachst-was-zusammengehort/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 11:25:28 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[culture]]></category>
		<category><![CDATA[psychology]]></category>
		<category><![CDATA[science]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/2008/06/26/Damit zusammenwächst was zusammengehört/</guid>
		<description><![CDATA[Paul Buchheit, Programmierer und Unternehmer, führender Entwickler von Gmail und Ideengeber von Googles Motto &#8220;Don&#8217;t be evil&#8221; zitiert in seinem Blog aus dem Buch &#8220;The Culture Code&#8221;:
That&#8217;s because the first principle of the Culture Code is that the only effective way to understand what people truly mean is to ignore what they say. This is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Paul_Buchheit">Paul Buchheit</a>, Programmierer und Unternehmer, führender Entwickler von <a href="http://en.wikipedia.org/wiki/Gmail">Gmail</a> und Ideengeber von Googles Motto &#8220;Don&#8217;t be evil&#8221; zitiert in seinem <a href="http://paulbuchheit.blogspot.com/">Blog</a> aus dem Buch <a href="http://www.amazon.com/Culture-Code-Ingenious-Understand-People/dp/0767920562">&#8220;The Culture Code&#8221;</a>:</p>
<blockquote><p>That&#8217;s because the first principle of the Culture Code is that the only effective way to understand what people truly mean is to ignore what they say. This is not to suggest that people intentionally lie or misrepresent themselves. What it means is that, when asked direct questions about their interests and preferences, people tend to give answers they believe the questioner wants to hear. Again, this is not because they intend to mislead. It is because people respond to these questions with their cortexes, the parts of their brains that control intelligence rather than emotion or instinct.  From &#8220;The Culture Code&#8221;</p></blockquote>
<p><a href="http://paulbuchheit.blogspot.com/2007/08/first-thing-that-you-need-to-understand.html">Mehr zu diesem Thema im Blog von Paul Buchheit</a></p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2008/06/26/damit-zusammenwachst-was-zusammengehort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Barcamp Bodensee &#8211; Review</title>
		<link>http://andreaskalsch.de/blog/2008/06/02/barcamp-bodensee-review-tag-1/</link>
		<comments>http://andreaskalsch.de/blog/2008/06/02/barcamp-bodensee-review-tag-1/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 14:13:11 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[barcamp]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[start-up]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/2008/06/02/Barcamp Bodensee - Review Tag 1/</guid>
		<description><![CDATA[Am Wochenende war ich mit ein paar Ulmer Kollegen (↗, ↗) beim Barcamp Bodensee an der Zeppelin-Uni in Friedrichshafen. Eine tolle Kulisse, nette Leute, gutes Wetter und interessante Denkanstöße machten das Wochenende perfekt. Auf dem luxuriösen Campus gab es einige interessante Sessions:

Finanzierungsoptionen für Software-Startups Am Beispiel des eigenen Software-Projekts Daisho zeigte Klaus Wiedemann, mit welchen [...]]]></description>
			<content:encoded><![CDATA[<p>Am Wochenende war ich mit ein paar Ulmer Kollegen (<a href="http://www.instantbonsai.net/" target="_blank">↗</a>, <a href="http://www.webholics.de/" target="_blank">↗</a>) beim <a href="http://barcampbodensee.mixxt.eu/" target="_blank">Barcamp Bodensee</a> an der <a href="http://www.zeppelin-university.de/" target="_blank">Zeppelin-Uni</a> in Friedrichshafen. Eine tolle Kulisse, nette Leute, gutes Wetter und interessante Denkanstöße machten das Wochenende perfekt. Auf dem luxuriösen Campus gab es einige interessante Sessions:</p>
<ul>
<li><strong>Finanzierungsoptionen für Software-Startups</strong> Am Beispiel des eigenen Software-Projekts <a href="http://www.daisho-blacksmith.de/software/" target="_blank">Daisho</a> zeigte <a href="http://www.not-for-slaves.de/" target="_blank">Klaus Wiedemann</a>, mit welchen Prinzipien man Software und Dienstleistungen an den Mann bringt. Ein paar Punkte:
<ul>
<li>Im Web-Startup-Sektor sind meistens das eigene Konto oder die Einlagen von Verwandten und Freunden die einzige zuverlässige Finanzspritze.</li>
<li>Probleme ergeben sich auch dadurch, dass die Konkurrenz durch große Firmen nicht zu unterschätzen ist, der Markt mittlerweile ausgereift ist und oftmals die USA in Sachen Innovation die Nase vorn haben.</li>
<li>Die Gegenstrategie von <a href="http://www.daisho-blacksmith.de/" target="_blank">Daisho Blacksmith</a> in den ersten beiden Jahren lag im &#8220;opportunistischen Marketing&#8221; &#8211; das Prinzip mit jeder Art von Arbeit Geld zu machen. Wenn dann genügend Geld zusammen gekommen ist und ein Marktwert aufgebaut ist, kann man sich auf das eigene Feld konzentrieren.</li>
</ul>
</li>
<li>Um die Themen <strong>&#8220;kollektive Intelligenz&#8221; und &#8220;Swarms&#8221;</strong> drehte sich die interesante Diskussion mit <a href="http://www.z-punkt.de/14.html?&amp;tx_ttnews[pointer]=1&amp;tx_ttnews[tt_news]=10&amp;tx_ttnews[backPid]=12&amp;cHash=91643cec68" target="_blank">Willi Schroll</a> von <a href="http://www.z-punkt.de/" target="_blank">Z-punkt</a>. Fazit: Es dreht sich alles um die Frage &#8220;Wie wechselwirkt die individuelle mit der kollektiven Intelligenz&#8221;? Oder: &#8220;Gibt es so etwas wie kollektive Intelligenz überhaupt?&#8221; Interessante Beispiele solcher Phänomene finden sich überall: In der Natur in Form von Ameisenstaaten, im WWW in Form von Wikis und freiem Wissen.</li>
<li><strong><a href="http://www.blogforge.org/" target="_blank">BlogForge</a></strong> &#8211; &#8220;Das vielleicht beste Blog der Welt!&#8221; &#8211; So steht es auf der Projektseite des neuen Bloggingtools. Die beiden Entwickler stellten die umfangreichen Features des Blogging Tools vor. Die Stärken liegen vor allem im zugrunde liegendenden PHP-Framework, das es sehr flexibel ermöglicht, über das Backend Änderungen am Datenmodell vorzunehmen. Die Funktionen von BlogForge stellen sich auf einigen stark frequentierten Webseiten unter Beweis.</li>
<li><strong>Microformats</strong> stellte <a href="http://barcampbodensee.mixxt.eu/networks/members/profiles/index.augustus.kling" target="_blank">Augustus Kling</a> in einem Vortrag vor. Yahoo berücksichtigt zB bereits eingebettete Definitionen in Suchergebnissen. Mehr zu <a href="http://de.wikipedia.org/wiki/Mikroformat" target="_blank">Microformats</a> gibt es auf <a href="http://microformats.org/" target="_blank">microformats.org</a>.</li>
<li>Die beiden Entwickler <a href="http://whirly.free.fr/" target="_blank">Stéphane Becker</a> und <a href="http://blog.strasslab.net/" target="_blank">Yann Klis</a> vom Barcamp Elsaß stellten vor, wie sie bei der <strong>Entwicklung eines Webprojekts</strong> vorgehen und welche Prinzipien und Techniken sie verwenden. Stichworte: <a href="http://de.wikipedia.org/wiki/Extreme_Programming" target="_blank">Extreme Programming</a>, Ruby on Rails, <a href="http://trac.edgewall.org/" target="_blank">Trac</a>, <a href="http://en.wikipedia.org/wiki/Unit_test" target="_blank">Unit Testing</a>, <a href="http://selenium.openqa.org/" target="_blank">Selenium</a></li>
</ul>
<p>Das Barcamp hat Spaß gemacht und die Organisatoren um <a href="http://barcampbodensee.mixxt.eu/networks/members/profiles/index.oliverg" target="_blank">Oliver Gassner</a> haben hervorragende Arbeit geleistet &#8211; ich sage danke für das tolle Wochenende! Tag 2 folgt demnächst.</p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2008/06/02/barcamp-bodensee-review-tag-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Da kann ma nix machen</title>
		<link>http://andreaskalsch.de/blog/2008/04/11/da-kann-ma-nix-machen/</link>
		<comments>http://andreaskalsch.de/blog/2008/04/11/da-kann-ma-nix-machen/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 14:08:30 +0000</pubDate>
		<dc:creator>Andi</dc:creator>
				<category><![CDATA[sport]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://andreaskalsch.de/blog/2008/04/11/Da kann ma nix machen/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/PMDA0MzlKbs&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/PMDA0MzlKbs&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>]]></content:encoded>
			<wfw:commentRss>http://andreaskalsch.de/blog/2008/04/11/da-kann-ma-nix-machen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
