About this Site.
This site is maintained with the help of Content Management System (CMS). A CMS provides the backend (admin pages) for a web site and generally allows the content to be edited easily, and new pages or images added with little or no knowledge of web programming or design. A good CMS will allow the new site admin to get up to speed quickly.
There are literally hundereds of CMS available. In fact, there are whole websites dedicated to helping you choose which CMS is right for your web project. I've tried out a lot of the PHP-based CMS. Some well-known and some not so well-known. In the early days of the web (way back in say, 2001) the PHP choices were pretty horrible. There were a handful of professionally coded applications but most of those seem to require either a VPS or dedicated server.
Things have gotten much better. PHP itself has matured and the applications written in PHP have matured right along with it. The most popular CMS are Drupal, Joomla and WordPress. I've worked with all three. Each has a number of addons available to help you expand the basic functionality and get a completely customized application.
The CMS in use here is called Concrete5. Compared to Joomla and Drupal, the admin is very simple. It doesn't take long to learn how to create new pages and begin editing them. The documentation for Concrete5 is a bit scattered so it did take me a while to figure out how to modify the site design. I haven't yet created plugins for this site but I have looked a some existing plugins and the process seems straightforward enough.
An intial installation of Concrete5 gives you a basic website with pages that can be edited. That's the foundation - the concrete. If you're somewhat adept at PHP you can begin customing it from there, and add as little or as much as you want. It doesn't yet have a big following of developers and so there are very few ready-made plugins but that should change over time.
I've been a programmer for more years than I care to mention. My first web project was a small, static site for my employer, a research group at Texas A&M University. That was in 1996. On that job I learned the basics of Perl, and CGI programming with Perl, and also began working with Linux. (I had been hired to do something else - format technical documents in MS Word for publication. I did that by processing the data first with Perl then automating Word to add formating.)
In 1997, I took my rudimentary Perl skills and got a job as an Internet Engineer. I learned a lot on that job and gained valuable experience with large databases and also CGI and database programming with Perl and C. After three years my whole work group was laid off. I became a freelance programmer and began my transition to PHP and MySQL.
I currently have a handful of long-term clients. I do mostly maintenance programming and system administration. I am always looking for additional programming or troubleshooting projects. I like learning new things. If your project uses a technology that isn't mentioned on these pages, email anyway, I might have worked with it and not mentioned it or I'm just waiting for someone else to suggest it.