Today I wanted to flash some changes in the Reform keyboard firmware to the keyboard controller. Having done it before, I felt fairly confident with what I was doing. I took off the keyboard frame, flipped the dip-switch SW84 and pressed the button SW83. As expected, the keyboard controller restarted and showed up as Atmel DFU bootloader in the USB devices. I connected an external keyboard and tried to flash the new firmware I compiled before. I was greeted with 3 lines of dfu-programmer: no device present.

After trying a few times unsuccessfully, I tried to switch back to the normal mode, so I flipped the switch again and reset the controller. It did not restart this time and did not respond to Circle key presses. Flipping the switch and trying again in programming mode also did not change things. The oled display is off and I have no way to interact with the controller.

When flipping the laptop over, I noticed two leds being on permanently (D11, D12). I reset the lpc controller as well, but that also did not change anything.

Right now I can’t turn on the laptop at all.

One of my raspis died after a failed package upgrade. Since I couldn’t be bothered to search for the cause and the thing was ‘only’ hosting my adblocker anyways (AdGuard Home), I decided to let it walk the plank and install Pi-Hole on my main raspi again. After some fiddling everything mostly works again.

While uploading the picture of the bread I noticed that somewhere in the upload process the page would just turn blank and the upload would fail without any error message.

When I checked the server process in journalctl, I realized that the elixir process gets killed because it’s exhausting the memory of my (admittedly undersized) VPS. Since I do some processing (mostly dithering and resizing) of all uploaded images, it takes up to 400MB at one point.

Sometimes that’s less than is available so the OOM Killer (badass name) steps in and kills the process.

There is a very annoying issue in the Bitwarden Extension for Firefox where characters get lost while performing a search. Seems like somebody from the developers was able to reproduce the issue and proposed a workaround:

TL;DR If you’re on the “Current Tab” view, and attempt to perform a search, especially in a large vault, you can run into this issue.

The current workaround is to ensure that you are on the “My Vault” view when performing a search, as I have not been able to reproduce this issue when starting from there. That’s not ideal, but hopefully this helps until a fix can be made.

Yesterday I updated the kernel of my Reform to 5.19-reform2 and something broke. I could not start the machine anymore, the screen would just say:

Waking up LPC... 0%
No response from LPC

and then go blank. When I got home, I booted off of the sdcard with the rescue image (which is just a normal reform-system-v3 image) and used the following commands to overwrite the borked kernel with a slightly older, working one:

reform-flash-rescue
# answer "y" twice
reform-boot-config --emmc nvme

I got the command from https://community.mnt.re/t/trouble-booting-from-emmc/915/4, where it is used to setup and NVME and the internal EMMC storage.

Apart from that, I also found this issue that improves the Reform Operator Handbook with documentation about this and other commands:

https://source.mnt.re/reform/reform-handbook/-/issues/2

Updated my VPS to Ubuntu 22.04 LTS today. The process went very smooth, so I also updated the postgres database from 12 to 14.

I also added zstd/gzip compression for Mirage / Caddy which was super simple (just added encode zstd gzip to the server block) and compressed my 90kb of live_view js down to 30kb! \o/

Over the weekend I went out to meet with my brothers. We had a nice time going for a walk in the woods, playing games and working on a gift for our mother.

I did a few bike repairs yesterday:

  • Fastened one handle which suddenly went loose
  • Replaced one valve cap
  • Replaced my break pads

The breakpad replacment was pretty straightforward after getting a rough grasp from a video. For next time, I need to remember that:

  • before starting the repair, switch to the highest gear to get the chain in a favourable position for removing the tires
  • there is an easy way to get the tires out if you push back the chain holder on the back tire
  • on the front wheel, be sure to remove the cable of the dynamo by removing the cap on the wires
  • before putting the new brake pads in, push the cylinders inside the casing in to make space for the pads. Otherwise it will be hard to get them in.
  • don’t use the brake while repearing to avoid getting the cylinders stuck