My thoughts about programming

There has been a buzz on Twitter lately about the low entry barrier to becoming a programmer and many believe that coding is easy. However, those who have experienced the challenges of programming know that it takes a lot of effort and dedication to become proficient.

Coding is not just about writing lines of code to create a program. To become a good programmer, we need to have a deep understanding of programming concepts and principles, logical thinking, problem-solving skills, and attention to detail. It’s common to spend a day studying product requirement documents and working with Lucidchart instead of a code editor. It’s also common to spend hours trying to debug a piece of code or to figure out the best practice for a task.

Those experiences will hone our skills and make us good programmers. It’s like playing football; everyone can try it, but those who put in effort and dedication can become good football players.


Snow Much Fun

A few weeks ago, my family and I went to an indoor snow park. It was my first time going there, so I didn’t have any expectations. The place was located on the top floor of a mall. We went on a weekday, so the atmosphere was quiet and peaceful.

This expectation-free visit ended with a pleasant experience. We were greeted with a vast playing area filled with glistening snow and ice and a chilly breeze that made us shiver with excitement. My daughter’s face lit up with joy as she kept sliding back and forth on the snow. I couldn’t help but join in on the fun!

We left with a heart full of warmth and happiness.


A Game for My Daughter

I started my career as a game developer at a small software house in Bandung. That was before I got married and had a child. Back then, I was proficient in using game development tools like Adobe Flash, Unity, and Phaser for HTML5 games.

Fast forward a few years, and I became a full-stack programmer who dealt more with the technical aspects of services and applications. It’s safe to say that I left my game development days behind and rarely used those tools.

But now, my daughter is growing up and I thought it would be awesome to create a game for her that’s both fun and educational. So, I got to work and made a guess the word game. My daughter had to do was listen to the sounds and read out the options. To make it more exciting, I used assets from kenney.nl and generated sounds from readspeaker.com.

My daughter loved the game but is still learning how to read, so I added a level that only pronounces one letter to make it easier. If you’re curious, you can try the game at membaca.vercel.app, and I’ve even shared the source code on github.com.


Ask the right question

Lots of people use Google since the beginning of its popularity, but only those who know the right keyword can find what they’re after.

I remember one of my students asking how to move an object in Adobe Flash when they hovered over it. I told them to check Google because I was busy. But when they came back to me, they said they still couldn’t find the answer. I’m pretty sure it’s there though, they just needed to use the right keywords.

Now, it seems that the trend is shifting from Google to ChatGPT. This AI has been trained with billions of data and can seemingly answer any question. But still, you won’t get the answer you’re looking for if you don’t ask the right question.


My First Band Concert

If it weren’t for my wife, I probably would have never attended a solo concert of a band.

Since my wife was exposed to Korean music, she’s been playing Korean songs whenever we drive around. I got to know a few songs from the Korean band that she likes (The Rose) and unknowingly memorized some of the melodies and lyrics.

Earlier this year, the band she likes had a tour in Jakarta and of course, she was interested in attending and invited me along.

And this was my first experience watching a live solo concert of a band, and it turned out to be addictive. I have been keeping an eye on the concert schedules of the bands that I like, even though there haven’t been any so far.


Singapore

I’ve been to Singapore a few times, and each visit makes me feel more familiar with the city.

Singapore is so different from where I live, everything’s super organized and they take rules seriously. I spent almost two weeks there once, but maybe not long enough to decide if it is something boring or not. I thought there was something beautiful about all that orderliness.


Working From H

I live in a village and see a mountain range view with an unfinished high-speed rail almost every day. My neighbors are often quiet, and there is less noisy highway car volume. It’s a good place for WFH.

On the contrary, if I get bored, the first place that comes to my mind is a city. It’s a place full of fast-walking people who mind their own business, with a line of buildings that compete to be seen as the grandest, and a lot of people inside who seem to be working hard.

Sometimes it’s nice to work in a city designed for people to work, but it all depends.


Nostalgia with Pascal

Pascal is my first programming language. I started learning it in my first year of senior high school. I remember writing a code to print “Hello World” in my first class, and then my teacher gave me a list of reserved words in Pascal to remember. Since then, I have learned a lot about programming languages.

Back then, I don’t know what I can be by learning computer programming. There were no software companies in the province where I lived, and the capital city was so far away. So, I didn’t know if a profession called “software engineer” existed.

I kept playing around with programming because it was cool, and I also participated in the National Olympiad of Informatics in my country. So, I always practiced math and programming every Tuesday and Thursday afternoon at my school. But my dream was to graduate from college and become a teacher, which I later regretted in college when I joined a teacher training program at a high school in Bandung.

I created a lot of small programs and games with Pascal, but sadly I didn’t know about GitHub back then, so none of those codes got backed up. This week, when I was feeling nostalgic for Pascal, I decided to create a simple game with it. And here it is: Katla, a Wordle clone in Indonesian, written in Pascal.

https://github.com/afief/katla-pascal


Trapped in ES5

One of the platforms that I develop and maintain for my current employer is the LG SmartTV App, and the oldest TV version we support is the LG TV with webOS 3.5. Most of the TVs with this OS were released in 2017, but the OS itself is based on Chromium 38, which was released in August 2014, around three years earlier.

Everything is fine since we transpile our code into ES5 using Babel. However, when I needed to update the legacy scripts inside index.html that were not transpiled, something surprised me.

I added a default parameter to a JavaScript function, but it made the app unable to run on that webOS version. I realized that a default parameter is part of ES6 and was only available since Chromium 49. Luckily, we managed to fix that before it was released to production.

It’s funny; I thought that feature had already been available for a long time, but apparently, the OS couldn’t handle it. As a programmer who has been coding JavaScript before the ES6 existence, I had already forgotten the excitement when welcoming the ES6 features, so I thought it was released a decade ago. Thanks to caniuse.com, we can always check the browser/engine support.


Ngelanturin Minat Baca

Kalian suka kangen enggak si, dengan memori ketika kalian enggak punya agenda lain selain baca komik Doraemon yang baru dibeli dari Gramedia di siang harinya. Dibaca setiap halaman dengan pelan, dinikmati setiap gambarnya, sambil berimajinasi apa yang sedang terjadi dengan Nobita di Jepang sana.

Trus kalian nemu satu halaman yang cukup relate. Seperti ketika mereka membahas tentang Ensiklopedi, dan kalian punya ensiklopedi sendiri di rumah.

Trus kalian berhenti sejenak dari baca komik, untuk coba liat ada apa aja di ensiklopedi. Buka halaman secara acak dan menemukan kalimat yang belum pernah kalian tau, beserta penjelasannya.


Dulu gue punya banyak komik, dari Doraemon sampe Dragon Ball, komplit. Komik – komik itu yang mungkin membuat gue waktu kecil jadi rajin baca. Mulai dari baca ensiklopedi hingga biografi Presiden Suharto.

Tapi entah kenapa gue ngerasa minat baca gue sekarang berkurang. Gue lebih suka nonton tutorial berupa video ketimbang baca tutorial berformat teks secara runut. Kalaupun gue mencari suatu informasi dan ketemu artiket yang berkaitan, gue cenderung untuk hanya mencari informasi yang gue butuhkan di artiket tersebut, tanpa baca secara hati-hati dari kalimat pertama. Dan kadang itu membuat gue kehilangan konteks dari artikel yang gue temukan.

Gue ngerasa gue selalu dikejar waktu. Sehingga informasi yang gue butuhkan harus didapat secepat mungkin, tanpa mempelajari hal lain yang mungkin berkaitan dengan informasi tersebut. Padahal kalo ngomongin waktu, gue cukup rajin buka twitter atau scroll instagram, dan itu justru lebih membuang waktu.

Sampe sekarang gue belum menemukan teknik yang manjur buat mengurangi kebiasaan itu. Yang bisa gue lakukan sekarang adalah cek screen time di iphone untuk lihat persentase aplikasi yang gue buka. Antara Social Networking, Productivity, atau Entertainment. Selama ini Social Networking masih merajai, namun berprogress meskipun lambat berkurang. Semoga gak kecanduan sosmed lagi.