I decided to get back to using a proper environment for software development. What does this mean? Mostly, that I started using a fancy IDE and version control again. The advantages I get are extra features to make my development life easier and not having to worry about losing any code. Essentially, I put in some extra work up front to negate headaches down the road.
My IDE of choice is Eclipse. I went with the latest version to see how well it works. In the little bit I have used it so far, I am impressed with how far plugin installation has come since the last time I touched it. I used to keep my plugins in separate directories and link them into the application because it was the only way to keep any sort of order on installation, upgrades, and removal of the third-party software. I have used this improved functionality to install the PHP Development Tools plugin which is dependent on the Web Tools Platform. These two packages combined give me almost everything I need to do web development. I will likely add in some things for database design when one of my projects takes me that direction. The C/C++ Development Tooling plugin will almost certainly be added along with other language-based plugins over time. Some day I intend to look into some source code analyzers to discover potential security vulnerabilities in my code. The other plugin I have installed at this point is Subversive to integrate Eclipse with my version control system.
For version control, I installed Subversion (SVN) on Ellinore, my server which has a RAID 1 mirror. Not only does this make sure I have my code should a hard drive fail, but allows me to easily revert to previous versions when my radical idea to solve the world’s problems fails horribly. I have had problems integrating SVN and Eclipse before, but Subversive made it rather easy minus a complication due to licensing issues.
I am trying to separate the components of my projects as much as possible when defining SVN repositories. This will allow me to more easily integrate different versions of different components as they become ready. To accompany this focus, I dabbled with Ant some today. Ant is a build tool which makes it fairly simple to pull versions of software from various SVN repositories along with performing other necessary tasks to produce a working piece of software. I will likely be spending the rest of my night putting together a build file to allow me to recreate an entire website from a dozen SVN repositories and a couple scripts. When I get it working, I will only have to run a single command to completely rebuild a test website.
This post is intended to be a simple overview as well as an update on what I have been up to lately. If you would like more details into any particular area, let me know, and I will see what I can do.