diff options
Diffstat (limited to 'blog')
-rw-r--r-- | blog/2020/gsoc/article/4.md | 5 | ||||
-rw-r--r-- | blog/2020/index.md | 220 |
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 |