Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-settings.php on line 512

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-settings.php on line 527

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-settings.php on line 534

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-settings.php on line 570

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1244

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/classes.php on line 1442

Strict Standards: Redefining already defined constructor for class wpdb in /home/martingo/martingordon.org/blog/wp-includes/wp-db.php on line 306

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-includes/cache.php on line 103

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/martingo/martingordon.org/blog/wp-includes/cache.php on line 431

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-includes/query.php on line 61

Deprecated: Assigning the return value of new by reference is deprecated in /home/martingo/martingordon.org/blog/wp-includes/theme.php on line 1109

Strict Standards: Declaration of Walker_Comment::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/martingo/martingordon.org/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::start_el() should be compatible with Walker::start_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::end_el() should be compatible with Walker::end_el(&$output) in /home/martingo/martingordon.org/blog/wp-includes/comment-template.php on line 1266

Strict Standards: Redefining already defined constructor for class WP_Dependencies in /home/martingo/martingordon.org/blog/wp-includes/class.wp-dependencies.php on line 31

Strict Standards: Redefining already defined constructor for class WP_Http in /home/martingo/martingordon.org/blog/wp-includes/http.php on line 61

Strict Standards: Non-static method unfancy_quote::init() should not be called statically in /home/martingo/martingordon.org/blog/wp-content/plugins/sem-unfancy-quote/sem-unfancy-quote.php on line 55

Strict Standards: Non-static method WP_Http_ExtHTTP::test() should not be called statically, assuming $this from incompatible context in /home/martingo/martingordon.org/blog/wp-includes/http.php on line 94

Strict Standards: Non-static method WP_Http_Curl::test() should not be called statically, assuming $this from incompatible context in /home/martingo/martingordon.org/blog/wp-includes/http.php on line 97

Strict Standards: Non-static method WP_Http_ExtHTTP::test() should not be called statically, assuming $this from incompatible context in /home/martingo/martingordon.org/blog/wp-includes/http.php on line 142

Strict Standards: Non-static method WP_Http_Streams::test() should not be called statically, assuming $this from incompatible context in /home/martingo/martingordon.org/blog/wp-includes/http.php on line 145
<br /> <b>Strict Standards</b>: call_user_func_array() expects parameter 1 to be a valid callback, non-static method unfancy_quote::strip_quotes() should not be called statically in <b>/home/martingo/martingordon.org/blog/wp-includes/plugin.php</b> on line <b>166</b><br /> Martin Gordon's Blog / 2005 / November

Firefox 1.5 and Tabbed Browsing on OS X

Firefox 1.5, released yesterday, breaks the Cmd+Tab/Cmd+Shift+Tab shortcut for switching tabs that I had grown to love so much and was one of the primary reasons I've stuck with Firefox over Camino and Safari. Instead, Firefox now uses Cmd+Option+Left/Right, which requires use two hands and some hunting around.

Enter keyconfig, an extension designed to allow users to add and modify keyboard shortcuts. A comment on the extention page details how to add next/previous tab functionality to keyconfig using gBrowser.mTabContainer.advanceSelectedTab(±1); Unfortunately, that command didn't allow for looping through tabs, so I modified the code a bit to allow for that functionality. Here it is:

Next Tab

if (gBrowser.mCurrentTab.nextSibling)
     gBrowser.mTabContainer.advanceSelectedTab(1);
else
     gBrowser.mTabContainer.selectedIndex = 0;

Previous Tab
if (gBrowser.mCurrentTab.previousSibling)
     gBrowser.mTabContainer.advanceSelectedTab(-1);
else
     while (gBrowser.mCurrentTab.nextSibling)
          gBrowser.mTabContainer.selectedIndex++;

Technorati Tags: , , , , , , , , , , ,

Bodyhacks

Men's Health ran an article containing "18 Tricks to Teach Your Body." These aren't just lifehacks, they're bodyhacks — little tricks you can learn to affect your physiology. They're all pretty cool and useful, except perhaps #4, coughing during an injection, where I'd be afraid to scare the person giving me the injection and having a needle snap off inside me.

Technorati Tags: , , , , ,

Google Analytics

Google has released a pretty robust website stats package called Google Analytics. Straight from the horse's mouth:

Google Analytics tells you everything you want to know about how your visitors found you and how they interact with your site.

I've been a bit unhappy with the stats package DreamHost comes with, though granted I don't have much use for it anyway. Installing Analytics was as simple as copying three lines of code into my template, so it's too easy to not try it.

I can't really say much about how it works or the data it reports since no data appears despite them saying it'll be available "within 12 hours." Apparently demand was greater than they expected. I guess that's bound to happen when you release free, easy and useful software and your name is Google. A message on their help page dated (timed?) 5:22 PST states:

Currently, report updating for Google Analytics is experiencing delays. As a result, you may not be seeing any data in your reports even after implementing the Analytics tracking code.

We are currently in the process of updating all reports. You should be able to see these updates in several hours. While this is going on, you may notice different reports updating at different rates. Once this process has completed, all data should be restored to your profiles. Please be assured that this update process has no effect on data collection.

We apologize for any inconvenience. This reporting delay is associated with unexpected demand for Google Analytics. Under normal circumstances, the data in your reports will be at most six hours old.

Technorati Tags: , , , , , , , ,

Free Classic TV and Portable Video

The New York Times is reporting that Warner Brothers will be offering free downloads of classic TV shows on a P2P network run by AOL. The catch, they say, is that users will have to stay on the network and take some of the burden of distribution off of AOL servers. The TV shows will also have 1-2 minute ads that will help generate revenues for Warner Brothers and create an incentive for people to go out and buy the DVD sets.

This sounds like a good plan, but with every network doing their own thing (and their own DRM), will there be one portable video player that will be able to handle all these different formats? Is portable video really necessary to succeed in the downloadable video space? After all, video is an active medium, you can't really be doing anything else while watching it like you can with music and so the appeal of a portable device is diminished.

From personal experience with my video iPod, I can tell you that video isn't "there" yet like music is. In the month or so I've had with the iPod, I've watched 3 hours of video max. First off, getting the video on to the machine, while not difficult, does take some time. I have to download a video, then convert it and finally transfer it over. Second, if I have the time/resources to sit down and watch a video, I probably have the opportunity to watch it on a bigger screen. Like I said before, portable video requires much more attention than portable music. I can't watch a video while walking to class without looking up every few seconds to make sure I don't run into anything. I also can't watch a video if I am doing something that requires both hands, like eating, since I need one hand to hold the device up (yes, this is easily fixed with some kind of stand, but without it being integrated into the device, it's easy to not carry a stand around and so the problem still exists).

As much as I don't want to run a seperate player for each network's shows, its much easier to do so than it is to carry (and purchase, for that matter) a seperate device to take the video with me. Who's to say I want to watch the video on a portable device anyway? "Free as in speech" arguments aside, I for one welcome our new proprietary (but free) video overlords.

Technorati Tags: , , , , , , , ,