Currently working on vCloud Air at VMware providing the power of cloud computing with the flexibility of virtualization. Previously the Software Engineer at StopBadware, a non-profit with a mission of making the Web safer through the prevention, mitigation, and remediation of badware websites.
A former banquet manager, I originally began learning to program only to assist in my hobby of stock trading with no intention of a career change. Soon it was clear I was enjoying the coding not because it would lead to better trading, but because I was enjoying the act of writing code itself - more so than I had ever enjoyed doing anything. It was then I decided my future lay not with hotels, but with software development.
Skills & Technologies
Shaded boxes represent relative amount of experience, e.g. five boxes indicate the technologies used most extensively.
Quickly assessing someone's Twitter activity by glancing at their profile can be tough to get a good idea of tweet frequency due to replies and retweets. So I created ShouldIFollow to easily see how often an account tweets.
A fairly simple Ruby on Rails app running on Heroku, it displays some metrics to get a feel for how frequently and what times of day someone tweets. This is open source and available on GitHub.
StopBadware's Badware Data Sharing Program "...aims to improve security researchers' and practitioners' access to quality, timely data. Participants provide StopBadware with an automated feed of time-stamped badware URLs and related data. The data is shared with other participants and with vetted academic and non-commercial researchers. Data is also used by StopBadware to inform our independent review process, to generate aggregated data, to identify and report on badware trends, and to communicate with site owners and service providers (e.g., Web hosting providers) about badware within their zones of control..." [Excerpt from stopbadware.org/data-sharing]
The Data Sharing Program is three separate Java applications, communicating via combination of API and Iron.io's IronMQ message queues:
- an importer to retrieve the participants' data
- a resolver to resolve all hosts to IPs and all IPs to Autonomous Systems
- the API that provides access to the data (MongoDB is used as a datastore).
There is also a web-app (written in Scala and using the Play framework) to provide administrative functions (whitelisting accounts, requesting API keys, etc) and provide non-programmatic access to the data.
Received a 3.96 (out of 4.0) on my Capstone Project for WGU, a Java application that predicts stock market movement based on Twitter activity. The program analyzes mentions of a company's ticker symbol to determine a bullish, bearish, or neutral opinion based on the content of each post. Each score is then adjusted for age of post and past accuracy of author before determining the overall sentiment for a stock.
As a side project I begain rewriting this in C++ in order to get more familiar with the language. This rewrite is on GitHub, though I stopped working on it to shift my free time to focus on other side projects. At some point I may resume work on it for possible Optionometer integration.
After finishing school my next goal for myself was to learn C++. After picking up the basics I created a command line stock ticker application that regularly updates and displays data for U.S. stocks and indices. This was also my first open source project and can be viewed on GitHub.
Developed as a side project, Optionometer was created for my hobby of option trading. Optionometer presents data representing analysis of nearly half a million option spread combinations. In an effort to find the most profitable trades available the app calculates profit potential for various multi-leg strategies. Of the hundreds of thousands of possible combinations the app selects the best ones and displays relevant data for each trade. Optionometer is written in Scala (with the front-end using the Play framework) and is open sourced on GitHub.
Software Engineer (MTS I)
June 2014 → Present
February 2012 → June 2014
August 2010 → February 2012
March 2010 → August 2010
September 2005 → January 2009
November 2004 → September 2005