Professional Biography
Hi, I'm Chris Shiflett, a web developer from Brooklyn, NY, and a founding member of Analog, a web design and development co-operative.
When inspiration strikes, I can be found scribbling on my blog at shiflett.org, or on Twitter as @shiflett. In 2007, I started PHP Advent, an Advent calendar for the PHP community.
I have authored and co-authored a few books — most notably Essential PHP Security and HTTP Developer's Handbook — and I occasionally write articles for publications like Smashing Magazine, where I also serve on the editorial panel.
My passion for sharing ideas has brought me to a few conferences — including OSCON, Webstock, South by Southwest, and the Future of Web Apps — and events like Foo Camp, Kiwi Foo Camp, and the Microsoft Web Dev Summit.
When not in front of a computer, I can usually be found playing soccer in Prospect Park or riding my single-speed bicycle around Brooklyn.
Interviews
- Reflection on Chris Shiflett — April 2007
- Picking Brains with Chris Shiflett — February 2007
- Interview: Chris Shiflett of Essential PHP Security — December 2005
Books
- Essential PHP Security (O'Reilly, 2005)
- HTTP Developer's Handbook (Sams, 2003)
Please see books for more details and reviews.
Book Contributions
- Programming PHP (O'Reilly, 2006)
- PHP Cookbook (O'Reilly, 2006)
- PHP in Action (Manning, 2007)
Publications
- Smashing Magazine
- php|architect
- PHP Magazine
- 2600: The Hacker Quarterly
The full list of published articles, with some useful and current discussion in the comments, is also available.
About This Web Site
Design and Markup
By web designer Jon Tan:
The logo is a play on the letters C and S, combined to form three incomplete but connected circles. Other elements were also created specifically for shiflett.org, including the byline typeface and the icons used throughout. Arial is used for headers, and Verdana for the main body text.
The design was inspired by musings on the idea that personal web sites should be user-centered but also the author's web GUI. The most intensely-discussed subject was information architecture; both Chris and I share the opinion that good design starts with structure. Hopefully the final result streamlines a lot of useful features in to a clean, simple interface.
The design loves all common screen resolutions from 800px x 600px and up, but it is particularly enamored with the most popular: 1024px x 768px. The container does not stretch beyond that, in order to retain reasonable line lengths for comfortable reading. However, it does stretch if you raise the default text size in your browser. In that instance, the main container expands with the text size until there's no more viewport space to fill, at which point the content will wrap.
Accessibility was a baseline design ethic. The markup is ordered logically. The contrast should be sufficient for most users, and text resizing is accommodated as far as possible in the default style; relative values are used for everything. There's an additional single-column "light" style (linked via the utilities menu above the search form). The site has been manually checked to Priority 2 plus conformance to the WCAG 1.0 with extra screen reader checks for critical objects like the calendar. Please send feedback if you have any accessibility issues.
A special mention goes to Jon Gibbins for his JavaScript and accessibility contributions, without which the code view, comments form, and calendar would not have existed in their final form.
Valid XHTML 1.0 Strict markup is used throughout with valid CSS. Although the CSS validates, the single exception is an IE6-specific conditional comment, included separately to work around non-existent support for the
max-widthproperty, a fairly important property in a semi-fluid layout. The pages are served as MIME typetext/htmlusing the UTF-8 character encoding.You may be aware of the debate surrounding XHTML served as
text/htmlversus HTML 4.01, but I consider the former to be a solid interim. At some point, IE.Next (or even IE.Next.Next) might supportapplication/xml+xhtmlcontent, but currently it does not. Content negotiation is an option, but not one that was chosen at this time.
Architecture and Code
By web developer Chris Shiflett:
The architecture is driven by URL vanity. URLs form the foundation of the interface and the organization of the content. If you visit a URL with superfluous characters such as
www, you are redirected to the correct, beautiful URL that I have chosen for that page.The code has been written from scratch using the MVC design pattern and open source technologies such as PHP and MySQL. Although the site itself is not open source, features such as code highlighting, comment filtering and formatting, and other random tidbits have been discussed in my blog.
I use del.icio.us to manage my links and Flickr to manage my photos. My feeds redirect to Feedburner, which provides subscription statistics. Each of these services provide an API that I use to integrate their features into the custom interface.
I make extensive use of caching, including full-page, partial-page, and algorithmic caching. OpenID provides authentication, so you don't have to trust me with your password or bother remembering one just for this site. Anonymous comments are still allowed to encourage participation. Because so many sites support OpenID, you may already have an OpenID without realizing it.
Ajax has been used to enhance some features, such as comment previewing, but all features function with or without JavaScript for maximum accessibility.

Hi, I'm Chris. Welcome to my site.





















