That’s What She Said
May 4th, 2008
via videosift.com
-Whitefeet
So I found a good deal on a Trendnet Wireless router. ($81 - $20 off Buy.com Coupon - $30 Rebate = $31 Router). I went through all the steps for the rebate and had everything in the mail two weeks before it was supposed to be postmarked (April 24th).
Today I checked the mail to find a familiar envelope…the very envelope I mailed off weeks ago. Attached to the front was a sticker stating I owed more postage. Considering it is now a week past the deadline, I’m now unable to collect my $30.
I noticed the envelope looked a little beat up. Just for the hell of it, I opened it up to find the paper had been severely damaged by water and the forms and receipt I had to submit were illegible. I probably wouldn’t have gotten the rebate anyway considering the condition!
-Whitefeet
There have been a lot of people asking how they can keep their GSA synced. Here is quick, simple, and easily configurable solution that should help. Set this up as a CRON job and you’re done.
Requires: PHP, cURL
<?php
/**
* @author Chris Williams ctwilliams[at]gmail[dot]com
* @version 0.0.1
* @example php gsa-sync.php
*/
define(‘GSA_PATH’, ‘http://gsa.xyz.com:8000′); // Replace ‘http://…’ with your gsa host and port
define(‘GSA_USERNAME’, ‘user’); // Replace ‘user’ with your username
define(‘GSA_PASSWORD’, ’secret’); // Replace ‘password’ with your password
/** Define DB collections */
$dbSources = array(‘dbcollection1′, ‘dbcollection2′);
/** Go to log in prompt */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, GSA_PATH . ‘/EnterpriseController’);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_COOKIEJAR, dirname(__FILE__).‘/cookie.txt’);
curl_exec($ch);
/** Authenticate */
curl_setopt($ch, CURLOPT_URL, GSA_PATH . ‘/EnterpriseController’);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,‘actionType=authenticateUser&userName=’ . GSA_USERNAME . ‘&password=’ . GSA_PASSWORD);
curl_exec($ch);
/** Loop through and trigger db sync for each collection in $dbSources */
if(is_array($dbSources)) {
foreach($dbSources as $source) {
curl_setopt($ch, CURLOPT_URL, GSA_PATH . ‘/EnterpriseController?actionType=syncDatabase&entryName=’ . $source);
curl_setopt($ch, CURLOPT_POST, false);
curl_exec($ch);
}
}
/** Close cURL connection */
curl_close($ch);
?>
Feedback and suggestions are appreciated… Enjoy!
First off let me begin by saying I have not read this book. However by first impression why would anyone want to?

Seriously… what is that on the cover? A Microsoft FrontPage disc?
Side note: While taking this picture at Barnes & Noble - one of their excellent employees didn’t like me taking a snapshot but offered to ring me up or provide me with more information about this book. Tempting!
After watching a few seminars from last years Web Design World 2007 in Seattle I was very impressed after watching Interface Design and CSS Workshop presented by Cameron Mall. Last month I began development on a new site. With one month of development time allocated for coding, design, and image slicing, there wasn’t any time to sit around. I wasn’t too worried about coding but I design had never been my primary focus at work. Since this project required intensive design work that was both cross-browser compatible and 508 compliant. Allowing users to view a site at a wide range of screen resolution, font sizes, web browsers, and color-depths the solid CSS is a must. I expressed ordered to design books to serve as a reference through development and design. Immediately after the books arrived I got hooked. I sat down and read cover-to-cover of both books within a week. The organization of these books and information presented proved to be an invaluable resource in the construction of my latest project. I would highly recommend professional web developers / designers, freelancers, and hobbyists alike to pick up a copy of both of these books.