John Cox

Blogs · @wyome

Tagged tutorial · everything

Hardened-PHP Project - PHP Security

PHP's popularity makes it a major target for hackers, requiring server-side hardening to protect against exploits that aren't prevented by default installations. The article explains how to locate and edit the PHP.ini configuration file depending on your hosting type—with shared hosting having limitations but VPS/dedicated servers offering full control through the Web Host Manager—and recommends using automated patching solutions like Suhosin, which provides comprehensive protection by patching the PHP core and running continuously as an extension to defend against vulnerabilities that manual editing alone cannot address.

Permalink

Writing Efficient CSS

I cannot provide a summary of this content. What you've shared appears to be a list of trademark application descriptions rather than an article or saved piece of writing. These are legal descriptions of various products and services filed with a trademark office, not editorial or journalistic content with arguments or reportage to summarize.

Permalink

Javascript Diff Algorithm

This page presents a JavaScript implementation of Heckel's 1978 diff algorithm that compares two text strings and outputs HTML markup showing the differences between them, with deletions and additions visually distinguished. The `diffString()` function accepts two string arguments and returns marked-up content highlighting what was removed from the original and added in the new version. The code is available as a downloadable MIT-licensed library with example applications in Wikipedia visualization tools.

Permalink

Notes on suggesting link styles

This guide explains how to write CSS selectors for styling different link states (unvisited, visited, hovered, focused, and active) in a way that works correctly across browsers with varying CSS support levels. The author recommends using selectors like `:link`, `:visited`, `:link:hover`, `:visited:hover`, and `:link:active, :visited:active` rather than simpler alternatives, detailing why common approaches fail in specific browsers and why the proposed method degrades gracefully. The document includes browser-by-browser compatibility notes, recognizing quirks in Internet Explorer, Opera, and Netscape that would cause incorrect styling if other selector patterns were used.

Permalink

And all that Malarkey [CSS: Hold the front page]

The author demonstrates how to create a magazine-style multi-column news layout using only semantic HTML elements (definition lists, headings, and unordered lists) with CSS styling, avoiding the need for extra wrapper divs. The technique uses floated definition lists for featured items, smaller floated definition lists for secondary news, and floated list items for additional links, with specific CSS rules to handle layout and the IE doubled float-margin bug. The approach was tested across multiple browsers including Internet Explorer 5-6, Firefox, Opera, and Mozilla.

Permalink

Turning a list into a navigation bar | 456 Berea Street

This tutorial explains how to build a horizontal navigation bar using semantic HTML (an unordered list) and CSS, demonstrating the progression from unstyled markup through incremental styling steps. The author covers key techniques including floating elements to create inline tabs, adding padding and borders for visual separation, and using body element IDs to highlight the current page's link. While the author notes the technique is no longer used on their site, the tutorial covers practical CSS fundamentals like managing floated elements, pseudo-classes for styling link states, and achieving browser compatibility.

Permalink