Today I handed in my first #ProductProposal 🥳

Written by  on August 29, 2022

And it was quite fun to write it.
Since pitching products is not my day-to-day business I spent some time to research how to write such a proposal. My first search results were aimed at “elevator pitches” or “startup pitches”. So I had to dig deeper ..

Anyway: due to confidentiality I can’t show-case anything here. I can only share this: I drew some #mockups with, put in the technical features and spent the majority of the time on writing a teaser. Something which will catch the audience immediately and makes them think: wow, we really have to sponsor this project!

Oh, why do I say “we”? #datamodul opened an innovation contest to source the ideas of their employees. Quite a clever idea. And a team can achieve so much more than a collection of individuals.

So .. even if that proposal is a dud, I learned some things, especially about writing a proper introduction. My first iteration was quite technical 😅

# Lessons learned:
* How to do a proper pitch, reduce technical details, appeal to a #vision, create a pitch deck with slides
* But also: go fast, break things. Too much time was spent on refinement and polishing. I had set myself an arbitrary date six weeks ago and in retrospective I had already 80% of the material at that time. I’ll be better next time: #time-boxing upfront.

Coursera: project management

Written by  on August 9, 2022

I’ve finished the “Foundations of Project Management” on the weekend. This is the first milestone out of six for the “Google Project Management: Professional Certificate”.

This was my first Coursera-online learning-experience and I liked it. A quite refreshing mix out of videos, quizzes and reading which kept me on track. Even finished some days earlier than anticipated by the regular four week-schedule 😅

I’ll definitely continue because my day-to-day business requires a lot of management .. and even with some hands-on experience, there is always the opportunity to improve.

The best weather app so far ;)

Written by  on August 5, 2022

People love forecasts. And almost everyone I know has one or two apps on their device to check it.
But nothing beats
while :; do clear; curl; date; sleep 60; done

ssh: unable to negotiate – not matching host key type found

Written by  on July 1, 2022

Unable to negotiate with port 22: no matching host key type found. Their offer: ssh-rsa

more details:
ssh -vvv root@

then fix by saying which type to use:
ssh -vvv -oHostKeyAlgorithms=+ssh-rsa root@

Else adapt the config. See


edit: since there was still a problem with deploying binaries to the target (embedded device), I’ve edited the ssh-config:

cat > ~/.ssh/config
Host 192.168.100.*
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

Enter + CTRL+C, done :

Fresh Raspberry Pi 400, but package-manager ‘dead’

Written by  on March 10, 2022

It’s never early enough to inspire, so my firstborn got two days ago her first own computer. I don’t want that she grows comfortable with touching a smartphone, but not knowing what happens in the “back”, so she got a Raspberry Pi 400.
I did not expect that the red-white color-combination of the keyboard-like module with it’s raspberry-button will spark so much joy!
The first evening we unwrapped everything and she put all cables in and we booted it right from the preconfigured sd-card. Nice, very comfortable.

Then I wanted to run ‘apt-get’ to fix the updates and maybe install a paint-like program ..

Repository ‘ buster-updates InRelease’ changed its ‘Suite’ value from ‘stable-updates’ to ‘oldstable-updates’

So neither apt-get update or any of the first tips I checked, worked. Until I found this:
sudo apt-get update --allow-releaseinfo-change

Problem solved, but – would a newcomer or young person be able to fix this?
I doubt it. This isn’t really user-friendly ..

Anyway: Since update of the distribution from ‘buster’ to ‘bullseye’ by editing two package lists did not really go well, I’ve deployed a ‘real’ bullseye-image onto the sd-card and we fixed the rest of the configuration in minutes 🙂

external backups pt. II

Written by  on February 23, 2022

The worst archivist?
Of course, I know him.
It’s me.

So, some month ago I was writing about how to create and maintain some external backup [link] from data stored on the NAS.
I’ve also put some fancy commands, but when I wanted to do the scheduled refresh of the backup, I noticed, that my ‘documentation’ is without any value.
And this is due to continued iterations of the setup and the used commands, but not updating the documentation.


* activate the rsync-access on the DS213 via UI (else ‘permission denied’ is reported even when you can SSH in and check the rsync-version and then wonder what fails ..)
* plug the external HDD to the Raspberry Pi 3B

* run via VNC-remote-login in a bash on the RPi

rsync -avrh admin@ds213:/volume1/Photoshare_privat/ /media/pi/1.42.6-25556/Photoshare_privat/ && rsync -avrh admin@ds213:/volume1/homes/Marcel/ /media/pi/1.42.6-25556/homes/Marcel/ && rsync -avrh admin@ds213:/volume1/homes/ruzica/ /media/pi/1.42.6-25556/homes/ruzica/ && rsync -avrh admin@ds213:/volume1/homes/admin/ /media/pi/1.42.6-25556/homes/admin/ && rsync -avrh admin@ds213:/volume1/Camera/ /media/pi/1.42.6-25556/Camera/ && rsync -avrh admin@ds213:/volume1/photo/ /media/pi/1.42.6-25556/photo/ && rsync -avrh admin@ds213:/volume1/Musik/ /media/pi/1.42.6-25556/Musik/

to copy all relevant partitions

qmake: shared libs without versioning and symlinks

Written by  on October 12, 2021

By default share libraries have a symlink and versioning. To avoid this, add to respective *.pro:

iwyu: fatal error: ‘stddef.h’ file not found

Written by  on September 8, 2021

Include-what-you-use and Qt are not friends. iwyu-support in QtCreator is requested for a while, nobody cares.
So I installed it via apt; set an override to make and reran the build-process on a cleaned project:

Result: more than fifty errors like “fatal error: ‘stddef.h’ file not found”.
Some said that clang is missing (because that header is part of the installed package, my clang was 12 – iwyu was built against 11).
So the solution is:

‘Kein Backup, kein Mitleid.’

Written by  on July 22, 2021

A common German saying meaning “no backup, no pity”. Five weeks ago when another ransomware-wave became public and I saw the disaster with the Western Digital network-drives, I realized that despite using a NAS and regularly backing up data from different devices to this RAID level 1-device, I have no real “hard” backup. In my definition: a 1:1 mirror of the NAS-content which is NOT connected to any network at all and also stored physically in a different room or even different flat. Disconnected because of: are you sure everything is secured? Also no hidden bugs? Physically distant because of: what if the NAS catches fire and the backup is also affected?
So I did a quick review of the current state (NAS is a DS213 with latest updates; offers also USB 3.0-interface; has 2 4 TB drives insides, which are filled to 3.5 TB).
Decided to buy a 6 TB external 3.5″-harddrive (not SSD, because of possible loss of data while powered down over years) for 122 € (compared to the price of losing just a fraction of the photos – Forget it!).
Formatted it to EXT4 with some Linux. Attached then to the Synology DS213. And it was not detected, despite saying it supports EXT4. So we let the DS213 format it again (don’t ask me ..).
Let’s say it outright: I don’t want to use their proprietary backup-solutions. I also don’t want any kind of encryption.
SSH’ed into the DS213 (activated before, because off by default). Then I checked which partitions have to be copied. Puzzled together a chained rsync-command (sorted by priorities) and let it run. Detaching the session via ‘nohup’ Wasn’t working.

Turns out quite quickly that the one core-cpu of the DS213 is the bottleneck, because it runs at 100% and therefore mere writing speeds of 8-9 MB/s are achieved despite the HDD being capable of writing up to 120 MB/s. My back of the napkin-estimation is 4-5 days for all data. Next backups should run faster, because incremental. And most of the data is written once, changed almost never.

Quick summary: I was baffled that despite having some experience in IT did not have a _real_ backup before. And out of discussions with peers I know almost none of those working in IT have either.
The proposed solution will save my family and me from any 100% losses.

edit 20210801: ideas need some time to mature. Now one of the Raspberry Pi 3B takes care of the rsync-calls to relieve the real PC (host RocketChat anyway, therefore is online 24/7) and rsync runs now without compression; the resulting writing speed is now in the range of 11-15 MiByte/s.

grip: render Markdown as PDF

Written by  on May 6, 2021

.. and other things, where you assumed it should be quite easy. ..

Wrote a short guide how to verify some information in Markdown. Local rendering works (most of the time via PyCharm or online at Github).
Now: how export it as PDF, because I realized that the receiver might not be able to display it properly.

* printing from PyCharm: failed
* VisualStudio-Plugin: no VS, no plugin
* any of the *nix-ways: not possible at that moment
* using a web-renderer: not allowed, because confidental data


Python to the rescue!

Grip prepares a local flask server, where you receive a localhost:<randomport> url and just open it with the browser of your choice and then print as PDF.