Though ultimately it's a date no different from any other - and entirely arbitrary - New Years Eve has always been a great time for me to reflect on what I'm doing with my life, and re-calibrate my goals. Though I have other "life goals" outside the realm of programming, here's what I want to focus on in 2013 with respect to programming:
This blog has been mostly dead for the past few years, which is deplorable. I find blogging, and the organization of thoughts that go with it, a great activity for improving mental clarity.
Work on a travel-related application I'm passionate about
My passions changes frequently, but at the moment I'm really passionate about travel. I'd really love to be working on an awesome travel-related web application. Loving what you're working on is important for career hapiness!
Cowork / Pair with Awesome Developers
Working remotely in San Diego leaves me lonely sometimes. I need to get out and do more coworking and pairing with other developers who I can learn from and who will challenge me.
Finish Jazzity, my long-delayed knowledge engine for jazz theory
I started playing around with jazz theory relationships in code five years ago, starting out with a simple ruby library with object relationships. Since then I've been building out a more fleshed out web application that lets users query and interact with jazz theory through a web brwoser, not unlike what WolframAlpha is trying to do for generalized knowledge. The recent availability of VexFlow, an awesome HTML5 SVG music staff notation engraving library is really opening up the possibilties to build something awesome. In 2013 I want to finish and launch Jazzity.
Contribute more actively to open source
I used to work fairly actively on my own open source projects, but beyond the occassional collaboration to the SDRuby.org, rarely have I truly collaborated with others on an important open source project. I want to find some projects I use heavily and contribute back!
Become a Master at vim
My editing environment is MacVim (using tabs, with splits within tabs for implementation/test code), and although I can get around in vim quite fluently, there are a lot of advanced vim features I want to learn. Seeing Ben Orenstein's talk at RubyConf and his vim fluency has inspired me to learn more.
Become Comfortable with SublimeText2
Though I'm solidly a vim user, I've heard great things about SublimeText. I loved TextMate "back in the day", and want to give SublimeText a fair shake.
Learn D3.js and Build Something Awesome with It
Learn RubyMotion and Build a simple iOS Application
I've really missed the mobile native app revolution entirely, and it's time to catch up. I've heard good things about RubyMotion, so starting there (after learning basic Objective C for some foundation, of coures) sounds like a great way to dive in. My goal is to get an application (however simple and useless) approved in the Apple app store.
Learn Scala & Clojure
Learning new programming languages is one of the best ways to keep yourself current and push the limits of your knowledge. Learning Ruby was a real paradigm shift for me (coming from a PHP/Java background), and the programming/concurrency models of more functional languages intrigues me.
Improve Design/CSS Chops
Since I'm working on a few personal applications (like Jazzity), I really should be better at front-end design than I am. I actually enjoy crafting good HTML and CSS, but having a good design concept to begin with is where I struggle. I'd like to try to change that, while at the same time accepting that I am a focused back-end developer with limited creative juices for design.
Spend more time in tech-heavy cities (and possibly move to one...)
I've been extremely happy with my move to San Diego, but I think it's time to explore cities with a larger tech scene. In 2013 I'd like to spend a lot more time in cities like San Francisco, Portland, Seattle, Chicago, Austin, Boulder, and New York - and possibly move to one!
Attend 2-4 Regional Conferences, and One International Conference
Thus far I have only ever attended large Ruby conferences, yet I hear from so many people that the regional conferences are the best (and the most affordable for someone who pays out-of-pocket!). Especially since no one has to pull my leg to board an airplane, I'd like to travel to 2-4 regional conferences and one conference outside the United States.