Browser testing just got easier, and more shiny!

It is an unfortunate fact of internet life that not all browsers are made equal. Pages viewed in Firefox may look completely different in Internet Explorer or Safari. Most developers consider this a very frustrating part of the development process, and often wish there was an easier way to test things out. Enter Adobe's BrowserLab. Given a publicly accessible URL, BrowserLab will generate full-size images that depict how a given page will appear in various browsers.
Read more →
Implementing ArrayAccess

In this installment, we will be exploring one of SPL's frequently used interfaces, the ArrayAccess interface. By implementing this interface, a class can allow its objects to be accessed as if they were arrays. This approach is particularly useful for setting up accessor methods for a class (getters and setters), though it can be used for almost any purpose. Let's dig a little deeper...
Read more →
Is Data.gov the start of a more web-savvy government?

It seems the US Government has finally decided to join the rest of us here in the 21st century. Last Thursday our friends in that other Washington launched
Data.gov which suggests a promising future for a transparent government on the web.
Read more →
The SP-whatnow?

With the advent of PHP 5.0 came a new collection of built in classes and interfaces known as the Standard PHP Library (SPL). The goal of this library is to "solve standard problems and implements some efficient data access interfaces and classes." What gives this library an edge over other third-party offerings is its tight integration into the core of the PHP language and data structures. In this series of blog posts, I will attempt to showcase some of the more useful components of this library.
Read more →
See what's new in the latest build...

WebKit, the muscle behind both Safari and Google Chrome has recently added CSS animation support to its nightly build. While a long way from being supported in any widely used browser, this does give a bit of a preview for what we can expect in the future. It's hard to say whether these new animations will be widely adopted, and if they simply become the new "blink tags" of the modern web world.
Read more →
A handy developer community launched yesterday.

Today marks the first day Stack Overflow opens its doors to the public. In case you're not in the know, Stack Overflow is essentially a Q&A site geared towards developers of all kinds. It takes a language/technology agnostic approach and simply provides a framework within which the community can ask and answer techincal questions. Think of it as ExpertsExchange.com except free and much more community driven.
Read more →
PHP now comes with a carry-on!

Today I discovered a very powerful addition to the PHP world. Phar is an archive extension for PHP that allows an entire PHP application to be packaged into a single file. It's basically PHP's answer to Java's .jar archive format. Don't get excited yet, it gets better...
Read more →
See how iPhones view your websites with iPhoney.

As mobile access to the web increases, it is becoming more and more important to ensure sites are usable on mobile devices. iPhoney attempts to address the iPhone camp with a desktop application that renders web pages within a virtual iPhone.
Read more →
Not just an endeavor in aesthetics!

Having recently discovered the plethora of coding fonts available online, it occurred to me that quite a bit of thought has been put into something I have always seen as rather trivial. The more I read about it, the more I have come to realize that using a font specifically designed for software development can be extremely beneficial.
Read more →
Say what?!

That's right, you heard me! It's all thanks to a fantastic project called
Phalanger, which adds a super-fast execution environment for a very large portion of the PHP scripting language. Certainly this was only a matter of time, combining one of the most popular open-source languages of the web with one of the most powerful enterprise-grade frameworks.
Read more →
Four hilarious programming videos!
During my morning blog-scan I came across four videos that really set my day off on the right foot. And that song! Oh that song! As much as I can't stand it, I'll be humming it all afternoon today. If you're familiar with the MVC model, then these videos were made for you.
Read more →
The Mini in a Nutshell

I recently had the opportunity to work with one of Google's latest search applances, the Mini. Having no previous experience with any of Google's search hardware, this seems an excellent opportunity to offer a newcomer's first impressions.
Read more →
Find out what's next for the high-growth company...

Seeing the time as ripe for expansion, SiteCrafting has launched a new venture in an effort to expand into prescription eyewear. SightCrafters, LLC will bring to the eyewear world what SiteCrafting has brought to the web development business.
Read more →
Mar. 31, 2008 at 11:40amGot API?
An API reference does a method's body good...

gotAPI.com is one of the most useful online resources I've come across, primarily because it places resources spread all over the internet into one simple site. I've been using this for quite some time, and have for the most part I have taken its usefulness for granted. Then it occurred to me that I might not be the only one that could find this tool useful (I know, it was a big 'DUH!' moment). So now I will share this gem with others...
Read more →
. . . but in a good way!

I stumbled upon a fantastic PHP class today and felt compelled to comment on it. Originally written by Tyler Hall, this class allows you to send notifications to any system running Growl from a PHP script. For those of you that don't know, Growl is an application written for Mac OS X that is intended to act as a universal notification tool (much like the taskbar notification bubbles we've all come to know and love in Windows XP/Vista).
Read more →
PHP's next major release is just that, major!

The evolution of PHP into an object-oriented programming language has been a very exciting process to watch. I'll admit its advancement seems to move at a glacial pace at times, but looking back we certainly have come a long way. With the release of 5.0 we saw PHP leave its childhood and enter its awkward adolescent stage. At this point there is evidence of a mature and complex object-oriented language while stilll exhibiting many of its younger habits.
So what's in store for us next? Find out after the jump . . .
Read more →
The TO Pattern

The Template Object (or TO) is a design pattern of my own that I developed to fill the role of the View layer in the MVC model. As you have probably figured out, the purpose of the TO is to handle everything related to the user interface. The idea here is to separate the interface as much as possible from the rest of the application, so that we could do a complete rewrite of an application without ever touching (or accidentally "breaking") the
view portion.
Read more →
What the heck am I talking about?

The concept of
technical debt (first coined by Ward Cunningham) has been something that has wandered about my head without a name for quite some time. The other day I read an article that finally put it into words. It is what I have always seen as the reason writing beautiful code is not just an endeavor in aesthetics. At this point you're probably wondering what the heck I'm rambling on about. Don't give up on me yet, I'm about to explain . . .
Read more →
(but don't tell your boss!)

Having stumbled upon
RescueTime, I feel compelled to share my discovery as this concept is just too useful to keep to myself. The basic idea behind this website is to make it easier to keep track of where you spend your time while at your computer. If you find yourself filling out your timesheet at the end of the week only to realize you can't remember what you were doing all that time, this tool was made for you!
Read more →
The DAO and VO Patterns

In this installment, we will be looking at two patterns that have been 'borrrowed' from Java. If you've had any development experience with J2EE, you are probably well aware of how handy Data Access Objects and Value Objects can be. If you haven't, don't fret! This article was written especially for you!
If you've never heard these terms before, you may be wondering why I have chosen to group them together within one article. The simple explanation is ... well you'll see. For now just accept that they go hand-in-hand, much like salt and pepper or peanut butter and jelly or .
Excited? Let's dig deeper...
Read more →
What's your take on the database admin debate?

While writing up a review on a database tool I discovered today, I was inspired to spark a discussion about database GUIs in general. The value of GUI tools for administering database systems like MySQL has been a topic of much debate.
Read more →
The Registry Pattern

This is the first in a planned series of articles discussing the application of various PHP patterns. If you're still getting your feet wet developing in PHP (or programming languages in general), you may be wondering what a "pattern" is in the first place. The best place to find a quick explanation is over in Wikipedia's article (which does a much better job than I could hope to do within the scope of this article).
Now, let's move on to the fun part . . .
Read more →
Translation: It's Programmers Day!
For those that aren't aware,
Programmers' Day is today and marks the 256th day of the year. If you just thought to yourself "wow, that's 1111 1111 in binary!" then consider today to be a day in your honor. In case you're wondering why this particular day was chosen, consider this: 1111 1111 is the last of the 256 possible values of a byte.
Read more →