Februdiary 2022.
Sun 27 February 2022
January 2022
What I read in February:
What I cooked/baked in February:
- Fully (except tomato sauce, not really the season for fresh tomatoes :) ) home-made lasagnas. The dough was too thick this time. I need to try again. Oh no. What a shame.
- Bread (yeah, it'll be a regular, get used to it :) ). This time tried with much more whole grain rye flour than usual (350g + 150g bread wheat flour), I very much like it this way.
- First ever white bread (for a club sandwich recipe and also Croque Monsieur very soon),
- Moussaka, followed this recipe (without the potatoes)
- Almond-chocolate cookies. First time replacing butter with coconut oil. The smell and taste were amazing. There was some oats in it and I got a nostalgia flashback of the chocolaty cereal bars from my childhood.
What I worked on in February:
What I discovered/learned in February:
- https://unicode.party/ for Emojis to insert in my Markdown-based blog :)
- https://vivent.at/gratis-ins-museum/ for a list of Viennese museums freely accessible. Bookmarked for when the pandemic's over.
- I needed to support two different display panels with the same device tree and driver and apply the correct settings at runtime from the kernel driver. The auto-detection mechanism relied on some MIPI DSI Display Command Set (DCS) command being sent to retrieve the panel register ID. However, this can only happen when the display is powered. Moreover, the display modes are different between the two variants. Since the display is powered and correctly configured only in
.prepare
or .enable
callbacks, this is where the auto-detection mechanism needs to happen. Sadly, most MIPI CSI controllers do a copy of the modes of the display when the panel gets attached to the controller. This means that after mipi_dsi_attach is called, any change to the modes of the panel won't be applied to the modes internally used by the controller. This could be modified by having the controller save a pointer to the modes data structure from the panel. However, the modes are applied after getting retrieved from the driver with .get_modes
callback in the panel driver which happens before .prepare
callback is called. Therefore, since .get_modes
is called before the panel can exchange MIPI DSI DCS commands, it cannot be used for auto-detecting the display. This also means that the modes will be wrong. By chance, in our custom Linux kernel, the panel gets configured twice, once for the framebuffer and once for the MIPI DSI controller, meaning we could modify the modes variable in .prepare
so that the second call to .get_modes
will return the correct value for the detected display. This is obviously a brittle work-around and a more robust solution would be to implement MIPI DSI DCS commands for this MIPI DSI controller and display panel in U-Boot and select a different Device Tree or Device Tree Overlay for the kernel.
- I2C drivers do not necessarily need an
of_device_id
to match against a compatible from the Device Tree. Instead, the match
callback of the i2c bus driver will try multiple things to match a device against a driver, one of them being i2c_match_id
which iterates over the compatible string of an i2c device Device Tree node until if finds an exact match in one of the drivers name. This explains why one can add a Device Tree node for a MEMSIC MXC4005 with a compatible "memsic,mxc4005"
and have only "mxc4005"
as i2c_device_id
in the driver and have the i2c bus driver probe this device correctly.
- check-wheel-contents to - you guessed it - check the content of Python
wheel
packages.
- jless for viewing and going through JSON content on the command line. Note: Firefox (and probably Chrome with this extension too) can do the same (while obviously NOT allowing this to be done from the command line :) ).
What entertained me in February:
- 📺 Peacemaker - A different kind of superhero TV shows. Flirts dangerously with cringey at times but had a good time overall!
- 📺 How I Met Your Father - The spin-off definitely does not live up to the original series I liked to watch. Most "jokes" fall flat. Trying to push through the first season but every week is a reminder I should probably stop losing my time :)
- 📺 Boba Fett - A bit disappointed by the ending to the point that I didn't know it was the season (series?) ending until the week after when a new episode didn't drop. All in all, it was a good entertainment nonetheless.
- 📺 Maid - I felt uncomfortable during the whole series, especially during the first episode which was hard to watch.. showing it was well acted/directed/produced since it's talking about abuse and everything the main character had to go through to try to start a new life for her and her child.
- 📺 The Wheel of Time - A bit confused by how little was shown/introduced/explained during the first season. It felt to me like a 7h long trailer to the actual series. I'll probably watch the second season once out to decide what to think of it. Really shallow scenario for me at the moment.
- 📺 Fleabag - What I think is meant by "British comedy"? I binge watched it over two evenings. The story telling is much different that what I was used to, but got quickly and easily hooked and it's the strength of the series for me. It's funny and emotional at times. Can recommend, the seasons and episodes are short and easy to watch.
- 📖 Murder on the Orient Express by Agatha Christie - I rarely read a book in long sessions so it needs to be easy to get back to but this book was not. Too many characters and details to remember to be able to enjoy the book. Story was okay but I probably would have enjoyed it more, had I had the time, energy and will to go through multiple chapters in long reading sessions.
- 📖 Verity by Colleen Hoover - What could probably be labeled as erotica mixed with thriller genre. A bit too much on the sexual side, but the thriller part was nicely and slowly brought up. I just couldn't stop reading. Loved it :)
What I'm excited about for March (and later):
- 🏍️ (Slow) start of the motorbike riding season,
- Hopefully receiving my two Seeed XIAO BLE,
- More cooking recipes to discover and try,
- Going out of my apartment and seeing some friends,
- Attack on Titan final season should be about to end, so I'll start watching it at the end of the month :)
- Peaky Blinders final season episodes dropping every week, so need to watch the old seasons again to prepare for the new season :)