On my Sims 3 Zenge family page, I added more images of the legacy house. I wanted to show the inside of each level. In order to do that, I have 6 small thumbnail images over the larger screenshot of the house.
If you hover your mouse over one of the small thumbnail images, the larger one will now switch to it (assuming you have javascript enabled). I also made it so it switches if you click them. At first, this seems redundant. After all, how can you click something without first hovering your mouse over it? Answer: the iPhone.
With the iPhone, you don't have a cursor, so you can't "hover" over something. I've ran into this problem on a different site. They had that blacked out spoiler text, where you have to hover your cursor over it to reveal it. On the iPhone, I couldn't reveal the text. I made sure that the little house thumbnails would still work for the iPhone and touch pads, where you can't hover over them.
I've found myself "stroking" the little thumbnail images. I run my mouse back and forth over them and watch the floors of the house go up and down...
Friday, November 6, 2009
«Hover Over the House Thumbnails»
Wednesday, April 8, 2009
«Duplicate Title Tag Fix»
For the fellow blog owners out there that use Google Webmaster Tools, have you ever checked for duplicate title tags? You can find it under Diagnostics/Content analysis. If you do have duplicate tags (and I'm betting you do), they will show under Title tag issues.
If you're anything like me, you try your best to avoid duplicate title tags. It is why I use strange title names for a few of my post series (like Caturday, for example). Also, if you're anything like me you'll be shocked and applauded by all the duplicate tags that are still being reported; despite your best efforts.
When you dig down and figure out what is causing the duplicate title tags you'll find they are from things like comment permalinks like this: /2009/02/vince-offer.html?showComment=1239111420000
Some of them were really god-awful like this one: http://www.mastermarf.com/2009/02/vince-offer.html?widgetType=BlogArchive&widgetId=BlogArchive1&action=toggle&dir=close&toggle=YEARLY-1199178000000&toggleopen=MONTHLY-1222848000000
That brings up the exact same page as /2009/02/vince-offer.html, only it has a bunch of unnecessary query tags tacked on. What's worse is, sometimes googlebot will think that the long one is the true page and drop the short (correct) one from the index.
The fix is finally at hand. Google (and the other major search engines) are now supporting what's called canonical links. Basically they tell the search engine spiders where the "real" version of a page is located. They are extremely useful for situations like I described above or where duplicate content is likely to be generated.
Here's the code for your blogger layout so you too, will no longer have this issue. Put it somewhere just before the </head> tag in your html layout:<link expr:href='data:blog.url' rel='canonical'/>
That will strip all the unnecessary query tags off the url and point the search engine bots to the shortened url so they can index that one. After your pages are re-indexed you won't have duplicate title tag issues from comment permalinks anymore. All the major search engines use and support these canonical links.
I had a couple hundred duplicate title tags, and within a week of putting in the canonical links I'm down to 5. I trust those won't be around much longer, either. It might take longer for your site. For some reason googlebot really likes my site (crawling an average of 183 pages per day).
Wednesday, February 25, 2009
«Label Cloud Widget»
I've added a new widget at the bottom of the page. It's a label cloud; the larger and brighter the link, the more posts there are that have that label.
I saw the widget in use on a random blog I came across, and I really liked it. After a little searching, I found the code and where it came from. I'm using the version that can be found at Widget-based.
For the sake of preservation, I'm going to include the code for the widget here as well. There hasn't been a new post on the Widget-based blog since 2006 (only 8 total posts), and I'd hate for it to be deleted and this version of the code lost.
Installation in two parts, you'll want to Expand Widget Templates for this:/* Label Cloud Styles
----------------------------------------------- */
#labelCloud {text-align:center;font-family:arial,sans-serif;}
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
#labelCloud a{text-decoration:none}
#labelCloud a:hover{text-decoration:underline}
#labelCloud li a{}
#labelCloud .label-cloud {}
#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
#labelCloud .label-cloud li:before{content:"" !important}
<b:widget id='Label1' locked='false' title='Label Cloud' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<div id='labelCloud'> <ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url'><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul></div>
<script type='text/javascript'>
// Label Cloud User Variables
var maxFontSize = 20;
var maxColor = [168,181,248];
var minFontSize = 8;
var minColor = [0,0,0];
var lcShowCount = false;
var minPostCount = 0; //integer
// Don't change anything past this point -----------------
function s(a,b,i,x){
if(a>b){
var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
}
else{
var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)
}
return v
}
var ta=0;
var c=[];
var labelCount = new Array();
var ts = new Object;
<b:loop values='data:labels' var='label'>
<b:if cond='data:label.count'>
if (<data:label.count/> > minPostCount) ts["<data:label.name/>"] = <data:label.count/>;</b:if></b:loop>
for (t in ts){
if (!labelCount[ts[t]]){
labelCount[ts[t]] = new Array(ts[t])
}
}
tz = labelCount.length-1;
lc2 = document.getElementById('labelCloud');
lc2.innerHTML = '';
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
for (var i=0;3 > i;i++) {
c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
}
var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);
li = document.createElement('li');
li.style.fontSize = fs+'px';
li.style.lineHeight = '1';
a = document.createElement('a');
a.title = ts[t]+' Posts in '+t;
a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';
a.href = '/search/label/'+encodeURIComponent(t);
if (lcShowCount){
span = document.createElement('span');
span.innerHTML = '('+ts[t]+') ';
span.className = 'label-count';
a.appendChild(document.createTextNode(t));
li.appendChild(a);
li.appendChild(span);
}
else {
a.appendChild(document.createTextNode(t));
li.appendChild(a);
}
ul.appendChild(li);
abnk = document.createTextNode(' ');
ul.appendChild(abnk);
}
lc2.appendChild(ul);
</script>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
This is the first blog post that uses my new code boxes. I'll still use the old style for short code snippets.
EDIT: I've decided to maintain consistency and use this style of code block for all code; even short snippets. Please tell me what you think of it.
Friday, February 13, 2009
«Finally Linked AdSense and Analytics»
I finally got the option available to me to link Google AdSense and Google Analytics. I've only been waiting since they announced it in October of last year. I know Google rolls out updates slowly to their users, but come on... That took 5 months!
It probably would have been longer if I didn't run across their AdSense / Analytics interest form. The link to this form can also be found at the top of the Official AdSense blog.
So I have them linked. I should be able to get more detailed information about the performance of my ads now. Although at the time of writing this, no data is showing up in my Analytics account about AdSense yet.
One little thing that threw me for a bit during the linking process: They ask you to chose a primary domain to link to. All other domains other than the primary must have an additional bit of code inserted in. I was thinking that since I use a few subdomains (extras, www, and pictures) that I'd need this little code snippet. However, I couldn't find it anywhere.
Turns out that by "different domains", they really meant different profiles in Analytics. I track all my subdomains under the same profile in analytics, so I should be good. I shouldn't need to add any extra code anywhere.
You might be wondering why I even have ads. Well, they're primarily to pay for my domain name and monthly hosting costs. "But wait!" you say to yourself, "Blogger is a free service! There's no hosting costs involved!" Well, you're right... Sorta.
I pay (through GoDaddy) for my mastermarf.com domain name. I also have a hosting account through GoDaddy that hosts the Games section, as well as all the images you see here on the blog. I did not like the limitations of the built-in image hosting that blogger provides. And yes, I do make enough from the ads to cover my costs.
Wednesday, January 7, 2009
«Image Search Fix»
A while back I started to notice a problem with my image hosting for my blog. It was taking longer and longer to get a directory listing of my pictures folder in FileZilla (an FTP program). The reason was the sheer number of images building up in the directory, and it was taking too long to download all the file names. I knew that it would only get worse as I put more images on my blog.
So I decided to break them out by year. I moved all my images from http://pictures.mastermarf.com/blog/ to http://pictures.mastermarf.com/blog/2008/. That way I can create a new folder for each year. For instance, now I'm uploading any new pictures to http://pictures.mastermarf.com/blog/2009/. It works great. A little slow getting the directory listing towards the end of the year, but manageable.
The only problem was that Google Image Search had already indexed many of the images at their old location. You'll notice when you do a Google image search you have the option to "See full size image". So now I had a lot of people getting a 404 not found error when they tried to view an image result from my page.
I finally fixed the 404 errors people were getting from the Google Image search results of my images that I moved into their 2008 folder. I wrote a short little PHP script and put it on the 404 error page for my pictures subdomain:<?php
$uri = $_SERVER['REQUEST_URI'];
if (stripos($uri,"/08") == 5)
{
$uriImage = substr($uri,6);
// Permanent redirection
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://pictures.mastermarf.com/blog/2008/" . $uriImage);
exit();
}
?>
It's a 301 redirect to the new address for the images I moved. A 301 redirect basically says to the browser or search engine spider, "I have permanently moved to this new location." I had to tell the server to use PHP version 5 for the stripos() function. It didn't work when it tried to run in version 4.
What the script does is gets the web address that was requested and checks if "/08" is in the right position to be one of the images I moved. I did this because I only wanted to redirect the moved images. All the file names of the images I moved start with "08". I figured it was easier to do than have a long list of specific images to check for. Also, there is are no other file names that start with "08" in that directory, so it worked out.
The rest of the script is a pretty strait-forward 301 redirect. I pull just the file name out of the requested web address, and re-build the new web address right there inside the header() function.
I just hope it wasn't too late. I moved the images a while ago, so Google has had time to see the 404 Not Found error and remove the images from their index.
Tuesday, December 23, 2008
«Learning PHP»
Yesterday I spent the day keeping myself busy with my blog supplement pages. I'm finally taking the time to learn php. I'm re-writing all my non-blog pages in php. The great thing about that is if I want to change something in the sidebar or whatever, I don't have to go through and make that same change over and over in the html code for each individual page. I'll change it once in the main php code, and it will take effect on every page.
The actual blog is hosted by Blogger, and thus will be unaffected by all of this.
Basically, I'm using the require() function to paste in all the code that is the same on every page; things like the sidebar and footer. It reduced the actual .html files for the web pages down to the content that is unique to that page. As an example, my template page that I use to create new pages was 200 lines (before actual content is added), now it is 31 lines.
None of the web addresses or file names are going to change, though. You'll notice they still have their .html extension. In fact, the files themselves are still .html files. I just told it to run .html as a php file with a little .htaccess magic:AddType application/x-httpd-php .php .htm .html
AddHandler x-httpd-php .php .htm .html
Also, the non-www version of my web address finally 301 redirects to http://www.mastermarf.com, as I've wanted it to all along.
I'm sure there's so many neat things I could do with php, I'm just beginning.
Wednesday, November 5, 2008
«The Answer Suddenly Came to Me»
I was just finishing up with reading the various blogs I read every day in Google Reader, and the answer to that Qweb Riddle suddenly came to me. So I finished it. Funny how things can come to you when you're not even thinking about it.
Go to the Winners Page and look for the name Marf on 5th November 2008.
Wednesday, October 29, 2008
«This is Driving Me Insane»
Qweb Online Riddle
I've seen something like this before. You have to think outside the box in order to figure out the address for the next level. I had a few hangups that took a bit to get past. But I'm dead stuck on the very last level: level 18.
Snipped from the source code of level 18's page:
<!-- X = image."3725" --><p>
<!--
4632715 -->
Congrat<!-- 1 -->
ulation<!-- 6 -->
s, you <!-- 7 -->
made it<!-- 3 -->
to the<!-- 5 -->
final <!-- 2 -->
level! <!-- 4 -->
</p>
I figured out the numbers in the quotes for level 18, but I'm still missing something. I don't think I can say much more without spoiling it for someone.
Yes, it's 3:21AM here and I've finally decided to give up for tonight. I'm to the point of frustration now that if someone wanted to email an answer to me, I'd be happy to accept it.
EDIT: Nevernind, I finally figured it out.
See the rest of “This is Driving Me Insane”»
Thursday, October 23, 2008
«AdSense and Analytics Sitting in a Tree...»
K-I-S-S-I-N-G... Yeah, ok. I'll stop with the nursery rhyme.
So the biggest news for me lately is Google is finally integrating Google AdSense (their ad network) with Google Analytics (their tracking software). It appears to be part of a big upgrade they've did with Google Analytics. You don't even know how much I've wanted this to happen.
Tracking clicks and revenue on the ads using their current system in AdSense is a real pain. Using all the different channels and such has always given somewhat confusing and overlapping results. Once it's tied into Google Analytics, that shouldn't be an issue any longer.
I've been really happy with Google Analytics. About my only complaint with it is I wish it were more real-time; the stats only update a few times a day. It took me a bit to set it up properly after I switched to the new domain. There was about a 10 day period I had it set wrong and didn't notice: all the visits site-wide registered as being on index.html instead of their corresponding pages. It was entirely my fault though. I had set a custom filter so I could tell what sub-domain the page visits were on, and I had left out some parentheses. So, like anything involving code, that little error totally borked the entire thing.
It's going to be great to be able to pull up the traffic stats on a page and also be able to see how much money the page has made me. However, as the usual Google updates go, they roll it out slowly. The option (or invite as they call it) hasn't been offered to me yet. Probably won't be for a while, but I'll keep checking.
My theory is they roll things out slowly so if there's a bug or glitch it will be reported and they can fix it before the majority of people are even using the newer version. Good idea I suppose. I was one of the last to get the new iGoogle homepage. I wish they would have just skipped me entirely on that one. I like the old iGoogle much better. I've even been tossing around the idea of writing my own homepage or just using "about:blank". It'd defiantly load faster.
As a side note, sometimes when I have Google Analytics open in my browser, I have a few other tabs open as well. Then when I look at the tab names I'll see "Google Anal..." as one of the tabs. I had a few laughs when I first noticed it.
Tuesday, August 19, 2008
«Googlepages To Be Canceled»
Googlepages has been marked for cancellation. This poses a problem for me far beyond my blog supplement pages going away. Anything hosted on a googlepages domain, including my background images and CSS on my blog here (essentially everything that makes my blog's template what it is), will be gone. Hello Google Page Creator Users, - Mike and the Google Page Creator and Sites Teams
I'm not sure exactly when this will be, but I'm not happy about it. I might have to find a webhost that I'd have to pay for. I definitely don't want to revert back to a default Blogger template. When I figure out what to do, there might be a few glitches and/or problems while I do the transition. I don't think Google Sites will do what I would need it to do.
Here's the notice in the announcement they made in the Google Page Creator Discussion Group:
*sigh* Perhaps this will finally convince me to get my own domain name after all...
We are no longer accepting new sign-ups for Page Creator because we
have shifted our focus to developing Google Sites. Google Sites offers
many of the capabilities of Page Creator along with new features like
site-level navigation, site-level headers, control over who can see
and edit your site, and rich embeddings like calendars, videos, and
Google docs. Simply put, we think that Google Sites offers a better
experience for creating web pages and websites. Consequently, we will
be shutting down Page Creator later this year.
If you are currently a Page Creator user, you can continue to use Page
Creator and your pages will automatically be transitioned to Google
Sites later this year. We are committed to making this transition as
smooth and easy as possible, and we will post more details as we get
closer to the transition time. You can also manually move your web
pages from Page Creator to Google Sites or other service providers at
any time.
Page Creator has always been a Google Labs project (Labs is our
"technology playground" where we let users test-drive experimental
products and give us feedback so we can innovate more quickly). Since
launching Page Creator in Labs, we've learned a lot and have
incorporated those lessons into Google Sites. We think the Labs
program, which allows users to try new things before they're fully
baked, lets us innovate faster and ultimately create the best possible
products.
We seriously thank each and every one of you who have taken the time
to use, write about, offer suggestions, and become passionate about
Google Page Creator. Sites will be an exciting way to continue and
extend the great things you've been doing; we can't wait for you to
start using the service.
Sincerely,
Tuesday, July 15, 2008
«Nostalgic Calculator Programs»
I wasn't sure that I'd get that Spirit of Glacier Bay Cruise Ship Watch posted yesterday. Blogger was having issues with uploading images; I kept getting internal error messages. I was ready just to call it quits and try posting it today as my main blog post for the day. Out of frustration more than anything, I decided to try it one last time... And it went through! So I got that posted on time.
Yesterday when I was downtown taking pictures, I ran into Catlin, an old friend I hadn't talked to since we were in high school math classes together (that's why I wasn't around for your lunch break, Trevor). Usually I don't mention names without permission on my blog, but I figured there's no harm with only first names.
You know I have to say, math classes were my most interesting classes in school. I could pretty much ignore the lessons taught in class and still ace the test. That gave me time to discuss theoretical astrophysics with Catlin. Or to write rather unique programs on our Ti-83 plus calculators. I still have a few of those programs. The interesting thing was, the math teacher was ok with what we were doing, he even got into it sometimes.
Heh, I remember one program that the teacher didn't know about... There was this girl that sat in front of us in class, and you could always see her underwear when she sat down. We wrote a program to predict the color of her underwear on any given day. Surprisingly, sometimes it was accurate. If I remember right, it worked off of a pseudo-random number generator. Each color was assigned a number. It would generate a random number, and give certain numbers more weight (more likely to be randomly chosen) depending on how often she wore the corresponding color. Interesting thing about a program like that is the more data you input, the more accurate it gets. So it would get better every day. No, that's not one of the programs I still have. I think we abandoned it when the seating chart was changed.
Now a-days, I don't even remember how to program on the calculator. I've moved on to greater things.
Wednesday, July 9, 2008
«Search and Page Edit»
I've added a search box at the top of the sidebar. I'm using the Google Custom Search feature. I can include whatever sites I want, or the entire web. I chose to make it search only my site. I figured you can go to Google if you want to search the entire web. Before, if you wanted to search just my site, you'd have to type in the following along with your query in Google.
site:http://mastermarf.blogspot.com OR site:http://mastermarf.googlepages.com
Now, you can just type your query directly into the search box in the sidebar. If you think I should change it to search the entire web, feel free to say so in the comments.
On a different note, here's a nifty little thing I ran across, copy the code below.
javascript:document.body.contentEditable='true'; document.designMode='on'; void 0
Now paste it into the address bar and hit enter. Looks like nothing happened? (Well, ok, the colors of links will change to your browser's default color, in most cases blue.) Try to edit the text anywhere on the page like you would in a word processor. Pretty cool, eh? You can do this on any web page. The site I found it on said it's been tested to work in Firefox and Internet Explorer. So if you are not using one of those it may or may not work for you.
Of course, you're not actually editing the page. You're not going to be able re-write my blog and expect others to see your version; unless you take a screenshot that is. All you're doing is editing the text in your browser's memory. When you refresh the page it will restore the original text. I had better not see any Master Barf screenshots now...
This just goes to show that you can't trust screenshots; even if they haven't been edited in Photoshop.
See the rest of “Search and Page Edit”»
Wednesday, June 25, 2008
«If Only Blogger Was Valid XHTML Strict»
This post may be a bit technical or unclear for some of my readers. I don't claim that I've worded it as precisely and clearly as possible, either. This is my entry for the contest the banner above is about.
I would like to see blogger blogs conform to the XHTML Strict doctype they declare themselves as. They can't do much if the blog authors don't use the correct markup, but at least their end could. I didn't see this on the Blogger Wishlist page. There's not anything complicated that's stopping them from conforming, either. Most of the errors are because ampersand symbols (&) are not written as "&" in the code. The only other errors on their side are because they use an inline frame for the blogger navbar at the top and XHTML Strict doesn't support the iframe tag.
The problem with not conforming to standards (especially when you declare a doctype), is not every browser will deal with the errors in the same way. You will get unpredictable results, or bugs that only happen in some browsers.
Speaking of inline frames, it would really be nice if the blogger polls didn't use an inline frame. The first problem with it is, as I pointed out above, the doctype XHTML Strict doesn't support inline frames. The second problem I've ran into with it is it sometimes has a useless (and annoying) scrollbar to the right of the poll.
That scrollbar caused me much grief. I tried to find a way to get rid of it with CSS code. I figured out if I applied an "overflow: hidden;" style to it, I wouldn't get the scrollbar. The problem I ran into is in XHTML, grandchildren selectors in CSS do not work on the iframe tag. What's strange is child selectors do work. My plan was to apply the style to iframes only within the "poll" div class.
Here's an example of what I'm talking about. This was the grandchild selector I was going to use:div.poll * iframe {
overflow: hidden;
}
What this means is, it will only apply this style to an iframe that's within any tag that's within a div tag with the class "poll". The asterisk (*) is a wildcard, meaning any tag.
This is what I ended up using, a child selector:div.widget-content iframe {
overflow: hidden;
}
This will apply to any iframe within a div tag with the class "widget-content". For now, this works for me because I don't have any other widgets that use iframes. However, if I had any other widgets that use an iframe that I wanted scrollbars in, this would be a problem. I'd probably find a way around it by editing the widget's html code to give the poll iframe an ID. However, that's something I'd have to re-do every time I change the poll.
I suppose this wasn't a suggestion for a new widget (as the contest was asking for), but rather a suggestion to improve the existing. Eh, whatever... If you want to get technical, I'm requesting a poll system that does not use an iframe.
Tuesday, April 15, 2008
«Trying a Few New Things»
I've implemented a truncation for posts on the main page of the blog. You'll notice it as a link that says »See the rest of "POST TITLE"». All the great blogs have truncation, like Gizmodo, Engadget, and Lifehacker. It's so I can have long posts, but not have them clutter up my main page and make it really long.
If you'd like to do this on your Blogger blog (if you have one), the Blogger help pages has a nice section on how to do this: How can I create expandable post summaries?
I've put up a new poll, the other one about the layout was getting so old no-one even knew what the old layout looked like. The new poll is about the new post truncation and can be found in the sidebar. The results of the previous poll question: "What do you think of the new layout?" were It's great! 8, No opinion 1, and Old one was better 0.Do you like the post truncation?
I'd like to have a FAQ section, but first I need some questions first. So go ahead and send me an email (to stop spambots, you must have javascript enabled to view the email address.) or something with some questions. They can be about me, my site, or the town I live in (Ketchikan Alaska). Or something completely random.
That email address I have listed in the paragraph above is also something new I'm trying. It's written in with javascript, so the spambots can't scan the page and get my email. I've had this system in my About section when I first put it up, but it's a little more complicated to do in a blog post. I had to re-write my script so it can be used for multiple instances on the same page.
Here's an impressive thing I saw on YouTube, an elephant painting a picture of an elephant. I don't care how the elephant was taught to do that, it's impressive.
Elephant Paints Self Portrait
Thursday, April 3, 2008
«Cross-Domain Tracking»
When clicking on a link to another section of the website, you may notice a long and seemingly random string of letters and numbers in the address bar. That's just part of the multiple domain tracking I've implemented. If you copy the link, you only have to copy the stuff before the # symbol. As for the 400 error, that's a problem with blogger, it's seeing the - ShoreTel
The two domains I'm using are mastermarf.blogspot.com and mastermarf.googlepages.com. The homepage of the googlepages domain will re-direct here to the blog unless you disable javascript. I was tracking the two domains separately, but that was starting to give me inaccurate data. It would register as leaving the site when going between domains. This messed up stats on bounce rate, page visit depth, referring sites (they would refer to each other), even number of visits among other things.
I looked into how to fix it and found a page in the Google Analytics help files that gave instructions for doing exactly what I wanted (never mind the little typo in the instructions; ">" before "onclick" in step 2). So I followed the instructions. The result was a 400 Bad Request error when you clicked on one of the links between the domains. Nice.
I posted a question about it in the Analytics Help Google Groups and got the answer I was looking for. It was blogger's problem, I just had to instruct the tracking code to use # instead of ?.
Here's what was said:
So all I needed was to add ", true" and it worked. Why am I saying this in my blog? Because I couldn't find the information clearly anywhere. Maybe someone with the same problem will now run across this blog post and not have to go through what I did trying to figure out what went wrong.
__utma, __utmb, stuff in the URL and saying "those aren't valid
blogger variables" and then dies.
Try setting useHash to true, so the __utm* is in the hash (#) and not
the query string (?)
onclick="pageTracker._link(this.href, true);"