In spite of doing an extremely poor job of keeping any writing up to date on this site, I am going to start doing annual recaps of what I have learned over the past year. I am not totally convinced that I will use the same broad categories year-over-year, but had to start somewhere. These are the tools that I have been learning to use over 2017. I have not mastered any of these tools, more just built enough of a baseline competence to accomplish my goals in each of them.

  • Some of the Python data analysis/visualization packages (pandas, Matplotlib, seaborn)

    I have spent a fair amount of time using R for data analysis. Learning that was nothing short of painful. R is wonderfully powerful, has a large active community, and is perhaps the most inflexible and unenjoyable programming language I have used. Were it not for Hadley Wickham’s packages (ggplot2, dplyr, rvest, and others), I probably would have given up a long time ago. I have always appreciated the feel of Python, and wanted to learn to use some of the data analysis ecosystem. Long story short, I don’t think I will be using R for much in the future.

  • Docker – redeploying an app I had made using a docker container

    Especially when it comes to software infrastructure tools, I don’t feel like I can ever really grok the concept and value of something until I have seen it in action and done something with it. I had a concept of what containers did, but wanted to see it in action. I built an eliminator pool app for pro football season, and I redeployed it using docker. It was one of the great ‘wow’ moments that happen every once in a while with technology. I’ll never have to configure a server for that app again.

  • Django – learning a python web framework

    As I mentioned above, I have always found Python to be a satisfying coding experience. I mean, how many other languages have something like PEP 20. Dating back to high school, I had done a lot of scripting exercises in Python, but precious little in terms of applications. Having spent more time on javascript web frameworks, Django was awesome. It felt more thought-through.

  • d3 – wanted to make a chart interactive

    Javascript is fantastic. And I hate it. Both. It’s ugly and slow, but is everywhere and can be made to do most anything I can imagine. That said, d3.js is so awesome. I’m a big fan of visualization tools, so I wanted to use d3 for the chart on my Reading page. I still have more I’d like to dive into on this, as I have time.

I am not sure yet what I will focus on what tools I will spend time learning next year. I think perhaps spending some time with Kubernetes and Lambda on AWS. Suggestions are welcome!