EML files from Outlook web version are not authentic

I was debugging DKIM issues recently. I wanted to take an EML file from Microsoft’s Outlook for the web (Office 365) and manually verify the DKIM signature.

While Microsoft conveniently offers this function in the web version (Download → Download as EML), it turns out that this data is not authentic. Microsoft serves you an EML that has been modified by them and will therefore not pass DKIM checks.

In this screenshot you see the original test email on the left, and the Microsoft modified version on the right.

After manually correcting these changes, the DKIM signature could be manually verified. However, this is not a scalable solution if you want to manually DKIM verify more complex emails, as it is undocumented how Microsoft modifies these emails.

Customizable text header when using expander-card in Home Assistant

A small tip for those using custom:expander-card in Home Assistant. The title-field doesn’t support formatting, it seems. But you can solve this using the title-card property.

Before:

After:

Code example:

type: custom:expander-card
padding: 0
clear: true
title-card-button-overlay: true
title-card-clickable: true
expanded: false
title-card:
  type: markdown
  content: "**Example title**"
cards:
...

Bosch UniversalHammer chuck run-out/wobble

I tried a number of different version of this drill, and all of them have chuck run-outs (wobbles) to differing degrees.

In practice, this will be unnoticeable, but I am sharing this information so you can make your own decision.

YouTube video

On Amazon I read other users noticing the same behavior:

(Production dates that I tried include: 2024-03, 2024-08, and 2024-09.)

Fixing default browser bug in GNOME vs KDE

I found there are slight differences in how GNOME and KDE handle the default browser for URLs.

In this case, I had cloned the Firefox .desktop file and (probably by my mistake) the section [Desktop Action new-private-window] was above [Desktop Entry]. This worked fine in KDE, but didn’t work for GNOME nor for Flatpaks.

One way to observe this was:

$ gio mime x-scheme-handler/https firefox-2.desktop
gio: Failed to load info for handler "firefox-2.desktop"

The solution was simple, [Desktop Entry] must come before [Desktop Action new-private-window].

You can confirm that the right browser is now set using gio open https://google.com.

Elasticsearch alert template for Fluentd with Kubernetes

When creating alerts in Elasticsearch for Fluentd and Kubernetes data, I find the following alert template useful:

Elasticsearch query alert '{{alertName}}' is active:

- Value: {{context.value}}
- Conditions Met: {{context.conditions}} over {{params.timeWindowSize}}{{params.timeWindowUnit}}
- Timestamp: {{context.date}}
- Link: {{context.link}}

Hits:
- {{context.hits.0._source.kubernetes.namespace_name}}
- {{context.hits.0._source.kubernetes.pod_name}}
- {{context.hits.0._source.log}}

(The “Hits” part is new.)