2012
-
Classy Plugins
May 15
Someone asked why I structure my WordPress plugins the way I do. Here’s a full explanation …
-
Start with a Unit Test
May 8
Before you write new code, you should always write a unit test first. It makes development so much easier!
-
Dependency Injection and Abstract Interfaces in C#
Apr 19
Abstracting interfaces in your applications makes unit testing remarkably easy. Here’s a practical example.
-
URLs and UX
Apr 5
Does it make sense for WordPress to automatically check URLs for validity before inserting them in post content?
-
Playing Nice With Others
Mar 23
My WordCamp Phoenix 2012 presentation on WordPress and APIs.
-
Free and Open
Feb 23
The GNU General Public License is the enemy of real software freedom.
-
Data versus Meaning
Feb 8
A conference speaker said that if data is the center of your world, everything else becomes easy. But a poem’s meaning often lives in its context (a classmate’s jab at Mary Oliver taught me that), and our content systems don’t store it.
2011
-
Post Supplements – A Concept
Dec 22
Is there a better way to add “things” below posts on a WordPress blog? I think so. Here’s how I would add “post supplements” to a theme …
-
WordPress Portland
Nov 28
As promised, the code from my WordPress Portland demo: a small plugin that adds a feature pointer to the admin in WordPress 3.3. Pointers are core-only for now, so keep them out of distributed plugins and themes.
-
Security Vulnerabilities
Nov 21
Someone found a potential hole in my WP Publication Archive plugin in January and posted it publicly instead of telling me. I’ve patched it — but the real problem is disclosure, and the common courtesy of contacting the author first.
-
Keeping it Realtime – Day 2
Nov 8
Live from day two of the Keeping it Realtime conference in Portland: debugging Node in the browser, everyone using Redis, frameworks still in their infancy — and a security model of ‘none.’
-
Keeping it Realtime
Nov 7
I’m at the Keeping it Realtime conference in Portland, liveblogging the real-time web the old-fashioned way: you’ll have to keep hitting F5. Notes on push notifications, panels, crawlers and context.