Benjamin Starks

Announce

This is an application I helped develop for ISDigital (a software company in Washington State). This application is a Node.js based app that provides a way for multiple colleges to post campus related announcements. Each of these announcements can contain file attachments and college specific tags. Each site has an automatic RSS feed and a JSON feed. This app is in production use at a major university.

If this app is used by a single college, they have the option to make a sub-site for each branch of their organization (e.g. soccer.announce.uw.edu and announce.uw.edu existing simultaneously).

Software Licensing and Download Management Software

The purpose of this app is to control distribution of enterprise licensed software in a large organization. I built all of the logging and reporting tools of this package. This app is in production use at a major university.

Apoptosis

Apoptosis is a software package that is designed to help clean the file system of a computer. Using recursion, this software scans through the files of a specified folder and gathers information. The software reports duplicate files and empty folders while displaying sub-folder sizes as well.

Apoptosis is a Windows Forms app that extensively uses recursion to scan through a file system.


2Note

I built this Android app when I wanted an Android note application that contained its own independent filesystem. After some difficulty I successfully incorporated CKEditor into 2Note, enabling basic rich text behavior.

Lab Availability

This is an HTML/CSS/JavaScript web page that periodically gets lab availability data from an external source and then displays it in high resolution. It dynamically resizes each lab availability gauge if multiple labs are displayed. This software is displayed near the human queue in a university computer lab and visually shows students the utilization of other computer labs on campus, allowing students to self-balance lab utilization.

SubCommander

This is the first of the two Windows Mobile 6/6.5 apps I wrote. It was based off of an old Palm Pilot game that I used to play. In this app, fleets of submarines cross the screen underneath the player's minesweeping ship, and the player's goal is to beat his high score by destroying the subs. Each level brings faster and more aggressive subs, as after level 2 they start laying mines that slowly float to the surface. I successfully sold many copies on the Windows Mobile marketplace.

Div X

Use this Chrome extension to remove any part of a webpage you visit that you don't like. With a keystroke/click combination, ads, videos, images, containers, form inputs, and text content can be effortlessly removed...
chrome.google.com/webstore/detail/div-x/

KingMe

One night I was playing around in C# and I found a puzzle called the knight's tour. I wanted to find all possible tours for each size of game board, so I wrote a program that utilizes attempts a brute force solution to the problem. This solution worked, but for boards larger than 5x5, operation time becomes extensive (classic big-O problem).

When I was writing my knight's tour solver I got interested in how one could build a checkers AI, so I started building an animated WPF/Windows Metro checkers app called KingMe. I built a respectable GUI and an AI capable of seeing 6 moves ahead in a reasonable amount of time. It could beat me at 6 moves ahead (and occasionally 5) when I finished it; that's pretty good for the AI, because writing this game made me a very good checkers player!

This game features a two player mode, a single player mode, and an AI vs AI mode. It was one of my favorite apps to write and I continue to have ideas for it.

SiteSpy

This app is a WPF app that my dad challenged me to write. Its purpose is to periodically check to see if either a web page's source or text has been changed or if it contains any of the user specified search terms. Multiple searches can run at once.

Cannon Shooter

This 3D game developed using the XNA framework. Users take their "seats" behind a stationary cannon and exchange 3D fire over a hill by adjusting firepower, pitch, and yaw of the cannon. After firing, the user's view follows the cannonball through the air over the hill, either crashing harmlessly into the ground or striking a winning hit on the opponent. The game included sounds, an AI player, and particle effects. The game also featured a 2D game menu.

To calculate the trajectory of the cannonball I used a 2D projectile animator library. For the AI player I calculate the correct compass angle to the opponent at the beginning of the match and then I adjust it by a random amount of error for realism. The AI then randomly minimizes this error until the match ends.


Minesweeper

A Windows Mobile 6 and 6.5 game of Minesweeper. It featured multiple terrains, sound effects, and a custom digital clock display. This app was marketed on the Windows Mobile app store.

The WinForm Button was too bloated for how many I needed, so I wrote a custom Control implementation of my own button, and used it in this app.

Mandelbrot Set Explorer

This WPF app paints the Mandelbrot Set on a view window. The user may zoom in or out and move around without losing any resolution. When the user wants a high quality rendering they can simply push a button and after a couple of seconds they have it.

Screen Shadows

This program is a WPF app that overlays the screen with a transparent image or color. It does not keep an icon on the taskbar and instead allows its control panel to be viewed by a keyboard shortcut. I wrote this app when I was in need of a method to darken my screen more than my computer's brightness controls were capable of.