I’m most comfortable on a Linux or Unix-based operating system. I use an Apple MacBook Pro as my laptop as well as a Gentoo Linux desktop/server. I’m familiar with running Windows, but not particularly familiar with programming on Windows.

I have used C, C++, Java, Python, Perl, Ruby, and various assembly languages (x86, MIPS), but I am probably best with Ruby. However, I have extensive experience with C, C++, and Java. I have done a lot of low level Linux Kernel, operating systems, and device driver design for embedded MIPS systems.

In addition to my extensive low level systems experience, I have experience developing web applications using PHP, Java, JavaScript, MySQL, and Ruby on Rails. I have become familiar with IDEs such as Eclipse and NetBeans, but I am probably still most comfortable and proficient with plain old text editors. I’m a longtime vim user, but I have come to appreciate TextMate as well.

My undergraduate degree from Purdue University is in Computer Engineering and as a result of that I tend to stick as strictly as possible to Albert Einstein’s “Everything should be made as simple as possible, but no simpler” philosophy. I am intimately familiar with several software development methodologies, including a thorough understanding of open source software.

My work as a graduate research assistant at North Carolina State has focused on computer security and privacy issues. I am a contributing member of research group. My research focuses on legal compliance in software systems through software engineering practices. I am interested in public policy issues as they relate to technology.

More specific details on my job skills can be found on my resume. You can download a PDF version of it here.