About Me
I am a Chemical Engineer by degree (Purdue 2010) and experience and have a passion for programming. In the engineering environment, I program to solve problems, automate common tasks, and visualize and analyze data. Beyond engineering, I program to solve problems, try new technologies, and scratch an intellectual itch.
skills / experience
I have been involved in programming since I was 14. Back then (ca. 2002), I was using yahoo! over 28k dialup to answer questions like: "how to make an .exe?"
. These queries went nowhere so I hit the library to find a book on the topic. I started with a book on Java. When I went back to get another one, I mistakenly grabbed a book on JavaScript, not knowing there was a difference. Since then, I’ve enjoyed both web and desktop development!
I have dabbled in most popular languages and list them here by experience level. For specific projects, check out the projects page for a more descriptive listing of what was created. Most of the code for is over on GitHub if I still have it.
know and use(d) regularly
This list includes anything I could sit down with today and start typing. I am currently (or previously was) working with these technologies on a regular basis. I am reasonably able to answer Stack Overflow questions on these topics.
- C#
- C# is a solid choice in the corporate group policy world because it exists and runs on nearly every Windows computer.
- Experience with WinForms and WPF on desktop and ASP.NET for the web
- Excel / VBA
- Excel essential for a practicing engineer. I use it daily for calculations and VBA for automation.
- I have developed some serious spreadsheets and add-ins and have also trained others in a formal setting.
- PHP
- PHP used to be my go to for web development but now is avoided like the plague. It’s a shame jQuery copied the
$
because it was such a drag typing that all the time. - runnDAILY was built from scratch with PHP on the backend. This included building an MVC framework and templating engine.
- PHP used to be my go to for web development but now is avoided like the plague. It’s a shame jQuery copied the
- JavaScript / CSS / HTML
- The front end web stack is where I have the most fun lately, mostly using d3 for data visualization.
- When building runnDAILY, got to know the Google Maps library and JQuery.
- Python
- Used Python at Purdue for physics classes and side projects. Looking for a good project to tackle here.
- R
- Have been using R for Kaggle contests to do analysis and visualization (ggplot2).
- SQL
- Used MySQL when working with PHP and SQLite for C# and Java projects where a single file DB is plenty.
- Interacted with Oracle databases as well for pulling quality data at the plant.
- Version control
- Use Git locally and GitHub, previously ran a Subversion server for runnDAILY and other projects.
have used
This list includes those technologies that I did more than nothing but less than a lot. With a reference book and 30 Stack Overflow tabs, I could type, erase, curse, retype and ultimately put together decent code.
-
- Built a Spring RTS AI for Balanced Annihilation using Java.
- Way back I learned Java by making a program that calculated molecular weights of compounds.
- C
- Everyone uses C at some point, right? I used it at Purdue for a couple of classes.
- Fortran
- Who uses Fortran anymore? Also used at Purdue because… it handles complex numbers natively?
- Matlab
- Matlab was the environment of choice for serious analysis at Purdue. Used it for graphics and dynamic simulations of systems.
have seen
This final list includes technologies that I have seen and possibly read some code. I include it to shamelessly pad the list a little and make explicit (by omission) all those technologies that I have never dealt with (F# anyone?).
- LISP, Ruby, PERL, C++, VB.NET