Managing Fixed Position Elements with Skrollr

The Skrollr library has a great example of "pausing" scrolling to perform animations. In reality, scrolling does not pause, it only appears to because the background is fixed in place. I followed an excellent tutorial to create the Vectorworks 2015 Launch Microsite, but ran into some trouble when adding interactivity to fixed element animations.

Advanced discounts with Drupal Commerce

I built and continue to support a Drupal Commerce site which has really complex discounts, but implementing even simple discounts can be tricky. I have found that the way that Drupal Commerce handles pricing is counter intuitive. That does not mean that it if wrong or needs to change, it just takes some getting used to. Unfortualtly, documentation is lacking. There are some good examples, but they are for very simple discounts.

Changing Character Encoding in Your PHP Application

I've been through it a couple of times now. You've got an application that is up and running, but now it needs to support Chinese. When you input Chinese (or Japanese or any language that uses a non Latin alphabet) you get weird characters in your database and on your web page. They're not Latin, they're not Chinese, what are they? They are an indication that you have a character encoding issue. Your application does not know how to encode those Chinese characters. It might be expecting all characters to be 8 bits and those Chinese characters are more.

Web Frameworks and Object Relational Mapping

I have been looking at some web frameworks to help accelerate my development and most of them use a technique called Object Relational Mapping (ORM) to map your data object models to a database. The problem is I find the implementation to create confusing code. I work in a PHP house, so I first looked at some of the big players: CodeIgniter, Yii, Symphony, CakePHP and Kohana. The more I worked with them and read about them, the more I realized that they were getting a lot of their ideas from Ruby on Rails. So I decided to check that out too.

Reuse Event Listener Functions in Actionscript 3

Sometimes, when I am writing code I find myself copying and pasting chunks of code and then changing one or two things in each chunk. That's an indication that something is wrong. You shouldn't have to do that. Recently I came across this while making a Flash application that had 3 movie clips that were similar, but not identical. Specifically, they looked a little different, but I wanted them to behave identically. Sort of like this simple Flash app:

Avoiding Jagged Edges While Resampling Graphics in Photoshop

If you, like me, work with a lot of screen captures or graphics you might have noticed that when you resize them in Photoshop they don't always look their best. They often look overly sharp or have jagged edges, especially text and line art. I ran into this problem while updating the thumbnails on my portfolio section and I decided I was going to solve it once and or all.

Adobe Captivate vs. Techsmith Camtasia

I won't keep you writing on the results. Techsmith Camtasia is the winner... for me anyway.

I researched both these technologies a few years ago for marketing software and doing training and as an Adobe fanboy, I went with Captivate. I selected Adobe Captivate not just on the Adobe name, however. I also thought the underlying technology was superior.

Techsmith Camtasia is video based where Adobe Captivate is flash animation based.

Understanding Digital Audio

I find that when I am asked about audio (usually about equipment or eq) I usually uncover a misunderstanding about the fundamentals of digital audio. Specifically sample rate, bit depth and bit rate. If you are doing amateur recordings or some simple audio for video, maybe you can get away without understanding the underlying technology, but I'm one of those people that likes to know what's going on under the hood, maybe you are too.