{"id":146,"date":"2009-02-09T17:20:50","date_gmt":"2009-02-09T21:20:50","guid":{"rendered":"http:\/\/www.whoisgregg.com\/blog\/?p=146"},"modified":"2009-07-15T11:57:31","modified_gmt":"2009-07-15T15:57:31","slug":"my-gift-to-the-world-guy-kawasaki-minus-the-alltop","status":"publish","type":"post","link":"http:\/\/www.whoisgregg.com\/blog\/2009\/02\/my-gift-to-the-world-guy-kawasaki-minus-the-alltop\/","title":{"rendered":"My gift to the world, Guy Kawasaki minus the Alltop."},"content":{"rendered":"<p>I&#8217;m not the only one who is <a href=\"http:\/\/twitter.com\/kittell\/status\/1190862492\">frustrated<\/a> <a href=\"http:\/\/twitter.com\/dogflower\/statuses\/1185835278\">by<\/a> <a href=\"http:\/\/twitter.com\/fredjean\/statuses\/1185638892\">how<\/a> <a href=\"http:\/\/twitter.com\/DeepSpin\/statuses\/1175626427\">often<\/a> Guy posts about alltop. Guy&#8217;s response to the criticism? &#8220;<a href=\"http:\/\/search.twitter.com\/search?q=from%3Aguykawasaki+UFM\">Unfriend me.<\/a>&#8221;<\/p>\n<p>It&#8217;s nice that he&#8217;s honest about not changing, but it flies in the face of <a href=\"http:\/\/blog.guykawasaki.com\/2006\/04\/the_art_of_cust.html\">everything<\/a> he <a href=\"http:\/\/blog.guykawasaki.com\/2006\/04\/the_art_of_cust_1.html\">says<\/a> about <a href=\"http:\/\/blog.guykawasaki.com\/2006\/03\/the_art_of_driv.html\">listening<\/a> to the customer. With &#8220;do as he says, not as he does&#8221; in mind, I offer to put his customer&#8217;s back in control.<\/p>\n<p>Announcing a twitter bot that retweets everything Guy Kawasaki tweets, as long as it doesn&#8217;t contain &#8220;alltop.&#8221;<\/p>\n<p>Meet the <em>real<\/em> Guy Kawasaki: <a href=\"http:\/\/twitter.com\/gk_minusalltop\">http:\/\/twitter.com\/gk_minusalltop<\/a><\/p>\n<p>Caveats:<\/p>\n<ol>\n<li>It&#8217;s updated once a minute, so occasionally you&#8217;ll be 1 minute behind the over 60,000 other people who want to know what&#8217;s going on with Guy.<\/li>\n<li>If Guy complains, Twitter might choose to remove this account. I doubt that will happen since <a href=\"http:\/\/twitter.com\/galkawasaki\">Gal Kawasaki<\/a> seems to be allowed.<\/li>\n<li>I have no intention of checking any replies to gk_minusalltop. It&#8217;s a bot, you can contact me at my twitter account at @<a href=\"http:\/\/twitter.com\/whoisgregg\">whoisgregg<\/a> or leave a comment below.<\/li>\n<\/ol>\n<p><strong>Update #1<\/strong> I fixed the bug where @replies weren&#8217;t being posted. Apparently PHP&#8217;s implementation of cURL thinks that anything that starts with an &#8220;@&#8221; is a path to a file. All working now. Amazingly, over 20 followers and Guy noticed it right away. <a href=\"http:\/\/twitter.com\/whoisgregg\/status\/1193315167\">As I told him<\/a>, I like him and I like Alltop, but too much of the two together is not so good.<\/p>\n<p><strong>Update #2<\/strong> A bit more explanation of how this came to be&#8230; I saw <a href=\"http:\/\/twitter.com\/guykawasaki\/status\/1190559715\">this tweet<\/a> from Guy the other day where he explains that he sifts through 60K+ followers updates by simply ignoring anything that doesn&#8217;t contain &#8220;Alltop.&#8221;  My immediate thought was, &#8220;What a great idea! If only everyone who followed Guy could do the exact <em>opposite<\/em> for his tweets.&#8221; Today at lunch I realized I had just recently <a href=\"http:\/\/www.whoisgregg.com\/blog\/2009\/01\/twitter-bots.html\">coded up a twitter bot<\/a> and with a few modifications could have exactly that feature available. Amazingly people are already following it and at a rate much faster than can be explained by twitter spam bots. ;)<\/p>\n<p>I&#8217;m glad I could help. :)<\/p>\n<p><strong>Update #3<\/strong> @<a href=\"http:\/\/twitter.com\/gk_minusalltop\">gk_minusalltop<\/a> has been running 13 days and has attracted 131 followers. The bot updates the Bio with how many alltop tweets it has *not* retweeted. In 13 days, 265 of Guy&#8217;s 810 updates have included &#8220;Alltop&#8221; in them. So, basically a third less tweets and at Guy&#8217;s rate, <em>that&#8217;s 20 less tweets every day<\/em>. Definitely a worthwhile project. :)<\/p>\n<p><strong>Update #4<\/strong> @<a href=\"http:\/\/twitter.com\/gk_minusalltop\">gk_minusalltop<\/a> has been running 84 days and has attracted 589 followers. Guy linked to a page about Star Trek <a href=\"http:\/\/search.twitter.com\/search?q=from%3Aguykawasaki+kw32\">four times about a week ago<\/a>. He was being sneaky by using an adjix link to point to Alltop instead of being upfront about his advertising. Thanks to <a href=\"http:\/\/twitter.com\/askleo\/statuses\/1623391859\">Leo Notenboom<\/a> and <a href=\"http:\/\/twitter.com\/DotEd\/status\/1623429551\">Ed Palumbo<\/a> for catching it. The good news? The bot is smart enough now to check if Guy is posting an Alltop link without being honest about it. Should I add a counter for how many times he posts sneaky links? ;)<\/p>\n<p><strong>Update #5 <\/strong>Guy has switched from using Adjix to a new custom short URL service: trkk.us. Unfortunately, this service uses javascript redirects to circumvent the method @gk_minusalltop *was* using to check for sneaky links. I&#8217;m working on it, but I can see where this is headed. What a shame. :\/<\/p>\n<div>\n<figure id=\"attachment_379\" aria-describedby=\"caption-attachment-379\" style=\"width: 150px\" class=\"wp-caption alignright\"><a href=\"http:\/\/www.whoisgregg.com\/blog\/wp-content\/uploads\/2009\/02\/alltop-frame.png\"><img loading=\"lazy\" class=\"size-thumbnail wp-image-379\" title=\"Alltop Frame\" src=\"http:\/\/www.whoisgregg.com\/blog\/wp-content\/uploads\/2009\/02\/alltop-frame-150x150.png\" alt=\"ZOMG 102px tall!\" width=\"150\" height=\"150\" \/><\/a><figcaption id=\"caption-attachment-379\" class=\"wp-caption-text\">ZOMG 102px tall!<\/figcaption><\/figure>\n<\/div>\n<div><strong>Update #6<\/strong> It feels like whack-a-mole sometimes. Now Guy is using the URL shortening service om.ly which adds an incredible\u00a0102px tall neon gold and orange header around above other site&#8217;s content.<strong> And, of course, now there&#8217;s no hint of Alltop advertising in the tweet&#8217;s themselves. <\/strong>So, this is what I&#8217;ve done:<\/div>\n<div>\n<ul>\n<li>Automatically removes all ghosttwitter posts (they <em>always<\/em> advertise for Alltop)<\/li>\n<li>Do extra testing for any weird URL shorteners that pop up<\/li>\n<li>Hired an army of rabbits trained to recognize the particular shade of orange\/gold that Alltop uses to manually check each tweet<\/li>\n<\/ul>\n<\/div>\n<p>Of course, if the rabbits get tired or run out of food, the occasional tweet may slip through. The trick is to <a href=\"http:\/\/twitter.com\/?status=@whoisgregg+Guy+is+spamming+again.+Grrr!\">tell me as soon as you recognize an Alltop spamvertisement<\/a> so I can train the rabbits to recognize the new trick. BTW, that screenshot links to an article with this great quote:<\/p>\n<blockquote><p><em>The most important lesson that I\u2019ve learned about business through all these years is that the great companies are founded on the desire to make meaning\u2014and not necessarily to make money.<br \/>\n<br \/>&#8211; Guy Kawasaki<\/em><\/p><\/blockquote>\n<p><em><span style=\"font-style: normal;\">Thanks for that, Guy.<\/span><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m not the only one who is frustrated by how often Guy posts about alltop. Guy&#8217;s response to the criticism? &#8220;Unfriend me.&#8221; It&#8217;s nice that he&#8217;s honest about not changing, but it flies in the face of everything he says about listening to the customer. With &#8220;do as he says, not as he does&#8221; in&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10,19],"tags":[],"_links":{"self":[{"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/posts\/146"}],"collection":[{"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/comments?post=146"}],"version-history":[{"count":18,"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":383,"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/posts\/146\/revisions\/383"}],"wp:attachment":[{"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/media?parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/categories?post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.whoisgregg.com\/blog\/wp-json\/wp\/v2\/tags?post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}