It’s summer in Berlin! And Berlin during summer is just awesome! <3
The previous winter was a very intense time for me. Mostly of course because of my new job. – Meeting new people, answering new questions and starting new routines often made my head swirl, I had to constantly regain my focus and was “distracted” from a lot of other things. But I have the feeling that I’m gaining back a lot of the control again and have even made some plans for a few side projects…
And I’ve been reading a book with the correspondence and love letters between Paul Celan and Ingeborg Bachmann. Reading intimate love letters while sitting in a Berlin UBahn is a weird thing. My mind is in this very private, sensitive and fuzzy and cosy place, while my ass is sitting on a warm spot from somebody else’s ass, my nose is inhaling millions of different smells and my ears are hearing Justin Bieber from my neighbour’s earpods…
My current favorite podcast: Methodisch Inkorrekt! It has been my go-to podcast for almost a year now, but I just can’t get enough of those two physicists, who talk about topics from the science world and about various others things. – They. Are. Hilarious!
Oh… and favourite song this week: TILTED by Christine and the Queens (the french version is actually better, but I like the dancing part in this version, because it’s not too polished):
For my project “Berliner Chöre” I use Leaflet.js to display a mobile friendly interactive map of Berlin. I decided against an “ordinarily” looking map, because I was interested in learning how to make and style my own map. I got my inspiration from this project, which aims to map bathing sites in Berlin.
I use Mapbox to host the tile layers. There are other hosts or one can also self-host. MapBox explains tile layers as follows:
A map is made of layers. Layers can be images, lines, and markers. Each layer can be placed on top of each other to build combinations and mashups. Understanding layers is core to mastering web maps.
To build those layers and style them Mapbox developed TileMill, which is a free and open source software. (FYI: in case TileMill won’t start for the first time, try to update it.)
The Agenda for creating your own map and use it in your web app looks like this:
I’m going to explain each of the steps, but I also assume that you already have basic knowledge in web development. Btw., I’m on a Mac!
Import Berlin’s OSM data into PostgreSQL and PostGIS
First, I added PostGIS to my PostgreSQL database and set it up for my geo data. “PostGIS (/ˈpoʊstdʒɪs/ post-jis) is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database.” 
brew update brew install postgis psql create database my_db; \connect my_db create extension postgis; \quit
For populating the database with data, I downloaded the berlin-latest.osm.pbf file and ran this command to import the data to my database:
osm2psql -cGs -d my_db -S /usr/local/share/osm2pgsql/default.style ~/Downloads/berlin-latest.osm.pbf
Setup the map in TileMill
The next step is to use the geo data in my database in TileMill and style the data according to my taste. TileMill uses Carto CSS to style maps, which is a styling language every similar to CSS. Luckily, I found Aaron Lindman’s Toner for TileMill, which offers (besides very cool looking Carto CSS styles) also a very quick setup!
Simply download it here and configure the setup by changing configure.py.sample to configure.py and open it in your favourite editor. Then change the name of the map and the database and saved+closed the file.
... config["name"] = "Toner for Tilemill Test" ... config["postgis"]["dbname"] = "my_db" ...
After running the make.py from the terminal, I opened up TileMill and there it is, my new map project!
Use the map in Mapbox
To use the map, use TileMill’s export function to create a MBTiles file. I configured the zoom level between 11-16, because I’m currently on Mapbox’s free plan and only have 100MB for map hosting. Click on the map to set the center of the map and press Shift and drag through the map to select your map’s boundaries.
If you haven’t signed up for a Mapbox account yet, now is the time. Afterwards, upload the .mbtiles file via Menu > Data > Uploads > Select A File and then click on the uploaded map and Create project.
Mapbox will redirect you to your new map project. Just click on save and the map is ready!
Website integration with Leafletjs
Using your created map is now very easy. Simply go through the Quick Start Guide on on Leafletjs. For the map’s id and accessToken, go back to your map project’s page on mapbox.com and find info panel. The HTML code snippet to embed the map contains those information. In Rails, I would recommend to use e.g. Figaro to set those information as environment variables.
I have tried out some alternative photography techniques for a while. And besides some unsuccessful experiments with a self-build pinhole camera and photo developments, I found this package of cyanotype papers last winter. It turned out to be very difficult to actually use them, because there ain’t no sunshine in Berlin! I’m exaggerating! But anybody who has lived in Berlin during winter-time knows, that winter in Berlin is kind of 100 shades of grey and super depressing.
Well, fast forward 6 months. I went on a short sailing trip on the Baltic Sea last weekend and the weather was still a bit rough then. So one day, packed in 3 layers of pullover and a wind-proof outdoor jacket, I suddenly felt like sitting in this Gerard Richter painting. I took a photo and decided to used it as a negative for my first cyanotype print. And the following week happened to be the first real summer days in Berlin! It took me some experiments to find the best contrast for the negative and even more time to find the perfect exposure time. Et, voilà! The result is the picture above.
And here is the making-of: the original photography – filtered w/ my customised Gerhard Richter filter ;) – the negative (flipped & inverted) – the solar-paper – drying after 1h of exposing & 2 min. of watering – the result.