About the Author

Chris Shiflett

Hi, I'm Chris, a web developer and a founding member of Analog. I live and work in Brooklyn, NY.


All Posts for 2009

Hello, Analog

A few months ago, I was on top of the world. The place was called Sjónarsker, and the view was breathtaking. It was the third day of a road trip around Iceland with my friends Andrei and Helgi, and I had just shared some big news with them. I was ...

PHP Advent 2009

With the help of Sean and twenty-four fantastic authors from the PHP community, PHP Advent is back for a third year. Paul gets things started with an article on comprehensible code: Reading code is hard work. Here are some reasons why, along with som...

Facebook, MySpace, and crossdomain.xml

Thanks to the recent recurrence of a vulnerability I wrote about a few years ago and a gentle prod from Simon, I decided it would be good to write about the dangers of cross-domain Ajax with Flash again. If you read about this story on TechCrunch, n...

Git on Snow Leopard

I've had a GitHub account for months, but I've yet to use it. After I mentionined on Twitter that I might start using it, the response was very positive. People really love Git and GitHub both. Unsurprisingly, my Mac didn't already have git. (It's n...

Learning HTML and CSS

I've been a web developer for a decade and a half. I've learned a lot along the way, and I'm comfortable with a lot of web-related technologies. But, I'm not very good at HTML and CSS, and I've decided it's time to do something about that. I'm learn...

CodeWorks and Beer (Table)

By all accounts, CodeWorks — a touring conference produced by the same people who publish php|architect Magazine — was a big success. Although I was exhausted from all the travel by the time we made it to NY, I'm rea...

CodeWorks Tour

I'm on my way to CodeWorks, a touring conference currently underway that visits a total of seven cities across the US. I'm joining up with the conference in Atlanta to speak at the following stops: Atlanta Miami Washington New Y...

South by Southwest

I was in Austin for SXSW earlier this year to discuss Fontdeck with some of the Clearlefties and to socialize with friends. Because I was staying in a hotel room with Jon and Elliot (SXSW typography panelists), I was also hoping to gain some design tal...

PHP Quick Reference

While cleaning out my desk, I found an old copy of a PHP Quick Reference I helped make a few years ago. On the front page are a few performance and security tips that I thought I'd share. (Performance tips are from George Schlossnagle.) Top 5 Perfor...

Goodbye, OmniTI

At the end of August, I'm leaving OmniTI. The summary is easy. The explanation is not. A leader's departure is fertile soil for speculation, but hopefully my brief explanation will be enough to satisfy your curiosity. If you want more details, you'r...

A rev="canonical" HTTP Header

Related: Save the Internet with rev="canonical" Update: Recommending Link (an existing header) instead of X-Rev-Canonical. See below for syntax. Since my post yesterday, I have noticed a lot of chatter all over the place about #revcanonical. Ben Ra...

Save the Internet with rev="canonical"

Related: A rev="canonical" HTTP Header Slashdot: Note that rev="canonical" (reverse link) and rel="canonical" (forward link) indicate the same relationship in opposite directions. Also, be careful not to make the assumption that shorter URLs are alway...

CSS Naked Day

You might be wondering what happened to my design. As with years past (2007, 2008), I'm participating in CSS Naked Day to show my support for web standards, and to show off the design of shiflett.org: The idea behind this event is to promote web stand...

Smashing PHP

We're trying to do something special at OmniTI. We've got great web talent, from operations to design (and plenty of everything in between). For my part, I bridge the gaps as much as I can, so I try to keep my finger on the pulse of many different web ...

Migrating from FeedBurner to Google

When I logged into FeedBurner today, I was presented with the following message: Your FeedBurner account "shiflett" and all of your feeds should move to Google. I've actually been seeing this message for a few weeks, but today I didn't have the o...

Twitter Don't Click Exploit

I've been posting to Twitter more than my own blog lately, but I noticed a Twitter exploit today that I thought was worth sharing in more than 140 characters. You can try the exploit for yourself at the following URL: http://umoor.eu/blog/yes-we-can...

Putting the Bow on OmniTI

2008 was a marathon year, and in the final sprint to the finish (which included barely pulling off another PHP Advent), some very exciting news for us at OmniTI managed to miss my blog. I'd like to share it with you now and provide my thoughts. Firs...

Seven Things

I was going to let the Seven Things meme pass me by, but the generous prodding of Elizabeth Smith, Elizabeth Naramore, and Theo Schlossnagle has managed to convince me that some of my readers might like to know a little more about me. If you're one of ...

2008 Highlights

2008 is gone, and following tradition, I'm posting my personal highlights from the previous year. It's hard to believe that this is the 6th time I've done this, but I like the tradition, and I enjoy being able to review highlights from previous years (...

Upcoming Talks

ConFoo

10 - 12 Mar 2010

At Hilton Montréal Bonaventure, Montréal, Canada.

South by Southwest

12 - 16 Mar 2010

At Austin Convention Center, Austin, Texas.

Dutch PHP Conference

10 - 12 Jun 2010

At TBD, Amsterdam, Netherlands.

O'Reilly Open Source Convention

19 - 23 Jul 2010

At Oregon Convention Center, Portland, Oregon.

New Comments

Niall Kelly wrote:

Having tried other methods without success and looked through plenty of bloated documentation, th...

Posted in Git on Snow Leopard
liukang wrote:

I have problem with this example. In my php.ini magic_quotes_gpc is off so i'm using only addsla...

Posted in addslashes() Versus mysql_real_escape_string()
RyanTheGreat wrote:

Well, I'm not Chris, but I will do my best to address the questions raised in the comments by Ian...

Posted in Security Corner: Cross-Site Request Forgeries
Chris Shiflett wrote:

Thanks for the kind words, Simon. I'm glad you liked the tutorial. In case it's helpful, here'...

Posted in Webstock
Chris Shiflett wrote:

Hi Robin, I plan to post something about it, but it's going to be hard to express everything i...

Posted in Webstock

Browse Comments


Work and Books

Analog Essential PHP Security HTTP Developer's Handbook