Unlocking Time: Harnessing the power of temporal tables in SQLite

SQLite is a remarkable, versatile and widely adopted embedded relational database. SQLite’s lightweight nature, ease of integration and broad cross-platform support make it a go-to choice for developers seeking an efficient solution for storing data. Also, SQLite is very capable, but some features aren’t included out of the box. One of those not-included features is temporal tables. What that feature is, why it’s useful, and how to get it working with SQLite will be described in this post.

What are temporal tables?

Temporal tables, also known as temporal data tables, are a feature in database systems that allow you to keep track of states of data over time. These tables store historical versions of data, providing a way to query and analyze how data has evolved over different points in time. A mechanism to fly back in time, so to speak. Such a feature is especially useful when handling data that does not only consist of immutable facts, but also data that is mutable or somewhat mutable. There is more mutable data than one might think. Let’s look at an example, a table of employees:

Continue reading
Posted in Technik | Tagged | Leave a comment

Modern TLS Version for dovecot & postfix

(TLS 1.2 or newer)

You can use the following settings to ensure that Dovecot and Postfix use a modern TLS version:

For Dovecot:

  1. Open the file /etc/dovecot/conf.d/10-ssl.conf (Debian).
  2. Uncomment the line starting with ssl_min_protocol and set it to ssl_min_protocol = TLSv1.2.

For Postfix:

  1. Open the file /etc/postfix/main.cf (Debian).
  2. Add the following directive: smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1.

Finally, reload Postfix with systemctl reload postfix and restart Dovecot with systemctl restart dovecot.

Posted in Technik | Tagged , , , , , | Leave a comment

Setting up timesync via NTP on debian & raspberry pi

I use systemd-timesyncd to keep the system time up to date on my raspi / debian system.
To do so i did the following steps:

1. Check the state of timedatectl
Therefore type the comand timedatectl to the shell.
The output should look something like this:

Local time: Fr 2023-01-06 19:34:27 CET
Universal time: Fr 2023-01-06 18:34:27 UTC
RTC time: n/a
Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no

The important part is “System clock synchronized: no” and “NTP service: n/a“. This tells us that there currently is no timesyncing via systemds timedatectl.

2. Install systemd-timesyncd

Continue reading
Posted in Technik | Tagged , | Leave a comment

Erase ESP – quickly reset the wifi chip

Install esptool.py
pip3 install esptool

Erase flash of the esp
esptool.py -- erase_flash

One of my smart ESP devices wasn’t responding after a power down.
I debugged the problem by connecting it to a serial interface. On the comandline I saw that the chip wasn’t able to connect to its WIFI. To check wether the chip was fried or if its just the software thats messing around I had to delete all of its storage, to reflash the software afterwards. To do that i used the comands stated above.

Posted in Technik | Tagged , , , , , , | Leave a comment

Limoncino Sprizt – Ligurien im Glas – ein leckeres Sundowner Getränk

Zwischen Bergen und Meer, auf kleinen Straßen die sich an den Hängen von Bucht zu Bucht winden. Wo sich die kleinen Orte bunt vom Meer den Hang hinauf winden. Hier wo die Zitronen blühen, hier in Ligurien, hier kommt er her der Limoncino. Er ist der nördliche Bruder des Limoncello, der eher an der Amalfi Küste und in Sizilien zu hause ist.

Continue reading

Posted in Reisen, Rezepte | Tagged , , | Leave a comment