segfault

by alxbl

On New Year's Resolutions

Almost like a tradition, January first always sees nearly everyone proclaiming their New Year resolutions. As those things go, only a small percentage of people who set out resolutions will actually follow them through.

While I do agree that a new year provides a logically satisfying point to start something new or to make significant changes to one’s life, I’m not a big fan of setting arbitrary resolutions and would rather have some concrete and measurable objectives that can be tracked. Looking back at 2017, there are many things that I wish I had done or spent more time doing, and there’s no doubt that 2018 will yield a similar feeling, but this time I’d like to try something different and hold myself accountable for all of my objectives. One of those objectives being to start blogging more frequently, it only makes sense that I start there.

Thus, here are my 4 personal objectives for 2018 and how I plan to track each of them.

1. Learn Something New Every Day

I forgot where I first read that quote, but to this day it’s something that profoundly resonates with my personal beliefs. Learning the inner workings of a system or application provides a deep satisfaction (for me, at least!) and random pieces of technical knowledge that come out of the woodworks to save the day once in a while are worth it on their own.

Accomplishing

This objective is probably the least measurable one on the list, and defining what counts as “learning something” is no easy feat. In my case, the knowledge I’m interested in is computer-specific, and is what I will focus on. More specifically, all of the below are examples of what I consider as having learned something:

  • Start using a new vi command
  • Discover a new technology or framework
  • Discuss the inner workings of a system with a coworker
  • Read a tidbit of trivia on why Windows taskbar icons behave weird

Measuring

In order to mesure this, I will keep a personal notebook (using the wonderful vimwiki plugin) of notes with one entry per day. This is something that I already do at work that helps immensely with organizing notes and tracking progress over time.

2. Be More Involved in the Open Source Community

This one is a bit of a touchy subject for me. I spend most of my days at work writing proprietary code that does not belong to me and that will never be seen or used by people other than my colleagues.

Accomplishing

I can definitely understand the reasoning behind keeping company code proprietary and I do not have any intention of changing that. What I plan to do instead is to start contributing more actively to the codebases of the tools that I use on a daily basis. This goes hand in hand with objective #4.

The goal is to not have a long streak of 0 contribution days in 2018.

Measuring

Thankfully, github will let me measure my open source contributions extremely easily.

3. Be More Active on my Blog

Ah, yes. The blog. It’s almost like a running joke that all software guys at some point thought it would be cool to have a website online, but then stopped updating it. Life is tricky and time is a very finite resource.

Accomplishing

If I can post one or two times per month throughout 2018, I will consider myself active. The posts might vary from short “I discovered this cool thing.” to long winded techical analysis of things that I encountered. The odd meta posts here and there count as well, but I’d rather not blog about the blog too much.

Measuring

The posts are visible online for the world to see, so that takes care of it. I will add an Archive section when I amass enough posts.

4. Adopt and Master Long-Lasting Tools

Tools. We work with them every single day, for many years. They’re what let us get our job done and what empowers us to do our job efficiently. I feel that mastering a small set of powerful tools can help solve complex problems easily.

I recently picked up vim and after only a month or so, really wish I had the past 10 years of my life worth of experience with it. This is an example of a long lasting tool that really grows with you over time and over your career.

Accomplishing

Whenever a tool is needed, consider open source, scriptable and pluggable tools with good reputations and good communities around the tool.

As for mastering the tools themselves, this ties into objective #1 quite well.

Measuring

To measure tool adoption and mastery, I plan to keep a cheatsheet of commands and tidbits of information for each tool in my notebook. Over time, these cheatsheets should reflect my understanding and mastery of those tools.


There you have it: my objectives for 2018. I hope that this year will be a productive one and am looking forward to see how I do on the objectives I set myself.

Happy New Year and Happy Coding!