Open Source Contributions in 2020

When I wrote my 2019 open source contributions annual review I had high hopes for my open source contributions in 2020. As I wrote in my 2020 health annual review I allowed the political upheaval in my home country, the US, to distract me way too much. Sure there was some COVID distraction in March/April but if anything I was actually hoping the lack of travel would give me time to focus more on code generation. It was not to be. That excuse aside, I still managed to put in 698 hours into open source projects. That’s a slight uptick from 2019’s 653 hours but short of the 1000 hours I was hoping to contribute. The distribution looks very different as well, with most of it concentrated around my work with The B612 foundation. The five projects I contributed to the most fall into a relatively broad range of software (from highest to lowest number of hours contributed):


Annual Review 2020: The Mulligan Year

The year 2020 started off on an epic high note for me but quickly devolved into the same insanity as everyone else. Between COVID-19 and the political upheaval in my country (the US) and around the world it was a very stressful time. I mostly got through it with good spirits but being a stress eater and not one to naturally enjoy exercise means that while I started off on the right foot things quickly devolved. To say there were extenuating circumstances is an understatement. It’s not a legitimate excuse but it is what happened. Like the rest of us I want to forget 2020 but the cummulative health effects on my body from this year happened whether I like it or not. Let’s explore how this year held up in terms of my grades and metrics on the health and longevity front.


Porting a ReactJS Timeline to KotlinJS

I am learning how to work with Kotlin Multiplatform in a real world environment, which includes making websites with Kotlin/JS. I am all thumbs when it comes to CSS and have never done much with React. So a good way to really plow through that is to take concepts I want to replicate and then port them to Kotlin/JS (if possible). One UI feature that I’m exploring are formatted lists. We use them everywhere nowadays. Searching around I found this timeline example created by Florin Pop. It’s not a huge amount of code but it makes a pretty neat looking timeline view of a collection:

A timeline view in ReactJS
The original ReactJS timeline from the Florin Pop's example

Questions I want to answer are:

  • Can I reproduce this using Kotlin/JS?
  • Is the source code clearer or more obtuse in Kotlin/JS?
  • What does the generated Kotlin code look like?

Micro Magic RISC-V vs. Rock64 ARM Rocketchip

I’m on a benchmark tear this past month. It’s just my level of excitement around the news around x86 alternatives. There are the ARM chips by Fujitsu running some of the fastest new supercomputers. There is the M1 chip by Apple. Now we have a potential new RISC-V chip by a company called Micro Magic which looks to be finally bringing performance into a range comparable to desktop-ish ARM chips. This article by ArsTechnica really wet my appetite. I wanted to see how this chip’s real world performance, assuming we take the benchmarks at face value, can compare to the CPU in the PineBook Pro (PBP).


Can Linux be used professionally for Desktop Publishing?

This isn’t a click bait headline and I won’t have an answer either way be the end of this post. There was this article in my RSS feed yesterday pointing out that the Linux Foundation wasn’t “dog fooding” FOSS or Linux with their annual report. Buried in the metadata of the PDF that they circulated was the not too surprising fact that the brochure was created with Adobe Creative Suite on macOS Catalina 10.15. The blogger considers it quite the indictment. I’m not so sure but I would like to explore if Linux can be used by desktop publishing (DTP) professionals. I’ll caveat this exploration by saying it was the early 1990s when I was last at all seriously involved in DTP. So some of my conventional wisdom may be dated. With that stated, let’s explore the potential of Linux professional DTP.


Picture of Me (Hank)


Updates (126)
Journal (119)
Software Engineering (115)
Daily Updates (84)
Commentary (68)
Methodology (58)