Mark Suster, a 2x entrepreneur, wrote a fantastic post on Techcrunch about the “yo-yo life of a tech entrepreneur.” The reason I think it’s fantastic, and the reason why I enjoyed it so much, is because it gives you a behind the scenes look of what it’s like to live the entrepreneur’s life. Compare the italics introduction, where TC gives a four sentence biography of Suster, with the rest of the article.

The italics part is the glitzy and glamorous part. Suster started and sold two companies and is now a VC. That’s pretty awesome no matter who you are and intuitively we know that he has to be a smart and hard working person. However, just like how we don’t see Kobe Bryant practice thousands (if not tens of thousands) of shots each day, we don’t see how hard it is to do all that. In fact, if more people knew, I bet they wouldn’t be so quick to swap lives or be envious. :)

If you have a few minutes, I highly recommend reading it.

To Succeed, You Need an Advantage

by jim on January 27th, 2010

As I read this hilarious Cracked.com article about six full of shit professions, I wasn’t surprised to see stock market experts as the first one listed. The statistics they cite are the same ones index fund fans cite and I’m inclined to believe that 75-80% of stock market experts are pretty much useless.

However, the bigger question, especially when you’re talking business (investing is really just business, with tiny barriers to entry), is what is your advantage? What does your mutual fund manager know that everyone else doesn’t? When I read Trading with the Enemy, an insider’s look at Jim Cramer’s hedge fund, I saw that he had a huge advantage. Newspaper reporters would tip him off about a story before it was published. Analysts would tell him seconds beforehand of an upgrade or downgrade. I would’ve given my money to that Jim Cramer because he had an advantage. (if you don’t think insider trading happens… you’re mistaken, only the stupid people who made abnormally large bets get caught)

If a fund manager doesn’t have an obvious advantage, then it’s just luck. If it’s just luck, why are you paying an expense ratio?

Why does Warren Buffett outperform year after year? He has a clear advantage. Just look at some of the deals he’s cut over the last year during the Great Recession – he pumped $5 billion into Goldman Sachs, getting perpetual preferred stock, a 10% dividend, and warrants to buy $5 billion of common stock with a strike price of $115 (it’s currently trading at $148.44). While you could criticize him on timing, he gets access to deals very few people can.

How does this translate to entrepreneurship? You have to pursue something where you have an advantage you can exploit. That something could be your passion, what you love to do even if you weren’t paid for it, but you need an advantage of some kind or you will lose. It’s true whether you’re investing in yourself or in a stock ticker.

YSlow 2.0.5 Conflicts With Google Toolbar

by jim on January 26th, 2010

I haven’t updated YSlow but a couple people I’ve been talking to did and they’re reporting that the newest version of YSlow will crash Firefox browsers also running the Google toolbar. Here’s a Yahoo! Groups discussion about it and it appears that the culprit is the Google toolbar, version 6.1.20091216W.

Kind of funny that YSlow, a Yahoo product, isn’t playing nicely with the Google toolbar.

In unrelated news, Google toolbar still sends data even if you turn off “enhanced features” transmissions.

Most websites that do any affiliate marketing will almost never run naked affiliate links on the site. Using redirects has several benefits over plain affiliate links:

  • Easier to maintain. If you need to swap out all the links from one affiliate company and replace them with another, it’s impossible if you have to change the link on every page. Change it at the redirect and save yourself tons of time.
  • Looks cleaner. Most affiliate links look like a string of random letters whereas your redirects can be cleaner, using company or product names rather than a string of jumbled letters.
  • Lets you track clicks better. Before the days of Analytics, the easiest way to track clicks was to record it in your database and that was only possible if you use redirects. Now, you can just javascript to track it in Analytics or, if you are concerned that many visitors have disabled javascript, you can still use database calls to record clicks.

The reason I use redirects is mostly because of the first reason – maintenance. I prefer it over other solutions like GoCodes (a plugin that achieves the same result) because the way I’ve implemented it requires no additional database calls and is pretty much as fast as you can get.

Setting Up The Redirect Scripts

<?php
include('allredirects.php');
$tag = htmlspecialchars($_GET['tag']);
 
$link = "<strong>[the url]</strong>".$tag;
header("Location:".$link);
?>

The links themselves will look like this –

http://www.wangarific.com/r/redirect.php?tag=SubID

The above code will pull the variable out of the URL (in the above case, it’s “SubID”) and append it to the affiliate link. You will have to look at the affiliate link to know where that information goes.

For example, for CJ, you take your affiliate link and append ?sid=XXXX to the end to pass along that SubID tracking value.

The include(‘allredirects.php’); is an empty file that I left in there in the event I wanted to add something to the start of all redirects. Years ago, before Google Analytics, I had it insert data into my database to help me track clicks. Nowadays there’s a far simpler solution.

Tracking Clicks

Often times the affiliate network will provide this data but if you don’t trust them or you want to verify their data, you can add your own tracking. Tracking clicks is dead simple with Google Analytics. Simply take the link and add the following call in the OnClick function:

onClick='javascript: pageTracker._trackPageview("/click/affiliate/tag")'

You can change /click/affiliate/tag to whatever you want but every time someone clicks, Analytics tracks it. Then, you can go into analytics and search for “click” or “click/affiliate” to see how many clicks you have on those links. Replace tag with the SubID and you get even more data to work with.

One tip, you will need to move your javascript for Google Analytics above these calls for it to work. I put mine in the header.

One script or many?

In the above example, there’s one .php file for each redirect. Another alternative is to use one script for every redirect and just pass in two variables – one for the subID and one for which affiliate link to use.

http://www.wangarific.com/r/redirect.php?aff=AffiliateCompany&tag=SubID

What you do is up to you, I personally like the individual pages though it really affords no significant advantage.

Wasn’t that simple?

In Google Analytics, there are two “visit” metrics – an absolute unique visit and a “regular” visit. Google Analytics uses cookies to help track visitors to your site and the use of these cookies is crucial in incrementing visit and absolute unique visit counts. If you’ve ever wondered what the difference was and how they’re counted, you’ll be pleased to know the answer is quite simple.

Absolute Unique Visit

Google Analytics, using javascript, will deliver a cookie to your browser that helps establish a session. For the purposes of unique visits, __utma is used. The __utma cookie expires in two years, meaning someone who visits the site every single day for two years will only be counted as one absolute unique visitor.

In reality, he or she will probably visit from several browsers (each maintains their own cookies) and will probably clear cookies several times over the next two years (or their anti-spyware apps will do it for them), but theoretically the above could hold true.

Visits

A visit is merely a “user session” and that is stored as __utmb, which has an expiration of thirty minutes. If a user visits your site and then does nothing for more than thirty minutes, then the cookie expires. The next time they load the page, Analytics will see that it has expired and write a new one, thus incrementing your visits by one.

It’s unclear how the two metrics are affected if users block the setting of cookies. I tried looking online but couldn’t find a definite answer but intuition would lead me to believe that a user who blocks cookies would always be counted as a unique visitor (and thus a visitor). You would lose tracking of their behavior, since there’s no session cookie to tell Analytics where they’ve been, but you’d have correct-ish visit counts. Fortunately the number of people rejecting cookies is fairly small.

Here is a detailed discussion of Cookies and Google Analytics, which should answer pretty much any question you could possibly have, and a fantastic primer on cookies and tracking overall.

Adsense loads the highest paying ads first, so it’s recommended that you load your highest CTR ads first to maximize advertising revenue. In my last post, I didn’t discuss the mechanics of changing the order of your Adsense (other than offering up some CSS code) because I wanted to address it better today. In that post, I said you could use fancy CSS to do it, and that is certainly one option, but here’s a simpler javascript way of doing it.

In addition to increasing revenue, you can use this strategy to improve your site’s load time. The general consensus is that when loading a page, you want to load javascript last whenever possible. That’s because most browsers render the page from the beginning of the source to the end and will pause whenever there are any delays, such as when loading javascript. If you’ve ever wondered why some people recommend that you use the height and width tags on images, that’s why (images also take a relatively long time to load, so if you can specify their screen dimensions then the browsers can continue rendering).

Here’s what the approach will be:

  1. You will put an empty <div> block as a placeholder for where your ad will appear.
  2. You will put a hidden <div> block in the footer that contains your Google Adsense javascript code.
  3. You will add two lines of Javascript code to be executed on the window.onload event. The two lines of code will append your Google Adsense javascript code DIV to your empty placeholder DIV and then unhide it.

1. Empty DIV Block Placeholder

Stick this line of code, changing “GoogleAdsenseBlock” to something descriptive, wherever you want to insert Adsense:

<div id="GoogleAdsenseBlock"></div>

2. Hidden DIV Block in Footer

For each one of your DIV Block placeholders, add a hidden DIV block in the footer:

<div id="GoogleAdsenseCode" style="display: none;">
<strong>[Google Adsense Code]</strong>
</div>

Here’s where the Adsense blocks are being loaded, so order these from highest CTR to lowest. For example, if you have a header and a sidebar block, you would want to load the sidebar’s hidden DIV block first (assuming it has a higher CTR).

3. Shuffling DIVs with Javascript

Once you’ve created all the empty placeholders and loaded the Adsense javascript in hidden blocks, it’s time to stick them in the right places and make them visible.

<script type="text/javascript">
	window.onload = function() {
		document.getElementById('GoogleAdsenseBlock').appendChild(document.getElementById('GoogleAdsenseCode'));
		document.getElementById('GoogleAdsenseCode').style.display = '';
	}
</script>

The first section tells the code to execute whenever the window.onload event first. The first line of actual code takes your footer DIV block and appends it the placeholder. The second line takes away the display: none, which was hiding the second block from view.

Are there drawbacks to this? A small one. When you load your site, the page will initially render the page without the Adsense and then it will pop in once the page has completed loading (that’s the onload event firing). This is necessary or Internet Explorer will get upset.

Mucho gracias to Ed at Semplice, who came up with the code.

Why You Should Host Your Own Blog

by jim on January 19th, 2010

When you first start blogging, it’s very tempted to sign up for Blogger.com blog. It’s free, it’s fairly easy and intuitive to use, and you can be up and running within minutes. If you have absolutely zero technical know how, using a free service like Blogger or Wordpress.com will get you a live blog faster than any other option. That convenience comes at a cost.

Lack of Control

The biggest reason I advise against using a hosted blog platform like Blogger.com or Wordpress.com is because you aren’t in total control of your site. While you never have to worry about Blogger.com “going down,” you are subject to its whims. One absolutely wonderful site, Bankdeals.blogspot.com (now living at DepositAccounts.com), recently experienced quite a scare. Ken at Bankdeals has been writing about banking for what seems like eons. You can expect to see a dozen posts a day on the latest banking news and his consistency is almost legendary. However on one fateful day, every single post he had ever written disappeared. There was some sort of technical hiccup somewhere, out of his control, and his content was gone. Thankfully he was able to recover almost all of it and I think that was part of the impetus to move to his own site.

You Can’t Accumulate Link Equity

The second reason, behind control, is that the currency of the web is links. When you write something linkworthy, and people link to you, that’s a valuable indication that you’re a valued resource on the web. As you accumulate link equity, your site rises in the eyes of both your peer sites and search engines. The problem with accumulate link equity for a site on a hosted platform is that you are accumulating link equity for Blogger, or Wordpress.com, or some third party service. Your site doesn’t actually benefit.

Hosting Your Own Isn’t Hard

Finally, hosting your own site isn’t very difficult. Many hosts these days have one-click installation for Wordpress and one-click upgrades, meaning you just have to tell them you want Wordpress and they handle the technical aspects of installing it, standing up a MySQL database, and making sure all the credentials match. Before the popularity of blogs, it wasn’t quite so simple but nowadays the market has responded by making it simple.

In the coming weeks we will have an expert, Mrs. Micah of Blogcrafted, write a guest post on how to move your site from Blogger to your own hosted Wordpress site. If you want to earn money from your site now or in the future, you will want to host your own site as early as possible. The longer you wait, the more painful it becomes.

Don’t Work Weekends, Learn to Take Breaks

by jim on January 18th, 2010

When I left my full time job to manage Bargaineering.com with 100% of my time, I was both ecstatic and terrified. I was ecstatic because now I could devote 100% of my work time towards something that afforded me 100% of the spoils. I was terrified because now I was 100% responsible for every dollar entering my bank account. If things performed well, I reaped the rewards. If things didn’t, I suffered the losses.

My response to both was to work more. If I was going to go down in flames, I wanted to know that I did everything I could and didn’t shirk on a minute of work. If I made the wrong decision but I worked it as hard as I could, I’d be happier with the result than if I made the wrong decision and half-assed it.

The recession of the last year didn’t hurt our income one bit, which was surprising since financial services were destroyed, but likely contributed to smaller rates of growth than in year’s past. On the whole, I’m happy I pursued Bargaineering full time because I suspect, had I half-assed it, we’d have been hurt even more by the recession. On the other, my level of work life balance is a bit skewed.

I do spend a lot of time working on various projects, this site included, and many of them are passion projects. I write a scotch blog because it’s a fun hobby. My wife and I write a travel blog because it’s a chance for us to chronicle our vacations. But for bread and butter work, I’m going to restraint myself to the typical “work week.”

Free time has the capability to clear your mind and refresh you in a way that gives you a better angle on a problem. It also gives your brain a rest. As anyone who has ever pulled an allnighter knows, the studying you do at 5 AM just isn’t as good as when you started. :)

On January 8, I blocked some filtered categories from appearing in the Adsense blocks. My guess was that it would cost me a few dollars, hopefully not too many, and that it would result in a much better user experience. Fewer people would be clicking on Get Rich Quick scams and the world would be a better place.

To measure the impact, I looked at the seven days preceding the change and compared it to the seven days since. The difference? eCPM fell by 6.8% and the CTR fell by 7%. While that sounds like a lot, it’s half of what was excluded. The eight categories I excluded accounted for 15.6% of recent earnings.

It may be a little early in the game for comparisons, Google Adsense may need more time to adjust to the exclusions, but the drop wasn’t as big as expected.

Have you filtered out some of the categories? Any early results so far?

Out of all the people in the world, I email my wife the most (awww… isn’t that sweet?). However, when she quit her job last year and went back to school for her Ph.D, I had an annoying problem every time I drafted an email to her. When I would start typing her name in the To: box, it would always suggest her work email address. And every time, I would have to navigate to one of the other email addresses Gmail had on file for her.

It was only a minor annoyance so I let it go for a few months but it turns out the solution is quite simple. GMail maintains a list of your contacts even if you never add them to your address book and it uses that list to help you auto-complete email addresses. To remove an address from the list, do the following:

  • Click on Contacts in the left sidebar, it’s under your labels and above Tasks and the Chat box.
  • Then click on All Contacts to show your list of contacts.
  • Check the boxes that you want to remove, then click Delete contact(s) all the way to the right.

I circled the Contacts link in red and the Delete contacts button in green, here’s what it looks like:
Deleting Contacts from GMail

That’s it, no more auto-completing old email addresses that don’t even work anymore.