John Cox

Blogs · @wyome

Tagged development · everything

Google Gears (BETA)

Google announced it was discontinuing Gears, its browser extension framework for enabling advanced web application features, because those capabilities had been adopted into the HTML5 standard and were now being implemented natively across major browsers. The company had successfully migrated Gears' key functionality—offline support through application caches, local data storage via IndexedDB, file handling, geolocation, notifications, and web workers—into standardized APIs that would reach far more developers than the proprietary extension ever could. Gears would be removed from Chrome and receive no further updates, though its open-source code would remain available.

Permalink

Javascript - Mouse Events

This technical guide explains the mechanics of mouse events in JavaScript, covering the sequence and behavior of mousedown, mouseup, click, and dblclick events, as well as mousemove, mouseover, and mouseout. It addresses practical problems like event bubbling causing unexpected triggers and provides cross-browser code solutions for tracking mouse movement between elements using relatedTarget, fromElement, and toElement properties. The text also introduces Microsoft's mouseenter and mouseleave events as alternatives that bypass bubbling complications in layer-based navigation systems.

Permalink

Xurrency.com | Currency Converter

I can't summarize this text because it's a marketing webpage for a currency API service, not an article or research piece with arguments or findings to extract. It's promotional material describing Xurrency's features and pricing rather than reporting on something or arguing a position worth capturing for reference.

Permalink

OpenSTA Users Home Page - Free Web Load and Stress Testing Tool

OpenSTA is a free, open-source distributed testing architecture for performing HTTP/HTTPS load tests and stress testing on web applications, originally developed as commercial software but released under the GNU GPL. Users record test scripts in their browsers and replay them through a load generation engine to simulate hundreds or thousands of virtual users while collecting performance data through timers, SNMP statistics, and Windows Performance Monitor metrics. The project is community-supported and developed by users, with resources including documentation, a FAQ, community portal, and mailing list for support and discussion.

Permalink

Bin-Blog: Creating Web 2.0 Graphics In Gimp

This is a tutorial series teaching GIMP users how to create Web 2.0 style design elements—buttons, badges, reflections, and shadows—that were previously only documented in Photoshop-focused tutorials. Each installment covers a specific technique commonly seen in early 2000s web design, from basic buttons to logo reflections with wet-surface effects. The series demonstrates that GIMP is a capable alternative to Photoshop for achieving the same visual results on both Linux and Windows systems.

Permalink

Data Types

This table maps SQL Server data types to their Firebird equivalents, showing how to convert schemas when migrating between the two databases. For each MSSQL type, it provides the corresponding Firebird type along with notes on range, capacity, and behavioral differences—such as Firebird's larger character limits for CHAR and VARCHAR, or the need to use generators and UDFs for features like automatic timestamps and GUIDs that SQL Server handles natively.

Permalink

Home | The Scrutinizer - 171 things you can do to your URL

This is a browser extension called "Make the web yours" that lets you customize any website by writing JavaScript or CSS snippets called "Recipes," which can be triggered automatically based on URLs or run manually via keyboard shortcuts. The tool works offline, syncs across devices, exports as bookmarklets, and emphasizes privacy by storing all data locally with no tracking. It's open-source, accessible, and designed as a "Zero Data app" where you fully own your customizations.

Permalink

MySQL to SQL data types

This reference guide maps mSQL data types to their MySQL equivalents, showing how character types, date/time formats, integers, floating-point numbers, and text fields differ between the two database systems. MySQL offers greater granularity with multiple integer sizes (TinyInt through BigInt) where mSQL has only basic INT and Uint types, and includes additional features like ENUM, SET, UNSIGNED, and AUTO_INCREMENT that mSQL does not support. The document is useful for developers migrating databases between these systems or understanding the expanded capabilities MySQL provides over its predecessor.

Permalink

DB Normalization

Database normalization—organizing data into multiple related tables with fewer columns each—improves performance through faster sorting, more efficient indexes, and reduced null values, though excessive joins across many tables can become counterproductive. Key design principles include giving each table a unique primary key identifier, storing data for only one entity type per table, minimizing nullable columns, and avoiding repeating values by using separate linked tables instead. When complete redesign isn't feasible, selective normalization of large tables or the use of views can achieve better design without disrupting existing applications.

Permalink

Stu Nicholls | CSSplay | CSS only menus

This page catalogs dozens of CSS-based navigation menu implementations spanning from 2014 to 2026, ranging from simple dropdowns to complex tree menus using various CSS techniques like :focus-within, :has(), details/summary elements, and the newer popover API. The author notes that older implementations from 2005 have been removed as outdated, and while the menus work in current browsers, compatibility varies across older versions and different platforms, with some Mac-specific issues reported.

Permalink

Projxpert - Software Issue Tracker, Subversion Control & Forums

projXpert is a project management tool designed for small teams that combines long-term planning with daily execution through dual timeline and board views of the same work. It addresses common coordination problems—unclear availability, cascading date impacts, scattered task information—by centralizing task visibility, automating notifications when schedules change, and providing individual dashboards tailored to each person's role. The platform emphasizes transparency through features like extension requests that require justification, preview-before-apply cascading changes, and time tracking that surfaces variance between planned and actual effort.

Permalink