John Cox

Blogs · @wyome · Now · Shelf

Tagged tutorial · everything

Interesting

hoverIntent jQuery Plug-in

hoverIntent is a jQuery plugin that improves the standard hover method by only triggering handlers when the user's mouse slows down, rather than firing immediately upon entering an element. This prevents unwanted animations or AJAX calls from executing when users are merely passing their cursor over large target areas rather than deliberately interacting with them.

Permalink

Image CRUD for Codeigniter | WEB and DEVELOPMENT;

Image CRUD is a CodeIgniter library that simplifies multiple image uploads with automatic thumbnail generation, resizing, and reordering capabilities. It follows the same minimal-code philosophy as Grocery CRUD, allowing developers to implement complex image management functionality with just a few lines of code while handling tasks like special character renaming and relational database integration automatically.

Permalink

jQuery Transit - CSS3 animations for jQuery

This documentation page explains Transit, a jQuery plugin for CSS animations, and covers its behavior across different browsers and configurations. For older browsers that don't support CSS transitions, Transit degrades gracefully by either skipping transformation effects while maintaining standard CSS changes, or delegating to jQuery's animate() method as a fallback. The page also provides guidance on customizing animation defaults, easing functions, and working around Webkit rendering issues like flickering.

Permalink

Advanced CodeIgniter Profiling With XHProf | Nettuts+

This tutorial explains how to install Facebook's XHProf profiler on a production server and integrate it with CodeIgniter applications using hooks to monitor real-world performance. XHProf provides hierarchical function-level profiling with minimal overhead, showing wall time, CPU usage, and memory consumption, and includes features like call graphs, run comparisons, and aggregated analysis across multiple page loads. The guide covers installation from source on Ubuntu, CodeIgniter integration setup, and interpretation of profiling results to identify bottlenecks in database calls and external service requests.

Permalink

5 Lightweight jQuery Alternatives for Mobile Development | Tutorialzine

jQuery's cross-browser compatibility and size make it inefficient for mobile development, where older IE support is unnecessary and download/parsing time matters significantly. The piece surveys five lightweight alternatives—Zepto.js (8kb, jQuery-like with touch support), Snack.js (3kb, non-jQuery API), $dom (2kb, animations-included), xui.js (4kb, multi-device framework), and 140medley (0.5kb, minimal)—each optimized for mobile by using hardware-accelerated CSS animations instead of jQuery's CPU-intensive style modifications and eliminating unnecessary features.

Permalink

CSS Scroll Effects

Stroll.js is a library that demonstrates various CSS3 scroll-triggered animation effects, including grow, wave, flip, fly, helix, and papercut transformations. The collection includes both 2D effects and CSS 3D transforms, with working examples that function across modern browsers including Chrome, Safari, Firefox, and mobile platforms.

Permalink

phpmaster | Working with MySQL Events

MySQL events are time-triggered objects that execute SQL commands on a schedule, offering an alternative to cron jobs for database-specific tasks like purging old records or aggregating data. The article explains how to enable the event scheduler, create one-time or recurring events with specific start and end dates, view and modify existing events, and demonstrates a practical example of using events to automatically publish scheduled blog posts at designated times. Unlike triggers which respond to data changes, events execute based on elapsed time and cannot run external code, making them suitable only for MySQL-internal operations.

Permalink

phpmaster | Using EXPLAIN to Write Better MySQL Queries

EXPLAIN is a MySQL diagnostic tool that shows how the query optimizer executes a query, revealing crucial information through columns like join type, indexes used, and rows examined. The article walks through interpreting each EXPLAIN output column and demonstrates how adding appropriate indexes and rewriting queries—such as moving WHERE conditions inside subqueries—can dramatically reduce the number of rows scanned, often improving performance by orders of magnitude. Understanding EXPLAIN output is essential for optimizing poorly performing queries, since simply adding indexes without structuring queries to use them effectively often yields minimal gains.

Permalink

How Not To Sort By Average Rating

Most websites sort user-rated content using flawed methods that either ignore the proportion of positive ratings or fail to account for statistical uncertainty in small samples. The Wilson score confidence interval, derived from 1927 statistical theory, provides the correct approach by calculating the lower bound of a 95% confidence interval for the true positive rating proportion, effectively balancing high positive percentages with sufficient sample size so that items with many ratings don't automatically rank above items with few ratings but higher quality scores. The piece provides the mathematical formula, code implementations in multiple languages, and practical SQL examples to sort content correctly.

Permalink