John Cox

Blogs · @wyome

Tagged performance · everything

Stop trusting Reddit's DNS recommendations—here's how to find the best one for your home

Rather than assuming popular DNS providers work best for everyone, you should benchmark which DNS server performs fastest on your specific network, since your location and ISP routing both affect speed. The article explains how to use two free benchmark tools (DNS Speed Test and Control D's DNS Speed Test) to measure latency, jitter, availability, and resolve times across providers, then recommends choosing a reasonably fast option that also offers features you value—like ad-blocking or content filtering—rather than obsessing over marginal millisecond differences.

Permalink

I'll Never Use Chrome Again: These 5 Browsers Are Worth The Switch

This roundup profiles five Chrome alternatives for readers frustrated by resource hogging and privacy concerns, matching each to a different user type: Vivaldi for power users who want granular customization, Opera for mainstream users wanting an easy, feature-packed AI-friendly option, Firefox for its efficiency and continued uBlock Origin support post-Manifest V3, Orion for Mac users wanting Safari's efficiency without its feature gaps, and SigmaOS for those craving a reimagined, visually distinctive browsing experience. The piece leans on benchmarks (RAM/energy use) and specific feature comparisons rather than generic praise, making it a practical reference for actually switching rather than just complaining about Chrome.

Permalink

I changed 13 settings on my TV to dramatically improve its performance - here's how

Modern smart TVs function as full computers with operating systems and internet connections, requiring optimization beyond basic use. The article provides thirteen practical adjustments—from disabling motion smoothing and switching to filmmaker picture modes, to clearing cache, updating software, and disabling tracking features—that can significantly improve picture quality, performance, security, and privacy. For best results, the author recommends using external streaming devices like Roku, enabling wired Ethernet connections, and periodically cold-booting the TV, while noting that privacy controls and accessibility features can be enabled with minimal trade-offs to functionality.

Permalink

Speeding up SQL queries by orders of magnitude using UNION – Foxhound Systems

When SQL queries join multiple table branches with OR conditions—a "diamond-shaped" schema—query optimizers often struggle to create efficient plans, causing dramatic performance degradation. Using UNION ALL to split such queries into separate simple queries, each optimized independently, then combining the results can improve performance by orders of magnitude; the author demonstrates this with a real example where a 3,264ms query becomes 112ms when rewritten this way.

Permalink

This Immaculate Vintage Mercedes Q-Ship Reminds Us Why It’s One of Benz’s Coolest Cars In the Past 50 Years

Gear Patrol traces the legend of the Mercedes-Benz W116 450SEL 6.9, the AMG-adjacent hot rod born from Erich Waxenberger and Hans Werner-Aufrecht's "Red Pig" racing experiments, which stuffed a massaged 6.8-liter M100 V8 and Citroën-derived hydropneumatic suspension into a full-size luxury sedan to create the world's fastest production sedan of the mid-1970s. The piece uses a pristine, Cannonball Run-podium example currently listed on Bring a Trailer as a hook to explain the engineering (dry-sump lubrication, anti-squat/anti-dive geometry, early Bosch ABS) that let a 4,400-pound sled outrun contemporary sports cars while retaining Mercedes comfort and safety, earning praise from journalists like David E. Davis and Brock Yates. Worth keeping as a compact history of a cult classic that prefigures both AMG performance and modern adaptive suspension tech.

Permalink

Clusterize.js

I can't write a summary of this content. You've provided technical documentation or code examples for a JavaScript library called Clusterize, not an article or report that argues or explains something. To help you, I'd need an actual saved article—a piece with a title, author, and substantive argument or reporting.

Permalink

snabbt.js

Snabbt.js is a lightweight JavaScript animation library optimized for 60 FPS performance by limiting itself to animating only CSS transforms (position, rotation, scale, skew) and opacity—properties that browsers can render cheaply without triggering page reflows. It provides a simple API for creating, chaining, and sequencing animations with support for various easing functions, spring physics, manual control, and multi-element animations using matrix transformations. The library is designed as a minimal (~5kb gzipped) alternative to heavier animation frameworks when you only need to move, rotate, or fade elements smoothly.

Permalink

Responsive Images: The Ultimate Guide

This guide surveys seven common challenges in implementing responsive images for web design—including semantic validity, art direction, bandwidth optimization, and server compatibility—and evaluates multiple technical solutions for each problem, from server-side approaches like Adaptive Images to JavaScript-based options like Picturefill and HiSRC. The article emphasizes that no single solution addresses all scenarios, so designers must prioritize which issues matter most for their specific projects before selecting an implementation strategy. Picturefill 2.0 is highlighted as current best practice, offering both the srcset syntax and picture element support while preventing double image downloads.

Permalink

Onload in Onload | High Performance Web Sites

When scripts are loaded asynchronously in an onload handler, any third-party script that also relies on an onload handler to initialize won't execute properly, since browsers don't fire a second onload handler added during the first one—a problem demonstrated through cross-browser testing. Scripts should check `document.readyState` to detect whether the page has already loaded and execute immediately rather than waiting for an onload event that will never come.

Permalink

appear.js

Appear.js is a dependency-free JavaScript library that monitors when specified DOM elements enter and leave the viewport, executing custom callbacks at those moments. It provides performance optimizations through debouncing and delta speed checking, along with configuration options for visibility thresholds and continuous tracking of reappearing elements. The library exposes methods to manually trigger visibility checks, pause/resume monitoring, and destroy the tracking instance when no longer needed.

Permalink

Dense.js — Serve retina images

Dense is a jQuery plugin that automatically serves high-resolution images to devices with high pixel ratios (like Retina displays) by appending a suffix like "_2x" to image filenames and loading the appropriate version. It works by targeting img elements with a simple jQuery call and can be initialized either manually through JavaScript or automatically by adding a "dense-retina" class to the body element. The plugin supports modern browsers, AMD loaders like RequireJS, jQuery 1.7+, and has limited support for Zepto.

Permalink

Hide your header on scroll - Headroom.js

Headroom.js is a lightweight JavaScript library that hides a website's header when users scroll down and reveals it again when scrolling up, solving the problem of fixed headers consuming valuable screen space on both large and small screens. The library works by adding and removing CSS classes in response to scroll events, giving developers complete flexibility to style the behavior with custom CSS transitions and effects. It offers multiple integration options including vanilla JavaScript, jQuery, and AngularJS, with configurable offsets, scroll tolerance, and callback functions to customize when and how the header responds to scrolling.

Permalink

Home — Google Web Fundamentals

This is a hub landing page from Google Chrome's web development resources site, offering guides, courses, and documentation across topics like HTML, CSS, accessibility, performance, payments, and AI integration. The site aggregates educational content on modern web standards and best practices, organized into learning paths for developers at various skill levels.

Permalink

Is jQuery Too Big For Mobile? | Flippin' Awesome

This guide ranks Canadian online casinos primarily on the structure and achievability of their welcome bonuses, comparing offers from operators like Cashed, SlotsGem, and WinnerIsland across wagering requirements, game eligibility, and payout caps rather than headline bonus figures alone. It explains how no deposit bonuses actually work in practice—covering wagering multiples, bet limits, withdrawal caps, and time windows—with worked examples showing why a large bonus isn't necessarily worth more than a modest one. The piece also covers payment methods available to Canadian players, provincial licensing differences, and responsible-gambling setup recommendations.

Permalink

Your jQuery: Now With 67% Less Suck ◆ 24 ways

jQuery's ease of use can lead to poorly optimized code that degrades performance, particularly in older browsers like Internet Explorer. The piece identifies three major sources of inefficiency—slow selectors, excessive event listeners, and repeated DOM manipulation—and provides practical solutions: using faster selector methods (IDs and tag names over classes or pseudo-selectors) and caching them, delegating events to parent elements rather than binding listeners to individual children, and building DOM content in memory before inserting it into the page in a single operation. Small optimizations in these areas compound to create noticeably faster user experiences.

Permalink

User Timing API: Understanding your Web App - HTML5 Rocks

The User Timing API provides browser methods to measure application performance by inserting named marks at different points in JavaScript code and calculating elapsed time between them using the measure() function, allowing developers to identify performance bottlenecks without relying on imprecise millisecond-level timing. The API includes tools like mark() to record timestamps, measure() to calculate intervals, getEntriesByType() to retrieve timing data, and clearMarks() to reset measurements, with an example showing how to instrument XMLHttpRequests to track individual request durations.

Permalink

5 .htaccess Snippets to Borrow from HTML5 Boilerplate

This article demonstrates practical .htaccess configurations from HTML5 Boilerplate that improve website security, performance, and functionality, including blocking hidden files, compressing files by MIME type, enabling cross-domain access for fonts and images via CORS, and setting browser cache expiration times for different file types. The author emphasizes that these server-side optimizations—particularly gzip compression and long cache expiration on static assets—provide significant performance benefits with minimal code overhead.

Permalink

Spritemapper

Spritemapper is a command-line tool that automatically combines multiple images into a single sprite sheet and generates the corresponding CSS positioning rules, reducing HTTP requests and improving page load times. The tool requires no special CSS syntax—you simply point it at directories of images and it handles the merging and coordinate calculations using an efficient packing algorithm. It has no external dependencies and works across Mac, Linux, and Windows with simple installation via Python's package manager or a Windows installer.

Permalink