I've seen people on websites talking about using iPads as light for photography, and videos of people holding a panel of three iPads to illuminate a face to snap a portrait. Although the result is good, attaching several iPads to a rig can be quite complicated,...
Blog
Creating HTML Email Part 2
This week I want to get into some more details along the lines of last week's info on creating emails for varied mail clients. For starters, I got some statistics on email client popularity from CampaignMonitor.com. Here are the clients with more than 5% market share....
Creating HTML Email
When building a web page, one must always keep in mind the differences between the way browsers implement (or don't implement) web standards. When building emails, this is much, much worse. For starters, there are no specific standards regarding what should and...
PCI Compliance Tips
Everyone who accepts credit/debit card payments online needs to be familiar with and implement the Payment Card Industry Data Security Standard. This is easiest for merchants who don't directly handle any cardholder data. For example, if your store hands the shopping...
Image Scaling Tips
Recently Matcha president/creative director Chris Lo and I were hashing out a solution to a problem. We needed to create print-quality images for a client, and use those same images on their website, which we were also building. The problem is that print requires high...
Image Manipulation in PHP – GD vs IMagick
Recently I've been working with image manipulation in PHP, using GD and ImageMagick. Both libraries are very useful but they're quite different in a number of ways. I thought I'd take this opportunity to go over some of the differences and provide some suggestions on...
Web Design and SEO
A great website design is an important part of a good marketing strategy. However, it's also important to realize where the website fits within that strategy, and that it isn't the whole strategy. Even within the website itself, a great design is useless if nobody can...
QR Code Demystified – Part 6
We've covered almost everything we need to create QR Codes. The next thing we need is version information blocks. The version information blocks simply tell the reader what version the symbol is, and therefore how many modules wide and tall it is. Table 11 shows the...
QR Code Demystified – Part 5
Now that we've got the data and error correction sorted out, we're almost ready to place it in the symbol. As seen in Part 2, the data and error correction modules basically go everywhere that isn't taken up by something else. The reason we're not quite ready to place...
QR Code Demystified – Part 4
I had planned on holding off the error correction until later, but it really fits better right here. Before error correction is done, the data that we've generated must be broken down into "code words", which are just 8-bit bytes. All we have to do is take our "bit...
QR Code Demystified – Part 3
Now we'll cover how the data is encoded. There are several steps involved. First, the encoding method is chosen, then the raw data is converted to binary based on the encoding method, then the error correction algorithm is applied, and then the data is placed in the...
QR Code Demystified – Part 2
The next important thing we'll look at is the structure of a QR code. The below diagram shows names of the different sections of a QR symbol. Then I'll go over each one in more detail. Keep in mind that below if I mention one copy of something being the original and...