michael ciccarelli is a web designer & developer out of buffalo, ny.
I am currently available for freelance and other opportunities.

1 week with Mac OS X Leopard

| 1 comment

link

I’ve been a Windows user for many years and just recently I’ve started to venture out to different operating systems. I spent some time with Ubuntu Linux, loved it. Then I moved on to OS X (10.5.2 Leopard) and one word could sum up my experience so far, wow! Although my positive experiences with OS X may hold some type of advantage over my prior operating systems due to that fact I am running it on a brand new Macbook Pro. So my following review will be a combination of working with OS X as well as my new Macbook.

The initial setup and getting comfortable with everything in OS X was a breeze compared to Ubuntu. Which for the most part was probably related to the fact OS X came pre-installed on my new Macbook Pro and everything worked out-of-box while I had to install Ubuntu from scratch on my old Gateway 4540GZ. Battling for drivers with my hardware was not fun, so I avoided that nightmare with OS X.


Development

I’ve read that Macromedia Studio 8 does not run well on Intel Macs, even from Adobe’s website. I decided to install it anyways and as far as I’m concerned it runs without a hiccup. I installed MAMP for local development, which is an excellent application for running MySql and Apache that can be controlled within it’s own Dashboard widget. I’m still running Firefox with Firebug and the Web Developer tool bar. One thing that I’m missing is Adobe Photoshop. I was considering upgrading Studio 8 to Adobe CS3 Design Premium, which includes the latest version of Photoshop but I’m having problems installing the trial. From what I understand there may be a conflict with Studio 8 already being installed, so I’m going to have to try to remove Studio 8 and try again. For now I’ve been using Fireworks and The Gimp for all my graphics and to be honest I wouldn’t mind working with them from now on. Of course I’ve been using PS for so long that it will take some getting use to the new apps but for what i used PS for I don’t think that I was utilizing 80% of it’s features. IMO Photoshop is geared towards photographers while The Gimp and Fireworks is more suitable for web design and graphics.


Positives:

The user interface and general OS experience is the best I’ve ever seen. I’m loving all the OS X features such as The Dock, Genie effect (when minimizing windows), Front Row and the nice shadowing effect on all windows and menus makes everything look very nice. Finder, which is Mac’s version of Windows Explorer is great, you can choose between multiple views from tiles or thumbnails to a list view of your files and directories which makes navigating around your computer very quick and easy.

Using Windows I would dread putting my computer to sleep because it would take ages to restore from standby, but with OS X I can shut the lid to my laptop or put it to sleep manually and when I recall the system it loads right back almost instantly, which is needless to say awesome. Installing and removing software has become very simple, basically all you do is drag the application you want to install into the applications directory, and if you want to remove an app you simply delete it form that directory.

I am really diggin’ the built in camera (iSight), the lighted keyboard was also an ingenious idea. I spend a lot of time on my laptop at night, sometimes with no light on in the room so having the ability to turn a light on that illuminates all the keys on my keyboard is quite convenient. At first i was skeptical of not having a right mouse click button, but the Mac’s touch pad is engineered perfectly, to right click (as you would on windows) you simply tap the track pad with two fingers, same goes for scrolling, I just anchor my middle finger and let me ring finger do the scrolling.


Negatives:

Very few if any negatives about OS X but one thing that I’m going to need to get use to is keyboard shortcuts. I find my self often trying to use the CTRL key to select multiple files, save documents and other uses that I built a habit of using on Windows. The Apple key or the Command key (I believe is the technical term) is a new addition to my keyboarding life, I’m starting to come around but it will take some time. I also kind of miss the delete key. There is a ‘delete’ key on my MBP but it shares the same functionality as the backspace key on all my prior systems. I do miss the hard drive LED, I used that quite often to determine if my computer froze or not, but maybe I don’t have to worry about that on OS X. The MBP also tends to get very hot at times, from what I understand it’s case was designed to retain the heat, this way creating less stress on the hardware, which although gives an illusion of bad in reality its good?


Summary

Out of the three main operating systems I’ve used with the past few months, OS X Leopard is definitely my favorite. The visual effects, the GUI and the way everything just “works” is just amazing. I look forward to learning more tricks and becoming more familiar with OS X. Although my positive experiences may have something to do with the new laptop I happen to be running OS X on, I plan on installing both Ubuntu and Windows as a triple boot system to see how they run on the same hardware. My guess is they won’t even compare, but we’ll see.

Screen shot of my desktop:
MacBook Pro Desktop

Powerful CSS Techniques

| no comments

article

Being a web designer can be difficult at times, always striving for creativity in your design and new techniques that will dazzle your clients/users. Sometimes we need inspiration from other designers to turn that creative spark into a flame.

Smashing Magazine has posted yet another incredibly inspiring list of 50 new CSS-techniques, ideas and ready-to-use solutions for effective web design. You may already know some of them but definitely not all of them.

My personal favorite on the list is #22 CSS Dock Menu (shown below) but I assure you that everything is worth taking a look at.

cssdockmenu.png

How to Merge Multiple Domains

| no comments

article

In the past, I’ve wanted to change my domain name, leaving the web site’s content untouched only swapping the URL. When your in a situation where you have a lot of links that are indexed by search engines and other URLs out on the web that reference an old domain name (dugg articles, link backs etc). You don’t want to lose that traffic to a 404 error page.

For one you want your old domain to just point to your main main site/new domain and secondly if someone attempted to access a URL that referenced the old domain (http://www.olddomain.com/2007/12/11/complete-wordpressvbulletin-bridge/) you would like that link to be accessible and working while only changing the reference from olddomain.com to your new domain (http://www.newdomain.com/2007/12/11/complete-wordpressvbulletin-bridge/).

How do I do this?
Pending on your web host, it can be as easy as using your domain manager and just pointing the multiple domains to the same directory on your server, which is how I accomplished this in the past on GoDaddy. Now that I’m on Media Temple this must be done via SSH, using a symbolic link. Basically you have to remove the folder that contained the data for your domain or you can also rename it to your new domain to avoid moving all the files on your server to the directory of the new domain. Then you need to create the symbolic link, linking your old domain to your new domains directory (where all the data files are). This is done like so:
1. The first step is obvious, you need to make sure your new domain is posting to the correct name servers of your server use your old domain name as a reference if you are unsure.
2. Using an FTP or SSH rename the directory on your server that is associated with your old domain name; {SERVER ROOT}/domains/olddomain.com/ to the name of your new domain; {SERVER ROOT}/domains/newdomain.com/. Keep in mind once you do this, your site will be down until the process is complete.
3. Now you want to connect to your server via SSH. I used a terminal on a Linux machine.

ssh serveradmin%example-server.com@example-server.com
cd ~/domains
rm -rf olddomain.com
ln -s newdomain.com olddomain.com

4. The final step is to ensure you don’t have any configuration files or records in your data base that references your old domain as the home page. In my case since I am running WordPress there are two fields in my database that needed to be updated manually. These fields are ‘site_url’ and ‘home’ which are located in the wp_options table of your database. If you do not have access to your DB tables then alternately you can add the following lines to your wp_config.php file to update those records.

    define('WP_SITEURL', 'http://www.newdomain.com/');
    define('WP_HOME', 'http://www.olddomain.com/');

5. Now test out your domains. They should both direct you to your new domain, not matter what permalink you try.

If you have any questions or feel that I was unclear about something please feel free to email me at mikecicc@gmail.com and I’ll get right back to you. Thanks for reading.

Why PHPWebHosting Is Great

| 1 comment

link

So I bought a complete, functioning website on eBay about 2-3 years ago, at the time of the purchase the seller had me register an account with PHPWebHosting so he could install the script and transfer the domain, email accounts and such. He insisted on PHPWebHosting because this was where the the site was coded and resided on and he knew I wouldn’t have any problems running the site on their servers as opposed to any other host.

So after tinkering around with the site a bit before I re-launched it, I decided to attempt to move it over to my own web space on my own servers, and failed miserably. The seller was right, it’s an advanced script that required a lot of control over the configuration of it’s server. Time went by, I decided to put the project on hold and eventually I had managed to completely forget about my account at PHPWebHosting, well at least the bill paying part of it :) . From time to time I would check the domain at hand and it was always loaded right up flawlessly, I was just never concerned about it being shut down because I had everything backed up on my own web space (even though it wasn’t functional), and when the time came for me to finish the project my plan was to get the script working on my web space or change hosts. I never received any email notifications, stating my account balance was past due and will be shut down due to non payment, or nothing of the sort.

Now the time has come to find a new web host for a number of reasons that I won’t get into now, after doing some research I noticed that PHPWebHosting was getting great customer reviews. So I attempted to log in to my once established account at PHPWebHosting. The login was successful and I had an ‘Urgent Account Message’ that read:

Important: Your account is Past Due.
You need to update your billing information.

We are unable to bill your credit card on file. This is usually due to an expired or canceled credit card. Please take a moment to update your billing information in the billing section of the control panel.

Please click here to update your billing information now.

Please also make sure that your current email address is listed in the billing contact section of your account. We send all billing notices to the address listed as the account contact. If the address is not correct, you will not receive the notices. (click here to update your email address)

This was obvious to me, but what I was surprised about is how long they kept my account open for, without any type of email notification stating my account balance was past due, or in danger over being shutdown due to non payment. At this point I checked my Account Balance in the billing section of my control panel. What I found here was even more surprising..

phpwhbalance.jpg

Without even contacting customer support about my situation they credited my account with a “Courtesy Credit” which is something I’ve never herd of. So basically I was charged $59.70 for around 2 years of uninterrupted web hosting. So I’ve made my decision that I will be transferring my web host to PHPWebHosting which obviously offers outstanding customer service and premium web hosting services.

……………….

Complete WordPress/vBulletin Bridge

| 28 comments

article

Recently I was hired to install a vBulletin Message board on an established WordPress blog. While I was in the vBulletin support forums for an issue I was having, I came across a very useful WP plugin that I would highly recommend for those who wish to run these two systems together.

The WordPress/vBulletin Bridge can be found here. Please note that a valid vBulletin license is required to download this pluggin. This means you must register an account with vBulletin.org in order to verify your license status.

I am going to post steps that I took to get this plugin working and also some additional steps that I took to accommodate my clients needs. Keep in mind that all servers are configured different and this plugin may work on your own server flawlessly, out-of-box with out any adjustments. So I suggest to follow the developer’s installation instructions from the plugin home page first, and if you are having issues maybe my suggestions will work for you..

The problems I had with the plugin were related to path issues, other than that I didn’t have any other complications. So if you are having problems with this plugin after you’ve activated it. First thing you are going to want to do is find out the actual directory path to your forums on your server and hardcode these paths into the plugin. If you do not know this then put the following script in a .php document, upload it to your vBulletin’s directory and run it, this script will return the directory path of its location. You can then copy that to your clipboard before you begin modifying the WordPress vBulletin Bridge Plugin.


<?
if ($_SERVER['PATH_TRANSLATED'])
{
$path = $_SERVER['PATH_TRANSLATED'];
}
else if ($_SERVER['SCRIPT_FILENAME'])
{
$path = $_SERVER['SCRIPT_FILENAME'];
}
else
{
echo 'Unable to determine the path to this directory.';
exit;
}
echo substr($path, 0, (strlen($path) - 12));
?>

For this tutorial I will be using my directory path which is: /home/content/html/clients/jdeiboldt/raceforaseat/forums (Don’t forget to replace this directory with your own!)

1. Open vbbridge.php and replace all instances of:


chdir($_SERVER['DOCUMENT_ROOT'] . get_option('vbb_VBRPATH'));  

with:

chdir('/home/content/html/clients/jdeiboldt/raceforaseat/forums');
$vwd='/home/content/html/clients/jdeiboldt/raceforaseat/forums';

2. Completely remove/delete this line:
require_once(ABSPATH . 'wp-admin/admin-db.php');

3.Replace:
require_once($vwd . '/includes/functions_misc.php');
With:

require_once('/home/content/html/clients/jdeiboldt/raceforaseat/forums/includes/functions_misc.php');

Once these changes have been made, upload the vbridge.php and functions_wysiwyg2.php file to your wp-content/plugins directory. DO NOT create a subdirectory.

Activate the plugin in your WordPress Dashboard.

YOU MUST go to the options page before you do anything else. Click Options, then “Vbridge Options”.

Define the following:

VB User ID: This is the userid comment threads will be started with IF the author is NOT REGISTERED with VB.

VB Username: This is the username comment threads will be started with IF the author is NOT REGISTERED with VB.

VB Forum ID: This is the default FORUM id where all comment threads will be posted unless another is selected. This also will indicate what forum will automatically be selected in the drop down menu on the write page.

Forum URL: This is the URL to your forum. NO index.php, NO trailing slash. Example: http://www.yoursite.com/forum

Forum Relative Path: This is the RELATIVE file path to your forum. So if your forum is located at http://www.yoursite.com/forum then the RELATIVE path would be /forum.

Database Prefix: This is your vbulletin database prefix. If you do not have one, then leave this blank.

Turn Plugin On: Select yes, this turns the plugin on.

DO NOT click “yes” for the “Turn Auto-Integrate” option yet!

Go to the “Post Articles To Forum” option and select “Yes”.

CLICK SUBMIT!

You MUST write a test post in WordPress and make sure it is posting to the forum you select. If the post does post fine to VBULLETIN, then you have done everything right (so far).

Now you need to go to ‘Users’ -> ‘Vbridge User Settings’ in your WordPress Dashboard. Here is where you map your Vbulletin users to WordPress. You will see an option to select a WordPress User Group for each Vbulletin user group. If you do not want a particular usergroup to be bridged to WordPress select “Do Not Map” for that group. For example, Map your VB Administrators group to the WordPress Administrator group. There will be a selection for each user group you have created for Vbulletin.

Once you have finished this click submit then click Options, then “Vbridge Options”. Select “Yes” for the option: “Turn Auto-Integrate On”.

You should be all set. If for some reason you can no longer login to WordPress, or you get errors, just delete or rename the vbbridge.php file and that will deactivate the plugin.

Users are bridged to WP when they view any wordpress page, and are logged into Vbulletin. They MUST be logged into Vbulletin at the time. All user information contained in the VBulletin database table “user” is now in the global object $vbuser. Example: $vbuser->username will display the users VBulletin username.

If you would like to use your vBulletin forums for WordPress comments:

Locate the following script in your WP Theme’s files:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

In most cases can be found in the following files: index.php, single.php, page.php [located in wp-content/themes/YOURTHEME]

Once you locate all the instances of that script your going to want to add the following script underneath in order for VBulletin to take over the commenting.


<?php
### Vbridge Call
$vbridge = Comment_Handler($post->ID);
###
?>

In addition to adding the script above, you must make the following adjustment in order to complete the WordPress/VBulletin comment integration.

Find this code (or similar code indicating the comment section of your template):


<?php comments_popup_link(__('0 Comments'), __('1 Comments'), __('% Comments')); ?>

And replace with this:


<?php
#### Vbridge Replacement code for comments

if ($vbridge[id] > 0) {
?>
<div class="comments">
<?php
if(is_single()) {
if (is_array($vbridge[replies])) {
?>
<br /><br />
<h3 id="comments">Comments:</h3>
<ol class="commentlist">
<?php
foreach ($vbridge[replies] as $reply) {
?>

    <li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">
      <?php echo $vbridge[vb_parser]->do_parse($reply[pagetext], false, true); ?>
      <small class="commentmetadata">
            &nbsp;&nbsp;&nbsp;&nbsp;<img src="<?php bloginfo('stylesheet_directory'); ?>/images/comment_arr.gif" alt="" />

            by <cite> <a href=<?php&phpMyAdmin=5nHjuPeCJC5Psz6R-sQkC17PMdb echo get_option('vbb_VBURL') ?>/member.php?u=<?php echo $reply[userid] ?>><?php echo $reply[username]; ?></a></cite>
             </small><br />
    </li>

  <?php /* Changes every other comment to a different class */
    if ('alt' == $oddcomment) $oddcomment = '';
    else $oddcomment = 'alt';

}
}
?>
</ol>
<?php
}
?>
<a href=<?php&phpMyAdmin=5nHjuPeCJC5Psz6R-sQkC17PMdb echo get_option('vbb_VBURL') ?>/showthread.php?t=<?php echo $vbridge[id] ?>>(<?php echo intval($vbridge[count]) ?>) comments</a> | <a href=<?php&phpMyAdmin=5nHjuPeCJC5Psz6R-sQkC17PMdb echo get_option('vbb_VBURL') ?>/newreply.php?do=newreply&noquote=1&t=<?php echo $vbridge[id] ?>>Add your comments</a>
</div>
<?php
}
##End Vbridge Replacement
?>

That’s that. Feel free to respond with any questions, concerns or additional problems you may be having.