Cookies with PHP’s setcookie() and Safari

I’ve come across a little inconsistency between browsers and the way they handle cookies. Using the examples from PHP’s online manual, I was unable to get Safari to remove cookies using setcookie(). All other browsers would clear the cookie with no problems. It turns out that Safari will only delete cookies if both the cookie name AND the cookie path match.

In other words, this won’t work:

setcookie('TestCookie', 'somevalue', time()+3600, '/somepath/'); // Set cookie
setcookie('TestCookie', '', time()-3600); // Delete cookie

But this will work:

setcookie('TestCookie', 'somevalue', time()+3600, '/somepath/'); // Set cookie
setcookie('TestCookie', '', time()-3600, '/somepath/'); // Delete cookie

Basically, if you set a cookie using a path, you must also specify the path when deleting the cookie. Safari won’t remove the cookie otherwise. This is probably a good thing.

Retrospect Express HD for Maxtor OneTouch: Assertion failure at tree.cpp-2528

My nightly backups kept failing with the following error:

Retrospect has encountered a serious error:
Assertion failure at tree.cpp-2528
A log of this error has been written to the file "assert_log.utx".
Please dell Dantz about this problem.

As with all Retrospect problems, the fix is easy. Simply remove X:\Retrospect Restore Points\RestorePoint.rbc (where ‘X’ is your external drive’s letter) and let Restrospect re-create it. This will often take several hours, so be patient. Once Retrospect has finished re-indexing everything, your backups should resume as normal.

Any time I have had a problem with Retrospect, it can always be fixed by re-building the .rbc file.