<?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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Gabriel Weinberg's Blog</title>
    <link rel="alternate" type="text/html" href="http://www.gabrielweinberg.com/blog/" />
    
    <id>tag:www.gabrielweinberg.com,2008-03-31:/blog//1</id>
    <updated>2009-07-06T20:07:59Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.26</generator>

<geo:lat>40.126271</geo:lat><geo:long>-75.523411</geo:long><link rel="self" href="http://feeds.feedburner.com/yegg" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
    <title>What makes you weird?</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/WRiVBqlJl0I/what-makes-you-weird.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.56</id>

    <published>2009-07-06T12:13:00Z</published>
    <updated>2009-07-06T20:07:59Z</updated>

    <summary><![CDATA[What does most (&gt;75%) of the population (of your country) do that you do not?Note that I'm not asking what makes you unique. &nbsp;For example, I'm an INTJ, which is one of those 1% personality types. However, it's not like 99% of people are one personality type and then us INTJs are the other one. There are 16 Myers-Briggs types, so this doesn't count, although it certainly contributes to my uniqueness.I'm looking for (at least almost) binary things. The first thing I thought of is that don't drink, but it turns out 40% of Americans don't drink. &nbsp;So that doesn't...]]></summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Question" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Selfref" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="question" label="Question" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="selfref" label="Selfref" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        &lt;div&gt;&lt;div&gt;What does most (&amp;gt;75%) of the population (of your country) do that you do not?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note that I'm not asking what makes you unique. &amp;nbsp;For example, I'm an &lt;a href="http://duckduckgo.com/INTJ"&gt;INTJ&lt;/a&gt;, which is one of those 1% personality types. However, it's not like 99% of people are one personality type and then us INTJs are the other one. There are 16 Myers-Briggs types, so this doesn't count, although it certainly contributes to my uniqueness.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm looking for (at least almost) binary things. The first thing I thought of is that don't drink, but it turns out &lt;a href="http://www.cdc.gov/nchs/fastats/alcohol.htm"&gt;40% of Americans don't drink&lt;/a&gt;. &amp;nbsp;So that doesn't count.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's some things that seem to count (with my % estimates):&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;I have a &lt;a href="http://factfinder.census.gov/servlet/STTable?_bm=y&amp;amp;-geo_id=01000US&amp;amp;-qr_name=ACS_2007_3YR_G00_S1501&amp;amp;-ds_name=ACS_2007_3YR_G00_"&gt;graduate degree&lt;/a&gt;&amp;nbsp;(10% of US pop&amp;gt;25). (A bachelor's degree doesn't cut it any more as 27% of the US population over 25 has one.)&lt;/li&gt;&lt;li&gt;I went to a &lt;a href="http://colleges.usnews.rankingsandreviews.com/college/national-search"&gt;top-10 school&lt;/a&gt;&amp;nbsp;(3% of school goers).&lt;/li&gt;&lt;li&gt;I am a &lt;a href="http://factfinder.census.gov/servlet/IBQTable?_bm=y&amp;amp;-ds_name=SB0200A1"&gt;business owner&lt;/a&gt;&amp;nbsp;(15% of US pop&amp;gt;25).&lt;/li&gt;&lt;li&gt;I did not get a job after school. (I started a business instead.) &amp;nbsp;I can't find a stat here, but I'm sure it is very low.&lt;/li&gt;&lt;li&gt;I'm a&amp;nbsp;&lt;a href="http://www.rebeldad.com/stats.htm" style="text-decoration: underline; "&gt;stay-at-home Dad&lt;/a&gt;&amp;nbsp;(1% of dads).&lt;/li&gt;&lt;li&gt;I &lt;a href="http://www.pewinternet.org/Commentary/2008/July/New-numbers-for-blogging-and-blog-readership.aspx"&gt;blog&lt;/a&gt; (12% of Internet users).&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;What about you?&lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=WRiVBqlJl0I:XsuirWqdIbs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=WRiVBqlJl0I:XsuirWqdIbs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=WRiVBqlJl0I:XsuirWqdIbs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=WRiVBqlJl0I:XsuirWqdIbs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=WRiVBqlJl0I:XsuirWqdIbs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=WRiVBqlJl0I:XsuirWqdIbs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=WRiVBqlJl0I:XsuirWqdIbs:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/07/what-makes-you-weird.html</feedburner:origLink></entry>

<entry>
    <title>Things about Web Images I Just Learned</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/CczzKINCHwQ/things-about-web-images-i-just-learned.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.55</id>

    <published>2009-06-16T14:17:23Z</published>
    <updated>2009-06-17T00:39:23Z</updated>

    <summary><![CDATA[I thought I knew everything you needed to know about Web images. &nbsp;But, of course, I didn't. Here's what I just learned when launching the new icon bar on the homepage of Duck Duck Go. We&nbsp;wanted the it to function sort of like the Apple dashboard (and on the Web like&nbsp;Schmedley's bottom bar).img{-ms-interpolation-mode:bicubic}. Short version: if you resize images dynamically, they will look bad on IE unless you put this in your CSS.Longer version: &nbsp;We ended up using the YUI Animation Library to do the animation. &nbsp;But no matter how we did it using 1 image, it always looked terrible...]]></summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Code" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Internet" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="code" label="Code" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="duckduckgo" label="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="images" label="Images" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="internet" label="Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        I thought I knew everything you needed to know about Web images. &amp;nbsp;But, of course, I didn't. Here's what I just learned when launching the new icon bar on the homepage of &lt;a href="http://duckduckgo.com/"&gt;Duck Duck Go&lt;/a&gt;. We&amp;nbsp;wanted the it to function sort of like the Apple dashboard (and on the Web like&amp;nbsp;&lt;a href="http://schmedley.com/" style="text-decoration: underline;"&gt;Schmedley&lt;/a&gt;'s bottom bar).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;img{-ms-interpolation-mode:bicubic}. &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Short version: if you resize images dynamically, they will look bad on IE unless you put this in your CSS.&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Longer version: &amp;nbsp;We ended up using the &lt;a href="http://developer.yahoo.com/yui/animation/"&gt;YUI Animation Library&lt;/a&gt; to do the animation. &amp;nbsp;But no matter how we did it using 1 image, it always looked terrible on IE. &amp;nbsp;Even if we used an image exactly as big as the big size, and did the smaller image exactly half of the bigger size (which should be easy to resize), it still looked bad.&lt;br /&gt;&lt;br /&gt;So then we tried using two images, which sort-of worked, but had its own issues. &amp;nbsp;Sometimes it would slow down the animation. It used almost double the image size and requests (a big no-no), and the actual resizing still looked bad (as opposed to the endpoints)!&lt;br /&gt;&lt;br /&gt;This was unacceptable, so I decided to dig deeper on the Web about this issue. &amp;nbsp;It turns out modern browsers use &lt;a href="http://duckduckgo.com/Bicubic_interpolation"&gt;Bicubic interpolation&lt;/a&gt; to resize images and make them look good in the process. For whatever reason, IE7+ has decided to turn it off by default. I'm guessing this is because it takes some processing power, but it renders resized images looking terrible so I personally don't think this is a good&amp;nbsp;trade off. &amp;nbsp;Anyway, if you add that above CSS to your page, IE7+ will use this method and your images will look good. I suppose I never hit this before because usually you&amp;nbsp;shouldn't&amp;nbsp;be resizing images&amp;nbsp;dynamically. But there are cases where you want to do it...&lt;br /&gt;&lt;br /&gt;Unfortunately, it still doesn't work for IE6, on which you need to use the good ol' &lt;a href="http://msdn.microsoft.com/en-us/library/ms532969.aspx"&gt;AlphaImageLoader&lt;/a&gt; (sizingMethod='scale') if you want to support that browser.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Photoshop/Illustrator's 'Save for Web...' does not fully optimize.&lt;/b&gt;&amp;nbsp;Perhaps my versions of Photoshop and Illustrator are too old, but I suspect this is still the case with the newer versions. I pretty much used these blind, assuming they were&amp;nbsp;optimizing&amp;nbsp;correctly. And don't get me wrong, it does a decent job, but its just not the best. Instead, run your images through Yahoo!'s &lt;a href="http://smush.it/"&gt;smush.it&lt;/a&gt; site.&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;If you really do not need PNG-24, use PNG-8&lt;/b&gt;&lt;b&gt;. &lt;/b&gt;PNG-8 is really a better GIF. But it is limited in color&amp;nbsp;palette&amp;nbsp;and transparency with respect to PNG-24. That being said, often you don't need the difference, especially for things like icons. When you can, use PNG-8 because you'll get much smaller file sizes.&lt;br /&gt;&lt;br /&gt;That being said, you might think you need PNG-24 when you really don't. I did. I had these icons made that had full transparency. I knew, however, they were going to be on a white background, so I really didn't need all the transparency. Yet when I tried to save it as PNG-8, it just looked bad. The colors were all off. So it made me think that I needed PNG-24, but in reality it was Photoshop's optimization stuff that was being poor. In their defense, I wasn't helping them out by setting the white background ahead of time, which leads me to:&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;If you want to save a PNG-24 image as PNG-8, put in the background first.&lt;/b&gt;&amp;nbsp;Once I made a white background layer, Photoshop then did a great job of saving it as PNG-8. And in fact, I could reduced the file size even more by using even less than 256 colors. Of course, I still had to run it through smush.it.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;CSS sprites may reduce your page load (and image size further). &lt;/b&gt;CSS sprites are a way to group your images into one big file and then split them into&amp;nbsp;separate&amp;nbsp;files via CSS. There is a useful Web site to help you make them at &lt;a href="http://csssprites.com/"&gt;csssprites.com&lt;/a&gt;. I couldn't figure out how to use it with my resizing requirements, but in the general case it should be at least tried, especially for icons where the color palette for your icons are&amp;nbsp;similar. You get a win in image size. But you get a bigger win in reducing HTTP requests.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Custom icons are not that expensive.&lt;/b&gt;&amp;nbsp;We got $40 custom icons and $10 recolored icons from &lt;a href="http://iconshock.com/"&gt;iconshock.com&lt;/a&gt;. We talked to other icon designer firms as well, and prices were similar. Full disclosure: we created more than 3 icons (7), so we got a bit of a bulk discount. I did have a bad experience with iconeden.com, however. So I'd stay away from them.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;For more image optimization tips, check out &lt;a href="http://www.slideshare.net/stoyan/image-optimization-for-the-web-at-phpworks-presentation?type=powerpoint"&gt;Yahoo!'s presentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;b&gt;Update&lt;/b&gt;: additional comments can be found&amp;nbsp;&lt;a href="http://news.ycombinator.com/item?id=660315" style="outline-style: none; color: rgb(74, 145, 227); text-decoration: underline;"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=CczzKINCHwQ:4OOej5a4UR0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=CczzKINCHwQ:4OOej5a4UR0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=CczzKINCHwQ:4OOej5a4UR0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=CczzKINCHwQ:4OOej5a4UR0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=CczzKINCHwQ:4OOej5a4UR0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=CczzKINCHwQ:4OOej5a4UR0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=CczzKINCHwQ:4OOej5a4UR0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/06/things-about-web-images-i-just-learned.html</feedburner:origLink></entry>

<entry>
    <title>A Harsh CSS Environment for Testing Widgets</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/zjSVBznBb1M/a-harsh-css-environment-for-testing-widgets.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.54</id>

    <published>2009-06-07T16:53:13Z</published>
    <updated>2009-06-07T19:09:29Z</updated>

    <summary>Embedded widgets can face harsh CSS environments, but usually not this harsh:#harsh * {border: thin dotted #00FF00 !important;display: block !important;margin: 20 !important;outline: 1px dotted red !important;padding: 20 !important;background: #00ff00 !important;cursor: move !important;clear: both !important;float: left !important;height: 0 !important;max-height: 0 !important;max-width: 0 !important;min-height: 100px !important;min-width: 100px !important;visibility: hidden !important;width: 0 !important;bottom: 100px !important;clip: rect(100px, 50px, 100px, 50px) !important;left: 100px !important;overflow: visible !important;position: absolute !important;right: 100px !important;top: 100px !important;vertical-align: sub !important;z-index: 100 !important;color: red !important;direction: rtl !important;font: oblique small-caps 900 20px/50px arial !important;font-size-adjust: .01 !important;font-stretch: ultra-expanded !important;letter-spacing: 20px !important;list-style: decimal inside !important;text-align: right !important;text-decoration: blink !important;text-indent: 100px !important;text-shadow: #000 30px !important;text-transform: uppercase...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Code" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Internet" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="code" label="Code" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="internet" label="Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        &lt;div&gt;Embedded widgets can face harsh CSS environments, but usually not this harsh:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;#harsh * {&lt;/div&gt;&lt;div&gt;border: thin dotted #00FF00 !important;&lt;/div&gt;&lt;div&gt;display: block !important;&lt;/div&gt;&lt;div&gt;margin: 20 !important;&lt;/div&gt;&lt;div&gt;outline: 1px dotted red !important;&lt;/div&gt;&lt;div&gt;padding: 20 !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;background: #00ff00 !important;&lt;/div&gt;&lt;div&gt;cursor: move !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;clear: both !important;&lt;/div&gt;&lt;div&gt;float: left !important;&lt;/div&gt;&lt;div&gt;height: 0 !important;&lt;/div&gt;&lt;div&gt;max-height: 0 !important;&lt;/div&gt;&lt;div&gt;max-width: 0 !important;&lt;/div&gt;&lt;div&gt;min-height: 100px !important;&lt;/div&gt;&lt;div&gt;min-width: 100px !important;&lt;/div&gt;&lt;div&gt;visibility: hidden !important;&lt;/div&gt;&lt;div&gt;width: 0 !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;bottom: 100px !important;&lt;/div&gt;&lt;div&gt;clip: rect(100px, 50px, 100px, 50px) !important;&lt;/div&gt;&lt;div&gt;left: 100px !important;&lt;/div&gt;&lt;div&gt;overflow: visible !important;&lt;/div&gt;&lt;div&gt;position: absolute !important;&lt;/div&gt;&lt;div&gt;right: 100px !important;&lt;/div&gt;&lt;div&gt;top: 100px !important;&lt;/div&gt;&lt;div&gt;vertical-align: sub !important;&lt;/div&gt;&lt;div&gt;z-index: 100 !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;color: red !important;&lt;/div&gt;&lt;div&gt;direction: rtl !important;&lt;/div&gt;&lt;div&gt;font: oblique small-caps 900 20px/50px arial !important;&lt;/div&gt;&lt;div&gt;font-size-adjust: .01 !important;&lt;/div&gt;&lt;div&gt;font-stretch: ultra-expanded !important;&lt;/div&gt;&lt;div&gt;letter-spacing: 20px !important;&lt;/div&gt;&lt;div&gt;list-style: decimal inside !important;&lt;/div&gt;&lt;div&gt;text-align: right !important;&lt;/div&gt;&lt;div&gt;text-decoration: blink !important;&lt;/div&gt;&lt;div&gt;text-indent: 100px !important;&lt;/div&gt;&lt;div&gt;text-shadow: #000 30px !important;&lt;/div&gt;&lt;div&gt;text-transform: uppercase !important;&lt;/div&gt;&lt;div&gt;unicode-bidi: embed;&lt;/div&gt;&lt;div&gt;white-space: pre !important;&lt;/div&gt;&lt;div&gt;word-spacing: 20px !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;border-collapse: separate !important;&lt;/div&gt;&lt;div&gt;border-spacing: 30px !important;&lt;/div&gt;&lt;div&gt;caption-side: bottom !important;&lt;/div&gt;&lt;div&gt;empty-cells: show !important;&lt;/div&gt;&lt;div&gt;table-layout: fixed !important;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If your widget looks OK inside &amp;lt;div id="harsh"&gt;&amp;lt;/div&gt;, then it will probably look OK anywhere.  I made this &lt;a href="http://www.gabrielweinberg.com/blog/harsh-css.html"&gt;HTML example&lt;/a&gt; (view source) for easy testing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why does this matter? Suppose a site has a black background and white text, but your widget has a white background but no text color set--none of your text would show.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To deal with a harsh environment, you need some armor:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&amp;lt;style type="text/css"&gt;&lt;/div&gt;&lt;div&gt;#armor, #armor * {&lt;/div&gt;&lt;div&gt;border: none !important;&lt;/div&gt;&lt;div&gt;display: block !important;&lt;/div&gt;&lt;div&gt;margin: 0 !important;&lt;/div&gt;&lt;div&gt;outline: none !important;&lt;/div&gt;&lt;div&gt;padding: 0 !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;background: #fff !important;&lt;/div&gt;&lt;div&gt;cursor: auto !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;clear: none !important;&lt;/div&gt;&lt;div&gt;float: none !important;&lt;/div&gt;&lt;div&gt;height: auto !important;&lt;/div&gt;&lt;div&gt;max-height: none !important;&lt;/div&gt;&lt;div&gt;max-width: none !important;&lt;/div&gt;&lt;div&gt;min-height: 0 !important;&lt;/div&gt;&lt;div&gt;min-width: 0 !important;&lt;/div&gt;&lt;div&gt;visibility: visible !important;&lt;/div&gt;&lt;div&gt;width: auto !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;bottom: auto !important;&lt;/div&gt;&lt;div&gt;clip: auto !important;&lt;/div&gt;&lt;div&gt;left: auto !important;&lt;/div&gt;&lt;div&gt;overflow: auto !important;&lt;/div&gt;&lt;div&gt;position: relative !important;&lt;/div&gt;&lt;div&gt;right: auto !important;&lt;/div&gt;&lt;div&gt;top: auto !important;&lt;/div&gt;&lt;div&gt;vertical-align: top !important;&lt;/div&gt;&lt;div&gt;z-index: 1 !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;color: #000 !important;&lt;/div&gt;&lt;div&gt;direction: ltr !important;&lt;/div&gt;&lt;div&gt;font: normal normal normal 11px/14px tahoma,sans-serif !important;&lt;/div&gt;&lt;div&gt;font-size-adjust: none !important;&lt;/div&gt;&lt;div&gt;font-stretch: normal !important;&lt;/div&gt;&lt;div&gt;letter-spacing: normal !important;&lt;/div&gt;&lt;div&gt;list-style: none !important;&lt;/div&gt;&lt;div&gt;text-align: left !important;&lt;/div&gt;&lt;div&gt;text-decoration: none !important;&lt;/div&gt;&lt;div&gt;text-indent: 0 !important;&lt;/div&gt;&lt;div&gt;text-shadow: none !important;&lt;/div&gt;&lt;div&gt;text-transform: none !important;&lt;/div&gt;&lt;div&gt;unicode-bidi: normal;&lt;/div&gt;&lt;div&gt;white-space: normal !important;&lt;/div&gt;&lt;div&gt;word-spacing: normal !important;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;border-collapse: collapse !important;&lt;/div&gt;&lt;div&gt;border-spacing: 0 !important;&lt;/div&gt;&lt;div&gt;caption-side: left !important;&lt;/div&gt;&lt;div&gt;empty-cells: hide !important;&lt;/div&gt;&lt;div&gt;table-layout: auto !important;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you wrap your widget in &amp;lt;div id="armor"&gt;&amp;lt;/div&gt;, it should work OK. I made another &lt;a href="http://www.gabrielweinberg.com/blog/harsh-css-armor.html"&gt;HTML example&lt;/a&gt; (view source) for testing this armor.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I tested #armor cross browser using my test systems and &lt;a href="http://browsershots.org/"&gt;browsershots.org&lt;/a&gt;. Of course, there are most likely still bugs, so please tell me about them!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To develop #harsh, I used the &lt;a href="http://w3schools.com/css/css_reference.asp"&gt;w3schools CSS Reference&lt;/a&gt;, which you can also use to figure out if you want to change the properties in #armor, or apply more thereafter. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To apply additional styling after #armor, use ids instead of classes, e.g. id=""/# and not class=""/. because a particularly harsh use of #id * will override your classes. Of course, if you aren't that paranoid, you could back off the * in #armor and use classes instead.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You could also just use inline styling, i.e. style="". There may also be a better way to do it that I just haven't thought of yet. If you know of one, do tell...&lt;/div&gt;&lt;/div&gt; 
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=zjSVBznBb1M:GlUFblCRAVk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=zjSVBznBb1M:GlUFblCRAVk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=zjSVBznBb1M:GlUFblCRAVk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=zjSVBznBb1M:GlUFblCRAVk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=zjSVBznBb1M:GlUFblCRAVk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=zjSVBznBb1M:GlUFblCRAVk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=zjSVBznBb1M:GlUFblCRAVk:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/06/a-harsh-css-environment-for-testing-widgets.html</feedburner:origLink></entry>

<entry>
    <title>Introducing the Duck Duck Go Blog</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/OrkErOeyjEo/introducing-the-duck-duck-go-blog.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.52</id>

    <published>2009-05-26T21:27:58Z</published>
    <updated>2009-05-26T21:40:32Z</updated>

    <summary>Today I started the official blog for Duck Duck Go, aptly named Duck Duck Blog.  The inaugural post is What People Search First at Duck Duck Go.  The general blog feed is here.The idea for the new blog is to give you a unique view on search from inside a search engine.  In particular, I hope the posts will be on things that you won't find elsewhere and will have a propensity towards data and technical stuff. So add it your blog reader!I'm still going to post about Duck Duck Go here (on this blog), but will stick to non-search...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Selfref" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="duckduckgo" label="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="selfref" label="Selfref" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        Today I started the official blog for Duck Duck Go, aptly named &lt;a href="http://duckduckgo.com/blog/"&gt;Duck Duck Blog&lt;/a&gt;.  The inaugural post is &lt;a href="http://duckduckgo.com/blog/what-people-search-first-at-duck-duck-go.html"&gt;What People Search First at Duck Duck Go&lt;/a&gt;.  The general blog feed is &lt;a href="http://duckduckgo.com/blog/rss.xml"&gt;here&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The idea for the new blog is to give you a unique view on search from inside a search engine.  In particular, I hope the posts will be on things that you won't find elsewhere and will have a propensity towards data and technical stuff. So add it your blog reader!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm still going to post about Duck Duck Go here (on this blog), but will stick to non-search specific things like Perl code and CSS/JS hacks. &lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=OrkErOeyjEo:j73qSh-bIig:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=OrkErOeyjEo:j73qSh-bIig:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=OrkErOeyjEo:j73qSh-bIig:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=OrkErOeyjEo:j73qSh-bIig:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=OrkErOeyjEo:j73qSh-bIig:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=OrkErOeyjEo:j73qSh-bIig:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=OrkErOeyjEo:j73qSh-bIig:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/05/introducing-the-duck-duck-go-blog.html</feedburner:origLink></entry>

<entry>
    <title>Duck Duck Go on CNN Home Page!</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/N9RmEgy-BIo/duck-duck-go-on-cnn-home-page.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.51</id>

    <published>2009-05-16T14:50:31Z</published>
    <updated>2009-05-16T21:29:38Z</updated>

    <summary>Duck Duck Go is on the top of the CNN home page!  Well, our logo is :). Sadly, there is no link to us in the story, but I'm not complaining at all.  Seriously.  I couldn't be more happy and proud.None of my projects have ever been on CNN, let alone in the lead featured article.I'm even more proud because the other 5 companies pictured all have ridiculous funding. While they have over $150M in combined funding, we are bootstrapped.Believe it or not, even without the link, we're still getting a decent amount of traffic though. t's funny--the Go of Duck...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Internet" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Selfref" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Startups" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="duckduckgo" label="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="internet" label="Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="selfref" label="Selfref" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="startups" label="Startups" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        &lt;div&gt;&lt;a href="http://duckduckgo.com/"&gt;Duck Duck Go&lt;/a&gt; is on the top of the &lt;a href="http://cnn.com/"&gt;CNN home page&lt;/a&gt;!  Well, our logo is :). Sadly, there is no link to us in the story, but I'm not complaining at all.  Seriously.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I couldn't be more happy and proud.None of my projects have ever been on CNN, let alone in the lead featured article.I'm even more proud because the other 5 companies pictured all have ridiculous funding. While they have over $150M in combined funding, we are bootstrapped.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Believe it or not, even without the link, we're still getting a decent amount of traffic though. t's funny--the Go of Duck Duck Go is not in the picture so we're getting a lot of requests from people searching "duck duck" in Google and CNN.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway here's the &lt;a href="http://www.cnn.com/2009/TECH/05/12/future.search.engine/index.html"&gt;story link&lt;/a&gt; for when it is off the home page. And here's &lt;a href="http://www.gabrielweinberg.com/blog/cnn.pdf"&gt;a snapshot&lt;/a&gt; that documents this was real!&lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=N9RmEgy-BIo:31R513iTZHs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=N9RmEgy-BIo:31R513iTZHs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=N9RmEgy-BIo:31R513iTZHs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=N9RmEgy-BIo:31R513iTZHs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=N9RmEgy-BIo:31R513iTZHs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=N9RmEgy-BIo:31R513iTZHs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=N9RmEgy-BIo:31R513iTZHs:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/05/duck-duck-go-on-cnn-home-page.html</feedburner:origLink></entry>

<entry>
    <title>Really Disappointed with MIT Cutting Sports</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/GYRQtYvs_sU/really-disappointed-with-mit-cutting-sports.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.50</id>

    <published>2009-04-25T01:23:08Z</published>
    <updated>2009-04-25T16:34:47Z</updated>

    <summary>Today I am really really disappointed in MIT, my alma mater.  Yesterday they officially announced that they are cutting eight varsity sports.  No longer will we be able to say we offer "the most varsity sports of any university."The stupidest part about it is the reason: "the severity of the economic downturn." Cutting these sports will apparently save $485,000.  Compare that to MIT's endowment of $10B (yes, that is billion). And MIT's endowment actually rose in fiscal year 2008 by 3.2%, or $88M!So let me get this straight. MIT has $10B and recently made $88M on it, and is cutting something dear to the MIT community that costs a meager...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        Today I am really really disappointed in MIT, my alma mater.  Yesterday they &lt;a href="http://mitathletics.cstv.com/genrel/042309aaa.html"&gt;officially announced&lt;/a&gt; that they are cutting eight varsity sports.  No longer will we be able to say we offer "&lt;a href="http://tech.mit.edu/V129/N18/varsitysports.html"&gt;the most varsity sports of any university&lt;/a&gt;."&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The stupidest part about it is the reason: "the severity of the economic downturn." Cutting these sports will apparently save $485,000.  Compare that to MIT's endowment of $10B (yes, that is &lt;span class="Apple-style-span" style="font-style: italic; "&gt;billion&lt;/span&gt;). And MIT's endowment &lt;a href="http://tech.mit.edu/V128/N45/endowment.html"&gt;actually rose&lt;/a&gt; in fiscal year 2008 by 3.2%, or $88M!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So let me get this straight. MIT has $10B and recently made $88M on it, and is cutting something dear to the MIT community that costs a meager $485K. That is pure insanity. What is the endowment for if not to protect things in uncertain times that people care deeply about?  Adding insult to injury, it was only a few years ago that MIT spent &lt;a href="http://tech.mit.edu/V122/N27/27ztour.27n.html"&gt;over $50M&lt;/a&gt; on a new athletic center. So you spend all that money and then cut sports at a small fraction of that cost?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not only that, look at what they are cutting. Among the sports is MIT's pistol team, which has historically been one of the best performing MIT sports. In 2007, they &lt;a href="http://tech.mit.edu/V127/N14/pistol.html"&gt;won the national championship&lt;/a&gt;, beating out Army and Navy! And that is not the first time. Yes, you read that right--Army and Navy...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To some, perhaps most, this may not seem like a big deal.  MIT students don't play sports, right? Wrong! MIT has long prided itself with it's sports offerings and participation. It is also used as a recruiting tool. I've been interviewing students for admission for several years now, and it pretty much comes up in every interview.  That stat about our breadth of sports quickly puts to rest any doubts that MIT students do nothing more than academics. Believe it or not, this is paramount on most prospective students' minds.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I guess the bottom line is I just don't get it. It is a trivial amount of money compared to the MIT endowment. I can understand that bureaucracy may have created this problem. That is, the administration asks every department to cut 15%, and this is what the athletic department came up with. But then the administration should step in and revoke this short-sighted idea. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MIT is almost a 150-year-old institution and they are managing it like a public company who are slaves to quarterly earnings. The endowment has been growing steadily for decades. Yes, this might be a bad year. But there will be good ones again soon. Just the same as you shouldn't over-spend in the good years, you shouldn't under-spend in the bad ones. MIT should take a long-term view and consistently maintain the average MIT experience and culture. Why would anyone want to donate to an institution that is managing their endowment so poorly?&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-size: 18px; font-weight: bold; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=GYRQtYvs_sU:Hayj5Qe11fM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=GYRQtYvs_sU:Hayj5Qe11fM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=GYRQtYvs_sU:Hayj5Qe11fM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=GYRQtYvs_sU:Hayj5Qe11fM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=GYRQtYvs_sU:Hayj5Qe11fM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=GYRQtYvs_sU:Hayj5Qe11fM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=GYRQtYvs_sU:Hayj5Qe11fM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/04/really-disappointed-with-mit-cutting-sports.html</feedburner:origLink></entry>

<entry>
    <title>How Twitter Helps Me (Specific Use Cases)</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/dYb9K9r1Gzo/how-twitter-helps-me-specific-use-cases.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.48</id>

    <published>2009-04-20T15:02:24Z</published>
    <updated>2009-04-20T17:29:53Z</updated>

    <summary>The recent surge in twitter press is amazing. A lot of my less technical friends and family have been asking me about it, usually with skeptical tones.  Why would you do that?  You use it--really?At first, I too was skeptical.  It took me a while to adopt and then even longer to make regular updates.  Even now I've only made 322 of them.  Recently I had a long discussion over email about the value of this type of technology.  The short version is, upon reflection, I've really come around to its usefulness.  So I thought I'd enumerate the use cases where...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Internet" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="duckduckgo" label="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="internet" label="Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        The recent surge in twitter press is amazing. A lot of my less technical friends and family have been asking me about it, usually with skeptical tones.  Why would you do that?  You use it--really?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At first, I too was skeptical.  It took me a while to adopt and then even longer to make regular updates.  Even now I've only made 322 of them.  &lt;br /&gt;&lt;br /&gt;Recently I had a long discussion over email about the value of this type of technology.  The short version is, upon reflection, I've really come around to its usefulness.  So I thought I'd enumerate the use cases where I've found twitter particularly helpful, both personally and professionally.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It keeps an eye out for me.&lt;/span&gt;  The very first day I started using twitter, I was at the right place at the wrong time.  I had showed up 8 hours early for one of our &lt;a href="http://www.groupomatic.com/haqsm3vj"&gt;monthly hackathons&lt;/a&gt;.  I had twittered where I was and &lt;a href="http://www.danworth.com/"&gt;my friend&lt;/a&gt; almost immediately informed me of my mistake.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It's an extension of my Facebook status.&lt;/span&gt;  If you use the Facebook status update feature, then you might as well use twitter too.  In fact, when I update my twitter feed, it updates my Facebook status automatically (via the &lt;a href="http://www.facebook.com/apps/application.php?id=2231777543"&gt;Twitter Facebook app&lt;/a&gt;).  &lt;br /&gt;&lt;br /&gt;My set of twitter followers and Facebook friends has a decent amount of overlap, but by no means all.  Because they are different sites and different technologies they tend to accumulate slightly different types of associations.  In particular, it's common to get Twitter followers who you've never met.  But you also get friends who for whatever reason aren't your Facebook friends (at least not yet).  By syncing the updates you are reaching more of your friends with your personal updates.  I like that because I suck at keeping in touch on a one-to-one basis.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It keeps me closer to customers.&lt;/span&gt;  I monitor &lt;a href="http://search.twitter.com/"&gt;twitter search&lt;/a&gt; for mentions of Duck Duck Go (my startup).  It is really interesting to see what people say "in the wild" and because of twitter's ease of use you get more (and different) commenting than you find on blogs.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It allows for more (and different) customer communication.&lt;/span&gt;  I follow the users I find in #3 using my company's twitter feed.  I also send out updates about things going on with the site.  It turns out that this method of two-way communication generates different feedback than our other methods to connect with customers, e.g. this blog, our feedback page, Facebook, etc.  I've even gotten unsolicited bug reports!&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It helps me meet more people (in person).&lt;/span&gt;  I'm an &lt;a href="http://duckduckgo.com/INTJ"&gt;INTJ&lt;/a&gt; and have historically been terrible at meeting new people.  Twitter really eases that burden for me.  As pointed out by &lt;a href="http://www.subelsky.com/"&gt;another friend&lt;/a&gt;, it gives you great ice-breakers when you meet people for the first time (who you've previously connected with on Twitter). For example, I follow a lot of people in the Philly startup community, but have not yet met all of them in person.  &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It makes me feel more connected.&lt;/span&gt;  I work from home, by myself.  Twitter helps me get to a semblance of a multi-person office.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It helps me spread news/links.&lt;/span&gt;  You need a decent amount of followers for this one.  I don't really have that many, but with the amount I do have it is enough to get benefit when spreading news and links about my company or otherwise.  Often people will re-tweet exciting news (re-send my message to their followers). &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It helps me keep abreast of news/links.&lt;/span&gt;  Similar to #7, but from the other side, I often get news/links from people I follow.  These are usually things I would have never seen, e.g. info about other startups, local events, etc.Useful enough for you? &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=dYb9K9r1Gzo:Onk5WhGbk1g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=dYb9K9r1Gzo:Onk5WhGbk1g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=dYb9K9r1Gzo:Onk5WhGbk1g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=dYb9K9r1Gzo:Onk5WhGbk1g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=dYb9K9r1Gzo:Onk5WhGbk1g:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=dYb9K9r1Gzo:Onk5WhGbk1g:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=dYb9K9r1Gzo:Onk5WhGbk1g:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/04/how-twitter-helps-me-specific-use-cases.html</feedburner:origLink></entry>

<entry>
    <title>How I Got Skype High Quality Video Working</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/yCKw6wrTkZg/how-i-got-skype-high-quality-video-working.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.47</id>

    <published>2009-04-15T14:46:20Z</published>
    <updated>2009-04-15T16:34:06Z</updated>

    <summary>Ever since Eli was born, we've been skyping with my parents regularly.  My parents supposedly bought a high quality webcam, but we weren't seeing them great.  And I know my built-in laptop cam wasn't up to par, so a few days ago I set out to make it all work.Skype says this is what you need to make it work: Latest version of skype.A Core Duo or similarly fast processor.One of these Logitech webcams.The latest webcam drivers.A fast broadband connection.I'm not sure if Skype actually checks the drivers to make sure you have one of these webcams, but my parents actually...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        Ever since &lt;a href="http://eliweinberg.com/"&gt;Eli&lt;/a&gt; was born, we've been &lt;a href="http://skype.com/"&gt;skyping&lt;/a&gt; with my parents regularly.  My parents supposedly bought a high quality webcam, but we weren't seeing them great.  And I know my built-in laptop cam wasn't up to par, so a few days ago I set out to make it all work.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Skype &lt;a href="http://support.skype.com/en_US/faq/FA1403/What-is-High-Quality-Video"&gt;says&lt;/a&gt; this is what you need to make it work: &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Latest version of skype.&lt;/li&gt;&lt;li&gt;A Core Duo or similarly fast processor.&lt;/li&gt;&lt;li&gt;One of &lt;a href="http://shop.skype.com/webcams/"&gt;these Logitech webcams&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The latest &lt;a href="http://www.logitech.com/index.cfm/405/"&gt;webcam drivers&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;A fast broadband connection.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I'm not sure if Skype actually checks the drivers to make sure you have one of these webcams, but my parents actually did have one and so I bought one too.  I actually bought &lt;a href="http://shop.skype.com/webcams/logitech-quickcam-orbit.html"&gt;this one&lt;/a&gt;, which has auto face-tracking that I figure would be good fit when Eli gets a bit older.  However, once I set it all up, neither direction was what you would call high quality. Mine was certainly better than before, but that was mainly due to the lighting adjustments in the software that came with the webcam.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, after a lot of messing around, I did get it to work as much as I think possible.  Here's how:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Know that Skype "ramps up" to high quality.&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;  This wasn't obvious to me initially and caused a lot of time wasting.  In particular, Skype apparently does a lot of internal calculations to see what it can send over time.  It starts off lower, and then slowly increases the video quality, and in turn, CPU &amp;amp; bandwidth used.  So just know that if you don't see it right away, give it a minute or so and see if it improves.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Turn on "technical info"&lt;/span&gt;. On windows this is under Tools-&gt;Opotions-&gt;Advanced-&gt;Advanced Settings.  Once you do this, initiate a video call and then mouse over the incoming video window.  A pop-up should appear with all sorts of debugging info that will help you diagnose what is between you and the high quality video.  I'm not sure what it all means, but I think you want to concentrate on a few things.&lt;br /&gt;&lt;br /&gt;First, look on the bottom where it says "problems" and then gives you some codes.  The goal is to get rid of all of these codes.  BW stands for BandWidth, and on mine it was critical, i.e. BW_Critical.  &lt;br /&gt;&lt;br /&gt;The next thing to look for is the video sent and video recv lines.  You want to send and receive at 640x480 at a decent frames per sec (FPS&gt;=15).  It turns out my parents were sending at 320x240 and both of our FPS were low.&lt;br /&gt;&lt;br /&gt;Finally, look for Relays.  You want this to be 0.  When it is not, you do not have a direct connection with your video partner.  Instead, your connection is routed through other computers.  I did not have a direct connection, and this turned out to be causing the BW_Critical.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Force 640x480.&lt;/span&gt;  I was sending at 640x480, but as I said, my parents were not.  Turns out while they have a decently fast computer, their processor isn't enough for Skype to trigger the attempt to send video in high quality. After a lot of searching and messing around, I found the solution.  You want to put this in your config.xml file:&lt;br /&gt;&lt;br /&gt;&amp;lt;CaptureHeight&gt;480&amp;lt;/CaptureHeight&gt;&lt;br /&gt;&amp;lt;CaptureWidth&gt;640&amp;lt;/CaptureWidth&gt;&lt;br /&gt;&amp;lt;Fps&gt;30&amp;lt;/Fps&gt;&lt;br /&gt;&lt;br /&gt;On Windows XP, this file lives in Documents and Settings/Login Name/Application Data/Skype/Profile Name/. In general on Windows, you want to find your Application Data folder (on Vista I think replace Documents and Settings with Users) and then follow the same skype path.&lt;br /&gt;&lt;br /&gt;After I did this, my parents were sending at 640x480. It turns out their processor was fast enough, and we monitored the CPU usage via the technical call info I talked about above.  (You could also do this with the task manager.)&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Open the incoming port on your firewall.  &lt;/span&gt;Go back to Tools-&gt;Options-&gt;Advanced, but this time select Connection.  There is a port # at the top.  I opened this port on my firewall and forwarded it to that machine.  I also unchecked the box "Use port 80 and 443..." to make sure it was working. Also, if you check "Enable uPnP" you might get this port forwarding set up automatically.  Also be aware of any software firewalls you have, and to make &lt;a href="http://www.skype.com/intl/en/help/guides/firewalls/index.html"&gt;exceptions for skype&lt;/a&gt; within them.  Once I did all that, Relays were now 0, i.e. we had a direct connection.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Plug the webcam directly into the computer.  &lt;/span&gt;I was using a USB hub. Apparently the newer high quality webcams can transfer a lot of stuff and a shared USB hub can become the limiting factor. Similarly, if you have a lot of USB devices in use, even directly connected to the computer, try unconnecting some of them.  You might be being limited by your comptuer's USB bus.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Check your bandwidth speed.  &lt;/span&gt;You can do so &lt;a href="http://speakeasy.net/speedtest/"&gt;here&lt;/a&gt;.  I have a great connection due to Verizon FIOS.  My parents, less so.  Turns out, after all the above, I started sending awesome video, and it was transferring at about 500Kbits/sec!  My parents increased their quality as well, but their broadband connection caps at about 150Kbits/sec, and so that became the limiting factor.  This showed up in the technical call info problems as BW_Low.  They are now looking to upgrade their connection.  But if you notice quality does get better, but it is still sort of blurry, check your bandwidth.  You can see how much bandwidth skype is currently using by again looking at that technical call info.  Again, mine capped around 500Kbits/sec, so I suspect you should expect something similar.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, that's it.  It was definitely worth it.  My parents can now see Eli probably 10 times better, and soon he will be able to see them the same.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=yCKw6wrTkZg:XJCdjb4OiAw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=yCKw6wrTkZg:XJCdjb4OiAw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=yCKw6wrTkZg:XJCdjb4OiAw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=yCKw6wrTkZg:XJCdjb4OiAw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=yCKw6wrTkZg:XJCdjb4OiAw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=yCKw6wrTkZg:XJCdjb4OiAw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=yCKw6wrTkZg:XJCdjb4OiAw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/04/how-i-got-skype-high-quality-video-working.html</feedburner:origLink></entry>

<entry>
    <title>Search Engine Optimization (SEO) Tips</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/Z7BTeA8dsm4/search-engine-optimization-seo-tips.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.46</id>

    <published>2009-04-08T21:04:21Z</published>
    <updated>2009-04-09T13:33:41Z</updated>

    <summary>I often get asked about Search Engine Optimization (SEO) because I run a search engine.  The following is currently my best advice with regards to SEO.  Just to be clear, I'm talking about Google here (and by extension Yahoo, Live, etc.) and not Duck Duck Go (my search engine), which has different optimization parameters.I assume you already know the basics, e.g. don't have duplicate content, have good looking URLs and page titles, etc.  If you don't know the basics, read Google's SEO Starter Guide first.External link (anchor) text is the most important factor.  Google often repeats that they use more than...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Internet" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Search" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Startups" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="google" label="Google" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="internet" label="Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="search" label="Search" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="startups" label="Startups" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        I often get asked about Search Engine Optimization (SEO) because I run a &lt;a href="http://duckduckgo.com/"&gt;search engine&lt;/a&gt;.  The following is currently my best advice with regards to SEO.  Just to be clear, I'm talking about Google here (and by extension Yahoo, Live, etc.) and not &lt;a href="http://duckduckgo.com/"&gt;Duck Duck Go&lt;/a&gt; (my search engine), which has different optimization parameters.&lt;br /&gt;&lt;br /&gt;I assume you already know the basics, e.g. don't have duplicate content, have good looking URLs and page titles, etc.  If you don't know the basics, read &lt;a href="http://www.google.com/webmasters/docs/search-engine-optimization-starter-guide.pdf"&gt;Google's SEO Starter Guide&lt;/a&gt; first.&lt;b&gt;&lt;/b&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;External link (anchor) text is the most important factor.  &lt;/b&gt;Google often repeats that they use more than 200 ranking factors.  I'm not disputing that :).  I think they repeat this, however, so that people won't concentrate on the few factors that really matter more than all the others.  In my experience, external link text matters way more than anything else.  That is, the actual words in the links back to your sites and pages.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;If you get link text right, link back sites' pagerank matter way less.&lt;/b&gt;  Usual SEO advice is to contentrate on link backs from high pagerank sources.  If you want to improve your overall rankings I think this is good general advice because pageank is logarithmic, such that a link from a higher pagerank site will have more of an effect than one from a lower pagerank site than you might otherwise think.  &lt;br /&gt;&lt;br /&gt;However, higher pagerank links are much harder to get than lower pagerank links.  And what is often missed is that if you can get even a few lower pageank sites to link back to you using the key phrases you want to rank for, you can rank highly on those search terms even with little or no high pagerank link backs.  &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Widgets are great strategies.  &lt;/span&gt;As a result of the above, widgets are great strategies because they help you get link-acks from a variety of sites, often on their front pages and often on multiple pages within the sites.  That is, it doesn't matter if they are all low pagerank sites because you can control the link text.  But be careful.  Google is all over so-called "&lt;a href="http://www.seomoz.org/blog/widgetbait-gone-wild"&gt;widget bait&lt;/a&gt;."  &lt;br /&gt;&lt;br /&gt;If you do a widget, don't forget you need that &lt;span class="Apple-style-span" style="font-style: italic;"&gt;static link&lt;/span&gt; in it.  That is, it can't all be JavaScript.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Don't guess search term volume.&lt;/span&gt;  Use Google's &lt;a href="https://adwords.google.com/select/KeywordTool"&gt;Keyword&lt;/a&gt; &amp;amp; &lt;a href="http://www.google.com/trends"&gt;Trends&lt;/a&gt; tools.  &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Select terms that convert.  &lt;/span&gt;Ideally, don't guess here either.  Use &lt;a href="http://adwords.google.com/"&gt;Adwords&lt;/a&gt; or another PPC service to test out which terms convert best, and then try to get rankings for them.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Don't bother if you can't get in the top 10.  &lt;/span&gt;People usually revise their search terms instead of clicking to page 2.  So if you don't think you can get in the top 10, try something else, ideally something more specific that would convert better anyway.  A good thing to do is to add one more word to the general term, so if you end up ranking well for the specific term you are helping your rankings for the more general one as well.  Then if it turns out the specific one was easy (you quickly become #1), you've already gone part way on the general one.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Don't pay any for any general SEO service.&lt;/span&gt;  Not only do you not need to (because it isn't that hard) but you don't really know what you're getting and as a result you will risk getting blacklisted.  The worst is signing up for paid link services.  Note I'm not saying don't pay anyone for SEO, because if you need basic help, a consult from someone in the know might be helpful to, for example, tell you how to re-layout your site and to explain this post to you :).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Beware of nofollow links.&lt;/span&gt;  &lt;a href="http://duckduckgo.com/nofollow"&gt;Nofollow&lt;/a&gt; links are links with a special attribute that tell search engines to ignore them.  To check a link, view the source of that page in your Web browser and look for rel=nofollow in it.  You don't want to waste time getting links on sites that use this attribute.  The canonical examples are popular blogs and Wikipedia.  Don't waste your time submitting comments and editing Wikipedia articles with your links because it won't help you.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Don't waste your time with Google Sitemaps.&lt;/span&gt;  Google encourages you to submit &lt;a href="http://duckduckgo.com/Sitemaps"&gt;sitemaps&lt;/a&gt; of your sites.  In theory this seems great because you can specify site priority and refresh time.  In practice, I've done this repeatedly and seen no change in rankings.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Don't ignore the long-tail&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;.&lt;/span&gt; People often concentrate on getting rankings for specific keywords.  But I've been just as successful building lots of pages with unique content that end up ranking high on the most random things.  Often such pages will be the only things that come up.  &lt;br /&gt;&lt;br /&gt;How do you do this? First, make sure you have a static site.  Sometimes startups don't.  Second, look at all the content you can produce or have produced.  Can you combine it in interesting ways that people would find useful?  For example, at Duck Duck Go we have &lt;a href="http://duckduckgo.com/c/Communication_disorders"&gt;category pages&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Make as flat a site hierarchy as possible.&lt;/span&gt;  Pagerank seems to flow logarithmicly from a homepage to its internal pages.  So if you have pages you want ranked highly, either you need links back to them directly or have them linked directly from your homepage.  And if you take my long-tail advice and make a lot of pages, make a directory of them as flat as possible.  For example, if you have 10,000 pages, make 100 pages with 100 links and link to those 100 right off your homepage.  Ideally those 100 links would make sense, e.g. categories or alphabetical or something (and not just random).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Use directories instead of subdomains.  &lt;/span&gt;For example, domain/blog instead of blog.domain.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Less is more.&lt;/span&gt;  Ranking is distributed across your site, so less pages, less links on them, and less text on them will concentrate your ranking potential on what is left.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Don't do anything &lt;/span&gt;&lt;a href="http://duckduckgo.com/Spamdexing"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;black hat&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;.&lt;/span&gt;  You will get caught, you will not pass go, etc.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;b&gt;Update&lt;/b&gt;: additional comments can be found &lt;a href="http://news.ycombinator.com/item?id=553613" style="outline-style: none; color: rgb(74, 145, 227); text-decoration: underline;"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=Z7BTeA8dsm4:pk6A4Sq6300:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=Z7BTeA8dsm4:pk6A4Sq6300:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=Z7BTeA8dsm4:pk6A4Sq6300:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=Z7BTeA8dsm4:pk6A4Sq6300:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=Z7BTeA8dsm4:pk6A4Sq6300:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=Z7BTeA8dsm4:pk6A4Sq6300:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=Z7BTeA8dsm4:pk6A4Sq6300:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/04/search-engine-optimization-seo-tips.html</feedburner:origLink></entry>

<entry>
    <title>Fast and the Furious Twitter Hilarity</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/BuIb2LRZwb8/fast-and-the-furious-twitter-hilarity.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.45</id>

    <published>2009-03-23T12:21:14Z</published>
    <updated>2009-03-23T12:31:45Z</updated>

    <summary>Last night I sent this tweet: "Finally watching The Fast and the Furious: Tokyo Drift."  Literally within a minute or two TokyoDriftMovie starts following me on twitter.  His bio says:I'm looking for other people who enjoy The Fast and The Furious: Tokyo Drift Movie as much as I do, maybe that's asking too much. You at least have to enjoy it.So does he (Rob Jones) have a bot set up that follows anyone who mentions the movie?  His profile links to an amazon store page where you can buy the movie.  Is he doing this for many movies?  If so, he takes...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Funny" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Internet" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="funny" label="Funny" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="internet" label="Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        Last night I sent &lt;a href="http://twitter.com/yegg/statuses/1372807459"&gt;this tweet&lt;/a&gt;: "Finally watching The Fast and the Furious: Tokyo Drift."  Literally within a minute or two &lt;a href="http://twitter.com/TokyoDriftMovie"&gt;TokyoDriftMovie&lt;/a&gt; starts following &lt;a href="http://twitter.com/yegg"&gt;me on twitter&lt;/a&gt;.  His bio says:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; font-style: italic; line-height: 14px; "&gt;I'm looking for other people who enjoy The Fast and The Furious: Tokyo Drift Movie as much as I do, maybe that's asking too much. You at least have to enjoy it.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; font-style: italic; line-height: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; line-height: 14px; "&gt;So does he (Rob Jones) have a bot set up that follows anyone who mentions the movie?  His profile links to an &lt;a href="http://astore.amazon.com/tokyodriftmovie-20"&gt;amazon store page&lt;/a&gt; where you can buy the movie.  Is he doing this for many movies?  If so, he takes really great pride in the details of his work--just check out his &lt;a href="http://twitter.com/TokyoDriftMovie"&gt;twitter stream&lt;/a&gt;, e.g. "I stopped keeping track after seeing Tokyo Drift 100 times..."&lt;/span&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=BuIb2LRZwb8:aQRrqIYAI30:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=BuIb2LRZwb8:aQRrqIYAI30:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=BuIb2LRZwb8:aQRrqIYAI30:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=BuIb2LRZwb8:aQRrqIYAI30:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=BuIb2LRZwb8:aQRrqIYAI30:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=BuIb2LRZwb8:aQRrqIYAI30:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=BuIb2LRZwb8:aQRrqIYAI30:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/03/fast-and-the-furious-twitter-hilarity.html</feedburner:origLink></entry>

<entry>
    <title>Duck Duck Go Architecture</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/suxY_aBJ7qU/duck-duck-go-architecture.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.44</id>

    <published>2009-03-20T14:49:18Z</published>
    <updated>2009-03-20T17:08:42Z</updated>

    <summary>I often get asked what Duck Duck Go "runs on."  This post basically answers that question by outlining the major moving parts that serve queries, i.e. its architecture.  I'll detail in another post what, in particular, makes it fast, i.e. tunables and other specifics.Caveat: this architecture was designed for maximum query speed for our initial soft launch.  While also somewhat designed for eventual scalability, we don't have that much traffic yet (though we are growing at a nice clip).  So don't take this as advice like you might get at High Scalability.  It's really just for your amusement.  However, my last startup...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Startups" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Sysadmin" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="duckduckgo" label="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="startups" label="Startups" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sysadmin" label="Sysadmin" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        I often get asked what &lt;a href="http://duckduckgo.com/"&gt;Duck Duck Go&lt;/a&gt; "runs on."  This post basically answers that question by outlining the major moving parts that serve queries, i.e. its architecture.  I'll detail in another post what, in particular, makes it &lt;span class="Apple-style-span" style="font-style: italic;"&gt;fast&lt;/span&gt;, i.e. tunables and other specifics.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Caveat: this architecture was designed for maximum query speed for our initial &lt;a href="http://news.ycombinator.com/item?id=315142"&gt;soft launch&lt;/a&gt;.  While also somewhat designed for eventual scalability, we don't have that much traffic yet (though we are growing at a nice clip).  So don't take this as advice like you might get at &lt;a href="http://highscalability.com/"&gt;High Scalability&lt;/a&gt;.  It's really just for your amusement.  However, &lt;a href="http://namesdatabase.com"&gt;my last startup&lt;/a&gt; did have some scale (relatively speaking of course) so I know a bit about what I'm doing...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;DNS served by &lt;a href="http://www.dnsmadeeasy.com/"&gt;DNS Made Easy&lt;/a&gt;.  I used to serve it myself via &lt;a href="http://duckduckgo.com/djbdns"&gt;djbdns&lt;/a&gt;, but DNS Made Easy is faster, makes it easier for me to deal with fail-over, and cheap.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;All requests come into &lt;a href="http://duckduckgo.com/nginx"&gt;nginx&lt;/a&gt;. I used to use two instances of Apache, one for dynamic requests and one for static files.  But nginx is faster, uses less memory, and is more stable.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If a static file, nginx serves it directly, e.g. the home page.  It's really good at that.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Otherwise, nginx checks my &lt;a href="http://duckduckgo.com/memcached"&gt;memcached&lt;/a&gt; store.  I hadn't used memcached before this, and find it a big win.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If not in memcached store, nginx proxies to &lt;a href="http://duckduckgo.com/FastCGI"&gt;FastCGI&lt;/a&gt; processes that are running in the background.  I hadn't used FastCGI before this, as I always had used mod_perl with Apache. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The FastCGI processes are managed by &lt;a href="http://duckduckgo.com/daemontools"&gt;daemontools&lt;/a&gt; (as is memcached).  At first I was worried about stability in these processes, but it hasn't proved to be an issue yet.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Internally, the FastCGI scripts are written in &lt;a href="http://duckduckgo.com/Perl"&gt;Perl&lt;/a&gt; and run by the &lt;a href="http://search.cpan.org/~stevan/FCGI-Engine-0.08/lib/FCGI/Engine.pm"&gt;FCGI::Engine&lt;/a&gt; Perl module.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The Perl scripts access a &lt;a href="http://duckduckgo.com/PostgreSQL"&gt;PostgreSQL&lt;/a&gt; database (when needed) to retrieve our zero-click information, among other things.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The whole thing runs on &lt;a href="http://duckduckgo.com/FreeBSD"&gt;FreeBSD&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;For fail-over and scalability purposes, I have &lt;a href="http://duckduckgo.com/EC2"&gt;EC2&lt;/a&gt; images that replicate the above except that they run on &lt;a href="http://duckduckgo.com/Ubuntu"&gt;Ubuntu&lt;/a&gt; (since, at the time, FreeBSD wasn't available).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;All of our site icons and zero-click info images are hosted on &lt;a href="http://duckduckgo.com/Amazon_S3"&gt;S3&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;We also reference some external &lt;a href="http://duckduckgo.com/Yahoo!_UI_Library"&gt;YUI&lt;/a&gt; JS files.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Any questions?  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, I'd love any feedback on this architecture.  I'm always looking for ways to speed it up!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms'; "&gt;&lt;b&gt;Update&lt;/b&gt;: additional comments can be found &lt;a href="http://news.ycombinator.com/item?id=525048" style="outline-style: none; outline-width: initial; outline-color: initial; color: rgb(74, 145, 227); text-decoration: underline; "&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=suxY_aBJ7qU:XqCiWNiIUTA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=suxY_aBJ7qU:XqCiWNiIUTA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=suxY_aBJ7qU:XqCiWNiIUTA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=suxY_aBJ7qU:XqCiWNiIUTA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=suxY_aBJ7qU:XqCiWNiIUTA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=suxY_aBJ7qU:XqCiWNiIUTA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=suxY_aBJ7qU:XqCiWNiIUTA:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/03/duck-duck-go-architecture.html</feedburner:origLink></entry>

<entry>
    <title>Twitter: Please Charge me for Biz Tweets instead of Suspending my Account!</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/_eohIQbRjqQ/twitter-charge-me-for-biz-tweets-instead-of-suspending-my-account.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.43</id>

    <published>2009-03-10T15:40:56Z</published>
    <updated>2009-03-10T21:36:12Z</updated>

    <summary>Short version: I violated twitter TOS, so my account was suspended (as it should have been).  However, I think what I was doing was worthwhile.  So what I suggest is a new, paid tweets section (akin to direct messages in functionality, but you pay to send them).  So if the receivers never wants to see them, they don't have to.  But if they do, the paid tweets are one-click away...  ***Last night the Duck Duck Go twitter account was suspended. I was sleep deprived from the birth of my son, but yet still awake being a human baby monitor. So...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Internet" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Startups" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="duckduckgo" label="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="internet" label="Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="startups" label="Startups" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        &lt;p&gt;Short version: I violated twitter TOS, so my account was suspended (as it should have been).  However, I think what I was doing was worthwhile.  So what I suggest is a new, paid tweets section (akin to direct messages in functionality, but you pay to send them).  So if the receivers never wants to see them, they don't have to.  But if they do, the paid tweets are one-click away...  &lt;/p&gt;&lt;p&gt;***&lt;/p&gt;&lt;p&gt;Last night the &lt;a href="http://duckduckgo.com/"&gt;Duck Duck Go&lt;/a&gt; twitter account was suspended.  I was sleep deprived from the birth of my &lt;a href="http://yegg.posterous.com/introducing-eli-benjamin-weinb"&gt;son&lt;/a&gt;, but yet still awake being a human baby monitor.  So I quietly used the computer to pass the time (like I'm doing now!).  &lt;br /&gt;&lt;br /&gt;Lacking SSH access (hospital wifi blocks port 22 for some reason) I was essentially blocked from doing any real work.  So I decided to mess around with twitter's &lt;a href="http://search.twitter.com" style="text-decoration: underline; "&gt;search feature&lt;/a&gt;, which everyone seems to be talking about lately.&lt;br /&gt;&lt;br /&gt;It really is cool. There were a ton of people talking about very specific things I'm really interested in, new search engines being one of them.  So of course, I wanted to communicate with them.&lt;br /&gt;&lt;br /&gt;So what did I do?  Naturally, I found the relevant tweets, and replied to them.  I'm still not sure if you can actually reply to a particular tweet, but I did click the reply link from each tweet's individual page.  They were all tweets about checking out new search engines.  &lt;br /&gt;&lt;br /&gt;My reply said something like "@username here's another new search engine, which is live now: http://duckduckgo.com.  What do you think?  Yes, it's ours :)".  Some people replied very quickly with feedback, so I know my tweets at least were somewhat relevant.  I'm guessing others would have replied too, but I can't tell for sure because my account was suspended shortly afterwards.&lt;br /&gt;&lt;br /&gt;So I naturally went to the &lt;a href="http://help.twitter.com/forums/10713/entries/14362"&gt;twitter support&lt;/a&gt; page on account suspensions.  It does look like I violated this term: "updates consist of duplicate or repeating links and/or text."  That's exactly what I did.  OK, fine.  I sent an apology to them so  hopefully my account will be reinstated soon.&lt;br /&gt;&lt;br /&gt;To the bigger question though: what should I have done?  Not sent the tweets of course...but is there some way to have the same effect without getting my account suspended?  For example, should I have just changed up the message each time?  Probably wouldn't have mattered.  Sent to less people?  But all those people seemed to express equal interest.&lt;br /&gt;&lt;br /&gt;Thinking about it some more, I don't really see any way in the current twitter scheme to send tweets like this without risking suspension.  And yet, there is value here (on both sides).  I clearly want the right people to check out the search engine.  And people who post tweets about checking out new search engines, presumably, on average, want to check out a new one!&lt;br /&gt;&lt;br /&gt;So here's what I suggest, which I'm sure has been suggested before but I'm too lazy to find out where.  (And one more nudge won't hurt anyone...):&lt;br /&gt;&lt;br /&gt;Twitter should charge me to send tweets like these, i.e. unsolicited business related tweets.  The charging part both would cut down on spam and make them money.  But wait, isn't it still some form of spam?  Agreed, and, as such, it both messes up the twitter user experience for those receiving them (their reply screen) and those people following our twitter stream, which is annoying.  &lt;br /&gt;&lt;br /&gt;To fix this issue, twitter should also make a new type of message (like DMs) for this stuff.  Instead of 'd ' make it 'p '.  Each time I make a &lt;b&gt;p&lt;/b&gt;aid tweet, charge me $0.05.  And on the receiver end, put them in their own window so they don't clutter up anything else.  That way only the receiver sees them, and only when they want to.&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms'; "&gt;&lt;b&gt;Update&lt;/b&gt;: additional comments can be found &lt;a href="http://news.ycombinator.com/item?id=510158" style="outline-style: none; outline-width: initial; outline-color: initial; color: rgb(74, 145, 227); text-decoration: underline; "&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=_eohIQbRjqQ:0VIR55MfSLo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=_eohIQbRjqQ:0VIR55MfSLo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=_eohIQbRjqQ:0VIR55MfSLo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=_eohIQbRjqQ:0VIR55MfSLo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=_eohIQbRjqQ:0VIR55MfSLo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=_eohIQbRjqQ:0VIR55MfSLo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=_eohIQbRjqQ:0VIR55MfSLo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/03/twitter-charge-me-for-biz-tweets-instead-of-suspending-my-account.html</feedburner:origLink></entry>

<entry>
    <title>If You're Into It</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/iIWPE5issYw/if-youre-into-it.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.42</id>

    <published>2009-02-14T18:08:35Z</published>
    <updated>2009-02-14T18:09:24Z</updated>

    <summary />
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Funny" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Video" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="funny" label="Funny" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="Video" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        &lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pY8jaGs7xJ0&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pY8jaGs7xJ0&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

        

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=iIWPE5issYw:lfMPQ6g_9EM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=iIWPE5issYw:lfMPQ6g_9EM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=iIWPE5issYw:lfMPQ6g_9EM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=iIWPE5issYw:lfMPQ6g_9EM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=iIWPE5issYw:lfMPQ6g_9EM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=iIWPE5issYw:lfMPQ6g_9EM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=iIWPE5issYw:lfMPQ6g_9EM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/02/if-youre-into-it.html</feedburner:origLink></entry>

<entry>
    <title>Thoughts on Yahoo! BOSS Monetization Announcement</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/gUzqr3n_ZmE/thoughts-on-yahoo-boss-monetization-announcement.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.41</id>

    <published>2009-02-12T15:12:18Z</published>
    <updated>2009-02-12T16:10:15Z</updated>

    <summary>Yesterday Yahoo! announced upcoming usage fees for its BOSS API.  The announcement has caused quite a stir on the official discussion group and elsewhere.  As the founder of a new search engine that uses BOSS, this news clearly effects me.  Here are my initial thoughts on the matter...It's likely good for me (Duck Duck Go).  General search engines should end up monetizing at $10+ CPM.  At a cost of about $1 CPM, I'd most likely make more profit in this scheme than in a revenue share, which would probably be &gt;10%.It does feel like bait and switch.  Yahoo! says it isn't because they said monetization...</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Internet" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="duckduckgo" label="Duck Duck Go" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="internet" label="Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yahoo" label="Yahoo!" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        Yesterday Yahoo! announced &lt;a href="http://developer.yahoo.com/search/boss/fees.html"&gt;upcoming usage fees&lt;/a&gt; for its &lt;a href="http://developer.yahoo.com/search/boss/"&gt;BOSS API&lt;/a&gt;.  The announcement has caused quite a stir on the &lt;a href="http://tech.groups.yahoo.com/group/ysearchboss/"&gt;official discussion group&lt;/a&gt; and &lt;a href="http://www.techcrunch.com/2009/02/11/yahoo-prepares-to-turn-on-the-meter-for-its-first-web-services-business/#comments"&gt;elsewhere&lt;/a&gt;.  As the founder of a &lt;a href="http://duckduckgo.com/"&gt;new search engine&lt;/a&gt; that uses BOSS, this news clearly effects me.  Here are my initial thoughts on the matter...&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It's likely good for me (Duck Duck Go).&lt;/span&gt;  General search engines should end up monetizing at $10+ CPM.  At a cost of about $1 CPM, I'd most likely make more profit in this scheme than in a revenue share, which would probably be &gt;10%.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It does feel like bait and switch.&lt;/span&gt;  Yahoo! says it isn't because they said monetization was always coming at some point.  And that's true.  However, the expectation from anyone I've ever talked to about it (and mine) was that it would be a revenue share.&lt;br /&gt;&lt;br /&gt;That's not a coincidence.  The BOSS terms previously disallowed any third party ads.  And whenever anyone &lt;a href="http://tech.groups.yahoo.com/group/ysearchboss/message/628"&gt;asked about it&lt;/a&gt;, Yahoo! said its ads are currently being tested on some sites, and are coming soon.  My guess is they did try to test it with some sites and either got caught up in cross-group bureaucracy rolling it out or it didn't monetize as well as they had initially hoped (or both...).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It's likely not good for a lot of services.&lt;/span&gt;  Developers can get screwed here on both the cost and revenue side.  I use BOSS as an add-on of sorts, and so I generally fall into the cheapest queries in their system.  But others using BOSS are doing things like grabbing the first 1000 results (or 10 results using 10 parallel queries) and then deciding which are the best x to show.  Innovative ideas like these cost a lot more in their scheme and may easily push these services' costs above the break even point.&lt;br /&gt;&lt;br /&gt;On the revenue side, general search may monetize relatively well, but plenty of other things don't.  Facebook gets something like $0.20 CPM.  Not everyone using BOSS is building traditional-looking search engines...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;It's short-sighted.&lt;/span&gt;  The second sentence on the BOSS Web site is still "The goal of BOSS is simple: to foster innovation in the search industry."  This new scheme is contrary to that goal.  Truly innovative search ideas may take a long time to figure out monetization that works.  And in the mean time their costs may be significantly higher than their revenue in the proposed scheme.&lt;br /&gt;&lt;br /&gt;Fundamentally, as &lt;a href="http://tech.groups.yahoo.com/group/ysearchboss/message/1352" style="text-decoration: underline; "&gt;pointed out&lt;/a&gt; on the discussion group, this pricing may be completely disconnected from how a particular site makes money, e.g. (from the linked message):&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;"Th&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(0, 0, 0); "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;e amount of $$ I make from my site is not based on the number of results I request (what you are charging me for), but is instead based upon the number of ads that my users click on."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Yahoo should make money on BOSS.&lt;/span&gt;  I don't think anyone is really disputing this goal.  Making money on BOSS would be great for the developers, guaranteeing its longevity and quality of service.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Yahoo should offer revenue sharing as an alternative.  &lt;/span&gt;Yahoo should offer developers a choice of how they want to pay for BOSS, either this usage pricing or a revenue share from serving Yahoo! ads.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Yahoo should offer both options to all developers.  &lt;/span&gt;People are talking about grandfathering in current BOSS developers (to what exactly, I'm not completely sure but I suppose it is rev share).  I think that would be great, but I think they should offer the rev share alternative to all developers if the true goal is innovation.  This will let truly innovative services (with questionable initial monetization) get started.  If the developers see fit, they could then switch to the usage pricing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Revenue sharing could be great for Yahoo's overall CPM.  &lt;/span&gt;As I said in #1, revenue might make more money in many cases anyway.  But beyond that there is potentially a more important network effect at play.  The proposed &lt;a href="http://www.techcrunch.com/2008/06/12/yahoo-runs-into-googles-arms/"&gt;Yahoo/Google&lt;/a&gt; deal (that fell through) exposed Yahoo's lower CPM rates.  Part of the problem here is they don't have enough advertiser competition on their network, which is a symptom of not enough ads.  &lt;br /&gt;&lt;br /&gt;Yahoo claims BOSS is serving &lt;a href="http://www.techcrunch.com/2008/12/08/yahoo-search-boss-serving-10-million-daily-queries/"&gt;10M queries a day&lt;/a&gt;, and growing steadily.  That's a lot of potential ads, which should improve Yahoo's overall CPM over time.  That effect alone, could end up making up whatever differential Yahoo currently sees between the two pricing schemes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Marginal costs are certainly way below the proposed prices.  &lt;/span&gt;Yes, Yahoo should make money.  And yes, their differential pricing does make sense in the context that those queries they are charging more for do probably cost them more to serve up.  But I'd guess that the marginal cost of serving those API calls are orders of magnitude less than the proposed pricing.  Think about all caching they can do...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Microsoft, where are you?  &lt;/span&gt;I've been asking this question in a lot of contexts for years (here's &lt;a href="http://www.gabrielweinberg.com/blog/2008/04/will-there-ever-be-a-viable-ad.html"&gt;one&lt;/a&gt;).  There is a great opportunity for Microsoft (and Ask for that matter) to jump in here at a much lower price point given the marginal costs.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"&gt;&lt;br /&gt;&lt;/blockquote&gt;
        
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=gUzqr3n_ZmE:77xhlP-ZD-Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=gUzqr3n_ZmE:77xhlP-ZD-Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=gUzqr3n_ZmE:77xhlP-ZD-Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=gUzqr3n_ZmE:77xhlP-ZD-Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=gUzqr3n_ZmE:77xhlP-ZD-Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=gUzqr3n_ZmE:77xhlP-ZD-Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=gUzqr3n_ZmE:77xhlP-ZD-Q:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/02/thoughts-on-yahoo-boss-monetization-announcement.html</feedburner:origLink></entry>

<entry>
    <title>Jump On It</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/yegg/~3/FspvpZOk2ZM/jump-on-it.html" />
    <id>tag:www.gabrielweinberg.com,2009:/blog//1.40</id>

    <published>2009-02-01T19:57:31Z</published>
    <updated>2009-02-01T20:05:14Z</updated>

    <summary>And if you like that...check out these....</summary>
    <author>
        <name>Gabriel Weinberg</name>
        
    </author>
    
        <category term="Funny" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Video" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="funny" label="Funny" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="Video" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.gabrielweinberg.com/blog/">
        &lt;p&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GCFRJEjM3fc&amp;amp;hl=en&amp;amp;fs=1" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed src="http://www.youtube.com/v/GCFRJEjM3fc&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/object&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;And if you like that...check out &lt;a href="http://www.youtube.com/results?orig_query=jump+on+it&amp;amp;search_query=jump+on+it+fresh+prince&amp;amp;orig_query_src=4"&gt;these&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
        

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/yegg?a=FspvpZOk2ZM:0zPRSKWkCyw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=FspvpZOk2ZM:0zPRSKWkCyw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=FspvpZOk2ZM:0zPRSKWkCyw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=FspvpZOk2ZM:0zPRSKWkCyw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=FspvpZOk2ZM:0zPRSKWkCyw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?i=FspvpZOk2ZM:0zPRSKWkCyw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/yegg?a=FspvpZOk2ZM:0zPRSKWkCyw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/yegg?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
<feedburner:origLink>http://www.gabrielweinberg.com/blog/2009/02/jump-on-it.html</feedburner:origLink></entry>

</feed>
