Happy New Year everybody! I just watched the ball drop from the comfort of my parent's living room.
It was honestly anti-climatic. The ball is on a rod, not a string, and it slowly slides down the rod as the clock is ticking, not when the clock ticks to midnight. So I waited until it slid down and was like "...that's it?" I was hoping that the ball would drop on a string and swing around Times Square, opening up with presents for the people below. I guess this is much safer and more reasonable.
Hey, maybe I'll get to be in a city or something for next New Year's. Then I'll see fireworks or something.
Onto the resolutions! I've had a few hours to brew and I think I can come up with a few. In no way is this a complete list (it was only a few hours, and some things I omitted because I will definitely not not do them), and I'm not sure if I can finish them all. But here goes.
- Go on a date: Like an actual date. Like where I ask somebody, hey I think you can be a significant other, let's do a trial run. My parents, grandparents, and friends of parents have all asked me during break whether I have a girlfriend. Why, why, why do people ask after high school and college, I have no idea. In any case, I noted that this was a resolution I made last year, but never came to fruition (possibly because I was focused on work and self-improvement). Several things that I am trying to do better include ukelele, dancing, knitting, and cooking. Friends say ditch the knitting. So I might just do that for me.
- Become noticeably more fit, especially my chest and my midsection: I hate looking in the mirror and thinking that I am fat. I resolved last February 6th to get down from 170-180 lbs to 152 lbs and have only 10% body fat, and that I would reward myself with tailored shirts. This did not happen, at all. That's why I have also resolved to...
- Learn to cook well: I am legendary around the office for my poor eating habits. I don't mean poor as in I went to McDonald's because I couldn't help it kind of poor eating habits. I mean I boiled ten stalks worth of chopped celery, immediately stuck it into a freezer, left it there for six weeks while I ate other stuff, remembered I had celery, reboiled it again, and ate it all in one sitting with no condiments or other food kind of poor eating habits. I end up spending more effort for less utility. This really has got to stop for me. So I doled out some real money for a nice set of meal prep containers and donated my cheap bent plastic ones, and bought myself a thick heavy cookbook. I'm going to read through it and dog-ear recipes I like, then change the recipes instead of just getting bored, leaving the meal prepped food in the fridge, and spending oodles of money eating out. These italics are really to remind Future Ying what Past Ying was like.
- Go to a software conference: PyCon, AWS Re:Invent, O'Reilly Software Architecture Conference, or otherwise, I want to be able to meet other software engineers in my field and see how other people do things. At my current company, this is an impossibility, because we have to pay our own way and conferences are expensive, and because we have to take PTO in order to leave work. Hopefully the next company I work at will be more encouraging.
- Create 3 software products for my personal use: I didn't get to work on as many software projects as I had hoped during this year. I did not expect work to as exhausting, to be honest. Maybe with a new company, things will be different enough. The projects I wanted to work on include polishing out my travel application, creating a batch scheduler for calendar events, and a fitness application (that would ideally tie into the batch scheduler).
- Fill in the gaps in my computer science education: I missed out on algorithms and operating systems while I was in college, and I don't really have a good grasp of fundamentals of databases, computer networking, computer security, distributed systems, or artificial intelligence. I bought books on most of these subjects and should be reading through them during this year, ideally consolidating my knowledge with coded examples. For example, for algorithms, read through CLRS and code through some examples of algorithms using C++ and compile to WebAssembly for display on my personal website.
- Speak at a software conference: Haha. This is the dream. I spoke for five minutes at the DC Hack and Tell about my personal website, and that went perfectly (I didn't even time myself and got exactly five minutes, so lucky). This would be more of an actual conference, maybe a side presentation of some sort. I'm not sure.
- Earn $100 from a software product that I make myself: Creating a software product that I use is fine. Creating one that I can sell is something else. From my experience with ShortRoad last year, people definitely want to see a MVP, instead of just a landing page, unless the idea is extremely valuable. If I can make $100 this year through software, that'll put me on a really good path to a side business and a viable stream of income.
- Read at least one book every two weeks: I already do this, and I'm already a bibliophile, so it's not a thing I need to tax my brain about. Which books to read? I have "Clean Code", "Clean Architecture", "How Google Tests Code", and "The Red Badge of Courage" on my bookshelf.
- Read at least one research paper and understand it every two weeks: This one is slightly harder. I'm not sure what I would do with reading research papers; my colleague reads a research paper every night, which helps in data science, but I might find research papers to be slightly more dense and obtuse than necessary.
- Peruse 3 well-known codebases and be able to explain how they work: I got this idea from reading this Medium post. I think this will be a good use of time. Maybe creating a visualization of TensorFlow, for example, will be useful after reading the codebase for TensorFlow, kind of like this visualization of how the blockchain works.
- Publish a software engineering book on O'Reilly: Apparently it doesn't have to be super thick and long. All it needs to do is to provide something new. I think I will be most interested in writing a book on software architecture paradigms, maybe for purely functional languages. I will need to know what I am talking about, though.
- Complete Udemy courses I already have: I bought a ton of Udemy courses, a lot at the beginning of last year. I should finish them before they get any more stale :sweat:
- Get into computer science or data science competitions, especially those that are worth the time: I'm thinking primarily of Kaggle, but also maybe consider Algorithmia or the like. That gets more into freelancing, though, and I don't think I will have time for that with everything I want to do.
I don't have any low priority New Year's Resolutions because that's not what New Year's Resolutions are about. :grin:
Looking at this list, it is quite amazing at how my priorities have changed since last year. Last year, I was noticeably more tense about my skills, and deeply wanted my skills to be improved. Today, it's quite evident that other aspects of life have greater import for me. Or maybe it's because I know I will do some of the things in the "medium priority" anyways and need to actively prioritize other things. I don't know. This is my list. I will add in amendments at bottom if I come up with more stuff.