Art Nouveau Djungle


Gaudí means Fun

I have been visiting Barcelona the last six days. Great weather! We started with 22°C the first two days. Then temperature dropped down to a daily maximum of 14°C, but the sun was shining all day long while at home, in Berlin the first snow was falling.

Of course I arrived somewhat prepared - before the journey I read about the great Art Nouveau architecture and its most famous master Antoni Gaudí, who also created the incomparable basilica Sagrada Família, my girl Ania was keen on visiting the vibrant markets, esp. La Boqueria.

The new neighbours

But something that I really did not expect to encounter in the city of Barcelona was greeting us with their loud voices from the very first moment when we were leaving the metro station at Arc de Triomf: Parrots. Right in the centre the trees are full of greenly feathererd Monk Parakeets. Originally from South America they have in some places of Barcelona become like a plague in the last ten years or so. Their number seems comparable to the pigeon population and with their screeching voices they even predominate the clamor of the seagulls.

Unfortunately these parrots are really shy. Unlike the pigeons they stay in the treetops, where they build huge nests together. Therefore I can only link this nice video from somebody who had more luck in filming them.

Barcelona is the new Zürihagen.

Other things that stayed in my mind:

  • Barcelona is expensive: Food is at least twice what is normal in my home town Berlin: 3.50€ for the smallest ice cream feels more like Zürich Bahnhofstrasse. Entry fees are also "world-class": A ticket for the quite small Casa Batlló of Antoni Gaudí costs 21.50€ and for visiting the roof of Casa Milà a few numbers ahead the Passeig de Gràcia you would have to pay another 20€ per person.
  • Barcelona is a bicycle city. Broad bicycle paths and a city-wide system of bike rental stations called Bicing which unfortunately is only available for residents.
  • On the other hand there is less car traffic than I expect in a south european city.

UTF-8 with lighttpd


Broken Arrows

The arrows in the ← Older and Newer → boxes at the page bottom looked fine on my local test web server, but appeared busted on the production server.

At the time of writing lighttpd was the server for this website. In the default setup HTML documents are served with the HTTP header

Content-Type: text/html

Your web browser would probably use iso-8859-1 for displaying in that case.

Like most websites these days this blog uses UTF-8.

lighttpd's default encoding settings are defined in the global config under

mimetype.assign = (
  ".css"          =>      "text/css",
  ".html"         =>      "text/html",
  ".htm"          =>      "text/html",
  ".js"           =>      "text/javascript",

My first try to override the setting for HTML documents for the virtual host with

mimetype.assign = ( ".html" =>  "text/html" )

replaced the whole global mimetype.assign list with this single definition.

OK, since I'm the server administrator I could simply change the global default, but this would affect all websites served by this lighttpd webserver.

A more defensive solution is to constrain the rewritten mimetype.assign for to URLs that end either with a slash / or with .html:

$HTTP["url"] =~ "(\.html|\/)$" {
    mimetype.assign = ("" => "text/html; charset=utf-8")


Tags: reloaded

Statocles is the foundation of the new website.


This is a setup from the very beginning. It may serve as a cooking recipe while the examples show how I installed this blog.

Install a local Perl

This is not really necessary. It's for those who claim they cannot install some Perl software, because their system Perl is too old, because they are not root or because of any other problem-fu.

You will need perlbrew. If you don't have it already go to the perlbrew website and follow the install instructions.

Now build your local Perl:

me@local:~> perlbrew install perl-5.20.3 --as perl-5.20.3-nothreads
me@local:~> perlbrew switch perl-5.20.3-nothreads

Install cpanminus

me@local:~> curl -L | perl - App::cpanminus

Install Statocles

me@local:~> cpanm Statocles

Create a Git repository for

Basically one needs to create a central repository on the server where the website is hosted.

me@local:~> ssh git@remote
git@remote:~> git init --bare repositories/

I use Gitolite to manage my Git repositories.

me@local:~> cd gitolite-admin
me@local:~> git pull
me@local:~> vim conf/gitolite.conf
... add repo ...
me@local:~> git commit -a -m 'Add repo'
me@local:~> git push
me@local:~> cd

Create a post-receive hook for the remote repository

me@local:~> ssh git@remote
git@remote:~> cat <<EOF >repositories/
umask 002
GIT_WORK_TREE=/srv/www/vhosts/ git checkout -f
git@remote:~> chmod +x repositories/


Get a clone of the website repository and start the Statocles project:

me@local:~> git clone
me@local:~> statocles create
... walk through the setup dialogue ...

At this point let's see if everything is set up nicely.

First check the default setup:

me@local:~> cd
me@local:~> git status
me@local:~> less .gitignore
me@local:~> less site.yml
me@local:~> less blog/2015/09/22/first-post/index.markdown
me@local:~> statocles daemon

Finally deploy the default site and check the result:

me@local:~> statocles deploy
me@local:~> ssh git@remote
git@remote:~> ls /srv/www/vhosts/
blog  index.html  page  robots.txt  sitemap.xml  site.yml  theme

Now configure your preferred web server to serve the generated content.

Piece of cake!

First Post


Welcome To My Blog ... and Greetings from Sunny Greece

Ahh! Finally holiday. Blue sky, warm days and mild evenings at the Greek coast of Chalkidiki.

Well, while the first days we have had great weather, the last two days were not so sunny... In fact we had thunderstorms for two nights and it was raining cats and dogs.

Opportunity to spend time on my neglected website...

And while I'm at it, why not start a blog?

So here is it - or will be... hopefully. Nothing fancy. Just to write down all the little adventures and learnings that we normally forget too quickly.

The next post will be about setting up a website like this with Statocles.