We started off this week by launching into the deep dark Interwebs from our command lines via HTTP requests, the internet’s persnickety messenger pigeons. We were also introduced to Sinatra, a lightweight open source framework for building web applications. I encountered Sinatra again at Code for Durham’s Day of Civic Hacking. I worked with the group developing Citygram, a way to aggregate city information like road closures, building permits granted, and crime, and notify users through text message or email subscription. Unfortunately, it took so long to set up the virtual environment (Vagrant) that I hardly had time to dive into the code but I’m excited to stay involved since it looks like there are some small contributions I might be able to make. I also helped out with some research for a Durham School Navigator that helps parents figure out which schools their zoned for and what the schools are like.
In addition to the frustrations involved with trying to get exactly what I needed from the internet into my code, my work flow felt way slowed down this week thanks to Vim’s steeper-than-expected learning curve. Learning all of the commands required to edit code as quickly as I could in Atom has been like drinking from a fire hose. I’ve tried using a couple different .vimrc configs I pulled from Github which had some settings that made things easier and some that made my keyboard feel like a mine field. I’m going to just start building up my own as I collect that work for me.
This weekend we were assigned our first project in pairs. We had to build an event planner application that could give return the weather prediction for the day of a given event using the Weather Underground API. Splitting up the work was tricky, since it’s very difficult to predict how long or difficult a given piece of the project will be. I took charge of writing the application while my partner pulled and packaged the weather information we would need. After a few hours of cursor battles while screen sharing (Vim will make this less of an issue ;)), we were able to put the pieces together and get the app working! As someone who is wont to try and weather the storm alone, it felt really gratifying to be able to build something with someone else that I probably wouldn’t have been able to do alone.
Looking forward to more Sinatra and API play next week. Between running the server, our application code, Slack, and having James’ examples up for reference, screen real estate is approaching a premium. I think I’m going to need some more monitors…