Category Archives: Development Blog

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.

Review of the ChromeOS VMware Image

Review of the ChromeOS VMware Image

I was more than curious as to how Google’s upcoming operating system (aimed for Netbooks) turned out, so I took the time to set it up on VMware Workstation 7.0.  I found that Google provides its source code for both Chrome and Chrome OS under its open source name Chromium, and that some people have gone to the trouble to compile Chromium OS and provide a VMware ready image, this is how I went about my testing.

I have provided some screen shots below:

chrome-os-login chrome-os-icontab chrome-os-network chrome-os-battery

ChromeOS: Downloading the ChromeOS VMware Image

Since we here at Piranha Method are friendly and helpful, we have conveniently provided you with the ChromiumOS VMware Image for download without requiring registration.

Download: Chrome OS VMware Image now.

ChromeOS: Installing the VMDK Image

Helpful tips, if you download it:
  1. To use the vmdk file, open VMware and create a new virtual machine (choose custom).
  2. Next step choose “I will install the operating system later”, then on the Select Guest Operating System choose Other > Other, you can name this Chrome OS
  3. The CPU, memory settings are up to you, but it doesn’t take a whole lot to run Chrome OS as its mostly a browser.
  4. For the network type make sure you use bridged networking rather than NAT or else Chrome OS won’t be able to log on and get on the web.
  5. The recommended Bus Logic is fine for the next step.
  6. On the select a disk option, choose Use an existing virtual disk, this is where you will load the VMDK you downloaded and extracted.
  7. The user name and password to log in to Chrome OS / Chromium OS is your Google account (or GMail if that’s all you ever use from Google).

ChromeOS: Booting up for the first time.

The first thing you notice about Chrome OS is that its boot time puts all current operating systems to shame, you literally power up and in mere seconds your presented with a log in screen.  Now this isn’t your usual operating system log in screen, because instead of having accounts on your computer you simply have accounts with Google.

ChromeOS: Logging in

So having logged in with my Google account, I am presented with a browser, nothing more.  Chrome OS is all about getting the user onto the internet as fast as possible, in Google’s opinion that’s how the future of computers will be, everything Cloud operated meaning programs run from the web browser and data stored on servers.

ChromeOS: Using the Interface

You will notice Chrome OS has a unique tab that provides Icons to the commonly used Web 2.0 applications like Gmail, Hotmail, Yahoo! Mail, Google Calendar, Google Docs, YouTube, Hulu, Facebook, Twitter and much more with the ability to “get more”.  This interface is a tab you cannot close out like the rest, and its design is still heavily in development and subject to change. You will also find that upon logging in your Gmail account will be open in a tab, as well as a tab for Google Calendar for you to log in.

Other then that, you have your usual Chrome browser User Interface and features, as well as 2 custom dropdowns in the top right corner (since you can’t close out the browser or minimize/maximize) one of which covers your Wireless network features, and the other your battery.

Like I said in the beginning, their Chrome OS is being targeted for Netbooks and is supposed to release before years end pre-installed on new Netbooks. Since the whole idea is that everything is done on the web, that mean’s your Netbook will not require as much processing power or memory, and no real hard drive space.

ChromeOS: Final Thoughts & Conclusion

I have to say after taking the time to play with Chrome OS, I feel Google is on the right track for small hand helds and Netbooks with this sort of operating system.  Overall its just a very dumbed down Linux kernal that runs fast and does what Google wants it to do.


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.

Our Best SEO Advice

Our Best SEO Advice

We get a lot of questions about Search Engine Optimization and how to be the top of the search results for Google. Here is our usual response to clients.

Google spends a metric shit ton of money on software development to properly index billions of web pages. They have an effective system in place to filter out garbage sites and analyze content. The best SEO advice in the world is:

  1. Write clean, valid code that takes full advantage of what us nerds call semantic HTML. This means that the proper tags are used to mark up the proper text. H1 tags are very important headings, H2 tags are secondarily important, etc. TITLE tags are very important, keywords and descriptions are at the bottom of the importance list due to their overuse/misuse.
  2. Keep it simple, Google has algorithms in place to prevent overuse of keywords, just sticking words in randomly is BAD. The best thing to do is to write with keywords in mind, but also write for a human reader. Their spider analyzes sentences and word counts more than any other piece of software in history. They know the difference between spamming keywords and properly formed relevant sentences.
  3. Inbound links are golden. The link back to your site is a vote in favor of you. It should also contain keywords if possible and be on relevant sites that share similar keywords.
  4. Register your domain name for as long as possible, they know when it was registered and when it will expire. If your site is registered for 5 years, it means you are in for the long haul, not some fly-by-night spammer.

All of this can be found, direct from the horse’s mouth, here:

Charlotte NC VMware Event – Carolina VMware Users Summit 2009

Charlotte NC VMware Event – Carolina VMware Users Summit 2009

Tomorrow, Scott and I will be attending the VMware Users Summit 2009 at the Renaissance Charlotte Suites Hotel in Charlotte, NC. This is a free event, so if you’re out and about with nothing else to do, come by and join the rest of the VMware nerds. Here is some information on the VMware Summit in Charlotte: Carolina VMware User Summit (CVUS) 2009 will be even more exciting this year! The summit will feature some of the industry’s very best virtualization experts from across the globe. If you enjoyed last year’s Carolina VMware Users Summit, you will not want to miss out on Carolina VMware Users Summit 2009. These speakers and many more will be on-hand to guide us through our everyday challenges and give us a peek into what may be to come.

Read the rest of this entry

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

FireFox 3.5 – what 3.0 SHOULD have been…

FireFox 3.5 – what 3.0 SHOULD have been…
FireFox 3.5

FireFox 3.5

I have to say, open source is great, and one of the most known open source projects is FireFox.  FireFox is IE’s biggest competition, and I have to say even with IE8 finally pushing IE in the CSS/XHTML standards direction, FireFox is pushing beyond with its implementation of technologies like SVG and CSS3.  In FireFox 3.5 a lot of great new features are pushing in, including but not limited to a <video> tag, that’s right a native tag to allow adding video’s to the page in a clean method.  FireFox 3.5 is also pushing in a few more CSS3 attributes like border shadows and border images to name a few, I for one think CSS3 needs to be pushed MORE by modern browsers and the W3C, because it’s going to improve web markup 10-fold.  As far as the SVG side goes, FireFox is currently the browser pushing it the most (cough IE pick up where your lagging behind!), and for those of you who are not familiar with SVG I’ll explain.  SVG or Scalable Vector Graphic is basically what the name implies, a Vector Graphic which mean’s based on computer calculations rather then pixels like a bitmap image (jpg/png/gif), which makes it great for web design because you can have a TINY svg that grows substantially and NEVER loses quality.  What this mean’s for us Designers/Developers is that we can cut the file size of such things like logo’s and use them in many places with just 1 file, because we can set the size in the code, and not have to worry about distortion.  Now, don’t think for one second that’s all I have to say about FireFox 3.5, in fact one KEY thing about FireFox 3.5 is its faster page rendering, yes they are a tad behind Google Chrome and Webkit based browsers (Safari for windows), BUT finally FireFox is addressing the need for faster Javascript rendering, which intern also mean’s pages load hella quick compared to previous versions.  This ladies and gentlemen, is the main thing that SHOULD have been in 3.0, no offense but for once FireFox had to sit down with its pen and paper and take notes from another browser (Chrome), which isn’t a bad thing considering that was Google’s doing.  That being said, FireFox 3.5 (Currently in its final Beta stages) will definitely be a MUST upgrade for anyone, and for those of you still using IE, please… Get to using FireFox, its by far a better browser and its FREE?!

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.

Kubuntu 9.04 – Jaunty Jackalope Joy!

Kubuntu 9.04 – Jaunty Jackalope Joy!

I have been using the latest release of Kubuntu on my Sony VAIO VGN-NR110E and I am impressed with the advancements the Linux community has made. When I first got into Linux and the open source movement, KDE and Gnome were fun to tinker with, but they were not usable for daily tasks and were hard to set up. Of course, this was in the days before broadband was widespread and winmodems were the standard. Linux was definitely not ready for the desktop. Read the rest of this entry



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

“The Dude” Abides

“The Dude” Abides

It wouldn’t be a stretch for you to think that I’m referring to the one and only “Dude”, that’s right, the White Russian drinking, carpet stealing, Dude from LA. But in fact, I’m talking about one of Mikrotik’s latest releases: The Dude Network Monitoring System.

The Dude network monitor is a new application by MikroTik which can dramatically improve the way you manage your network environment. It will automatically scan all devices within specified subnets, draw and layout a map of your networks, monitor services of your devices and alert you in case some service has problems.

If you happen to be using Mikrotik routers, The Dude also features seamless integration, allowing for a more unified network management platform. Best of all, The Dude is entirely FREE, thanks Mikrotik!

Microsoft Windows 7

Microsoft Windows 7

I have had a chance to toy with Microsoft’s latest beta offering, and I must admit that I am not too impressed. I am still complaining about bugs in their current stable Vista platform. Most people are still holding off on upgrading to Vista, and many are actually downgrading to Windows XP.

Windows 7 seems to be a minor update to Vista. I have found nothing spectacular with this system. The biggest improvement is what the MS camp is touting to be a more compartmentalized system that will (Finally!) allow components like Internet Explorer to be removed. The ultimate goal being to provide a smaller footprint on custom systems, such as netbooks or Media Center PCs where Linux systems are gaining a higher market share.

Microsoft is releasing it’s stranglehold on Internet Explorer to focus on it’s Windows Live endeavor. It now seems that Microsoft is swapping focus from their desktop applications and are now focusing more on Internet SAAS. This move is obviously an attempt to compete with Google’s online applications. Windows Live is a big part of Windows 7 and Microsoft is using this to funnel users into their services.

In conclusion, Microsoft is still the same old Microsoft. Windows 7 has no new innovations and is just another avenue of income for the folks in Redmond.

OpenVZ Container Weekly Bash Backup Script: VZDUMP

OpenVZ Container Weekly Bash Backup Script: VZDUMP

This is a handy backup script that will once a week perform a vzdump operation on your HN, thus dumping an imaged copy of all of your virtual machines, then uploading them all to the FTP server of your choice using ncftpput.
Read the rest of this entry