iljitsch.com

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

Hi, I'm Iljitsch van Beijnum. These are my posts related programming and web development.

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

Permalink - posted 2023-11-01

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

Full article / permalink - posted 2023-09-21

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?

Full article / permalink - posted 2023-09-05

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.

Full article / permalink - posted 2023-09-04

My BGP minilab

When I wrote my first BGP book I painstakingly made the config examples on actual Cisco routers. In my opinion, it's crucial to make sure that configuration examples that go in a book actually work.

So when I started writing my new BGP book, I did the same. But this time, I used open source routing software (FRRouting) running in Docker containers. Basically, those containers are very light-weight virtual machines.

This makes it possible to run a dozen virtual routers that start up and shut down in just a few seconds. So it's very easy to run different examples by starting the required virtual routers with the configuration for that example.

This was super useful when I was writing the book.

So I thought it would also be very useful for people reading the book.

So I'm making the "BGP minilab" with all the config examples from the book available to my readers. Download version 2022-11 of the minilab that goes with the first version of the book here.

You can also run the examples in the minilab if you don't have the book. And you can create your own labs based on these scripts.

The minilab consist of four scripts:

There are Mac/Linux shell script and Windows Powershell versions of each script.

Permalink - posted 2022-11-11

My web tool for controlling (the color temperature of) Philips Hue lights

Last year I got a new webcam, which led me to ask myself what color temperature setting for my Hue lightbulbs would work best with that camera. (Turns out: 4000K.)

But: how do you set your Hue lights to a certain color temperature? I didn't find a good solution for that. So I built my own!

Full article / permalink - posted 2022-07-12

older posts

Search for:
RSS feed

Archives: 2013, 2019, 2020, 2021, 2022, 2023