Catchup blog #1

I think I have 5 personal blogs left to write, which pretty much coincides with having built an almost-fully functional website in the last… 3 weeks. I honestly haven’t had much to write since my topic modeling posts — the update each week is that I am neck-deep in coding, which is a state that I alternately love and hate.

I hate it because it involves hours and hours of sitting, often so engaged in a problem that I forget to move or drink water for an unreasonable amount of time. I hate it because it leaves my body restless and my brain knackered. I hate it because the emotional landscape sometimes involves great swathes of frustration with just pinpricks of triumph before I turn to the next tangled problem.

I love it, though, because it really is like learning a new language. It’s a language of functionality and precision, and of breaking the problem I want to solve down into a set of tasks that a computer can accomplish. I’ve enjoyed learning over the course of my degree that there’s rarely just one way to do that. There may be one way that’s the most performant, one that’s the most mobile-friendly, one the most visually pleasing, or one the easiest. Beyond that, there may be one way that accomplishes what you really intend and one that seems logically sound but ultimately fails (for example, select all the women in this dataset and select all the not men in this dataset are equally easy tasks for a computer but certainly not equal questions for a researcher — intention is key, as is a data structure that allows you to ask exactly the question you want).

Sometimes these different  “best ways to break down a task” overlap, sometimes they don’t. Sometimes I have the knowledge and bandwidth to make an informed decision or improve on an old way of doing things, other times I’m so relieved to hack out a way that just WORKS, I don’t even think about the others. That’s definitely a plus one for collaboration, since looking at other peoples’ code often teaches me about the ways I haven’t chosen.

I love coding because I get to not only think about all of that, but actually do it. I hope it never gets old for me to write out text commands and see them bring dynamic shapes and colors and movement and information to life online.