{"id":784,"date":"2010-05-17T00:11:25","date_gmt":"2010-05-17T08:11:25","guid":{"rendered":"http:\/\/www.codebelay.com\/blog\/?p=784"},"modified":"2010-05-17T00:11:25","modified_gmt":"2010-05-17T08:11:25","slug":"url-shorteners-tinyurl-com-bit-ly-and-seductive-me","status":"publish","type":"post","link":"https:\/\/www.codebelay.com\/blog\/2010\/05\/17\/url-shorteners-tinyurl-com-bit-ly-and-seductive-me\/","title":{"rendered":"URL Shorteners: tinyurl.com bit.ly and seductive.me"},"content":{"rendered":"<p>There&#8217;s a pretty useful spreadsheet comparing different URL shorteners here:<br \/>\n<a href=\"http:\/\/spreadsheets.google.com\/pub?key=pApF4slh39ZkqUOoZQSo8bg\">http:\/\/spreadsheets.google.com\/pub?key=pApF4slh39ZkqUOoZQSo8bg<\/a> .<\/p>\n<p><a href=\"http:\/\/tinyurl.com\/\">Tinyurl<\/a> just really shortens your URL and doesn&#8217;t provide any other data. A great feature is the preview option that allows you to preview a link so you don&#8217;t get Rick-rolled.<\/p>\n<p><a href=\"http:\/\/bit.ly\/\">Bit.ly<\/a> is my favorite service. The features I like are<\/p>\n<ul>\n<li>its <a href=\"http:\/\/code.google.com\/p\/bitly-api\/wiki\/ApiDocumentation\">API<\/a>,<\/li>\n<li>its analytics, and <\/li>\n<li>its <a href=\"http:\/\/bitly.pro\/\">Pro feature<\/a> which allows you to make a branded URL shortener<\/li>\n<\/ul>\n<p>I wanted to figure out just how much effort it was to code a URL so I coded up my own MVC <a href=\"http:\/\/toys.lerdorf.com\/archives\/38-The-no-framework-PHP-MVC-framework.html\">based on Rasmus&#8217; article on making one in PHP<\/a>, and added URL shortening code to it. You can <a href=\"http:\/\/github.com\/barce\/ezmvc\">get the URL shortener I wrote<\/a> on Github.<\/p>\n<p>Here are a few things that I noticed once I put this code on <a href=\"http:\/\/seductive.me\/\">Seductive.me<\/a>:<\/p>\n<ol>\n<li><a href=\"http:\/\/twitter.com\/nikibobb\/status\/13940708676\">Somebody found a bad, infinite loop<\/a> that I accidentally put into the code<\/li>\n<li>URL Shortener services that offer analytics have to sort out &#8220;bots&#8221; from real user clicks, and I&#8217;m not sure they are correct 100% of the time<\/li>\n<li>Using CRC32 as my hashing mechanism for shortening URLs will cause <a href=\"http:\/\/www.codinghorror.com\/blog\/2007\/08\/url-shortening-hashes-in-practice.html\">a link collision after 65,536 URLs<\/a> shortened.<\/li>\n<li>Seductive.me is a lame url for a URL shortener which is why I got <a href=\"http:\/\/3vi.be\">3vi.be<\/a> the next day.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s a pretty useful spreadsheet comparing different URL shorteners here: http:\/\/spreadsheets.google.com\/pub?key=pApF4slh39ZkqUOoZQSo8bg . Tinyurl just really shortens your URL and doesn&#8217;t provide any other data. A great feature is the preview option that allows you to preview a link so you don&#8217;t get Rick-rolled. Bit.ly is my favorite service. The features I like are its API, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56,5,70,33],"tags":[],"class_list":["post-784","post","type-post","status-publish","format-standard","hentry","category-php","category-techbiz","category-webalytics","category-webapps"],"_links":{"self":[{"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/posts\/784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/comments?post=784"}],"version-history":[{"count":0,"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/posts\/784\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/media?parent=784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/categories?post=784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codebelay.com\/blog\/wp-json\/wp\/v2\/tags?post=784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}