I’m not much of a believer in New Year’s resolutions.
That probably stems from how often those are things one recognizes one should be doing already (losing weight, exercising more, etc.), and setting them to start on an arbitrary date just seems like procrastinating.
However, I can’t really help but reflect on myself around the holidays, since everyone else is doing it (and talking about it), so I thought I’d write down a few “work-related” goals I’ve set for myself this year.
1. Refresh Less
I make a living writing code for the web, and do a lot of that in my spare time as well. I use Sublime Text as my editor and Google Chrome as my development browser, and I switch between these two very, very often.
I’ve realized that I tend to write only a line or two (of Python, HTML, CSS, or JS) before refreshing the page to make sure it does what I want it to do. I spend entire days writing code, and do a lot of refreshing to verify my work in tiny, tiny increments.
This strikes me as rather inefficient.
I’ve already started consciously and proactively writing more lines before checking the result, simply because I know what they’re going to do the vast majority of the time. Really, something like
image = get_object_or_404(Image, user=request.user) is likely to behave in predictable ways most of the time.
2. Learn a New Programming Language
My background is largely in Python, PHP, and HTML/CSS/JS, with dabbling of varying depth in Bash, Ruby, Java, C, C++, and assembly. I’m quite happy working with the web in general and my preferred stack in particular, but hold polyglotism in high regard, and don’t meet my own standards for it.
Over the years I’ve toyed around with the idea of learning something as esoteric as Brainfuck or Whitespace, but lately I’ve been very intrigued by Elixir. Popular choices such as Haskell, Clojure, and R are also viable options, as is Swift.
I’m open to suggestions, too.
3. Contribute Meaningfully to Open Source
I build things nearly entirely using open source software, and have already called myself and others out on not supporting it enough. Sadly, 2015 didn’t fare much better, with four rather small pull requests (1, 2, 3, 4). Sure, it’s better than nothing, but not by much at all.
I’d really like to find some time to make some meaningful contributions during this year, whether by helping existing projects or releasing something actually useful.
4. Support the EFF
The Electronic Frontier Foundation is an incredibly important organization. Its slogan is “Defending your rights in the digital world” and you can find out more about exactly what it does on its their work page.
As I’m more and more concerned about digital rights (specifically privacy), the EFF’s work is becoming more and more personally important to me, and I want to support its efforts.
5. Create a Game
I’ve always wanted to make a game of some sort. In the past I’ve built parts of a web-based multiplayer Tic-Tac-Toe, a the first screen of a VVVVVV-inspired platformer, and a very simple text-based adventure, but none ever held my interest long enough to reach even near-completion. One thing I did finish was Metronome, but it didn’t quite scratch that itch, so it’s still a pending item.
Maybe I’ll try building a top-down racer this time around, or a card game of some sort.