17 Dec 2013, 11:06

Woke up, fell out of bed

Share

Things I learned this year:

Ruby. Ruby is an interesting language, but I find that the ability to open up classes and modify methods on the fly is too easily abused. Also not a fan of all the alternate method names (e.g. map and collect) – would prefer just to choose one and stick with it.

Git and Github. Made crystal clear with SourceTree.

Rails. Learned to hate it. Was going to write a blog post on why I hate rails, but someone beat me to it.

Rubygems. Learned to hate them too. I’ve wasted a stupid amount of time figuring out that my program is broken because the gems I’m using don’t work the way they’re supposed to. Better to just write it myself. (I actually think the gem system is pretty cool, but quality control, ladies and gentlemen, quality control.) And if you can do something in two lines of ruby code, you don’t need a gem.

Data Mapper. I wish this were maintained better. It’s a handy tool, especially when you’re dealing with simple, table-friendly data. It’s not so good at complex queries, though, and I think that the lofty goal of making it compatible with all different kinds of database engines is hampering its ability to work really well with the most common ones (e.g. SQL).

Python. Python rocks. My next job will be in a python shop.

Django. Django rocks along with python. In my next life (when I get really good at python and am independently wealthy with a lot of free time) I’m going to be a regular contributor to the django project.

Unfuddle and Pivotal Tracker. Say what? What is there to learn there? In fact there’s a lot to learn if you’ve never used an issue tracking system before. I find the Unfuddle UI to be kind of clunky, especially if you’re dealing with a large number of tickets, but it’s much more thorough than Pivotal Tracker in keeping track of comments, ticket disposition, change history, and so on. Maybe some clever person will invent a PT-style front end for Unfuddle.

Heroku. Five stars. The first time I attempted a heroku deployment, it was all black magic and I was lost. Now it’s still black magic, but I’ve learned that I can use it. Deployment is one of those things that gets more and more complicated the more you try to understand it. Heroku allows you to remain ignorant and just have your program run.

Android. On my desktop I have a 2200-page book on how to code for Android. I’m going to tell you I’ve read it all. I’ll be lying, and you won’t believe me. In reality, I’ve learned the basics and can make a simple app. I’m still at the tedious stage where I have to look everything up, and Android programming is already tedious by nature, but I’m getting it done.

Amazon AWS. This probably has the steepest learning curve of all. The documentation is complete and thorough and is also written to an audience of Sysadmin Ph.Ds. So far I’ve learned to use S3 buckets and create EC2 instances.

Things I want to learn next year:

  • advanced Python
  • advanced Django
  • advanced Git
  • Neo4j
  • Go
  • Sass
  • node.js
  • backbone.js
  • how to deploy stuff (why is this so hard, anyway?)
  • Haskell