Projects

HP Superdome 2

While at Hewlett-Packard, I’ve worked on firmware for HP’s next generation Superdome 2 platform.  Primarily I’ve worked on the firmware update feature, but I’ve also worked a little on the GUI and console.

Web Sites

I’ve built a number of website over the years. Those which I currently maintain include:

Previously, I have worked on:

  • A web site for my high school, in raw HTML and flash.
  • The website for the BYU Department of Chemistry and Biochemistry, using a content management system that I wrote from scratch using PHP, MySQL, and LDAP.
  • The website for the BYU College of Physical and Mathematical Sciences, using a wiki system that I wrote from scratch.
  • The website for the BYU Cancer Research Center, using Plone
  • The website for the Rex Lee Run, which included an online registration and payment system.  I wrote this website using PHP and it has collected registrations for many thousands of runners and many tens of thousands of dollars.
  • A web application to work as a library-like checkout system, written in PHP and Javascript.

HamRadioClub.net

I bought the domain, HamRadioClub.net hoping to help ham radio clubs to better manage their own websites.

Google Docs Uploader Apps

I have written two different applications to upload documents and files to Google Docs.  Combined, they have had over 18,000 downloads and are both open source.  Both applications are published as GDocsUploader.  Both work similarly, and allow a user to drag and drop a file’s icon onto the uploader icon for automatic uploading to Google Docs.

I first wrote a Mac OS X version, which uses a combination of Applescript, Python, and the GData APIs to deal with the user interaction and the uploading. A project called Platypus helped me to bundle the whole thing together as a distributable app.

Later I wrote a cross-platform version using Adobe Air.  The whole thing is written in Javascript/AJAX, including a basic HTTP client which interacts with Google’s servers on a socket level.

Y-Not: BYU’s DARPA Grand Challenge Car

BYU Darpa CarFor 6 months I worked on BYU’s team for the DARPA Grand Challenge, a content for a completely autonomous vehicle for urban driving.

My part of the project involved writing in C code a path tracking system that uses calculates clothoids (continuous curvature) between multiple close waypoints and then calculates the rate of change of the angle of the steering wheel.

Arduino Project

My Arduino Board
This is my Arduino compatible board that I built from a kit. I’m excited to do some low-cost embedded system programming, but I haven’t yet decided what project I should undertake.

I found a forum which shows off a bunch of various projects, maybe I’ll decide to do something similar to one of the ones presented there.

Web Site Statistics

Sample ClickgraphI’ve been working on two methods for displaying users clicks. I gather click statistics with AJAX and save the data into a database. With one method I render a screenshot of the page and overlay semi-transparent dots showing where users have click. The other method I record the id of the page element that was clicked, and later I can shade the page elements differently based on the most clicked elements.