Articles about


The Yin and Yang of Typing

January 19th, 2008 — Without background in programming languages or computer science in general, it's possible that typing systems are not something that have crossed your mind.

PHP 5.2 and SQL Server 2000 on Windows XP

March 14th, 2008 — Recently at work, I was tasked with finding a method to retrieve data from a third-party SQL Server 2000-based system into our own MySQL-based application.

Output Filters in Zend_View

June 4th, 2008 — A feature of Zend Framework that isn't currently very well documented is output filters.

Simplifying Zend_View_Helper_Url

July 12th, 2008 — When I first began working with `Zend_View` on a project at work, I noticed that the URL view helper was a bit of a pain to use.

Benchmarking PHP HTTP Clients

November 23rd, 2008 — One of the interesting bits of research that I've done for my book is benchmarking various mainstream PHP HTTP clients.

Building PHP-GTK with Cairo Support on Ubuntu Jaunty

April 25th, 2009 — I successfully built PHP 5.3.0RC1 with PHP-GTK including Cairo support on Ubuntu Jaunty.

Database Testing with PHPUnit and MySQL

January 4th, 2010 — I recently made a contribution to the PHPUnit project that I thought I'd take a blog post to discuss.

Splitting PHP Class Files

January 22nd, 2010 — A recent work project required me to write a PHP script to interact with a remote SOAP service. The service provider recommended using wsdl2php.

New SPL Features in PHP 5.3

May 20th, 2010 — The SPL, or Standard PHP Library, is an often overlooked extension in the PHP core.

Process Isolation in PHPUnit

August 19th, 2010 — I was recently writing a unit test for an autoloader when I came across a somewhat unintuitive behavior in PHPUnit.

Setting up EC2 for Drupal with Puppet

February 13th, 2012 — I'm working on a project that involves running Drupal on Amazon EC2. To save time in setting up future VM instances, I took the opportunity to learn puppet.

WordPress SyntaxHighlight Font Size Fix

February 13th, 2012 — To pretty up source code examples in my posts, I use the excellent SyntaxHighlighter Evolved WordPress plugin. The WordPress theme I use conflicts with it.

Sunshine PHP 2014

February 8th, 2014 — Due to uncertainties in my work schedule, I decided this year not to submit to the Sunshine PHP 2014 conference. However, it turned out I was able to attend.

Travis and Composer and virtPHP, oh my!

March 26th, 2014 — I'd heard recently about a new project recently via Twitter called virtPHP that purported to be PHP's answer to virtualenv for Python or rvm for Ruby.

Customizing Codeception Database Cleanup

May 9th, 2014 — Recently, I was looking into ways to speed up the runtime of the test suite at Blopboard...

PHPUnit + XHProf = BOOM!

October 13th, 2015 — I ran into an issue recently while trying to run PHPUnit tests in an environment using XHProf.

A Fresh Start

May 13th, 2017 — For a while, I've been considering moving to a static site generator for easier maintainability. Ultimately, I made the decision to roll my own solution...

Catching, Throwing, and Passing Exceptions

June 25th, 2017 — There's a frequent oversight I see in code I read when an exception is caught and an exception of a different class is thrown as a result.

Monolog, Rollbar, and the Case of the Missing Exception

September 15th, 2017 — A "gotcha" I ran into when trying to log an exception with Monolog, why it happened, and how I resolved it.

Serverless Forum Keyword Monitoring with PHP

April 6th, 2020 — I came across a post entitled "How To Monitor a Forum for Keywords Using Python and AWS Lambda" and thought, "How difficult would it be to do this in PHP?"

A New Start

January 14th, 2021 — Nearly four years ago, the current incarnation of this site came to be. Since then, as they're wont to do, my needs and wants have changed...

A New Look

April 29th, 2021 — If you read my last post, you know I've been on the hunt for new solutions to power my web site. I found what I was looking for.

Bringing the Feed Back

May 9th, 2021 — After I launched the new look for this blog, I noticed something interesting about my traffic.

Automating Personal Finance Monitoring, Part 1

May 14th, 2021 — Anyone who's known me a while knows that I'm not really happy with the status quo when it comes to accessibility of personal financial information.

Automating Personal Finance Monitoring, Part 2

May 30th, 2021

Obsidian Support for League CommonMark

November 28th, 2022