About Me

I'm an a Artisan of code.

"Why an artisan?" you say. Because an artisan is someone who takes pride in their work and cares about the process as well as the end product. An artisanal baker or woodworker is great at what they do because they love doing it. The things they craft become part of them. Quite simply, I love programming. I care not only about making sure the product works great and ships on time, but also that the source code is easy to read, maintainable, and efficient. If you have a project you think I should be a part of, I'd love to hear about it.

My Background

I started programming when I was 12 using the Basic Stamp microcontroller. Using the Basic Stamp, I started building and automating everything I could think of. Though I had wanted to be a programmer for as long a I remember, an interest sparked by a combination of my dad (a mechanical engineer) and the movie Wargames, this is what really sealed the deal. From there on I knew what I wanted to do.

Shortly after that, as soon as I was legally able to work, I got my first programming job. A small business a few miles from home built industrial tools and had recently launched a new product line. They had developed a line of "tool-support arms," the main purpose of which was to absorb the weight and torque-reaction of assembly-line power tools to reduce stress on the operator. They wanted a way to track the position of the tool, so they could eliminate the possibility of a screw being driven too far into a part or a hole being tapped too deeply. I helped them to devise a way to track the arm's position using rotary encoders mounted to the arm's joints. Then using these as inputs, I developed a system to either shutoff or reverse the power tool when it reached a predefined depth. The system had 6 positions possible, each with individual zero points. Each of the positions were settable using a USB interface to a Windows program I developed in Python.

Later on, I modified the same system to track movement in all 3 axis (instead of just the Z axis). This information was then transmitted to a Python program using an embedded web server. The Python app then displayed the position by manipulating a 2D model of the arm onscreen.

Since those days I've done web development as a consultant for many clients. I'll always consider myself a Pythonista at heart, but I also have a lot of experience with PHP and JavaScript on both the server and the client. I'm always looking for interests projects and problems to solve. If you could use someone like me on one of your projects, I'd love to hear from you.

Stack Overflow Carreers