The latest from the Blog

Check out the Resources in the sidebar →

Name the tool that has given you the biggest productivity gain in the last 1.5 years

Okay, one of the reasons why posting has been light on this blog is because we have been busy. My wife and I have also had our first child (well, two years ago) and to be honest, our work has become less innovative in terms of doing cool new things and more iterative, as in we have been applying a lot... Read more »

How an Internet Marketer convinces their child to go to school/day care/park

Lately I've taken to subscribing to many newsletters and the "free" programs being offered by internet marketers - think Frank Kern, Yanik Silver et al. - and people like Aaron Wall and Shoemoney and that Brian fellow over at Copyblogger. If you, like me, receive some of these emails, you may have... Read more »

Increase your pageviews! Or, creating an on-the-fly custom navigation system for new users

Lets face it, when a visitor does arrive it only follows that we should do our best to help them see the value in our website, no? Welcome new visitor, here is our feed, blah blah... Can't we do better then that? I see a lot of variations on the Welcome new visitor, here is our feed type of thing... Read more »

Pulling in 3rd party data to your website? Be sure to shield yourself from 3rd party problems.

This post comes a bit late in the whole web 2.0 cycle. I feel that it bears repeating because I have come across sites that don't follow some basic principles when pulling in 3rd party data from sites such as flickr, twitter et. al. APIs and data portability The blessing of popular and easy to... Read more »

When Bad News Follows You: SEO Redux?

I came across the article from Nicholas Carr's post Should the Net forget? This is an interesting consequence that seems to be getting pushed on SEO, rather then perhaps looking at it from the aspect of accountable reporting, no? Nicholas states that: With search engine optimization - or... Read more »

Simple Function Testing and Debugging in PHP

Firing a function from your browser The concept is as simple as firing a function from your browser, and it leans on PHP's call_user_func_array. I'm going to outline the concept as I have implemented it. This exact implementation may not work in your case, but perhaps you can adapt it to do so. if(isset($_GET['f'])... Read more »

MySQL Optimization - A Little Tip

Some simple suggestions Well I don't consider myself an expert, I do have experience with working with larger datasets and there are a couple of things that I always do to keep queries performing well. Optimize Queries with EXPLAIN Explain is your friend, get to know it well. If you take the time... Read more »

CSS, Image Sprites, Background Images and Website Optimization

This post was originally published on May 13th, 2004. As others are writing about the topic, I thought bringing it out of the archives would be worthwhile. A little recap The idea of placing multiple states of buttons and other elements that are used in background images took its roots, I believe,... Read more »

The human side of marketing, or, Capitalizing on your mistakes

The mistake I called him up to mention the error, and he explained to me that he had noticed the error and managed to stop the delivery before too much damage was done. No problem. But hours later, he called me stating that he felt really bad, and wanted to try something. The recovery His idea... Read more »

Common Sense, or Don't take my International Order and then not Provide an International Support Phone Number

Dear Company-from-another-country-that-was-happy-to-take-my-money -but-too-shortsighted-to-have-an-international-support-number, While I think it's great that you have a toll free support number for your country, I think it pretty much sucks that you don't have one for international users of your... Read more »

The latest Resource Links

How The Huffington Post uses real-time testing to write better headlines (#)

Having a good bit of traffic allows The Huffington Post to a/b test article headlines for 5 minutes in order to pick the winner with the most click-thrus. We have done this on client sites by testing copy in different content modules but the tests run for a much longer period. It would certainly be fun to be on the data side of these tests and to see what works best. Anyways, there are some good links in the article to some other a/b test cases.

SlickMap CSS (#)

Here's a cool implementation of CSS for turning hierarchical lists into easier to understand site maps.

The general idea of SlickMap CSS is to streamline the web design process by automating the illustration of sitemaps while at the same time allowing for the predevelopment of functional HTML navigation.

Custom events in jQuery open doors to complex behaviors (#)

Rebecca Murphey provides a look at using custom events in jQuery. While she doesn't really get to the why until the end of the article, the benefits are certainly something worth having in your code:

  1. Well-organized code that consolidates the behavior widgets in a few bind() statements, rather than scattering those behaviors across the elements that initiate them
  2. Added flexibility as it’s any element can initiate a behavior, or a behavior can be triggered across multiple widgets at once
  3. Use of a control element which captures a click event and translates it into an event to be triggered on the widget.
  4. Better organization of your code, abstraction and increased ability to reuse code

I'm no JavaScript wizard and I am looking forward to implementing some of this logic in the near future to consolidate some of the jQuery we use in a few client sites.

Sphinx - free open-source SQL full-text search engine (#)

This is being bookmarked for future reference. From the website:

Generally, it's a standalone search engine, meant to provide fast, size-efficient and relevant fulltext search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages. Currently built-in data sources support fetching data either via direct connection to MySQL or PostgreSQL, or using XML pipe mechanism (a pipe to indexer in special XML-based format which Sphinx recognizes).

Also see: Build a custom search engine with PHP and Implementing Search.

Evolution of a Header (#)

Garrett Dimon wrote up some details about the evolution of the header area on a couple of screens for his webapp Sifter. It provides a very nice overview of the stages of development (with sketches and images) and we get to see how the decisions were made. I find these articles a good way to bring some focus back to what they are discussing, and in this case I feel compelled to examine how I handle meta data in our CMS and on my websites like 5411.

The latest from my personal website,

SiteUptime Web Site Monitoring Service

Sitepoint's web devlopment books have helped me out on many occasions both for finding a quick solution to a problem but also to level out my knowlegde in weaker areas (JavaScript, I'm looking at you!). I am recommending the following titles from my bookshelf:

The Principles Of Successful Freelancing

I started freelancing by diving in head first and getting on with it. Many years and a lot of experience later I was still able to take away some gems from this book, and there are plenty I wish I had thought of beforehand. If you are new to freelancing and have a lot of questions (or maybe don't know what questions to ask!) do yourself a favor and at least check out the sample chapters.

The Art & Science Of JavaScript

The author line-up for this book says it all. 7 excellent developers show you how to get your JavaScript coding up to speed with 7 chapters of great theory, code and examples. Metaprogramming with JavaScript (chapter 5 from Dan Webb) really helped me iron out some things I was missing about JavaScript. That said each chapter really helped me to develop my JavaScript skills beyond simple Ajax calls and html insertion with libs like JQuery.

The PHP Anthology: 101 Essential Tips, Tricks & Hacks

Like the other books listed here, this provides a great reference for the PHP developer looking to have the right answers from the right people at their fingertips. I tend to pull this off the shelf when I need to delve into new territory and usually find a workable solution to keep development moving. This only needs to happen once and you recoup the price of the book in time saved from having to develop the solution or find the right pattern for getting the job done..