#weeklyreview 11/24

Over the weekend I was fighting with the NextCloud All-in-One Container setup. It’s supposed to make the setup easier and convenient, but in my case it didn’t really. I tried also the normal mere PHP Installer on a web server. But that setup requires me to maintain the Database and additional components like Redis cache and so on myself. I wanted to have all the needed stuff in Docker containers and behind my default Reverse Proxy Traefik. Usually one gets a docker-compose.yml file with all the services and thats it. NextCloud chose a different route and is using a setup container to pull and bring up all the application components. They don’t provide a docker-compose.yml with all these components unfortunately.

But eventually I’ve got the thing running and snug behind by Reverse Proxy which takes care of the SSL certificates.

Cold?

I think a brought back a slight cold from the weekend. Went to bed with a stuffy nose and slight headache on Monday evening. Decided to stay home on Tuesday and figure oute whether thats a cold (or even COVID) or maybe just allergies. Took a COVID test which fortunately turned out negative. Went for a short run in the park to see whether my endurance is impacted. Doesn’t seem to be. So just added a few freshly made ginger shots. Felt much better on Wednesday already. Guess that was a short cold or something then.

Stammtisching

On Wednesday I went out Stammtisching with two friends and learned a lot about Berlin night club scene. Maybe a bit too much …

Unfortunately the waiter at the venue showed his misogynist side and treated by female friend rather badly. She had him reported to the manager and filed a formal complaint against him. The guy was treating all women rather badly. Commanding them around and didn’t pay attention to them.

He even had the balls to approach us outside after the complaint and ask what he was doing wrong. Say that he didn’t do any misconduct. But in that only addressing me and my other male friend. Not even looking at the woman among us.

He’s got a passionate and enduring enemy now …

Nails

Thursday was about time to get our nails done again. So I brought my wonderful pouch to the office and we practiced our nail game.

That same night our notorious Beer & Burger crew finally met for another session and my dear friend Klappstulli gifted me a stunning new color of nail polish

Ray Cokes

This week I saw a post on Insta that the Berlin based radio station “radio eins” will host a new live show by Ray Cokes. Yes! The Ray Cokes who hosted MTV Most wanted in the early 1990s.

Why is that so remarkable for me? Because I learned English by watching MTV most of the time in the early 1990s. And especially Ray Cokes and Steve Blame shows on MTV. I opted out of English lessons in school (yes, that was possible at some point) as I felt I don’t learn much new from the teacher at that time.

We actually had a legendary good teacher at my later school (Gymnasium). But unfortunately he wasn’t my teacher and I had already opted out then.

To my regards these lessons actually worked out good enough to admit me to the higher level English course during my apprenticeship at SIEMENS NIXDORF. During the screening test for the courses I thought I’d make it only to the entrance level course as an Ossi. But turned out my English was already pretty good. I was just lacking speaking experience.

I thanked Ray Cokes for teaching me English back in the days and I’ll definitely going to listen to that radio show.

Alice & Bob

On Friday I attended a workshop and get-together of the Alice & Bob Company. That was founded by a friend and ex-colleague of mine a few years ago. They showed how they’re helping their clients to build a digital foundation for their businesses and help them keeping the complexity of that foundation in check. I’m always happy and proud seeing friends founding and running their own companies successfully.

Felling trees

On Saturday we feel a dead tree in our forest. The pine died from a strangling fungus infection a few years ago and was at risk of falling in the next storm. So we took it down. The fungus it was suffering from caused the trunk to saturate with natural resin at a certain height. This resin saturated wood can be used to kindle a fire. It was even used instead of candles before the 20th century.

#weeklyreview 10/24

Wow… 10 weeks into the new year already. Time is flying fast.

Of course we started the new week with swimming again. This time we also brought a thermometer and can tell that the water was 6º C. Water level in the lake is back at where it was last year this time. That is good.

Vabali

I had gotten a voucher for the Vabali Spa in Berlin for my birthday. This week it was about time to use that. The weather was set to be perfect – cold and sunny. So I booked a slot for the early morning and enjoyed 5 or 6 sauna sessions while continue reading “The man from the future” – The visionary life of John von Neumann.

Still blown away by the life of von Neumann and also the book. Very well written with lots of background information. I can highly recommend. There was even a chapter about 3D printers

The Spa itself was very good. Lots of space, many large saunas and some pools and hot tubs, several bars and a restaurant. But even on a normal workday it gets rather crowded. Not so much that you don’t find a spot in the sauna, restaurant or the many many relaxation areas. But still quite a bunch of people to ignore. Cause apparently there is a high percentage of people which use this for a show off.

Missed my running sessions this week as both my running partners bailed out. Only 3 gym session this week. But managed to increase my daily push-up score from 20 to 30 💪

International Women’s Day

Lucky enough this day is a public holiday in Berlin. So we could leave for the countryside on Thursday evening and enjoy the sunny Friday in the Uckermark. Of course most places were crowded with Berliners …

Saturday kiddo and me visited my old biology teacher for a coffee. One could consider this kind of preparation for the presentation about the local flora & fauna by one of the village residents in the evening 😉 . Very interesting what rare species we still have around here. He presented a whole lot of pictures and plants, birds, insects and amphibians etc. And of course a lot of knowledge and stories around the same.

#weeklyreview 09/24

3D Printer calibration

I was generally happy with my 3D printing setup of Klipper and the Creality Ender 3 V2. Especially the KAMPS plugin seems to make for a much better 1st layer.

But lately it problems with the 1st layer sticking to the bed and the bed mesh picture showed that my bed seems to be severely tilted and needs calibration.

One disadvantage of my Klipper setup is, that the printers Display doesn’t work anymore and I can’t trigger a manual bed levelling at the printer itself. But I found the slightly hidden settings in Klippers Web Interface to trigger the leveling.

It’s called “Bed Screw Adjust” and hidden behind the 3 dots menu of the toolhead widget.

After that adjustment I saw that my bed seems still below what the software considered as Z-Axes 0. So I also calibrated the Z-Probe again.

Finally that made a difference and the 1st layers are perfect again.

The next thing I was curious about was the extrusion. My prints were generally good I’d say. But I was wondering whether the extrusion factor was correct. Klipper calculates the extrusion itself using a pressure advance factor. That factor must be determined per filament type.

So I followed their calibration instructions and printed the square calibration box. This time I actually saw the difference in the changing pressure advance values of the individual layers.

You can clearly see that the corners below the red arrow bulge to the outside and the layers above shrink to the inside.

And finally we found the time to meeting @rudelbildung and @saumselig at home and also help him get his 3D-Printer set up. Turns out 3D printing is still a rather geeky sport as it has way too many things in between the model you wanna print and the actual printer. In this particular case a wrong (power only) USB cable and a changed USB device path on the RaspberryPi was a hinderance. But after fixing this, we’ve got the printer working easily.

OmniFocus 4 Update

OmniGroup released a new major version of OmniFocus this week. The upgrade was a little more involved than I originally thought. Had to write down my little sync encryption odyssey.

Open Stage

On Saturday evening there was another session of the Open stage in the MKC Templin. Artists can apply to perform and the entrance is free for spectators. This was my second visit to this event series and it was really good again. I’m still amazed to see amazing talents from the local area and also the crowd really appreciative of the event. Wouldn’t have thought this possible in my slightly dusty and provincial home town.

As often in the last years, there is always some last minute drop-outs due to sickness or other events. That is the chance for people in the audience to take the stage. To my honest surprise there were multiple people volunteering to perform and two acts were chosen by the organisers.

Jackson from Templin played guitar and performed a song about Templin that he wrote himself. It was really cool.

OmniFocus 4 Update odyssey

OmniGroup released a new major version of OmniFocus this week. So I upgraded and installed the new app on my Mac. This replaced the old app and didn’t import the old database. But instead relies on the Sync setup I guess.

I thought that wouldn’t be a problem as I’m using their OmniSync server to sync my database between devices. Entered my OmniSync credentials and thought it would just sync. But instead it asked me for a document decryption passphrase … which I didn’t recall.

Browsing through their help document it appears that when they initially introduced the OmniSync service the device used the account passphrase to encrypt the database before transfer to their server. So the database sits encrypted on their servers.

At some point later I had changed my password for the OmniSync service. But the passphrase for the database encryption didn’t change. Unfortunately I don’t remember the old account password and thus can’t decrypt the database after sync.

The app which still syncs to the server also does not show this password. I can reveal the OmniSync account password on the device, but not the encryption password.

Fortunately I still had the old OmniFocus 3 app on my iPhone with a recent copy of my data. The new OmniFocus 4 installs in parallel on the iPhone and has the same syncing issue as the desktop app. The OmniFocus 3 app can’t export its own backup for import into any of the other app instances. So what now?

I ended up turning off the sync on the OmniFocus 3 app on the phone. Then configured a new sync to my own private WebDav server (NextCloud). Idea was, that I’d sync now via WebDAV instead of the OmniSync service.

On the initial setup I entered my NextCloud username and password and clicked on “Sync”. But that gave me an error message. Because I’m using 2FA on NextCloud I first have to create an app-specific password in NextCloud. Did that and went back to OmniFocus 3 on the iPhone. But in the settings there is no fields for username and password. Just the Server URL for WebDAV. I’m starting to curse silently …

Apparently there is no way to change the credentials once you’ve entered them in OmniFocus … Found one blog entry where someone had to reset their OmniFocus database to get to change the credentials. That is what I definitely want to avoid.

Lucky enough I was able to put the credentials directly into the URL as https://username:password@server.url

This finally enabled the WebDAV sync and uploaded my OmniFocus database to my NextCloud server. I then entered the same settings into the OmniFocus 4 desktop app. Now again it was asking me for a decryption passphrase …

I checked the OmniFocus 3 app on the phone and revealed the password in the WebDav settings. Surprisingly this was a password I recognise. Not the one for my OmniSync account and not the one for my NextCloud account. Nor the app specific NextCloud credentials…. I have no idea where from OmniFocus was pulling this password…

And of course … this password I tried with the OmniSync service for decrypting the database. But it didn’t work either.

At least I’ve got a working sync now after the upgrade to Version 4 …

#weeklyreview 08/24

18.02. – 24.02.2024

It seems like spring is coming. It’s way too warm for what used to be the coldest month of the year. The crocuses are coming out all over the place.

Berlinale

Watched “Treasure” from Julia von Heinz at the Berlinale. Invited by my friend Sam. She got us the tickets for Thursday night. The movie is the story of a daughter and father visiting the fathers childhood sites and concentration camp (her father is a Jew) in Poland. Very good story and very good play by Lena Dunham and Stephen Fry.

3D Printing

printed some door hooks to hang them shirts

Nocci posted the first part if his Spoolman series. A tool to track your filament spools for your 3D printer. I did my own installation of this nifty little tool the other week and had to fiddle with some Traefik settings for it as described here last week.

And after several weeks of rain and grey skies the weekend finally had sunshine all day long.

#weeklyreview 07/24

11.02. – 17.02.2024

Due to some scheduling mishap I went swimming two times that Sunday. We originally had an appointment for 11:00 am but the guys didn’t show up (of course I still went for a swim). Then the other half of the group agreed on a 1pm meet up. So I took a second round. The lake also gained quite some water over the last weeks of rain. We seem to be back at the level were we’ve been last year this time.

Traefik config voodoo

If you ever need to configure your container in a way that Traefik will allow traffic coming from specific IPs, but require HTTP Basic Authentication from all other IPs … this is how you’d configure this:

    labels:
       - "traefik.enable=true"
       - "traefik.http.routers.spoolman-internal.rule=( Host(`spooly.example.com`) && ClientIP(`192.168.75.0/24` ))"
       - "traefik.http.routers.spoolman-internal.entrypoints=websecure"
       - "traefik.http.routers.spoolman.rule=Host(`spooly.example.com`) && !ClientIP(`192.168.75.0/24` )"
       - "traefik.http.routers.spoolman.entrypoints=websecure"
       - "traefik.http.routers.spoolman.tls=true"
       - "traefik.http.routers.spoolman.tls.certresolver=letsencrypt"
       - "traefik.http.routers.spoolman-internal.tls.certresolver=letsencrypt"
       - "traefik.http.routers.spoolman.middlewares=auth-users"
       - "traefik.http.routers.spoolman-internal.tls=true"
       - "traefik.http.routers.spoolman.service=svc-spoolman"
       - "traefik.http.routers.spoolman-internal.service=svc-spoolman"
       - "traefik.http.services.svc-spoolman.loadbalancer.server.port=8000"
       - "traefik.http.middlewares.auth-users.basicauth.users=admin:$$2y$$05$$K5HviqYOC3ScWoRqUIQ80elXe.QByrAvpvmaDp9yj0oaA4L0LiCE6"

You basically have to define two separate Routers for the same service. Each Router has its own matching rules and own middlewares.

Mind that the ClientIP in the routers matching rule only matches on the ClientIP, not on IPs in the X-Forwared-For HTTP Header.

new T-Shirts \o/

QWertee had a special offer where you’d get a free T-Shirt every one you order. Even on the discounted ones … so I ended up with a whole bunch of new nerdy t-shirts 😀

Of course one was already occupied by kiddo

Birthday

another birthday in da house. The kids … they grow up so fast.

Elections

This is the big year of elections. On Saturday our village society elected a new board. That was formal but still fun. Especially as we there was another instance of our “Dorfdisco” afterwards \o/

From the camera roll

#weeklyreview 06/24

This week there were winter holidays for the kids. They got their report cards on the last school day. Both kids still in school doing rather good. So we can’t be happier about their achievements. 🎉

Of course we spent the week in the countryside. Didn’t felt for skiing holidays this year as there doesn’t seem to be much snow in the areas we used to go to anyway – due to climate catastrophe of course!

So I just spend the week working from the countryside doing some light activities with the kids.

Wednesday we went to the cinema with a friends kid to watch the new Studio Ghibli move “The boy and the heron“.

still frame from the movie, provided for personal use by Studio Ghibli, all rights reserved

As expected this was a colourful adventure. Some scenes might be a bit drastic (scary) for young kids, but overall this goes well in line with the previous Studio Ghibli movies.

Much richer, deeper and more fantastic than your Disney movies.


A friend started a blog about 3D printing and asked me whether I’d want to contribute. Of course I want. Even had a small topic to write about: the Z-Offset mystery.

On Saturday we did a day trip to Szczecin, Poland again. Plan was to see the city during daylight, as last time we’ve been there it was already pitch black night.

This plan only worked out partially. The day started very misty in our area. So we checked the weather forecast for Szczecin and that predicted at least partial sunshine for the afternoon. Turned out that was wrong. It stayed misty and foggy and maybe only got worse in the afternoon. We went to the Cafe 22, which is on the 22nd floor of a hotel. Theoretically a nice panoramic view over the whole city. Not on that Saturday. We could barely see the city right down to our feet. The rest was just inside clouds.

this was all we could see from the Autobahn

But we still managed to walk the city a bit a take a look at some beautiful old houses in the city.

#weeklyreview 05/24

Sunday fun day

As every Sunday, we tried to swim in the local lake. The ice that we skated on the weekend before was all molten way by Friday. So we thought swimming should be possible. To our surprise the night from Saturday to Sunday had low temperature of about -6º C. So the lake again was completely frozen over. Fortunately just a few millimetres of ice and we were able to break it open to at least have a dip in the water.

At first I thought it’s thin enough to just swim through … but that turned out to be too optimistic. The ice was between 4-8 mm think. Easy to break with ones hand, but no chance to break and push it away with swimming. Of course we could quite some cuts all over the body from the sharp ice edges.

Sport

Made it to the gym 4 days this week. Also added one more (hopefully regular) running appointment with my good friend Andrea. She’s got a professional personal training company and they’re the best you can get in Berlin/Potsdam. Check them out if you want to improve your health and/or fitness. Maybe I’m biased because I know her since our time at school. But she must do something right because she managed to not only found this company and permanently employ personal trainers (in a field where you usually only have individual freelancers or gym studio chain staff) but also steer it through the pandemic and come out alive and kicking.

Wednesday I had slightly sore legs from the running and felt a little groggy hitting the rowing machine again in the gym. But again it’s those days when you feel the most inner resistance that you usually hit the ball out of the park. Finished my 30 minutes of rowing with a strong 7035 m distance.

Fixing the door

Our flat has rather wide, wheel chair compatible doors. Thats good as my wife needed to have a wheel chair when she was in really bad ME/CFS condition. These door blades are quite heavy and our kitchen door is open most of the time. Eventually the door frame got loose and the door blade was scratching on the ground when moving. This week my dad came over to help me fix this. Looks like the construction company of this building didn’t use the proper glue foam when installing the door frames. Thats why it became loose. But now it’s fixed and the door is freely swinging again. K3 immediately exclaimed “I love this door!” 😂

The new CEO

Thursday our new CEO held a townhall meeting in the Berlin office. I’m usually an optimistic person and give benefit of the doubt to new people. But you know that there are also the die hard pessimists which don’t trust any C-level person out of principle. You have these in every company. To my surprise some of them also gave positive feedback about the new guy. Thats quite something if you ask me.

Of course, he still has to prove himself in day to day business. But making a first impression that extorts a positive statement from those kind of people is an achievement.

Mastodon Emergency Security Update

To make the week a little more interesting there was an emergency security update for the Mastodon Fediverse software. Apparently a remote account impersonation was passible and demanded immediate action from instance admins. I had my instances updated within about 2 hrs. Took a while as I didn’t check my emails or Mastodon feed because of meetings. Then of course my Jenkins build machine currently has some issue I have to debug first. Ended up creating my patched Docker containers for a 5000 character limit Mastodon on a different machine.

Finally some pics from my camera roll from this week for pure entertainment

#weeklyreview 04/24

Ice Skating

Last week was cold enough to get our local lake frozen. Frozen thick enough to do some ice skating. I measured the ice and got 10cm. Considered that safe enough for us to walk across the lake and the kids do some skating. Obviously no swimming/bathing this weekend then.

Lautten Compagney

Sunday afternoon we’ve been at the lovely “Gutshaus Friedenfelde” for a little concert of the Lautten Compagney. We’ve seen this ensemble before in July 2023 at the Joachimthalsche Gymnasium Templin. This time there were presenting their new program “Nunmehr soll Frieden sein” as a new year concert. The material was collected from the time of the 30 Years war and following peace negotiations of the “Westfälische Frieden“. The music was enriched by acting and recitation of texts and poems from the time but also new material to glue it all together and build a connection to our own crazy times of wars all over the world.

We liked this new program very much. They are not only good musicians but the whole program with the historic information and play provides entertainment and education at the same time. Can highly recommend.

As a bonus we met an old acquaintance who used to be a rather famous politician. We hadn’t met him in a while but always wanted to catch up. Had a good chat with him and were delighted to see that he’s doing well.

Office Move

On Monday we did an office move. But just inside the building. The new space is a little closer to the other colleagues. So will hopefully bump into colleagues more often again when I’m in the office.

Gym game still going strong. Trying to hit the gym 2-3 days a week for 30min of rowing and 30 min cycling and 20 min strength training. Really enjoying the workout.

Links:

here are the links I’ve collected over the last few weeks. Maybe there is something interesting in there for you:

#weeklyreview 03/24

On Monday it was the birthday for one of our kids. As that kid absolutely isn’t into gifts we had to come up with something else. As a surprise my wife came to Berlin and payed us a visit and we had fancy donuts and a cheese fondue for dinner. That was great fun.

Got myself a Nintendo Switch for a few weeks. Just to try whether it might entertain me and the kids for a while. And it’s surprisingly good so far. I like the fact that you can play on the go or on the big screen in multi-player mode. Also their controller concept is pretty versatile. In two month I’m checking whether I’ll keep it or not.

Got an Xbox 360 with Kinect collecting dust here since years. The concept was great. But then again we didn’t really made use of it.

I finally managed to get Klipper working on my 3D printer. Klipper is an alternative firmware to control the printer. The original firmware for my Creality Ender 3 V2 is based on the popular Marlin Firmware. That sits directly on the controller board (MCU) of the printer and controls all the hardware component and executes the printing of G-Code files.

Klipper in contrast is modular. Only a very basic firmware is flashed onto the controller board of the printer and acts as counterpart to the more complex Klipper Host process that sits on a computer. In my case a RaspberryPi 4. The computer hosting the Klipper host process is usually more powerful than the MCU of the printer and can perform more stuff to make for a smooth print. The Raspberry Pi is connected via USB-Serial to the printer to connect Klipper host process and Klipper firmware.

The downside is, that one has to configure Klipper properly for the printer. There are readymade profiles for popular printers available that should give a good start. But I have modified my Ender quite a bit and thus had to do a whole lot of calibrations for the Dual Z-Axes, the direct drive Extruder, Filament sensor, CR-Touch probe etc.

This process was what ticked me off last time I tried. I just couldn’t get a reliable print out with Klipper. And I didn’t had issues with my Marlin Firmware to begin with. So back then, I switched back to Marlin. This time I wanted to get it working to be able to support a friend who just recently got a used Ender 3 V2 with Klipper firmware.

Eventually I got it all running and even installed “Klipper Advanced Mesh & Purging” (KAMPS) and configured Input Shaping thanks to some helpful articles. KAMPS will analyse the G-Code files and then do the bed calibration with the probe just on the area of the bed where the model will be printed. This gives much more accurate information because it just probes the small printing area with the same amount of probe points. Makes for a better 1st layer.

Input Shaping is voodoo where you measure the printers vibrations during movements and calculate resonance frequencies and the best way to compensate these vibrations during print. I had to solder a sensor and cable to connect the motion sensor to the raspberry pi and then conduct the measuring (fortunately that only needs to be done on hardware changes on the printer).

Finally I was able to produce some acceptable prints that I promised to a friend.

On Saturday we did a day trip to Binz. First time since 2017 that my wife had been there. It was great. The weather was OK and we had good lunch in the famous “Strandhalle” and took a walk on the beach. It wasn’t too crowded as its really off-season at the moment and the weather wasn’t inviting for a long walk.

The lake had ice last weekend already. But it was just 5cm and a friend took the effort to make a hole so we could at least dip in.