Anthony McLin

JQuery lockScroll 1.2.1

I was browsing around, doing some css research, and I stumbled across a really cool effect at When you scroll down the page, the menu and logo stay fixed. Not a big deal, but the metadata for comments pokes out of the main column and risks overlapping the menu. Watch what happens when the comments section and the menu intersect.


Read on to see how I duplicated and enhanced this effect.

Updating XCode and MacPorts for OSX Lion


So, you've upgraded from Snow Leopard to Lion, and you're ready to jump back into development. Watch out! MacPorts and XCode need to be updated! Apple doesn't include XCode in the system updates, so you have to do it manually. If you installed XCode on Snow Leopard, you're probably running XCode 3 (unless of course you bought XCode 4). The latest that ships for Lion is 4.1 and is free. Here's how to upgrade your development environment:

How to Migrate from SVN to Git on OSX

As I'm moving from Snow Leopard to Lion, I'm also in the process of updating my development environment, including MAMP, SVN, Eclipse, and more. I've decided to switch my versioning control from SVN to Git, mainly because Git is easier to work with, especially when it comes to merging, and I've had a lot of messy problems when working with SVN. Read more to see how easy it is to migrate.


Screencast: Run the ARE Practice Exams on your Mac

In this screencast, I show you how to install and run the ARE Practice Exam software on your Mac in under 20 minutes. No extra software to buy. No old copies of Windows to dig up. No need to run Windows at all.

The ARE practice software only works on 32 bit versions of Windows Vista or earlier. NCARB has not updated the software in years, and seems to show no interest on helping people practice on modern computers. But you don't have a PC, or your PC is too new to run the old versions of Windows. What to do?

Run it on your Mac!

There's a few ways of running the software on your Mac

  1. Bootcamp - Lets you reboot your computer between your Windows and Mac desktops. Requires a legitimate copy of Windows XP or Vista which are no longer available for sale.
  2. Parallels - Lets you run a Windows and Mac desktop simultatenously. $70 and requires a legitimate copy of Windows XP or Vista which are no longer available for sale.
  3. A completely free solution using Wine. This screencast shows you how.

In this screencast I show you how to install XCode, X11 and WineBottler, and then how to package up the ARE Practice exam software so it will run on your Mac.

What you need:

Follow the screencast and soon you too can practice for your exams!

Note for Lion and Snow Lion Users - X11 is already installed on your computer, and you can download XCode through the Mac App Store

Magento Custom Shipping Part 2: Order Handling Fees

So now that we've built the basic framework for a custom shipping module in Magento Custom Shipping Part 1, its now time to move on to the special business logic that my client needs.

My client isn't shipping the usual pre-packaged electronics and other consumer goods you usually find online. Instead, they ship a product priced in standard units of volume. And since shipping is by semi truck, there's a maximum and minimum quantity that can be shipped.

Setting the Maximum and Minimum are fairly easy using the built-in Cart and Product tools from Magento. But now we need to calculate shipping costs. My client's shipping is calculated using this simple formula:

Quantity of Material x Handling Fee (per unit) + Delivery Charge (per region)

The first part of this, the handling fee, is pretty easy. Read More to see how we add the handling charges to our module

Magento Custom Shipping Part 1: Build a Custom Shipping Module

I am developing an ecommerce site in Magento, when I ran into a wall with the built-in shipping system. To be fair, Magento's shipping is incredibly robust, with a lot of add-on plugins to provide any missing requirements. However, like many small businesses, my client has some very unique needs and business logic, which means there is no off-the-shelf solution for their particular scenario. In this case, they needed a custom shipping solution. The product is delivered in bulk by semi truck, and different local delivery areas have different pricing structures. Naturally, hooking into Fedex or UPS shipping systems would not fit the bill.

Read on for a tutorial on how to build a custom shipping module.

Hosting Drupal on MediaTemple's Grid Service

In this, my first screencast, I perform a basic speedtest of a Drupal 7 site on MediaTemple and BlueHost.

Over the years I've been very happy with my hosting provider, MediaTemple. They have some unique product offerings, their documentation is extensive, and their support teams are incredibly helpful. Not only that, but I live just a few short miles from their offices and datacenter, and I love to suppport local businesses.

However, Drupal has some specific needs when it comes to MySQL support, where it appears MediaTemple's Grid Service shared hosting plan is just not up to snuff. This screencast shows the results of my speedtest comparisons as I access the exact same Drupal 7 site installed on both MediaTemple and BlueHost.

On-Demand Image Loading with JQuery

Q: How do you load up a bunch of images in a slideshow without causing long page load times?

A: Load the images on-demand. Here's an example of how to load images on demand when using JQuery Cycle to run a slideshow.

MooTools 1.2 is finally in Joomla!

I'm happy to say that my previous post about using a modern version of MooTools in Joomla no longer applies. With the latest update to Joomla (1.5.20) a new plugin was added, providing MooTools 1.2.4, with backwards compatibility for Joomla extensions that relied on MooTools 1.1. This update came just in time for me as I was updating a client's site from Joomla 1.0 and had a lot of Javascript to rewrite with new dependencies and conflicts to avoid.

For upgrade installs, this plugin is not enabled by default.

Custom User Login Block on Drupal 6 Zen sub-themes

I was trying to override the login block displayed on one of my Drupal sites and I kept running into a lot of trouble. No matter what functions I tried overriding in my template.php, nothing was displaying. All the tutorials I could find online didn't take into consideration the specifics of using a Zen subtheme. Hopefully my guide here will avoid this problem.