49 posts
Surviving somehow
There's been a round of layoffs in so-called tech companies recently. In this January only, industry giants like Amazon, Microsoft and Google all let go more than ten thousands of employees, respectively. Many others also laid off a sizable…
So, is React a library or a framework?
Is React a library or a framework? This is an age-old question in web development that just keeps coming back. Like many, I don't think coming up wiht a definitive answer to this question on my own offers any immediate value in my day-to…
My first month at Spotify
Time tends to fly by when we're having fun. So, I really shouldn't be surprised to find that already a month passed by since I joined Spotify. Even still, I think I've had just enough time here to take a step back from all that excitement…
From building to engineering software
A case for software engineering Recently, I had a chance to read Modern Software Engineering (2022) by Dave Farley, a veteran software engineer best known as a pioneer of the Continuous Delivery paradigm for developing software. I can't say…
I got a promotion
Starting this month, my job title reads Senior Front End Web Developer. I am getting some salary bump, which is awesome. But the promotion is mostly nominal in a sense that my day-to-day responsibilities, which have gradually expanded since…
Making sense of useEvent
A new React hook is a pretty big deal. Since the debut of the original 10 hooks in React 16.8, the only time React introduced more hooks was for the recent release of React 18. And considering how React 18 marks a new foundation and the…
On hydration: A non-technical perspective
Acknowledgment: Miško Hevery kindly offered to review the initial draft of this blog post and shared his comment. Thank you! 🙏 There is a new exciting movement in the frontend JavaScript framework space that seeks to go beyond the…
My thoughts on "Types as Comments"
Already so many bytes were spent on discussing the TC39 proposal for type annotations ("Types as Comments"), which has received a surge of renewed interest following the TypeScript team's recent annocement that they will be contributing to…
Will 2022 be the year of Solid.js?
Solid.js was on fire this month! 🔥 When Solid celebrated its 1.0 release last July, I was a bit worried that it wasn't generating enough of buzz and hype necessary to reach the level of success it deserved. Well, I'm extremely pleased to…
Tis the season to be jolly in Reactverse
This fall/winter is shaping up to be an exiting season for the Reactverse! Reactverse... like "metaverse" but for React, you know? 😉 On the core library's side, the new Docs site, beta.reactjs.org, became available as a preview. Also…
Some thoughts on Jamstack Conf 2021
Jamstack Conf 2021 was last week (October 6-7, 2021). While I wasn't able to participate in this virtual conference live, many of the recorded talks were made available on YouTube. Thank you, Jamstack Conf! I was never planning on binging…
Dipping my toe into Solid.js
The hottest "new kid on the block" de jour in the developer community is, undoubtedly, GitHub Copilot, an AI-powered code generating tool by GitHub and OpenAI--or, Microsoft. It's a facinating subject matter that has already generated a lot…
So it has been one full year of getting paid to write code
Tomorrow marks my first work anniversary at my first job as web developer. Incidentally, I also had my first annual performance review just a few days ago--not because of the timing of my employment but due to how the financial year works…
React innovates, again
"[T]he modern web UI development, which React pioneered and led ever since, has reached a point of maturity. [...] In other words, in my view, Vue 3 marks no Next Big Thing in sight and a shift of focus to incremental improvement: smaller…
GitHub as a minimal CMS for my blog
I just moved all my blog source materials, i.e. markdown files and images, to a separate GitHub repository. Now, instead of the blog markdown files stored in /src/blog/ of the website source repository, they need to be fetched via GitHub's…
My first one-year GitHub contribution streak
Today marks my first one-year GitHub contribution streak! ✌️ If I hadn't missed one on November 3, 2019, this would have been on as early as mid-October, but hey, such is life. I fully acknowledge that the contribution streak by no means…
I know what your Electron app is doing
Earlier this week, my partner found that a desktop application she regularly uses to transcribe her podcast recording files was not working. After spending a frustrating hour of searching on the web, digging through help pages on its…
What does Vue 3 mean?
Vue 3 stable release is here, at last! This release for me was one of the most ancitipated events in 2020--that is, before all the madness that is the year of 2020 really began. 😵 But, hey, Vue 3 is here, and I'd love to talk about it…
How I finally understood .reduce()
One of my favorite features of the JavaScript language is the trio of .map(), .filter(), and .reduce(). Combined with the arrow function syntax, these built-in array methods make it easier for me to approach programming as building…
Using "open" command in WSL
I switched jobs a couple of months ago, and earlier this month, I got issued a MacBook for a work computer. I have long been a Windows user who never really used a Mac before--either for personal use or for work. So it has been a few…
In search of CRA alternatives
Create React App (CRA) is one of my favorite tools to bootstrap a new React project, providing me a sensible default for setting up and configuring build tools, such as webpack, Babel, etc., required for any "modern" web project. While it…
My first month as a developer by title
It's been roughly one month since I started my new position as a Front End Web Developer--I'm now part of a clinical research lab at the University of Chicago. Although I'm still figuring out what this title really means to me as well as to…
Multiple entry points for Vue applications
Recently, I came to find this brilliant blog post introducing how to set up multiple entry points for a Create React App (CRA) project without ejecting. It's only a simple trick that is easy to implement yet solves a very real and concrete…
Mixing CSS-in-JS and Tailwind CSS
Over the last couple of weeks, I've spent more and more time studying and working on projects using React.js. This helped me take a closer look at and further familiarizing myself with the React ecosystem. At first look, React ecosystem…
Saving my GitHub contribution graph
Last Friday was my last day at Illinois Criminal Justice Information Authority (ICJIA) as a Research Analyst. Fortunately, I'm not simply being let go but moving on to another great opportunity. I have been extremely lucky to find this new…
More than what I thought
For the last week or so, I have been working on handing over to my colleagues a project--I wrote about this project in a past blog post. This process has been a great learning experience so far, so I decided to jot down some thoughts (and…
Front-end web development is a lot!
I recently had a chance to talk to a friend curious about getting started with front-end web development. This motivated me to compile a list of learning resources into a kind of curriculum to get started with front-end web development. The…
Data science is not a science and that's OK
While my focus has largely shifted to web development, I used to be more involved in data-scinece-y stuff both at work and during my personal time studying. I still occassionally and casually consume relevant materials, be it a blog article…
Choosing between Go and Typescript
In the last couple of months, I have been exploring various options for my project at work. And the time has come for me to make key decisions so that I can finally start working on the application based on those decisions. One such…
DRY is not just for code
I've been re-reading The Programatic Programmer, this time, the 20th year edition. Yeah, the new edition came out in 2018, but I didn't have a chance to pick it up until recently. While I'm still working through the book, one thing that…
In anticipation of Vue 3
Vue 3 has gone alpha in last January! For me, the stable release for Vue 3 will mark one of the most anticipated events in 2020. After all, I got started with web development using Vue 2 and Vuetify in 2017, and while this blog is built…
Minimal TypeScript setup for curious minds
Well, this is awkward.😬 I have to admit that I spoke too soon when I suggested in the last post that I'll be focusing on Go in 2020. I'd like to confess that I have spent the first half of January mostly trying TypeScript to practice…
Here I Go, finally
At the end of 2019, I finally managed to get started with Go. I know, I am already dealing with three languages. Not surprisingly, I have not truly mastered any of them. So, why get into another language? First off, I believe in having more…
My first major project has shipped!
My first professional web application project, dubbed ICJIA Research Hub, has been deployed to production a little while ago and now officially announced! This marks a personal as well as professional milestone for me and a great way to…
Jump in! This is the best time to learn programming
One thing I learned from getting into programming in recent years is that the door is truly and widely open to newcomers. This was the case when I was just getting started in late 2016, but it is more so today, three years later. If anyone…
My journey to finding R modules
R is still my go-to language when it comes to data wrangling and analysis tasks. But I have long been frustrated that R does not offer a simple, built-in solution to use modules for organizing code into multiple files, each encapsulates…
No React, no Vue, no problem
Recently, I worked on a minimal website for my spouse to help her with building a professional online presence. When I first came to this task, the first tool I was going to reach for was, of course, Vue.js. Vue is great, and I'm already…
Netlify FTW!
Today on my way home, I listened to a recent episode of JS Party, a podcast that is "a weekly celebration of JavaScript and the web." This was basically a Netlify episode, where the host interviewed Phil Hawksworth, the "principle DX…
FP for R users--more than avoiding loops
Earlier this week, I was searching for some materials for this month's R user group meeting at work. In the process, I came to a recorded webinar on functional programming led by none other than Hadley Wickham himself. The webinar focused…
Optimizing my colleague's R code
A little more than a year ago, I started an R user group at work. It was originally intended as a continuation of a six-week R workshop I prepared and gave. Since then, the user group has been meeting once a month to share interesting…
The method chain must go on
Recently, I had a chance to refactor a Python command-line app used internally at work. The key function of this app is to fetch and reshape some tabular data to update a database and generate a CSV file that is a dataset product based on…
A tale of three languages
Though I'm still not much more than a self-taught amateur, I've so far picked up about three programming languages, been using them in various contexts, and now feel confident in considering myself past the absolute beginner stage for each…
Faking immutability in JavaScript
As I continue my study of functional programming, I also try to bring its key ideas into my own projects. Immutability is one such idea. Put simply, immutability means never directly altering data while operating on them. Instead, we…
Playing with functions for fun and practice
I have been familiarizing myself with functional programming through the Haskell language. All the while, I am also realizing that JavaScript, especially since ES6, also supports many functional programming features. Here, Eric Elliot's…
Getting into Haskell instead of...
By a strange turn of fate, I'm getting into Haskell and functional programming instead of other things I originally planned to study, including Go. Yes, I admit that my current interest in Haskell and functional programming, in general, is…
The first look into React--from my point of Vue
Well, there is no shortage of articles and blog posts comparing React and Vue.js, two of the most popular frameworks for creating modern web applications (and beyond!). And, IMHO, I am not sure if I could bring anything revolutionarily new…