Christian's Blog

An excerpt of attributes I was convinced I had, where parenthood proved me wrong:

  • patient
  • calm
  • flexible
  • consequent
  • convincing
  • clear at communicating ... (There are for sure more)

I see more and more clearly that these attributes i believed to have were mere wishes of how I would like to be. I was always striving to achieve these, but parenthood made it impossible to pretend that I had fully succeeded.

I feel parenthood teaches me something new about myself and others each day. I feel it makes me a better person and helps me grow. Can really only encourage everyone, especially those in doubt about the own adequacy to raising kids. It's an extremely valuable life lesson that affects all aspects, not only those of being a parent.

Recently something got me thinking: Could we filter out co2 from the atmosphere and somehow transform it into something solid to keep it out of there?

But then again: would this help us in any way or wouldn't it probably just make us even more lazy and unambitious in solving the core problem – the production and emission of co2?

Also, I read frequently that technological solutions can't help us out of the situation technology got us into in the first place.

But I'm still sceptical. Really not? Are we absolutely sure there is not an awesome approach we are overlooking?

Well anyways, some guys at Climeworks, Carbon engineering, Global thermostat, and Ineratec (and probably others) are trying to do it. Reading a bit about Climeworks however makes me feel these probably come too late. If they can install an overly ambitious number of their filter plants they can filter out 1% of the global emissions by 2025. Even though all this leaves me quite sceptical, I'm still surprised though that there isn't more momentum in this research area. Maybe one could achieve something using such a technology, and why is not more money invested into this? It seems at least that all our efforts of reducing co2 emissions come too late and too little. So why not trying to remove it in retrospect? Maybe a major contributor to our last chance?

#tech #science #climatecrisis

5 years ago I had a lot of respect for the USA and Americans. I felt that they positively contributed to humankind – my view was mostly based on impressive research they did as this is the area I was coming from.

I guess about 2 years ago I realized that I was surprised and shocked that Americans decided to choose someone as their leader that would directly contradict anything I had so far believed the USA to be: tolerant, eloquent, educated, honest, reliable. I was mad at Trump for being so numb and couldn't grasp why the “majority” of Americans voted for him.

I think about one year ago my anger turned into pity. Poor Americans that have to suffer him, and poor him for not knowing better. They didn't know any better but now they can see what they got by voting him. They are not going to do that mistake again.

Well, I guess I was too native there. Now I'm seriously losing my patience with you Americans. Reading on and on about how good chances this idiot has to being reelected – seriously if this happens I will have close to zero respect left for you guys for not being able to deal with him. You don't seem to fully realize how much damage it does to your reputation having him as president.

You are literally losing friends all over the world every day as long he is in power. Soon probably only the ones he bought with money are going to volunteer to help you in time of need. Get your act together and remove him already. Convince the people you know of doing so. Get political.

As long as Trump is your president I want as little as possible to do with your country. And if that should really happen – Trump being reelected – I seriously hope that policy makers all over the world are going to strive to becoming more independent of the USA, thereby reducing your power and influence. The more that is the case, the less harm he can do.

My guess is that 95% of all people that accept that the #climate #crisis is real and rolling onto us feel as #powerless about it as me:

What can I achieve?

With just a handful of friends, close to no audience, with weekdays so fully packed, when at home constantly occupied by the family.

Seriously, what can I do? I'm really trying, using my education (computer scientist) to trying to make software that can make a change, but I feel no resonance. And definitely not enough impact to achieve anything. I talk to my friends and family. Everyone is as caught up in their lives as I am, so what's it gonna do?

Why does everyone around me seem so indifferent? How can anyone just proceed as normal?

Just. Feel. So. Powerless.

Why do mainstream media and mainstream political parties still think that saving the planet is less important than their own success? Why are they still not strongly recommending to everyone changes to our everyday that bring sustainable change in our everyday lives? Just because they are unpopular and inconvenient? F*** that you crybabies! Why don't you suggest to stop eating meat? To reduce/stop eating dairy? To use public transportation/ cycle instead of taking the car? To stop buying cars altogether? To look for jobs close by? To buy less products? To buy products that are more sustainable? To stop using all that crap that makes our planet go down the drain right this moment?

Why is this gigantic challenge not met with the same kind of force as covid19 is? Seriously, this is ridiculous. Who cares about a vaccine for Covid 19 in 10 years if our global ecosystem is going to collapse and the planet can only sustain 1bio people and hunger, thirst, and suffering is present everywhere? None of this Covid 19 vaccine research effort will matter anymore because global production chains for e.g. vaccines are going to collapse as well and anyways, nothing is going to be as it was.

Why are not all the people talking about the climate crisis as they are talking about Covid19?

Is the climate crisis too big a challenge for the human intellect? Can we just not grasp it if the deadly consequences are not imminent but will follow in maybe 15 years instead? Are our minds really that primitive?

#WTF #climatecrisis #climate #rant

Hier hab ich mal ein paar Sätze aufgeschrieben für all diejenigen, die ich davon überzeugen möchte, in das freie, verteilte, dezentrale soziale Netzwerk “Fediverse” umzuziehen und die monetarisierten und zentralisierten sozialen Netzwerke wie Facebook und Co. hinter sich zu lassen.

Ich werde diesen Leitfaden immer mal wieder aktualisieren, wenn mir neue wichtige Details einfallen. Platzhalter in [] an verschiedenen Stellen signalisieren, dass ich bisher zu faul war/keine Zeit hatte, den betreffenden Inhalt zu schreiben.

[Todo: warum überhaupt wechseln? Was ist denn so schlecht an Facebook/Twitter?]

Das dezentrale soziale Netzwerk “fediverse”

Ganz allgemein muss man sich – wenn man von zentralen Netzwerken wie Facebook oder Twitter kommt – erstmal an die dezentrale Natur vom “fediverse” gewöhnen. Dezentral bedeutet, dass nicht alle Benutzer/Profile auf einem Server lokalisiert sind (wie zB auf, sondern auf verschiedene Intanzen verteilt sind. Diese Instanzen können dann miteinander reden, damit sich Benutzer verschiedener Instanzen dann zum Beispiel gegenseitig als Kontakte hinzufügen können oder sich Nachrichten schreiben können.

Unterteilung der fediverse Instanzen auf thematischer Ebene

Es gibt thematisch gesehen ganz verschiedene Instanzen. Viele haben sich auf ein oder wenige Themen spezialisiert, sodass sich dort überwiegend Benutzer anmelden, die diese Themen dann auch interessieren. Beispiele für solche spezialisierten Instanzen sind:

  • für Wissenschaft
  • / für IT
  • für boardgames
  • für gemalte/gezeichnete Kunst
  • für geschriebene Kunst

Abgesehen davon, gibt es Instanzen auf denen es prinzipiell um alles gehen kann. Wer sich hier anmeldet, ist sehr wahrscheinlich hauptsächlich an Alltagsthemen interessiert. Beispiele für solche Instanzen hierfür sind


Und außerdem gibt es noch private Instanzen (wie zB meine eigene unter Da aber jeder seine eigene Instanz einrichten und sich mit anderen Instanzen verknüpfen kann, ist der Phantasie hier eigentlich auch keine Grenze gesetzt: Jede Person oder jede Gruppe von Leuten könnte ihre eigene Instanz eröffnen.

Unterteilung auf technologischer Ebene (verwendete Software)

Neben der thematischen Unterteilung der Instanzen, kann man sie auch anhand der genutzten Software unterscheiden: Die Instanzen des fediverse verwenden nämlich verschiedene Software-Platformen, die sich – solange sie die selbe “Sprache” (Protokolle) sprechen – miteinander verknüpfen können. Einige Beispiele solcher Platformen sind:

  • mastodon
  • diaspora
  • pixelfed
  • friendica (wie zB meine Instanz unter
  • PeerTube
  • Funkwhale
  • WriteFreely (wie zB dieser Blog)

Diese Platformen bieten unterschiedliche Funktionalitäten, weil sie auf verschiedene Nutzungsszenarien spezialisiert sind. Mastodon beispielsweise dient dem Posten und Kommentieren von Kurznachrichten (wie Twitter), friendica hingegen ähnelt eher facebook, wo längere Posts geteilt werden. Dann gibt es noch Platformen, die sich nicht auf das Medium Text, sondern auf Bild (pixelfed), Video (PeerTube), oder Musik (Funkwhale) spezialisieren. Wie stark integriert die verschiedenen Platformen miteinander kommunizieren können (zB Musik und Text) ist individuell unterschiedlich.

Diese dezentrale Natur macht das fediverse robuster gegenüber Zensur, und verringert außerdem das Missbrauchspotential durch Instanz-Admins, da jeder Admin nur über viel weniger Daten verfügt (da weniger Benutzer auf seiner Instanz), als das auf zentralisierten Platformen wie der Fall ist.

Neben diesen Vorteilen, gibt es auch Nachteile der dezentralen Struktur, und diese sind meiner Meinung nach in erster Linie

  • fehlen einer allumfängliche Suchfunktion, die alle Benutzer auf allen Instanzen findet
  • es dauert tendentiell etwas länger Kontakte zusammenzusuchen. Man findet Kontakte hauptsächlich über die Kontaktlisten von Kontakten die man bereits hat.
  • global betrachtet, sind dezentrale Netzwerke weniger effizient (und verbrauchen daher mehr Strom als effiziente zentralisierte Netzwerke), und duplizieren mehr Daten (belegen also global mehr Datenträgerspeicher).

Der Einstieg in das fediverse

Wenn man in das fediverse einsteigen möchte, dann muss man sich aufgrund der dezentralen Struktur also erstmal für eine Instanz entscheiden und dort einen Account anlegen.

Hat man das getan, sucht man sich erste Kontakte zusammen und fügt sie seiner Kontaktliste hinzu. Hier kann der Anfang schwer sein, wenn man niemanden aus dem realen Leben kennt, der bereits im fediverse ist. Mir half hier, mich nach Kontakten auf themenspezialisierten Instanzen umzuschauen. Hat man die ersten Kontakte gefunden, geht es danach schneller voran.

Bislang sind längst nicht so viele Leute oder Organisiationen im fediverse präsent, wie auf klassischen Platformen wie, aber die Zahl wird stetig größer. Ich denke mal, insbesondere datenschutzaffinere, und techikaffinere Menschen / Organisationen zieht es hier stark hin. Abgesehen davon natürlich auch diejenigen, die von Zensur betroffen sind oder Minderheitengruppen angehören.

[cont. from Software Framework for CO2 Footprinting and co2 tracker: some progress]

My CO2 footprinting app in its current state allows me to model the things I do everyday and annotate my “events” with emitted CO2.

So one could say I advanced from the development stage to a data curation stage. Because what I have to do now is mostly to look up the emission data of the everyday things I do, up to a point to which they can be resolved and cast them into a couple of numerical values that can be passed to the emission functions of my actions to calculate emission values. Examples are, the ingredients of meals I ate, those ingredients' amounts and their respective production emission, distances between places I drove, the emission of our car per km, power consumption of the devices I use, or emission per kWh of our electricity plan.

Some surprises

I made some surprising observations on the way that put some of the things I do into perspective. Before I continue describing them though, I have to put out a disclaimer, which I'm going to motivate in the paragraphs below: The data I have in my app is of course highly incomplete! Thus, conclusions drawn from it may be highly biased. I do however think, that some general trends can be seen.

First of all, I always thought my computers' power consumption was one of the major drivers of my emissions. However, putting in the numbers I can clearly see that those are significantly lower than the ones of the true main factors. And those are: food and transportation. Since food is something one really consumes regularly, many times a day, this accumulates to much. And some of the things I eat are causing a surprisingly high amount of emissions. I underestimated the amount of variation between the different foods, and was most of all shocked by how much emissions are caused by dairy products. Also was I shocked by the amount of emissions caused by car transportation, even if driving short distance and using a small car.

Computers and such

We have an Intel NUC, Synology NAS (including 4 disks), 1x raspberry pi2 and 1x pi3 running 24h a day. The emissions of these were the first things I calculated using my app, as I assumed they were the biggest factors. They amounted to about 220-370g co2e daily (and this is a range because this is as accurate an emission value I could find for power providers in Denmark). There are also other factors I neglected because of lack of time, such as electrical consumer devices running in standby. I did investigate one other device though, and that was my stereo which uses 30W when I just let it be turned on when I'm not actually using it. Doing this 24h a day, would cause 115.20-209.52g co2e. I started switching it into standby immediately, where it then uses less than 1W. Another thing I calculated were the LED lamps in our living room. We have them turned on in the evenings. Assuming that they are turned on for about 5h, this causes 20.00-36.38g co2e per day.


I use to eat a bowl of yogurt most evenings. That bowl causes an estimated 520g co2e daily. In comparison, that is more than my NUC, NAS (Including 4 disks), 1x raspberry pi3 and 1x pi3 produce together daily when running 24h (~220-370g)! This really shocked me. A similar story is the daily oat meal I eat in the morning. It's nothing fancy: oat flakes, raisins and milk. ~311g co2e. And I didn't stop here. Another finding that didn't actually surprise me too much but rather confirmed my bad expectations is the emissions caused by my coffee consumption. Since I couldn't find emission values for the exact coffee bean I use to buy, I had to calculate a rather rough estimate across all kinds of possible coffee beans and producers. Here, the caused emissions vary extremely. When putting in all these numbers, a liter of coffee, including bean production and power consumption of grinding and brewing causes emissions somewhere between 130-900g! So even if I assume that the fair trade ecological coffee bean I buy is somewhere in the average, it's still causing around ~500g/L. And these days I – unfortunately – drink about two liters a day. So that is also quite the sizable sum of 1kg co2e daily. Damn.


The most surprising – and at the same time shocking – insight though was, that transportation easily overshadowed all of the other things of my everyday life. Taking a comparably small Aygo 1.0i for a 5km ride to the grocery store and back causes between 515.27-567.32g co2. Averaging it out and assuming we do this tour three times a week, this would cause around 270g co2 daily. This feels like an insane amount for just 5km! Then I wanted to know how much a drive of about 140km to the family from Jydland to Odense and back causes: 28-31kg co2. Assuming we did this drive maybe once a month, it would still mean it caused about 1kg co2 per day when averaging it out. Lastly, I calculated how much it causes when we visit my family in Germany (with the Aygo 1.0i). One trip is around 900km, and driving there and back causes between 180-200kg co2. Before Covid19 we did this trip once every half year, leading to a daily average of around 1-1.5kg co2. Summing all these transportations up I was left baffled when seeing how few such drives already cause emissions to climb up rapidly.

How much is OK?

After calculating all those numbers I was quite puzzled, as to whether they would leave me in the low or high end of the range – and whether the number I got out would possibly even be unsustainable. I googled, and found a page that claimed, that 3t per person per year are sustainable. OK. Other than that page, I only found pages that said, that the exact limit was not known. Which I also believe to be the true answer here. But for the sake of my argument, I would assume that 3t are the correct value. If I sum up all the values I outlined above, I would end up at about 5kg per day (correct me if I'm wrong). That equates to ca. 1,8t per year. Wow. That is already quite a lot, considering that I wasn't even close to having put in all my data into the app. So I fear that it it actually ends up being a lot higher.

These things made several things quite clear to me that we (I and everyone) have to achieve if we want to solve this climate crisis:

  • all of us need to reconsider and rethink how and what we are eating. Obviously, dairy and meat are the biggest emitters foodwise so it can't possibly be sustainable if many of us eat these things on a daily basis in large quantities.
  • transportation needs to be minimized, at least as long as the co2e/km is as high as with today's cars (and I believe that to include electrical cars, as their production footprint is so much higher). This is something, that has to be tackled on the political level by governments: jobs and families have to be located close together. I don't see this working out, if people need to commute and drive long ways with their cars.

Ok. What are the challenges?

While using the app and filling it with life by putting in the emission values and functions, I stumbled over several challenges.

The biggest one is clearly, that emission data is only available up to a certain degree and resolution. The emission of our car for instance is only given as a single average emission value, but not as a function of the speed. Hence, assuming this value for a fast ride will underestimate the emitted co2.

Also, some data is simply not available at all. While I could find production emissions for the basic foods, for more complex composite foods such as Prinzenrolle there is simply no value available. My solution here is that I calculate the emission as the sum of the production emissions of the food's individual ingredients.

Another example is, that I couldn't find an emission value per kWh for our exact electricity provider and power plan, but only a general average one for whole Denmark. This completely neglects that some people intentionally pay more for a regenerative power plan.

The same lack of data resolution was present also for other things:

  • imported vs. local foods: the transportation chain seems to be mostly neglected by the sources/databases for emission values. Here it will make a huge difference whether a food is consumed locally or after export
  • same type of food but of different producers: most databases provide a general value per food production, completely independent of where it is being produced or by which company

So generally, there is only so much one can do in terms of tracking the own emissions, simply because for many things there is no emission data available. I would love to build this project up and provide producers of goods with an API that they can use to feed in their emission data directly. Right now they don't even have this kind of data themselves, and hence I do think that this is another aspect governments should put focus on. Being able to trace the caused emissions as far down these complex paths, would allow consumers to make more sustainable life decisions about what to eat, where to live, how often to drive, or where to look for a work place.

Apart from the data availability and quality problem, another problem is the usability of the app. It's simply not motivating, having to go through an unresponsive website to fill in complex data about what one eats, where one drivers or which device one uses. This process should be much simpler, for people to actually keep using it. I observed this with myself. Once I reached an OK level, I just stopped filling in data because it was too tedious.

Despite these challenges though, I would still claim that I gained valuable insights into my emission footprint caused by things I do everyday. I don't think this idea is a dead end, but of course its accuracy is bound by the resolution and accuracy of the data it curates. But if people only got as many insights into where their emissions are coming from as I did, that would already be a huge success for me.

What next?

There are many things one could do next. They basically follow from the challenges outlined above.

  1. Manual data curation: Filling in more data, and thereby making my own footprint more complete and accurate
  2. Mobile app: Using the website to fill in the things while I'm doing them is unacceptable and inaccessible. I would love to develop a mobile app to be able to connect to the website. Doing data curation on the fly, when only one hand is free would automatically boost step 1. (at least for me)
  3. Connecting this project with other emission data providers, providing query interfaces, maybe importers.
  4. Getting good producers on board, that could directly contribute emission data for their products.
  5. Making the project public and getting in touch with other developers that see a prospect in the project

As of now, I'm undecided what I will do next. I put the project on hold for about a month now, due to personal and professional stress levels. I'll have to see, when I'll have the energy to do some more work on it.


Streb' danach Wie sie auch damals schon alle taten In letzter und vorletzter Generation Nach der Erfüllung.

Tu' was dir jetzt wichtig ist. Denn in 50 Jahren wird dein Kind sitzen Und deine Taten hinterfragen bei leuchtenden Dias.

Was sie alle aus Überzeugung taten Ohne dass ich es sah und wusste. Was tu' ich, das meiner ebenso authentisch ist? Alsdass in 50 Jahren meine Kinder sitzen und finden, ja das macht Sinn.

Und so wird dein Kind nicht das selbe So wie du vor 50 Jahren tun. Doch das wichtige zur Erfüllung, und wird seinerseits ein Beispiel sein.

I have been looking for a photo management software for a long time, that allows me to manage our pictures, host and share them, provides a sleek UI, and has some cool features that make my life easier.

For quite some time (and still), I am using Nextcloud to do this, but I always disliked its inferior performance due to PHP. Recently, they also completely replaced their pictures app by a new one, which, apart from the fact that the app seems far from feature-complete and polished to me, made me realize (again) that photos are not a first class citizen in the Nextcloud universe. It's just one of many aspects, that Nextcloud wishes to provide.

I have been trying alternatives in the past as well, but Piwigo's development is too slow for my taste and they do make the impression on me that they feel rather cozy in the place they are in now and don't seem to be looking for cool ways to expand upon Piwigo's feature-set. The main thing that annoyed me with Piwigo was its lack of a proper Android mobile app, and its UI.

Up to recently, I exclusively looked for open-source solutions that could fill my photo org void. During the last days I played around with the Moments app of my Synology NAS, and was actually quite fixed by some of its features. It provides AI-supported auto-tagging and classification of pictures. It can detect faces. It provides a sleek timeline of pictures, which is nice to browse through. Generally, I felt its feature-set came pretty close to what I was looking for. Unfortunately, I very much dislike the fact that it is closed-source and that I am not entirely convinced of the quality of Synology's support. Also, performance on my NAS (which is intentionally chosen power-consumption friendly) is subpar.

Then, some days ago I stumbled over #photoprism, which is a relatively new project but it already now seems like a really promising candidate. It has AI-driven classification/tagging of pictures, has facial recognition as well as web-sharing on its roadmap. Most importantly, the project's main developer (lastzero) seems extremely motivated and has a clear perspective for the project that aligns very well with how I wish my picture org software to be. This is awesome and clearly something that the other projects I tried so far were lacking. The fact that then completely won me over as a fan was that he created a ticket to add ActivityPub support to the project. So obviously, this is a really cool project that I would love to continue evolving and succeeding in finishing its roadmaps.

I have it installed locally now, but it's not yet feature-complete enough to replace Nextcloud for us. Nevertheless, I want to give photoprism's development a boost and hope I can do so by sponsoring lastzero on GitHub sponsors.

Check the project out here and here and become a sponsor as well!

[cont. from Software Framework for CO2 Footprinting]

I've been coding on my #co2 #emission #tracker project for about a month now and there has been some (limited) progress, that my (limited) available time would allow.

First of all, I feel very positive about what level of insight and awareness the project could already give me despite the early stage it is in.

I've started by evaluating some web frameworks' facilities for quick prototyping and iterating. I looked at Spring Boot, Groovy on Grails, and #Django. I had worked with all of these before, not extensively though. I decided for Django in the end, as I knew it was pretty straight forward and quick to get a project started, so perfect for my purpose. Groovy on Grails seems okay in that regard as well, but I am hesitant to use it in any of my projects, as I've heard negatively about it's lead developer and the project's community generally seems to have trouble with breaking core changes in releases and keeping up with adapting their plugins without which grails is pretty bare-stripped. Lastly, I also looked at Spring boot and while it seems good for sophisticated projects, it is also A MONSTER in complexity and it felt not well suited to quickly get a project up and running and iterating on it's code.

Use cases

Then, I decided on some core use-cases I wanted the project to be able to handle and started fleshing out data structures to model these:

  • Driving car $c$ with average speed $s$ km/h over a distance of $d$ km. Car $c$ having an engine that produces $e$ g co2/km
  • eating $x$ kg of $f$, $f$ being produced with $e$ kg co2e.
  • using electrical device $d$ for $h$ hours which uses $p$ kW. Having an electricity provider which produces $e$ g co2e / kWh

Django Models

With these first use cases I started designing my Django app. However, I realized early that I didn't want to hardcode the available domains (e.g Car or Device), but that I wanted the user to be able to specify them via the UI. This prevented me from just defining all domains involved in my use cases as Django models. This would be the easiest solution by far, since I could then have leveraged the typing system of Django to describe properties of domains and such. But a tool where one needed to migrate changes to the database schema and restart the whole app each time the user wanted to add, delete or alter a domain, was a deal-breaker to me.

Hence, I came up with the following Django models, which would allow the user to define domains, actions, variables, values, events, all via the UI without needing to change the DB:

  • An action describes one particular or a class of emission-producing real world actions a user can perform.
  • actions have variables which allow them to describe multiple real world actions. For instance, the action “use electrical device (device:Device)” can describe both using a coffee machine, or a laptop.
  • variables are typed, i.e. are assigned one particular domain
  • an event takes an action and binds all its variables to values. This describes a user performing a specific real world action at a certain time, producing a computable amount of emissions.
  • a value is a concrete object from a domain, which can be bound to a variable of that domain. In fact, several values of the same type can be bound to one variable (if the variable is defined as such).
  • a value can have typed subvalues which can be interpreted as properties of the value itself. For instance, values of the domain Car must have a subvalue of domain Engine, which in turn must have a subvalue of domain Emission g/km.
  • an action has an emission function that describes how an amount of emission (in g) can be calculated from values assigned to its variables. This emission function is evaluated for each event of that action.

Using the app – filling the models with flesh

I started using the app and filling the DB with domains, values, actions, variables, events, and some other supplementing types of models, that would describe the things I had been doing, eating, or using these days. That this turned out to be more tricky than expected and what sort of things I could learn from it nevertheless I'll describe in the next post (cliffhanger). Da da bum! :–)


Nachdem wir hier in einem ländlicheren, stark landwirtschaftlich genutzten Vorstadtgebiet auf Jütland im Winter fast nur Krähen und Elstern zu Besuch hatten, sehe ich in letzter Zeit erfreulicherweise auch einige kleinere Vögel, zB. Bachstelzen.