2022 into 2023
Happy New Year, friends! Time to write another year in review. This will be the seventh time I've done this. Here are all the previous ones:
I have really high hopes for 2023! It's only a few days in and so far so good. I've really had a chance to relax, rest, and reset.
Here's me and Dimo at the end of 2022.
Here are a few bits of content out in the ether that I enjoyed this year.
- The Bear (TV Show) - If you want to know what my life was like before changing careers into development, this show does the best job I've ever seen. It takes place in Chicago, to boot! I usually avoid food/kitchen related shows like the plague, but I'm glad I watched this one. I could very much relate to this show.
- Reservation Dogs (TV Show) - I just watched the first season of this show last week, and I thought it was great. It's a slice of life show about four kids on a Native American/Indian reservation in Oklahoma.
- 1883 (TV Show) - A really good Western themed show about a family on the Oregon trail. I was surprised how much I liked it. Highly recommended!
- Avatar: The Way of Water (Movie) - I loved the first Avatar, and this one was great, too! It made me feel something, and I spent a few days thinking about it after watching. There's just something about night time bioluminescence that can't be beat.
- Three-Body Problem Series (Book series) - A really good hard sci-fi series that I read this year. It was originally written in Chinese. It's very existential, and the scope of the story is bigger than most other sci-fi books I've ever read.
- Obsidian (App) - I switched from Bear + Todoist to Obsidian for note-taking and todos. I've been looking for a long time for ONE app the data is all stored in Markdown on folders on my computer, can sync between Mac, Windows, and iPhone, and can handle todos as well as note-taking. I found it all with Obsidian! I pay the full $100/year or so for Premium (sync), I think it's worth it to keep everything together.
- FanHOTS (Twitch) - The game Heroes of the Storm is my gaming addiction, and if long periods of time go by that I don't write, it's because I was probably playing HOTS instead. Every now and then, I decide I need to be productive instead and I delete the game. Fan is a great content creator with integrity who is highly entertaining as well. Despite the fact that HOTS is in maintenance mode and no longer has the player base of the heydey, he continues to play and teach, and I like to watch and support when I can.
I gained a little more weight this year than I'd like, so I made a dashboard for tracking progress - weight, waist measurement, calories, BMI, alcohol intake, etc. Here's Weight Loss Dashboard (and Sandbox) if you think that's helpful and would like to do something similar.
I figure it's best to focus on one thing at a time, so I'm focusing on health/fitness/diet/exercise right now. My plan is to focus on one thing per month, so maybe one month will be all music, one month all drawing, one month all coding/learning, etc. We'll see!
It's easy to say January 1st is an arbitrary date and doesn't mean anything, but honestly perception can be powerful. For me personally, it was really hard to start any goal in December with all the parties and get togethers and routine disruption, and a nice, cold, boring January is a good time to start a new routine. It also gave me time to plan exactly what I want to do, which can also contribute to success.
It wasn't an amazingly writing heavy year for me but! I wrote a few good ones. Five of them were written in December - I'm getting back into the swing of things! (It's actually 11, but one that I wrote for DigitalOcean has not been published yet.)
- Creating a Schema-Based Form System - I really like this article. One of my biggest philosophies when writing code is do not hardcode markup. In this article, I create a form system in which you simply pass data, and the system takes care of all the types and validation and everything else. I've used a system like this to great success in production at multiple companies.
- Building a Musical Instrument with the Web Audio API - In order to create KeyboardAccordion.com, I had to learn a bit about Svelte, the Web Audio API, and how frequencies work with it. I documented it all here.
- How To Set Up a GraphQL API Server in Node.js - A follow up to An Introduction to GraphQL, this article is more of a practical straightforward tutorial.
- Simplifying Drag and Drop - A demo I made for working with React + Drag and Drop, and making it a little more pleasant to work with.
- Using Path Matching in React Router - An article I made where (spoiler) at the end I realized I didn't need any of it.
- Testing API Calls in useEffect using React Testing Library and Jest - Testing is probably what I'm weakest at, so once I figure something out after struggling with it, I like to write about it.
- Redesign: Version 6.0 - Yet another redesign this year. I'm really happy with the current design, so I think I'm going to keep it like this for a while!
- Memories of Josh - Pictures and memories of my friend, Josh.
- Tending to my Digital Garden - A personal post I made about the current state of life, burnout, and work.
- An Ode to Animorphs - If you're into sci-fi at all, set aside your preconceived notions and give this article a read! I just want to get people into Animorphs lore in 2023.
The commit metric is fun to track. The vast majority of my coding has been work-related. So as you can see, I've been busy M-F basically every week this year except for two small vacations! Still, on the personal side I managed to get a few demos/projects in this year, a redesign, and some posts.
My project this year was KeyboardAccordion.com, which I made to be able to practice the accordion at night and not bother anyone. The write-up for this project is the Musical Instrument/Web Audio API article.
I also started a Baba Is You game implemention earlier in the year that I abandoned for a bit, I'd like to finish that up this year.
I've been making fewer updates here, but working as much or more than ever. I actually really enjoy my job and the people I work with, and greatly appreciate that I have a good work-life balance. I was recently promoted to Principal Software Engineer, after a few years working as a Staff Software Engineer. I've really come a long way in the past eight or nine years of working as a developer, and still have a long way to go!
I bought a tablet this year! I made an Illustration page to keep track of what I draw. My plan to get back into the swing of things was to draw all 150 Pokémon. I haven't made it that far yet, but it's a start.
I recorded one song this year, after a two year break.
I also got an awesome wooden chromatic button accordion I'm very excited about learning. I'm slowly teaching myself to play, but I'm completely self-taught when it comes to any kind of music and I can't really read sheet music, so it's slow going. I'm currently wondering if I can find a teacher in my area, but it's a pretty niche instrument so we'll see.
I learned a few songs on it already though - Korobeiniki (Tetris theme), Shostakovich Waltz No. 2, La Noyee, La Valse des Monstres, Sonic Accordion Song, and Final Fantasy VI Wedding Waltz.
My entire life up until now, I never really cared much about my environment: I lived in small, cheap apartments with cheap furniture and little to no art. I'm not sure why exactly - I was frugal, but also it felt like the apartments were just supposed to be temporary, so why would I put time and effort into decorating them?
I've stepped away from the minimalism mindset lately. I spent a lot of time this year buying art and furniture for my latest apartment, and making a cool battlestation for WFH + play.
Now I have art on the walls from the Chicago transit system, Cowboy Bebop, Animorphs, Harry Potter, russian propaganda, space, my own paintings, and small designs from artists around the city. For once I really enjoy my environment and I'm glad I put the time and effort into it.
A few topics I have ideas about and would like to write about in the coming year:
- WebSocket API, BroadcastChannel API, SharedWorker API
- Common array/object tasks
- Redux + Immer
- Drawing in Photoshop
- Logical fallacies
- Internet in the '90s
A few topics I'd like to learn more about in the coming year:
- Why everyone loves Tailwind
- Server-side rendering (NextJS?)
- Python environment setup
- CSS animations (This is on my list of things to learn from 2016...)
- Data structures (On my list from 2019...)
Sometimes it's hard for me to realize how much I've learned over the last several years, but the list is actually getting quite long. It's not quite so obvious what I should learn next, suggestions are appreciated!
Maybe Rome, Deno, WebAssembly, web components, newer CSS concepts, in-depth exploration of DevTools, or Rust?
This year I started writing a bit more about personal stuff - my friend, my childhood Animorphs obsession, burnout. It's been good practice for me to write in a for mat that isn't just an A-to-B tutorial. It's actually quite a struggle for me to focus and do reseach, which is why I haven't written so much of those types of posts, but we'll see what interests me in 2023.
Thank you all for reading, and I hope you have a great 2023!