Category Archives: Programming

Installing JRE 1.6 on your Mac OS X Leopard (10.5.8 or later)

Installing JRE 1.6 on your Mac OS X Leopard (10.5.8 or later)

I had such a hard time finding the correct download link for the Java Runtime Environment (JRE) 1.6 for Mac OS X Leopard (10.5.8+), that I decided I would just provide it right here, or if you prefer to download it straight from the mac site.

Just a tip, if you’d like to make JRE 1.6 the default after you install it, then you will probably want to get the script discussed on this forum post:

Here is a modified version of the code to work with the 1.6 JRE instead of JDK, name the file and make sure you ‘chmod +x’ before trying to execute the script.


cd /System/Library/Frameworks/JavaVM.framework/Versions

CURJRE="`readlink Current`"
echo Current JRE version: $CURJRE

if [ "$1" == "" ]; then
echo Installed versions:

VERFOUND=`ls | grep $1 | head -n 1`

if [ "$VERFOUND" != "$1" ]; then
BASE="`basename $0`"
echo Error: Could not change JRE-- version $1 not installed!
echo Run $BASE without arguments to see a list of installed versions.
exit 127

echo You must now enter your Mac OS X password to change the JRE.
sudo ln -fhsv $1 Current

About Java for Mac OS X 10.5 Update 6
Java for Mac OS X 10.5 Update 6 delivers improved reliability, security, and compatibility for J2SE 5.0 and Java SE 6. Java for Mac OS X 10.5 Update 6 supersedes all previous updates of Java for Mac OS X 10.5.

This release updates J2SE 5.0 to 1.5.0_22, and updates Java SE 6 to 1.6.0_17.  J2SE 1.4.2 is no longer being updated to fix bugs or security issues and is therefore disabled by default in this update.  This release is only for Mac OS X 10.5.8 or later versions of Mac OS X 10.5.  This release of J2SE 5.0 supports all Intel and PowerPC-based Macs. Java SE 6 is available on 64-bit Intel-based Macs only.

For more details on this update, please visit this website.

Converting a UBB Forum to phpBB Fireboard Kunena

Converting a UBB Forum to phpBB Fireboard Kunena

Recently I was tasked with converting a UBB classic (6.7.2) forum to Kunena (1.5.6). Initially I had thought about writing my own custom code to do the conversion, but the thought of parsing the flat files that UBB uses for their forum and member data especially turned me off (besides the amount of time it would have taken).

Luckily the open source community had my back and after a lot of research I was able to find and get working several conversion scripts that I found online, these scripts with a little love will help you get out of that musty old perl-based UBB classic forum, once and for all.

The code (UBB.x_Convertor_0.1.1) that I found will work with all flavors of UBB forums, UBB.classic, UBB.threads and UBB.x, it will allow you to convert to phpBB 2.0.x, I used 2.0.23 and have included phpBB 2.0.23 for your convenience, I have also attached all of the other referenced documents for you as well.

Convert UBB Classic 6.7.2 to phpBB 2.0.x
This is where the magic of the script that I found really shines, it reads the data from the UBB forum and flawlessly converts that data into phpBB and stores it in the MySQL database that phpBB is using, previously as most of you are aware, UBB uses flat files to store the forum data, finally getting that information into a database is exciting! I have also included some other converter code originally developed by Genfect Media, which was the converter code that Graham Eames used to develop the working version (UBB.x Convertor 0.1.1) that I used.

Convert phpBB 2.0.x to phpBB 3.0.x
Once you have converted your forum to phpBB 2.0.x, you are going to need to perform an upgrade to phpBB 3.0.x. This should be fairly simple and straightforward, just follow any phpBB upgrade documentation on their website to accomplish this conversion to a 3.0.x forum, here is a copy of phpBB 3.0.6 for you to download and use.

Convert UBB phpBB 3.0.x to Kunena 1.5.6
Once the forum has been upgraded to phpBB 3.0.x, you are now ready to convert it over to Kunena 1.5.6. Now this script was originally created to convert the phpBB data to a Fireboard forum, but since Kunena was developed from Fireboard, most of the infrastructure framework is the same still and I was able to successfully convert over to Kunena.

The important thing to note is that this script may require a little hacking to make it work for your specific environment, one thing I specifically remember having to adjust were the memory settings in my php.ini. This all depends on the amount of forum data that you’re working with though, make sure to also adjust the runtime of PHP scripts, as it could also take a while to run.

During my research I also came across this other conversion code, this may be helpful to you if you are having trouble with the converting the data. There is also good news if you’re wanting to go with a vBulletin solution in the long run instead of Kunena as the guys over at vBulletin have included their own conversion script for migrating directly from UBB to vBulletin.

Joomla 1.5 Bulk User Import CSV using PHP Script

Joomla 1.5 Bulk User Import CSV using PHP Script

While doing some work tonight, I came across a handy little script that is useful for importing users in bulk into Joomla using CSV files. This is very useful if your are moving user information from another content management system (CMS) into Joomla 1.5.

Read the rest of this entry

PHP Framework Comparison

PHP Framework Comparison

What is a PHP Framework?

A PHP framework is a set of functions and classes written in PHP that provides a starting point for developing web applications. Frameworks vary in directory structure, feature set, and documentation/support.

Why Use a PHP Framework?

As a PHP developer, it is frustrating to have to code projects over and over again from scratch. Many projects share common features such as mail functions, file handling, database connection, converting and translating text, and on, and on. By alleviating these common coding tasks, a good PHP framework allows a developer to focus more on custom business logic.

I am going to compare a few common PHP frameworks that I have used, feel free to add your own opinions and any frameworks I will inevitably miss.

Read the rest of this entry

Zend puts PHP on a cloud (Amazon’s).

Zend puts PHP on a cloud (Amazon’s).

Version 1.8 of the Zend Framework now allows direct access to Amazon S3 (Simple Storage Service) and Amazon Elastic Compute Cloud (Amazon EC2) . This allows for PHP developers to easily tap into the scalability advantages of distributed computing. Through Zend_Service_Amazon_S3 PHP applications built with the new Zend Framework can easily tap into scalable web resources whenever traffic spikes or if the application demands more resources than the host server can provide.

Concrete5, Content Management in the Web 3.0 World?

Concrete5, Content Management in the Web 3.0 World?

My first impression of Concrete5 is that it is a much more user-friendly and user-centered content management system than I have seen in a while. I remember having dreams of developing something like this, something more functional, something more logically integrated with the front-end GUI than the more recent systems to hit the web.

Years ago, before the days of the huge Joomla and WordPress boom, I recall looking into an enterprise grade content management system for Zestra Laboratories (before the purchase by Semprae Laboratories). The system I was interested in was built on JSP (JavaServer Pages) and had an extremely advanced GUI for the day and age, allowing you to manage the content directly from the front-end, much like Concrete5 now gives you the ability to do now free with open source PHP.

On a side note, Magnolia is also a very robust CMS with features such as Concrete5, Magnolia strives itself on being extremely simple though may lack certain features and a large community supporting it, though it is a very clean content creation and enterprise style publishing tool, the problem with Magnolia is that it just can’t keep up with what these PHP systems are capable of pulling off. But this blog post is not about the Magnolia CMS anyway, we are focusing on Concrete5, check out this video for a quickie on what Concrete5 is all about:


It seems that they have really brought together the ability for a basic blog user to be able to start beginning to create more advanced web applications directly without any developer expertise. The most impressive part of Concrete5 is the ability for you to logically understand what element it is that you are adding to the page visually, this is going to be a key part of the trend that I see web publishing following in the course of the coming years.

The only thing that I would like to see extended onto Concrete5 is the ability to create your own types of data models, data grids or other types of media and form controls. Since I haven’t spent much time in the back-end programming of Concrete5 yet, I can only assume that they have built it cleanly on an objected oriented architecture and have some form of API (Application Programming Interface) built into the application framework.

Being able to integrate something like Concrete5 with QCubed/QCodo would give the average user the ability to edit and create more advanced web applications as well as advanced database manipulation without the intervention of experienced programmers. Currently the only CMS that has been integrated into QCubed/QCodo is a module that integrates the QCubed PHP5 Framework with Drupal called QDrupal.

With the ability to extend Concrete5 with more AJAX based, user-centric tools, users will growingly have direct access to the way data is created and stored, and ultimately how web applications are born.



I have been developing applications from a PHP framework and code generation system called QCodo recently. And more recently, its community-driven branch dubbed QCubed. The QCubed platform is beneficial to me mostly because it allows object-oriented PHP code to be generated from a MySQL database structure (as well as many others) . I use PHP/MySQL almost exclusively in projects here at Piranha Method, so this is a perfect tool for me. Read the rest of this entry