<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en-US">
  <title>Hendrik Volkmer - Home</title>
  <id>tag:blog.hendrikvolkmer.de,2009:mephisto/</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  
  <link href="http://blog.hendrikvolkmer.de/" rel="alternate" type="text/html" />
  <updated>2009-04-08T20:10:13Z</updated>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/hendrikvolkmer" /><feedburner:info uri="hendrikvolkmer" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2009-04-08:1042</id>
    <published>2009-04-08T20:01:00Z</published>
    <updated>2009-04-08T20:10:13Z</updated>
    <category term="English" />
    <category term="Programming" />
    <category term="appengine" />
    <category term="ioke" />
    <category term="webapp" />
    <link href="http://blog.hendrikvolkmer.de/2009/4/8/running-ikanserve-on-google-app-engine" rel="alternate" type="text/html" />
    <title>Running an Ioke web application on Google App Engine using Ikanserve</title>
<content type="html">
            &lt;p&gt;I like to play around with interesting technologies. So what’s on the table today?&lt;/p&gt;


	&lt;p&gt;1. &lt;a href="http://appengine.google.com/"&gt;Google App Engine&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;2. &lt;a href="http://www.ioke.org"&gt;Ioke E&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;3. &lt;a href="http://olabini.com/blog/2009/03/ikanserve-an-ioke-web-framework/"&gt;Ikanserve&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Google App Engine allows you to run Java applications since a few days. But as no one writes web apps in Java anymore you could either use &lt;a href="http://olabini.com/blog/2009/04/jruby-on-rails-on-google-app-engine/"&gt;JRuby on App Engine&lt;/a&gt; or try out another fine language on the &lt;span class="caps"&gt;JVM&lt;/span&gt;. (That’s why I think the &lt;span class="caps"&gt;JVM&lt;/span&gt; kicks ass and I still like it after several years of programming mostly in Ruby: It’s a great plattform to run things… not just Java programms but any language that’s on the &lt;span class="caps"&gt;JVM&lt;/span&gt;. And there will be more…). But I digress…&lt;/p&gt;


	&lt;p&gt;So, let’s get into it:&lt;/p&gt;


0. Create a temp dir to play in
&lt;pre&gt;&lt;code&gt;
$ mkdir appgarage
$ cd appgarage
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;1. &lt;a href="http://appengine.google.com/"&gt;Get an App Engine Account&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;2. Sign Up for the &lt;a href="http://appengine.google.com/promo/java_signup"&gt;Java App Engine Account&lt;/a&gt; – According to TechCrunch the first 10k developers get an account. So hurry up!&lt;/p&gt;


	&lt;p&gt;3. Get ioke E&lt;/p&gt;


You need git and java 1.6 to do that.
&lt;pre&gt;&lt;code&gt;
$ git clone git://github.com/olabini/ioke.git
$ cd ioke
$ ant
$ cd ..
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;3. Get Ikanserve&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
$ git clone git://github.com/olabini/ikanserve.git
$ cd ikanserve
$ ant
$ cd ..
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;4. &lt;a href="http://code.google.com/appengine/downloads.html"&gt;Get the Java App Engine &lt;span class="caps"&gt;SDK&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
$ unzip appengine-java-sdk-1.2.0.zip
$ cd appengine-java-sdk-1.2.0
$ cd ..
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Optional: Try out the app engine demos and/or the ikanserve demo locally&lt;/p&gt;


	&lt;p&gt;5. Merge Ikanserve with appengine&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
$ mkdir myikanserveengine
$ cd myikanserveengine
$ unzip ../ikanserve/jetty/webapps/root.war 
$ cp ../ioke/lib/ioke.jar lib/
$ cat &gt; WEB-INF/appengine-web.xml 
&amp;lt;appengine-web-app xmlns="http://appengine.google.com/ns/1.90"&amp;gt;
  &amp;lt;application&amp;gt;myikanserveengine&amp;lt;/application&amp;gt;
  &amp;lt;version&amp;gt;1&amp;lt;/version&amp;gt;
^D
$ cd ..
&amp;lt;/appengine-web-app&gt;
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;A few explanations:
You need to unzip the war file because app engine only takes war dirs not files. And you you need to copy the ioke jar because the ioke version supplied with ikanserve (at this point in time) doesn’t work with appengine. The current Ioke version does work.&lt;/p&gt;


	&lt;p&gt;6. Deploy your application&lt;/p&gt;


	&lt;p&gt;Go to the &lt;a href="http://appengine.google.com/"&gt;App Engine Admin Interface&lt;/a&gt; log in and create an application with the same name you choose in your appengine-web.xml file (Here it was “myikanserveengine”).&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
$ cd appengine-java-sdk-1.2.0
$ bin/appcfg.sh -e yourgoogleaccountemail@yourdomain.com update ../myikanserveengine
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Done.&lt;/p&gt;


	&lt;p&gt;Goto &lt;a href="http://myikanserveengine.appspot.com"&gt;http://myikanserveengine.appspot.com&lt;/a&gt; and enjoy your first Ioke web application in the cloud. Try URLs like &lt;a href="http://myikanserveengine.appspot.com/foo"&gt;foo&lt;/a&gt; or &lt;a href="http://myikanserveengine.appspot.com/xxx"&gt;xxx&lt;/a&gt; to see some extra funky stuff ;-)&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2009-02-01:1032</id>
    <published>2009-02-01T14:02:00Z</published>
    <updated>2009-02-01T14:11:41Z</updated>
    <category term="English" />
    <category term="Life" />
    <category term="book" />
    <link href="http://blog.hendrikvolkmer.de/2009/2/1/predictably-irrational" rel="alternate" type="text/html" />
    <title>Predictably Irrational</title>
<content type="html">
            &amp;lt;object height="344" width="425"&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;embed src="http://www.youtube.com/v/pbS9H-4ftAg&amp;amp;#38;color1=0xb1b1b1&amp;amp;#38;color2=0xcfcfcf&amp;amp;#38;feature=player_embedded&amp;amp;#38;fs=1" height="344" width="425"&gt;&amp;lt;/embed&gt;&amp;lt;/object&gt;

	&lt;p&gt;I just finished reading &lt;a href="http://www.amazon.de/gp/product/0007256523?ie=UTF8&amp;amp;#38;tag=hendrvolkm-21"&gt;Predictably Irrational by Dan Ariely&lt;/a&gt; It’s a fantastic book, very well written and super interesting. I highly recommend reading it to get some insight in irrational human behaviours.&lt;/p&gt;


	&lt;p&gt;More about the book and behavioural economics on the website &lt;a href="http://www.predictablyirrational.com/"&gt;predicatbly Irrational&lt;/a&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2009-01-29:1027</id>
    <published>2009-01-29T07:05:00Z</published>
    <updated>2009-01-29T07:07:41Z</updated>
    <category term="English" />
    <category term="Programming" />
    <category term="Sysadmin stuff" />
    <category term="opensolaris" />
    <category term="passenger" />
    <category term="rails" />
    <link href="http://blog.hendrikvolkmer.de/2009/1/29/deploying-a-rails-application-on-opensolaris-with-passenger-aka-modrails" rel="alternate" type="text/html" />
    <title>Deploying a Rails application on OpenSolaris with passenger aka modrails</title>
<content type="html">
            &lt;p&gt;&lt;img src="http://blog.hendrikvolkmer.de/assets/2009/1/29/opensolaris.png" alt="" /&gt; &lt;img src="http://blog.hendrikvolkmer.de/assets/2009/1/29/modrails.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Two technologies I wanted to play around with for some time are &lt;a href="http://www.opensolaris.org"&gt;OpenSolaris&lt;/a&gt; and &lt;a href="http://www.modrails.com"&gt;passenger&lt;/a&gt;. OpenSolaris because of &lt;a href="http://opensolaris.org/os/community/zfs/"&gt;&lt;span class="caps"&gt;ZFS&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://opensolaris.org/os/community/zones/"&gt;Zones&lt;/a&gt;, &lt;a href="http://opensolaris.org/os/community/smf/"&gt;&lt;span class="caps"&gt;SMF&lt;/span&gt;&lt;/a&gt; and the latest addition &lt;a href="http://opensolaris.org/os/project/pkg/"&gt;&lt;span class="caps"&gt;IPS&lt;/span&gt;&lt;/a&gt; and passenger because it seems to be the new default Rails deployment model and is really easy to configure.&lt;/p&gt;


	&lt;p&gt;So I deceided to combine those to and get started. Here’s what I did. Maybe it’s useful for someone who’s trying to do the same.&lt;/p&gt;


	&lt;p&gt;I grabbed the &lt;a href="http://virtualboximages.com/OpenSolaris-2008.11"&gt;OpenSolaris 2008.11 Virtualbox image&lt;/a&gt; from virtualboximages.com and booted it in VirtualBox.&lt;/p&gt;


I wanted to make sure to have the latest updates so I updated the image (all commands are executed as root):
&lt;pre&gt;&lt;code&gt;
# pfexec pkg image-update
&lt;/code&gt;&lt;/pre&gt;

A reboot later I installed the necessary parts for a Rails environment:
&lt;pre&gt;&lt;code&gt;
# pfexec pkg install SUNWruby18
# pfexec pkg install gcc-dev
&lt;/code&gt;&lt;/pre&gt;
SUNWruby18 installes ruby 1.8.6p287 which is exactly what I needed. 

The mysql installation was a bit harder:
&lt;pre&gt;&lt;code&gt;
# pfexec pkg install SUNWmysql5
# /usr/mysql/5.0/bin/mysql_db_install
# chown -R mysql:mysql /var/mysql/5.0/data
&lt;/code&gt;&lt;/pre&gt;
I needed to manually chown the data dir. Otherwise mysql wouldn’t start.

You can confirm that your mysql is running via:
&lt;pre&gt;&lt;code&gt;
# svcs -l mysql
&lt;/code&gt;&lt;/pre&gt;
The logfile gives further information if something goes wrong.

To access mysql try:
&lt;pre&gt;&lt;code&gt;
# /usr/mysql/5.0/bin/mysql
&lt;/code&gt;&lt;/pre&gt;

The “5.0” in the path is important because there’s also a mysql version 4 installed. This will be of interest when installing the mysql ruby gem. The command to correctly install the gem is:
&lt;pre&gt;&lt;code&gt;
# pfexec gem install mysql -- --with-mysql-lib=/usr/mysql/5.0/lib/mysql --with-mysql-include=/usr/mysql/5.0/include
&lt;/code&gt;&lt;/pre&gt;
Thanks to Amanda Waite for &lt;a href="http://blogs.sun.com/mandy/entry/segmentation_fault_when_running_rails"&gt;this hint&lt;/a&gt;.

The next installation step is Apache:
&lt;pre&gt;&lt;code&gt;
# pfexec pkg install SUNWapach22
&lt;/code&gt;&lt;/pre&gt;

Make sure it starts via svcadm:
&lt;pre&gt;&lt;code&gt;
# svcadm start apache22
&lt;/code&gt;&lt;/pre&gt;

Check that it runs:
&lt;pre&gt;&lt;code&gt;
# svcs -l apache22
&lt;/code&gt;&lt;/pre&gt;
(or just type http://localhost in your browser)

I needed memcached, so I installed it:
&lt;pre&gt;&lt;code&gt;
# pfexec pkg install SUNWmemcached
&lt;/code&gt;&lt;/pre&gt;

It didn’t start right away, though. There are some changes you have to apply to run &lt;a href="http://blogs.sun.com/trond/entry/memcached_in_solaris"&gt;memcached in solaris&lt;/a&gt;
&lt;pre&gt;&lt;code&gt;
# svccfg
svc:&gt; select memcached
svc:/application/database/memcached&gt; setprop memcached/options=("-u" "nobody" "-m" "2048")
svc:/application/database/memcached&gt; quit
# svcadm refresh memcached
&lt;/code&gt;&lt;/pre&gt;

Of course we need rails:
&lt;pre&gt;&lt;code&gt;
pfexec gem install rails
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The current stable version of passenger doesn’t support Solaris but the egde version does. So I downloaded the &lt;a href="http://github.com/FooBarWidget/passenger/downloads/master"&gt;passenger edge Version&lt;/a&gt; off github.&lt;/p&gt;


	&lt;p&gt;It didn’t compile right away. There are some compiler flags that aren’t supported in Solaris so I used &lt;a href="http://github.com/farra/passenger/commit/b1af92376e150471c4e825957f145fe0b0dc527d"&gt;these changes&lt;/a&gt; to make passenger compile.&lt;/p&gt;


Commandwise this looked like this: I unpacked the tarball into /opt/passenger and then did a
&lt;pre&gt;&lt;code&gt;
# cd /opt/passenger
# vi lib/passenger/platform_info.rb # see above
# bin/passenger-install-apache2-module
# chown -R webservd /opt/passenger
&lt;/code&gt;&lt;/pre&gt;

Add the mentioned config snippet to /etc/apache2/httpd.conf and restart apache 
&lt;pre&gt;&lt;code&gt;
# svcadmin restart apache2
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now were all set to create a new rails app. I created a seperate &lt;span class="caps"&gt;ZFS&lt;/span&gt; partition to serve the apps. Just because it’s so easy to do with &lt;span class="caps"&gt;ZFS&lt;/span&gt; and it gives you more control on how much space is used by your apps etc.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
# zfs create rpool/apps
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now it’s time for the demo app:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
# cd /rpool/apps
# rails demo
# chown -R webservd demo
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I added the DocumentRoot of the app to the apacheconfig (“DocumentRoot /rpool/apps/demo/public”) and restarted apache again (svcadm restart apache2 – you know the drill by now).&lt;/p&gt;


	&lt;p&gt;And that’s it. A http://localhost gave me the demo welcome page. Nice.&lt;/p&gt;


	&lt;p&gt;Later I wanted do deploy a rails app via capistrano so I needed git. There isn’t a &lt;span class="caps"&gt;IPS&lt;/span&gt; package for git yet, so I decided to take the standard compile route. I downloaded git and compiled it like this:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
# ./configure --prefix=/opt/git
# make install
# ln -s /opt/git/bin/git /usr/bin/git
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I used the symlink because capistrano wasn’t able to find git otherwise – setting scm_command didn’t work.&lt;/p&gt;


	&lt;p&gt;If anyone tries this recipe and it works or it doesn’t work… just let me know. Have fun with OpenSolaris. It’s worth checking out.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-11-22:553</id>
    <published>2008-11-22T08:22:00Z</published>
    <updated>2008-11-22T21:22:43Z</updated>
    <category term="German" />
    <category term="Life" />
    <category term="präsentationen" />
    <category term="webmontag" />
    <link href="http://blog.hendrikvolkmer.de/2008/11/22/praesentationen-und-die-lieben-bullet-points" rel="alternate" type="text/html" />
    <title>Präsentationen und die lieben Bullet Points</title>
<content type="html">
            &lt;p&gt;Wer kennt das nicht: Man sieht oder hört etwas, was man vorher noch nie gesehen oder gehört hat und danach kann man es nicht mehr ignorieren. Sei es ein kleiner Kratzer im Autolack, ein bestimmtes Wort was manche Leute besonders oft sagen, oder – worum es hier nun gehen soll – Aufzählungspunkte in Präsentationen. Natürlich habe ich die “Bullet points” schon immer gesehen, aber seit ich &lt;a href="http://www.presentationzen.com"&gt;presentationzen&lt;/a&gt; in meinem &lt;span class="caps"&gt;RSS&lt;/span&gt;-Reader habe, nehme ich die Folien von Präsentationen anders wahr. Die “Bullet points” werden fast zu “bullets”, die vom Beamer abgefeuert meinen Kopf treffen und den ganzen Inhalt töten. – OK, man muss nicht übertreiben, aber ich sehe diese Viecher nun deutlich intensiver.&lt;/p&gt;


	&lt;p&gt;Egal ob bei firmeninternen Präsentationen, bei Vorträgen auf Konferenzen, User-Group treffen oder bei Vortägen, die man im Internet so sehen kann (z.B. bei &lt;a href="http://www.infoq.com"&gt;InfoQ&lt;/a&gt;, oder &lt;a href="http://www.ted.com"&gt;&lt;span class="caps"&gt;TED&lt;/span&gt;&lt;/a&gt; ). Ich frage mich nun immer: Was machen diese Punkte denn da? Welche Information wollen sie mir vermitteln? Wäre es nicht sinnvoller, einfach die Worte auf die Folie zu schreiben ohne die Punkte? Vielleicht ein Bild dazu?&lt;/p&gt;


	&lt;p&gt;Schlimmer als die Punkte an sich sind aber zu volle Folien. Früher habe ich nur gedacht “oh… da ist aber viel drauf”. Nun erschlägt mich die Vielzahl an Informationen fast. In Seth Godins &lt;a href="http://www.sethgodin.com/freeprize/reallybad-1.pdf"&gt;Really bad powerpoint&lt;/a&gt; steht: Niemals mehr als sieben Wörter pro Folie. &lt;span class="caps"&gt;NIE&lt;/span&gt;. Mehr als ein Satz (bei Zitaten auch mal zwei oder drei) sollte wirklich nicht auf einer Folie stehen. Die Zuschauer sollten bei einem Vortrag zuhören und nicht die Folien lesen müssen.&lt;/p&gt;


	&lt;p&gt;Wenn ich mich an mein Studium erinnere: Da gab es teilweise Folien mit 7 Sätzen oder 70 Wörtern… Als ich mir vor drei Wochen beim &lt;a href="http://www.ba-stuttgart.de/themen/aktuelles/meldung/2008/10/-62796fbe97.html"&gt;25 Jährigen Jubiläum des Studiengangs Wirtschaftsinformatik an der BA-Stuttgart&lt;/a&gt; die Vortäge anhörte, wurde ich wieder daran erinnert.&lt;/p&gt;


	&lt;p&gt;Als Denkanstoß kann ich nur das Buch von &lt;a href="http://www.amazon.de/gp/product/0321525655?ie=UTF8&amp;amp;#38;tag=hendrvolkm-21"&gt;Presentation Zen von Garr Reynolds&lt;/a&gt; empfehlen (oder wer es auf deutsch lieber liest: &lt;a href="http://www.amazon.de/gp/product/3827327083?ie=UTF8&amp;amp;#38;tag=hendrvolkm-21"&gt;&lt;span class="caps"&gt;ZEN&lt;/span&gt; oder die Kunst der Präsentation&lt;/a&gt; ) – Das ganze gibt’s auch im Internet kostenlos und aktuell (aber nicht so schön verpackt) als Blog: &lt;a href="http://www.presentationzen.com"&gt;presentationzen&lt;/a&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-10-09:1000</id>
    <published>2008-10-09T13:39:00Z</published>
    <updated>2008-10-09T13:42:37Z</updated>
    <category term="English" />
    <category term="Life" />
    <category term="Sysadmin stuff" />
    <link href="http://blog.hendrikvolkmer.de/2008/10/9/really-adobe-really" rel="alternate" type="text/html" />
    <title>Really Adobe? Really?</title>
<content type="html">
            &lt;p&gt;I just encountered &lt;a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=kb400587&amp;amp;#38;sliceId=2"&gt;this problem&lt;/a&gt; and I can totally understand this blog post: &lt;a href="http://www.wemakepretty.com/2007/04/24/if-adobe-were-a-man-i-would-punch-him/"&gt;If Adobe were a man, i would punch him&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Let me remind you: This is a product that costs about 1K &lt;span class="caps"&gt;EUR&lt;/span&gt; and it’s the year 2008.&lt;/p&gt;


	&lt;p&gt;So &lt;a href="http://dearadobe.com/"&gt;Dear Adobe&lt;/a&gt; : Please fix your products!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-10-01:999</id>
    <published>2008-10-01T21:12:00Z</published>
    <updated>2008-10-01T21:13:19Z</updated>
    <category term="Art and Design" />
    <category term="English" />
    <category term="Life" />
    <category term="life" />
    <category term="ted" />
    <category term="toughts" />
    <link href="http://blog.hendrikvolkmer.de/2008/10/1/some-thoughts" rel="alternate" type="text/html" />
    <title>Some thoughts</title>
<content type="html">
            &lt;p&gt;... not my own… well actually most of them are.&lt;/p&gt;


” 
	&lt;ul&gt;
	&lt;li&gt;helping other people helps me&lt;/li&gt;
		&lt;li&gt;having guts always works out for me&lt;/li&gt;
		&lt;li&gt;thinking life will be better in the future is stupid. i have to live now&lt;/li&gt;
		&lt;li&gt;starting a charity is surprisingly easy&lt;/li&gt;
		&lt;li&gt;being not truthful works against me&lt;/li&gt;
		&lt;li&gt;everyting i do always comes back to me&lt;/li&gt;
		&lt;li&gt;assuming is stifling&lt;/li&gt;
		&lt;li&gt;drugs feel great in the beginning and become a drag later on&lt;/li&gt;
		&lt;li&gt;over time i get used to everything and start taking for granted&lt;/li&gt;
		&lt;li&gt;money does not make me happy&lt;/li&gt;
		&lt;li&gt;travelling alone is helpful for a new perspective on life&lt;/li&gt;
		&lt;li&gt;keeping a diary supports personal development&lt;/li&gt;
		&lt;li&gt;trying to look good limits my life&lt;/li&gt;
		&lt;li&gt;material luxuries are best enjoyed in small doses&lt;/li&gt;
		&lt;li&gt;worrying solves nothing&lt;/li&gt;
		&lt;li&gt;complaining is silly. either act or forget&lt;/li&gt;
		&lt;li&gt;actually doing the things I set out to do increases my overall level of satisfaction&lt;/li&gt;
		&lt;li&gt;everybody thinks they are right&lt;/li&gt;
		&lt;li&gt;low expectations are a good strategy&lt;/li&gt;
		&lt;li&gt;whatever I want to explore professionally, its best to try it out for myself first&lt;/li&gt;
		&lt;li&gt;everybody who is honest is interesting”&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;by &lt;a href="http://sagmeister.com/sagmeister.html"&gt;Stefan Sagmeister&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;via [ &lt;a href="http://www.ted.com/index.php/talks/stefan_sagmeister_on_what_he_has_learned.html"&gt;Stefan Sagmeister: Things I have learned in my life so far&lt;/a&gt; ]&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-09-09:996</id>
    <published>2008-09-09T06:16:00Z</published>
    <updated>2008-09-09T06:22:22Z</updated>
    <category term="longterm" />
    <category term="testing" />
    <category term="value" />
    <link href="http://blog.hendrikvolkmer.de/2008/9/9/longtime-value-of-tests" rel="alternate" type="text/html" />
    <title>Longtime value of tests</title>
<content type="html">
            &lt;p&gt;I wrote back in January 2007 that &lt;a href="http://blog.hendrikvolkmer.de/2007/1/27/are-you-test-infected"&gt;I’m test infected&lt;/a&gt; and that is still true. But sometimes, as with all things, I forget about the value of tests – at least in some contexts and then I find the value again.&lt;/p&gt;


	&lt;p&gt;Last week I attended &lt;a href="http://blog.jayfields.com/"&gt;Jay Fields’&lt;/a&gt; talk about &lt;a href="http://en.oreilly.com/railseurope2008/public/schedule/detail/2424"&gt;functional testing lessons learned&lt;/a&gt; and he really gave some interesting insights on the value of tests. Do you need tests for everything? Certainly not. 100% code coverage? Bad idea. Do you always need tests? Maybe. As always: it depends. What Jay Fields said was: If you intend to use the code again and want to change it sometime, you better have tests.&lt;/p&gt;


	&lt;p&gt;And if you think about it: That’s almost always the case. The last weekend I ported two small applications to new releases of some libraries (one was a &lt;a href="http://blog.hendrikvolkmer.de/2008/9/9/java-like-experiences-with-merb"&gt;merb app&lt;/a&gt;, the other one was a Rails app + some internal &lt;a href="http://www.imedo.de"&gt;imedo&lt;/a&gt; libraries). Those two applications where nothing like “business critical” – they were indeed some kind of testing/prototyping application to try some things out. So did I write tests back when I wrote them? No. Because I didn’t see value in writing tests, when I wrote these application. It just seemed like some additional work and well, those apps where so simple and just used to try some stuff: Why do you need tests for them?&lt;/p&gt;


	&lt;p&gt;In retrospective I think rather different about those two apps. You don’t even need to change your own code to get vaue out ouf tests. What if you upgrade to some newer version of a library or some external service changed their &lt;span class="caps"&gt;API&lt;/span&gt;? How do you notice that those changed? Maybe they haven’t. Maybe the &lt;span class="caps"&gt;API&lt;/span&gt; is still the same, but its behavoir is different – This shouldn’t be the case, but who knows? How do you know that those changes don’t brake your application in the weirdest ways you can think of. Maybe it’s some strange edge case that almost never happens but it just happens to be the case that you excercise this edge case.&lt;/p&gt;


	&lt;p&gt;Or there was a bug in the library which you thought of as a feature (as in “every behaviour of a library – intended or not – is a feature”...) used it and now it got “fixed” which for you means: it breaks your app. And trust me, it’s very frustrating to hunt down bugs in your application which then turn out to be caused by changes in external libraries/services. Without tests you have no idea, if it’s your fault or “theirs”.&lt;/p&gt;


	&lt;p&gt;How do you know what’s going on under the hood, if you don’t have tests? This doesn’t meant that you should write tests for the external libraries (although that sometimes is indeed a good idea), it means you should be sure which beavhiour is caused by your app and which isn’t.&lt;/p&gt;


	&lt;p&gt;This, to me, showed again the value of tests. And that for the most part it manifests itself later in the project, not necessarily when you’re writing them. I don’t talk about &lt;span class="caps"&gt;TDD&lt;/span&gt; (or &lt;span class="caps"&gt;BDD&lt;/span&gt;) here. That’s another thing (which you can see value in). It’s the value of tests in the long term. That’s why “test code is as important as application code” (to quote Jay Fields again).&lt;/p&gt;


	&lt;p&gt;So there’s absolutely now excuse to write no tests for valuable code. Be it backend code that uses databases, external services, your own business logic, or JavaScript based frontend code. If the code is of value to the user, you better have tests for it.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-09-09:995</id>
    <published>2008-09-09T06:01:00Z</published>
    <updated>2008-09-09T06:28:09Z</updated>
    <category term="development" />
    <category term="java" />
    <category term="merb" />
    <category term="tests" />
    <link href="http://blog.hendrikvolkmer.de/2008/9/9/java-like-experiences-with-merb" rel="alternate" type="text/html" />
    <title>Java like experiences with merb</title>
<content type="html">
            &lt;p&gt;&lt;a href="http://www.java.com/"&gt;Java&lt;/a&gt;? &lt;a href="http://merbivore.com/"&gt;merb&lt;/a&gt;? What do they have in common? They are both multithreaded, fast, modular? You can choose which &lt;span class="caps"&gt;ORM&lt;/span&gt;, templating and JavaScript and testing framework you want to use?&lt;/p&gt;


	&lt;p&gt;With all these things being true, they have another thing in common: It can be very frustrating to develop a web app using these technologies.&lt;/p&gt;


	&lt;p&gt;I played around with merb at the beginning of the year just because it was something new and I like new things. I used something like 0.3.0 which as the version number suggests is an early development release. Things are supposed to change. And they have. merb was splittet into &lt;a href="http://github.com/wycats/merb-core/tree/master"&gt;merb-core&lt;/a&gt; and &lt;a href="http://github.com/wycats/merb-more/tree/master"&gt;merb-more&lt;/a&gt; and lots of other gems. Which in itself is a good idea but made it real hard to figure out what you really need.&lt;/p&gt;


	&lt;p&gt;Engouraged by the infos I got in the BoF session about merb by &lt;a href="http://yehudakatz.com/"&gt;Yehuda Katz&lt;/a&gt; at &lt;a href="http://en.oreilly.com/railseurope2008/public/content/home"&gt;RailsConf Europe&lt;/a&gt;, I wanted to play around with some new merb features.&lt;/p&gt;


	&lt;p&gt;On Saturaday I “ported” a very small (as in “the standard blog” app) merb 0.3.0 app to the current 0.9.5. And by “ported” I really mean: I’ve thrown the old implementation away and rewrote it from scratch – because after an hour or so of hunting errors and trying to find missing gems that I needed,  I figured it would be easier to start with a new 0.9.5 app.&lt;/p&gt;


	&lt;p&gt;It’s a little bit ironic that the merb guys want to create a public &lt;span class="caps"&gt;API&lt;/span&gt; that doesn’t change often and yet it changed very often until now. You can’t really blame them – there is no official release yet – it’s a development version – but it makes playing around with this kind of thing really hard. I almost was at the point where I said “F’ it, i’ll use Rails and be happy with it” – which would have missed the point of playing around with merb.&lt;/p&gt;


	&lt;p&gt;To play with merb you have to read the code. There is documentation which is ok on some parts and missing on other but there are no useful tutorials or blog post. Ok, there are… but you have no idea which version of merb they are about so they’re pretty much useless: If you don’t use the exact version of merb the tutorial was written for it won’t work. – That’s a general problem with tutorials/blog posts for new technologies (I experienced the same with some rspec posts). So please, if you write a post or tutorial, mention which version of the tools you’re using.&lt;/p&gt;


	&lt;p&gt;So to summarize what do I like and don’t like about merb:&lt;/p&gt;


I like
	&lt;ul&gt;
	&lt;li&gt;the modular architechture (construction kit: pic what you need), merb-slices, etc.&lt;/li&gt;
		&lt;li&gt;that it is small and thus a good fit for focussed services&lt;/li&gt;
		&lt;li&gt;that it orm, js library, rendering framework agnostic&lt;/li&gt;
		&lt;li&gt;the idea of a public api that doesn’t change often&lt;/li&gt;
		&lt;li&gt;that there’s no real magic inside the code&lt;/li&gt;
		&lt;li&gt;that it’s rack based&lt;/li&gt;
	&lt;/ul&gt;


I don’t like
	&lt;ul&gt;
	&lt;li&gt;the naming of the gems. It’s &lt;a href="http://github.com/wycats/merb-plugins/tree/master/merb_activerecord"&gt;merb_activerecord&lt;/a&gt; but &lt;a href="http://github.com/wycats/merb-more/tree/master/merb-assets"&gt;merb-assets&lt;/a&gt;. Why is it ”-” one time and ”_” the other time. If there’s some kind of logic behind that I was not smart enough to figure it out.&lt;/li&gt;
		&lt;li&gt;the merb-more gems sometimes just don’t work. e.g. form_for doesn’t work for me in 0.9.5 – and there are no specs/tests for it! Or at least I didn’t find them. &lt;/li&gt;
		&lt;li&gt;that it is hard to get started with, especially if you’re a spoiled Rails child. There should be a generator “merb-gen app—rails-like” which should hook you up with alle the things that rails has (and merb has as well if you choose the according orm, js, helper gems, etc.)&lt;/li&gt;
		&lt;li&gt;that things like pagination are quite hard (there’s &lt;a href="http://github.com/myobie/merb_paginate/tree/master"&gt;merb_paginate&lt;/a&gt; + &lt;a href="http://github.com/mislav/will_paginate/tree/master"&gt;will_paginate&lt;/a&gt; and it works) – This isn’t really a merb problem and more a problem of how some rails plugins are too rails focussed – hopefully this will change when there are more Ruby web frameworks out there&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;“So you just wanted to write a rant and say the J-Word, Hendrik?” – Not really. I think merb is a great framework but, as every piece of software  has some flaws, all of them can easily be fixed and let’s see what merb 1.0 will bring us. If you want to try out merb I recommend waiting until 1.0 (which is due in about a month) – or take the latest checkout from github where maybe everything is ok.&lt;/p&gt;


	&lt;p&gt;And if you use merb for something in production and don’t have tests (which is a bad idea in the first place), write them before you even think about upgrading to a newer version. This experience has once again shown the value of tests for me.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-09-05:992</id>
    <published>2008-09-05T05:40:00Z</published>
    <updated>2008-09-05T09:02:23Z</updated>
    <category term="English" />
    <category term="Life" />
    <category term="Programming" />
    <category term="quotes" />
    <category term="railsconf" />
    <link href="http://blog.hendrikvolkmer.de/2008/9/5/railsconf-europe-quotes" rel="alternate" type="text/html" />
    <title>RailsConf Europe quotes</title>
<content type="html">
            &lt;p&gt;There were a lot of cool presentations at RailsConf Europe this year. I’ll write some summaries later.&lt;/p&gt;


	&lt;p&gt;For now, here are some quotes I really liked:&lt;/p&gt;


	&lt;p&gt;“Java is to Javascript what car is to carpet” – at BoF “Xing on Rails”&lt;/p&gt;


	&lt;p&gt;“Using tables to store objects is like driving your car home and then disassembling it to put it in the garage. It can be assembled again in the morning, but one eventually asks whether this is the most efficient way to park a car.” – Esther Dyson (was quoted in the Maglev BoF)&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-08-29:991</id>
    <published>2008-08-29T05:41:00Z</published>
    <updated>2008-08-29T09:41:58Z</updated>
    <category term="English" />
    <category term="Life" />
    <category term="Programming" />
    <category term="developer" />
    <category term="hug" />
    <link href="http://blog.hendrikvolkmer.de/2008/8/29/hug-a-developer" rel="alternate" type="text/html" />
    <title>Hug a developer</title>
<content type="html">
            &amp;lt;embed src="http://blip.tv/play/gYwjwZJqjdEh" height="312" width="503"&gt;&amp;lt;/embed&gt;

	&lt;p&gt;via [ &lt;a href="http://www.marcelscherf.com"&gt;Marcel&lt;/a&gt; ] via [ juixie &lt;a href="http://www.juixe.com/techknow/index.php/2008/08/28/hug-a-developer/"&gt;hug a developer&lt;/a&gt; ]&lt;/p&gt;


	&lt;p&gt;And indeed: It’s funny because it’s so true.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-08-12:987</id>
    <published>2008-08-12T05:10:00Z</published>
    <updated>2008-08-10T19:53:06Z</updated>
    <category term="German" />
    <category term="Life" />
    <category term="security" />
    <link href="http://blog.hendrikvolkmer.de/2008/8/12/umkleidekabinen-hack-in-kaufhäusern" rel="alternate" type="text/html" />
    <title>Umkleidekabinen-Hack in Kaufhäusern</title>
<content type="html">
            &lt;p&gt;Ich habe eben mal wieder in Interview mit &lt;a href="http://www.schneier.com"&gt;Bruce Schneier&lt;/a&gt; gehört und darin hat er zum wiederholten Male erwähnt, dass man Sicherheit oder ein Interesse an Sicherheit nicht lernen kann, sondern damit geboren wird. Ich glaube, ich habe das Interesse daran auch mitbekommen. Wenn ich unterwegs bin und irgendwelche Sicherheitsmaßnahmen sehe, denke ich unweigerlich darüber nach, wo Lücken und Probleme sind.&lt;/p&gt;


	&lt;p&gt;Vor kurzem war ich z.B. Kleidung einkaufen. Genauer gesagt, war ich nur dabei, als andere eingekauft haben. In den Ankleidekabinen werden ja seit einiger Zeit bei manchen Geschäften so “Teile-Anzahl-Anzeiger” verteilt, wenn man in die Kabine möchte. Ich nehme stark an, dass das dazu da ist, um zu kontrollieren, ob man genau so viele Teile wieder mit raus bringt, wie man mit hin genommen hat und nichts einfach so unter der eigenen Kleidung anzieht.&lt;/p&gt;


	&lt;p&gt;Das System funktioniert auch ganz gut, wenn das schön kontrolliert wird. (Was meistens auch passiert). Manche Geschäfte haben nun aber keine Marke mit “0” und da meine ich nun eine Lücke im System ausgemacht zu haben: Wenn man keine Marke bekommt, wenn man nichts mit reinnimmt, woher wollen die dann beim rausgehen wissen, ob ich schon am Anfang nichts dabei hatte?&lt;/p&gt;


	&lt;p&gt;Ein Angriff sähe dann beispielsweise so aus (das geht natürlich nur, wenn es realativ voll ist und die Person, die die Marken verteilt sich nicht zusätzlich merkt, wie viele Teile ich mit hatte):&lt;/p&gt;


	&lt;p&gt;Ich nehme z.B. 2 Kleidungsstücke mit rein und erhalte eine Marke mit einer “2” drauf. Dann gehe ich in die Kabine und ziehe die Kleidungsstücke unter meine Kleidung an. Beim Rausgehen, zeige ich natürlich die “2”-er Marke nicht und sage auf ggf. Nachfrage, dass ich nichts dabei hatte (man braucht natürlich hier einen Komplizen, der wirklich ein Stück wieder mit raus nimmt). Gäbe es eine Marke mit “0” müsste jeder der die Kabinen betritt eine Marke am Ende abgeben.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-08-10:986</id>
    <published>2008-08-10T16:48:00Z</published>
    <updated>2008-08-10T16:50:51Z</updated>
    <category term="English" />
    <category term="Life" />
    <category term="delivery" />
    <category term="dhl" />
    <category term="ups" />
    <link href="http://blog.hendrikvolkmer.de/2008/8/10/dhl-vs-ups" rel="alternate" type="text/html" />
    <title>DHL vs. UPS</title>
<summary type="html">&lt;p&gt;I recently ordered something over the Internet which by default gets shipped with &lt;a href="http://www.dhl.de"&gt;&lt;span class="caps"&gt;DHL&lt;/span&gt;&lt;/a&gt; in Germany. I hadn’t had much problems with shipping via &lt;a href="http://www.dhl.de"&gt;&lt;span class="caps"&gt;DHL&lt;/span&gt;&lt;/a&gt;, they actually do have a tracking system now (I think &lt;a href="http://www.ups.com"&gt;&lt;span class="caps"&gt;UPS&lt;/span&gt;&lt;/a&gt; had that about 10 years earlier). So let me describe what happened and then describe how &lt;a href="http://www.ups.com"&gt;&lt;span class="caps"&gt;UPS&lt;/span&gt;&lt;/a&gt; handled a similar event.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;I recently ordered something over the Internet which by default gets shipped with &lt;a href="http://www.dhl.de"&gt;&lt;span class="caps"&gt;DHL&lt;/span&gt;&lt;/a&gt; in Germany. I hadn’t had much problems with shipping via &lt;a href="http://www.dhl.de"&gt;&lt;span class="caps"&gt;DHL&lt;/span&gt;&lt;/a&gt;, they actually do have a tracking system now (I think &lt;a href="http://www.ups.com"&gt;&lt;span class="caps"&gt;UPS&lt;/span&gt;&lt;/a&gt; had that about 10 years earlier). So let me describe what happened and then describe how &lt;a href="http://www.ups.com"&gt;&lt;span class="caps"&gt;UPS&lt;/span&gt;&lt;/a&gt; handled a similar event.&lt;/p&gt;
&lt;p&gt;The package was shipped from its source about 400km from its destination on July, 24th and the tracking system showed that it was on its way to Berlin and should have been there on July, 28th. But then I saw the message “Receipient unknown” in the tracking system. I was sure that I supplied the correct adress when I ordered and confirmed that. It was indeed the correct address.&lt;/p&gt;


	&lt;p&gt;It only showed the adress but not the full receipient name. The adress is correct, by the way. That’s the office building I wanted the package to be delivered to. So I called their customer support and asked, what went wrong. They couldn’t tell me. In fact, they said they cannot access more address information than I was seeing on the web page and that the package would be sent back. What? Are you kidding me?&lt;/p&gt;


	&lt;p&gt;So I mailed the company that I ordered the product from. They said they talked to &lt;span class="caps"&gt;DHL&lt;/span&gt; and they would change the address and redeliver it, without sending it back.&lt;/p&gt;


	&lt;p&gt;Which didn’t work. A few days later the package arrived back at the sender and they had do resend it. How stupid of &lt;span class="caps"&gt;DHL&lt;/span&gt; was that?&lt;/p&gt;


	&lt;p&gt;They finally managed to deliver the package… at August, 5th. Or so I thought, after reading this:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://blog.hendrikvolkmer.de/assets/2008/8/10/dhl_1.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;but it took them two days after it arrived in Berlin in their central warehouse. The message on the tracking system said something like that:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://blog.hendrikvolkmer.de/assets/2008/8/10/dhl_2.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Which means “due to vacation, public holidays or company holidays the package will be stored in the warehouse.”. It was delivered the next day which was August, 6th. As it turned out there wasn’t enough space on the truck the day before. &lt;span class="caps"&gt;WTF&lt;/span&gt;?&lt;/p&gt;


	&lt;p&gt;Ok. Now a similar story with a &lt;span class="caps"&gt;UPS&lt;/span&gt; package delivery. There was also a problem with the address. This time I messed up and forgot to add the company name (I think that was the same problem with the &lt;span class="caps"&gt;DHL&lt;/span&gt; delivery…). So I got an E-Mail from &lt;span class="caps"&gt;UPS&lt;/span&gt;, telling me that they weren’t able to deliver the package and that I should call their customer support. Which I did. They changed the address and delivered the package the next day. Easy. That’s how it’s supposed to work.&lt;/p&gt;


	&lt;p&gt;Let’s assume the problem was indeed the missing company name and they had no idea at which company the receipient “Hendrik Volkmer” would work. They could have called the sender and ask if they have additional information. Either when they were standing in the lobby of the building or second best, when they returned to the local warehouse. Or they could have asked the receptionist in the office building to call the secretary of the biggest company in the building (which would have failed) and then the second biggest (which would have succeeded). Or they could have provided a better web tracking system which would show the complete address, so that I could have seen a problem with the address and provide them with the correct information. First I thought that not showing the complete address is some kind of privacy protection thing. But that cannot be true, as you can see in the screenshots: At different times the full address details will be shown. Also: After entring a 20 digit tracking number and a zip code I should be authorized to see the details.&lt;/p&gt;


	&lt;p&gt;I can hardly believe that sending the package back was the cheapest option for them. And even if it was… it was the worst option for the customer.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-08-07:985</id>
    <published>2008-08-07T16:31:00Z</published>
    <updated>2008-08-10T15:45:25Z</updated>
    <category term="Art and Design" />
    <category term="English" />
    <category term="Life" />
    <category term="apples" />
    <category term="pears" />
    <link href="http://blog.hendrikvolkmer.de/2008/8/7/do-you-like-" rel="alternate" type="text/html" />
    <title>Do you like ?</title>
<content type="html">
            &lt;p&gt;
And with  I might mean &lt;a href="http://www.apple.com"&gt;Apple&lt;/a&gt; or the fruit &lt;a href="http://en.wikipedia.org/wiki/Apple"&gt;apple&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Ok. This entry is totally useless... I just wanted to use the  sign ;-) - Does that "" even look like an Apple on windows machines? Is it a UTF-8 character?
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Update&lt;/b&gt;:
Apparently it's the unicode character 63743 in the &lt;a href="http://sitening.com/extras/utf-8-character-html-encoding/"&gt;UTF-8 private space&lt;/a&gt;. And it depends on the font if it really gets displayed as "the Apple apple". Interesting.
&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-08-06:984</id>
    <published>2008-08-06T06:25:00Z</published>
    <updated>2008-08-06T07:29:54Z</updated>
    <category term="English" />
    <category term="Life" />
    <category term="sleep" />
    <link href="http://blog.hendrikvolkmer.de/2008/8/6/falling-asleep-mindfully" rel="alternate" type="text/html" />
    <title>Falling asleep mindfully</title>
<content type="html">
            When I was going to sleep yesterday I realized that I pictured my thoughts and wondered if I can consciously realize the moment I fall asleep. There weren't many thoughts. It was like a big black void and some "thoughts" where flying around. Then they started to disappear, fading out or just going away. Then I thought: "I'm.... going... to fall asleep.... now". Then I was asleep. I think it's the second time that had this experience. It's quite intersting.

Did this ever happen to you?
          </content>  </entry>
  <entry xml:base="http://blog.hendrikvolkmer.de/">
    <author>
      <name>hvolkmer</name>
    </author>
    <id>tag:blog.hendrikvolkmer.de,2008-06-17:983</id>
    <published>2008-06-17T10:16:00Z</published>
    <updated>2008-06-17T10:35:44Z</updated>
    <category term="German" />
    <category term="Life" />
    <category term="berlin" />
    <category term="fahrrad fahren" />
    <category term="helm" />
    <link href="http://blog.hendrikvolkmer.de/2008/6/17/helmlos" rel="alternate" type="text/html" />
    <title>Helmlos</title>
<content type="html">
            &lt;p&gt;Ich fahre relativ viel Fahrrad hier in Berlin und mir ist aufgefallen, dass sehr wenige Leute Helme tragen. Der Kopf scheint wohl nicht von vielen als schützenswertes Körperteil angesehen zu werden.&lt;/p&gt;


	&lt;p&gt;Heute morgen sah ich dann gleich zwei mal eine sehr skurrile Kombination. Einmal Mutter (ohne Helm) mit Kind (mit Helm) und einmal Vater (ohne Helm) mit Kind (mit Helm) – die Kinder jeweils im Kindersitz auf dem Gepäckträger.&lt;/p&gt;


	&lt;p&gt;Ich fragte mich dann, wie die Eltern ihren Kindern erklären, warum die Kinder Helme tragen müssen, Erwachsene aber nicht…&lt;/p&gt;


	&lt;p&gt;“Wenn du älter wirst, wird dein Kopf ganz hart und dann braucht man keinen Helm mehr.”&lt;/p&gt;


	&lt;p&gt;“Mami zieht keinen Helm auf, weil das doof aussieht, aber dir steht das echt gut.”&lt;/p&gt;


	&lt;p&gt;“Ein Helm ist wichtig, damit man bei einem Sturz nicht verletzt wird. Ich möchte nicht, dass du verletzt wirst. Mir ist es aber egal, wenn ich selbst verletzt werde.”&lt;/p&gt;


	&lt;p&gt;Das hab ich mir alles nur ausgedacht. Ich hab echt keine Ahnung, was die Leute ihren Kindern erzählen. Ich war kurz davor den einen Herren zu fragen… dachte aber dann: “Man muss die Leute ja nicht noch zusätzlich vor ihren Kindern blamieren…”&lt;/p&gt;
          </content>  </entry>
</feed>

