With the new year right around the corner, it seems its the expected time to make a few resolutions. Though I have gone out of my way to largely ignore this practice, at the end of 2016 I made my first resolution in over a decade. That resolution was, "Don't buy any video games" which I actually managed to stick to for about six months. This year I've decided to tweak my approach. Instead of specifying hard and fast rules, I'm going to specify principles and ideals which I will strive towards in the year to come.
Games should be fun.
I actually spent some time addressing this specific principle in my previous post "Repeat after me: Games are supposed to be fun". That post effectively inspired this one as it gave me the idea to reiterate principles rather than hard and fast rules for the year to come.
The basic idea here though is that I should only play video games that are fun. If I am playing a game and not having fun, then its time to move onto something else. Interestingly enough it seems that I'm going to spend my first few months focusing on a sub-genre of RPGs known as rogue-likes. While they may be brutally hard, they also happen to be brutally fair.
Code should enhance productivity.
I write code for a living. Though in all honesty I can't claim that the code I've written has always enhanced the productivity of either my users, my co-workers, my testers or myself. The most important takeaway here is that code can enhance the productivity of a variety of people, not just direct end users of an application. That is effectively how I've approached this item in the past and I think its long past time that should have adjusted my approach.
Computing should be efficient.
This is one that I've spent the most time thinking about. Computing in today's world is generally very inefficient. Every year we buy bigger and more powerful hardware which consumes more power and impacts the environment around us in a more negative way. Yet we don't seem to be actually making effective use of this power. I have spent years suffering from this exact same failing and I intend to change my approach this year. The inspiration for this principle really can be traced to my decision to switch from gaming laptops to ultrabooks a few years ago. That was when I started to realize that I didn't need to buy more powerful hardware in order to stay productive.
Over the next year I have set a tentative goal of switching off my powerful desktop/server at home to a small cluster of Raspberry PI units. Its definitely worth mentioning that this item isn't just about hardware but its also about software. More efficient hardware can only be used in situations where we have access to more efficient software. This also ties in with the previous principle in that I will also be attempting to write more efficient as well as productive code.
My hope here is that by emphasizing principles in lieu of actual resolutions, I will be affording myself more flexibility when it comes to making measurable progress towards a goal. For example by resolving to not "buy any video games" this year I was ultimately dooming myself to failure as that was a very high bar. On the other hand, setting too low of a bar would render the exercise pointless. My expectation with this approach is that at the end of 2018, I'll write a follow up post in which I detail my most notable successes and failures relating to each principle.
With that I am officially bidding a fond adieu to 2017 and looking forward to what 2018 brings. Whatever it is, I'm sure that it will be interesting and exciting and you can be sure that I'll be posting about whatever happens here.