2022 Lessons Learned

Actually nothing special in 2022 for me personally. I stayed at home most of the time, and I am so grateful I got to do my job from home comfortably. I want to take a note on this as this is a luxury for someone like me. I love working from home to the moon and back.

But I got so much lessons learned from this year. Hope this can help as a north star for the next year.

About self-awareness

  • Identifying and determining your goals will be meaningless if you don’t know about yourself. Recognizing and aware with what yourself needs and wants is important to make yourself committed to the goals. When I first set the goals, I really didn’t know what myself want and ended up set the goals that looked fancy. In the end, I either didn’t fully commit to that goal and forgot about it, or didn’t carry it on consistently throughout the year.

About Goals & OKRs

  • There were several objectives I carried out throughout the year, but I didn’t do it consistently. The system had been set up, and I expected myself to do the tasks everyday in order to achieve those objectives. After evaluating and reflecting, those daily tasks took so much efforts to be done. On the weekdays, I barely had the energy to do those tasks after work, and too busy with house chores in the morning. On the weekend, sometimes I did it, sometimes I just felt discouraged because it can not be done on the weekdays and I ended up not doing it. Why can this happen? I suspect those tasks not atomic enough, I didn’t feel I was progressing when doing those tasks. The solution? Break those tasks down even more so it can be completed in 30 minutes or in just one single sit.
  • There was this one objective that unexpectedly carried on almost every single day. I just missed it for several days, every time I missed it one day, I always get back to it in the next day. I am wondering is this because the instant rewards I get right after completed the daily tasks. It also got indirect punishment, where if I skip doing the daily task, it will lessen the chance of getting greater rewards that will follow after. After several months doing it consistently, I feel so bored with the tasks because it took quite great effort to complete it. But guess what? I kept completing it, knowing there is instant rewards right after, and there will be future chance to get greater rewards.
  • There was this one objective that looked like it does not work at all because I almost never planned or tracked the daily tasks. That objective was learn backend topics. After looked back on what I have learned so far, I did it quite a lot through professional work unconsciously. And all of these learning happened unplanned. I learned based on the circumstances, based on what I need to complete on that day or that week. I could not define the tasks in the beginning because it took lots of effort to define the case and the data to use. Lesson learned? Plan the new topics to learn only on that day or on weekly basis based on what cases you currently have at work.
  • The biggest lesson learned I got on this year is having a system to store work information and knowledge. My lecturer once ever said this, “Your brain is not supposed to store information, instead processing information. You can write the aftermath results of processing those information into knowledge somewhere else, such as your notes or there are many note taking apps these days”. I already implemented this for my personal life, but it is quite difficult for work as there are some restriction for app that I can use. I am not comfortable with current app that have been allowed, so I decide to request to my company to check whether this specific app allowed to use or not.

About habits

Habits stacking is easy to form and easy to collapse once unexpected event intrudes. Need to be careful with this method, and also being flexible if anything unexpected happen.

About physical bullet journal

I may not use physical bullet journal anymore in 2023, as it was very time consuming although it is very satisfying to see your beautifully decorated journal 😦

About delivering information

Delivering information to non-technical people is indeed difficult. Maybe this is just my personal problem with communication, but it requires lots of practices to convey technical information as clear as possible, as detailed as possible, but not too technical enough for them to understand. Especially when in virtual meeting where it is difficult to prepare the words and phrases previously because of unexpected questions.

About communication skills

I used to think as long as I am being honest, there would be no problem. Not that being honest is bad, but there is methods and skills need to be learned in order to smooth the conversation, and the most important, to make work life (and general life too) easier. To make people understand with what we want to convey, and to dig up what people really want from us.

About financial

This has to be the most important north star for 2023, I need to create my own budget for everything, and track all of my expenses. Securing the data will help a lot to figure out the cash flow, and the most important, how is my behavior towards money all this time.

20 principles I learned from 10 years of developing software by Ondrej Sevcik

nlatifahulfah's avatarPersonal Blog

Photo by ThisIsEngineering on Pexels.com

Artikel aslinya bisa dibaca di sini: https://ondrejsevcik.com/blog/20-rules-in-10-years. Aku coba repost ke bahasa Indonesia karena menurutku ini cukup bagus untuk di share. Artikenya cukup singkat dan jelas, yaitu tentang prinsip-prinsip yang diikuti oleh Ondrej Sevcik ketika mengembangkan aplikasi. Prinsip-prinsip ini dipelajarinya berdasarkan pengalamannya selama 10 tahun menjadi developer.

  1. Be humble. Kita sebagai developer perlu memiliki sifat rendah hati dan saling menghormati sesama developer. Ada kalanya kita bertemu developer yang disatu hal sangat mahir, tapi tidak di hal lainnya. Hal ini juga berlaku bagi diri kita. Kita sebagai developer setelah beberapa tahun mungkin sangat menguasai satu framework tertentu, tapi tentu kita memiliki suatu kekurangan entah dari segi komunikasi, negosiasi, desain, atau hal teknis lainnya yang belum pernah kita coba. No engineer in the world knows everything, the same applies to you.
  2. Make it work, make it right (and sometimes make it fast). Kita…

View original post 901 more words

Cache Hit Rate

Beberapa minggu yang lalu gw dapet request dari user buat naikin cache hit rate. Gw bingung, ehh gimana gimana. Ini kan harusnya issue terkait performance sama architecture yah, specifically cache hit rate yang mau dinaikin adalah CDN cache. Jadilah gw googling googling dan nanya senior sana sini tentang arsitektur web.

Jadi CDN ato Content Delivery Network, adalah semacam server proxy, yang lokasinya lebih deket ke users dibanding origin server. Penggunaan CDN ini bakal naikin performance karena waktu tempuh pengiriman datanya bakal lebih cepet daripada langsung dari origin server.

Nah, pas user pertama kali request content lewat CDN, CDN bakal request dulu ke origin server. Abis itu response dari origin server bakal dikirim ke user, dan CDN juga bakal nyimpen salinan response itu di server doi sendiri sebagai cache.

Nah, jadi hubungannya dengan cache hit rate apa?

Ketika user request content yang udah tersimpan sebagai cache di server CDN, maka statusnya adalah cache hit, artinya cache nya dapet tuh. Kalo ngga ya cache miss. Nah, cache hit ini bisa dihitung measurement nya pake cache hit rate. Makin tinggi cache hit rate nya, makin bagus juga salah satu faktor performance nya.

Kalo kata website cloudflare, cache hit rate tuh dapet dihitung dari jumlah cache hit per total jumlah cache hit dan cache miss. Lengkapnya bisa dicheck disini.

Dari request user ini gw belajar banyak tentang cache untuk arsitektur web skala besar. Next post mungkin gw bakal bahas output cache.

4th Quarter of 2022

I didn’t write anything until now while I also have one goal about writing this year :’)

So long story short, I set several goals for this year that I turned it into OKR. I did several of it unconsciously, somehow, while forgetting it for almost six months (half a year! God..).

In the last quarter of this year, I want to make a challenge for myself, to publish these goals here (I will not describe the details of OKR) to put some kind of pressure to achieve (or half-achieve) these goals.

I will also keep updating the progress of these goals here.

Continue reading

2022 Notion Setup

I’ve been juggling with 2022 setup planning for more than a month since the beginning of November, and now I think this is the “enough” setup that I think would work out for 2022. There are no other purpose in this writing other than to keep myself accountable toward this setup. This year I’ve been struggling a lot in keeping consistency of using any setup, so I guess it’s time to commit to one setup for one whole upcoming year.

It’s gonna be a long long post (another essay with some images, if I could say), so take yourself a cup of coffee or tea and happy reading!

Continue reading

Spooctober is here!

Regarding the celebration of my official move to Notion from physical journal, I decided to share my monthly setup for the upcoming October. As background, I’ve been picking up and exploring Notion for about two years now, but it’s rather difficult for me to create and build an efficient system for tracking tasks and productivity in general. It’s just recently I realized that I prefer a very simple setup and covering all I want to track in one place.

Continue reading

Why Data Preprocessing is Important?

When I was building machine learning model for the first time, it had accuracy approximately 0.2~0.3. It was very low and at the time, I relied myself only from artificial intelligence course that I had taken in the previous semester. I already had some keywords about machine learning, but never had the chance to immerse more in the theory. So I just build the model on some tutorials I found on the internet and trained the model with some sets of data.

Later than I knew I had to do something with the data too. At that time, my tutor suggested me to do data cleaning before the model trains it. He suggested to use Python NLTK library to remove stop words. Stop words is common words that exist in data, and by removing those words we can decrease processing time or size of space. After using this library, the accuracy of the model was increased into more or less 0.4~0.6.

Based on machine learning course in Coursera, the principle is “garbage in, garbage out”. We do not want the output is the garbage. There are some causes that can make messy data :

  • duplicated/unnecessary data
  • inconsistent data
  • missing data
  • outliers
  • data sourcing issues, such as obtained from multiple systems, different database types, etc.

After doing some more researches and taking an online course, there are some other steps in data preprocessing :

  1. data cleaning
  2. data transformation
  3. data reduction

What I did before was one of several steps in data cleaning. What I learned here, building machine learning has to consider not only the model, but also the data that we would process. There may be several other aspects that we have to consider, but let’s wrap it up for now.

Kageyama Tobio Character Analysis

Kageyama Tobio is a deuteragonist character in Haikyuu. In the beginning of the story, he is introduced as The Child Prodigy of Volleyball in Miyagi prefecture. As long as I watch the anime and read the manga, he is always been the most anticipated player regarding his technique skills. In this very essay, I’d like to record and analyze some aspects of him that left big impact on me, personally.

[SPOILER ALERT!]

Continue reading