John Cox

Blogs · @wyome

Tagged tutorial · everything

Mouse wheel programming in JavaScript

This guide explains how to detect and handle mouse wheel events in JavaScript across different browsers, accounting for their varying implementations—IE and Opera report wheelDelta while Firefox uses detail with inverted sign—and provides annotated code for capturing scroll direction as positive or negative delta values. The author notes that delta values typically fall between -1 and +1 but can vary with mouse sensitivity and scrolling speed, and emphasizes usability principles like keeping wheel behavior intuitive and not making it a required interaction. The code works in IE6, Firefox 1.0+, Opera 9+, and Safari, though the page itself is somewhat outdated and the author recommends modern JavaScript frameworks for new projects.

Permalink

Comparison of different SQL implementations

This page compares how different database management systems (PostgreSQL, DB2, MS SQL Server, MySQL, Oracle, and Informix) implement various SQL features and operations, showing which products follow the SQL standard and where they diverge. It covers everything from basic SELECT and INSERT syntax to data types, functions, metadata queries, and command-line operations, serving as a practical guide for developers porting SQL code between different database platforms. The author acknowledges the page is no longer actively maintained but provides extensive side-by-side feature comparisons with code examples for each DBMS's approach to standard SQL functionality.

Permalink

Library of Free Data Models

I appreciate you sharing this content, but this appears to be promotional copy for a database design educational website rather than a saved article to summarize. If you have a specific article you'd like me to summarize, please paste the actual article text and I'll be happy to write a two-to-three sentence summary explaining what it argues or reports.

Permalink

Folder tree with Drag and Drop capabilities

This page provides documentation for a JavaScript drag-and-drop folder tree widget, including download links for all necessary files (HTML, CSS, JavaScript, and PHP backend components). It explains how to configure the tree using HTML list attributes, initialize it with JavaScript, and implement features like renaming, deleting, and persisting node changes via Ajax or form submission. The script is distributed under LGPL with commercial licensing options available.

Permalink

Super Stripes

This piece describes a practical web design technique for creating reusable stripe patterns using small transparent GIF images layered over different background colors in CSS. By preparing a few basic GIF files with alternating transparent and solid pixels, designers can quickly generate varied striped backgrounds across a website by simply changing the background-color property rather than creating new images for each color variation. The author suggests using this approach to visually distinguish different sections of a website while maintaining a cohesive design theme.

Permalink

Test Smarter, Not Harder by Scott Sehlhorst - developer.*, Developer Dot Star

Exhaustive testing of complex software with millions of input combinations is economically impractical, so this article presents more efficient testing strategies based on statistical sampling and combinatorial analysis. Random sampling requires prohibitively large test suites for high quality standards, while pairwise and N-wise testing (particularly N=3) can achieve 90% code coverage with dramatically fewer tests—reducing a 2.3 million-combination scenario to just 179 tests. The article further demonstrates how applying knowledge of the application architecture—such as mapping control dependencies, grouping related inputs, and eliminating equivalent values—can reduce test suite size even further, achieving strong quality assurance within realistic budgetary constraints.

Permalink

Mirror Your Web Site With rsync

This tutorial explains how to set up automated file mirroring from a main web server to a backup server using rsync over SSH, with password-less authentication via SSH keys so the sync can run unattended via cron. The setup tunnels rsync through SSH (securing the connection and avoiding firewall configuration), uses public key authentication to eliminate password prompts, and restricts the backup server's SSH access to only execute rsync commands through a validation script on the main server.

Permalink

No Media Kings » How to Silkscreen Posters and Shirts

Shannon Gerard's tutorial walks through the complete silkscreen printing process at home, from selecting the right aluminum screen and mesh count for your surface to burning emulsion-based stencils and finally printing multiple layers of color onto fabric or paper. The guide emphasizes practical details like using a makeshift red lightbulb setup in a bathroom as a darkroom, maintaining proper exposure times, and the importance of registration techniques to align multiple color layers accurately. Each step includes specific material lists and troubleshooting tips, making it accessible for beginners while addressing common mistakes that compromise print quality.

Permalink

History Tracks - WikiHow

This guide provides step-by-step instructions for removing various types of activity history from Windows computers, including Start search history, app usage data, File Explorer searches, and browsing history across Chrome, Firefox, and Microsoft Edge. It covers both disabling future history storage through Windows settings and manually clearing existing history records from individual applications and system folders.

Permalink

A List Apart: Articles: CSS Design: Going to Print

Eric Meyer explains how to create effective print style sheets using CSS instead of maintaining separate printer-friendly versions of web documents. He walks through the specific CSS fixes applied to A List Apart, including working around a Gecko browser bug with floated elements, adjusting backgrounds and font sizes for print, styling hyperlinks to display their URLs, and extending the masthead design across the page width. The approach eliminates version skew between web and print versions while requiring only a single well-structured HTML document and media-specific CSS rules.

Permalink

Configuring Apache for Maximum Performance LG #123

This guide explains how to optimize Apache web server performance on Linux systems through compile-time and runtime configuration adjustments rather than hardware upgrades. Key recommendations include loading only necessary modules, selecting appropriate Multi-Processing Modules, disabling DNS lookups, tuning process limits (MaxClients, MinSpareServers, MaxSpareServers), enabling HTTP compression via mod_deflate, and implementing client-side caching headers. The author also advocates for a split-server architecture using a lightweight front-end Apache to serve static content and forwarding dynamic requests to a heavier back-end server, which prevents memory waste from large processes handling small static files.

Permalink