Pixel 8Pro
What a marvelous phone my Oneplus 7Pro has been: a gorgeous screen, an incredible battery delivering 2 days of juice, and OxygenOS which delivered a snappy experience. However, 2 years later, support for the phone by Oneplus was halted, so I had the choice either to remain on Android 11, or to jump to LineageOS. The latter was an obvious choice, however, that meant that the camera quality went down and after 3 years, this became a real issue, as I took more and more pictures with my phone.
I looked around for a new phone, and found the Pixel 8Pro a worthy replacement: 7 years of software support, a decent camera and marvelous software to back that up (removing people from your pictures ? No problem!). Quite happy with it, though I'll miss the Oneplus excellent screen, rounded screen edges and its 2 day battery lifetime.
Goodbye Drupal
Since I migrated to Drupal 10, my site has become laggy as hell. I don't know what's the true reason is, Drupal10 demanding more of the mariadb SQL server,
or the abysmal disk performance of my LightSail server, or just a combination of the two. I really got so annoyed by the downtime, and the VPS was eating through my AWS burst
credits, that I decided to migrate away from Drupal. As already said before, I didn't really needed a full blown CMS system for
my blog: the comments were disabled since years, as it was impossible to tackle all the spam, and the baby caring of a Debian system with the ever rapidly
Drupal upgrades got on my nerves. And paying more than 10 bucks per month was way too much that I wanted to spent on this, let alone
the time needed for all the above.
I developed a small dbt data pipeline which pulled some Drupal database tables together in order to create a table gathering all necessary fields. This table got exported into a CSV file which was the base for a small Python script, which converted the table to Nikola pages. Only thing then left was to correct all internal links referring to my old site.
So here is the result: a fully static web site.
I developed a small dbt data pipeline which pulled some Drupal database tables together in order to create a table gathering all necessary fields. This table got exported into a CSV file which was the base for a small Python script, which converted the table to Nikola pages. Only thing then left was to correct all internal links referring to my old site.
So here is the result: a fully static web site.
BattlestarGalactica
My current PC is well over 8 years now, and the slow hard disk is reading bits at such a slow rate that it hasn't become fun anymore. So the option was to either replace the drive with some NVME SSD, or lookout for a new PC. At some point I saw a second hand iMac for sale for a sweet price, and decided to grab it: I've become more and more charmed of MacOS as a development platform, and I recently purchased an el cheapo 2013 Macbook Air as well, which runs nicely the latest MacOS versions thanks to OCLP.
The retina display and the small form factor (well, at least compared against a full blown desktop tower) are the strong points of this machine. The i5 Intel performs still nicely (no need for fast CPU cycles) and the Fusion Drive SSD/HDD combo is still an improvement from the hard disk setup of my old PC.
The sheer size of the 27 inch screen made me dub the PC 'Battlestar Galactica'. Starship names for computers (the Macbook Air is hostnamed 'Rocinante'), and (science fiction) planet names for access point SSID names is a sweet combo.
The retina display and the small form factor (well, at least compared against a full blown desktop tower) are the strong points of this machine. The i5 Intel performs still nicely (no need for fast CPU cycles) and the Fusion Drive SSD/HDD combo is still an improvement from the hard disk setup of my old PC.
The sheer size of the 27 inch screen made me dub the PC 'Battlestar Galactica'. Starship names for computers (the Macbook Air is hostnamed 'Rocinante'), and (science fiction) planet names for access point SSID names is a sweet combo.
Seestar S50
I always wanted to dive into astrophotography, but couldn't bring myself to do it: taking long exposure pictures required in the past deep pockets: you needed a motor which carefully tracked the scope against the rotation of the earth while keeping your object in the eyepiece. With the introduction of CCD cameras, prices became more democratic, but at that time, I got myself a Dobson scope, eliminating all tracking possibilities.
Until recently, with the availability of small smart telescopes: these are small little robots, equipped with a decent camera, tracking and goto system, controlled by a smartphone app. After reading some reviews of the ZWO Seestar S50, I immediately ordered one, and the results are stunning. The fun part is that the smart scope can keep collecting light, while I remain inside on the sofa, following the results ;) Very impressed with what this little scope is capable off !
Until recently, with the availability of small smart telescopes: these are small little robots, equipped with a decent camera, tracking and goto system, controlled by a smartphone app. After reading some reviews of the ZWO Seestar S50, I immediately ordered one, and the results are stunning. The fun part is that the smart scope can keep collecting light, while I remain inside on the sofa, following the results ;) Very impressed with what this little scope is capable off !
Drupal 10
This site has been updated to Drupal 10. I had to spend way too much time on this, including some Docker voodoo and fighting with weird Bitnami settings. I still don't get why Drupal 9 was so suddenly announced as EOL. Drupal still feels more and more like a RAM where all I need is a little Honda...
Update: tried running this on a 512MB instance, it was eating through my AWS burst credits and took more of 30 seconds to respond to a single page request. The Mysql/PHP/drupal combo is quite memory intensive it seems...
Update: tried running this on a 512MB instance, it was eating through my AWS burst credits and took more of 30 seconds to respond to a single page request. The Mysql/PHP/drupal combo is quite memory intensive it seems...
The Deep Sea
How deep is the sea ? Very. There have been more people to the moon than in the depths of our oceans.
cfntagger
If there's one thIng I like in Azure, then it's Resource Groups. Inventory management in AWS is kinda difficult; if you're meticulous, you probably use CloudFormation or Terraform to deploy your infrastructure. And if you're truly dedicated, you probably use tags to identify projects, owners and/or creators. But if you're working in a team, it must be verified that all members use the same values for tags. I've seen too many times entries for 'Environment' like 'prod', 'Production', or 'PRD'. Which renders your AWS inventory queries either useless or way too complex.
Basically, your CloudFormation templates don't need to be littered with tag definitions: they must be programmatically added in a CI/CD chain before deployment. Programs like that are hard to find. There is Yor by BridgeCrew, but after some testing I found it to have too many quirks. that's why I developed my own CloudFormation tagging tool, called CfnTagger.
Cfntagger is a Python module which takes its configuration from an environment variable in the form of a dict:
Then, it's just a matter of running the tool on either a full directory or a single file. You can dry-run it to verify which changes are going to be applied before actually modifying anything. Another possibility is the option of having the git repo and file which defines the resource as tags as well, so you can easily identify which resource has been defined where.
Basically, your CloudFormation templates don't need to be littered with tag definitions: they must be programmatically added in a CI/CD chain before deployment. Programs like that are hard to find. There is Yor by BridgeCrew, but after some testing I found it to have too many quirks. that's why I developed my own CloudFormation tagging tool, called CfnTagger.
Cfntagger is a Python module which takes its configuration from an environment variable in the form of a dict:
$ export CFN_TAGS='{"Creator": "Erlich", "Application": "Aviato"}'
Then, it's just a matter of running the tool on either a full directory or a single file. You can dry-run it to verify which changes are going to be applied before actually modifying anything. Another possibility is the option of having the git repo and file which defines the resource as tags as well, so you can easily identify which resource has been defined where.
Power to the cloud
Website hosters are eating website hosters, which mean higher prices for the masses, combined with fewer functionality. So I finally got fed up with this, as the latest hoster forced me to accept a business type of hosting. Nothing wrong with that service, unfortunately my pockets aren't that deep... So I took the leap to the public cloud, where this site is now hosted.
Upgraded from drupal7 to drupal9 as well. The upgrade process included some docker instances voodoo, including sacrifying a puppy on full moon. Maybe I really should have a look at Hugo as well...
Upgraded from drupal7 to drupal9 as well. The upgrade process included some docker instances voodoo, including sacrifying a puppy on full moon. Maybe I really should have a look at Hugo as well...
Rocinante
I regularly study for professional certifications, not because my employer asks for it so nicely, but mainly because it's an opportunity to learn something new, or to delve into something in a more profound way. It also forces me to plan some study time to it, because work always takes priority. My certification exams I take remotely with OnVue, which avoids taking a trip to a Brussels exam center; OnVue unfortunately does not support Linux laptops (boo!). Because of this, I'm forced to use my work laptop for this.
Imagine my surpise when a few days before my next AWS certification exam, I discovered that the network port to the exam site was blocked by our corporate firewall. Knowing that this would not be solved within a few days, I decided to shop or a second hand Macbook Air, which I found for the reasonable price of 150 Euro. This was a Macbook Air from 2013 (so 9 years old at that time), running Big Sur. I wipe the MacOS installation and upgraded to Ventura with OpenCore legacy patcher (OCLP). Later upgrades to Sonoma delivered a slower, but workable environment, though the upgrade to Sequoia was too ambitous for a snappy desktop experience.
I expected the laptop to have a short life with me, as it was an intermediate solution, but lo and behold, in 2026 I'm still using this laptop, even though I swapped MacOS with Fedora. That Macbook screen is just too lovely to dump this laptop !
Gotway Nikola
So I like electric unicycles which I basically regard as a revolution in personal transportation. They are quick, switch easily between riding and walking, and consume very little space. My Inmotion V10 served me well for 4000 km, but its limited range of 30km was getting me on my nerves, especially during summer times, where multiple charging sessions were needed during a day. But apart from that, I really enjoyed riding this thing.
Looking around for a new wheel was easy and yet very difficult. I wanted a recent 1500+Wh model, so that limited the choice between the KS16X and the Nikola. It took me months to decide between both. Both are very fine wheels, but the reports about the water- and dust inlet of the KS16X let me skip this wheel (someone remembers the waterproofing issues of the V10 some months after launch ? I really needed a wheel which I can occasionally drive through some rain without fear of having a brick few days later). Shame, I really really like the looks of the KS16X, definitively the better looking wheel of those 2, it reminds me of the Z10 with those fantastic LEDs.
I initially was looking at the Nikola+ 2100Wh, but put it down as I feared for the sheer weight (my daily commute has a fairly amount of steps). As the 100V 21700 model came it out with its double battery pack, it meant better stability and lesser weight, so I was sold.
The wheel performs marvellously : riding it feels like a magic carpet, and my range has been increased from 30 km to 70 on a single charging session. It's also super stable, with only a few wobbles at high speed, mostly due to badly positioned feet on the pedals. The most noticeable disadvantage is the stock CST tire, which has a nagging desire to stay upright, even when taking turns (the so-called gyro effect). This implies leaning horribly to the left or right (like on a motor cycle) which feels a bit eerie, especially at high speeds.
Looking around for a new wheel was easy and yet very difficult. I wanted a recent 1500+Wh model, so that limited the choice between the KS16X and the Nikola. It took me months to decide between both. Both are very fine wheels, but the reports about the water- and dust inlet of the KS16X let me skip this wheel (someone remembers the waterproofing issues of the V10 some months after launch ? I really needed a wheel which I can occasionally drive through some rain without fear of having a brick few days later). Shame, I really really like the looks of the KS16X, definitively the better looking wheel of those 2, it reminds me of the Z10 with those fantastic LEDs.
I initially was looking at the Nikola+ 2100Wh, but put it down as I feared for the sheer weight (my daily commute has a fairly amount of steps). As the 100V 21700 model came it out with its double battery pack, it meant better stability and lesser weight, so I was sold.
The wheel performs marvellously : riding it feels like a magic carpet, and my range has been increased from 30 km to 70 on a single charging session. It's also super stable, with only a few wobbles at high speed, mostly due to badly positioned feet on the pedals. The most noticeable disadvantage is the stock CST tire, which has a nagging desire to stay upright, even when taking turns (the so-called gyro effect). This implies leaning horribly to the left or right (like on a motor cycle) which feels a bit eerie, especially at high speeds.