For some reason, I didn’t get to see much people, and didn’t have much client work revenue throughout that year. I’m not sure why 🤔
TwentyTwenty was filled with unexpected events, discoveries, and opportunities to think about a lot of things. As nobody needs to read another editorial about the pandemic, I will attempt to summarize that year without discussing lockdowns, habit disruptions or international politics. Since this blog post is mostly chronological it does start with some dark stuff, but that’s just how it goes, it gets better (I think) and, as usual, concludes with a bunch of open-source related things.
Personal life summary
- In January, one of my students/friends, Aida, died with her husband Arvin and 174 other passengers. She was 33 years old, and had just obtained her PhD a few weeks earlier. That hit me pretty hard. Two years after this incident, I still think of them regularly—you do not forget someone you worked with for half a decade.
- Another one of my students/friends, Samer, died three months later, under nebulous circumstances, in his mid-twenties. As it happened right as the lockdowns were kicking in, I unfortunately did not get to pay my respects in person as I had done for James, Aida and Arvin. We were barely a quarter into the year and I was already fed up with this bad movie plot but, you know… shikata ga nai.
- Not much happened during the couple of months that ensued (or not much that I remember, as I think we all collectively went through time dilation), other than working on resurrecting the Getting Things GNOME project (and doomscrolling).
But wait, keep on reading…
- I found and bought the legendary rare-itemu ThinkPad X220T. A dream come true. There are many ThinkPads like it, but this one is mine.
- I discovered that my then-16-years-old WordPress blog—an Elder of the Internet—predates unicode standardization on the web and was therefore a mix of latin1_swedish_ci, utf8, and utf8mb4 😱 I had to do database surgery to fix this before a major PHP update would break everything. It took me months to solve this; story for another day. But at least the fact that you’ve been reading this retrospective makes it all worth it 😃
- I honed my bicycle maintenance skills (simple examples here and here) and taught myself a lot about bike restoration. The most dramatic case was an old folding bike that had been left to rust to death by some careless owner:
…and that I fixed up real good:
Around the same time period in the summer of 2020, mai waifu, who had been stuck abroad for the past 12 months at that point, decided to end our relationship, as the prospect of coming back didn’t seem likely anymore in the context of the pandemic. Well, shi—’kata ga nai, desu yo~
With that turn of events, I went back to my personal projects backlog with a whole new perspective and set of priorities. With only myself to answer to and to take care of, I was essentially… limitless. No waifu? No laifu!™
- Bit by bit, I completed a lot of “living space” improvement projects that had been put on hold. Since I now had free reign to buy/install/organize whatever I damned please in my mancave, that’s exactly what I did:
- A bunch of office chairs and studio equipment in the living room? An accounting desk in a closet? A mobile tower of shelves in the water closet? Two visible pans racks on the countertops? Not-pretty-but-practical entryway rugs? Mobile wire rack shelving for conveniently storing equipment in plain sight? A 40-years-old floral wool carpet from Thaïland in the ultramodern studio? Yes to all of that! Whoever visits me from here on accepts the corporate and utilitarian nature of my premises, and that’s that. 😤
- I have set up my home cinema with a dedicated computer connected to the projector, installed dark blackout curtains on rails on three walls, used dark floor foam tiles, and placed the surround speakers all around the room. The subwoofer is in an unusual orientation, firing horizontally (from behind the seating positions) while held by a DIY wooden platform atop vibration absorbers, on a inexpensive Sonopan sound absorption panel cutout, to reduce structural sound transmission to neighbors. It is a derivative of this idea I originally had.
- In the same room, I have perma-installed the heavy (and rare) upcycled Cobalt Flux™ Dance Dance Revolution pads on top of heavy anti-fatigue bartender rubber mats (to prevent damaging the floor or transmitting step sounds). The Linux media center computer has a fully-loaded Stepmania on it, thanks to the existence of this flatpak. Yet somehow, throughout 2020, I wasn’t very much into the mood for dancing.
- I set out to prepare to resume my independent practice for the next year, and diversify a bit. Therefore I created the Atypi.ca website in the summer-fall of 2020 as a trial-by-fire deployment (even though there was no business to be made on that front with all the lockdowns), learned a lot from that, and from that successful experience, started strategic planning for two other specialized business websites I would develop throughout 2021.
Miscellaneous findings & thoughts
- Discovered that traditional Japanese archers are super stealthy.
- I also discovered, near the end of 2020, that the ex-waifu had previously viciously murdered my bamboo plant in 2019 😲 We’re still good friends, although I think she can no longer be considered a model millenial.
- After many weeks (months?!) of research, found a durable headphone earpads solution for my Sony MDR-7506 studio monitoring headphones, and made a video about it.
- Was very saddened by Behdad’s story of his very unfortunate encounter with Iran’s state police. You should read that article if you hadn’t seen it. Also covered on CBC news and on Global news. I was relieved to know that he had at least made it out alive. If you’re too new in the GNOME community to instantly know who Behdad is, this is a person to whom we owe a lot of Cairo, Pango, and various other fundamental GNOME technologies.
- Pro tip™ for Firefox tab hoarders out there who have trouble identifying/reading their tab titles to close or move them: set a minimum tab width of 150 or 200 pixels (instead of the default 76) by setting the browser.tabs.tabMinWidth property (in about:config) to 150. Thank me later.
- Throughout the year I had become collapse-aware again, as the pandemic laid bare humanity’s division and general ineptitude at solving even “practice rounds” of large-scale issues; does not bode well from a climate crisis perspective. And as much as I love meeting my tech family at GUADEC, I feel like Philip Withnall was definitely right (see also his GUADEC 2019 talk, “Environmentally Friendly GNOME”, part 1 and part 2 and this forum question). I unfortunately do not have reassuring answers when it comes to the climate emergency, other than thinking that local urban vertical hydroponic farms are an interesting approach to the unsustainability and failability of land-based agriculture as we currently know it, and that we at least reportedly solved the ozone layer problem 😌
- Speaking of hydroponics, I tried the kratky method. I wish I had great success to report with my indoors “victory garden”, but while basilico thrives in kratky, I never managed to get my tomato plants to fruit with just natural light, and it is a supremely time-intensive research process. Also, my tomato plants always tend to get powdery mildew. “Perhaps I need to try my luck again next year, with a regular self-watering soil planter and lots of artificial light”, I thought.
Open-source contributions and interesting bug reports
- With Diego & friends, we resurrected the Getting Things GNOME project and published the 0.4 release (sorry to be mentioning this for the zillionth time here, but it’s technically part of that year’s history). Went on to talk about it, from an Open-Source Community Management & Project Management perspective, at the beginning of Linux Unplugged’s 361st episode, then presented at GUADEC 2020 on a related topic. Development and new releases have been ongoing since then.
- I’ve taken the time to experiment a bit on Evolution using the GTK Inspector, to figure out the combination of properties needed to make Evolution’s attachments bar IconView look good, and shared my findings in this bug report. Reportedly some of those suggested improvements are supposed to show up in Evolution 3.41.3 and newer. As I am stuck on Fedora 33, I haven’t tested this myself yet.
- Finally sat down to file a slew of usability and UX bugs, for all of “pavucontrol” fans who wish to use it to control devices in PulseAudio and PipeWire:
- Client-side window decorations (headerbar) for pavucontrol
- Use typographic quotes in pavucontrol for track names instead of straight single-quotes
- pavucontrol’s volume meters (vumeters) should be vertical to save space and avoid confusion with the sliders
- pavucontrol’s “on” text string should be aligned/close to the device output button, or replaced by something clearer
- Renaming devices in pavucontrol is totally un-discoverable
- Finally found the cause of this long-standing memory leak in Nautilus that causes the app to slow down massively, including slow tab changes: it happens if you have multiple files and folders in your ~/Templates directory. The issue is now reportedly fixed.
- Periodic reminder of this time paradox bug report I filed in GNOME Calendar!
- I can’t believe it took me so many years to have this “ah-HA!” moment and narrow down the usability problem that has been bugging with the interaction between GThumb and Nautilus, but here it is, laid out in a bug report: Don’t show files other than still pictures in the sidebar when inside a single image view, no matter what the browser’s filter is
- Suggested that Evolution display search progress indications in its search entry widget. If someone here feels the same way and would be able to come up with a patch, I think it would really massively improve user experience.
- Discovered that Evolution’s local full text search, while very accurate, appears to be single-threaded (judging from the CPU graph), which would explain why it takes 12 seconds to search through 20 thousand messages. Unfortunately, the issue of lack of multithreading was not solved. I wonder if any of my readers might care to work on it.
- Investigated a really crazy heisenbug/mandelbug, where GNOME Shell crashes “when launching a French-titled website as a web app while running an external monitor in a custom arrangement”. I think it might be a good candidate to win the higgs-bugson, mandelbug and hindenbug awards of the year 😂
There were probably hundreds of other little open source contributions I did throughout 2020, but I can’t remember them all. I don’t know about you, but somehow my memory of that year is a little bit hazy.