A List of Upcoming Projects

Let the record indicate that I have a litany of projects that I plan to work on over the next couple of months.

Web hooks and Travis CI for this website

The current deployment technique for this site—which has a private repository on GitHub—goes something like this:

  1. Add new file to local directory or web server
  2. Push to GitHub from local directory or web server
  3. Pull from GitHub to local directory or web server
  4. Log in to web server
  5. Deploy site

Five easy steps, sure, but there’s automation that can occur for the process.

For instance, I can use a mix of Travis CI and GitHub webhooks to get rid of steps 3 through 5. Thankfully, I have free private builds available from Travis CI through GitHub’s Student Developer pack, so all I really need to do is some configuration. Shouldn’t be too bad.

Metrics dashboard

There are two open source libraries that do not get enough love: Graphite and Grafana.

I’m going to use both to create a metrics dashboard of my personal life. It will include graphs of Hacker News karma, Stack Overflow reputation, Twitter followers, and perhaps even my GPA (future project: GPA API). By doing this, everybody can see just how lame I am across multiple Internet platforms (*cue laugh*).

The only other implementation detail is where I’ll run the machine. For right now, I’m using an Ubuntu droplet on DigitalOcean, and configuration is working quite nicely. The current status of the project is hosted for your viewing pleasure.

Although any seasoned devops engineer will tell you that Graphite is absolute overkill for this project, I don’t really give a damn. I want room to grow this metrics dashboard into something robust, and the best way to do that is start with something robust.

Should the project go well, I plan to create a similar metrics dashboard for my colleagues at school. Perhaps with some spare time I can roll installation into a Docker image. Then again, chances are that one already exists.

Simple (?) Web App

Speaking of colleagues at school, there are a couple of tasks regarding content creation for my social media gig that are truly in need of automation. The act of creating a yak for Hail! Mail goes something like:

  1. Think of yak
  2. Write it into email
  3. Get it approved
  4. Send it to Hail! Mail server

Were I to create a collaborative web app where I can share content with my boss for approval, steps 2 through 4 can be eliminated. All I’d need to do is type yaks into the web app. When my boss rewrites or approves the yak, a click of a button can queue it up and send it to Hail! Mail at the proper time.

It would make the job about ten times easier, such that I can focus on other things.

When complete, all of these projects will be shared at my GitHub account. I’m excited for all of the coding to come!