John Cox

Blogs · @wyome

Tagged programming · everything

jQuery Mobile: What Can It Do for You?

This 2011-era tutorial walks through jQuery Mobile 1.0 alpha, showing how markup-driven pages, Ajax page loading, transitions, touch-friendly forms, list views, theming, and tap/swipe events let a developer build mobile-style web interfaces with little or no hand-written JavaScript. It is worth keeping as a practical, code-heavy primer on the framework's early feature set, and as a snapshot of an alpha release whose dialogs and event support were still rough, which the reader's later comments about broken events and changepage problems confirm.

Permalink

3 Lightweight Alternatives to phpMyAdmin » SitePoint

This 2010 piece by Craig Buckler argues that phpMyAdmin is overkill for everyday MySQL chores like checking data, editing records, or backing up, and recommends three lightweight PHP-based alternatives instead: SQL Buddy, Adminer, and PHP Mini Admin, which range from about 10kB to 320kB. It is worth recognising because it makes a concrete case for Adminer as a single-file tool that supports several database engines, with each tool's download size and installation simplicity front and centre. The appended FAQ is generic filler added later and does not change the article's core recommendations.

Permalink

jQuery Events: Stop (Mis)Using Return False | Fuel Your Coding

Doug Neiner argues that beginners' habit of using jQuery's `return false` to cancel browser defaults is harmful, because it silently bundles preventDefault with stopPropagation and stops execution, breaking parent handlers and delegated events. He walks through the alternatives (preventDefault, stopPropagation, stopImmediatePropagation) and advises where to place the cancellation call: first line during development or for JavaScript-only features, and last line under progressive enhancement so that a script error leaves the normal link or form fallback working.

Permalink

10 Useful Frameworks To Develop HTML-Based Webapps for Touch Devices – woorkup.com

This is a 2010-era roundup of JavaScript and HTML5 frameworks for building touch-based mobile web apps, covering Titanium, Sencha Touch, PhoneGap, Rhodes, iUI, iWebkit, XUI, jQPad and others, and closing by recommending jQuery Mobile as a single codebase that would run across all major smartphone platforms. Its value lies in that snapshot of the field at the moment before jQuery Mobile shipped, with each tool's scope and target platforms laid out side by side.

Permalink

Fun (a programming language for the realtime web)

Fun is a proposed programming language designed to make building realtime web applications as simple as building static websites with PHP, by automatically handling state synchronization, event management, and DOM updates without requiring developers to write networking or event-handling code. The language uses a declarative syntax with XML support and reactive data binding—when state changes, the UI automatically updates everywhere it's referenced—eliminating the need for complex polling, manual updates, or separate client-server synchronization logic. Though largely unimplemented at the time of writing, the author describes Fun's architecture (built on PEG.js parsing, JavaScript compilation, and node.js/Redis backend infrastructure) and promises a usable version by year's end.

Permalink

Browser Storage for HTML5 Apps

This tutorial traces the history of client-side persistence, from Microsoft's IE6 userData and Flash Local Shared Objects to Google Gears, before walking through the HTML5 Web Storage API (localStorage) in detail. It covers its methods, type-coercion quirks, quota errors, and storage events, and ends with a small demo that remembers clicked boxes across page loads. Its distinctive angle is framing Web Storage as the successor to cookies and Gears, with practical caveats such as browser inconsistencies in firing storage events.

Permalink

Introduction to Corona SDK: Easy Cross-Platform Development

Corona SDK is a cross-platform development framework that allows developers to write applications once in Lua and deploy to iOS and Android devices without needing Objective-C or C++. The framework provides native performance through OpenGL hardware acceleration, access to device features like GPS and accelerometer, and a shallow learning curve due to Lua's simplicity, though it has some limitations in supporting newer native SDK features like Push Notifications and iAds. The tutorial walks through setting up Corona, choosing a Lua editor, and building a simple "Hello World" application to demonstrate the basic workflow.

Permalink

Krumo: Version 2.0 of print_r(); and var_dump();

Krumo is a PHP debugging tool that presents variable data in a readable, structured format, offering a more user-friendly alternative to standard functions like print_r() and var_dump(). It was popular among PHP developers for making code inspection clearer and more navigable, though it has since been superseded by newer tools like Kint that offer better PHP5.3+ support and active maintenance.

Permalink

In defence of SQL | Seldo.Com Blog

This piece argues that while SQL is awkwardly designed for tasks like aggregation and filtering (which weren't part of its original relational algebra purpose), it remains invaluable because it enables ad-hoc queries on data without requiring advance knowledge of all questions you'll ask. The author contends that the real insight of the NoSQL movement wasn't rejecting SQL itself, but recognizing that specialized data stores (key-value, document stores, etc.) should match specific use cases—yet recommends keeping relational databases alongside these systems for their flexibility, and predicts a common query language will eventually emerge to bridge the fragmented NoSQL ecosystem as SQL once unified relational databases.

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