<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">

    <title type="text">Lars Kirchhoff [Web Journal]</title>
    <subtitle type="text"></subtitle>
    <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/" />
    <link rel="self" type="application/atom+xml" href="http://www.lars-kirchhoff.de/go/site/atom/" />
    <updated>2010-09-27T21:00:07Z</updated>
    <rights>Copyright (c) 2010, Lars</rights>
    <generator uri="http://www.pmachine.com/" version="1.6.8">ExpressionEngine</generator>
    <id>tag:lars-kirchhoff.de,2010:09:29</id>


    <entry>
      <title>JavaScript &#45; Ninja Series</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/javascript-ninja-series/" />
      <id>tag:lars-kirchhoff.de,2010:/1.807</id>
      <published>2010-09-29T20:40:05Z</published>
      <updated>2010-09-27T21:00:07Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Computer"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Computer/"
        label="Computer" />
      <content type="html"><![CDATA[
        Dylan, one of our web developers and hard core JavaScript Pro, has started a nice series about various JavaScript topics that are related to his current web development tasks. In these very easy to follow tutorials he gives insides into how to code common tasks without any library in native JavaScript. This might be necessary in case, in which you need full control of every aspect of a process and you are looking for best performance. I found the series very enjoyable and worthwhile reading. Below a list to the different articles on our <a target="_blank" href="http://blog.sociomantic.com" title="sociomantic blog">sociomantic blog</a>. 

<p><strong>The JavaScript Disciplines</strong><br /> 
Discipline 1: <a target="_blank" title="Native Javascript Ninjutsu: AJAX with XHR" href="http://blog.sociomantic.com/2010/08/native-javascript-ninjutsu-ajax-with-xhr/">AJAX with XHR</a><br /> 
Discipline 2: <a target="_blank" title="Native Javascript Ninjutsu: Dynamic JS with PHP" href="http://blog.sociomantic.com/2010/08/native-javascript-ninjutsu-dynamic-js-with-php/">Dynamic JS with PHP</a><br /> 
Discipline 3: <a target="_blank" title="Native Javascript Ninjutsu: Include External JS" href="http://blog.sociomantic.com/2010/08/native-javascript-ninjutsu-include-external-js/">Include External JS</a><br /> 
Discipline 4: <a target="_blank" title="Native Javascript Ninjutsu: Cookie and Variables" href="http://blog.sociomantic.com/2010/09/native-javascript-ninjutsu-cookies-and-variables/">Cookies and Variables</a><br /> 
Discipline 5: <a target="_blank" title="Native Javascript Ninjutsu: removeNode vs. removeChild" href="http://blog.sociomantic.com/2010/09/native-javascript-ninjutsu-removenode-vs-removechild/">removeNode vs. removeChild</a><br />
Discipline 6: <a target="_blank" title="Native Javascript Ninjutsu: DOMinating iframes" href="http://blog.sociomantic.com/2010/09/native-javascript-ninjutsu-dominating-iframes/">Native Javascript Ninjutsu: DOMinating iframes</a></p> 

 
      ]]></content>
    </entry>

    <entry>
      <title>Eclipse code formatting</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/eclipse-code-formatting/" />
      <id>tag:lars-kirchhoff.de,2010:/1.805</id>
      <published>2010-08-10T09:37:44Z</published>
      <updated>2010-08-10T09:45:45Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Computer"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Computer/"
        label="Computer" />
      <category term="From PHP to D"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/from-php-to-d/"
        label="From PHP to D" />
      <content type="html"><![CDATA[
        After reinstalling Eclipse lately I was having trouble setting up a proper code formatting for tabs. Despite setting 'Preferences | General | Editors | Text Editor | Insert Spaces for Tabs' I still got tabs in my code. You can check that by enable  'Preferences | General | Editors | Text Editor | Show whitespace characters'. I really couldn't figure out why this happened and it was driving me nuts. It turns out that there is another setting in the code formatter options that overrides this setting. The Descent (D programming language plugin) default code formatter setting 'Preferences | D | Code style | Formatter | Indentation | General option | Tab policy' was set to 'tabs only'. It needs to be set to 'spaces only'.  
      ]]></content>
    </entry>

    <entry>
      <title>Twitterverse</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/twitterverse/" />
      <id>tag:lars-kirchhoff.de,2009:/1.792</id>
      <published>2009-11-07T14:26:40Z</published>
      <updated>2009-11-09T08:45:41Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <content type="html"><![CDATA[
        <a href="http://www.flickr.com/photos/briansolis/3570379944/"  target="_blank"><img src="http://www.lars-kirchhoff.de/images/uploads/twitterverse.jpg" border="0" alt="Twitterverse" name="twitterverse" width="390" height="293" class="full_image" /></a>
It's a long time since I posted something here, but I just came across the Twitterverse illustration from <a href="http://www.briansolis.com/" target="_blank">Brian Solis</a> and <a href="http://jess3.com/" target="_blank">Jess3</a>. I didn't pay much attention to Twitter since my first <a href="https://twitter.com/larskirchhoff" target="_blank">signup</a>. I randomly posted some tweets, integrated it into my facebook profile, but thats it. Then I saw this illustration. I was amazed about the number of different applications that have been spawned through the availability of the Twitter API. 
 
      ]]></content>
    </entry>

    <entry>
      <title>Installing Tokyo Tyrant in custom directory</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/installing-tokyo-tyrant-in-custom-directory/" />
      <id>tag:lars-kirchhoff.de,2009:/1.778</id>
      <published>2009-06-19T11:28:15Z</published>
      <updated>2009-06-19T14:09:16Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Computer"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Computer/"
        label="Computer" />
      <category term="From PHP to D"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/from-php-to-d/"
        label="From PHP to D" />
      <content type="html"><![CDATA[
        In the process of testing Tokyo Cabinet and Tokyo Tyrant I just came across some small difficulties setting both up. Although the installation and configuration is almost straigth forward I stumbled about some small issues. The documentation on Tokyo Cabinet/Tyrant is not very comprehensive so far apart from the extensive API documentation. Installation and operations information are rare at the moment. There I've just written down my path to a running and manageable installation, which can easily deployed to several linux servers (OpenSuSE). <h3>Compilation</h3>
<p>

<b>Tokyo Cabinet</b>
<br /><br />
<code>
cd /usr/local/src/<br />
wget <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Ftokyocabinet.sourceforge.net%2Ftokyocabinet-1.4.26.tar.gz">http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.26.tar.gz</a><br />
tar xvf tokyocabinet-1.4.26.tar.gz<br />
cd tokyocabinet-1.4.26<br />
mkdir /usr/local/tokyo/cabinet/<br />
./configure --prefix=/usr/local/tokyo/cabinet/<br />
make<br />
make install<br />
</code>
<br /><br />

<b>Tokyo Tyrant</b>
<br /><br />
<code>
cd /usr/local/src/<br />
wget <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Ftokyocabinet.sourceforge.net%2Ftyrantpkg%2Ftokyotyrant-1.1.28.tar.gz">http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.28.tar.gz</a><br />
tar xvf tokyotyrant-1.1.28.tar.gz<br />
cd tokyotyrant-1.1.28<br />
mkdir /usr/local/tokyotyrant-1.1.28<br />
./configure --prefix=/usr/local/tokyo/tyrant/ --with-tc=/usr/local/tokyo/cabinet/<br />
make<br />
make install<br />
</code>
<br /><br />

<b>Setup link to shared library</b>
<br /><br />
<code>
ln -s /usr/local/tokyo/cabinet/lib/libtokyocabinet.so.8 /usr/lib/<br />
</code>
<br /><br />

<b>Startup server</b>
<br /><br />
<code>
/usr/local/tokyo/tyrant/bin/ttserver<br /> 
</code>
</p>

<h3>Configuration</h3>
<p>
Tokyo Tyrant comes with a basic RC startup script, that sets some basic options. I didn't like to have so many options set in the rc script itself. Therefore I removed all configuration variables and put them into a config file that is in a etc folder of the tyrant installation. This way I can copy the same etc script on each server and maintain different config files on each server. Additionally the configuration can be found more easily. For now I just left the basic configuration options, but will add the possibility to set all startup options in the config file later.

<ul class="reference_list"> 
<li><a href="/downloads/tokyocabinet/ttservctl">RC script</a></li>
<li><a href="/downloads/tokyocabinet/config">Config file</a></li>
</ul>
</p>
<p>
Copy the Config file to your tyrant installation file (e.g. /usr/local/tokyo/tyrant/etc/) and update the line in the RC script accordingly.
</p>
      ]]></content>
    </entry>

    <entry>
      <title>Key/value database storage engines</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/key-value-database-storage-engines/" />
      <id>tag:lars-kirchhoff.de,2009:/1.769</id>
      <published>2009-06-18T16:07:42Z</published>
      <updated>2009-09-22T11:41:43Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Computer"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Computer/"
        label="Computer" />
      <category term="From PHP to D"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/from-php-to-d/"
        label="From PHP to D" />
      <content type="html"><![CDATA[
        I recently dived into the world of distributed Key/Value database stores. Although key/value storage engines are nothing particular new, distributed implementation seem to gather some attention lately due to high scalability demands of current online services. Below are interesting reads about this topic together with some links to project I found particular interesting. 
<br /><br />

<h3>Articles</h3>
<p>
A very good overview article about different storage engines has been written by Richard Jones from Last.fm, in which he compares the different engines with the needs of last.fm in mind.<br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.metabrew.com%2Farticle%2Fanti-rdbms-a-list-of-distributed-key-value-stores%2F">http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/</a></li>
</ul>
<br />
</p>

<p>
The following articles are more about specific implementation of a certain storage engine, but interesting to get to understand the whole principles more deeply.<br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.igvita.com%2F2009%2F02%2F13%2Ftokyo-cabinet-beyond-key-value-store%2F">http://www.igvita.com/2009/02/13/tokyo-cabinet-beyond-key-value-store/</a><li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fbytepawn.com%2Freadings-in-distributed-systems%2F">http://bytepawn.com/readings-in-distributed-systems/</a><li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fpush.cx%2F2009%2Frules-of-database-app-aging%2F">http://push.cx/2009/rules-of-database-app-aging/</a><li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fbret.appspot.com%2Fentry%2Fhow-friendfeed-uses-mysql%2F">http://bret.appspot.com/entry/how-friendfeed-uses-mysql/</a><li>
</ul>
<br />
</p>

<p>
Bob Ippolito gave a very comprehensive talk at PyCon 2009 on "Drop ACID and think about data", where he summarizes his experiences with different storage engines while implementing the service at Mochi Media. He presents the different storage engines and shows how their are being used for different purposes: 
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fblip.tv%2Ffile%2F1949416%2F">http://blip.tv/file/1949416/</a></li>
</ul>
<br /><br />
</p>
 <h3>Shortlist of intersting key/value storage engines</h3>
<p>
<b>Ringo</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fgithub.com%2Ftuulos%2Fringo%2F">http://github.com/tuulos/ringo/</a></li>
</ul>
<br />
</p>

<p>
<b>Scalaris</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fcode.google.com%2Fp%2Fscalaris%2F">http://code.google.com/p/scalaris/</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fvideo.google.com%2Fvideoplay%3Fdocid%3D6981137233069932108%26ei%3DcaB0SaPUNIW0iALk-9CMBQ%26q%3Derlang%2Bexchange">http://video.google.com/videoplay?docid=6981137233069932108&ei=caB0SaPUNIW0iALk-9CMBQ&q=erlang+exchange</a></lI>
</ul>
<br />
</p>

<p>
<b>Dynomite</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fgithub.com%2Fcliffmoon%2Fdynomite%2Ftree%2Fmaster">http://github.com/cliffmoon/dynomite/tree/master</a></lI>
</ul>
<br />
</p>

<p>
<b>Tokyo Cabinet/Tyrant & LightCloud</b><br />
<ul class="reference_list">
<li>Presentation:<br /> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.scribd.com%2Fdoc%2F12016121%2FTokyo-Cabinet-and-Tokyo-Tyrant-Presentation">http://www.scribd.com/doc/12016121/Tokyo-Cabinet-and-Tokyo-Tyrant-Presentation</a></li>
<li>Tokyo Cabinet:<br /> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Ftokyocabinet.sourceforge.net%2F">http://tokyocabinet.sourceforge.net/</a></li>
<li>Tokyo Tyrant:<br /> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Ftokyocabinet.sourceforge.net%2Ftyrantdoc%2F">http://tokyocabinet.sourceforge.net/tyrantdoc/</a></li>
<li>LightCloud:<br /> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fopensource.plurk.com%2FLightCloud%2F">http://opensource.plurk.com/LightCloud/</a></li>
<li>Elliptics:<br /> 
     The elliptics network is a fault tolerant distributed hash table object storage.<br />
      <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.ioremap.net%2Fprojects%2Felliptics%2F">http://www.ioremap.net/projects/elliptics/</a></li>
<li>Flare:<br /> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Flabs.gree.jp%2FTop%2FOpenSource%2FFlare-en.html">http://labs.gree.jp/Top/OpenSource/Flare-en.html</a></li>
</ul>
<br />
</p>

<p>
<b>Project Voldemort</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fproject-voldemort.com%2F">http://project-voldemort.com/</a></li>
</ul>
<br />
</p>

<p>
<b>Disco</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fdiscoproject.org%2F">http://discoproject.org/</a></li>
</ul>
<br />
</p>

<p>
<b>Redis</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fcode.google.com%2Fp%2Fredis%2F">http://code.google.com/p/redis/</a></li>
</ul>
<br />
</p>

<p>
<b>HyperTable</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fhypertable.org%2F">http://hypertable.org/</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fkosmosfs.sourceforge.net%2F">http://kosmosfs.sourceforge.net/</a></li>
</ul>
<br />
</p>

<p>
<b>Cassandra</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fincubator.apache.org%2Fcassandra%2F">http://incubator.apache.org/cassandra/</a></li>
</ul>
<br /><br />
</p>

<p>
<b>Document Databases</b>
<br /><br />
<b>CouchDB</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fcouchdb.apache.org%2F">http://couchdb.apache.org/</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fcouchdb.apache.org%2Fdocs%2Foverview.html">http://couchdb.apache.org/docs/overview.html</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fpush.cx%2F2009%2Frules-of-database-app-aging">http://push.cx/2009/rules-of-database-app-aging</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fuserprimary.net%2Fuser%2F2007%2F12%2F16%2Fa-quick-look-at-couchdb-performance%2F">http://userprimary.net/user/2007/12/16/a-quick-look-at-couchdb-performance/</a></li>
</ul>
<br />
</p>

<p>
<b>MongoDB</b><br />
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.mongodb.org%2Fdisplay%2FDOCS%2FHome">http://www.mongodb.org/display/DOCS/Home</a></li>
</ul>
<br /><br />
</p>


<h3>Some more readings:</h3>
<ul class="reference_list">
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fpdos.csail.mit.edu%2Fpapers%2Fchord%3Asigcomm01%2F">http://pdos.csail.mit.edu/papers/chord:sigcomm01/</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fcurrent.cs.ucsb.edu%2Ffacebook%2Findex.html">http://current.cs.ucsb.edu/facebook/index.html</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.linuxjournal.com%2Farticle%2F6797">http://www.linuxjournal.com/article/6797</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.ietf.org%2Fproceedings%2F06mar%2Fslides%2Fplenaryt-2.pdf">http://www.ietf.org/proceedings/06mar/slides/plenaryt-2.pdf</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fberkeley.intel-research.net%2Fsylvia%2Fpht.pdf">http://berkeley.intel-research.net/sylvia/pht.pdf</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fgroups.google.com%2Fgroup%2Ffr4fb%2F">http://groups.google.com/group/fr4fb/</a></li>
<li> <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fcrd.lbl.gov%2F%7Ekewu%2Ffastbit%2F">http://crd.lbl.gov/~kewu/fastbit/</a></li>
</ul>
      ]]></content>
    </entry>

    <entry>
      <title>Shark Angels conservation video</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/shark-angels-conservation-video/" />
      <id>tag:lars-kirchhoff.de,2009:/1.746</id>
      <published>2009-04-24T09:03:36Z</published>
      <updated>2009-04-24T09:42:37Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Photography"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Photography/"
        label="Photography" />
      <category term="Travel"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Travel/"
        label="Travel" />
      <content type="html"><![CDATA[
        <a target="_blank" href="http://www.echeng.com">Eric Cheng</a> just <a href="http://echeng.com/journal/2009/04/23/new-video-from-shark-angels-about-sharks/" target="_blank">posted</a> a new video from the <a href="http://sharkangels.org/" target="_blank">Shark Angels</a>, a shark protection activist group. The video shows with impressiv footage the threats that sharks face today.<br /><br />

<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4046477&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4046477&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>. 
      ]]></content>
    </entry>

    <entry>
      <title>Perfect Dev Environment now with VirtualBox 2.2.0</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/perfect-dev-environment-now-with-virtualbox-2.2.0/" />
      <id>tag:lars-kirchhoff.de,2009:/1.739</id>
      <published>2009-04-15T07:43:50Z</published>
      <updated>2009-09-22T12:39:51Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Computer"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Computer/"
        label="Computer" />
      <category term="From PHP to D"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/from-php-to-d/"
        label="From PHP to D" />
      <content type="html"><![CDATA[
        VirtualBox 2.2.0 was released a week ago with a neat feature, that I really missed although I really like woking with VirtualBox. Now VirtualBox comes with a virtual Host interface called host-only interface, that enables the communication between 
the host and the guest even when no physical cable is connected to the machine, which happens a lot when you are on the road and would like to do some development. In my previous setup I had a bridged connection for the guest system, which basically 
handles the guest as an additional system in the network. That means both the host 
and the guest get an IP address in the same address range and can communicate this 
way. The guest has access to the internet and the host is able to access the guest 
system, e.g via ssh or smb for file access. There are two problems with this approach 
that I didn't like and which are inconvenient. First, a cable connection or wire connection 
is needed, otherwise the bridged connection doesn't work. Second, as in most cases 
you get the IP address from a DHCP server, the IP address changes everytime you 
connect to a different network. This is especially annoying as you always need to 
reassign the mounted network drives from the guest system. 
<br /><br />

Now with VirtualBox 2.2.0 and the host-only interface it is possible to create a internal 
network for just the host and the guest. Therefore VirtualBox has an integrated DHCP 
server, that assigns the IP addresses to the host and the guest. You can configure the 
host-only interface under File->Global Settings->Network. It is possible to add more 
host-only interfaces and also to define the DHCP settings, although very basic. 

Now my configuration includes 3 network interfaces for my development VirtualBox.
<br />
<ol>
<li>
<b>Host-only network</b> <br />
I use this network interface to connect the host with the guest. 
I setup my network mounts on this interface and my putty configuration. 
</li>
<li>
<b>Bridged network for cable</b> <br />
I use this network interface for the outgoing connections in the guest system, 
if I have a network cable connected (office).</li>
<li>
<b>Bridged network for wireless</b> <br />
I use this network interface for the outgoing connections in the guest system, 
if I have a wireless network cable connected (on the road/home).
</li>
 </ol>
<p>
Now the work with eclipse and putty make much more fun without reassigning IP 
addresses anymore. Another positive effect I noticed is that the access to the shared
network drive seems to be faster than through the bridged network interface. 
I do not have any latency times anymore, while access the drive via windows explorer
or eclipse.
<br /><br />

<b>UPDATE:</b><br />
There is a bug in the current PCnet network device implementation, which causes 
VirtualBox to freeze completely. Switching to the E1000 network device is a workaround
to that problem. Here is the link to the bug ticket: <br />
<a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.virtualbox.de%2Fticket%2F3737">http://www.virtualbox.de/ticket/3737</a>
</p>
      ]]></content>
    </entry>

    <entry>
      <title>Integration of Simile Timeplot into ScientificCommons</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/integration-of-simile-timeplot-into-scientificcommons/" />
      <id>tag:lars-kirchhoff.de,2008:/1.667</id>
      <published>2008-10-22T21:01:00Z</published>
      <updated>2008-10-22T21:44:53Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="ScientificCommons"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/ScientificCommons/"
        label="ScientificCommons" />
      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/simile_scientificcommons.jpg" border="0" class="image_left" alt="Simile Timeplot on ScientificCommons.org" width="390" height="159" />
Simile Timeplot and Simile Timeline from MIT SIMILE project <b>S</b>emantic <b>I</b>nteroperability of <b>M</b>etadata and <b>I</b>nformation in un<b>L</b>ike <b>E</b>nvironments are handy libraries to visualize time depending data.<br />
<a href="http://www.scientificcommons.org" target="_blank">ScientificCommons.org</a> gathers now for more than 2 years data from several hundred repositories worldwide. That means that there is plenty of data for time series visualization. I just started to add graphs for the publication activity of each repository on the repository summary page. Here are some example pages:
<ul class="reference_list">
<li><a href="http://en.scientificcommons.org/repository/e-lis" target="_blank">http://en.scientificcommons.org/repository/e-lis</a></li>
<li><a href="http://en.scientificcommons.org/repository/qut__eprints_archive" target="_blank">http://en.scientificcommons.org/repository/qut__eprints_archive</a></li>
</ul> 
      ]]></content>
    </entry>

    <entry>
      <title>James Nachtwey on XDRTB:</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/james-nachtwey-on-xdrtb/" />
      <id>tag:lars-kirchhoff.de,2008:/1.664</id>
      <published>2008-10-07T06:35:00Z</published>
      <updated>2008-10-07T06:57:35Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Photography"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Photography/"
        label="Photography" />
      <content type="html"><![CDATA[
        Reknowed photojournalist James Nachtwey did a journey to document a rather unknown disease and returned with a documentary that is alarming. He has been working on the project on the thanks of a TED grant. Watch the trailer: <br /><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="390" height="285" id="VE_Player" align="middle"><param name="movie" value="http://static.videoegg.com/ted2/flash/loader.swf"><PARAM NAME="FlashVars" VALUE="bgColor=FFFFFF&file=http://static.videoegg.com/ted/movies/XDRTB_2008-embed-[None]_high.flv&autoPlay=false&fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&forcePlay=false&logo=&allowFullscreen=true"><param name="quality" value="high"><param name="allowScriptAccess" value="always"><param name="bgcolor" value="#FFFFFF"><param name="scale" value="noscale"><param name="wmode" value="window"><embed src="http://static.videoegg.com/ted2/flash/loader.swf" FlashVars="bgColor=FFFFFF&file=http://static.videoegg.com/ted/movies/XDRTB_2008-embed-[None]_high.flv&autoPlay=false&fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&forcePlay=false&logo=&allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="390" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></object>

<br />
<p>
"XDRTB.org is an extraordinary effort to tell the story of extremely drug-resistant tuberculosis (XDR-TB) and TB through powerful photographs taken by James Nachtwey. XDR-TB, or extremely drug-resistant tuberculosis, is a new and deadly mutation of tuberculosis. Similar in creation to multidrug-resistant tuberculosis (MDR-TB) but more extreme in its manifestation, it arises when common tuberculosis goes untreated or standard TB drugs are misused. James’ photographs represent these varying strains. Learn more about TB, MDR-TB and XDR-TB, and learn how you can take action to stop this deadly disease."
</p>
 
      ]]></content>
    </entry>

    <entry>
      <title>Foresighting Color Photography</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/foresighting-color-photography/" />
      <id>tag:lars-kirchhoff.de,2008:/1.549</id>
      <published>2008-07-31T14:58:00Z</published>
      <updated>2008-07-31T15:35:51Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Photography"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Photography/"
        label="Photography" />
      <content type="html"><![CDATA[
        <img src="http://www.loc.gov/exhibits/empire/images/3-strip-1.jpg" class="image_left" align="left" />In an remarkable effort the russian photographer Prokudin-Gorskii build a camera that was able to capture three black and white images on glass plate negatives, using red, green and blue filters. He then presented these images in color in slide lectures using a light-projection system [right] involving the same three filters. <br />
The images are now being digitalized by the library of congress for the exhibition "The empire that was Russia". For the digital process, the original tri-part glass negative is scanned with an overhead digital camera in grayscale mode. Image-editing software converts the scan of the entire plate from negative to positive form. The entire plate is then reduced to 8-bit grayscale mode. Under magnification, the quality of each image on the plate is reviewed for contrast, degree of color separation, extent of damage to the emulsion, and any other details that might affect the final color composite.<br />
The resulting images look amazing...
<img src="http://www.loc.gov/exhibits/empire/images/p87-8086.jpg" class="image_right" align="right" width="390" />
 <br />&nbsp; 
      ]]></content>
    </entry>

    <entry>
      <title>BMW kinetic structure from ARTCOM</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/bmw-kinetic-structure-from-artcom/" />
      <id>tag:lars-kirchhoff.de,2008:/1.542</id>
      <published>2008-07-18T09:45:01Z</published>
      <updated>2008-07-18T13:54:42Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <content type="html"><![CDATA[
        After the beautiful GINA study from BMW I found another interesting project from BMW. The Kinetic Sculpture made up of 714 metal balls translates a virtual design process into the space around it. The sculpture is part of the installations at the new BMW Museum in Munich. Seemingly weightless and guided solely by the power of the mind, the sculpture moves through a cycle of free abstractions and typical BMW vehicle forms. <br /><br />
<object width="390" height="324"><param name="movie" value="http://www.youtube.com/v/9TJFntVSzd0&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/9TJFntVSzd0&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="390" height="324"></embed></object> 
      ]]></content>
    </entry>

    <entry>
      <title>Happy Flu</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/happy-flu/" />
      <id>tag:lars-kirchhoff.de,2008:/1.541</id>
      <published>2008-07-17T07:52:00Z</published>
      <updated>2008-07-17T11:00:04Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <content type="html"><![CDATA[
        Happy Flu is an interesting experiment to track information diffusion within the web. Below you see a flash application that shows the spread of the flash code on the different websites. Each node is a website that embeds the flash code. The size of the nodes is depending on the number of hits of the web page containing the flash code. The edges are the path from where the flash codes travelled. 

<div id="flashviz" style="text-align: center;">
<object width="400" height="400" type="application/x-shockwave-flash" data="http://srv2.happyflu.com/viz/051e4e127b036290071b895e.swf">
<param name="flashVars" value="id=051e4e127b036290071b895e&q=629" />
<param name="movie" value="http://srv2.happyflu.com/viz/051e4e127b036290071b895e.swf" flashVars="id=051e4e127b036290071b895e&q=629" />
</object>
<script type="text/javascript">
(function(){var callback=function(e){e=e?e:window.event;if(e.stopPropagation)e.stopPropagation();if(e.preventDefault)e.preventDefault();e.cancelBubble=true;e.cancel=true;e.returnValue=false;return false;};var e=document.getElementById('flashviz');if(e.addEventListener)e.addEventListener('DOMMouseScroll',callback,false);else if(e.attachEvent)e.attachEvent('onmousewheel',callback);})();
</script>
</div> 
      ]]></content>
    </entry>

    <entry>
      <title>Visionary Car Design</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/visionary-car-design/" />
      <id>tag:lars-kirchhoff.de,2008:/1.538</id>
      <published>2008-06-26T11:41:01Z</published>
      <updated>2008-06-26T11:59:18Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <content type="html"><![CDATA[
        BMW introduced a new concept car, that major aim is to be as flexible as possible. The engineers completely rethought the car body and replaced it with a skin of a new high tech textile fabric, that's pulled taut around a frame of metal and carbon fiber wires. The skeleton of the car is controlled by electro-hydraulic devices and can actually move and change shape beneath the fabric skin. The car is called GINA, which stands for "Geometry and Functions in 'N' Adaptations". View the videos here (I was really impressed): <br /><br /><b>Design</b><br /><object width="390" height="315"><param name="movie" value="http://www.youtube.com/v/EP6wOrdtxvY"></param><embed src="http://www.youtube.com/v/EP6wOrdtxvY" type="application/x-shockwave-flash" width="390" height="315"></embed></object>
<br /><br /><b>Premiere</b><br /><object width="390" height="315"><param name="movie" value="http://www.youtube.com/v/kTYiEkQYhWY"></param><embed src="http://www.youtube.com/v/kTYiEkQYhWY" type="application/x-shockwave-flash" width="390" height="315"></embed></object>
<br /><br /> And don't forget to visit the bmw channel website for more information.

 
      ]]></content>
    </entry>

    <entry>
      <title>Zanox Campus</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/zanox-campus/" />
      <id>tag:lars-kirchhoff.de,2008:/1.535</id>
      <published>2008-06-13T13:32:01Z</published>
      <updated>2008-06-13T13:57:49Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Events"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Events/"
        label="Events" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/2008_06_zanox_campus.jpg" border="0" class="full_image" alt="Zanox Campus" name="image" width="389" height="110" />
My former colleague here at the University St. Gallen - Thomas Nicolai - is now working for the Zanox AG and responsible for their web services strategy and operation. As part of his job he is involved in the <a href="http://www.zanox.com/en/campus/" target="_blank">Zanox Campus</a>. With the <a href="http://www.zanox.com/en/campus/" target="_blank">Campus</a> Zanox tries to leverage and promote it's own web services. The Campus is a place, where Zanox tries to foster new ideas and new business models, that use the web services and which help monetize the web. Therefore Zanox has started an 1'000'000 EUR <a href="http://blog.zanox.com/en/webservices/" target="_blank">Web Services contest</a>. Individuals and startups are welcome to create a business model that uses the Zanox web services. At the end of October the top ten candidates will be given the chance to present their business model to a jury in a short presentation. The contest is supported by a series of events like the recent TechCrunch Meetup in Berlin event and the coming Israel Innovation Day: Media on June 16th and the runner-up Israel Berlin Entrepreneurs Night @ zanox GAP CAMPUS.
 
      ]]></content>
    </entry>

    <entry>
      <title>Photography Addiction</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/photography-addiction/" />
      <id>tag:lars-kirchhoff.de,2008:/1.534</id>
      <published>2008-06-13T07:26:00Z</published>
      <updated>2008-06-13T07:28:34Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Fun"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Fun/"
        label="Fun" />
      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/2008_06_Canon40D_advert.jpg" />
<br /><br />
very funny, but true.. 
      ]]></content>
    </entry>

    <entry>
      <title>Moodstream</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/moodstream/" />
      <id>tag:lars-kirchhoff.de,2008:/1.533</id>
      <published>2008-06-11T17:21:00Z</published>
      <updated>2008-06-11T17:38:41Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/2008_06_getty_moodstream.gif" border="0" alt="Moodstream" name="image" width="390" height="244" class="full_image" /><br />Gettyimages has just lauched a new novel tool to access their image, audio and video collection based “brainstorming tool” called Moodstream. Moodstream is a nice visual interface, where you can set various sliders, which define the tone of the mood including the following pairs: happy-sad, calm-lively, humorous-serious, nostalgic-contemporal and warm-cold. It's a fresh idea to find some inspirations. You can bookmark the shown media and of course the stored media in the moodboard are linked to the getty store, where you can purchase them. Moodstream is created by the <a href="http://www.barbariangroup.com/" target="_blank">thebarbariangroup</a>. 
      ]]></content>
    </entry>

    <entry>
      <title>20 Magazines for free</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/20-magazines-for-free/" />
      <id>tag:lars-kirchhoff.de,2008:/1.532</id>
      <published>2008-06-11T09:40:00Z</published>
      <updated>2008-06-11T15:20:35Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Computer"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Computer/"
        label="Computer" />
      <category term="Fun"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Fun/"
        label="Fun" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        Apple's iPhone user's have access to more content due to a partnership of Apple and Zinio. The trick is that those digital magazines are only made available to iPhone users by checking the User Agent of the browser. All you need to do is to change the User Agent in your browser to the Phone that is used by the iPhone and then access the magazine, which include Technology Review, Macworld, Lonely Planet and ... Playboy and Penthouse.
<br />
Firefox users can install the <a href="https://addons.mozilla.org/en-US/firefox/addon/59" target="_blank">User Agent Switcher add-on</a> and configure it with the following User Agent:
<br /><br />
<code>
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419 (United States)
</code>
<br /><br />
If you have done this, just visit the Zinio iPhone page: <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fimgs.zinio.com%2Fiphone%2F">http://imgs.zinio.com/iphone/</a>
 
      ]]></content>
    </entry>

    <entry>
      <title>The europeans and the ball</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/the-europeans-and-the-ball/" />
      <id>tag:lars-kirchhoff.de,2008:/1.531</id>
      <published>2008-06-09T18:35:00Z</published>
      <updated>2008-06-11T08:20:30Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Fun"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Fun/"
        label="Fun" />
      <content type="html"><![CDATA[
        <a target="_blank" href="http://www.lars-kirchhoff.de/images/uploads/ballgame_big.gif"><img src="http://www.lars-kirchhoff.de/images/uploads/ballgame_small.gif" border="0" alt="image" name="image" width="390" height="147" /></a>It's all about balls these days. A <a href="http://www.romanhoegg.ch/" target="_blank">friend</a> of mine is creating a casual game for the open handheld game console <a href="http://openpandora.org/" target="_blank">Pandora</a>. Above you see a screenshot of the game. As there is a major sport event here in Switzerland, in which balls play a crucial role ;), he quickly designed some levels that fit to this major sport event. There is one level for each country. The game is still in beta, but I will report about it when it's finished :). 
      ]]></content>
    </entry>

    <entry>
      <title>Some pitfalls while switching from PHP to D</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/some-pitfalls-while-switching-from-php-to-d/" />
      <id>tag:lars-kirchhoff.de,2008:/1.528</id>
      <published>2008-06-06T18:56:01Z</published>
      <updated>2008-07-30T06:54:49Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="From PHP to D"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/from-php-to-d/"
        label="From PHP to D" />
      <content type="html"><![CDATA[
        Generally writing D code is straight forward, but at certain points I found myself banging my head on the table. Some things are just not working as I am used to it from PHP. That begins with typing. Everything needs to be typed and conversion between types need to be made explicitly. I'm just not used to it. Getting a <code>char[]</code> converted into an integer seems such an easy tasks, but when it comes to the point where you actually need it, it becomes very unusual for a PHP developer. In this short article I will report about some of the pitfalls I had to solve for my first little D project. I do not claim that it is beautiful code or even if it is free from errors and possible misconceptions, but it worked for me so far.  <h3>Imports</h3>
<p>Before starting about conversions and other problems I would like to add a note on imports of packages as this was one of the things that I was struggling in combination with the type conversion. There are several import possibilities. The most basic one is to import the package by just using the <code>import</code> statement. This just imports the package as is with <code>private</code> visibility to the module. It is possible to define the visibility by adding a prefix to the <code>import</code> statement. These prefix can be the same as for functions and methods. Additionally it is possible to create a new namespace for the imported symbols. That way you can access the imported functions with your own given identifier, which can be helpful for clarity and for separation of interfaces that use multiple overridden classes. Another possibility to avoid name collisions is to use <code>static</code> imports. In case a <code>static</code> import is made the package needs to be accessed by its fully qualified name, eg. <code>tango.text.convert.Integer.format()</code>. Below you see some import examples with comments: 
<br /><br />

<textarea rows="22" cols="50" id="myCpWindow" class="codepress javascript readonly-on">
// basic import; has private visibility by default 
import tango.text.convert.Integer; 

// basic import with public visibility 
public import tango.text.convert.Integer; 

// renamed imports
private import Integer = tango.text.convert.Integer; 
private import Float = tango.text.convert.Float; 

// selective Imports, that imports only the format function 
private import tango.text.convert.Integer : format; 

// selective Imports, that imports only the format 
// function and makes them available as convert
private import Integer = tango.text.convert.Integer : convert = format; 

//static import, means to always use the fully 
// qualified name of the symbol
static tango.text.convert.Integer; 
</textarea>
</p>
<br /><br />


<h3>Type conversions</h3>
<p>Tango provides some helpful functions, for handling type conversions. They can be found in the <code>Tango.text</code> package and allow easy conversions between types, while still providing enough parameter to convert types very specifically if needed. I took me some time to figure out how to use the package as documentation and examples are scarce. So here are some examples how to easily convert integer in strings and back. I used to import the package with renamed import to have a clear separate namespace.
<br /><br />
<textarea rows="11" cols="50" id="myCpWindow" class="codepress javascript readonly-on">
private import Integer = tango.text.convert.Integer;

char[] cnumber = "12";
int number;

// convert string into integer
number = Integer.parse(cnumber);

// convert integer into string
cnumber = Integer.toString(number);
</textarea>
</p>
<br /><br />


<h3>Function returns</h3>
<p>This is another issue which I became quite used to with PHP. In PHP it is easy to return an object, array, integer, string or whatever you want with a function, but at the same time you can return also a bool. It is not specified what you return from a function, because nothing is typed. So it became common practice to me to return false instead of the actual value, if something went wrong in the function. This way I used to handle the errors, because I could handle the error where the function was called, instead of handling it in the function itself. 
<br />
This is not working that way in the D, because everything is typed ;). So you need to specify what type is returned by the function. In consequence it means I need to reconsider my error handling strategy. Everything needs to be handled within the function itself.
</p>
<br /><br />


<h3>Dynamic Arrays</h3>
<p>Although there are dynamic arrays in D, they don't behave like dynamic array's in PHP. I was used to fill PHP arrays with the following code:
<br /><br />

<textarea rows="4" cols="50" id="myCpWindow" class="codepress javascript readonly-on">
foreach($names as $name) {
    $surnames[] = $name['surname'];
}
</textarea>
<br /><br />

But in D dynamical arrays are not as dynamic as in PHP. You can create dynamic arrays, but the only difference to static arrays is that you can read and write the length of the array. It is not possible to easily add a new element to array. You need to change the size of the array first to add a new element. This is a bit clumsy, but there are solutions. Tango provides a package called collections <code>tango.util.collection</code>, where several different collection implementations, which are similar to some from Java. There are basically four different implementations: Bags, Set, Sequences and Maps. To solve my problem I used sequences. You can see the example below: 
<br /><br />

<textarea rows="15" cols="50" id="myCpWindow" class="codepress javascript readonly-on">
private import tango.util.collection.ArraySeq;

for (int i=0; i<10; ++i) {
    ArraySeq!(int) sequence = new ArraySeq!(int);
    sequence.append(i);
}

// get the 4th element (remember the 0)
int number = sequence.get(3);

// converting sequence into array
int sequence_array[] = sequence.toArray();
int length = sequence_array.length;
</textarea>
<br /><br />

I couldn't find a method in the sequence implementation that returns the length of the sequence. This is why I needed to convert the sequence in an array in order to get the length, which I needed for another <code>for</code> loop.
</p>
<br /><br />


<h3>Object Orientation</h3>
<p>
One last bit at the end. What I found a bit strange was that it was possible to reference to methods within a class without the <code>this</code> statement. It didn't made a difference calling a function with <code>this</code> or not. 
<br /><br />
<textarea rows="22" cols="50" id="myCpWindow" class="codepress javascript readonly-on">
class SomeClass
{
    uint limit = 1000;
        
    public int doSomething()
    {
         long some_id;        

         // without this statement
         some_id = _doLoop();

         // with this statement
         some_id = this._doLoop();

         // leads to exact the same 
    }

    private int _doLoop() 
    {
         // do something   
    }
}
</textarea>
</p>
      ]]></content>
    </entry>

    <entry>
      <title>D resources</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/d-resources/" />
      <id>tag:lars-kirchhoff.de,2008:/1.523</id>
      <published>2008-06-05T13:27:01Z</published>
      <updated>2008-07-23T12:18:43Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="From PHP to D"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/from-php-to-d/"
        label="From PHP to D" />
      <content type="html"><![CDATA[
        While reading through the web for some helpful comments and howto I came across some very useful resources for D programming. For my own organization I will post the interesting resources in this post. This page will be updated from time to time... <ul class="reference_list">
<li>The official page - <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.digitalmars.com%2Fd%2F">http://www.digitalmars.com/d/</a></li>
<li>Dsource is a central hub for a lot of D programming libraries and projects - <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.dsource.org%2F">http://www.dsource.org/</a> </li>
<li>D forum on dsource - <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.dsource.org%2Fforums%2F">http://www.dsource.org/forums/</a></li>
<li>Tango Documentation - <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.dsource.org%2Fprojects%2Ftango%2Fwiki%2FDocumentation">http://www.dsource.org/projects/tango/wiki/Documentation</a><br />
very useful resource</li>
<li>Dprogramming.com - <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.dprogramming.com%2F">http://www.dprogramming.com/</a></li>
<li>Eclipse Plugin for D - <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fwww.dsource.org%2Fprojects%2Fdescent%2F">http://www.dsource.org/projects/descent/</a></li>
<li>Planet D, a collection of D blogs - <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fplanet.dsource.org%2F">http://planet.dsource.org/</a></li>
<li>http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage</li>
</ul>
      ]]></content>
    </entry>

    <entry>
      <title>D MySQL performance</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/d-mysql-performance/" />
      <id>tag:lars-kirchhoff.de,2008:/1.522</id>
      <published>2008-05-27T12:46:00Z</published>
      <updated>2008-05-27T13:02:05Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="From PHP to D"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/from-php-to-d/"
        label="From PHP to D" />
      <content type="html"><![CDATA[
        After setting up the D develop environment and compiling the first small programs, I got interested in the mysql performance of D, which basically uses the C library provided by mysql. Therefore I didn't expect to much performance here as PHP uses the same library to connect and query the mysql database. As D is natively compiled there it is slightly faster in the user space. <br />
For the test I used a table with 1.124 million records and selected only the id from the first 100'000 datasets. I run the test 10 times and put the data in the charts below. The database is on the same server as the installation of PHP and D. The PHP version is 5.2.1. For D I used DDBI and Tango.  <img src="http://chart.apis.google.com/chart?cht=ls&chd=t:5.503,5.353,5.428,5.246,5.152,5.548,4.773,5.314,5.427,4.791|4.856,4.902,4.875,5.171,5.240,5.229,5.684,5.128,5.144,4.937&chs=400x200&chds=0,6&chdl=D|PHP&chco=ee5555,aaaaaa&chxt=x,y&chxl=0:|1|2|3|4|5|6|7|8|9|10|1:|1 sec|2 sec|3 sec|4 sec|5 sec|6 sec&chg=390,20&chtt=real" />

<img src="http://chart.apis.google.com/chart?cht=ls&chd=t:0.532,0.472,0.520,0.524,0.488,0.436,0.240,0.524,0.428,0.384|1.016,1.072,1.036,1.036,1.120,1.160,1.168,1.140,1.140,1.112&chs=400x200&chds=0,1.5&chdl=D|PHP&chco=ee5555,aaaaaa&chxt=x,y&chxl=0:|1|2|3|4|5|6|7|8|9|10|1:|0.5 sec|1 sec|1.5 sec&chg=390,20&chtt=user" /> 

<img src="http://chart.apis.google.com/chart?cht=ls&chd=t:0.236,0.196,0.240,0.204,0.180,0.152,0.240,0.196,0.172,0.208|0.168,0.188,0.220,0.208,0.256,0.220,0.244,0.196,0.220,0.228&chs=400x200&chds=0,0.3&chdl=D|PHP&chco=ee5555,aaaaaa&chxt=x,y&chxl=0:|1|2|3|4|5|6|7|8|9|10|1:|0|0.1 sec|0.2 sec|0.3 sec&chg=390,20&chtt=sys" /> 
<table>  
<tr>
    <th colspan="11">Real time comparison</th>
</tr>
<tr>
    <td>D</td> 
    <td>5.503</td><td>5.353</td><td>5.428</td><td>5.246</td><td>5.152</td><td>5.548</td><td>4.773</td><td>5.314</td><td>5.427</td><td>4.791</td>
</tr>    
<tr>
    <td>PHP</td>
    <td>4.856</td><td>4.902</td><td>4.875</td><td>5.171</td><td>5.240</td><td>5.229</td><td>5.684</td><td>5.128</td><td>5.144</td><td>4.937</td>
</tr> 
</table>
<br />
  
<table>  
<tr>
    <th colspan="11">User time comparison</th>
</tr>
<tr>
    <td>D</td> 
    <td>0.532</td><td>0.472</td><td>0.520</td><td>0.524</td><td>0.488</td><td>0.436</td><td>0.240</td><td>0.524</td><td>0.428</td><td>0.384</td>
</tr>    
<tr>
    <td>PHP</td>
    <td>1.016</td><td>1.072</td><td>1.036</td><td>1.036</td><td>1.120</td><td>1.160</td><td>1.168</td><td>1.140</td><td>1.140</td><td>1.112</td>
</tr>  
</table>
<br />
  
<table>  
<tr>
    <th colspan="11">Sys time comparison</th>
</tr>
<tr>
    <td>D</td>  
    <td>0.236</td><td>0.196</td><td>0.240</td><td>0.204</td><td>0.180</td><td>0.152</td><td>0.240</td><td>0.196</td><td>0.172</td><td>0.208</td>
</tr>    
<tr>
    <td>PHP</td>
    <td>0.168</td><td>0.188</td><td>0.220</td><td>0.208</td><td>0.256</td><td>0.220</td><td>0.244</td><td>0.196</td><td>0.220</td><td>0.228</td>
</tr>        
</table>
      ]]></content>
    </entry>

    <entry>
      <title>A kickstart with D</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/a-kickstart-with-d/" />
      <id>tag:lars-kirchhoff.de,2008:/1.521</id>
      <published>2008-05-26T12:06:00Z</published>
      <updated>2008-05-26T14:58:14Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="From PHP to D"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/from-php-to-d/"
        label="From PHP to D" />
      <content type="html"><![CDATA[
        For a long time I used PHP for most of my projects and programming needs. This included web based application like 
content management systems, custom database frontends and various small fun projects to gather some information from 
the web. I even programmed daemons with PHP 5, which run on the unix shell. I started with PHP in 1998 while studying 
computer science. Since then I feel and felt quite comfortable with PHP. It well suited my programming needs and skills. 
The capabilities of PHP grew over the last 10 years and make it a very stable and productive programming/scripting 
language. 
<br /><br />
But for a recent project I need to process large amounts of data and therefore I was on the search for an alternative 
to PHP, which I could pick up very easily and which performance better. I took a look at D, a new programming language 
which is a strongly typed, natively compiled computer language. It has a syntax similar to C, C++ and Java and at the
same time combines the high performance from natively compiled languages with the rapid developement capabilities of 
scripting languages like Perl, Python or PHP. After studying the D website and a couple other D web pages I decided to 
give it a try. 
<br /><br />
I will document the steps I've run into as a PHP developer trying to get started with D. The first in the series is 
how to install the compiler and builder environment to start with some basic programming tasks.  <h2>Basic Installation</h2>
<p>
The easiest way to install D is to use the Tango compilation. It includes
the compiler and the Tango general-purpose companion library for the most
basic tasks. The compiler as well as the library are open source. 
</p>

<ol>
    <li>
        Download the Tango package, which you find here:<br />
        <a href="http://www.dsource.org/projects/tango/wiki/DmdDownloads">http://www.dsource.org/projects/tango/wiki/DmdDownloads</a>.
    </li>
    <li>
        The next step is to copy the content of the tar.gz file 
        to: <code>/usr/local/dmd</code>
    </li>
    <li>
        In order to use the dmd compiler from everywhere you need to
        either create a new <code>.bash_profile</code> or to add the 
        following lines to the <code>.bash_profile</code> file:
        <br /><br />
        
        <code>
            PATH=$PATH:/usr/local/dmd/bin<br />
            export PATH<br />
        </code>
        <br /><br />
        
        Alternatively you can create symlinks for all programs within 
        the <code>/usr/local/dmd/bin</code> directory in the 
        <code>/usr/bin/</code> directory.
    </li>
    <li>
        Now you should download and install the DSSS (the D Shared Software System), 
        which helps you to build your programs and helps installing, configuring and
        acquiring additional D software. It is comparable to Perl's CPAN and PHP' PEAR 
        system.<br />
        You can download DSSS from: <br />
        <a href="http://svn.dsource.org/projects/dsss/downloads/">http://svn.dsource.org/projects/dsss/downloads/</a>.<br />
    </li>        
    <li>
        Copy the content of the tar.gz file to <code>/usr/local/dmd</code>.
    </li>
    <li>
        In order to use DSSS with Tango you need to customize the following file:<br />
        <code>usr/local/dmd/etc/rebuild/default</code>
        <br /><br />
        
        Replace 
        <br /><br />
        
        <code>profile=dmd-posix</code>
        <br /><br />
        
        with 
        <br /><br />
        
        <code>profile=dmd-posix-tango</code><br />
    </li>
    <li>
        That's it. You should now be able to write your own D code and compile it to a program. 
    </li>
</ol>    
<br /><br />


<h2>MySQL Support</h2>
<p>In order to connect to mysql you need to install the DDBI (D DBI), a database independent interface 
for the D programming language.    
</p>   

<ol>
    <li>   
        First you need to download the latest D DBI sources from the SVN server. I couldn't get in 
        running with the download on the web page. <br />
        Go to the directory where you store or your installation files or your home directory and 
        type in: 
        <br /><br />
        
        <code>svn co <a href="http://www.lars-kirchhoff.de/go?URL=http%3A%2F%2Fsvn.dsource.org%2Fprojects%2Fddbi%2Ftrunk">http://svn.dsource.org/projects/ddbi/trunk</a></code> 
        <br /><br />
        
        This will get all the necessary files from the SVN repository. 
    </li>
    <li>
        The only thing you need to do to install the D DBI is to copy the complete directory into 
        the <code>lib/import</code> directory of your D directory. If you followed the installation
        steps above this would be <code>/usr/local/dmd/lib/import/</code>. 
        <br /><br />
        
        <code>cp /install/D/ddbi/trunk /usr/local/dmd/lib/import</code>
    </li>
    <li>
        That's basically it. The only think you need to to now is to tell DSSS where your mysql client
        library is. Normally you use the following line: 
        <br /><br />
        
        <code>dsss build -version=dbi_mysql -L/usr/local/mysql/lib/mysql/mysqlclient.so.15.0.0</code>
        <br /><br />
        
        If you use a MySQL version newer then 5.0 you need to add another version info: 
        <br /><br />
        
        <code>dsss build -version=MySQL_51 -version=dbi_mysql -L/usr/local/mysql/lib/mysql/mysqlclient.so.15.0.0</code>
        
    </li>
</ol>
<br /><br />


<h2>MySQL Example</h2>
<p>

</p>
<ol>
    <li>Create a project directory where you want to store your code</li>
    <li>Create a DSSS config file with this project directory, with the following content:
        <br /><br />
        
        <code>
        name=mysql
        
        [mysql.d]
        target=mysql_test
        </code>
        <br /><br />
        
    </li>
    <li>Create a source file with the following sample code: 
        <br /><br />
        
<textarea rows="24" cols="43" id="myCpWindow" class="codepress javascript readonly-on">
import dbi.mysql.MysqlDatabase;
import dbi.Row;
import tango.io.Stdout;

int main () 
{
    Stdout("Connecting to mysql database").newline;
    
    MysqlDatabase db = new MysqlDatabase();
    
    db.connect("host=****;dbname=****", "****", "****");
    
    Row[] rows = db.queryFetchAll("SELECT * FROM example");
    
    foreach( Row row; rows) {
        Stdout("example: ")(row["****"]).newline;
    }
    
    db.close();
    
    return 0;
}
</textarea>
        <br /><br />
    
    </li>
    <li>
        If the file is save run <code>dsss build</code> within the project directory:
        <br /><br />
        
        <code>
            dsss build -version=dbi_mysql -L/usr/local/mysql/lib/mysql/mysqlclient.so.15.0.0
        </code>
    </li>
    <li>
        If compilation is finished you should find an executable file called mysql_test within 
        your project directory.
    </li>
</ol>    
      ]]></content>
    </entry>

    <entry>
      <title>Steve Jobs as product portfolio</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/steve-jobs-as-product-portfolio/" />
      <id>tag:lars-kirchhoff.de,2008:/1.504</id>
      <published>2008-03-31T07:23:00Z</published>
      <updated>2008-03-31T09:01:13Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        <a href="http://www.etoday.ru/uploads/2008/03/22/stevejobs_portrait_macproducts.jpg" target="_blank"><img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_steve_jobs.jpg" border="0" alt="Steve Jobs portrait made of a collection of Apple products." name="image" width="390" height="392" class="full_image" /></a><br />
This is a very nice idea. Using the products to generate a portait.. 
      ]]></content>
    </entry>

    <entry>
      <title>Adobe Photoshop Express released</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/adobe-photoshop-express-released/" />
      <id>tag:lars-kirchhoff.de,2008:/1.502</id>
      <published>2008-03-27T10:12:01Z</published>
      <updated>2008-03-27T11:02:15Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Photography"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Photography/"
        label="Photography" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_photoshop_browse.jpg" border="0" alt="image" name="image" width="390" height="228" class="full_image" /><br />
Adobe announced a new version of Photoshop, but this time as a web application. Photoshop Express is a Flash - Flex application that allows basic editing options. It is not intended for professional users, but for the easy manipulation of images for mainstream consumers. It can directly access images on Facebook, Photobucket and Picasa and upload and manipulate images on these services, which makes the beta very appealing for users of these platforms. You can now easily upload images to facebook and edit them online without ever needing any other software. It's only 17 features, which are mainly filters intended for tuning and effects, but I think they are suitable for quick and dirty manipulations. Additionally to upload the images to other services Photoshop Express itself offers 2 GB online storage, where images can be uploaded and shared with others as albums and slideshows. An interesting side note is, that the platform is intended as a show case for Adobe's Flash/Flex framework, which Adobe is heavily trying to push out. 
 <h3>The Interface</h3>
<p>
<img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_photoshop_crop.jpg" border="0" alt="image" name="image" width="390" height="228" class="full_image" /><br />
The interface of Photoshop Express is a clear adaption of Adobe Lightroom. The Browser has almost the same functionality and behaves similar. It is possible to select the size of the thumbnails, give rankings and description to each image. Furthermore there are three browser modes: a) thumbnail view, b) thumbnail + full size and c) tabular view, just as in Adobe Lightroom. <br />
<img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_photoshop_sharpen.jpg" border="0" alt="image" name="image" width="390" height="228" class="full_image" /><br />
Most of the editing functions work in very basic modes. For instance the sharpening function allows only to select between 6 different sharpening levels. No manual input of level or even other options like smoothing or pixel size are available. The same applies to auto-correct, exposure, saturation, white balance, highlight, fill light, soft focus, pop-color, hue, black & white, tint and sketch, where only different options are offered for selection. All operations and filters can be undone, by simply unchecking the filter on the left side. The crop function is almost identical to the one in Adobe Lightroom. If a crop is made another version of the image is stored in order to go back to a previous version. <br />
The image upload to Photoshop Express features a fancy multi upload interface without the need to start a java client. This makes it easy to upload huge bunch's of images at once. <br />
<img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_photoshop_upload.jpg" border="0" alt="image" name="image" width="390" height="228" class="full_image" /><br />
In the end this is a pretty nice web application, that demonstrates that online application will become more and more mature. But the functionality lack a lot of what is there on the desktop version still. If you just want to make a picture with your iPhone, upload it to the various sharing sites and may want to edit it while still on the road Photoshop Express is right there now. You don't need to install any software. Just go to the website, register and edit. 
</p>


      ]]></content>
    </entry>

    <entry>
      <title>Visualisation of Information Quantity</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/spam-visualisation/" />
      <id>tag:lars-kirchhoff.de,2008:/1.499</id>
      <published>2008-03-25T13:10:01Z</published>
      <updated>2008-05-26T12:35:38Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_spam_visualization.jpg" border="0" alt="Spam Visualisation" name="image" width="390" height="275"  class="full_image" /><br />
The <a href="http://www.wired.com/wired/issue/16-03" target="_blank">current issue of Wired</a> features a portfolio of different artistic visualizations of quantitative information of a text. The thirteen different projects range from virtually created sculptures derived from blog text over the visualization of US census data into abstract colorful walls to the visualization of logs from last.fm. The projects are inspiring design and visualization approaches. One of my favorites is <a href="http://www.timwalter.de/portfolio/textour/" target="_blank">Textour</a> from Tim Walter, which visualizes different quantitative aspects of a given text.  
      ]]></content>
    </entry>

    <entry>
      <title>Autodesk TED BigViz</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/ted-visualization/" />
      <id>tag:lars-kirchhoff.de,2008:/1.496</id>
      <published>2008-03-20T16:31:01Z</published>
      <updated>2008-03-21T17:25:41Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Thoughts"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Thoughts/"
        label="Thoughts" />
      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_ted_bigviz.jpg" border="0" alt="image" name="image" width="390" height="302" class="full_image" /><br />
I'm a big fan of TED conference talks. In most cases the presenter are very smart people, which know how to tell a story and make inspiring presentations. My favourit talks include Hans Rosling talk about <a target="_blank" href="http://www.ted.com/index.php/talks/view/id/92">"Debunking third-world myths with the best stats you’ve ever seen</a>, Golan Levin about "<a target="_blank" href="http://www.ted.com/index.php/talks/view/id/14">The truly soft side of software</a>", Joshua Prince-Ramus about "<a target="_blank" href="http://www.ted.com/index.php/talks/view/id/49">Designing the Seattle Central Library</a>", Seth Godin about "<a target="_blank" href="http://www.ted.com/index.php/talks/view/id/28">Sliced bread and other marketing delights</a>", John Maeda about "<a target="_blank" href="http://www.ted.com/index.php/talks/view/id/172">Simplicity patterns</a>" or Jonathan Harris on "<a target="_blank" href="http://www.ted.com/index.php/talks/view/id/144">The Web's secret stories</a>".<br />
In this years TED conference AutoDesk made a technology experiment called BigViz. The experiment is an exploration in the visualization of the Big Ideas presented on the TED conference. David Sibbet and Kevin Richards, two visual cartographers, captured more than 700 sketches highlighting memorable quotes, great questions and unexpected connections. All this was done on wacom tablets and transfered simultaneously to the Autodesk BigViz system for later exploration. The BigViz system is an interactive system that allows to record scratches and work on them in a visual collaborative environment, which can be used intuitively. Combined with a multitouch display, the system demonstrates how future collaboration could look like. The visualizations are also available as <a href="http://images.autodesk.com/adsk/files/ted2008_autodesk__bigviz_book_2008_03_14.pdf" target="_blank">200 pages pdf download</a>.<br /><br />
<object width="390" height="325"><param name="movie" value="http://www.youtube.com/v/LiOdXC9A4V0&hl=de"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/LiOdXC9A4V0&hl=de" type="application/x-shockwave-flash" wmode="transparent" width="390" height="325"></embed></object> The visualization looks amazing and I really would like to get my hands on such a device. See the BigViz Interactive Demo in action: <br /><br />
<object width="390" height="325"><param name="movie" value="http://www.youtube.com/v/_0EcvH4kFLQ&hl=de"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/_0EcvH4kFLQ&hl=de" type="application/x-shockwave-flash" wmode="transparent" width="390" height="325"></embed></object>
<br /><br />

Nevertheless this device reminds me heavily on the demonstration of Microsoft's Surface Computing presentation in may last year. <br /><br />
<object width="390" height="325"><param name="movie" value="http://www.youtube.com/v/ttgx9ygMXz8&hl=de"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/ttgx9ygMXz8&hl=de" type="application/x-shockwave-flash" wmode="transparent" width="390" height="325"></embed></object>
<br />
<ul class="reference_list">
<li>http://www.microsoft.com/surface/</li>
</ul>
      ]]></content>
    </entry>

    <entry>
      <title>Skews and Blews</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/skews-and-blews/" />
      <id>tag:lars-kirchhoff.de,2008:/1.495</id>
      <published>2008-03-19T07:55:01Z</published>
      <updated>2008-03-19T13:01:03Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_with_tooltip_small.jpg" border="0" alt="Microsoft Research: Blews - what the blogosphere tells you about new" name="image" width="390" height="327" class="full_image" /><br />
Microsoft Research will present another interesting research project at the <a href="http://www.icwsm.org/2008/" target="_blank">International Conference on Weblogs and Social Media 2008</a> (ICWSM). Blews (blogs and news) is a another tool to visualize blog topics in the political part of the blogosphere. Therefore it categorizes and visualizes blog topics according to their reception in the conservative and liberal blogospheres. It visualizes information about which stories are linked to from conservative and liberal blogs, and it indicates the level of emotional charge in the discussion of the news story or topic at hand in both political camps. The data is aggregated in real time from Live Microsoft Labs Social Media platform and consist of a link analysis and text analysis of political blog posts. 
<br />
I am very interested to read how the authors of the paper define the emotional charge of a discussion. 
 Below you find the schematic overview of the software architecture.<br />
<img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_blews_diagram_poster_small.jpg" border="0" alt="image" name="image" width="390" height="585" />
      ]]></content>
    </entry>

    <entry>
      <title>How to grow your own company</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/how-to-grow-your-own-company/" />
      <id>tag:lars-kirchhoff.de,2008:/1.494</id>
      <published>2008-03-19T07:52:00Z</published>
      <updated>2008-03-19T21:26:26Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Thoughts"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Thoughts/"
        label="Thoughts" />
      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <content type="html"><![CDATA[
        The presentation got my attention on two different levels. First I always liked the presentation style of Nancy Duarte and her Design Company <a href="http://www.duarte.com" target="_blank">Duarte Design</a>. This presentation is another example of her professional skills to enhance her presentation with visuals that support her talk. The presentation is smooth and doesn't distract you with to many facts from the actual talk, while still providing some more information than the pure talk. 
<br />
On the other hand I found it very interesting to see how she explained the growth of her company. The problems she struggled with and how she solved it. I really enjoyed watching the talk. But this is just the beginning of the full talk she is giving on the changes shes is experiencing in the business of presentation professionals. She carefully selected recent trends and present insightful thoughts on how different changes affect the presentation style and methods. The shifts she is explaining are: 
<ul class="list">
<li>Global Economy</li>
<li>Prolific Devices</li>
<li>Social Networking</li>
<li>Technology Advances</li>
<li>Virtual Tradeshows</li>
<li>Hollywood</lI>
</ul>
<br /><br />
<p>
<object type="application/x-shockwave-flash" width="390" height="291" data="http://www.vimeo.com/moogaloop.swf?clip_id=432627&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=432627&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object><br />
Click read more to see the whole presentation.
<p> <object type="application/x-shockwave-flash" width="390" height="291" data="http://www.vimeo.com/moogaloop.swf?clip_id=432631&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=432631&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object><br />
<object type="application/x-shockwave-flash" width="390" height="291" data="http://www.vimeo.com/moogaloop.swf?clip_id=432656&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=432656&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object><br />
<object type="application/x-shockwave-flash" width="390" height="291" data="http://www.vimeo.com/moogaloop.swf?clip_id=432660&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=432660&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object><br />
<object type="application/x-shockwave-flash" width="390" height="291" data="http://www.vimeo.com/moogaloop.swf?clip_id=432662&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=432662&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object><br />
<object type="application/x-shockwave-flash" width="390" height="291" data="http://www.vimeo.com/moogaloop.swf?clip_id=432667&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=432667&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object><br />
<object type="application/x-shockwave-flash" width="390" height="291" data="http://www.vimeo.com/moogaloop.swf?clip_id=432675&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=432675&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object><br />
<object type="application/x-shockwave-flash" width="390" height="291" data="http://www.vimeo.com/moogaloop.swf?clip_id=432681&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=432681&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object><br />
      ]]></content>
    </entry>

    <entry>
      <title>Microsoft Research Report on IM usage</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/microsoft-research-report-on-im-usage/" />
      <id>tag:lars-kirchhoff.de,2008:/1.493</id>
      <published>2008-03-18T13:16:00Z</published>
      <updated>2008-03-18T20:50:00Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Computer"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Computer/"
        label="Computer" />
      <category term="Visualization"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Visualization/"
        label="Visualization" />
      <category term="Web"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Web/"
        label="Web" />
      <content type="html"><![CDATA[
        <img src="http://www.lars-kirchhoff.de/images/uploads/2008_03_microsoft_research_im_report.jpg" border="0" alt="Microsoft Research: Planetary-Scale Views on an Instant-Messaging Network" name="image" width="390" height="165" class="full_image"/><br />

<p>Microsoft Research just released a very interesting research report <i>"Planetary-Scale Views on an Instant-Messaging Network"</i> on the usage of Instant Messenger Usage. The anonymized study analyzed 30 billion conversations among 240 million people, from which a communication graph with 130 million nodes and 1.3 billion undirected edges has been constructed. The data for the analyzed dataset was gathered within 30 days in June 2006 and includes three main data sets:</p>
<ol>
<li>user demographic information</li>
<li>time and user stamped events describing the presence of a particular user</li>
<li>communication session logs</li>
</ol>
<p>which have been used to conduct the analysis. </p>

 <p>Next to usage and population statistics the study reports on the social network that is formed by the conversations. This is a quite unique approach and in contrast to several other studies, which in most cases used the buddy list to compute the social network in instant messenger networks. What is interesting in the study is that the degree distribution doesn't follow a power-law distribution although it is heavily tailed. A strong cutoff parameter and a low power-low exponent has been found, which indicates a high variance in the degree distribution. Another interesting finding is that the average shortest-path length is 6.6. This validates the famous Milgram "small-world" experiment about the "6 degrees of separation". 
<br />
What has surprised me was that the average number of contacts in the buddy's list is 50. I know that I am a heavy user and my msn buddy list only includes 45 contacts. Maybe my perception is wrong and I am not a heavy IM user, but I still find that number very high. 
<br />
Nevertheless does the study offer a lot more interesting data and findings including: 
<ul class="list">
<li>Levels of activity</li>
<li>Demographic characteristics of the users</li>
<li>Communication characteristics</li>
<li>Communication by age</li>
<li>Communication by gender</li>
<li>World geography and communication</li>
<li>Communication among countries</li>
<li>Communication and geographical distance</li>
<li>Homophily of communication</li>
<li>Network cores</li>
<li>Strength of the ties</li>
</ul>
</p>
<p>
This study shows once again, that there is so many data out there that can be gathered and analyzed. We can find so many interesting facts just by analyzing the data that is already available to make sense of our current world and understand it. This is what <a href="http://en.wikipedia.org/wiki/Hans_Rosling" target="_blank">Hans Rosling</a> is promoting in his <a href="http://www.ted.com/index.php/talks/view/id/92" target="_blank">vivid TED talks</a>. His <a href="http://www.gapminder.org/world/" target="_blank">gapminder.org</a> joint effort with google shows how powerful the combination of an intuitive visualization interface and the analysis of available data can be.
</p>
      ]]></content>
    </entry>

    <entry>
      <title>How about voiceless communication?</title>
      <link rel="alternate" type="text/html" href="http://www.lars-kirchhoff.de/go/journal/comments/how-about-voiceless-communication1/" />
      <id>tag:lars-kirchhoff.de,2008:/1.490</id>
      <published>2008-03-16T09:15:00Z</published>
      <updated>2008-03-16T09:39:36Z</updated>
      <author>
            <name>Lars</name>            
            <uri>http://www.lars-kirchhoff.de</uri>      </author>

      <category term="Computer"
        scheme="http://www.lars-kirchhoff.de/go/journal/section/Computer/"
        label="Computer" />
      <content type="html"><![CDATA[
        <object width="390" height="355"><param name="movie" value="http://www.youtube.com/v/xyN4ViZ21N0&hl=de"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/xyN4ViZ21N0&hl=de" type="application/x-shockwave-flash" wmode="transparent" width="390" height="355"></embed></object>This is mind freaking cool! At the moment only 150 different words and phrases are recognized. But what I found more interesting is the vision from Michael Callahan presented at the end of the talk. He wants together the voiceless speech recogization with a internet search, where someone on the road just "thinks" something he/she would need and got the answer from a search engine.  
      ]]></content>
    </entry>


</feed>
