2020 Review/2020 Year in Review — Technology

Written byKalanKalan
💡

If you have any questions or feedback, pleasefill out this form

This post is translated by ChatGPT and originally written in Mandarin, so there may be some inaccuracies or mistakes.

2020 was quite a year, but I found myself spending more time at home, which led to a lot of technical experimentation and exploration. Here’s a summary of my activities this year.

YouTube Channel

I created my own YouTube channel and uploaded a few videos on topics I was interested in between February and May to test the waters. However, I had to pause after that because I couldn’t find an efficient filming process.

Hiroshi Matsumoto — The Mechanism of Language

Around January to February, before the COVID-19 outbreak in Japan, I spent about two to three weeks commuting while reading this book. Hiroshi Matsumoto introduces the elements of implementing programming languages and pairs that with a practical implementation using yacc/lex to create a programming language called streem.

Exploring Svelte

I began to pay attention to Svelte and wrote an article on my blog to introduce it. Resources related to Svelte in Taiwan are still quite scarce, so I hope to gradually raise its profile here. Around mid-April, I contributed a pull request. Later, the IT Ironman competition also adopted Svelte as its theme.

Animal Crossing Encyclopedia

I created a simple version of the Animal Crossing encyclopedia mainly because other websites were cluttered with ads or had terrible performance. I wanted an easy-to-use resource for checking things while on the island.

Self-Introduction

Self-introductions usually fall into two categories: those who can vividly bring their introduction to life and create a lively atmosphere, and those whose introductions leave the audience with no memorable or humorous points. I happen to belong to the latter group. So, I opted to create a webpage instead.

You can find more details in this article — Thoughts on Becoming a Tech Lead

Due to changes in projects and their scale this year, my role shifted from just development to more communication and integration among people. Since the product now involves more teams and organizations, pushing anything forward takes longer. Additionally, being the only one on the front-end team who speaks Japanese makes it easier to communicate with other departments, but it often leads to feeling overwhelmed with context-switching. Long-term, this has left me with a sense of not knowing what I’m busy with. Perhaps one of the challenges for next year will be improving my time management.

From a technical perspective, I haven’t made significant progress, mostly handling more complex logic. I’ve only been observing new technologies. However, I’m gradually getting used to writing documentation and preparing state transition diagrams before making major changes or developing new features. Not only does this enhance communication with PMs, but it also allows other developers to quickly grasp the correct logic from the state diagrams. My mindset has shifted to understanding that technology is ultimately just a tool for solving problems.

In terms of communication, I feel there are still many areas I need to improve, such as not being able to easily trust team members, knowing there are issues but only addressing them at the last minute, and not delegating responsibilities effectively. However, I believe these are two sides of the same coin. When I don’t produce results at work, take too long to respond to messages, or fail to report on my progress, it becomes difficult for me to delegate responsibilities.

Playing with Sonic Pi

Sonic Pi is software that allows you to create music through programming. Many of its APIs are designed specifically for music creation. I have created tutorial videos on YouTube that you can check out: https://www.youtube.com/watch?v=aTA5wWhvKAQ

Playing with Arduino

At the beginning of this year, I bought an Arduino UNO, Arduino Nano, and Arduino Mega, although I’m not quite sure what I’ll do with all of them…

I played around with sensors like LCD screens and temperature sensors, trying to avoid using libraries as much as possible and instead directly referring to datasheets to understand how they communicate, such as the datasheet for DHT11. The implementation isn’t too complicated. You can check out my implementation, and of course, there’s always more to explore.

In the middle of the year, I created an air quality monitoring application as I didn’t use any specific libraries (though I eventually used libraries for the more complex MQTT and Wifi implementations), which helped me understand UART interfaces and SoftwareSerial.

Later, I bought an EEPROM Programmer and an ATMEGA328p (the MCU used in Arduino UNO) for less than 100 TWD and wrote C code to burn onto it. I’m eager to research further, but unfortunately, I don’t have enough space at home to accommodate more hardware.

Data Visualization — Taiwan Sexual Assault Statistics

If you’re interested, you can directly visit the website. It took me about two weeks to complete it intermittently, as gathering and cleaning the data took some time. Using Svelte for data visualization is actually quite convenient.

Build Your Own X

https://build-your-own-x.now.sh/

I turned the build-your-own-x repository into a web version for easier browsing.

Kotlin

Kotlin is one of my favorite programming languages, and I use it for the backend of some of my small projects. I really appreciate Kotlin’s concise yet rich syntax and wrote an article about Kotlin DSL — What I Learned from Kotlin: Kotlin DSL and Annotations.

Hosted a Small Meetup in Japan — React HAKATA

I’ve always wanted to engage with the engineering community in Japan. This year, due to the pandemic, I couldn’t hold offline events, so I attempted to host it online. Speaking in front of a group of Japanese people in Japanese for such a long time was nerve-wracking, and I stumbled on some words. I aim to continue improving my Japanese to reach the next level. Surprisingly, it received a good response (Twitter), with online attendance reaching 50 to 60 participants. I hope to connect both the Taiwanese and Japanese communities for exchanging various viewpoints.

If you found this article helpful, please consider buying me a coffee ☕ It'll make my ordinary day shine ✨

Buy me a coffee