iljitsch.com

topics: all · BGP / IPv6 / more · settings · b&w · my business: inet⁶ consult · Twitter · Mastodon · LinkedIn · email · 🇺🇸 🇳🇱

This page has all posts about all subjects. Archive for 2023.

Review: Sigma BC 16.16 STS CAD cycling computer

As I wrote earlier: recently, I lost another bike computer so I needed a new one. I decided to get a more recent version of the Sigma BC line that I've been using for the past decade: the Sigma BC 16.16 STS CAD. These seem to be on the way out now, being sold out almost everywhere. But no obvious replacement that isn't more expensive and more complex, so I'm glad I got to get one of the last ones.

Read the article - posted 2023-01-01

Review: Sigma BC 16.16 STS CAD fietscomputer

Zoals ik eerder schreef: ik ben weer een fietscomputer kwijtgeraakt dus ik had een nieuwe nodig. De keus viel op een meer recente versie van de Sigma BC-lijn die ik de laatste tien jaar ofzo al gebruikte: de Sigma BC 16.16. STS CAD. Deze lijken niet echt meer beschikbaar te zijn, maar zonder duidelijk alternatief dat niet aanzienlijk duurder en complexer is ben ik blij dat ik één van de laatste van deze op de kop kon tikken.

Read the article - posted 2023-01-01

De Nieuwe Veenmolen in actie

Voor het eerst in lange tijd draaien de wieken van de Nieuwe Veenmolen uit 1654.

Permalink - posted 2023-01-30

Local windmill in action

For the first time in a long while the Nieuwe Veenmolen, the local neighborhood windmill from 1654, is turning. Back in the day, it pumped away water to keep the area dry.

Permalink - posted 2023-01-30

Skyline #18 shot-on-film (Kodak Tri-X) edition

Image link - posted 2023-02-05

Skyline #19

Image link - posted 2023-02-14

→ „Het geestelijke eigendom van Roald Dahl is verkwanseld, en dat mag zomaar“

Beste stuk over wat er met de boeken van Roald Dahl gebeurt, door Aleid Truijens:

Zweeft de wraakzuchtige geest van Roald Dahl (1916-1990) woedend boven de hoofden van zijn nazaten? Ik hoop het. Cynischer kan het verhaal van een schrijversoeuvre niet zijn. Het werk van een van de meest geliefde, grappige, grimmige en incorrecte kinderboekenschrijvers ter wereld is door de mangel van sensitivity readers gegaan. Ze hebben er ijverig alle sjeu uitgeperst.

Een paar aanpassingen als iets echt niet meer kan in deze tijd is één ding, maar dit gaat heel veel verder. Ik hoop dat de originele versies beschikbaar blijven.

Read the article - posted 2023-02-20

→ Nog één keer Roald Dahl, omdat het allemaal nét iets anders zit dan werd voorgespiegeld

Loes Reijmer in de Volkskrant:

Het spook van woke heeft een rood pennetje erbij gepakt en is likkebaardend de pagina’s afgegaan. Kan het nog wel, mag het nog wel? Is-het-allemaal-wel-genderneutraal-genoeg? Ophef natuurlijk, wereldwijde ophef zelfs. De uitgeverij schrok zich rot van alle negatieve reacties en beloofde prompt ook de oudere versies te blijven uitgeven. Eind goed al goed. Wat valt er nog meer over te zeggen?

Nou, dit bijvoorbeeld: er klopt weinig van het beeld dat in de media is ontstaan. De alarmerende krantenkoppen, het gejammer in talkshows, de verhitte tweetjes van niet-de-minsten: allemaal erg overdreven.

Was het allemaal overdreven? Ik denk het niet. Maar een flink deel? Lijkt er wel op.

Read the article - posted 2023-03-02

Comparing digital and film resolution using MTF

I fell down a rabbit hole a while ago trying to come up with the definitive answer to the often-asked question "how can old movies be in HD/4K", which immediately leads to "how does film and digital resolution compare".

The answer to the first question is of course that film as a lot more resolution than standard definition TV, so just scanning the movies at a higher resolution will give you a sharper image than that old DVD or (shudder) VHS tape.

The problem with reasoning about film grain vs pixels or eyeballing images is that it's very imprecise. But we actually do have a tool that lets us compare digital vs film: the optical transfer function.

Integrated below a little tool with a slider to see for yourself where the tradeoffs are.

Read the article - posted 2023-03-29

Kerncentrales voor meer waterstof, of kunnen beide een onsje minder?

Het kan verkeren. Ik had het artikel Kernenergie is cruciaal in de waterstofeconomie nog open staan om er later wat over te schrijven, en vandaag in NRC: Advies aan Jetten: kernenergie is overbodig, wees terughoudend met waterstof.

Read the article - posted 2023-04-12

→ Geef het fietspad terug aan fietsers

Fietspaden zijn fietssnelwegen geworden. Behoud het fietspad toch voor fietsers op eigen kracht, bepleit Reinder Rustema.

Read the article - posted 2023-04-25

Bevrijdingsdag

Image link - posted 2023-05-05

My favorite pointing devices

Image link - posted 2023-05-13

Eerste-kamerverkiezingen worden nog spannend!

Je zou denken dat het kiezen van de eerste kamer door de nieuwgekozen provinciale staten weinig meer dan een formaliteit is. Maar dat is buiten de restzetels gerekend! Als iedereen gewoon op z'n eigen partij stemt dan worden er zeven restzetels verdeeld: twee voor de BBB en VVD, GroenLinks, PvdA, PVV, D66 krijgen er allemaal één. Maar die verdeling kan veranderen als een paar statenleden van de ene partij op een andere stemmen.

Read the article - posted 2023-05-15

Uitslag eerste kamer toch nog verrassend

Bij de eerste-kamerverkiezingen van afgelopen dinsdag waren er zeven restzetels te vergeven. Als ieder statenlid gewoon op z'n eigen partij had gestemd, dan zouden twee van die restzetels naar BBB gegaan zijn voor een totaal van 17 zetels, en ieder één naar VVD, GroenLinks, PvdA, PVV en D66. Mijn inschatting was dat via strategisch stemmen één reststem ten koste van BBB naar CU zou gaan, en waarschijnlijk ook nog een van PVV naar PvdD.

Ik had het idee dat de coalitie misschien niet zo enorm strategisch zou zijn omdat VVD en CDA het idee van een makkelijke meerderheid samen met BBB en een wat minder makkelijke meerderheid over links aantrekkelijk zouden vinden. Maar niets is minder waar, de coalitie heeft het spel slim gespeeld en CU aan een restzetel geholpen en daarna met D66'ers die op de VVD stemden en dan weer VVD'ers op het CDA het CDA ook een restzetel.

Ik had eigenlijk verwacht dat PvdA en GroenLinks voor alle zekerheid CU zouden helpen en wellicht ook PvdD aan een PVV-zetel zouden helpen. Maar niks is minder waar: het linkse blok heeft niet strategisch gestemd.

Sterker nog, door stommiteiten is GroenLinks een zetel kwijtgeraakt aan VOLT.

Read the article - posted 2023-06-01

→ Rutte vecht met de lange schaduw van zijn tweede kabinet

De erfenis van het hyperambitieuze ‘hervormings­kabinet’ Rutte II drukt op het huidige kabinet van Mark Rutte. Grote stelselwijzigingen en uitvoerings-problemen uit de periode 2012-2017 blijven opspelen. Ook deze week weer.

Precies.

Read the article - posted 2023-06-14

Looking back on 50 years of Ethernet

On potaroo.net Geoff Huston wishes Happy 50th Birthday Ethernet.

Back in 2011 I wrote an Ars Technica feature about the history of Ethernet: Speed matters: How Ethernet went from 3Mbps to 100Gbps… and beyond.

Interesting to compare our different takes!

And of course Ethernet is still going strong. My oldest computers have the original 10 Mbps Ethernet adapters that I got almost 30 years ago, while my newest computer has 10 gigabit Ethernet, 1000 x faster.

Read the article - posted 2023-06-29

Verkiezingen komen er aan! #1

Een kleine drie weken geleden viel het kabinet Rutte-4. Sindsdien hebben premier Rutte en alle vice-premiers aangekondigd na de demissionaire periode de politiek te gaan verlaten. Twee lijsttrekkers van de verkiezingen van 2021 waren al vertrokken en nog eens drie hebben aangekondigd niet verder te gaan. We gaan de verkiezingen van 22 november dus tegemoet met een flink aantal verse lijsttrekkers.

Read the article - posted 2023-07-26

Dynamische stroomtarieven

Aanstaande maandag is het dan zover: mijn driejarige energiecontract loopt af. Dat gaf me drie opties:

De prijzen voor vaste en variabele contracten ontlopen elkaar niet zo veel, met rond de 40 cent per kilowattuur voor het normale tarief en zo'n 36 cent/kWh 's nachts en in het weekeinde...

Read the article - posted 2023-07-29

SDBox: a cheap SD card adapter for your Amiga

I was watching the videos on the BBC Master computer on the Adrian's Digital Basement Youtube channel. Adrian has cleaned up this old Acorn BBC Master, restored the keyboard to full functionality and then started to "Americanize" it by changing the power supply to use 120 V, and making the composite video NTSC rather PAL.

But what really peaked my interest is that he made a tiny little interface to hook up SD cards to the Master's user port. I think it only uses four wires. There's a very small circuit board, but that only has some resistors to adapt the user port's 5 V to the 3.3 V used by SD cards. Apparently, that's all the hardware you need for reading (and writing?) SD cards. Wow.

Could this also work on an Amiga?

Read the article - posted 2023-08-21

Skyline #20, regenboog-editie

Image link - posted 2023-08-27

SQLite: add a powerful database engine to any app

When I was 24, I decided to give up my job and go to college and study computer science. If I'd have known how many database classes that involved, maybe I would have reconsidered.

Back then, we had a big server that ran a RDBMS (relational database management system) that hundreds of students all used together. These systems were big, complex and expensive. (Oracle made its fortune selling RDBMSes.) MySQL and PostgresQL are somewhat more streamlined free and open source RDBMSes. Much better, but firewalling, user authentication and backups are still somewhat of a headache. But hey, if you need a database, you need a database.

Enter SQLite.

Read the article - posted 2023-09-04

Looking at SQLite Unicode behavior

In this post, I want to have a look at how SQLite interacts with Unicode. (Also see my post The (dark) magic of Unicode.) As explained here, SQLite doesn't have full Unicode support unless that support is explicitly included when SQLite is compiled.

So what does this mean in practice?

Read the article - posted 2023-09-05

Should the datacenter be in the middle?

The other day, I landed on this article: In Focus: Subsea Network Architecture: IXPs. The article takes some time to arrive at the point that undersea internet exchanges would be a good idea. The most eyecatching part is a variation on this image:

But should the datacenter and/or internet exhange in the middle between multiple users?

Read the article - posted 2023-09-07

Looking at MySQL Unicode behavior

https://en.wikipedia.org/wiki/European_ordering_rules

But as the transition from 8-bit characters to 16-bit characters was already well underway in the Windows world and in languages such as Java and Javascript,

# mysql --default_character_set=utf8mb4 muada Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 98 Server version: 8.0.34 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> SHOW SESSION VARIABLES LIKE 'character_set%'; +--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8mb3 | | character_sets_dir | /usr/share/mysql-8.0/charsets/ | +--------------------------+--------------------------------+

DUCET

https://www.unicode.org/reports/tr10/#Default_Unicode_Collation_Element_Table https://www.unicode.org/reports/tr10/

http://www.unicode.org/Public/UCA/latest/allkeys.txt

https://en.wikipedia.org/wiki/European_ordering_rules https://en.wikipedia.org/wiki/ISO/IEC_14651

mysql> insert into test (id, text) values (5, concat('Zo', char(12*16 + 3, 10*16 + 11 using utf8mb4))); Query OK, 1 row affected (0.00 sec)

mysql> insert into test (id, text) values (6, concat('Zoe', char(12*16 + 12, 8*16 + 8 using utf8mb4)));

mysql> insert into test (id, text) values (7, 'Zoe');

mysql> select * from test order by text collate utf8mb4_bin; +----+-------+ | id | text | +----+-------+ | 1 | ZOE | | 4 | ZoA | | 7 | Zoe | | 6 | Zoë | | 3 | Zoy | | 5 | Zoë | | 2 | zoe | +----+-------+ 7 rows in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_bin) as sortweight from test order by text colla +----+-------+----------------------------+ | id | text | sortweight | +----+-------+----------------------------+ | 1 | ZOE | 0x00005A00004F000045 | | 4 | ZoA | 0x00005A00006F000041 | | 7 | Zoe | 0x00005A00006F000065 | | 6 | Zoë | 0x00005A00006F000065000308 | | 3 | Zoy | 0x00005A00006F000079 | | 5 | Zoë | 0x00005A00006F0000EB | | 2 | zoe | 0x00007A00006F000065 | +----+-------+----------------------------+

mysql> select *, weight_string(text collate utf8mb4_0900_ai_ci) as sortweight from test order by text collate utf8mb4_0900_ai_ci; +----+-------+------------------------+ | id | text | sortweight | +----+-------+------------------------+ | 4 | ZoA | 0x1F211DDD1C47 | | 1 | ZOE | 0x1F211DDD1CAA | | 2 | zoe | 0x1F211DDD1CAA | | 5 | Zoë | 0x1F211DDD1CAA | | 6 | Zoë | 0x1F211DDD1CAA | | 7 | Zoe | 0x1F211DDD1CAA | | 3 | Zoy | 0x1F211DDD1F0B | +----+-------+------------------------+

mysql> select *, weight_string(text collate utf8mb4_0900_ai_ci) as sortweight from test order by text collate utf8mb4_0900_ai_ci desc; +----+-------+------------------------+ | id | text | sortweight | +----+-------+------------------------+ | 3 | Zoy | 0x1F211DDD1F0B | | 1 | ZOE | 0x1F211DDD1CAA | | 2 | zoe | 0x1F211DDD1CAA | | 5 | Zoë | 0x1F211DDD1CAA | | 6 | Zoë | 0x1F211DDD1CAA | | 7 | Zoe | 0x1F211DDD1CAA | | 4 | ZoA | 0x1F211DDD1C47 | +----+-------+------------------------+

mysql> select *, weight_string(text collate utf8mb4_0900_as_ci) as sortweight from test order by text collate utf8mb4_0900_as_ci; +----+-------+------------------------------------+ | id | text | sortweight | +----+-------+------------------------------------+ | 4 | ZoA | 0x1F211DDD1C470000002000200020 | | 1 | ZOE | 0x1F211DDD1CAA0000002000200020 | | 2 | zoe | 0x1F211DDD1CAA0000002000200020 | | 7 | Zoe | 0x1F211DDD1CAA0000002000200020 | | 5 | Zoë | 0x1F211DDD1CAA0000002000200020002B | | 6 | Zoë | 0x1F211DDD1CAA0000002000200020002B | | 3 | Zoy | 0x1F211DDD1F0B0000002000200020 | +----+-------+------------------------------------+

mysql> select *, weight_string(text collate utf8mb4_0900_as_cs) as sortweight from test order by text collate utf8mb4_0900_as_cs; +----+-------+--------------------------------------------------------+ | id | text | sortweight | +----+-------+--------------------------------------------------------+ | 4 | ZoA | 0x1F211DDD1C4700000020002000200000000800020008 | | 2 | zoe | 0x1F211DDD1CAA00000020002000200000000200020002 | | 7 | Zoe | 0x1F211DDD1CAA00000020002000200000000800020002 | | 1 | ZOE | 0x1F211DDD1CAA00000020002000200000000800080008 | | 5 | Zoë | 0x1F211DDD1CAA0000002000200020002B00000008000200020002 | | 6 | Zoë | 0x1F211DDD1CAA0000002000200020002B00000008000200020002 | | 3 | Zoy | 0x1F211DDD1F0B00000020002000200000000800020002 | +----+-------+--------------------------------------------------------+

ê

mysql> select *, weight_string(text collate utf8mb4_0900_bin) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 10 using utf8mb4)) collate utf8mb4_0900_bin; Empty set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_as_cs) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 10 using utf8mb4)) collate utf8mb4_0900_as_cs; Empty set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_ai_cs) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 10 using utf8mb4)) collate utf8mb4_0900_ai_cs; ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_cs' mysql> select *, weight_string(text collate utf8mb4_0900_ai_ci) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 10 using utf8mb4)) collate utf8mb4_0900_ai_ci; +----+-------+------------------------+ | id | text | sortweight | +----+-------+------------------------+ | 1 | ZOE | 0x1F211DDD1CAA | | 2 | zoe | 0x1F211DDD1CAA | | 5 | Zoë | 0x1F211DDD1CAA | | 6 | Zoë | 0x1F211DDD1CAA | | 7 | Zoe | 0x1F211DDD1CAA | +----+-------+------------------------+ 5 rows in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_ai_ci) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 10 using utf8mb4)) collate utf8mb4_0900_ai_ci order by text utfmb4_0900_as_cs; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'utfmb4_0900_as_cs' at line 1 mysql> select *, weight_string(text collate utf8mb4_0900_ai_ci) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 10 using utf8mb4)) collate utf8mb4_0900_ai_ci order by text collate utfmb4_0900_as_cs; ERROR 1273 (HY000): Unknown collation: 'utfmb4_0900_as_cs' mysql> select *, weight_string(text collate utf8mb4_0900_ai_ci) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 10 using utf8mb4)) collate utf8mb4_0900_ai_ci order by text collate utf8mb4_0900_as_cs; +----+-------+------------------------+ | id | text | sortweight | +----+-------+------------------------+ | 2 | zoe | 0x1F211DDD1CAA | | 7 | Zoe | 0x1F211DDD1CAA | | 1 | ZOE | 0x1F211DDD1CAA | | 5 | Zoë | 0x1F211DDD1CAA | | 6 | Zoë | 0x1F211DDD1CAA | +----+-------+------------------------+ 5 rows in set (0.00 sec)

mysql> mysql> mysql> mysql> mysql> select *, weight_string(text collate utf8mb4_0900_bin) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 11 using utf8mb4)) collate utf8mb4_0900_bin; +----+------+------------------------+ | id | text | sortweight | +----+------+------------------------+ | 5 | Zoë | 0x5A6FC3AB | +----+------+------------------------+ 1 row in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_as_cs) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 11 using utf8mb4)) collate utf8mb4_0900_as_cs; +----+-------+--------------------------------------------------------+ | id | text | sortweight | +----+-------+--------------------------------------------------------+ | 5 | Zoë | 0x1F211DDD1CAA0000002000200020002B00000008000200020002 | | 6 | Zoë | 0x1F211DDD1CAA0000002000200020002B00000008000200020002 | +----+-------+--------------------------------------------------------+ 2 rows in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_ai_cs) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 11 using utf8mb4)) collate utf8mb4_0900_ai_cs; ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_cs' mysql> mysql> mysql> mysql> mysql> select *, weight_string(text collate utf8mb4_0900_bin) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 11 using utf8mb4)) collate utf8mb4_0900_bin; +----+------+------------------------+ | id | text | sortweight | +----+------+------------------------+ | 5 | Zoë | 0x5A6FC3AB | +----+------+------------------------+ 1 row in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_as_ci) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 11 using utf8mb4)) collate utf8mb4_0900_as_ci; +----+-------+------------------------------------+ | id | text | sortweight | +----+-------+------------------------------------+ | 5 | Zoë | 0x1F211DDD1CAA0000002000200020002B | | 6 | Zoë | 0x1F211DDD1CAA0000002000200020002B | +----+-------+------------------------------------+ 2 rows in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_as_cs) as sortweight from test where text = concat('Zo', char(12*16 + 3, 10*16 + 11 using utf8mb4)) collate utf8mb4_0900_as_cs; +----+-------+--------------------------------------------------------+ | id | text | sortweight | +----+-------+--------------------------------------------------------+ | 5 | Zoë | 0x1F211DDD1CAA0000002000200020002B00000008000200020002 | | 6 | Zoë | 0x1F211DDD1CAA0000002000200020002B00000008000200020002 | +----+-------+--------------------------------------------------------+ 2 rows in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_bin) as sortweight from test where text = 'zoe' collate utf8mb4_0900_bin; +----+------+------------------------+ | id | text | sortweight | +----+------+------------------------+ | 2 | zoe | 0x7A6F65 | +----+------+------------------------+ 1 row in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_as_cs) as sortweight from test w here text = 'zoe' collate utf8mb4_0900_as_cs; +----+------+------------------------------------------------+ | id | text | sortweight | +----+------+------------------------------------------------+ | 2 | zoe | 0x1F211DDD1CAA00000020002000200000000200020002 | +----+------+------------------------------------------------+ 1 row in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_as_ci) as sortweight from test where text = 'zoe' collate utf8mb4_0900_as_ci; +----+------+--------------------------------+ | id | text | sortweight | +----+------+--------------------------------+ | 1 | ZOE | 0x1F211DDD1CAA0000002000200020 | | 2 | zoe | 0x1F211DDD1CAA0000002000200020 | | 7 | Zoe | 0x1F211DDD1CAA0000002000200020 | +----+------+--------------------------------+ 3 rows in set (0.00 sec)

mysql> select *, weight_string(text collate utf8mb4_0900_ai_ci) as sortweight from test where text = 'zoe' collate utf8mb4_0900_ai_ci; +----+-------+------------------------+ | id | text | sortweight | +----+-------+------------------------+ | 1 | ZOE | 0x1F211DDD1CAA | | 2 | zoe | 0x1F211DDD1CAA | | 5 | Zoë | 0x1F211DDD1CAA | | 6 | Zoë | 0x1F211DDD1CAA | | 7 | Zoe | 0x1F211DDD1CAA | +----+-------+------------------------+

mysql> show collation like '%utf8mb4_uni%'; +------------------------+---------+-----+---------+----------+---------+---------------+ | Collation | Charset | Id | Default | Compiled | Sortlen | Pad_attribute | +------------------------+---------+-----+---------+----------+---------+---------------+ | utf8mb4_unicode_520_ci | utf8mb4 | 246 | | Yes | 8 | PAD SPACE | | utf8mb4_unicode_ci | utf8mb4 | 224 | | Yes | 8 | PAD SPACE | +------------------------+---------+-----+---------+----------+---------+---------------+

mysql> show collation like '%utf8mb4_0900%'; +--------------------+---------+-----+---------+----------+---------+---------------+ | Collation | Charset | Id | Default | Compiled | Sortlen | Pad_attribute | +--------------------+---------+-----+---------+----------+---------+---------------+ | utf8mb4_0900_ai_ci | utf8mb4 | 255 | Yes | Yes | 0 | NO PAD | | utf8mb4_0900_as_ci | utf8mb4 | 305 | | Yes | 0 | NO PAD | | utf8mb4_0900_as_cs | utf8mb4 | 278 | | Yes | 0 | NO PAD | | utf8mb4_0900_bin | utf8mb4 | 309 | | Yes | 1 | NO PAD | +--------------------+---------+-----+---------+----------+---------+---------------+

Permalink - posted 2023-09-16

MySQL Unicode weirdness

After looking at the SQLite Unicode behavior, it's now time to do the same for MySQL. Coincidentally, I'm currently migrating some old databases that were created in the very early 2000s to a more modern environment. I think those old databases were from the MySQL 3.x days, before MySQL gained any sort of Unicode support. Those old tables are thus still in the latin1 (ISO 8859-1) character set.

But I encountered some MySQL/Unicode weirdness...

Read the article - posted 2023-09-21

Myhthbusters

20 years ago today, the TV show Mythbusters aired its first regular episode on the Discovery Channel, after three earlier pilot episodes. And soon after, I had found a new favorite TV show.

Read the article - posted 2023-09-23

Verkiezingen komen er aan! #2

Eind augustus liet Pieter Omtzigt weten inderdaad mee te gaan doen aan de verkiezingen van 22 november met een nieuwe partij: Nieuw Sociaal Contract. Dat zal schrikken geweest zijn voor de andere partijen. Maar veel bleef en blijft onduidelijk: een lijst komt pas over een week en een verkiezingsprogramma zelfs pas eind oktober. Ook heeft hij nog geen uitsluitsel gegeven of hij wel in alle kieskringen mee gaat doen.

Maar vorige week zondag in het programma Buitenhof zei hij dat hij zou willen meeregeren. In dat geval ligt het voor de hand dat je zoveel mogelijk zetels probeert te halen, zodat meer coalities met jou mogelijk worden en minder coalities zonder jou. Ik verwacht dus dat hij gewoon met een lijst met 40 of 50 kandidaten komt.

Read the article - posted 2023-09-24

StroomTijd: reken uit of dynamische stroomtarieven wat voor jou zijn

Ik heb samen met Lennard van der Poel afgelopen tijd gewerkt aan een nieuwe web-tool om mensen inzicht te geven in wat een eventuele overstap op een dynamisch stroomtarief zou betekenen.

Op StroomTijd.nl kan je de dynamische stroomprijzen van 2023 tot nu toe per week bekijken:

Er wordt dan een vergelijking gemaakt tussen wat je met een dynamisch contract had betaald en hoe dat vergelijkt met vaste stroomprijzen.

Ik ben reuze benieuwd naar reacties en suggesties, dus probeer het uit en laat me weten (via email, Twitter of Mastodon) wat je ervan vindt. En mocht je direct op een aanbieder van een dynamisch stroomcontract willen overstappen dan zijn we je van dienst met gesponsorde links. :-) Kijk wel naar de verschillende aanbieders, want de kosten bovenop de groothandelsprijzen verschillen nog wel iets.

Permalink - posted 2023-10-02

BGP handling of obscure errors

I read Ben Cartwright Cox' (extensive) blog post Grave flaws in BGP Error handling and then saw his talk about the same topic at NLNOG on Youtube.

Here's the story.

Read the article - posted 2023-10-02

→ Enforcing First AS in BGP

The BGP RFCs state that external BGP peers should insert their own AS into the AS PATH advertised to eBGP peers. Some peers strip their AS, generally for commercial gain. Juniper and Cisco have opposite default behaviors for handling this. Make sure you set bgp enforce-first-as on Juniper routers. Caveats apply.

The annoying part here is that you want to disable this check for internet exchange route servers, but keep it enabled for everything else for security reasons. But that's not universally possible, as on some routers this is a global setting, rather than a per-neighbor one.

Read the article - posted 2023-10-08

→ Stop met experimenteel onderwijs, het werkt niet

Kinderen hebben kennisoverdracht nodig om te leren lezen en rekenen. De inspectie waarschuwt al jaren, nu dient er te worden ingegrepen, stelt Sezgin Cihangir.

Niet echt mijn ding, maar ik kan het er alleen maar 100% mee eens zijn. Ik huiver bij de gedachte dat ik naar school had gemoeten in het huidige onderwijssysteem.

Read the article - posted 2023-10-08

Verkiezingen komen eraan #3: wat wil Pieter Omtzigt?

Verkiezingen zijn leuk, maar uiteindelijk gaat het erom wat voor kabinet ons land de komende jaren gaat regeren. Tenzij de uitslag totaal anders is dan de peilingen zal zo'n regering moeten bestaan uit twee van de drie partijen die nu ongeveer een zesde van het electoraat aan zich binden: VVD, GroenLinks/PvdA, NSC, plus nog een aantal partijen die nu op 10+ zetels staan of in elk geval in de buurt van de 10 zetels zouden kunnen komen.

Die eerste categorie is PVV (nu zo'n 18 in de peilingen) of BBB (nu zo'n 12 in de peilingen). De laatste categorie is voornamelijk D66 en CDA, die nu laag scoren maar misschien nog terug kunnen komen.

Read the article - posted 2023-10-12

Goedkoop je water koken: gas, inductie, waterkoker, magnetron?

Als grote theedrinker kook ik sinds jaar en dag water in een waterkoker. Het elektrische verwarmingselement is daarbij (nagenoeg) rechtstreeks in contact met het water en de koker schakelt automatisch af zodra het water kookt, dus het water wordt verwarmd met een minimum aan elektriciteit.

Nu valt in Nederland niet vaak de stroom uit, maar voor het geval dat heb ik ooit een fluitketel aangeschaft om nog ouderwets mijn theewater op gas aan de kook te kunnen brengen bij een stroomstoring.

En nu ik een dynamisch elektriciteitstarief heb, waarbij stroom soms goedkoop en soms duur is, vraag ik me af: bij welke verhouding tussen de stroomprijs en de gasprijs ben ik goedkoper uit met water koken op elektriciteit vs gas?

Permalink - posted 2023-10-23

Herfst in Den Haag

Image link - posted 2023-10-27

→ The beauty of finished software

Finished software is software that’s not expected to change, and that’s a feature! You can rely on it to do some real work.

We need more of this.

But: how do you write software that will keep working for decades to come? Certainly don't look at Apple for this, they keep changing their CPU architectures every decade or so and after a transition period, the old stuff is dead.

Could WebAssembly be the solution? This is a pretty fast binary format that almost any programming language can be compiled to.

Read the article - posted 2023-11-01

Verkiezingen komen eraan (ook al merk je er niet veel van) #4

Image link - posted 2023-11-05

Omtzigts geheime plan: een minderheidskabinet van alleen NSC?

De verkiezingen van volgende week lijken ondertussen nauwelijks meer dan een formaliteit. Het echte werk komt daarna: de formatie. En daar is Pieter Omtzigt de spil waarom alles draait. Een kabinet zonder NSC zou waarschijnlijk zeven partijen nodig hebben voor een meerderheid, en is qua oud zeer en inhoud nagenoeg kansloos.

Dus Pieter: zeg het maar.

Read the article - posted 2023-11-13

Verkiezingen komen eraan #6: eindsprint Frans Timmermans?

Sinds gister zijn er nieuwe peilingen van Ipsos en I&O Research. Voor het eerst zijn deze peilingen nu op min of meer hetzelfde moment gedaan en de resultaten voor de grote drie komen nu ook sterk overeen:

Read the article - posted 2023-11-16

Stemmen in het hol van de leeuw

Image link - posted 2023-11-22

Skyline #21, winter is coming...!

Image link - posted 2023-11-30

De verkiezingen zijn geweest, wat nu? #1

Uitslag van de verkiezingen van 22 november:

Vóór de verkiezingen had ik nog hoop dat een minderheidskabinet van GL-PvdA en NSC een optie zou zijn. Maar met deze uitslag zou je dan letterlijk alle partijen links van de VVD nodig hebben voor een meerderheid. De VVD heeft regeren met GL-PvdA al uitgesloten. Dus de enige opties die overblijven zijn over rechts.

Read the article - posted 2023-12-04

Skyline #22, shortest day of the year edition

Image link - posted 2023-12-22

De verkiezingen zijn geweest, wat nu? #2

De afgelopen weken is afgedwaalde PvdA'er Ronald Plasterk bezig geweest met een "verkenning" over hoe te komen tot een nieuwe regering. Niet onverwacht is zijn advies dat PVV, VVD, NSC en BBB gaan praten. Inmiddels is Plasterk benoemd tot informateur met precies deze opdracht. Hij neemt hier zonodig de maximale termijn voor en komt dan begin februari met een terugkoppeling hiervan.

In het debat over de verkenning werd door de meeste andere partijen het nodige gezegd over de rechtstatelijkheid en grondwettelijkheid van de PVV-standpunten. Maar PVV, VVD, NSC en BBB waren al in de coalitie-stand gesprongen en stelden elkaar geen vragen en dienden alleen gezamenlijke moties in.

Read the article - posted 2023-12-28

Search for:

Archives: 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024