San Francisco Chronicle: Adam Snyder