"What we think, we become." - Buddha quote provided by QuotesDaddy.com

Fading PNGs in Internet Explorer 7 and 8

One issue I recently came across was the desire to use PNGs as the background of a tooltip, and to fade the tooltip in and out of view (you can see the functionality here by hovering over 'details' or clicking on 'buy now'). In case you haven't tried this before - IE7 and IE8 generally do not react well to fading PNGs, putting a black background under the portions of the PNG which have alpha transparency - and generally making the element look less than ideal. Luckily, there is a fairly easy workaround for this situation as long as you are not trying to do too much with the pngs. It will even fix pngs in IE6 for you too (in fact, that is the real purpose of the script). That workaround is the jQuery ifixpng2 plugin, written by ...

Setting Up a Local Code Igniter Dev Environment (OSX)

I'm planning to write a tutorial on using jquery and Code Igniter to create some ajaxy / jsonp goodness. In the process, I downloaded the latest version of CI and began setting it up - when I realized the setup may be helpful to describe. While this tutorial is geared towards Mac users, most of the steps should be similar for Windows users.

Step 1

Download and Install MAMP

MAMP is the OSX version of the one-click Apache-MySQL-PHP install.  If you're on a PC, you want to try out XAMPP instead (XAMPP also comes in an OSX flavor, but I haven't personally tried it).  In any case, you'll want to download one of these two programs and follow the instru...

A Quick Code Igniter and JQuery Ajax Tutorial

this is a re-post of an August, 2007 article from my old site. It's still generating a lot of traffic, so I didn't want all of the users who may be looking for it to lose access.
This tutorial assumes a basic working knowledge of Code Igniter. If you have never used CI before, please refer to the framework documentation In the old days (2 years ago), working the Javascript magic to create a cool AJAX based event took a fairly decent working knowledge of the mechanisms behind the process. With the increasing popularity of Javascript libraries however, this type of functionality became available to the web site hobbyist, and was made much easier for the web site profess...

Optimizing This Site, Part II: Use a CDN

The second recommendation yahoo makes is to use a CDN - or Content Delivery Network. The idea of a CDN is to take the uploaded files, and distribute them to servers around the world, so when a file is requested it is served from the nearest/lowest latency server. The secondary benefit is that this also offloads some of the processing power from your server, to an entire network of servers - whose whole purpose is to serve your files as quickly as possible. Since these are merely file servers and nothing more, generally only static content is suitable to be put onto a CDN - things like javascripts, stylesheets, and images. Initially, I was planning to use Amazon's Cloudfront CDN, because it is very low cost and has Amazon backing it. However, during my research I discovered that Cloud...

Optimizing This Site, Part I: Reducing HTTP requests

According to YSlow, I received an F for the number of http requests made by my homepage. This page currently has 23 http requests, including 12 javascript files and 5 css files. This is way too many, and we need to bring this number down. Here is a link to what Yahoo has to say about reducing HTTP requests. I'll list my updates in the same order.
  1. Combined Files

    It makes sense that the first thing I should do is combine those javascript and css files. I certainly don't need 17 when 2 or 3 will do just fine. So, what I'm going to do is take all of my separate javascript files, open them up, and copy and paste the code into one large file. Yes, this makes editing a little more time ...

Optimizing This Site, Prelude

As I was redesigning this site, and preparing to redirect my domain to it - I decided that I would hold off on performing the optimization that is important to every website. Instead, I thought I would create a series of posts about the process - step by step so we can all witness how the site improves which each optimization performed. I'm going to try to go in the order presented by Yahoo and their YSlow firefox plugin, in order to present actual numbers related to the changes.

Currently, the site is totally unoptimized. I haven't removed redundant or unused styles from the CSS. The javascript isn't minified, its in the header, and each plugin is a ...

The New mrforbes.com

So, you may not even know what the OLD mrforbes.com was. It was the last iteration of my online persona presentation website and blog, which actually had one post on it about using code ignitor and and jquery to make ajax things happen which garnered a little bit of traffic. Alas, something happened to the server I was hosted on, and Google branded my site a malware site. Now with new hosting and a new approach, I am re-introducing myself so to speak. All of my previous posts (there were only 4) have been washed away, and I'm starting clean. Not to worry about that code ignitor/jquery/ajax post - numerous comments suggested it didn't work. It may not have, I didn't test it when I posted it, because I never actually thought anyone would read it anyhow. I promise to be more dilige...

jQuery Plugin: Omnitip

I ended up developing the omnitip jquery plugin because I needed something a little more robust than any of the other jquery based tooltips that I was able to find. There may or may not have been one that would have met my needs and I just didn't see it, but regardless I believe I benefited from the experience of building a jquery plugin, and hopefully you will benefit as well.

About Omnitip

Omnitip is a tooltip plugin (you can see it at work on the homepage). What I THINK I have added to other tooltips in terms of functionality is:

  1. The ability to maintain the tooltip while hovering over it - thereby allowing things like links and forms to be loaded inside the tip
  2. Ability to send included forms through ajax components and lo...