Thoughts on collation in an international database in MySQL

When you have an international database, how do you make sure that the collation is correct for all locales? Here are some thoughts. Note that you have to be careful when mixing collations in queries or SQL will complain. Table with virtual, generated columns CREATE TABLE `note` ( `id` bigint NOT NULL AUTO_INCREMENT, `text` varchar(256) DEFAULT NULL, `text_swedish` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_swedish_ci GENERATED ALWAYS AS (`text`) VIRTUAL, `text_danish` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_danish_ci GENERATED ALWAYS AS (`text`) VIRTUAL, ... PRIMARY KEY (`id`), KEY `text` (`text`), KEY `text_swedish` (`text_swedish`), KEY `text_danish` (`text_danish`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci There is support for generating columns from another column. I’m unsure how this affects memory usage. ...

October 6, 2021  | 

Grayling on Thomism as a dogma

[Thomas Aquinas’] teachings constitute a complete system, which is why, as ‘Thomism’, they provide the Roman Catholic Church with its philosophy, whose official status was further confirmed by Pope Pius X in Doctoris Angelici (June 1914): ‘The capital theses in the philosophy of St Thomas are not to be placed in the category of opinions capable of being debated one way or another, but are to be considered as the foundations upon which the whole science of natural and divine things is based; if such principles are once removed or in any way impaired, it must necessarily follow that students of the sacred sciences will ultimately fail to perceive so much as the meaning of the words in which the dogmas of divine revelation are proposed by the magistracy of the Church.’ This places Thomistic philosophy and theology above all debate, which – at least in the case of philosophy – is precisely contrary to what philosophy should be. ...

Philosophy in the Autumn of 2021

When the autumn comes with its gloom and rain, I get this feeling of melancholy and the need to write down my thoughts on paper. This time I will ramble in the form of a blog post. Please don’t read this as me preaching with a “holier than thou”-attitude. It’s meant by me and for me. Maybe I can read this condescendingly in ten years and think of my then primitive philosophy. ...

Watch Renovation: Altus

Some notes on a watch which I’m renovating Text on dial: Altus - Incabloc Text on case back: 4452 512 199797 Data Measurements are done by me, and might not be the official numbers. Width: ? Length: ? Height: ? Lug-to-lug: ? Movement: Felsa 391? Swiss lever Case: Chrome plated brass Crystal: Acrylic Problems Keyless works very rusted Mainspring is broken Crown needs some locktite, can get loose Watch hands has rust Dial needs some cleaning Troubleshooting steps Opened up, cleaned and oiled all parts. Cleaned the keyless works several times, and it seems to work fine now Media

lsof Cheatsheet

Nice things you can do with lsof # Show all active internet connections lsof -i # Show all active TCP connections lsof -iTCP lsof -iTCP:57123 # Show active TCP connection on port 57123 # Show all active IPv4 connections lsof -i4 lsof -i4:57123 # Show active IPv4 connection on port 57123 # Show all file descriptors for a user lsof -u $USER

August 27, 2021  |  🏷️Lsof

Watch Renovation: Rouan

Some notes on a watch which I’m renovating Text on dial: Rouan - De Luxe - 17 Rubis - Unbreakable mainspring - Shockproof Text on case back: Antimagnetic - Stainless steel caseback Data Measurements are done by me, and might not be the official numbers. Width: ? Length: ? Height: ? Lug-to-lug: ? Movement: Eppler 7 - or a variant thereof Pin lever escapement Metal rocker bar Case: Looks like gold plated nickle. Crystal: Acrylic Problems Doesn’t run despite being fully wound Slightly cracked glass Troubleshooting steps Opened up and cleaned all parts. Media

Watch Renovation: Brac

Some notes on a watch which I’m renovating Text on dial: Shock proof lever - Swiss made Text on case back: Data Measurements are done by me, and might not be the official numbers. Width: ? Length: ? Height: ? Lug-to-lug: ? Movement: The BR-logo stands for Brac-Werke AS according to this page. Very similar to a Lapanouse. Pin lever escapement Case: Looks like brass. Crystal: Acrylic Problems Doesn’t run despite being fully wound Crown doesn’t want to move between winding mode and setting mode. Troubleshooting steps Opened up and cleaned all parts. Very dirty movement. Media

Watch Renovation: Festiva

Some notes on a watch which I’m renovating Text on dial: Festiva - 17 Rubis - Waterproof - Shockproof - Swiss made Text on case back: Antimagnetic - Stainless steel back - Swiss made - Waterproof - Antimagnetic Data Measurements are done by me, and might not be the official numbers. Width: ? Length: ? Height: ? Lug-to-lug: ? Movement: EB 1553 Pin lever escapement Case: Seems to be gold plated. Crystal: Acrylic Problems Doesn’t run despite being fully wound One jewel for the balance wheel is missing Mainspring is broken. Troubleshooting steps Opened up and cleaned all parts. One jewel for the balance wheel is missing The arbor was stuck to one or both bridges. After thorough cleaning the watch began running. However the mainspring catch immediately broke, making it impossible to wind. Media

Watch Renovation: Ruhla

Some notes on a watch which I’m renovating Text on dial: Ruhla - Antimagnetic - Made in GDR Text on case back: Electronically timed - Stainless steel back Data Measurements are done by me, and might not be the official numbers. Width: ? Length: ? Height: ? Lug-to-lug: ? Movement: Unknown movement, most likely Eppler Pin pallet escapement Case: Stainless steel Crystal: Acrylic Problems Crystal is cracked Only runs when shaking Crown is damaged Troubleshooting Opened up and cleaned all parts. Wound and let run for 24 hours. It’s hard to time because the power reserve seems to be less than 24 hours. Crown is damaged and needs replacing Media

Watch Renovation: Audix

Some notes on a watch which I’m renovating Text on dial: Audix - Antimagnetic Text on case back: Automatic - Waterproof - Non Magnetic - Shock Protected - 704144 Data Measurements are done by me, and might not be the official numbers. Width: 34mm Length: 43mm Height: ? Lug-to-lug: 17mm Movement: Unknown movement, most likely Eppler Date complication Pin pallet escapement Case: Stainless steel Crystal: Acrylic Problems Crystal has deep scratches Only runs when shaking Troubleshooting Opened up and cleaned all parts. Wound and let run for 24 hours. It times around +200s/d, but seems to have a healthy power reserve. It seems that the watch does not have a seconds hand, and there is no wheel that drives the seconds hand. Unsure if this is by design or the wheel is simply missing. Media