about summary refs log tree commit diff homepage
path: root/blog
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2023-01-07 17:24:46 +0900
committerNguyễn Gia Phong <mcsinyx@disroot.org>2023-01-07 17:24:46 +0900
commit99753b47ece249b675fa3c7fec5c470f60ace531 (patch)
treeb76a0a7f2dddac04c53be1f30d22871983bb58a8 /blog
parent4817ed4b07aa19532d3cd90715f5087d296a9097 (diff)
downloadsite-99753b47ece249b675fa3c7fec5c470f60ace531.tar.gz
Sum up my 2020
Diffstat (limited to 'blog')
-rw-r--r--blog/2020/gsoc/article/4.md5
-rw-r--r--blog/2020/index.md220
2 files changed, 223 insertions, 2 deletions
diff --git a/blog/2020/gsoc/article/4.md b/blog/2020/gsoc/article/4.md
index 8a2d47d..f370644 100644
--- a/blog/2020/gsoc/article/4.md
+++ b/blog/2020/gsoc/article/4.md
@@ -67,18 +67,19 @@ As usual, I make sure that I complete every side quest I see during the journey:
 
 A bit about me, I actually walked 500 meters earlier today to a bank
 and walked 500 more to another to prepare my Visa card for purchasing
-the upcoming Pinephone prototype.  It's one of the first smartphones
+the upcoming [PinePhone] prototype.  It's one of the first smartphones
 to fully support a GNU/Linux distribution, where one can run desktop apps
 (including proper terminals) as well as traditional services like SSH,
 HTTP server and IPFS node because why not?  Just a few hours ago,
 I pre-ordered the [postmarketOS community edition] with additional hardware
 for convergence.
 
-If you did not come here for a Pinephone ad, please take my apologies though d-;
+If you did not come here for a PinePhone ad, please take my apologies though d-;
 and to ones reading this, I hope you all can become the person who walks
 a thousand miles to fall down at the door opening to all
 what you ever wished for!
 
 [Travis]: https://travis-ci.com
 [my original proposal]: /assets/pip-parallel-dl.pdf
+[PinePhone]: https://wiki.pine64.org/index.php/PinePhone
 [postmarketOS community edition]: https://postmarketos.org/blog/2020/07/15/pinephone-ce-preorder/
diff --git a/blog/2020/index.md b/blog/2020/index.md
new file mode 100644
index 0000000..e56971a
--- /dev/null
+++ b/blog/2020/index.md
@@ -0,0 +1,220 @@
++++
+title = "The 2020 Experience"
+rss = "My life in 2020"
+date = Date(2023, 1, 7)
+tags = ["lyf", "exp"]
++++
+
+# The 2020 Experience
+
+!!! note "Not to be confused with <em>The 20/20 Experience</em>"
+
+\toc
+
+## 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,[^wedding] 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 GitLab.com), 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™.[^pr]  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.
+
+~~~
+<figure>
+  <img src=/assets/codersrank.png
+       alt='Graph showing steeper growth from October 2019'>
+  <figcaption>My activities on GitHub over the years</figcaption>
+</figure>
+~~~
+
+## 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.[^1st]  Now thinking about it, it was
+a better choice since I was more comfortable with pip's tech stack.
+The [rest of the story](gsoc) 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[^choay] 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,[^cost] 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][nano], 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 *[freedesktop.org] 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[^jargon] was primarily inside
+[surveillance capitalist walled gardens][sphinx].  I was mostly active(ly
+posting) on bird site socializing with people I acquainted during my GSoC
+and publishing my development/shitpost[^log] 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[^bridge] 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[^reddit] is left.
+
+One thing led to another, [Martijn Braam's apps][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][game] or [relicense the projects it hosts][copilot].
+I have moved most of the software I maintain [from GitHub] to sr.ht,
+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][husky] 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](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.]
+
+[^wedding]: There must be at least one wedding everyday in Bavaria, I think.
+[^pr]: It is a vendor locked-in version of [git-request-pull].
+[^1st]: Not counting Vim because it was a [keymap] contribution.
+[^choay]: Proteolytic enzyme; taken orally for inflammation.  Shit's magic.
+[^cost]: A meal at a diner costed around 1 USD at the time.
+[^jargon]: Gah, I hate this term!
+[^log]: I don't like keeping too serious logs.
+[^bridge]: A room was bridged between 5 protocols, fun but also an eye sore.
+[^reddit]: Hey, the site name was a pun on *read it* in the first place!
+
+[Oktoberfest]: https://en.wikipedia.org/wiki/Oktoberfest
+[Back to the future]: https://www.whoismrrobot.com
+[PyPA]: https://pypa.io
+[Octave]: https://octave.org
+[dengue fever]: https://en.wikipedia.org/wiki/Dengue_fever
+[person up]: https://en.wiktionary.org/wiki/person_up
+[Model M]: https://www.pckeyboard.com
+[lefty]: https://video.hardlimit.com/w/uucN1eWVurTSzY325PLS2s
+[Ploopy]: https://ploopy.co
+[nano]: https://nixnet.social/notice/AI9eETauDunmiiIfHE
+[first phone]: gsoc/article/4/#snap_back_to_reality
+[No worries]: https://www.youtube.com/watch?v=5z25pGEGBM4
+[freedesktop.org]: https://freedesktop.org
+[postmarketOS]: https://postmarketos.org
+[Purism]: https://puri.sm
+[ActivityPub]: https://activitypub.rocks
+[Librem One]: https://librem.one
+[Matrix]: https://matrix.org
+[sphinx]: https://github.com/McSinyx/mcsinyx.github.io/commit/af8e02ec3989.patch
+[PeerTube]: https://joinpeertube.org
+[apps]: https://blog.brixit.nl/apps
+[SourceHut]: https://sourcehut.org
+[SSH for CI]: https://man.sr.ht/builds.sr.ht/build-ssh.md
+[game]: https://arxiv.org/abs/2006.02371
+[copilot]: https://githubcopilotlitigation.com
+[from GitHub]: https://GiveUpGitHub.org
+[husky]: https://adol.pw/2022/05/09/maintaining-first-project-part-iv-end
+[forge federation]: https://forgefriends.org/blog/2022/06/30/2022-06-state-forge-federation
+[Perchance.]: https://fe.disroot.org/@mcsinyx/posts/ALaW77HgCSPq4pLxpo
+[not like the movies]: https://www.youtube.com/watch?v=9ewTkrfaWtA
+[git-request-pull]: https://git-scm.com/docs/git-request-pull
+[keymap]: /works/#simplified_vietnamese_keymaps