The 2020 Experience

Not to be confused with The 20/20 Experience

  1. The Germination
  2. The Fruition
  3. The Disease
  4. The Profit
  5. The Migrations
  6. The Moral

The Germination

To understand my 2020, we have to travel back a few months, when it all started. No, not that thing beginning at the end of '19. I am talking about my 2020 experience, remember?

The story started in October 1810 in the not-so-little city of Munich, Germany. Alright, it sounds like I lied about the 2019 and my story part, but bear with me, it's all connected. Anyhow, some Bavarian couple got married and threw a big party. People like parties, so naturally they celebrated the anniversaries, year after year until it became a tradition known to in English as the Oktoberfest.

Over two centuries years later, on the wedding day of another Bavarian couple,[1] DigitalOcean began to an annual PR campaign on the same month called Hacktoberfest. I know, to many of you maintaining projects on GitHub (and more recently, the name might not remind you of something festive, but it really opened a new chapter in my life.

Back to the future in 2019, it was my first year taking part in the event. The premise was that one would receive a t-shirt after having filed at least four GitHub Pull Requests™.[2] Unlike plethora, this does not sound like it was a lot, yet more than I ever had done. Getting out of my comfort zone was the first baby step, opening various opportunities in the upcoming months and perhaps, years.

Graph showing steeper growth from October 2019
My activities on GitHub over the years

The Fruition

Probably what I benefited the most from participating in Hacktoberfest was learning to not be afraid of communicating with complete strangers maintaining the software I use. Stepping into 2020, I started to do a larger variety of stuff in Python, which made installing libraries happen on a regular basis. The international Internet connection from home at the time was unstable and usually downloads from the package warehouse was a few kBps and that definitely did not help. A few moments later, I found myself on PyPA's IRC channel discussing strategies to speed up pip downloading.

After several days of on-off conversations (mostly I was asking questions to fill in the blanks), a proposal was under draft: I was an undergrad sophomore and had been eyeing on Google Summer of Code (GSoC) for quite a while. Applying for pip wasn't the plan, but rather Octave, the first big project I have contributed code to.[3] Now thinking about it, it was a better choice since I was more comfortable with pip's tech stack. The rest of the story was already noted down so I won't be retelling it here.

The Disease

When the world had been battling SARS-CoV-2 for a few months, Việt Nam was barely affected. By refusing inbound travelers and temporary switching to work/study-from-home, the number of cases and deaths was neglible and by the end of summer we were virtually back to normal. I hated that most organizations, my university included, straight up offered big techs our data without a second thought, and was thankful online learning did not last.

Like many others, I spent that summer rarely leaving the house. I was grateful of GSoC for keeping me busy and giving me the opportunity to socialize with new cool people. It was impossible for me to catch the virus, I thought. I was not wrong though, but I got something else: dengue fever. The fever wasn't too bad, I was high as a kite for half a week, but never critical. The aftermath, however, was much less pleasant.

For the next week, I was in a living hell because of a throat infection. I'd had sore throats before, quite regularly in fact, often at least once every few months, but they had been a mere inconvenience. Usually, all I'd gotta do had been to person up, swallow a few times and get on with my day. This was different. Everything hurt like a bitch. The slightest texture or flavor could cause minutes of pain. For the first time, I experience throat lozenges being the opposite of soothing.

For the entire week, I survived on undercooked scrambled eggs and mushy porridge. I had to take α-chymotrypsin[4] before every meal and was practically microdosing it throughout the day to be able to drink water. You can't imagine how happy I was when I could finally eat rice again. While the infection was not directly caused by dengue (it only weakened my immune system), the trauma was enough to make me finally care about home mosquito eradication. Guess who learnt it the hard way!

The Profit

GSoC gave me in stipend 3000 USD, minus Payoneer fees and shitty currency exchange "tax". That was the largest sum I'd ever had in my hands. Because of the low cost of living in Việt Nam,[5] I no longer completely financially dependent on my parents. I could pay my own school fees (scholarship would give back the money months after paying), hang out more with friends (we had zero-COVID for a while, remember?), tip free software projects and services I had (and have) been using for years.

More importantly, I could buy myself future e-waste. I got a Model M so that I no longer need to change keyboard every year, a lefty Ploopy to ease my traffic-accident-injured right wrist that's prolly never gonna fully heal, a new DAP to replace my dead walk man, my first phone and perhaps some other things. No worries, I'm still daily driving them today, they ain't ended up in the landfill (yet).

The Migrations

Admittedly, the first smartphone caught my eye was actually the Librem 5, which I could afford neither the time nor the money for. I know, the terminology sounds ridiculous, but Linux would include Android and GNU'd exclude postmarketOS. Anyway, Purism, the company behind the Librems, has seriously invested in adaptive GUI and federated services. My first ActivityPub account was provided by Librem One.

It was not the first time I use a federated service. I've used email for as long as I can remember and begun to use Matrix intensively since I entered university. So what (were there to be) changed? At the time, my online presence[6] was primarily inside surveillance capitalist walled gardens. I was mostly active(ly posting) on bird site socializing with people I acquainted during my GSoC and publishing my development/shitpost[7] videos to YouTube.

Nothing on fedi really caught my eyes, until I got (hyped up for getting) my PinePhone. Its software landscape was incredibly fast moving back then. Most peripherals were barely working. Desktop programs were being ported for narrower screens using brand new convergent libraries. Many developers were contracted by Purism or sponsored by Pine64, a large fraction of whom are free software purists, rejecting spyware disguised as social media. Never before, hanging out in chat rooms[8] and the Fediverse were the absolutely best ways to keep up with life-quality-changing updates.

Like with desktop-handheld convergence, I was impressed with Fediverse's interoperability between multiple media formats, from (micro)blogs to picture albums to videos. Imagine being able to share and comment on a YouTube directly from Twitter! Shortly, I registered for a PeerTube account and migrate all my videos there. The longer I stayed on fedi, the more cool stuff I found and the more satisfied I was. Fast forward over two years, I have deleted or permanently logged out of most; only quiddit[9] is left.

One thing led to another, Martijn Braam's apps introduced me to SourceHut, which embraces email for federation and focuses on useful stuff like SSH for CI, instead of trying to be a social media or relicense the projects it hosts. I have moved most of the software I maintain from GitHub to, but the network effect is too strong: I still have to stick around with the former to contribute to software I regularly use.

However, it's unlikely that most of those growing up with GitHub, especially inexperienced contributors, will be willing to adapt to a workflow revolving around mailing lists for such kind of forge to become mainstream again. On the bright side, I start to seeing more larger projects hosting their development platform, and I am watching forge federation with great interest.

The Moral

At this point, you probably wonder, what I am trying to tell from all these random rambling. Welp, nothing. My life is not like the movies, there ain't no plot, no meaning. The whole point of this log is to bridge the gap between /blog and /blog/2020/gsoc. 2020 was indeed positively life-changing for me, tho/so I can't expect most of y'all'll be able to relate. 2023 is already underway, and I hope we will all have a year we can look back to the same way I did in this post. Perchance.

[1] There must be at least one wedding everyday in Bavaria, I think.
[2] It is a vendor locked-in version of git-request-pull.
[3] Not counting Vim because it was a keymap contribution.
[4] Proteolytic enzyme; taken orally for inflammation. Shit's magic.
[5] A meal at a diner costed around 1 USD at the time.
[6] Gah, I hate this term!
[7] I don't like keeping too serious logs.
[8] A room was bridged between 5 protocols, fun but also an eye sore.
[9] Hey, the site name was a pun on read it in the first place!

Tags: lyf exp Nguyễn Gia Phong, 2023-01-07


Follow the anchor in an author's name to reply. Please read the rules before commenting.