This is for parents who struggle explaining to children. There’s this really old animated series “Once Upon a Time… Life” from 1986. It shows how our body’s systems, organs and defence mechanisms work. Each episode describes a different part in detail while the battle against viruses and bacteria that threaten the body is never ending. The series was translated to various languages so chances are good you’ll find it for yours as well.

My little ones suddenly wash hands [and don’t cheat while doing so]. This series, and the lesson with hand cream and glitter to show how germs spread, really helped. The kids now have an understanding why washing hands is so important by now.

Examples from the series made it easier for us to explain the current situation to them. Beside that they learned a lot of other stuff as well, of course 🙂

Today I had to access my computer via VNC. There are several manuals how to enable VNC on a typical Linux desktop nowadays. It usually involves some sort of clicking on Sharing => Enable Screenshare and you’re done. It’s really that easy.

How would I do this however remote when I can not access my already running desktop computer via VNC? SSH is enabled on my machines since most of my work involves jumping and tunneling my way through various networks to get stuff done. Just forwarding X was not enough today.

Turns out this is really easy as well. The screensharing feature on my distribution is done with Vino. That’s an integrated server for and this is exactly what the user starts by enabling the screenshare feature. Since is part of gnome it can be configured using gsettings.

So after enabling the screenshare for testing on my laptop I tested for all existing keys by running this listing:

gsettings list-recursively | grep Vino

It’s really short and basically all settings are no-brainers. Only the password had me wondering but it turned out this is just base64 encoded (and also optional). All that is left is running the vino-server binary in the end. This needs the correct environment variable $DISPLAY set since our target is a running X session. This one we can determine by executing the command w and looking for the TTY in use. Hint: It’s :1 in this case.

 beko  ~  w
  20:35:15 up  5:12,  1 user,  load average: 1,92, 2,33, 2,37
 beko     :1        15:24   ?xdm?   2:02m  0.00s /usr/libexec/gdm-x-session --run-script /usr/bin/gnome-session

Oh and you should also not connect with the X11 forward option -X because running the vino-server with this will result in some really funny endless picture in picture mode that I did totally not try out by mistake 😉

Now that I had all the information I needed I hacked together this little script that does this more or less automatically so I can forget about this again [and look it up two years later in my own blog]. It’s really crude and your mileage may vary. It does not account for multiple users or multiple running X Sessions:

export DISPLAY=$(w -oush | grep -Eo ' :[0-9]+' | uniq | cut -d \  -f 2)
echo "Display is $DISPLAY"
gsettings set org.gnome.Vino require-encryption true
gsettings set org.gnome.Vino use-alternative-port false
gsettings set org.gnome.Vino disable-background false
gsettings set org.gnome.Vino alternative-port 5900
gsettings set org.gnome.Vino icon-visibility 'client'
gsettings set org.gnome.Vino disable-xdamage false
gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption true
 is just base64 so basically just echo -n 'awesomeness'| base64
gsettings set org.gnome.Vino vnc-password "YXdlc29tZW5lc3M="
gsettings set org.gnome.Vino view-only false
/usr/libexec/vino-server &
export VINOPID=$!
echo "Try vnc://$HOSTNAME:5900/"
echo "vino-server pid may be $VINOPID"

And that’s it. There is no root or sudo involved.

Example output executing the script

Don’t forget to kill the pid when done 🙂

Evaluating finally myself. All I know of it before was from presentation or FAQ and I recommended it a lot already as your one-stop solution. Time to take a closer look myself. My first trial expired because I never finished the sign up process when confronted with adding credit card information upfront. I hear this is not or no longer required and @manton, creator of all this, kindly reset my trial.

So far I’m pretty impressed. Oh and it’s also powered by – my latest favourite toy I started playing around with 😀

Oh wow. I’m following @Rob_Marshall for quite some time now but this one beats it all. “Wolf At The Door” is an interpretation of the siege of Stirling Castle in 1304.

There’s also a production video beside the rendered images and a lot of background information on the siege itself. Fiddling with Blender myself I’ve quite some understanding about the process involved so I can’t stress enough how freakin awesome this work is:

Featured Image © as of Bob Marshall’s Non-Commercial Image License Agreement

Dieser Tage dem Housekeeping zum Opfer gefallen: Die Parteizugehörigkeit zur

Mit dem Wegfall meiner 4-stelligen Mitgliedsnummer 34** erinnere ich mich gerne an die Anfangszeit. Die für mich so wichtigen Kern-Themen sind inzwischen in der Gesellschaft angekommen, womit sich meine Gründe für mein damaliges Engagement erledigt haben. Ich bin davon überzeugt dass vieles deutlich schlimmer hätte kommen können.

Inzwischen ist immerhin ein gewisses Bewusstsein für Datenschutz und Privatsphäre entstanden, was sich in Gesetzen wie dem (DSGVO) niedergeschlagen hat.

Wer sich nicht mehr erinnert, wie die Netz-Politik damals in Deutschland aussah, kann das Gedächtnis zum Beispiel im Archiv des auffrischen.

Übrigens: Ich bin sogar weiterhin mit dem Parteiprogramm ganz einverstanden. Trotzdem fühle ich mich nicht mehr zugehörig und habe den Anschluss verloren. Damit ist das alles wieder bei Theater angekommen – und hier findet man den höchsten Unterhaltungswert gerade anderweitig *zwinkersmiley.

Most Linux users know some systemd by now. There is systemd stop $someservice and systemd disable $someservice. If you think that’s all one has to know about systemd you’re missing out on a lof of features. That’s not the story for today tho.

Some services tend to come back even when disabled and stopped. Socket services come to mind. This is e.g. the case for rpcbind starting a portmapper service on tcp/111 that can be used for a DDoS reflection attack. There are various ways to deal with this from uninstall to firewalling or to mask this service. Since everbody on Linux gets to pick their own poision I decided to use mask to make sure this can simply no longer start without having to break dependencies by removing it or fiddle with the firewall:

systemctl stop rpcbind.service
systemctl mask rpcbind.service
Created symlink /etc/systemd/system/rpcbind.service → /dev/null.
systemctl daemon-reload

A masked service can not even be restarted manually any more. It’s dead in the water as long as this symlink exists.

Read more on this from Poettering himself:

Visited Berlin / Germany for the to learn more about the . We changed plans last minute and went by train to the camp when we found out about the new and kinda cheap from Stuttgart to Berlin.

Tram station in Berlin

The itself has been a blast. The location was the office grounds of Mozilla Berlin and we were even offered a tour to take a good look at it (and it’s coffee machines).

The group was a very mixed bunch from various places. Some even took planes over the ocean to visit the camp on the continent. It’s nice to put faces on people I only knew from reading so far and I’m grateful for this chance.

Tantek Çelik speaking

The first day was all about getting to know the people. Organizer Tantek Çelik invited everyone to speak up and introduce themselves and their websites so we got a lot of examples of itches already scratched with principles.

We also learned about the OptOutTools project from the keynote speaker Teresa Ingram with the bold claim to work on AI capable of detecting misogyny online. It’s browser extention is designed like an ad-blocker or personal firewall where the user can decide how much of offending text may be displayed (or even none at all). Undetected phrases can be added to the filter to train it even more as well.

This resulted in a lof of discussion about intented and unintended side effects and how and in what ways speech will change and how people will try to break it. Detecing e.g. hate speech by AI is a goal even FB was (officially) not able to tackle so far. I’m very curious if and how this succeeds so I’ll keep an eye on their GIT repositories.

Learning about RFC 6920

Parallel other talks were held in various rooms. This way I learned about the proposed RFC 6920 on Naming Things with Hashes or a quick introduction to held by David Shanske. There were also some less technical discussions. Two teenagers attented to the camp as well so we had a talk about what’s in for them on the and we learned about TikTok dances. Some did their very first TikTok dance this day. So perhaps we’ll soon see a or provider for .

The evening was all about finding food for a group of ~15 people. That wasn’t an easy task. Berlin is an ever changing city and all restaurants were packed or gone for good. The online informations are sparse on this and way to often badly out of date. We were about to give up on this when we found a really small store that switches to some sort sort of food place in the evenings usually only visited by the local neighbourhood. They threw a bunch of tables together for us and somehow we all squeezed into it. Such a cozy and friendly place. I loved it and that night became a really short one for us.

The next day was about getting things done – a hard task beeing sleep deprived from the travels and short nights before.

While some just offered assistance others had more pratical goals in mind. This ranged from setting up a new enabled blog to hacking on gallery systems, location visualisation or in my own case on my provider for

It’s really nice to see how other people work and get their projects done. Everybody has some very personal workflow here and I enjoy peeking over people’s sholders and catch a glimse of this.

In the end everybody got a chance to show what was achieved or learned. I got my prototype for backfeeding reactions going and used the chance to show this to the audience off the record without the cameras going. Okuna is still in closed beta so I’m sensitive on this topic. As mentioned I always have some invites to give away. I’d love to see more IndieWeb users on Okuna as well. I’ll need lab rats testers for my bridge soon anyway 😀

That was a great weekend and we met some awesome people at the camp. Of course we also snatched a bunch of new stickers and we ate as much candy from the stashes @MozillaBerlin as we could. Always fun to let the inner Geek run wild on such events 😉

One of the things about I love most is it’s flexibility. This may astonish some but I am gaming on my Linux system for approximately 15 years by now. Situation for improved a lot lately but it was always possible to keep myself distracted 😉

So one of the games I just love to play is XCOM (UFO series). I don’t think I skipped any part and Terror From The Deep will always have a special place in my heart. Anyway, when XCOM was relaunched and eventually ported to Linux by Feral Interactive in 2014 I thought I couldn’t have been happier. Firaxis Games topped this in 2016 with XCOM2 and Feral Interactive once more got the job for the port.

Sadly with all the expansion sets it takes quite a toll on the required hardware. Huge fan of all sliders on maximum and see how it goes and while my box can mostly keep up I notice that I run out of RAM towards the end of the game fast and my machine starts swapping. I’ve 16GB RAM and this game eats it away like children their candy.

I’ve got additional 4GB of swap installed on slow spinning rust disks (legacy) so I notice the moment it starts swapping like hitting a wall. After another frustrated restart of the game I paused for a moment. I don’t know why this games needs so much RAM and frankly I don’t even care. Maybe I’m spoiled nowadays since stuff tends to “just work”.

So I decided to throw more power at it but RAM is expensive and I usually have enough of it for my daily work (or other games). I did get a decent SSD (Solid State Disk) recently tho so it’s to my rescue:

swapoff -a
fallocate -l 16G /games/swapfile
mkswap /games/swapfile
swapon /games/swapfile

…and that’s it. I stopped my previous slow swap partition(s), created a new swapfile of 16GB size on my SSD, formatted it as swap partition and activated it. Now I tabbed back into my game and enjoyed the rest of the evening. Let it swap. The SSD can keep up with it. Not minding a few more seconds during loading screens 😀 I’m considerung to add the activation sequence to my “gaming mode” script.

I’m dabbling in for some years by now when I decided to go full electric in 2016. My reasons didn’t change much and it’s time for reflecting on the topic.

The beginning was rough for various reasons. Our local car dealer f*cked up so we shred the initial offer. When we looked around for another dealer we got a recommendation 50km away from home. This one knew his trade, the car and enough of this brand new internet tech to send us a new contract within the hour. Impressed by this we finally ordered our ZE40 .

Fun didn’t last long tho. We were simply unlucky with the AC/DC converter. It was busted within days and we didn’t see the shiny new car for another ~three weeks.

That was kinda disappointing and I worried for several weeks whether this was really a good decision. There was however no further trouble after this incident for years. I started to get to know the car better due to my daily commuting, experienced various recharging challenges, poked around on the car’s CAN bus, installed a charger at home and… bought another .

This time a used ZE model from 2014 with the smaller battery. It was meant to replace our T3 van, that did see daily action until that for shopping, local errands and family taxi. Today it’s mostly used by my wife and parents-in-law leaving their old ICE car to rust as well. This unplanned acquisition was a direct result of our experiences with the ZE40.

It’s like a virus and spreads. Once you try there is no going back. are plain fun, elegant quiet and there is this tingling sensation of experiencing the future early. I tinkered a lot on my combustion cars, especially the vans, in my life. And I don’t miss a thing. Whenever I’m back in an traditional ICE car it feels like yesterday. It’s noisy, everything shakes and rattles and it smells of fumes.

It’s a great bonus that there are no fumes emitted at the eye height of my children.

Beko Pharm

This isn’t even about environment considerations. It’s a great bonus that there are no fumes emitted at the eye height of my children, of course. I won’t go into the regulars’ table talk about the negative aspects of . They apply to any mobility and “alternate facts” on this topic are debunked on various scientific essays on the net. We all know that cars are and will never be “good” for the environment. We’re countryside. This is as good as it gets.

So yeah, as I mentioned we’re in the countryside. Black Forest to be specific. We get snow here. And this is another plus for the . While the old 2014 edition has apparently ~5° less heating capabilities Renault really did their homework starting with the next editions. The older one could really need a seat heater while the new one has enough power that this is no issue. Both don’t need ice scraping though. Pre-heating (or pre-cooling in the summertime) is key here. This can be done by timer, remote, or, if you feel really lucky, by app. This is luxury!

The had to prove itself as transporter as well. It is simply amazing what can be loaded into this small car. It’s an underestimated space miracle. Especially when the backseats are removed (or at least folded down). I wasn’t sure I could fit everything inside on my first trip to Ikea. So I had to go inside twice to get the rest from the list 😀

Needless to say that excursions are also absolutely no problem. My website is proof of this since various articles and galleries here are the result of trips we used the for. Winter, summer, weather, distance, whatever. Chargers or outlets are everywhere, and in most cases we stopped because of the kids needing a break or when we arrived at our destination, and not because the car needed a recharge. So while we ate, or checked out cool locations, the car recharged having nothing better to do at such times anyway. We never stranded and while we carefully watched the available miles and capacity in the beginning we basically stopped caring about this at all. We know it’s always enough [for us].

Battery lifetime. It’s a gamble. I know the datasheets, the promises, the waranty. As a programmer and tinkerer I poke at such things. So here is today’s values for the SoH (State of Health) for our batteries:

  • ZE 22 kWh (rented) 39.086 km 97% SoH
  • ZE40 41 kWh (bought) 31.392 km 97% SoH

That is within the expected degrading curves and I’m not worrying too much about this. Just checking it regulary with the CanZE app in the hope to find broken cells early. Usually it’s bad luck if this happens at all. Otherwhise the batteries are doing a decent job here and it’ll probably be years before my 41 kWh battery will see it’s second life as buffer storage. Especially since I didn’t drive nearly as much as anticipated. My work situation changed and I got a lot of home office reducing the need to commute greatly.

So yeah, after several years and plenty of commuted miles to the office, customers, excursions and trips I’d never go back to an ICE. This was the right decision and even cheaper in the long run compared to any of my old cars. The ZOEs are up for any daily challenge for a family of four and even some occasional car sharing.

And yet – sometimes I’m reminded that this is “just” a french car. Seals of the cooling system e.g. suck (and this coolant is freaking expensive). The software, connectivity services (app) and especially the shipped TomTom is/are awful. That includes the scheduled ripoff for programming the RDKS each time. The headlights are really bad and from all EVs I tried over the last years the ZOE has the worst speedup, antenna, power usage and fewest assistants. Cruise control is decent tho. There are better cars. Better EVs. Mayhap even the new ZE50 out now.

Went for a walk with my family today. What was meant as a short walk resulted in an two hours excursion. The forest is an awesome place to be in autumn. While not yet frozen over the winter it’s still rich of life and beautiful colours.

Even the continious rainfall could not ruin this. We had good jackets [that could not quite keep up with my medieaval Pileus (hat)] and boots. Such a long walk was also quite an adventure for the children who somehow managed all of this without [the usual] complaining =)