#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.

#weeklyreview 49/23

Fixing the 3D Printer

My 3D printer was doing poorly lately. The prints came out with rather brittle layer adhesion and it looked like there was something wrong with the extrusion. I had already swapped out the nozzle and the Bowden pipe as I thought they were worn out. But that didn’t fix the problem. I recalibrated my E-steps but that only very slightly improved the situation. Almost accepting the fact that I might have to get a new extruder I took the old one apart to check whats going on.

And the problem was rather obvious after disassembling. The arm that presses a while against the threaded axle of the extruder was partially cracked. So it didn’t apply enough pressure to push the filament against the threaded wheel that pushes the filament into the hot end.

Fortunately I still had an all metal extruder laying around that I could fit in place. Just took a little bit of machining with a drill to sink a screw head that was peeking out too high to mount the extruder in my gantry.

Now the printer is working properly again and I can waste more filament on silly prints 😉

Document Archive

Last week I was writing about my adventure of finding alternatives for Evernote for mainly document archival and search. I tried Obsidian, but found it not suitable for storing large amounts of documents with my chosen sync method.

So I had another look at Paperless NGX. Thats and actual open source document management system that can be self hosted.

It can read documents either from an input folder or check email boxes periodically for new input. Alternatively documents can be uploaded via the web interface or the API (which allows dedicated clients for the likes of mobile phones and such)

The documents will be converted into PDF/A (a long term archive format of PDF) and OCR performed. This will help automatically tagging and classifying the documents. Paperless learns over time which documents belong to which correspondent (think sender of the document) and which tags you usually assign to them. At first you have to do this work manually via the web interfaces. But Paperless has a learning function build in that will (hopefully) get smarter over time to automatically find all these meta information for documents.

You can also define various storage path schemes and apply to documents. These documents will then be moved into the respective folder structure etc.

My first practical use case was my 2022 taxes. I just scanned all the documents and send them to Paperless. In the web interface I applied tags for each document and set the respective sender as correspondent. In most cases Paperless already detected the correct sent date and change the meta data of the paperless document to the original sent date. This way you get your documents in chronological order even if they were entered into Paperless on the same date.

Once all documents were properly tagged I created a new storage path and: “Tax 2022/{correspondent}/{title}”

Then I searched Paperless for all documents that have the tag “steuern2022” and bulk applied this new storage path to them. As a result I now had a folder named “Tax 2022” in my Paperless installation where all the tax relevant documents were stored in folders per correspondent.

I had tried Paperless before in an earlier version but didn’t fully grasp the use case. Admittedly it was also quite a while ago and the interface wasn’t as nice back then and also the automatic tagging etc. didn’t work.

But now it looks pretty usable to me and seems to be a hot candidate as my main document archive. It stores documents in a standard format and also makes their content searchable with OCR (only does OCR if there is not already an OCR layer in the incoming document). It can read from mailboxes and I also got a mobile clients for iOS to share documents via the iOS Share function into Paperless.

Now that I’ve found a solution for my documents, I kept them out of Obsidian and thus decreased the size of my Obsidian vault dramatically. Thy syncing via the community plugin and my own couchDB now works pretty flawless.

For me this could be a viable replacement for Evernotes: Obsidian for mere text notes, Paperless NGX for documents.

Nikolaus day

Heart melting scenes this morning. The excitement of the kids for upcoming Nikolaus day was unevenly distributed yesterday evening. The little girl cleaned her shoes in preparation and was rather excited. The boy thought he figured the Nikolaus game out already and doesn’t have to do anything as he’d anyway get something. Just out of habit I guess.

This morning only shoes of the little girl were filled with sweets and gifts. Although the two of them used to fight all the time she immediately felt sorry for her brother and started to share her sweets with him. Thats my girl 🥰

Of course the boy later also got something smuggled into his shoes …

Winter tires

We had quite a bit of snow since last week. Not as disturbing as in the south of Germany but enough to make the roads dangerous. Especially if your car still has the summer tires on. For reasons I don’t want to discuss here I was also one of them and had a few situations off the road where I feared I got stuck with the car.

Today I finally got the winter tires put on and can drive a little more safely for the rest of the winter.

School concert

The school of our daughter has a whole bunch of musical offerings. Her class gets extra lessons on instruments and there are afternoon courses for a choir and other music stuff as well. Today was the annual school concert where the music classes and courses show their performances.

It was quite amazing to see how quickly the kids picked up playing the new instruments. The class of my daughter only started playing instruments (strings and wind instruments) about 4 months ago and they already performed a couple of songs on stage.

The highlight was the big band playing “Don’t stop me now!” from Queen and the pupils band playing Kraftklub. They really enjoyed themselves and got the crowd moving.

Amongst all the bad news about the German school system and all its problems this was heartwarming to see that there are still teachers caring and inspiring the kids. They encourage them to step outside their comfort zones and achieve something great. The audience was appreciative and I think the kids were also quite proud of themselves. And rightfully so.


On Thursday evening two friends (also colleagues) and me finally went to Chicago Williams BBQ again. To my taste they have the best ribs in Berlin. Don’t waste your time and capacity on other dishes there. Go straight for the pork ribs and maybe allow some mash and gravy as a side. The pictures shows our starter selection of beef ribs and pork ribs. But I had to order 2 times more 😉

#weeklyreview 11/23

Obviously didn’t manage to get the weekly review done before Sunday. Weekend was rather busy as the weather finally felt spring-like and we got a lot stuff done on the property and in the garden.

We put in a tree to hopefully give us some shade in the summer (not this year, but maybe next year already)

replanted the tomatoes seedlings and also cleaned up the property. Since we had borrowed a large trailer over the weekend I was able to bring a lot of old stuff and trash to the local recycling yard. It’s amazing that you can just got there and get easily rid of most of your stuff that doesn’t belong or fit into the normal trash bins. Its free as its included in our yearly waste treatment fee. I’m always tempted to rummage trough the large scrap containers and get out useful stuff (like old electronics).


This week I’ve installed my own instance of Overleaf – a web based LaTeX editor for collaboration. Not that I’m in need of LaTeX document system at the moment… but it’s always nice to play around with such stuff.

Mastodon updated to v4.1.1

Installed a Jenkins-Cron-Job to repopulate replies to my mastodon instance as suggested by Matt.

3D Printing

Got quite a bit of 3D printing done. Leveled my printbed properly and I’m still amazed how smooth prints come out with the right filament and settings on this rather cheap printer. Uploading the timelapse videos to my PeerTube Instance in their own channel.

I switched to a newer version of OctoPi and it was just really smooth. Simply download a backup bundle on the old instance and feed that to the setup wizard on the new instance. Thats it. Everything was just there again. No need to change our touch a single thing. I could just go on-printing.

Gina Häußge (aka @foosel@chaos.social ) is really doing a fantastic job with this piece of software.


Oh boy was I lazy this week. Almost no sport at all. Running partner still sick, office gym showers closed and me too lazy.

I hope at least the physical activity on the weekend and hauling that bulky package count a little bit.

And of course we went swimming despite some rain.

beast of burden

Today I was tasked with shipping a rather large and bulky package. How hard can this be? Short answer: very hard (if you don’t want to spent hundreds of EUR on it)

The object to be shipped is a rather stiff case. I thought I was well prepared with bubble wrap and some wrapping film. Oh boy was I wrong.

Took me about one hours to carefully pack the thing, wrap it first in bubble wrap and then in a couple of layers of wrapping film (like the one you might use in the kitchen to keep bowls of food fresh).

Went to the website of DHL (the shipping company of choice for this project) to check on the price and figured that the packaging material will have to be paper or cardboard to avoid the bulky load surplus charges.

Fortunately I still had some packaging paper large enough. Another round of wrapping and taping. Finally I put the monster into a large IKEA bag and trotted off to the nearest post office. Thats about 800m from here. Hauling this bulky thing which comes in at 15 kg is not as easy as one might imagine. The bag straps cut into my fingers and my arms are about 10cm longer now.

In the post office I learned another requirement for stuff you want to ship at lowest possible cost: it has to be box shaped so it can be stacked.

My package had one side with a hump and thus would again count as bulk load with a hefty surplus charge. As I’m frugal … I hauled the whole thing back home to organize a cardboard box large enough to contain the package and small enough to not exceed the shipping boundaries again.

In addition I 3D printed myself a bag strap holder to ease the cutting of the straps a bit. That came out rather nice and make a huge difference when carrying such heavy loads.

To be continued …