John Cox

Blogs · @wyome · Now · Shelf

Tagged development · everything

Interesting

Can Your Programming Language Do This? - Joel on Software

This essay explains how first-class functions—the ability to pass functions as arguments and create anonymous functions inline—enable powerful abstractions like map and reduce that can dramatically improve code reusability and scalability. The author traces how this capability allows optimization of common patterns (iterating through arrays, combining values) to happen once in well-written library code, then benefits all applications using those libraries, and demonstrates how this principle underlies Google's MapReduce algorithm that powers massive parallel computation across thousands of servers. Languages like JavaScript, Lisp, and modern functional programming environments support this naturally, while older languages like Java force awkward workarounds like functors, limiting the abstractions developers can discover.

Permalink

jQuery Grid Plugin

Guriddo jqGrid JavaScript version 5.9.0 introduces critical security and performance improvements by removing all eval-based code execution to enable Content Security Policy compliance, completely rewriting the virtual scroll module to support variable row heights, and rewriting state management to eliminate unsafe function parsing while maintaining backward compatibility. The release also includes numerous bug fixes and accessibility enhancements across frozen columns, pivot grids, tree grids, and form editing, plus the addition of ARIA labels and improved screen reader support throughout the interface.

Permalink

Some slight modifications to the codeigniter profiler to dynamically display session vars, and to add EXPLAIN to all queries. — Gist

This is a modified CodeIgniter profiler class that adds two key debugging features: it displays session variables in a dedicated table during profiling output, and it automatically runs MySQL EXPLAIN queries on all SELECT statements to show query execution plans with details like table access types, key usage, and row estimates.

Permalink

jStat : a JavaScript statistical library

I cannot provide a summary of this webpage content. The material appears to be a company website for a financial services firm based in Osaka that offers consulting on fundraising, factoring, M&A services, and real estate solutions. However, this is a direct company presentation rather than a saved article, report, or journalistic piece that argues or reports on a particular topic. To use this summary feature appropriately, please save an actual article or report that makes specific claims or presents information worth documenting.

Permalink

When to Use the HTML5 “section” Element

The author clarifies the HTML5 `<section>` element's proper use by consulting the specification and establishing that it represents a thematic grouping of content but should not be used for syndicated material (which requires `<article>` instead) or for styling purposes (which require `<div>`). Through a series of practical do's and don'ts, the piece demonstrates that `<section>` has limited appropriate uses—primarily for non-syndicated, thematically-related content like chapters, tabbed sections, product descriptions, or employee bios—making it one of HTML5's more confusing and perhaps unnecessary semantic elements.

Permalink

Cocoa with Love: Version control for solo Mac developers

This guide demonstrates how to set up and use Git for version control in Xcode projects on Mac, emphasizing that even solo developers benefit from version control's ability to track changes more precisely than Time Machine, review their own code, and easily test across multiple machines. The author recommends the GitX graphical interface over command-line Git, provides step-by-step setup instructions including creating a .gitignore file and initial repository commits, and explains practical workflows like cloning repositories to other computers and managing third-party code as submodules.

Permalink