Programming Experience

inter active

I first began programming using my mom's copy of Visual Basic 5, writing a few simple programs such as a four-operation calculator and a Pythagorean theorem solver. From then, it was on to making web-pages with my Anglefire and GeoCities accounts, and I was off. By the time I reached freshman year of high school, I was hooked on web design, teaching myself to use the Linux server offered to students, joining the web team, learning Perl, and setting myself up with the basics required to teach myself any language given time. I believe this is the most important skill I've picked up in my time programming: how to learn a language quickly and efficiently. This also applies to new APIs and frameworks, giving me the ability to work with a project quickly upon learning the API.

My first experience with an IDE, as mentioned, was working with my mom's copy of Visual Basic 5. However, as time has gone on, I have found the blank slate of a new file opened in Vi IMproved to be the most inspiring way for me to do most of my web development as well as most of my work with Python. The editor gives enough hints with syntax highlighting and helps out with indentation enough that I can code quickly and without intrusion. However, when working with Java and associated languages, I've found that NetBeans is a lot more helpful in terms of working with a project that may span several files in several packages and utilize several APIs.

SQL is a very powerful means for interacting with relational databases, and I've worked directly with SQL in several projects, both at work and on my own, using both MySQL and PostGreSQL. That said, in object oriented languages, it often makes sense to relate an object to each table in the database and work from there. Object Relational Mappings are a more intuitive way for programmers to work with the data they need from the database. I've used Hibernate, GORM (with Grails), and the Django ORM successfully in several projects and feel at home using mappings such as these as well as SQL. Data is the backbone for my own projects and working with structured data their reason for being.

The benefit of frameworks and toolkits is that they provide the ability to rapidly develop an application without getting in the way. I have experience with several different web frameworks that have helped me tie in my skills in various programming languages with both web and desktop development. Using frameworks allows the programmer to focus on the idea at hand rather than repeated details needed in every separate application.

Dividing up my experience with different projects into areas of expertise shows that my focus lies primarily in social networking software and data visualization software, recently. I have experience, however, working with GIS projects such as mapping out locations in the library and around campus, including wayfinding between points of interest. I also have experience working with user interface design within the browser using JavaScript and CSS in order to provide a more coherent, robust application experience.

  • Characters
    Origintally written as an exploration into working with two new concepts - a fluid layout (Golden Grid System, specifically) and a JavaScript MVC framework (Backbone.js, with Handlebars.js) - this small Django site remains, hosting descriptions and images of characters used in stories and role-playing games. An additional demo implementation is available here.
  • Badger!
    A simple identity service that allows users to create a badge to stick on their websites containing links to all their other web presences. From concept to working prototype in three days, thanks to Django.
  • Visualizations
    In order to integrate infographics and visualization into my other projects, I've been working on simple and complex visualizations of ready-to-use datasets, learning a visualization library or two in the process.
    Elliot's Martini Bar needed both a web presence and a menu makeover, so it was easy to tie one into the other while retaining features of the old menu in order to create a coherent brand.
    Ink Works Copy, Print, and Design wanted a website that was easy to edit, looked nice, and was easy to modify should the need arise.
    After our combined composition recital, Joe Hills mentioned that he would like a composition/performance portfolio website much like this one, so I worked with him from registering the domain, styling the website, and designing additional features in order to get him the site he needed.
  • [adjective][species]
    This site was designed to host explorations into the community of "furry", a group that focuses on anthropomorphic animals. It consists of a WordPress blog with customized theme, a survey web-application written in django, and a series of data visualizations based on that and other surveys written in Protovis.
    This site was originally intended to be a portfolio website strictly for music, but as time went on, it became more than that, allowing me to post my work in all of the fields I have interest.
inter active