010000110110111101101101011100000111010101110100011001010111001001110011

It is amazingly difficult to write about the role of computers in my life.  Out of all the subjects on this site, computers is where I spend the majority of my time.  It is also hard to explain my relationship to this subject because of how diverse my work on computers has been.  Below is my best attempt at laying out what it is that I actually do with computers:

History:

To go back to the beginning would be to start in 3rd grade I believe.  My oldest brother gave me an Apple IIgs, as would be expected I was pretty obsessed with it, my main achievement was learning the basics of Applesoft Basic programming on it.  When I got the computer it just had a small booklet about the language and I pretty much just figured it out from there on my own, I used to write programs to help me with my spelling by making a racing game complete with graphics, every turn you came to you had to spell a word, pretty advanced stuff I would say for that age.  Also for those that don't remember computers back then, my computer didn't have a hard drive or support to save things to the floppy disk, so each time I wanted to run one of my programs I had to type the whole thing back in.

Fast forward to 12th grade, I didn't do much with computers from the time of my Apple IIgs until I purchased my first real computer, a P3 450MHz windows 98 machine.  Not long after I got this machine I started getting interested in making websites, I had no money for software so I learned to make sites just hand coding HTML, as I got more and more advanced it lead to me wanting to learn how to do more advanced programming and that is where I started getting into PHP and other languages.

Also during 12th grade I found a local place teaching a Microsoft MCSE course, during the schoolyear and then the summer following my graduation from high school I took classes and worked towards getting my certification.  This work is what lead to my first computer job.

My Current Job:

I currently have a job as a senior developer at a really great company, I get to work with some of the top websites in the world helping them to get alternative payments such as PayPal, Amazon Checkout, Google Checkout, etc on their websites.  The work I am doing is very challenging, and it is fun getting to be on a first name basis with developers at Amazon or some of the large merchants I would with for example.

I am currently transitioning at my job to start doing application development for iPhones and the Droid phones, this will be very interesting to start digging into this aspect of development, plus I will be learning the Objective C programming language for developing on the iPhones.

My Side Business:

I have a side business doing custom development and web hosting, actually this entire site is being hosted and run out of a system I designed and developed over the course of about 5 years, the system I wrote is called I-BuildIt.  My company is called DoItSeeIt Technologies (www.doitseeit.com).

I also do a fair amount of custom programming mostly for one of the local universities I spent a couple of years working at.  After I left from working full time at that university they liked my work enough that they started having me work on the side to continue development on the projects I was working on.

Programming:

The majority of my life is spent programming, for fun, for my side business and for my full time job.  I work in three main core languages (Java, C#, PHP), but I know a handful more.  Also for the front-end side I do quite a bit of AJAX stuff, I mostly hand code everything I do.  Below are a few projects I have created, at this point in time I am not going to post the actual names or URL's of the projects I have done as I have not asked permission to share info about them specifically:

I-BuildIt - This is the product that I have built a lot of my career off from, overall I have probably lost money on this venture, but the experience gained from creating it has been a considerable help to land the jobs I have gotten.  I-BuildIt is a full content management system for websites, it was created with a very novice computer user in mind, and it allows you to have some pretty complex stuff on your site.  When I initially created this project there were not any other content management systems that allowed you to do as complex of tasks so easy, now days there are quite a few system that can do the same type of thing.  One of the biggest advantages to my system at this point is that the people that host with me can request changes to the system to help them support new things on their site, and since I wrote the system from scratch there is not much that can't be done.

Cancer Research: One of my most interesting projects I have worked on was a cancer research project I developed over the course of 2 years.  I worked with two really great cancer researchers to come up with the idea's and design of the application and then I created it.  The basic premise of the application was to have patients be given an ID when they are at their doctors office, then when they got home they could log onto a website and fill out an in depth family history, then in real-time we could determine their chances of getting different types of hereditary cancer.  At the end of the survey the patient would get a detailed report of the findings and the patients doctor would also get a copy.  The cool part of this project is that it is able to find people who have a high risk of certain types of cancer automatically, and when it finds someone who is high risk those people can start to take steps to try and mitigate the risk very early on.  Normally this kind of information would only be available if the person had gone to a genetic councilor.

Network Monitoring Tool: This was an idea of mine that I shared with my employer, and they then had me build it, unfortunately they did not allow me to complete the project to its full potential.  I am toying with the idea of rebuilding it on my own as a project I can sell much like I-BuildIt.  The basic premise of the product is to be able to monitor servers and report relevant information about them.  If they were to go offline or if say the hard drive were about to fill up notices would be sent out via email, phone txt messages, etc alerting them to the issue.  The biggest difference of my design from other commercial products was its ability to get through firewalls without needing any custom changes done, and also the fact that an agent could run on just about any device not just say windows servers.

I have many, many more projects I have worked on and am currently working on, in the future I may post more details and share code for specific projects I take on, and those will be given their own pages here on the site and of course blog articles, but for now the three projects shown above should give you an idea of the type of work I do.

Hardware:

Computer Repair:

I would be remiss to fail to mention the years I spent doing computer support, both over the phone and in person, fixing computers was how I spent the first couple years of my career.  These days I don't do much in the way of computer repair, only for a few select friends and family.  Truth be told, I have been out of it for enough years that I am not nearly as good as I used to be (And I consider that a good thing!).

Microcontrollers and electronics:

I have recently started playing with a programmable microcontroller called an "Arduino Microcontroller", not sure how to explain it other than its a small device that I can program to turn things on and off in the real world.  The main thing I have done so far with it is use it to control my Aquaponic unit in my office.  I use it to turn the electric on and off for each of the water pumps and also to turn the oscillating fan on and off.  I will be dedicating a page in the future just to my work with the Arduino and I plan to share the code I am writing for it for anyone who may want to try some similar things.

Server and Network Administration:

This was the bridge in my career between doing tech support and programming.  In my first tech job where I was just doing normal computer support I wanted to advance past that, so on my own I started setting up my own web and email servers etc, and then moved on to setting up a full network for my high school (A private christian school that had almost no computer equipment).  As a result of my work on my own and what I donated, I learned enough to be able to start taking on some basic administration work at my normal job.  I then worked my way up and was sent to a Cisco bootcamp where I got my CCNA certification.  I worked two different tech jobs doing server and network administration, mostly with Linux servers and Cisco routing equipment.  I still do a small amount of network stuff, but I try to stay away from it where I can as I don't have the time for the day to day maintenance required.

One thing that I have found that is different between me and many coworkers I have had is that I worked my way up from the bottom, so I have real life experience in all the major area's (Customer support, server support, network support, and programming), this is extremely valuable because when issues come up I am able to work with all of the groups to determine where the issue is and help to resolve them.  During the years I have spent consulting I have run into several places where there had been long standing arguments of who's fault certain issues where, when I came in I was able to resolve them very quickly because I knew enough about each topic to be able to bring the people together and fix the issues.

Fun:

I don't do much that is just for pure fun on computers these days, too much programming to do at any time I guess.  However I do enjoy playing some games like Half Life, Serious Sam, and Worms World Party.  Also there are some programming things I do that fall under the fun category (Like my work with the Arduino).