Recent Work and Dota Project


For the past year and a half I have been working at United Airlines in Chicago. My role has been as a web developer with the IT Security team. It has been a great experience and I learned a lot about App Development in a large enterprise. I was able to work with interesting people and large scale problems, mostly developing an enterprise dashboard detailing IT Security Risk. I got to use some D3, lots of javascript and AJAX, and also do a lot of server-side work with PERL and Linux. I also learned about the practice of security professionals and how a major airline runs it's IT and Security ops.

More recently I have been working on a new personal project: data analysis of Dota2 games

I have always been a fan of the multiplayer PC game, Dota2. I got the chance to upload some scripts to github that I have been working on. It's mostly to retrieve match details and store the results in a database so I can do some analysis on games. Here is a link to the repo

And a rough description of what it does:

DoTa 2 data analysis (using the dota2 webapi below)

This is a collection of scripts that queries the Dota2 Web API and performs some operations on that data. I am interested in obtaining and storing match details to run data analysis on the results.

It works by getting match ID's of recent games in groups of 100. Then each of these ID's is used to retrieve match details about that particular game. I do some checking to see if it's a game I want to keep. There are many game modes and reasons to not store the data (people leaving the game, maybe it's a game against bots and not even real people). It checks for all these factors and then throws out the games for results we don't want.

The Steam web API uses integers wherever possible to save space, so I do some conversion of values and format them in a usable way. Then they are stored in a mongoDB database. The particular information I am looking for in these analyses is what heroes work well in combination with other heroes as partners and how effective they are against certain opponents and teams. The game match details can then be queried from the mongoDB to gain insight into these trends using the latest match details!