John Cox

Blogs · @wyome

Tagged tutorial · everything

Intro to OLAP - MySQL Performance Blog

This post introduces business intelligence (BI) and OLAP (online analytical processing) tools, explaining how they analyze data to provide insights into business performance through multidimensional analysis that breaks down measures like sales totals across dimensions such as time, geography, and product. It contrasts MOLAP systems, which use specialized pre-computed data stores for speed but require lengthy processing times, with ROLAP systems like Mondrian that query relational databases structured as star schemas, trading some performance for flexibility and ease of use. The post establishes that this series will focus on open-source ROLAP tools using MySQL, covering how they generate queries and handle aggregation to improve performance on large datasets.

Permalink

CSS Media Queries & Using Available Space | CSS-Tricks

CSS media queries allow you to apply different styles based on browser dimensions and device characteristics, enabling subtle design adjustments rather than complete layout overhauls. The tutorial demonstrates how to write media query syntax both in external stylesheets and within CSS files using the @media rule, showing how to combine conditions with logical operators like "and" (required) and commas (or). A practical example shows how a sidebar email list can progressively display more information—from just links, to icons, to "Email:" labels, to full email addresses in parentheses—as the browser window widens, using CSS pseudo-elements and data attributes to change presentation without modifying HTML.

Permalink

How to create a stunning and smooth popup using jQuery | yensdesign - Tutorials, Web Design and Coding

This tutorial demonstrates how to build a modal popup window using jQuery with HTML and CSS, featuring smooth fade-in/fade-out animations, automatic centering, and multiple closure options (pressing Escape, clicking outside the popup, or clicking an X button). The example uses a status variable to track whether the popup is open or closed, and jQuery event handlers to trigger the loading, disabling, and centering functions when users interact with the page.

Permalink

Profiling MySQL Queries with phpMyAdmin: New Premium Tutorial | Nettuts+

This is a marketing page for a premium tutorial on MySQL profiling using phpMyAdmin, aimed at developers who want to optimize database queries. The instructor promises to teach practical techniques including how to use MySQL's query log, interpret EXPLAIN output, and understand JOIN operations—bridging the gap between beginners and advanced users. The tutorial is part of a broader premium membership service costing $19/month that provides access to tutorials across multiple design and development sites.

Permalink

Internet Super Hero » Blog Archive » PHP: Client side caching for all MySQL extensions

This article introduces a C-based mysqlnd plugin that adds query result caching to PHP's MySQL extensions (ext/mysql, ext/mysqli, PDO_MySQL) without modifying existing APIs, operating transparently as a middleware layer between applications and the database server. Cached results can be stored in multiple backends (memory, APC, Memcache, SQLite) with configurable TTL-based invalidation, and includes a "slam defense" mechanism to prevent database overload when popular cache entries expire simultaneously. The plugin avoids the serialization overhead of PHP-based caching solutions by intercepting and replaying raw wire data at the driver level, though it only works with buffered queries and relies on SQL comments to control which queries are cached.

Permalink

A List Apart: Articles: Taking Advantage of HTML5 and CSS3 with Modernizr

This article explains how to use Modernizr, a feature-detection JavaScript library, to build websites that gracefully support varying levels of HTML5 and CSS3 capabilities across different browsers. Rather than relying on outdated browser-sniffing techniques, Modernizr detects specific browser capabilities and adds corresponding classes to the HTML element, allowing developers to write conditional CSS rules that apply enhancements only when browsers support them. The article demonstrates practical applications including using custom fonts, CSS columns with float fallbacks, rounded corners, box shadows, and 3D animations—showing how progressive enhancement enables modern features in capable browsers while maintaining usable experiences in older ones.

Permalink

25 Essential HTML5 Tutorials and Techniques | Template Monster Blog

This is a curated collection of HTML5 tutorials and learning resources covering semantic markup, APIs like canvas and offline storage, form improvements, video implementation, and CSS3 integration for modern web development. The post presents links to various guides aimed at helping developers master HTML5 features through practical techniques, from basic layout coding to advanced topics like drag-and-drop functionality and mobile app creation. Rather than providing original analysis, it serves as a directory pointing readers toward external tutorials for understanding HTML5's major new standards and capabilities.

Permalink

HTML5 Microdata: Welcome to the Machine

HTML5's Microdata specification adds five global attributes (itemscope, itemtype, itemid, itemprop, and itemref) that embed machine-readable metadata directly into existing HTML markup, allowing search engines like Google to better understand and display contextual information about people, organizations, products, reviews, and events. The author argues that Microdata is superior to competing formats like RDFa and Microformats because it's simpler to implement while maintaining the principle that the same markup should serve both human readers and machines. Though still maturing and subject to change, Microdata enables richer search results and allows applications to automatically extract and repurpose structured data without requiring separate markup or scrapers.

Permalink

Making Your First Google Chrome Extension – Tutorialzine

This tutorial walks through building a simple Google Chrome extension that displays an RSS feed preview in a popup next to the address bar. The extension uses a manifest.json configuration file, HTML5/CSS3 for the popup interface (including webkit-specific effects like box-reflect gradients), and jQuery to fetch Tutorialzine's latest posts via Yahoo's YQL API with localStorage caching to improve performance. The guide demonstrates Chrome's developer-friendly approach to extension development, where developers can load unpacked folders directly for testing before packaging into .crx files for distribution.

Permalink

Efficiently Rendering CSS | CSS-Tricks

Browsers parse CSS selectors right-to-left, starting with the "key selector," making ID selectors fastest and universal selectors slowest; avoiding tag-qualified selectors (like `ul#nav`) and long descendant chains improves efficiency. While CSS3 selectors like `:nth-child` are more resource-intensive than simple selectors, modern computers have made CSS rendering efficiency less critical than it was a decade ago, so following best practices (unqualified IDs, avoiding deep descendant chains, leveraging CSS cascading) is sensible without being dogmatic about it. The real lesson is balancing performance optimization with semantic markup and maintainability—giving every element a unique ID for speed would be technically fast but practically ridiculous.

Permalink