Development environment

Most of my development works now were done on my Thinkpad R50e laptop running OpenSUSE 10.0. PHP on the laptop was configured to run as FastCGI process under SuEXEC mode so it's easy for me to switch between PHP4 and PHP5. Changing settings in php.ini also can take effect by `killall php` without the need to restart apache. These settings also make it almost identical to my webhost configuration, making deployment a lot easier. And speaking of deployment, I just use rsync to transfer the files from my machine to the hosting server. Since they gave me shell access, it was so convenient to manage all those things from the console. For version control, I choosed to use Subversion. Besides the laptop, there's another machine running FreeBSD which served as my local server. It provides internal DNS services (so I don't have to type all the IP address for the machine in my LAN), hosting the internal system for my office (Inventory + Patient Management) and of course serve all the media files that I have so far. So in short, these are my current tools of trade:-

  • OpenSUSE 10.0, FreeBSD 5.4-RELEASE
  • PHP 4.4.0/PHP 5.0.4 running as FastCGI under apache SuEXEC mode.
  • Apache 2.0
  • PostgreSQL 8.0.8/MySQL 4.1.13
  • Subversion 1.2.3
  • Vim 7.0
  • Python 2.4 - mostly for scripting and trying some web framework (web.py, django, colubrid).

OpenSUSE 10.0

I've been running OpenSUSE 10.0 for almost a year on this laptop and found it to be very stable. Almost all the functionalities on this laptop (Thinkpad R50e) are working well. I've been thinking of converting the FreeBSD machine to OpenSUSE 10.0 for better uniformity of my machines. The only problem is the 200GB hard drive that almost full right now, still don't have any spare drive for some backup. And for some notes, the recent version of OpenSUSE (10.1) is just a hell for me. Definitely not for production yet but I'm looking for the 10.2 release.

Drupal

In search for a web application framework, I've settled down on Drupal as a platform to develop my PHP application. Drupal is well known as a Content Management System (CMS) but after further investigation I found it to be just ideal as a web framework ! It's dispatch mechanism and Form API is a good starting point for anyone who want to develop php application without needing to bootstrap their own and you got authentication, access control and some other goodies for free. Drupal's approach of using function instead of class in their modules also feel's natural to me. IBM DevWork article series - Using open source software to design, develop and deploy a collaborative Website is a great starting point for those who want to know Drupal potential as application framework.