Got Ads?
  Vistaprint Free Business Cards - The Best Templates

When I build websites, I often get a set of free business cards from VistaPrint. I'll pass these around to people so they'll remember to try my new site.

VistaPrint will send you 250 cards on good quality paper for free. You only have to pay shipping - which is under $6. It's cheaper and easier than printing them yourself.

The problem is that VistaPrint offers 42 fairly mediocre designs for the free cards. I prefer simple cards, often with a white background.

Here are the 6 templates I currently like best. I'm not saying these are great designs, but they do the job just fine, and they're basically free.

If you click on these, it'll take you to vista print. The page number under each card is the page the specific template is on in the VistaPrint "Select Your Design" form. Fill in your info (I often leave fields blank, and just put the URL in the main name location) and get some free cards.

UPDATE: The New York Times covers VistaPrint - it's an impressive business model:

A printing company that has strung together 28 profitable quarters by selling — and giving away — business cards. The free cards, of which VistaPrint has distributed 2.5 billion, carry the company’s marketing message on the back.

The article describes how VistaPrint uses software to batch orders together and reduce costs by 50%. Knowing how well they measure and optimize online conversion, it's not surprising that the business is based around software optimization of a business process.


  Check from AOL Security Litigation

Having owned several stocks during the dot com era, I regularly get notices about security litigation. Sometimes I bother to fill them in. And, even more rarely, do I actually receive a check!

Here's my share of the distribution from a settlement against AOL / Time Warner.

Some stats: I get $180.69 from a theoretical distribution of: $2.39B. About 750,000 claims were filed. I think the laywers got most of the money, and Time Warner paid the SEC about $300M, from whence the checks have been drawn.

The wages of evil baby!


  The Craigslist of Radio - KSFH

You know how a lot of radio stations have a slogan like: "More Music, Less Talk"? What if there was an FM station that was "All Music, No Talk"?

There is, and during the summer, it just plays songs. All the time. One after another. No announcing of titles, no station ids, no PSAs, no emergency broadcast system, and of course, no ads. There's nobody there, so there's NO talk at all.

It's a good station, and if you live in Mt. View, CA or Los Altos, parts of Palo Alto, Sunnyvale and Cupertino, you might be able to listen to it: 87.9FM - KSFH. It's run by Saint Francis High School. I think it has a transmitter made of a Pringle's can and an old umbrella, however.

Anyways, as I listen to it, I think how easy it is for well-intentioned socialists like the people at Craigslist to destroy the classifieds business, simply by doing (most) everything for free. Google uses this to their advantage as well.

A radio station has limited reach (like 5 miles in this case), but on the Internet, you can disintermediate world-wide.


  Goog Q2 2007: Why They Missed

A Google Miss. The second in their history (Remember Q4 2005?).

I can't say I'm surprised at the miss, because Google eliminated a lot of advertiser spend this quarter with their ad quality improvements. In short, they kicked a lot of advertisers out of AdWords.

By focusing on the worst of the arbitrage, and made-for-adsense type sites, they took a hit. These were the sites that would basically consist of all ads, and so when a user clicked away from a Google ad, they'd go to another site, full of ads. Not the best experience. By eliminating those types of advertisers from the system, they cost themselves money in the name of "better" ads.

I'm sure they planned it - and I'm guessing they look at it as a kind of "weeding the garden". It's hard work, and it cost them this quarter, but they believe they'll have higher quality results, and happier users in the long run...

Labels: ,

  Finding Sample Code for Facebook Apps

So you want to build a facebook app? The easiest thing to do is find someone else's code and modify it for your purposes. Especially since the facebook API documentation isn't really that good yet.

Unfortunately, Facebook Apps aren't automatically open, like say HTML or Javascript pages are. So you can't just look at the code of a working application. That's too bad. It would help a lot.

As it stands, the Facebook docs have a dearth of sample code for the Facebook API.

However, in the process of writing my first Facebook App, I spent a lot of time Googling (try looking for 'facebook.php' and other common include files on, reading forums, the facebook developer wiki and blogs.

So here's an omnibus post on where to find example code for Facebook apps, and also a bunch of good links to posts that explain how to write a Facebook app.

Sources For Sample Code For Facebook Apps

Other Tips for Building Facebook Applications

A few bloggers have created posts which do a good job explaining how facebook apps work from a programming point of view. These are useful to read as you get started.

Facebook App Architecture Notes

The Washington Post has a team integrating on F8. Best of all, they have some bloggers writing about Facebooks apps in depth.

Here's a sample of their blogging about the architecture:

Facebook user's data in a generic fashion. The real advantage of this approach is that with just the UID of a Facebook user, I can load related data in a Facebook page or on the user's profile without having to do any processing on my end. For example, this --
        {% for friend in friends %}
               <fb:profile-pic uid="{{ friend }}" />
                   <fb:userlink uid="{{ friend }}">
                      <fb:name uid="{{ friend }}" useyou="false" />
        {% endfor %}
is an example in Django template syntax using FBML that would produce a list of friends with pictures.

Here are more tips and tricks to understanding the facebook platform from the devurandom guys. Some example code in Python in this post.


Notice there is a "Callback URL" and a "Canvas Page URL". The callback URL is the base URL on the developer's server ( in our case); the canvas page URL is the base URL on Facebook's server. When you install our app on Facebook, you are redirected to the canvas page URL, which in turn fetches content from the callback. You can have any number of callback pages extending off the base. If you went to, then that page would fetch content from

Now you can't go directly to because without the POST data Facebook submits to the callback URL, the application won't work. If you hit our server directly without coming through Facebook, we redirect to the Facebook URL for our app. In fact, every time Facebook hits our callback URL there is a little setup that has to be done for each request

Commentary from 20bits on Building Facebook Apps

Sample FBML code and description of application architecture.

How to make a good social app so it fits in Facebook

Gotchas when using the platform. Part I. Part II.

Tips from MyMoods developer on Getting Started with a Facebook App

10 Things that would have been nice to know when starting my facebook application

Sample Hint on updating users' profiles:

To do a more periodic update, you can just iterate over all your users, get their uids, and call profile_setFBML() on each. Remember, from above, you don't need to call set_user for each, just use your own session_key.

10 Tips on Getting your Facebook App approved and Growing Users

From inside facebook - 10 tips on promoting your app
  1. Spend time on your icons and screenshots - This is the first interaction your potential users will have with your app, so it had better be impressive, especially if you have competitor apps already out in the wild. There are three pieces to worry about: an application icon (16 x 16 pixels), an application logo (75 x 75 pixels) and a screenshot of any size you choose (which will be resized to the width of your About page). Make sure you have all of these ready to go before taking your app live.

Let me know if you find other examples and sample code, and I'll add it to this post.

Labels: ,

  The Real Reason Aaron Wall Does $1000 / day with AdSense

Did you know that Aaron Wall, the successful SEO blogger, makes from $800 - $1000 a day from AdSense? He also rakes in several hundred a day from selling his SEO Book. He's pretty darned successful.

You might think his success is due to one of the following reasons:

You might think that those were the reasons he's so successful, but you'd be sadly mistaken.

The REAL reason is far more arcane, obscure and mystical: letterology.

It's all due to the sequence of letters in his name. Specifically, the harmonious balance of 'doubles' - two letter repeats. Look carefully at his full name:

aaron matthew wall

See the aa, tt and ll in each of his first, middle and last name? Do you know how rare that "perfect sequence" of double letters is? It occurs in fewer than 1 in 12,480,961 full names. Notice the symmetry around the double t's in 'Matthew' - 7 letters on each side. If you ran an FFT frequency analysis on the letters in his name, you'd see a perfect Kondratieff wave! Can you believe it!?

I'm also having an Israeli letterology expert examine Aaron's domain name portfolio, since there's a certain je ne sais quoi to ''. Something with the o's, I think.


  Damn! Can Andreessen Blog or What?

Marc Andreessen's blog is pure goodness. His post on hiring / firing and HR for startups just rules. As do almost all of his posts. In 1 month, he's already written enough good stuff to make a best-selling book.

I don't understand why his domain name is "" What's the p for?

I recently saw him walking around in Palo Alto. He's bald as a ping-pong ball, but still looks pretty young. I think he still likes to eat at The Creamery.

  Usability Tip for Login Forms

Every day I log into about 10 different accounts to check reports, pay bills, etc.

A good login form should allow the user to do all the data entry on the keyboard. The user should be able to tab 2 times and press return.

Today I counted 4 login forms that break tab order. Azoogle is an example of a broken login form. Banks and credit cards often do odd things as well.


Forgot password?

In the example above I use the "tabindex" property to ensure a reasonable tab order. I also like to see the "Need help" or "Lost Password" links or "Remember Me?" checkbox after the submit button.

I'm not saying I'm the expert on usability, but login forms that don't work this way are annoying. Over the course of the year, they probably cost me about 3 minutes of lost productivity due to unnecessary mousing - or about 1/2 the time it took write this blog post...



Subscribe to GotAds?


Recent Posts

Vistaprint Free Business Cards - The Best Templates
Check from AOL Security Litigation
The Craigslist of Radio - KSFH
Goog Q2 2007: Why They Missed
Finding Sample Code for Facebook Apps
The Real Reason Aaron Wall Does $1000 / day with AdSense
Damn! Can Andreessen Blog or What?
Usability Tip for Login Forms


February 2005 /  March 2005 /  April 2005 /  May 2005 /  June 2005 /  July 2005 /  August 2005 /  September 2005 /  October 2005 /  November 2005 /  December 2005 /  January 2006 /  February 2006 /  March 2006 /  April 2006 /  May 2006 /  June 2006 /  July 2006 /  August 2006 /  September 2006 /  October 2006 /  November 2006 /  December 2006 /  January 2007 /  February 2007 /  March 2007 /  April 2007 /  May 2007 /  June 2007 /  July 2007 /  August 2007 /  September 2007 /  October 2007 /  November 2007 /  December 2007 /  January 2008 /  February 2008 /  March 2008 /  April 2008 /  May 2008 /  June 2008 /  July 2008 /  August 2008 /  September 2008 /  November 2008 /  December 2008 /  January 2009 /  March 2009 / 

Vistaprint Free Business Cards - The Best Templates
Check from AOL Security Litigation
The Craigslist of Radio - KSFH
Goog Q2 2007: Why They Missed
Finding Sample Code for Facebook Apps
The Real Reason Aaron Wall Does $1000 / day with AdSense
Damn! Can Andreessen Blog or What?
Usability Tip for Login Forms