I’ve had my Creality CR-6 SE for quite some while now and it’s worked very well. I’ve even moved with it a couple of times. However, it seems that now was the time for it to give up the ghost, as the extruder casing developed a crack. Apparently something not completely uncommon.

The extruder casing removed. The spring is quite powerful.
The crack.

So I searched the internet for spare parts before I realized that this is a common failure mode and that there are all-metal replacements. A few clicks later, I had one ordered from Amazon. I took a chance and ordered one for CR-10, as it looked like it would fit from the photos, and it did (phew). Here is a link to the one I got: link.

The replacement extruder installed.

The installation went smooth. The only tricky part was getting the threads of the screw being pushed by the spring right. The spring is quite strong, so it is really a three hand operation in the area where my fingers have a hard time fitting. Having done that, it seems like it just work straight out of the box.

First print.

The print has been going on for a couple of hours now, and there has been no hickups. Big shout-out to OctoPrint while I’m at it. Being able to keep an eye on things without having to sit next to the printer is just great (and not having to fiddle around with SD-cards is also really nice).

NextCloudPi on Raspberry Pi 5

I finally took an evening to get NextCloudPi installed on a Raspberry Pi 5 with a large-ish NVMe drive. This was not a smooth ride. For your pleasure, this is how I got it working.

First, use Jeff Geerling’s guide to get the Pi booting from the NVMe drive.

Second, use this guide to move from Debian networking to systemd-networkd, but do not hold the avahi-daemon package.

Third, run the NextCloudPi curl install script.

Next up – the migration from my old instance. I have 1.5TB of files on a spin disk connected via USB that I need to move to the new NVMe storage – but that is for another night.

For the record – I do love NextCloud and NextCloudPi, so no finger pointing here, just sharing some frustration and how I got around the issue.

The next foss-north

This year’s foss-north was the tenth incarnation. I’ve been organizing foss-gbg since 2013, and foss-north since 2016 (two events in 2020 makes it ten in total). It’s been quite a journey – moving between three venues, working with amazing speakers and sponsors, finding a way through the pandemic, while getting to know so many people.

The conference continued when fscons moved from town. Henrik, who helped start fscons has been invaluable during the foss-north years.

Over the years, there has been multiple people helping out with things like announcing speakers, manning the registration booth, finding speakers and creating a program. One of the people who has been around the whole time is Tobias, who is ran a large portion of the show this year and is taking over the lead organizer role.

Private life has been rough over the past two years, so the decision to step back from foss-north has been more or less inevitable. So it’s a great feeling to be able to sit down and enjoy the show and know that the event is in good hands with Tobias.

Thank you all for speaking, visiting, helping out at, and sponsoring foss-north. See you at next year’s event. I’ll have more time to mingle than ever before! ;-)

Learning a language

Learning a language is, to me, about grinding. Continously exposing yourself.

Ich lerne Deutsch. Oder, ich versuche Deutsch zu lernen. 😉

I try to expose my self to the language via YouTube (thx Nils for the tip about 7 gegen Wild), but also news papers and just chatting with people. I’d say the biggest hurdle is that people find English easier than having me try to find and reorder the words, so practice at full speed is hard to find.

I guess I do the same for people trying to learn Swedish, and i really shouldn’t.

If you have tips for how to expose myself more to German – spoken or written – please drop a comment here or join the conversation at mastodon.

Porting Godot

I just took the time to start porting the epic Mattemonster app to Godot 4.1, as Google thinks it is getting a bit too old.

You can tell that the Godot developers have done a stellar job. Up until now I’ve just fiddled with Godot 4, so I haven’t really done anything proper in it – until today.

The main porting task was to change to an object driven approach to signals, rather than the old string-based on. Great – because it catches so much more early on. The only tricky part here was that in order to pass along arguments with a signal I had to use the bind function. That was not really what the error message complained about :-)

Also, I had to re-add the translations into the project settings, and to handle some messages from the window manager differently (close and quit). I’m still not sure I got the latter right…

Now, all that is left is the UI styling, so I guess I know what I will be doing in the rain this evening…

Too Many Sites

I’m trying to come up with a plan to harmonize all my sites. There are way too many installs on too many machines spread out over vendors and sites. A general clean-up is really needed.

Right now I have a couple of sites that are self-hosted (they run on a old machine in my office), a VPS at Linode and a couple of VPSes at DigitalOcean. I also have a couple of sites run via github pages.

Right now, a majority of the sites are based around WordPress which is great due to the ease of use – but static sites are easier (and cheaper) to host. In addition to this, I also have a couple of Django apps running on VPSes. Nice, but requires quite a bit of RAM in my experience.

So, the general plan is to clean up my domains, and to harmonize the environments. Perhaps a single WordPress machine, that also hosts the static sites, and the dedicated machines for the more complex Django apps. There will also be a bunch of URL rewrites to make the structure better, i.e. this blog will probably live under e8johan.se, but be available via the old URL too (thelins.se/johan/blog).

When reviewing my domains, I found the following ones that I most likely will give up. If there are any takers, please tell me what you want it for, and I’d be happy to hand it over to you (contact me at e8johan-at-gmail):

  • oppenkod.se (open source in Swedish)
  • qt6book.org (I’ve already got qmlbook.org, and I won’t write another book until Qt 8)
  • qt6book.com (see qt6book.org)

Also, I plan to pull all the machines over to DigitalOcean, as they offer a really nice interface (and APIs!) for managing VPSs, DNS and more (and I’ve gotten used to them while building Eperoto’s infrastructure).

Finally, I intend to collect all domain name registrations at a single registrar (most likely Loopia, but let’s see.