Wow, here we are, the sixth installment in the New Year series of posts.


This year feels almost like a lost weekend. Aside from a few small cabin and camping trips throughout the year, I hardly left my city or even my home. I spent much of the time relaxing, reading books, being with friends and family, playing games, and I even made a few paintings.

It's been good to focus on myself and not feel guilty about not writing enough or creating enough. It's hard to believe it, but I've been working as a developer and creating all my side projects for nearly eight years now. I've experienced major burnout in the past and that has manifested in different ways, such as quitting my job and taking a three-month long solo stint in Europe, as well as long periods where I didn't look at any code outside of work. Burnout is a hard thing to get over so I'm very careful about not over doing it.

Right now, I'm still working on trying to balance my life, my job, and my creative endeavors both in coding and otherwise.

Overall, I can say I'm content. Every day, I'm happy to be alive. I marvel at the simple fact that I can move my hands and create with them, and the fact that I can connect with other human beings. I've worked hard and it has paid off in my professional life, and I'm proud of that.

Here's a couple of cool things I discovered this year:

  • Inside - Bo Burnham - Being a fan of Bo Burnham's previous comedy specials, I clicked on Inside the instant I saw it pop up on Netflix. I felt completely captivated from the first to the last instant, totally glued to the screen. There's nothing more to say about Inside that hasn't already been said, and it's extremely polarizing - everyone either loves it or hates it. For me, it's the only pandemic-related piece of pop culture I want or need.

  • Get Back - The Beatles Documentary - Like many, I discovered The Beatles at some point in my youth and became obsessed with them. Once this has happened, no matter how long you've gone without listening to The Beatles or thinking about them, anything can set you off and start the obsession all over again. Having recently watched this documentary directed by Peter Jackson about the Let It Be sessions, Abbey Road is back to turning on my record player, and I'm listening to many songs with a new appreciation. I've also been exploring and enjoying Paul McCartney's solo albums. Temporary Secretary might be the most interesting one...

A few more - Miracle Musical, Michael Kiwanuka, and Lord Huron.

  • Children of Time - Adrian Tchaikovsky - I've had mixed luck with just picking up a random book and seeing how it goes. With The Expanse series, which I picked up off the shelf randomly a few years and didn't know that it was popular and had a TV show, it was an amazing choice and just what I was looking for. The last book in the series came out recently and brought it to a close. I picked up a lot of books that I was less than satisfied with, but Children of Time really surprised me. It didn't have the amazing character development I crave from reading The Expanse or A Song of Ice and Fire, but it has a very interesting, unique, and compelling story.

A few more - Demon Haunted World (Carl Sagan), Sapiens.

As for resolutions? I wouldn't say I have any resolution technically, but first and foremost, I want to focus on working on myself, overcoming my own issues and understanding myself better. My priority is still spending time with my friends and family, appreciating the people close to me and enjoying the time we have together. I would like to write more, particularly more non-technical writing. I'd like to record more songs, a favorite hobby of mine that I haven't done for several years. I'd like to continue focusing on my health, working out and paying attention to what I eat. Mostly, I want to keep doing what I'm doing.

I wrote 7 technical articles

I haven't written as much this year as in previous years. However, I'm proud of the quality of the articles I've written.

I ended up writing about one technical article every two months. The articles I'm writing are more focused and specific, so I think they reach a smaller audience than before. I hoped that I might write more non-technical articles by adding a new section, but I only wrote one this year.

  • Integration Tests with Jest, Supertest, Knex, and Objection in TypeScript - this article is a little misleading, in that it's a lot more useful and interesting than the title suggests, at least to me. Testing is kind of a boring topic, but I was proud of getting the full integration test suite set up for a TypeScript API. The more interesting part is the TypeScript API itself, using Express, Knex, and Objection ORM.

  • How and When to Use Context in React with Hooks - I often write articles for my own reference, and the original article I wrote on React Context was out of date, since it relied on class components. I wrote this one to give a real world example of why you might use context, when Redux might be better, and how to use it.

  • Using OAuth with PKCE Authorization Flow (Proof Key for Code Exchange) - the most up-to-date secure way to handle OAuth authentication for a web or mobile app is using the PKCE flow. This article eplains the different flows, and how to set up the code challenge/code verifier in JavaScript for PKCE.

  • React Architecture: How to Structure and Organize a React Application - React architecture is a topic that's surprisingly hard to find good resources on. In the past I set it up the way I had seen other people do it, but when I discovered a domain-based approach, I decided to write about it to help anyone in the future looking for a better way.

  • Writing a Sokoban Puzzle Game in JavaScript - I had fun using what I learned on the Chip-8 project to make another little puzzle game in JavaScript. I messed it up by allowing you to push multiple blocks at once (which was actually the hardest part to program) but I left it in.

  • Front End Tables: Sorting, Filtering, and Pagination - every job I've had in development has involved tables, usually with sorting, filtering, and pagination on them. Previously I wrote an article about adding all those features to a back end API, and this article goes into doing it on the front end. There are so many (usually outdated) libraries for dealing with tables, but depending on your needs, it's often much more effective to build it yourself.

  • An Introduction to GraphQL - my only DigitalOcean article of the year, this is the first article about GraphQL. GraphQL is another one of those things that's scary until you delve into the core of it and strip away all the libraries and implementations (such as Apollo). I'm planning on writing more on the topic.

I started a new job

When 2020 began, I was working at Yum. I had started in February/March of 2020, right when the lockdowns began. I had never worked remotely before and never really wanted to, but I learned that being remote really works for me. I started a new job as a Staff Software Engineer in mid 2021, and it's been going great. When not everything is certain and life is confusing, having an everyday routine, obbligation, and a job that I enjoy and am good at adds stability to my life.

I redesigned my site

Once again, I redesigned my website, a particular hobby of mine. This was version 5.0, or so I've decided to call it. Realistically, there have been hundreds of "versions" of the website, from all the tweaks I've done over the years.

It was fun to do and make my site look like a programming IDE as well as having interactive elements like the theme color, but personally I think it's too busy and will probably redesign it once again in 2022 to try to keep it minimalist while still having a personal touch. I do enjoy the pixel art I made for it the most.

I got a kitten

Not much to say here, but definitely the biggest life change for me of the year. I got a little 10-week-old kitten in August as a family friend's cat had a litter, and named him Dimo. He's the most adorable little thing and keeps me company every day as I work.

It seems like not really a big deal, but it was for me. Making the conscious decision to take care of a life for the next 20 years was a big responsibility to me. Having a little animal around has brought a lot of joy into my life!


I made a lot of commits

Through it all, I've been churning out code. A smattering of updates here and there on my public repo, and a very consistent output on my work repo.

2021 code

2021 code2

Well, that's it for now! Happy New Year!