A few days ago I saw a video by Aaron Parecki talking about PKCE. It seems to be a useful improvement to OAuth and Indieauth.

So today I added this to the weblog. It can now do the extra verification that happens, because of PKCE. It was pretty simple as you can add it as a few steps between the normal authentication. The structure itself stays very much the same. So this was the authorization server side of the protocol. Now I should add this to the clients that I created.


Starship is a prompt for your shell. It is customizable, very fast and has great defaults. It supports many tools and programming languages out of the box. It has great Git support.

The speed with which a prompt is shown is important, because it influences the way you work. With a prompt I used before, I noticed that the bigger the Git repository I was working became, the longer it took to show the prompt. Just pressing Enter took some time. Normally this shouldn't be noticeable.

When there are prompts that you don't need, you can easily disable these prompts. Run "starship config" to open your editor on the configuration file. My configuration looks like this. It improves the time formatting and disables some prompt segments for programming languages.

  disabled = false
  format = '[$time]($style) '
  time_format = "%H:%M"

  disabled = true

  disabled = true

  disabled = true

  disabled = true

  disabled = true

  disabled = true

I like Starship, as it is a nice improvement for my terminal and shell.

EMS Gateway connected with Home Assistant

In our new home we don't have an OpenTherm compatible boiler. This is no big problem, but I do need a different device to read the information from the boiler. Our Nefit boiler uses a different protocol, called EMS.

The boiler we have, has a special "status" port where you can read the information from the boiler. BBQKees created a small device that can do this. This device has support for Home Assistant through MQTT.

When the device is connected, you can adjust the temperature from Home Assistant using the Thermostat widget on the dashboard. This is really easy to setup and use.

Indieauth "me" argument

Today I found that some micropub clients couldn't log in to my auth and token endpoint. By adding some logging I found that the "me" wasn't sent to the token endpoint.

To solve the problem I removed these checks and now the endpoint gives a token back to the clients to make them work.

Today I wanted to build a new version of the website with Drone. It got this error: "SSL certificate problem: certificate has expired". The strange thing is that SSL certificate is from Let's Encrypt and this is automatically regenerated.

The solution I found was to pull a newer version of "drone/git" on the host machine where Drone runs. This solves the problem.

<a href="https://discourse.drone.io/t/issue-with-letsencrypt-and-ssl-certificates-in-old-drone-git/9852">solution</a>
Personal knowledge management could never have this input would without the public wikis providing a place for this written experience.
In the original wikis, part of the draw was that the people who took part in the history wrote about their personal experience. There is a big chance that these people would not have written this otherwise.
While working on an extension for zk in Neovim, I learned a few things:
- You can't use vim.fn.json_decode inside a make_entry call.
- Telescope finders.new_job calls to external programs expect a new line at the end of the last line.
- Zk doesn't add a new line at the end of the last line, but can do it with --footer "\n".
I created a tree-sitter grammar for printf. It's a few lines of code. Then I added a few queries to neovim to inject this new grammar in Go for Printf, Sprintf, Fprintf and Errorf. And now it highlights the "%s" in the format string.
The new version of Firefox has a nice dark theme.

Load more