John Cox

Blogs · @wyome

Tagged development · everything

Painless JavaScript Using Prototype [JavaScript & DHTML Tutorials]

Dan Webb introduces Prototype, a JavaScript library that simplifies DOM scripting and underpins Rails' JavaScript helpers, offering utilities like the $ function for element selection, getElementsByClassName for class-based queries, and the newer $$ function for CSS selector syntax. The article covers Prototype's core features including helper functions for common tasks, Ruby-inspired object-oriented approaches through Class.create and Object.extend, and form handling capabilities. Webb emphasizes that while Prototype's documentation was historically sparse, the library provides practical shortcuts that make JavaScript development more convenient, particularly for developers familiar with Ruby's syntax and conventions.

Permalink

AJAX Tutorial with Prototype

This is a tutorial demonstrating a practical AJAX implementation using the Prototype JavaScript library, where a zip code input field triggers real-time server lookups to display the corresponding city and state. The example walks through the complete setup—including HTML form structure, client-side JavaScript that fires on each keystroke using Prototype's Ajax.Updater, and server-side ColdFusion code that queries a zip code database and returns formatted results or error messages. The tutorial illustrates core AJAX concepts like asynchronous requests, DOM manipulation, and error handling in a simple, accessible way suitable for beginners.

Permalink

http://www.sanisoft.com/ziploc/

phpZipLocator is a PHP class that calculates distances between zip codes and identifies all zip codes within a specified radius by querying a database of zip code geographic data. Installation requires downloading the class files, setting up a MySQL database with the provided zip code table, and configuring database credentials in a configuration file. The tool outputs distance measurements in miles and can return lists of nearby zip codes, making it useful for location-based web applications.

Permalink

activeCollab - open source project management and collaboration tool.

This is a marketing page for ActiveCollab, a project management and productivity platform designed for agencies, consultancies, and service businesses. The tool integrates task management, workload tracking, team communication, time tracking, invoicing, and reporting into a single workspace to help teams stay organized, meet deadlines, and manage profitability. The platform emphasizes ease of use, transparency, and scaling capabilities while maintaining quality standards, and serves over 50,000 teams daily.

Permalink

Project collaboration, management, and task software: Basecamp

This is Basecamp's marketing homepage pitch for their project management software. They're positioning Basecamp as a deliberately simple alternative to bloated project management tools, emphasizing that after 20+ years and nearly a million users worldwide, their longevity proves the product actually works for real teams across different industries. The appeal centers on ease of use, reliable customer service (with unusually long-tenured support staff), and impressive scale metrics, with an invitation to try it free or attend a live demo class.

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

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

PHP Bugs: #37276: problems witch $_POST array

A PHP 5.1.3 bug caused $_POST arrays with nested keys (like `masivasid[id_1]` and `masivasid[id_2]`) to be parsed incorrectly when forms were submitted with `multipart/form-data` encoding, resulting in malformed array structures where later keys would be nested under earlier ones instead of existing at the same level. The issue affected all Linux systems tested and did not occur with GET requests, breaking functionality in applications like phpMyAdmin, with users identifying the likely culprit as the `php_register_variable_ex` function in the PHP source code.

Permalink