Matthew Frost

Software Engineer

Summary

Currently at VMware working on vCloud Director, which provides the interface, automation, and management features to allow enterprises and service providers to supply vSphere resources as a Web-based Infrastructure-as-a-Service providing virtualized compute, networking, storage, and security. 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

Most Used/Experienced

Java

Ruby

JavaScript

PostgreSQL

MySQL

Rails

Moderate Use/Experience

Scala

Lua

Groovy

PHP

Spring

Hibernate

Play

Some Use/Experience

C++

Go

Python

Clojure

MongoDB

Microsoft SQL Server

Oracle RDBMS

Redis

React

Docker

Projects

Quickly assessing someone's Twitter activity by glancing at their profile can be tough to get an accurate idea of tweet frequency; ShouldIFollow was intially created to easily see how often an account tweets and was later expanded to provide other data points.

Working on this is a lot of fun as it allows me to combine my enjoyment of World of Warcraft with my passion for coding. DontCast is an addon that warns players when their target would be immune to damage (i.e. "don't bother casting"). It displays the name and icon of their opponent's damage mitigating ability, along with a timer counting down the seconds until the ability expires.

Originally created for my own use but added to Curse in case anyone else found it useful - I thought maybe a dozen people would download it, but as of Fall 2018 it has over 85,000 downloads!

As an avid World of Warcraft PvPer I would frequently find myself looking up players on the leaderboards to see what talent choices they were making. This was a time-consuming process which limited the sample-size and so I created PvP Leaderboard.

PvP Leaderboard looks up (daily) the players on each of the leaderboards and then provides the results (with optional filtering) allowing someone to quickly and easily see the talents top players are choosing and view the US and EU leaderboards.

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.