By combining multiple inserts into one bulk insert statement, you can reduce the total number of statements sent to the database, speeding up combined execution…
Background Image – Stretched and Constrained Proportions
This morning, we set about finding a way to stretch a site background image with the following requirements: The background must fill the height and…
Events SEO – Marking up with CSS, HTML & Microdata
There have been improvements in the HTML specification that now allow us to better mark up our event information. The microdata specification now allows us…
Combining custom JavaScript with jQuery Mobile
If you've tried integrating your own JavaScript into a jQuery Mobile site, you might find that it executes only once, on the first page the…
PDFs / Docs in mobile browsers
Not all mobile browsers posses native support for PDF, DOC and other formats. But, by leveraging Google's Document Viewer, you're able to present these files…
jQuery Mobile – l.data(“page”) undefined
In our experiments with jQuery Mobile, specifically when applying jQuery Mobile to an existing website, we've encountered one error more than any other. That error…
Country, City, State and Other location information from IP Address
If you wish to determine a remote visitor's country, city, state, postal code and other location information, I'd personally recommend integrating with a web service…
Browser caching in 60 seconds
There are a multitude of articles out there on browser caching. If you're using Apache as your web server and want to cut to the…
Valid XHTML Strict / target attribute
$('.target-blank').each(function() { $(this).attr('target', '_blank'); }); One line of jQuery, as shown above, allows you to omit your target attribute in favor of the XHTML Strict…
Two column list – the elegant way
If you have two individual lists, instead of stacking them, you'll be able reduce scrolling by placing them side-by-side. The example below demonstrates one elegant…