@harudagondi

A 2022 retrospective


Table of Contents

1.1 First half of 2022
1.2 Second half of 2022
1.2.1 Face to face Hybrid classes
1.2.2 First time contributing to open source
1.3 Wishlist for 2023
1.3.1 Work out more!
1.3.2 Find friends outside the university
1.3.3 Income generation
1.3.4 Try learning Korean
1.3.5 Learn how to draw (REAL)
1.4 Conclusion
1.5 Bonus: Todo list for my blog

A picture of a golden clock

Photo by Alexey Savchenko.

Hello!

It’s been a while. Exams recently just ended, and the semester is almost concluded. (Haven’t checked my grades as of writing this Just checked my grades as of 23/12/22. 🥹). I feel like I need to get into the habit of writing more, so I decided to make a biannual Well according to Google DuckDuckGo, the more specific word is semiannual. tradition of making a retrospective post, starting right now!

First half of 2022

Nothing happened during the first half of 2022. Except for the elections. Let’s not talk about that. I don’t have a lot to say about that, and I don’t remember a lot in the first six months of the year.

Honestly, the pandemic has taken a toll on me. Two years of staying at home! Imagine. Even though I languished at home taking online classes, I think I fared well.

I respect my former classmates during high school. Some of them told me they plan to go to college when face-to-face classes start. My family can’t fathom the notion of delaying simply because the pandemic ravaged our day-to-day lives, but I think as a student in chemistry, I turned out okay. Stay tuned for more info about that! Online classes are hard, especially in a STEM-related field wherein I had to cope with doing very complicated math at home. Without talking to classmates in person, I think it’s pretty hard to cope.

Maybe it’s that my self works a little bit differently than others, but I didn’t really take issue with being lonely. I’m used to being alone, even before the pandemic.

However, I’m still glad that face-to-face hybrid classes came to fruition. I’d go crazy going into the third year of online classes, and I desperately need to experience actual laboratory things.

So the announcement of my university to conduct hybrid classes was a relief. Finally.

Anyways, I think I did absolutely nothing during vacation. Probably. I forgot. Wait, let me check.

My GitHub contributions for this year.

Oh yeah, I really started contributing to open source in the second half of the year. More on that later.

With that said, the chunk of this blog post is contained in the second half. Here we go!

Second half of 2022

A lot happened during the second half of 2022. First, the announcement of hybrid classes. Second, it’s the first time I contributed to open source. Third, I was part of a student organization that wasn’t really doing well. There are countless things I want to remember these past 6 months, so I’ll try to recount them.

Face to face Hybrid classes

My school announced that hybrid classes will start this last semester.

So here’s a rundown of how it works:

  1. Each program has its own schedule of online and face-to-face Let’s shorten that to F2F for convenience’s sake. classes.
  2. A lot of programs, due to their amount of students enrolled, opted for a cycle of one week of online classes, and one week of F2F classes.
  3. My program decided to have classes from Monday to Thursday and online classes every Friday.

I much prefer this approach more than alternating between online and F2F classes. As a student in a program that requires more hands-on action and more access to professors with essentially hard topics, I’m glad they went with this approach. My sleep schedule may be worse due to my circumstances, but seeing my classmates whom I know for two years makes it worth it.

My relationship with my classmates is more-or-less acquaintances, however, we don’t have any bad blood with each other. We engage in disagreements respectfully, and we don’t make them into a bigger problem. That’s rare compared to other sections my professors handled. Lmao.

Anyways, with the uplifting of certain quarantine measures, more opportunities have been opening. For example, the Philippines Association of Chemistry Students (PACS) is a national organization for chemistry students Duh. . It’s an organization composed of many different chemical societies in the Philippines. By being a member, you get lots of perks like opportunities for chemist jobs when you graduate, etc.

Personally, I joined PACS so that I can try mingling with people with the same interests. Is this what you adults call “networking”? My program contains fewer people than most other programs. Other sections would have up to 45 students, but we only have like twenty. So by putting myself out there, maybe I could learn something new from others.

My chemical laboratory experience was surprisingly fun! And very hard. My professor uses a “do it yourself” approach, Which I appreciate! however, this is very nerve-wracking. Is this how real-life laboratories work? Full of time pressure?

Also, I realized that performing lab experiments is slow. Filtration takes hours. I now understand why studying complicated stuff like viruses, nanomaterials, and others takes so long; it’s because generally, chemical reactions are very slow without some sort of tools or conditions that will make them go faster. Such as changing the temperature, changing the pressure, manipulating the concentration of the products, adding catalysts and enzymes, and others. There’s a lot to unpack in such experiments, and I now understand why studies take about one to two years.

All in all, studying and performing chemistry was fun. With the pandemic affecting my current skill level as an aspiring chemist, I wish that it wouldn’t affect my prospects of being hired. I need to learn and study more. I like my line of field.

First time contributing to open source

Oh yeah.

I didn’t expect that I would actually contribute to open-source software.

For context, I started learning Python when I was 13. I used Codecademy Not affiliated, btw. to learn basic stuff like variables, for loops, functions, classes, etc. I learned HTML, CSS, and Javascript out of necessity to make web stuff. By the years, I was really into learning altlangs, or alternative programming languages that didn’t really take off mainstream. I was learning Haskell, brainfuck, read a little bit of Pony, Crochet, languages in Twine, Nim, Racket and Pollen, Ceylon, and many, many more. I even learned Visual Basic The old one, not the new one. at school. By then, around 2018, I started learning about Rust.

Rust is kinda weird. The only experience I have with system programming language is C, because we played with Arduino for school. I don’t have any experience with C++ simply because I find resources about this language kinda confusing. So I have experience with type systems, but not with memory layouts and hardware stuff.

Learning type system stuff in Rust was a breeze. I already knew a lot of functional programming paradigms, and my distaste for object-oriented programming in general made Rust feel right at home. However, there are some quirks with the borrow checker which sometimes made me bang my head a few times. But still, I’m glad that Rust put out a distinction between pass-by-reference and pass-by-value. In Python, I cannot know if a function will mutate a variable or create a value without me looking at the documentation. However, in Rust, I can simply look at the function signature to see that the function takes in a T or a &mut T.

cargo is a godsend, I hated using virtual environments in Python. I love that there is a standardized formatter and linter The commands are cargo fmt and cargo clippy, respectively. for Rust. Standard tooling for a programming language means that every Rust project is readable if it used these commands. I love that you could just cargo init and voilà, a new Rust project! Also, I love that there’s an automatic way to generate websites to create API documentation. Other programming languages are sorely lacking in the documentation department. I love to just cargo doc --open to see the docs in HTML form!

What makes certain programming languages successful in a long-lasting way isn’t the syntax sugars or additional features or featureful standard library (in my opinion), it’s the tooling. I don’t care that CoffeeScript syntax looks beautiful, it’s still Javascript under the hood. I don’t care that Haskell will make my program more “correct”, I can’t even make the LSP Language Server Protocol. work in VS Code, and I have to read whether or not I should use stack or cabal. Don’t get me started on the Python 2/3 fiasco back then.

Tooling is what makes or breaks the programming language. If your programming language is supported by any JetBrains IDE, it would probably last long as a programming language. Programmers are lazy. Why would anyone want to do more than the bare minimum? Just kidding. Productivity is important.

Anyways.

What was I saying?

Oh right.

Contributing to open source.

So yeah, my first time contributing to open source was the Bevy game engine. I first learned about bevy like last year, and I asked a question on their Discord server.

So if you don’t wanna look at the message, here’s the problem I’m facing:

fn win_global_board(
    q_big_shapes: Query<(&LocalBoard, &Shape), With<BigShape>>
) {
    for [(board1, shape1), (board2, shape2)] in q_big_shapes.iter_combinations() {
        // do something
    }
}

In the above snippet, I was trying to use the iter_combinations method with a query Which is Query<(&LocalBoard, &Shape), With<BigShape>> in this case. that contains a filter With<BigShape>. If you don’t understand what I mean, probably read the official tutorial on Bevy first. I asked around on the Discord server, and it turns out it is not my fault! Yay! It turns out that Bevy did not implement Clone for With and Without.

So I made a pull request. For the first time. It’s the time I was using git that isn’t just doing git add, git commit, and git push. No. I have to do git pull and stuff. I don’t even know what branching was. So that was an experience. Here’s my first PR for context.

Wow, that was a long time ago!

January 13 was the day I made a pull request, and it was April 8 when it was merged. lol.

The next PR was made on June 28, which was about implementing ExactSizeIterator on queries that only contain archetypal filters. This was where I first learned about weird Rust shenanigans such as:

I learned a lot by reading the Bevy codebase, especially the IntoSystem trait magic, which turns your ordinary valid functions into Bevy systems. The trait system in Rust is wild. I also learned about audio stuff, which was my main interest anyway. Did you know that you shouldn’t block the audio thread? That means no Mutex, no allocations and deallocations, IO operations, and any general blocking operations. There are a lot of things I wanna learn more about audio stuff, and currently, I contribute to and review a lot of PRs related to bevy_audio.

Nowadays, I maintain two libraries, which are mostly glue code. These are bevy_fundsp and bevy_oddio. Some people are using it surprisingly, with bevy_oddio having 19 stars on GitHub. Don’t know how good that is, especially since the solutions are hacky. But I filed a lot of issues on Bevy while discovering bugs during development.

For future programming stuff, I would like to experiment making a Mastodon API client in Rust. If I had Arch Linux running instead of Windows, I would also experiment with making a Wayland compositor using smithay. I just need actual motivation before the next semester starts.

Wishlist for 2023

I don’t believe in New Year’s Resolution.

It just seems like a recipe for promising something you can’t keep, because generally resolutions are too big to complete, with a time frame too large.

CGP Grey’s video on making Themes™️ over making resolutions is really smart. It puts less pressure on a person to attain their goal over a year, and it prevents burning out after two months. The most important part of achieving these goals isn’t about really aiming for the specific number to attain. It’s about forming habits; forming everyday rituals to discipline oneself.

I may not have a specific overarching theme for next year, but I have several plans that I’d like to accomplish.

Work out more!

I’m skinny fat.

That means I have a big belly but thin everywhere else.

It’s kinda weird because all the tips I see on the internet mostly pertain to those who are fat/obese and trying to lose weight. Recently I just found out that I should gain more muscle weight, not lose weight.

I would like to go to the gym, but then (1) I’m poor. (2) The gym’s too far away. I would love to make myself fit, so that’s why I sometimes do push-ups when I remember. But that is not a routine.

Calisthenics is an attractive prospect, but then I have to buy some weird things people from the internet told me like resistance bands, rows, and those pull-up bars. Yeah, I think they’re essential, but those cost money and I have to put them somewhere in the house. As such, I’m sticking to push-ups and sit-ups for now (plus a little bit of planking).

Maybe what I need is someone who can hold me accountable, like a gym buddy or a trainer. Gyms have those “alpha male” vibes that sometimes turn me off from entering. I’d like to be fit and lean and preferably be more agile and flexible. I’m not looking to build muscle like a weightlifter; I just wanna be a twunk.

I heard that my university is opening up a new gym. Don’t know if it is open to the public yet. If it is, I would like to sign up.

Find friends outside the university

I don’t have any close real-life friends, except for a few. My closest friends right now are currently studying in different places, so it’ll be hard to meet up once now and again.

My interests are Valorant, chemistry, game development and programming in general. Finding friends who play Valorant is hard, simply because a lot of y’all are toxic omg. I like that more girls are playing first-person shooters, but most of the time it’s just weird men just screaming into the mic. Please carry me to silver. Thank you.

Chemistry. Ah. We are like 20 students in my section, and about 100+ in my program. There are too few of us. I’d like to know more Filipino chemistry students, some tips and tricks on certain subjects 😅.

There are also too few people I know who actually enjoy programming. Most of my engineering friends are just forced to learn Python or C or C++. They don’t really like it that much. I wish I had more friends that are interested in game development stuff.

Income generation

I want more money.

Uh.

How do I earn money?

Let’s list off some of my skills (I think I’m skillful at them?):

  1. Writing Poetry/Essays
  2. Programming
  3. ???

I liked writing poetry, and my classmates also liked it. Why not?

However, do people even commission poetry nowadays? All I see are people commissioning other people to do their homework for them, which I find icky.

No thanks.

Also, I don’t even know if I’m eligible for stuff like Fiverr, etc. Do I even have the skills to do so?

For programming, how do people earn money from freelancing? I don’t even have formal education, I just do this for fun.

So I don’t know if this is a good theme to attain. But I like to put it out there in case I improve my skills.

Try learning Korean

When I was a little wee baby teenager, I was introduced to anime.

I watched a lot of anime during my high school days, with a variety of genres. I wanted to watch anime without subtitles, so I learned the Japanese language. Currently, I know basic Japanese. I understand more on the grammar side, as the bottleneck is now on vocabulary and Kanji in general.

Nowadays, I consume more Korean content. My mom watches Korean dramas a lot. I listen to a lot of K-pop songs. In general, I see and hear more Korean than Japanese. So naturally, I would to learn Korean next year.

On the topic of consuming Asian content


I just wanna add something about the consumption of Asian culture in general.

Every time I see any discourse about Asian fetishization and the words Koreaboos, Weeaboos, etc., I just think “this is a very Western way of thinking.” Let me provide my perspective.

For context, I live in the Philippines. My country is near other Southeast Asian countries and Eastern Asia. As such, we receive more exports from other nearby countries, especially in media. We have telenovelas from Indonesia, Malaysia, Thailand, and sometimes from Latin countries like Spain, Mexico, etc. We have anime from Japan, like Hunter X Hunter, Nodame Cantabile, Naruto, Hyouka, and others. We have K-dramas like Boys Over Flowers.

Most of the time, we receive more content from Asia compared to European or North American culture. The stories told by these countries align more with what we experience compared to Western stories.

With the advent of globalization, more and more Western people are exposed to such Asian culture and concepts that may not be common in their own countries. This is fine by itself. However, there are a lot of people who see our culture as a spectacle. They see our culture as an aesthetic to dress up in.

This is essentially what Weeaboos and Koreaboos are: people who obsess unhealthily with East Asian culture. There’s a difference between cultural appropriation and cultural appreciation. Cultural appropriation denotes the usage of other people’s culture as a form of mockery or a form of fetishization. It usually disregards the cultural meaning and context of their traditions. Cultural appreciation is understanding the differences between one’s culture and another and how we share similarities concerning our experiences.

I do not listen to K-pop because I find it superior without any context compared to Western or Filipino pop songs. I simply just find my tastes aligning more with Japanese and Korean songs, with their focus on electronic dance music. The Philippines do not invest heavily in their artistry and cultural exports, which is sad because we Filipinos have a very interesting culture, and I know we are talented enough to take it to the global stage.

My government can’t see that yet.

So anyway. Rant over.

If you have taught yourself the Korean language before, can you suggest me a good resource? You can send it my way through my Mastodon account.

Learn how to draw (REAL)

I have been putting this off for a long, long time!!!

I have nothing to say here, except Draw a box is a really good resource.

I just have to practice a bit more.

Conclusion

Yeah, not a lot happened during my first half of a year, and a lot of first times in a while happened in the second half.

I have a lot that I wanna do, and I’m hoping I can achieve them by the end of the year.

Bonus: Todo list for my blog

  • Add an actual comment system. I don’t know if utteranc.es abuse GitHub’s issue tracker. There is giscus.app. Is that good? Should I have my own Mastodon for each blog post?
  • Add share buttons.
  • Do you have any ideas so that I can improve my blog site? Comment down below! Only if I had a comment box.

Saturday, December 24th, 2022 #retrospective #2022 #blog #personal