Portfolio

  • p_map
    Physics Based Graph Drawing

    A text adventure game with a spring/electron model for graph drawing and a Mario mini-game.

  • h_slime2
    Slime Volleyball Tech Demo

    A slime volleyball game developed for Android with multi-touch controls, a custom physics engine, and animated sprites.

  • h_wta
    WTA Bus Routing

    A command-line route planning application for Whatcom Transit Authority’s bus schedule.

Code

Addepar Ant AI & Blob-Bomb

ants

Addepar requests that internship applicants program an ant AI in Java. This was my first experience programming an AI, so I stuck with classic techniques like state machines and A* pathfinding to be sure I ended up with something functional. In this article, I’ll be documenting the challenge, my strategy, and possible improvements. I’ll also …

Read more

jQuery Load SlideToggle Jumping

jqueryscrolltoggle

When I began blogging, I envisioned that the majority of my posts would be similar to this one – documenting interesting quirks and bug fixes. Of course, nearly every quirk or fix I’ve come across has already been documented on various blogs across the internet – until now!   The Problem When working on the …

Read more

2D Multigrid & Red-Black SOR in Ada95… Part 3

31MB_grid

Now for the epic conclusion to my 3 part series on Successive Over Relaxation and Multigrid PDE solving methods. If that last sentence didn’t make sense to you, please refresh your memory by skimming parts one & two.   The Multigrid Algorithm In our main function, we start by kicking off n tasks (Ada’s version …

Read more

The Pleasure of Finding Tricks Out

code

I’ve been thinking about what I want to do after I graduate from college (not an uncommon thought). I don’t know if I want to pursue my Masters, develop mobile software, work in high performance computing, or find a niche in something else. All of these fields are super interesting, but not one is fascinating. …

Read more

New Year’s Report

Programmer Competency Matrix

With 2012 and my final year of undergraduate studies beginning, I thought it would be a good time to gauge my programming progress this year. I’ll be rating myself using Sijin Joseph’s programmer competency matrix. Next year, I’ll look back on this post and see how and where I’ve improved.   Programmer Competency Matrix Computer …

Read more

Taxonomic Tree Visualization and Nested List Parsing

moth hypertree

I’m currently employed by WWU’s biology department to develop a web application that catalogues over 1000 moth species native to the Pacific Northwest region. With so many species, the taxonomic tree is large and not readily displayable on the web. Coming up with an intuitive user interface for navigating the tree is proving to be …

Read more

2D Multigrid & Red-Black SOR in Ada95… Part 2

multigridR

Before we begin the next part in this series, let’s review the stencil used for solving the heat equation. A single iteration over the grid involves applying this stencil (taking the NEWS (North/East/West/South average) for every index in the inner grid. Let’s see how this looks sequentially in Python. This is known as Jacobi iteration …

Read more

2D Multigrid & Red-Black SOR in Ada95… Part 1

grid.png

Grid computations are commonly used in the scientific community to model a variety of physical systems. These systems are modeled by approximating the solutions to the partial differential equations that describe the phenomena that is being studied. In this series of posts, I’ll be focusing on a solver I wrote for elliptic PDE’s like Laplace’s …

Read more

3D Fruchterman Reingold Algorithm?

Random Lobster Graph

In preparation for SC11, I began experimenting with parallelism using something other than the built in paradigms in the Ada programming language. Unfortunately, it’s not so easy to pick a programming model – popular models include OpenMP, OpenMPI, OpenCL, CUDA, Intel Cilk, and pthreads (among others!). I might do a blog post in the future …

Read more

Intel’s Parallel Resources for Students

Intel Academic Community

Over the summer of 2011, I had the chance to meet a couple of Intel employees and discuss, for the first time, Intel’s “Many Integrated Core” technology for High Performance Computing, it’s applications, and what programmer’s would have to do to take advantage of the new hardware. Not only that, I got to hold one …

Read more