Portfolio of Stephen Thomas

The Project Showcase

Kritikos is a turn-based strategy game with an outer space theme. It analogous to RISK the boardgam, but in space. Also, everybody's turn ends at the same time. Its foundation is the HTML 5 brand, utilizing HTML, SVG, CSS, and Javascript to their fullest, with a Ruby on Rails API server. Through the combination of HTML 5 and many Ruby on Rails gems and convetions, Kritikous has turned into a very expressive and complex web application. Features include: a timed turn-based system, where every hour a turn ends and every 15 minutes a "tick" occurs (a minor turn), automatic asynchronization between server and client so the client doesn't have to refresh the page to get the latest data after a turn ends, and a rich star map visualization, whih includes viewing many Constellations at once and zooming in on the smallest planets.

Accomplishments:

  • Created an interactive visualization using Backbone.js and D3.js, which infinitely scrolled as the user moved both on the y and x planes, and allowed for 3-layers of zooming
  • Utilized Faye (with Bayeux protocol) as the publishing-subscription system to update the client-side in real-time as game progressed
  • Integrated scheduled jobs and a queue to progress the game and send notifications to players

Constellation View:

Infinite Loading:

Extracted version of Solar System View with static data:

Planet View:

Data Flow:

Reactif is a image hosting platform for entertaining and/or amusing GIF images using Ruby on Rails.

Accomplishments:

  • Integrated with Dropbox API as the image store
  • Attached to short URLs to each uploaded GIF using Base-36
  • Full-stack, including deploying to Heroku
  • User commenting system parses valid urls to show uploaded GIFs
  • A fully capable tagging system

Clutterbox is a fun platform for organizing your favorite bookmarks and finding bookmarks of others.

Accomplishments:

  • Easier to find the most viewed bookmarks in the system
  • A fully capable tagging system
  • Rate each bookmark

FlickrPickr is creative iOS application for finding and viewing Flickr photos on the go.

Accomplishments:

  • Makes use of Flickrs very capable API
  • Find photos by category
  • Project is structured in MVC style

CoolTurkey is kind of a silly name for a project, but I couldn't help myself when I was writing an application that takes the Cooley-Tukey Fast Fourier Transform (FFT) algorithm and runs it on a variable number of cores using OpenMP.

Accomplishments:

  • Completely parallel with variable number of core
  • Takes the already efficient O(N Log N) and turns it into O((N Log N) / P). P being the number of cores used during a run.
  • Based on a very creative to implement research paper

A simple C++ algorithm for substituting parts of a string within strict memory constraints

Accomplishments:

  • Search files to substitute a specific word
  • Queue size for keeping track of subsitutions never grows bigger than 1

Stamp Press is a fun implementation of a stamp-press in C++

Accomplishments:

  • Overloads << operator to send string through stamp press
  • Overloads string::flush_buffer and string::overflow to send char's to a plate