<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D0IMQ386eip7ImA9WxNaFUk.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753</id><updated>2009-11-29T17:46:22.112-08:00</updated><title>Two Piece Set</title><subtitle type="html">A Collaboration</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://twopieceset.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>173</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/twopieceset" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;CEIHQXo4fyp7ImA9WxJaFkQ.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-3121158239922162235</id><published>2009-08-07T17:22:00.000-07:00</published><updated>2009-08-07T17:48:50.437-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-07T17:48:50.437-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="crafts" /><title>Karo Socken</title><content type="html">&lt;p&gt;&lt;em&gt;Karo&lt;/em&gt; means &lt;em&gt;square&lt;/em&gt; in German, or &lt;em&gt;diamond&lt;/em&gt; as in the suit of cards. &lt;em&gt;Socken&lt;/em&gt;, of course, means &lt;em&gt;socks&lt;/em&gt;.&lt;br /&gt;This pattern was &lt;a href="http://www.flickr.com/photos/montillon/3379031892/"&gt;inspired by a photo&lt;/a&gt; by &lt;a href="http://www.flickr.com/photos/montillon/"&gt;montillon&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The pattern is also available for &lt;a href="http://thedame.net/fiber/Karo-Socken.pdf"&gt;download as a PDF&lt;/a&gt;.&lt;/p&gt;

&lt;p style="text-align:center;"&gt;&lt;a href="http://www.flickr.com/photos/mcsquidwich/3793321295/" title="Karo socks by MoulinRogue, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3451/3793321295_b375a8fa34.jpg" width="374" height="500" alt="Karo socks" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Materials&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1 skein (~200 yards) solid-colored fingering weight sock yarn&lt;/li&gt;
&lt;li&gt;1 skein (~200 yards) self-striping fingering weight sock yarn&lt;br /&gt;&lt;em&gt;Example photo uses Knit Picks &lt;a href="http://www.knitpicks.com/yarns/Stroll_Sock_Yarn__D5420133.html"&gt;Essential (now Stroll)&lt;/a&gt; (Black) and Knit Picks &lt;a href="http://www.knitpicks.com/yarns/Felici_Self_Striping_Sock_Yarn__D5420165.html"&gt;Felici&lt;/a&gt; (Martinique); 75% superwash merino wool, 25% nylon&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;US 0 (2.0 mm) needles &amp;mdash; double-points, or circular for magic loop method&lt;/li&gt;
&lt;li&gt;US 1.5 (2.5 mm) needles &amp;mdash; double-points, or circular for magic loop method&lt;/li&gt;
&lt;li&gt;Size E crochet hook&lt;/li&gt;
&lt;li&gt;Waste yarn (~16")&lt;/li&gt;
&lt;li&gt;Tapestry needle&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Size &amp;amp; Gauge&lt;/strong&gt;
&lt;br /&gt;Fits an average-sized woman’s foot (size 8)
&lt;br /&gt;30 sts = 4" in stockinette stitch&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Abbreviations&lt;/strong&gt;
&lt;dt&gt;CO&lt;/dt&gt;&lt;dd&gt;cast on&lt;/dd&gt;
&lt;dt&gt;k&lt;/dt&gt;&lt;dd&gt;knit&lt;/dd&gt;
&lt;dt&gt;kw&lt;/dt&gt;&lt;dd&gt;knit, wrapping the yarn around the needle 3 times before pulling it through&lt;/dd&gt;
&lt;dt&gt;m1r&lt;/dt&gt;&lt;dd&gt;make 1 right (increase)&lt;/dd&gt;
&lt;dt&gt;p&lt;/dt&gt;&lt;dd&gt;purl&lt;/dd&gt;
&lt;dt&gt;sl&lt;/dt&gt;&lt;dd&gt;slip as if to purl&lt;/dd&gt;
&lt;dt&gt;st(s)&lt;/dt&gt;&lt;dd&gt;stitch(es)&lt;/dd&gt;
&lt;dt&gt;Y1&lt;/dt&gt;&lt;dd&gt;solid-colored yarn&lt;/dd&gt;
&lt;dt&gt;Y2&lt;/dt&gt;&lt;dd&gt;self-striping yarn&lt;/dd&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instructions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On US 0 needles, using a provisional cast-on (such as the crochet cast-on), CO 32 sts with Y1. Knit a standard &lt;a href="http://www.knitty.com/ISSUEwinter02/FEATtiptoptoes.html"&gt;short row toe&lt;/a&gt;. You can find detailed instructions on short-row toes in &lt;a href="http://www.knitty.com/ISSUEsummer06/PATTuniversalsock.html"&gt;this pattern&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you want to make the sock wider or narrower, just make sure the total number of sts around is divisible by 5. The pattern as written uses 65 sts ((32 &amp;times; 2) +1 increase), but you could CO 30 sts, 35 sts, 37 (+1 inc), etc.&lt;/p&gt;

&lt;p&gt;When you're on the last row of the toe, carefully remove the provisional CO and place the resulting live sts on your needles so that you're ready to knit in the round. Knit until the last st in this round; end m1r, k1 (65 sts total).
You're now ready to start the patterned part of the sock.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Round 1:&lt;/strong&gt; Using US 1.5 needles, [ kw, k4. ] Repeat from [ to ].
&lt;br /&gt;&lt;strong&gt;Rounds 2 - 6:&lt;/strong&gt; Using Y2, [ unwrap the 3 wraps from the previous row so that they form one very loose st. Sl, k4 ]. Repeat from [ to ].
&lt;br /&gt;&lt;strong&gt;Rounds 7 - 8:&lt;/strong&gt; Using Y1, k around.&lt;/p&gt;

&lt;p&gt;Repeat these eight rounds until sock measures 1.5" from heel, ending with Round 6.&lt;br /&gt;On Round 7, do a standard short-row heel (using only Y1). You can find detailed instructions on short-row heels in &lt;a href="http://www.knitty.com/ISSUEsummer06/PATTuniversalsock.html"&gt;this pattern&lt;/a&gt;; they're exactly the same as a short-row toe.&lt;/p&gt;

&lt;p&gt;After the heel is complete, continue in pattern, starting with Round 8.
&lt;br /&gt;Repeat pattern until sock is 0.75" from desired height, ending with Round 8.
&lt;br /&gt;K one row around.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cuff:&lt;/strong&gt; [ K1, p1, k2, p1 ]. Repeat from [ to ].
&lt;br /&gt;Repeat this round 6 more times.
&lt;br /&gt;Bind off; I used Elizabeth Zimmerman's &lt;a href="http://www.knitty.com/ISSUEsummer06/FEATsum06TT.html"&gt;sewn bind-off&lt;/a&gt;. Weave in ends.&lt;/p&gt;

&lt;p&gt;This is my first attempt at writing a pattern, so please leave a comment or &lt;a href="http://www.ravelry.com/people/MoulinRogue"&gt;message me on Ravelry&lt;/a&gt; if you have any questions or comments!&lt;br /&gt;&lt;/p&gt;

&lt;p style="font-size:80%;"&gt;&lt;a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type"&gt;Karo Socken&lt;/span&gt; by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://twopieceset.blogspot.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Susan Moskwa&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"&gt;Creative Commons Attribution-Share Alike 3.0 United States License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://www.flickr.com/photos/montillon/3379031892/" rel="dc:source"&gt;www.flickr.com&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-3121158239922162235?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/3121158239922162235/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=3121158239922162235" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3121158239922162235?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3121158239922162235?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/tcFQy05Q_k8/karo-socken-sock-pattern.html" title="Karo Socken" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2009/08/karo-socken-sock-pattern.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YDQHsyeip7ImA9WxJXE04.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-136784640055251275</id><published>2009-06-06T17:46:00.000-07:00</published><updated>2009-06-06T18:46:11.592-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-06T18:46:11.592-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software - technology" /><title>S3 Performance Benchmarks</title><content type="html">&lt;p&gt;Over the last couple of weeks we've been working with S3 to read data to power real-time user query processing.  So we've made a lot of optimizations and measurements of the kinds of performance you can expect from &lt;a href="http://aws.amazon.com/s3/"&gt;S3&lt;/a&gt;.&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;S3 Throughput: 20-40MB/sec (per client IP)&lt;/dt&gt;&lt;dd&gt;&lt;strong&gt;20 MB/sec&lt;/strong&gt; is the neighborhood for many small objects, with as much as &lt;strong&gt;40 MB/sec&lt;/strong&gt; for larger objects.  We're pushing a lot of parallel transfers and range queries on the same objects.  Each request is only pushing about 200 KB/sec.  I don't think I've ever seen a single connection push more than 5 or 6 MB/sec.  I'm assuming this is partly S3 traffic shaping.  So this should scales well if you've lots of clients.&lt;/storng&gt;&lt;/dd&gt;
&lt;dt&gt;S3 Response Time: 180 ms&lt;/dt&gt;&lt;dd&gt;We're pulling from EC2 (just across the hall from S3?) We've seen response time range between 8ms (just like a disk!) and as long as 7 or 8 seconds.  But under 200ms is quite reasonable to expect on average.  We're pushing a lot of parallel requests (thousands per second across our cluster, with hundreds on individual machines).&lt;/dd&gt;

&lt;dt&gt;Parallel Connections to S3: 20-30 or 120&lt;/dt&gt;&lt;dd&gt;&lt;strong&gt;20-30&lt;/strong&gt; roughly maximizes throughput, &lt;strong&gt;120&lt;/strong&gt; roughly maximizes response time.  S3 seems to do some kind of traffic shaping, so you want to transfer data in parallel.  If you're hosting web assets (e.g. images) at S3 this is less of an issue since your clients are widely distributed and will hit different data centers.  But if you're serving complex client data requests pulling data from S3 at just a few servers, you might be able to structure your app to download data in parallel.  Do it with 20-30 parallel requests.  More than that and you start getting diminishing returns.  We happen to run more than that (perhaps as many as 100 per process, with as many as 1000 per machine) because we're focusing on response time, rather than throughput.&lt;/dd&gt;
&lt;dt&gt;S3 Retries: 1&lt;/dt&gt;&lt;dd&gt;We do see plenty of 500 or 503 errors from S3.  If you haven't, just wait.  We build retry logic into all our applications and typically see success with even just one or two retries with very short waits.  I should recommend exponential back-off (that's what the Amazon techs say in the &lt;a href="http://developer.amazonwebservices.com/connect/forumindex.jspa"&gt;forums&lt;/a&gt;).  So if you're making more than one or two retries, start waiting a second, then two, then four, and so on.  I'd bail and send yourself an email if you don't get a 200 OK after four or five retries and a minute of waiting.  But maybe retry the first one right away, it'll work 9.9 times out of ten :)&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;If you're getting different results, do let me know :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-136784640055251275?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/136784640055251275/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=136784640055251275" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/136784640055251275?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/136784640055251275?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/Dh1WR7JGdxw/s3-performance-benchmarks.html" title="S3 Performance Benchmarks" /><author><name>Nick Gerner</name><uri>http://www.blogger.com/profile/03583091929465580783</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09292828016046983608" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2009/06/s3-performance-benchmarks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08MQXc4eSp7ImA9WxVbEE0.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-1519752706229129067</id><published>2009-03-25T09:46:00.000-07:00</published><updated>2009-03-25T10:24:40.931-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-25T10:24:40.931-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="funny" /><title>Advertising fail</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2PjCKO7Aw0c/ScpgGJQbedI/AAAAAAAADHY/0NyB-fF3HsA/s1600-h/hoity-toity.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 251px;" src="http://4.bp.blogspot.com/_2PjCKO7Aw0c/ScpgGJQbedI/AAAAAAAADHY/0NyB-fF3HsA/s400/hoity-toity.png" border="0" alt="Amazon ad for hoity-toity"id="BLOGGER_PHOTO_ID_5317167968744602066" /&gt;&lt;/a&gt;

&lt;p&gt;Not quite ironic enough for &lt;a href="http://failblog.org/"&gt;FailBlog&lt;/a&gt;, but still funny. Now if only the same ad appeared for [hanky-panky]...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-1519752706229129067?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/1519752706229129067/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=1519752706229129067" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/1519752706229129067?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/1519752706229129067?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/9iiEis8RRa0/advertising-fail.html" title="Advertising fail" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_2PjCKO7Aw0c/ScpgGJQbedI/AAAAAAAADHY/0NyB-fF3HsA/s72-c/hoity-toity.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2009/03/advertising-fail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUDRX4-fSp7ImA9WxNSFUo.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-8538895052047351547</id><published>2009-03-17T17:41:00.000-07:00</published><updated>2009-08-29T11:24:34.055-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-29T11:24:34.055-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cats" /><title>Looking for a good home: Sammy</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/moskwa/FosterCats#5310540220869727618"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://lh5.ggpht.com/_2PjCKO7Aw0c/SbLUMcZdVYI/AAAAAAAADCc/fHX2dwWX4_s/s912/DSCN1228.JPG" border="0" alt="Sammy" /&gt;&lt;/a&gt;

&lt;p&gt;This is Sammy. He's a foster cat from the &lt;a href="http://www.seattlehumane.org/node/4808"&gt;Humane Society&lt;/a&gt; who's currently living with us to get a break from the shelter. He's totally adorable so I'm looking for a good home for him!&lt;/p&gt;

&lt;p&gt;Sammy's been with us for nearly 2 weeks and he's been super low-maintenance. He's very friendly; he'll immediately walk up to new people rather than hiding or shying away. He has long whiskers and soft, silky fur which only gets silkier the more you pet him. He loves to be petted, especially on his face and belly, and he'll purr pretty much as soon as you touch him.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/E4cv31YLkaSLITn7gEhJFg?feat=embedwebsite"&gt;&lt;img style="display:block; float:left; margin: 0px 10px 10px 0px;" src="http://lh5.ggpht.com/_2PjCKO7Aw0c/SbLUGRxJs0I/AAAAAAAADBU/Geyu6tJpfGk/s288/DSCN1208.JPG" width="288" height="216" alt="Sammy on my lap" /&gt;&lt;/a&gt;

He seems to really like being around people, and is very amenable to whatever ways you want to give him attention. He doesn't mind sitting on your lap, being picked up, cuddled, used as a pillow, etc. He's also very happy to just sit in the same room as you while you're doing whatever; we've spent many hours sewing, knitting, and surfing the web together. He doesn't get freaked out by noises (like the sewing machine, or even the vacuum cleaner). I think he would make a great match for anyone looking for a lap cat, or a companion to just hang out with while watching movies and putzing around the house.&lt;/p&gt;

&lt;p&gt;Incidentally, he doesn't do any of the bad stuff that my cats do, like chewing on cords or tipping over wastebaskets and playing in the trash. And he doesn't scratch the furniture (although he does like to knead his claws into the carpet when he's really happy).&lt;/p&gt;

&lt;p&gt;If you or anyone you know is looking for a cat like this, please let me know (or &lt;a href="http://www.seattlehumane.org/node/4808"&gt;contact the Humane Society&lt;/a&gt; directly)! You're also welcome to come over and meet him. &lt;a href="http://picasaweb.google.com/moskwa/FosterCats"&gt;More photos here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-8538895052047351547?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8538895052047351547?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8538895052047351547?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/RFV4bknw_xc/looking-for-good-home-sammy.html" title="Looking for a good home: Sammy" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_2PjCKO7Aw0c/SbLUMcZdVYI/AAAAAAAADCc/fHX2dwWX4_s/s72-c/DSCN1228.JPG" height="72" width="72" /><feedburner:origLink>http://twopieceset.blogspot.com/2009/03/looking-for-good-home-sammy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcNSXY7fSp7ImA9WxVUEkw.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-2172666359760756294</id><published>2009-03-15T23:59:00.000-07:00</published><updated>2009-03-16T08:08:18.805-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-16T08:08:18.805-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software - technology" /><title>Performance Measurement for Small and Large Scale Deployments</title><content type="html">&lt;p&gt;As well as powering a few &lt;a href="http://www.seomoz.org/linkscape"&gt;cool&lt;/a&gt; &lt;a href="http://www.seomoz.org/blog/backlink-anchor-text-analysis-powered-by-linkscape"&gt;tools&lt;/a&gt;, Linkscape is a &lt;a href="http://apiwiki.seomoz.com"&gt;data platform&lt;/a&gt;.  Performance (and its measurement) isn't just important to &lt;a href="http://twopieceset.blogspot.com/2009/03/why-is-this-report-so-slow-let-database.html"&gt;reduce user latency&lt;/a&gt;, or &lt;a href="http://twopieceset.blogspot.com/2009/03/high-performance-computing-at-amazon.html"&gt;cut costs&lt;/a&gt;.  It's actually something we're hoping is part of our core competency, something that adds significant value to our startup.  And the shortest path to performance is measurement.&lt;/p&gt;

&lt;p&gt;For those in a hurry, &lt;a href="#thetools"&gt;jump straight to the tools&lt;/a&gt; we're using.&lt;/p&gt;

&lt;p&gt;This post is inspired by (and at times borrowed from) an email I sent to some friends for a consulting gig I did recently.  But it rings so true, and I come back to it so often, that I thought I would share it.  Alex and Nick, I hope you don't mind me sharing some of the work we've done on your &lt;a href="http://www.facebook.com/apps/application.php?id=37944961729"&gt;very neat, very fun Facebook game&lt;/a&gt;.

&lt;p&gt;Let me motivate the need for performance monitoring with a couple of case studies taken from our infrastructure:&lt;/p&gt;

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbxBen0fSuI/AAAAAAAAASA/EYthu3LpgU0/s1600-h/dashboard-safe.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 237px;" src="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbxBen0fSuI/AAAAAAAAASA/EYthu3LpgU0/s400/dashboard-safe.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5313193654731360994" /&gt;&lt;/a&gt;

&lt;p&gt;This dashboard (above) illustrates 28 hours of load on our API cluster.  I can immediately see service issues on the first server (the red segment of the first graph).  This is correlated with a spike in CPU and some strange request patterns on the second server (the layered, multi-colored bar on the graph below).  The degraded service lasted for a few hours, which was a configuration issue I solved in our monitoring framework.  It should have guaranteed downtimes of no more than 4 minutes.&lt;/p&gt;  

&lt;p&gt;Even after solving our monitoring issue I still needed to investigate the underlying issue: I can see the CPU and request pattern are related.  Ultimately I solved this issue within two weeks.  Without this kind of measurement I would not even have known we had an issue, and would not have had the data to solve it.&lt;/p&gt;

&lt;p&gt;From part of our back-end batch-mode processing, we had thought we'd tuned our system about as well as we could.  At times we were pulling data through at a very respectable pace, roughly 10MB/sec per node. but we had also observed occasional unresponsiveness on nodes, with a corresponding slowness in processing.  We left the system alone for a while, thinking, "don't fix it if it ain't broke".  But recently we've been tuning performance for cost reasons; so we came back to this system.&lt;/p&gt;

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EjAdb_aPZ_w/Sb1jl_kIuhI/AAAAAAAAASc/qPXb86SJWkE/s1600-h/dashboard-badmem.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="http://3.bp.blogspot.com/_EjAdb_aPZ_w/Sb1jl_kIuhI/AAAAAAAAASc/qPXb86SJWkE/s400/dashboard-badmem.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5313512639736363538" /&gt;&lt;/a&gt;

&lt;p&gt;Once we instrumented our machines with performance monitoring (illustrated above) we saw that the anecdotes were actually part of a worrying trend: the red circles show this.  Our periods of 10MB/sec throughput are punctuated by periods of extremely high load.  The graphs above show load averages of 10 or more on 4 core nodes, along with one process spiking up to hundreds of megabytes and nearly exhausting system memory.  This high system load dramatically reduced our processing throughput.&lt;/p&gt;

&lt;p&gt;It turned out that the load was caused by a single rogue program which consumed all available system memory due to buffered I/O.  Usually we have a few I/O pipelines and give each many megabytes for buffering.  However, this program has many dozens of pipelines, altogether consuming nearly a gigabyte of memory. This lead to significant paging and finally thrashing on disk.&lt;/p&gt;

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EjAdb_aPZ_w/Sb1jzEY4XQI/AAAAAAAAASk/ji2znFiM_es/s1600-h/dashboard-goodmem.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="http://4.bp.blogspot.com/_EjAdb_aPZ_w/Sb1jzEY4XQI/AAAAAAAAASk/ji2znFiM_es/s400/dashboard-goodmem.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5313512864369630466" /&gt;&lt;/a&gt;

&lt;p&gt;Once we reduced the size of buffers (from roughly 40-100MB per pipeline to just 1-2MB per pipeline) we saw dramatic improvements in performance: a nearly 60% boost!  And the nodes have become dramatically more responsive&amp;mdash;no more load averages of 10+.  The graphs above show load average maxing out at 4 and plenty of memory available.  The data suggest that we might even be able to nearly double our performance with the same hardware by increasing parallelism and running another pipeline on each node.&lt;/p&gt;

&lt;p&gt;All of this work is powered by simple monitoring and measurement techniques.  Sometimes this has lead to significant, but necessary engineering work.  But sometimes it's lead to a single afternoon's efforts yielding a 60% performance boost, with an opportunity to nearly double performance on top of that.&lt;/p&gt;

&lt;a name="thetools"&gt;&lt;/a&gt;

&lt;p&gt;We're using a few tools:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.collectd.org"&gt;collectd&lt;/a&gt; measures the system health dimensions (cpu, mem usage, disk usage, etc.) and sends those measurements to a central server for logging.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://oss.oetiker.ch/rrdtool/"&gt;RRDTool&lt;/a&gt; records and visualizes the data in an industry standard way.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://web.taranis.org/drraw/"&gt;drraw&lt;/a&gt; gives me a very simple web interface to view and manage my visualizations.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mmonit.com/monit/"&gt;Monit&lt;/a&gt; watches processes and system resources, bringing things back up if they crash and sending emails if things go wrong.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools work together, in an open, plug-in powered way.  I could swap out individual components and move to other tools, such as &lt;a href="http://www.nagios.org/"&gt;Nagios&lt;/a&gt; (which I've used for other projects) or &lt;a href="http://www.cacti.net/"&gt;Cacti&lt;/a&gt; (which I have not used).&lt;/p&gt;

&lt;p&gt;Whether you're an on-the-ground operations engineer looking to watch system health and fix issues before they turn into downtime, or you're managing large-scale engineering, looking to cut costs and squeeze out more page or API hits, these tools and techniques point you in the right direction and give you hard data to justify your efforts after the fact.  We've had many high ROI efforts initiated and justified by this kind of measurement.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-2172666359760756294?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/2172666359760756294/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=2172666359760756294" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/2172666359760756294?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/2172666359760756294?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/VyTKa-YLKMQ/performance-measurement-for-small-and.html" title="Performance Measurement for Small and Large Scale Deployments" /><author><name>Nick Gerner</name><uri>http://www.blogger.com/profile/03583091929465580783</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09292828016046983608" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbxBen0fSuI/AAAAAAAAASA/EYthu3LpgU0/s72-c/dashboard-safe.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2009/03/performance-measurement-for-small-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04AQH4yeyp7ImA9WxVVFUU.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-3048469648099188429</id><published>2009-03-08T23:59:00.000-07:00</published><updated>2009-03-08T23:59:01.093-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-08T23:59:01.093-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software - technology" /><title>Why is this Report So Slow: Let the Database Handle the Data</title><content type="html">&lt;p&gt;We have a data-rich report in our &lt;a href="http://www.seomoz.org/linkscape/intel/basic/?uri=twopieceset.blogspot.com"&gt;Linkscape tool&lt;/a&gt; with even more in our Advanced Report.  We think the data is great.  But the advanced report can be awfully slow to load.  Don't get me wrong, we think it's worth the wait.  But this kind of latency is a challenge for many products, and clearly, there's room for improvement.  We're finding improvements by porting logic from the front-end into the data layer, and by paging through data in small chunks.&lt;/p&gt;

&lt;p&gt;We present our data (links) in two forms.  One is an aggregated view, showing the frequency of anchor text, one attribute of each link:
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbMerFzecnI/AAAAAAAAAQw/pMJka-kxlWs/s1600-h/ls-anchortext.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 222px;" src="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbMerFzecnI/AAAAAAAAAQw/pMJka-kxlWs/s400/ls-anchortext.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5310622111241237106" /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;We also present a paged list of links, showing all the attributes we've got:
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EjAdb_aPZ_w/SbMfJk6KsGI/AAAAAAAAAQ4/trF4I0C9m10/s1600-h/ls-linklist.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 222px;" src="http://2.bp.blogspot.com/_EjAdb_aPZ_w/SbMfJk6KsGI/AAAAAAAAAQ4/trF4I0C9m10/s400/ls-linklist.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5310622634986877026" /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;The time we spend on each request is very roughly illustrated by this diagram.  From it you can see each component in our system: disk access, data processing, and a front-end scripting environment.  I've included the aggregate time the user experiences as well.  We have a custom data management system rather than using a SQL &lt;acronym title="Relational Database Management System"&gt;RDBMS&lt;/acronym&gt; such as &lt;a href="http://www.mysql.com"&gt;MySQL&lt;/a&gt;.  But I list it as SQL because SQL presents the same challenge.
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EjAdb_aPZ_w/SbMdTZhqWpI/AAAAAAAAAQo/YnXMWbxNaA4/s1600-h/dataproc-in-script.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://1.bp.blogspot.com/_EjAdb_aPZ_w/SbMdTZhqWpI/AAAAAAAAAQo/YnXMWbxNaA4/s400/dataproc-in-script.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5310620604706740882" /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;In total the user can experience between 15 seconds to three minutes of latency!  The slowness comes from a couple of design flaws.  The first is that we're doing a lot of data processing outside our data processing system.  Saying that programming environment doesn't matter is &lt;a href="http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster"&gt;a growing trend&lt;/a&gt;, which has some advantages; rapid development comes to mind.  But (and I'm a back-end data guy, so I'm a bit biased) it's important to let each part of your system do the work it's best at.  For presentation and rapid prototyping that means your scripting environment.  But for data that means data processing.&lt;/p&gt;

&lt;p&gt;We're currently working on moving data processing into our data layer, resulting in performance something like that illustrated in the diagram below.  The orange bars represent time spent in this new solution; the original blue bars are included for comparison.
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbMhX8pn4DI/AAAAAAAAARA/visuxWBucJg/s1600-h/dataproc-in-data.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 203px;" src="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbMhX8pn4DI/AAAAAAAAARA/visuxWBucJg/s400/dataproc-in-data.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5310625080901361714" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In addition to latency improvements, pulling this logic out of our front-end adds that data to our platform and consequently makes it re-usable by many users and by applications.  The maintenance of this feature will then lie in the hands of our data processing team, rather than our front-end developers.  And we've taken substantial load off of our front-end servers, in exchange for a smaller amount of extra load on our data-processing layer.  For us this is a win across the board.&lt;/p&gt;

&lt;p&gt;The other problem we've got is that we're pulling up to 3000 records for every report, even though the user has a paged interface.  And those 3000 records are generated from a &lt;a href="http://en.wikipedia.org/wiki/Join_(relational_algebra)#Joins_and_join-like_operators"&gt;join&lt;/a&gt; which is distributed across our data management platform, involving many machines, and potentially several megabytes of final data pulled from many gigabytes of source data.
&lt;/p&gt;

&lt;p&gt;The other big improvement we want to introduce is to implement paging at the data-access level.  Since our users already get the data in a paged interface, this will have no negative effect on usability.  And it'll make things substantially faster, as illustrated (again very roughly) below.  The yellow bars illustrate the new solution's projected performance.  Orange and blue bars are included for comparison.
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbMi_4QnquI/AAAAAAAAARI/WhXU94GG4zQ/s1600-h/dataproc-indata-paged.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 199px;" src="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbMi_4QnquI/AAAAAAAAARI/WhXU94GG4zQ/s400/dataproc-indata-paged.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5310626866429143778" /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;The key challenge here is to build appropriate indexes for fast, paged, in-order retrieval of the data by many attributes.  Without such indexes we would still have to pull all the data and sort it at run-time, which defeats the purpose.&lt;/p&gt;

&lt;p&gt;In the solution we're currently working on we've addressed two issues.  First, we've been processing data in the least appropriate segment of our system.  Process data in your data management layer if possible.  Second, we've been pulling much more data than we need to show to a user. Only pull as much data as you need to present to users; show small pages if you can.  The challenges have been to port this logic from a rapid prototyping language like Ruby into a higher-performance language like C or stored procedures, and to build appropriate indexes for fast retrieval.  But the advantages of this work are substantial, and are clearly worth it.&lt;/p&gt;

&lt;p&gt;These issues are part of many systems out there and result in both end-user latency problems, as well as overall system scalability problems.  Fixing those problems results in higher user satisfaction (and hopfully higher revenue), and reduces overall system costs.&lt;/p&gt;

&lt;p&gt;By the way, we haven't released anything around these improvements in performance yet.  If you want to keep up to date on Linkscape improvements watch the &lt;a href="http://www.seomoz.org/blog"&gt;SEOmoz Blog&lt;/a&gt; or follow me on Twitter &lt;a href="http://twitter.com/gerner"&gt;@gerner&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-3048469648099188429?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/3048469648099188429/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=3048469648099188429" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3048469648099188429?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3048469648099188429?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/bMVVKw4INHA/why-is-this-report-so-slow-let-database.html" title="Why is this Report So Slow: Let the Database Handle the Data" /><author><name>Nick Gerner</name><uri>http://www.blogger.com/profile/03583091929465580783</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09292828016046983608" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_EjAdb_aPZ_w/SbMerFzecnI/AAAAAAAAAQw/pMJka-kxlWs/s72-c/ls-anchortext.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2009/03/why-is-this-report-so-slow-let-database.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8BRX8zcCp7ImA9WxVVFU4.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-445364295616933719</id><published>2009-03-04T09:55:00.000-08:00</published><updated>2009-03-08T11:27:34.188-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-08T11:27:34.188-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software - technology" /><title>High Performance Computing at Amazon: A Cost Study</title><content type="html">&lt;p&gt;In building &lt;a href="http://www.seomoz.org/linkscape"&gt;Linkscape&lt;/a&gt; we've had a lot of high performance computing optimization challenges.  We've used &lt;a href="http://aws.amazon.com/"&gt;Amazon Web Services&lt;/a&gt; (AWS) extensively and I can heartily recommend it for the functionality at which it excels.  One area of optimization I often see neglected in these kinds of &lt;a href="http://highscalability.com/"&gt;essays on HPC&lt;/a&gt; is cost optimization.  What are the techniques you, as a technology leader, need to master to succeed on this playing field?  Below I describe some of our experience with this aspect of optimization.&lt;/p&gt;

&lt;p&gt;Of course, we've had to optimize the traditional performance front too.  Our data set is many terabytes; we use plenty of traditional and proprietary compression techniques.  Every day we turn over many hundreds of gigabytes of data, pushed across the network, pushed to disk, pushed into memory, and pushed back out again.  In order to grab hundreds of terabytes of web data, we have to pull in hundreds of megabytes per second.  Every &lt;a href="http://www.seomoz.org/linkscape/intel/basic/?uri=twopieceset.blogspot.com"&gt;user request&lt;/a&gt; to the Linkscape index hits several servers, and pages through tens or hundreds megabytes of data in well under a second for most requests.  This is a &lt;a href="http://www.seomoz.org/blog/linkscape-index-update-with-focus-on-quality"&gt;quality, search-scale data source&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Our development began, as all things of this scale should, with several &lt;a href="http://www.codinghorror.com/blog/archives/000256.html"&gt;prototypes&lt;/a&gt;, the most serious of which started with the following alternative cost projections.  You can imagine the scale of these pies makes these deicions &lt;em&gt;very&lt;/em&gt; important.&lt;/p&gt;
&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EjAdb_aPZ_w/Sa7EfrkFiiI/AAAAAAAAAOo/FO6wTtlCmSc/s1600-h/cost_breakdown_amazon-only.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 284px;" src="http://4.bp.blogspot.com/_EjAdb_aPZ_w/Sa7EfrkFiiI/AAAAAAAAAOo/FO6wTtlCmSc/s400/cost_breakdown_amazon-only.png" alt="" id="BLOGGER_PHOTO_ID_5309397059265464866" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EjAdb_aPZ_w/Sa7Fte0Q_eI/AAAAAAAAAOw/zhSgPf2Gekk/s1600-h/cost_breakdown_colocation-only.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 284px;" src="http://2.bp.blogspot.com/_EjAdb_aPZ_w/Sa7Fte0Q_eI/AAAAAAAAAOw/zhSgPf2Gekk/s400/cost_breakdown_colocation-only.png" alt="" id="BLOGGER_PHOTO_ID_5309398395873459682" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;These charts paint a fairly straight forward picture: the biggest slice up there, on the colocation chart, is "savings".  We spent a lot of energy to produce these charts, and it was time well spent.  We built at least two early prototypes using AWS.  So at this point we had a fairly good idea, at a high-level of what our architecture would be, especially the key costs of our system.  Unfortunately, after gathering quotes from colocation providers, it became clear that AWS, in aggregate, could not compete on a pure cost basis for the total system.&lt;/p&gt;

&lt;p&gt;However, what these charts fail to capture is the overall cost of development and maintenance, and many "soft" features.  The reason AWS was so helpful during our prototype process has turned out to be the same reason we continue to use it.  AWS' flexibility of elastic computing, elastic storage, and a variety of other features are aimed (in my opinion) at making the development process as smooth as possible.  And the cost-benefit of these features goes beyond the (many) dollars we send them every month.&lt;/p&gt;

&lt;p&gt;When we update our index we bring up a new request processing cluster, install our data, and roll it into production seamlessly.  When the roll-over is complete (which takes a couple of days), we terminate the old cluster, only paying for the extra computing for a day or so.  We handle redundancy and scaling out the same way.  Developing new features on such a large data set can be a challenge, but bringing up a development cluster of many machines becomes almost trivial on the development end, much to the chagrin of our COO and CFO.&lt;/p&gt;

&lt;p&gt;These things are difficult to quantify.  But these are critical features which make our project feasible at any scale.  And they're the &lt;a href="http://labs.google.com/papers/gfs-sosp2003.pdf"&gt;same&lt;/a&gt; &lt;a href="http://labs.google.com/papers/bigtable-osdi06.pdf"&gt;features&lt;/a&gt; the &lt;a href="http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf"&gt;most respected&lt;/a&gt; leaders in HPC are using.&lt;/p&gt;

&lt;p&gt;All of this analysis forced us to develop a hybrid solution.  Using this solution, we have been able to leverage the strength of co-location for some of our most expensive system components (network bandwidth and crawling), along with the strengths of utility computing with AWS. We've captured virtually all of the potential savings (illustrated below), while retaining most of our computing (and system value) at AWS.&lt;/p&gt;

&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EjAdb_aPZ_w/Sa7I5rBbiII/AAAAAAAAAO4/0JviG7OOcQ0/s1600-h/cost_breakdown_hybrid.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 284px;" src="http://2.bp.blogspot.com/_EjAdb_aPZ_w/Sa7I5rBbiII/AAAAAAAAAO4/0JviG7OOcQ0/s400/cost_breakdown_hybrid.png" alt="" id="BLOGGER_PHOTO_ID_5309401903843215490" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;I would encourage any tech leaders out there to consider their system set-up carefully.  What are your large cost compentents?  Which of them require the kind of flexibility of EC2 or EBS? Which ones need the added reliability of something like &lt;a href="http://aws.amazon.com/s3/#requirements"&gt;S3&lt;/a&gt; with it's 4x redundancy? (which we can't find for less anywhere else).  And which pieces need less of these things? Which you can install in a colocation facility, for less?&lt;/p&gt;

&lt;p&gt;As an aside, in my opinion AWS is the &lt;em&gt;only&lt;/em&gt; utility computing solution worth investigating for this kind of HPC. Their primitives (&lt;a href="http://aws.amazon.com/ec2/"&gt;EC2&lt;/a&gt;, &lt;a href="http://aws.amazon.com/s3/"&gt;S3&lt;/a&gt;, &lt;a href="http://aws.amazon.com/ebs/"&gt;EBS&lt;/a&gt;, etc.) are exactly what we need for development &lt;em&gt;and&lt;/em&gt; for cost projections.  Recently we had a spate of EC2 instance issues, and I was personally in touch with four Amazon reps to address my issue.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-445364295616933719?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/445364295616933719/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=445364295616933719" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/445364295616933719?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/445364295616933719?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/ezVBGkqYuMU/high-performance-computing-at-amazon.html" title="High Performance Computing at Amazon: A Cost Study" /><author><name>Nick Gerner</name><uri>http://www.blogger.com/profile/03583091929465580783</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09292828016046983608" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_EjAdb_aPZ_w/Sa7EfrkFiiI/AAAAAAAAAOo/FO6wTtlCmSc/s72-c/cost_breakdown_amazon-only.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2009/03/high-performance-computing-at-amazon.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYBSHw-fip7ImA9WxRWFk0.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-3541988231097391511</id><published>2008-11-01T21:48:00.000-07:00</published><updated>2008-11-01T22:02:39.256-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-01T22:02:39.256-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><category scheme="http://www.blogger.com/atom/ns#" term="Wisconsin" /><title>Hhffrrrggh: WTF?</title><content type="html">&lt;p&gt;Once upon a time, while driving up to Madison from Chicago, I noticed a sign alongside the highway. It was one of those signs that precedes an exit and shows all the different restaurants that you'll find off that exit. I sped past at 80mph, barely glancing at the sign, and immediately thought &lt;em&gt;Did I just see... ??&lt;/em&gt;. One of the restaurant adverts was pink with white text, so it was kind of hard to read, but I could've sworn it said something completely unintelligible. It was a weird bit of surreality in an otherwise uneventful drive, and I soon forgot about it.&lt;/p&gt;

&lt;p&gt;But I drive that highway several times a year, and (when I remember) I started looking for that sign each time I drove past, trying to figure out whether I was crazy or whether it actually &lt;em&gt;was&lt;/em&gt; complete gibberish. And today I'm pleased to report that I've found the culprit, and that I am not, in fact, crazy (or at least not hallucinating):&lt;/p&gt;

&lt;blockquote&gt;Welcome to the &lt;a href="http://www.foodspot.com/hhffrrrggh/"&gt;Hhffrrrggh Inn&lt;/a&gt; - Janesville's hmost hfun place to eat and drink. Can't say it, can't spell it, can't forget it.&lt;/blockquote&gt;

&lt;p&gt;So... did they just let their cat walk on the keyboard and name the restaurant after the results?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-3541988231097391511?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/3541988231097391511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=3541988231097391511" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3541988231097391511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3541988231097391511?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/d0BiEEq-B-I/hhffrrrggh-wtf.html" title="Hhffrrrggh: WTF?" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/11/hhffrrrggh-wtf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4MSH07cCp7ImA9WxRWEkk.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-8156151477750259483</id><published>2008-10-25T00:13:00.000-07:00</published><updated>2008-10-28T19:23:09.308-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-28T19:23:09.308-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="France" /><category scheme="http://www.blogger.com/atom/ns#" term="crafts" /><title>Knitting breakthroughs</title><content type="html">&lt;p&gt;Ahh, the joys of being self-taught.&lt;/p&gt;

&lt;p&gt;This week while poring over diagrams of a new knitting stitch I'm trying to learn, I realized that for the five years I've been knitting, I've been doing &lt;strong&gt;the most basic stitch&lt;/strong&gt;&amp;mdash;"the knit"&amp;mdash;wrong.&lt;/p&gt;

&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2PjCKO7Aw0c/SQAmrNZIZ4I/AAAAAAAACGk/PaXgMWhCgMM/s1600-h/doing_it_wrong.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 291px;" src="http://3.bp.blogspot.com/_2PjCKO7Aw0c/SQAmrNZIZ4I/AAAAAAAACGk/PaXgMWhCgMM/s400/doing_it_wrong.jpg" border="0" alt="You're doing it wrong." id="BLOGGER_PHOTO_ID_5260246888540039042" /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Sigh. At least I figured it out before making a mess of my latest project. This is the first time I've tried anything that wasn't just a basic stockinette or seed stitch, so it never really mattered before.&lt;/p&gt;

&lt;p&gt;Incidentally&amp;mdash;although I don't think this had anything to do with my learning the stitch wrong&amp;mdash;I taught myself to knit while I was in Paris, so  &lt;a href="http://www.amazon.fr/Tricoter-12-leçons-modèles-petits/dp/2283582504/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1224886482&amp;sr=8-1"&gt;my book&lt;/a&gt; is all in French. This means I don't really know any knitting vocabulary in English. For those interested, here's my new stitch:&lt;/p&gt;

&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2PjCKO7Aw0c/SQJIJZ4e4-I/AAAAAAAAChY/tOEx8z6pKU8/s1600-h/DSCN0890.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://4.bp.blogspot.com/_2PjCKO7Aw0c/SQJIJZ4e4-I/AAAAAAAAChY/tOEx8z6pKU8/s320/DSCN0890.JPG" border="0" alt="My knitting project" id="BLOGGER_PHOTO_ID_5260846641125975010" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The yarn is &lt;a href="http://plymouthyarn.com/index.php?nav=cYarn.yarnDetail&amp;yarnid=000267&amp;searchcollection=000012"&gt;Plymouth baby alpaca grande paint, #8819&lt;/a&gt;. It's a bit expensive but is &lt;em&gt;gorgeously&lt;/em&gt; soft (and the color is much better than this photo makes it out to be). Here's the stitch ("Grille ondul&amp;eacute;e"):&lt;/p&gt;

&lt;p&gt;Cast on a number of stitches evenly divisible by 12.
&lt;br /&gt;&lt;strong&gt;1er rang&lt;/strong&gt;: *4 mailles crois&amp;eacute;es &amp;agrave; droite (glisser 2 m. en attente derri&amp;egrave;re le travail, tricoter les 2 m. suivantes &amp;agrave; l'endroit, puis les 2 m. en attente), 4 m. endroit, 4 m. crois&amp;eacute;es &amp;agrave; gauche (glisser 2 m. en attente devant le travail, tricoter les 2 m. suiv. &amp;agrave; l'endroit puis les 2 m. en attente)*, r&amp;eacute;p&amp;eacute;ter de * &amp;agrave; *
&lt;br /&gt;&lt;strong&gt;2e et tous les rangs pairs suivants&lt;/strong&gt;: &amp;agrave; l'envers
&lt;br /&gt;&lt;strong&gt;3e et 7e rangs&lt;/strong&gt;: &amp;agrave; l'endroit
&lt;br /&gt;&lt;strong&gt;5e rang&lt;/strong&gt;: *2 m. end., 4 m. crois&amp;eacute;es &amp;agrave; gauche, 4 m. crois&amp;eacute;es &amp;agrave; droite, 2 m. end.*, r&amp;eacute;p&amp;eacute;ter de * &amp;agrave; *
&lt;br /&gt;R&amp;eacute;p&amp;eacute;ter toujours ces 8 rangs.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-8156151477750259483?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/8156151477750259483/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=8156151477750259483" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8156151477750259483?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8156151477750259483?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/MXQ4TUp5Qj8/knitting-breakthroughs.html" title="Knitting breakthroughs" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_2PjCKO7Aw0c/SQAmrNZIZ4I/AAAAAAAACGk/PaXgMWhCgMM/s72-c/doing_it_wrong.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/10/knitting-breakthroughs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMHRXo7eyp7ImA9WxRXGEU.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-8818630573248902532</id><published>2008-10-24T13:31:00.000-07:00</published><updated>2008-10-24T13:33:54.403-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-24T13:33:54.403-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NPR" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="politics" /><title>Mimes as traffic cops</title><content type="html">&lt;p&gt;I know it's a blogging no-no to just republish stuff if you don't have original commentary to add, but I was so floored by learning about this yesterday that I just have to share it with you:&lt;/p&gt;

&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2PjCKO7Aw0c/SQIlfEBV_gI/AAAAAAAACG0/i5JT8OLVzsE/s1600-h/bogota-mime.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 265px;" src="http://2.bp.blogspot.com/_2PjCKO7Aw0c/SQIlfEBV_gI/AAAAAAAACG0/i5JT8OLVzsE/s400/bogota-mime.jpg" border="0" alt="A mime in Bogot&amp;aacute;" id="BLOGGER_PHOTO_ID_5260808530307710466" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;[Antanas Mockus, the former mayor of Bogot&amp;aacute;, used] mimes to improve both traffic and citizens' behavior. Initially 20 professional mimes shadowed pedestrians who didn't follow crossing rules: A pedestrian running across the road would be tracked by a mime who mocked his every move. Mimes also poked fun at reckless drivers. The program was so popular that another 400 people were trained as mimes.&lt;/blockquote&gt;

&lt;p&gt;&lt;acronym title="National Public Radio"&gt;NPR&lt;/acronym&gt; story&amp;mdash;which is even more compelling than the above article&amp;mdash;&lt;a href="http://www.kuow.org/program.php?id=16104"&gt;here&lt;/a&gt;, starting at 34:00.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-8818630573248902532?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="related" href="http://www.hno.harvard.edu/gazette/2004/03.11/01-mockus.html" title="Mimes as traffic cops" /><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/8818630573248902532/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=8818630573248902532" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8818630573248902532?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8818630573248902532?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/Z7sTh65_7Xg/mimes-as-traffic-cops.html" title="Mimes as traffic cops" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_2PjCKO7Aw0c/SQIlfEBV_gI/AAAAAAAACG0/i5JT8OLVzsE/s72-c/bogota-mime.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/10/mimes-as-traffic-cops.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEGQnk_fSp7ImA9WxRXFkw.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-4655783117401861613</id><published>2008-10-16T16:55:00.000-07:00</published><updated>2008-10-21T11:43:43.745-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-21T11:43:43.745-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software - technology" /><category scheme="http://www.blogger.com/atom/ns#" term="search" /><title>Lessons Learned while Indexing the Web</title><content type="html">&lt;p&gt;If you know &lt;a href="http://www.seomoz.org/blog/announcing-seomozs-index-of-the-web-and-the-launch-of-our-linkscape-tool"&gt;what I've been working on&lt;/a&gt; for the last nine months, you might (correctly) suspect that I've learned a few lessons about developing large-scale (highly scale-able) and complex software.  Let me share some thoughts I've got about the subject.&lt;/p&gt;

&lt;p&gt;But before I begin, I should point out some aspects that make this a special project.  I can't speak for the UI, and while everyone on the engineering team worked on the project in the final months, the development team&amp;mdash;especially in the early stages&amp;mdash;was small.  Ben Hendrickson and I headed up architecture and the software efforts.  We were the "core" team for the back-end efforts.  So this made some things a lot easier.  I'll comment more about this later.&lt;/p&gt;

&lt;h3&gt;Be Bullish (but Realistic) in the Planning Stages&lt;/h3&gt;

&lt;p&gt;One thing that helped us tremendously was to be broad and optimistic in the early stages.  Doing this gave us a large menu of features and directions for development to choose from as plans firmed up and difficulties arose.  I know the adage, "Under-promise, over-deliver."  And there's a place for that mentality.  When we did start to firm up plans, clearly we were not going to promise everything.  But we tried to keep things as fluid as possible for as long as possible.  This worked out for almost all of our features, and by the time we were half-way through with our project we had the final feature set nailed down, and prototyped out.&lt;/p&gt;

&lt;p&gt;There was one substantial feature that we had to cut just a few weeks before launch.  Perhaps we were too bullish, but I believe that this kind of thing is fairly normal for large software projects.  I'm looking forward to working on that for the next release. ;)&lt;/p&gt;

&lt;h3&gt;Have Many Milestones and Early Prototypes&lt;/h3&gt;

&lt;p&gt;I wish we had had more milestones and stuck to them.  The last couple of months were hellish with literally 14-16 hour days, 7  days a week.  With my commute, there were many days that I arrived home, got into bed, woke up, and rolled back onto the bus to start it all over again.  Despite reading about "hard-core" entrepreneurs who have this as a "lifestyle", I would not recommend it for a successful software engineering team.&lt;/p&gt;

&lt;p&gt;We hit our earliest milestones and even had an early version about four months before launch.  But the two milestones between that prototype and launch both slipped and no one stepped in to repair the schedule.  So the rest of the team (including Ben and me, plus another six software engineers) had to take up the slack at the last minute.  Missing these milestones should have told us something about the remainder of the schedule.  Frankly, I think we were lucky to launch when we did (good job team!).&lt;/p&gt;

&lt;h3&gt;Low Communication Overhead = Success&lt;/h3&gt;

&lt;p&gt;We were lucky to have a small team.  For the back-end it was basically just Ben and me.  And we do all of the data management and most of the processing in the back-end.  So it was easy for Ben and me to stay in sync.  Add to that the fact that we work well together and we were able to achieve in a small team, what normally requires a much larger team.&lt;/p&gt;

&lt;p&gt;While I've worked in much larger organizations, I've never had the leadership role in those organizations that I do now.  So I can't say how much of this advice applies to larger organizations.  I guess my feeling is the same that many people have: keep related logic together in small teams, have clear interfaces to other units.  This worked well when we integrated with our middle-ware and front-end.&lt;/p&gt;

&lt;h3&gt;KISS&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://www.acmqueue.com/modules.php?name=Content&amp;pa=showpage&amp;pid=143"&gt;Anna Patterson&lt;/a&gt; describes a simple roadmap for building search engine technology.  I'm not saying we followed this plan, but I can say that our (I hope successful) plan is equally simple.  Identify the work you need to do.  Come up with reasonable solutions.  Plan and implement them.  Don't get bogged down in hype or fancy technology.&lt;/p&gt;

&lt;p&gt;There's certainly more to success than these points.  These are just what come to mind when I think about the success of &lt;em&gt;this&lt;/em&gt; project.  In any case, good luck on your own projects!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-4655783117401861613?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/4655783117401861613/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=4655783117401861613" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/4655783117401861613?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/4655783117401861613?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/eTkzZCh8Rws/lessons-learned-while-indexing-web.html" title="Lessons Learned while Indexing the Web" /><author><name>Nick Gerner</name><uri>http://www.blogger.com/profile/03583091929465580783</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09292828016046983608" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/10/lessons-learned-while-indexing-web.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQFQ3w7fCp7ImA9WxRRGU8.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-965592321687061298</id><published>2008-10-01T21:54:00.000-07:00</published><updated>2008-10-01T21:55:12.204-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-01T21:55:12.204-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NPR" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><title>What's a little impending doom among friends?</title><content type="html">&lt;p&gt;As you hopefully know, CERN's &lt;a href="http://lhc-machine-outreach.web.cern.ch/lhc-machine-outreach/"&gt;Large Hadron Collider&lt;/a&gt;&amp;mdash;one of the most elaborate physics experiments ever built&amp;mdash;is finally finished and was first turned on several weeks ago. Leaving aside the fact that it broke down a few days later (!), I've been truly surprised by how many people are worried that it's going to create some sort of time-space anomaly that could destroy the world. The subject came up recently over lunch and (to my surprise) the majority of my &lt;a href="http://www.pfmrollerderby.org/"&gt;PFM sisters&lt;/a&gt; were freaked out about our planet's impending Swiss-wrought doom.&lt;/p&gt;

&lt;p&gt;And they're clearly not the only ones, since the &lt;a href="ttp://www.bbc.co.uk/worldservice/programmes/world_today.shtml"&gt;&lt;acronym title="British Broadcasting Corporation"&gt;BBC&lt;/acronym&gt;&lt;/a&gt; broadcast an interview the day before the collider was turned on in which they asked a scientist about the possibility of black holes being created during the experiments. His response was to laugh knowingly and say not to worry; even if the experiments do create (tiny) black holes, "there's no chance of them devouring the world. Ha, ha, ha!"&lt;/p&gt;

&lt;p&gt;I couldn't find the exact interview, but here's &lt;a href="http://news.bbc.co.uk/today/hi/today/newsid_7599000/7599588.stm"&gt;a very similar one&lt;/a&gt;. Unfortunately it doesn't quite recreate the awkwardness of that scientist's particular response. I think the definition of 'egghead' somehow fundamentally involves the idea of believing so deeply in science that you'll laugh at another person's fear of death as if they were confusing a Stephen King novel for reality. "Black holes? Ha! Next thing I know, you'll be worried about &lt;a href="http://www.imdb.com/title/tt0112040/"&gt;langoliers&lt;/a&gt;!"&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-965592321687061298?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/965592321687061298/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=965592321687061298" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/965592321687061298?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/965592321687061298?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/SZXk-jf966w/whats-little-impending-doom-among.html" title="What's a little impending doom among friends?" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/10/whats-little-impending-doom-among.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8BQHk7eyp7ImA9WxRRF0Q.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-7712946316386963846</id><published>2008-09-29T13:11:00.000-07:00</published><updated>2008-09-30T09:40:51.703-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-30T09:40:51.703-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><category scheme="http://www.blogger.com/atom/ns#" term="roller derby" /><category scheme="http://www.blogger.com/atom/ns#" term="transportation" /><title>TSA Permitted &amp; Prohibited Items</title><content type="html">&lt;p&gt;I'm flying to WI later this week (&lt;a href="http://www.derbyindairyland.com/"&gt;roller derby Eastern Regionals&lt;/a&gt;, baby!), and&amp;mdash;having recently started a new knitting project&amp;mdash;was wondering what happens when you try to bring knitting needles through airport security. Even though you could do much more damage with a ballpoint pen than with a blunt knitting needle, I would hate to underestimate &lt;a href="http://www.cnn.com/2008/US/03/28/nipple.ring/index.html"&gt;&lt;acronym title="Transportation Security Administration"&gt;TSA&lt;/acronym&gt;'s overzealousness in "protecting public safety"&lt;/a&gt; in a post-9/11 world.&lt;/p&gt;

&lt;p&gt;So I found this useful list of &lt;a href="http://www.tsa.gov/travelers/airtravel/prohibited/permitted-prohibited-items.shtm"&gt;what's allowed and prohibited on airplanes&lt;/a&gt;. It even breaks things out into what's allowed in carry-ons vs. what's allowed in checked luggage. According to the list, knitting needles and crochet hooks are allowed on the plane; however, &lt;a href="http://www.tsa.gov/travelers/airtravel/assistant/editorial_1252.shtm"&gt;this follow-up article&lt;/a&gt; isn't exactly confidence-inspiring ("In case a Security Officer does not allow your knitting tools through security it is recommended that you carry a self addressed envelope so that you can mail your tools back to yourself as opposed to surrendering them at the security checkpoint").&lt;/p&gt;

&lt;p&gt;I was surprised to learn that disposable razors and scissors &amp;lt; 4" long &lt;em&gt;are&lt;/em&gt; allowed in carry-on luggage. Happily, the list confirms that throwing stars, cattle prods, hand grenades and tear gas are not.&lt;/p&gt;

&lt;p&gt;I feel safer already.&lt;/p&gt;

&lt;p&gt;[Edit: Maybe I just need &lt;a href="http://blog.makezine.com/archive/2008/09/metal_plates_send_message.html"&gt;one of these&lt;/a&gt;. "Nothing to see here, folks!" (Hat tip to Nish.)]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-7712946316386963846?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="related" href="http://www.tsa.gov/travelers/airtravel/prohibited/permitted-prohibited-items.shtm" title="TSA Permitted &amp;amp; Prohibited Items" /><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/7712946316386963846/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=7712946316386963846" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/7712946316386963846?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/7712946316386963846?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/5b6GxeaTMRk/tsa-permitted-prohibited-items.html" title="TSA Permitted &amp;amp; Prohibited Items" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/09/tsa-permitted-prohibited-items.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YAQHk-eyp7ImA9WxRRFU4.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-8421476657755682971</id><published>2008-09-27T08:52:00.000-07:00</published><updated>2008-09-27T08:59:01.753-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-27T08:59:01.753-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NPR" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="books" /><category scheme="http://www.blogger.com/atom/ns#" term="libraries" /><category scheme="http://www.blogger.com/atom/ns#" term="politics" /><title>Read a banned book</title><content type="html">&lt;p&gt;Today is the first day of &lt;a href="http://www.bannedbooksweek.org/"&gt;Banned Books Week&lt;/a&gt; 2008. From their website:&lt;/p&gt;

&lt;blockquote&gt;Banned Books Week is the only national celebration of the freedom to read. It was launched in 1982 in response to a sudden surge in the number of challenges to books in schools, bookstores and libraries. More than a thousand books have been challenged since 1982. The challenges have occurred in every state and in hundreds of communities.&lt;/blockquote&gt;

&lt;p&gt;To my surprise, I discovered that a book I just started reading today (&lt;a href="http://www.amazon.com/Perks-Being-Wallflower-Stephen-Chbosky/dp/0671027344"&gt;The Perks of Being a Wallflower&lt;/a&gt;, which I &lt;a href="http://www.npr.org/templates/story/story.php?storyId=94129299"&gt;learned of&lt;/a&gt; through &lt;acronym title="National Public Radio"&gt;NPR&lt;/acronym&gt;) was one of the top 10 most challenged books in 2007. So I'll be celebrating Banned Books Week by curling up on the couch to finish it.&lt;/p&gt;

&lt;p&gt;If you too value the freedom to access the literature of your choice&amp;mdash;literature that may educate, entertain, shock, or open your mind&amp;mdash;then check out this &lt;a href="http://ala8.ala.org/ala/oif/bannedbooksweek/bbwlinks/100mostfrequently.htm"&gt;list of most frequently challenged books&lt;/a&gt;, visit your local library, and go exercise your First Amendment rights.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-8421476657755682971?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="related" href="http://www.bannedbooksweek.org" title="Read a banned book" /><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/8421476657755682971/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=8421476657755682971" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8421476657755682971?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8421476657755682971?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/STSLsnWe2SI/read-banned-book.html" title="Read a banned book" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/09/read-banned-book.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUDSHk7eip7ImA9WxRRFEU.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-4878483351537837017</id><published>2008-09-26T20:38:00.001-07:00</published><updated>2008-09-26T20:47:59.702-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-26T20:47:59.702-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="roller derby" /><title>Ladies!</title><content type="html">&lt;p&gt;Thanks to &lt;a href="http://beatnikside.livejournal.com/666998.html"&gt;beatnikside&lt;/a&gt;, I just stumbled across a delightful video which combines two very delightful things: roller skating and &lt;a href="http://www.hbo.com/conchords/"&gt;Flight of the Conchords&lt;/a&gt;! If you're unacquainted with either one, I highly recommend both.  :-)&lt;/p&gt;

&lt;p style="text-align:center;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BLJ5a6aJOb8&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BLJ5a6aJOb8&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-4878483351537837017?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="related" href="http://www.youtube.com/watch?v=BLJ5a6aJOb8" title="Ladies!" /><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/4878483351537837017/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=4878483351537837017" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/4878483351537837017?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/4878483351537837017?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/8U3wuPS9cS4/ladies.html" title="Ladies!" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/09/ladies.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQAQng6fCp7ImA9WxRSEkk.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-2277219407963925233</id><published>2008-09-12T11:55:00.000-07:00</published><updated>2008-09-12T12:05:43.614-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-12T12:05:43.614-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="environment" /><category scheme="http://www.blogger.com/atom/ns#" term="language" /><title>You could face certain death. Maybe.</title><content type="html">&lt;p&gt;Today the news keeps mentioning how Hurricane Ike is bearing down on the Texas coast. Their repeated quote is that&lt;/p&gt;

&lt;blockquote&gt;The National Weather Service warned residents of smaller structures on Galveston they could "face certain death" if they ignored an order to evacuate.&lt;/blockquote&gt;

&lt;p&gt;Why is everyone saying "could face certain death"? Shouldn't it be "&lt;strong&gt;will&lt;/strong&gt; face certain death"? If you &lt;em&gt;could&lt;/em&gt; face it (but maybe not), then it's not really certain, is it. And if they really do think it's certain death, they should probably be using more unambiguous language.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-2277219407963925233?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="related" href="http://www.cbsnews.com/stories/2008/09/12/national/main4443297.shtml" title="You could face certain death. Maybe." /><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/2277219407963925233/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=2277219407963925233" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/2277219407963925233?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/2277219407963925233?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/eYQGNt9wHKk/you-could-face-certain-death-maybe.html" title="You could face certain death. Maybe." /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/09/you-could-face-certain-death-maybe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIGQX0yfSp7ImA9WxRSEEs.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-3271726211011581208</id><published>2008-09-10T09:02:00.000-07:00</published><updated>2008-09-10T09:02:00.395-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-10T09:02:00.395-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogs" /><category scheme="http://www.blogger.com/atom/ns#" term="NPR" /><title>Robert Fulghum knows everything there is to know</title><content type="html">&lt;p&gt;Last fall our local &lt;acronym title="National Public Radio"&gt;NPR&lt;/acronym&gt; station (KUOW) did an &lt;a href="http://www.kuow.org/program.php?id=13562"&gt;interview with Robert Fulghum&lt;/a&gt;, the author of &lt;span style="text-decoration:underline;"&gt;All I Really Need to Know I Learned in Kindergarten&lt;/span&gt;. It sounds like he has a pretty sweet life these days&amp;mdash;hanging out, writing books about being a good person and getting back to the basics of life. Being a nice guy. Talking on public radio.&lt;/p&gt;

&lt;p&gt;One of the things that struck me was his comment about bloggers. He said that the web's full of bloggers these days and they're all trying to be gurus: specialized in one topic, authoritative, informative. In contrast, on his blog (he says) he just writes as if he were writing to a friend. Topic: whatever's on his mind. Tone: relaxed. No need for research or references. Just engaging in a bit of friendly conversation with no one in particular. It's like that crazy guy at your coffee shop who talks vaguely to anyone within a few meters of him, only when you do it in writing it doesn't make you look like a such a weirdo. :)&lt;/p&gt;

&lt;p&gt;He said he tries not to "get into the guru racket" because all the good advice in the world has already been known for ages, so who needs a bunch of self-proclaimed gurus popping up all over the internet trying to say something new. He actually said, "...The good stuff has been there, we don't need any new stuff."&lt;/p&gt;

&lt;p&gt;Now, I can see how that goes along with his whole philosophy of simplification. It's summed up in the idea that "all I really need to know I learned in kindergarten," right? He believes that there are some fundamental ideas that are easy to learn, and everything else is just a more complex version of those fundamental ideas. But I can't really get behind this idea that everything has already been said and that there's nothing left to be an expert in. I mean, honestly? What's the point of perpetuating the human race if everything has already been said and done and figured out?&lt;/p&gt;

&lt;p&gt;Perhaps my perspective as a technologist colors my view on this; but it seems to me that there are &lt;em&gt;tons&lt;/em&gt; of new things being thought up all the time, and that we do still have a need for experts in new fields&amp;mdash;people who can speak compellingly and authoritatively. That's not to say that I think every random blogger is compelling and authoritative (far from it!); but I think it's overly simplistic to say that we don't need new thought leaders.&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

&lt;p&gt;The relevant part of the interview starts around 14 min. into the audio file, if you're interested in listening.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-3271726211011581208?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="related" href="http://www.kuow.org/program.php?id=13562" title="Robert Fulghum knows everything there is to know" /><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/3271726211011581208/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=3271726211011581208" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3271726211011581208?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3271726211011581208?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/ScXXGhpqMMU/robert-fulghum-knows-everything-there.html" title="Robert Fulghum knows everything there is to know" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/09/robert-fulghum-knows-everything-there.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQGQXw9fyp7ImA9WxRRFEU.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-517711371421727521</id><published>2008-09-08T08:46:00.000-07:00</published><updated>2008-09-26T20:48:40.267-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-26T20:48:40.267-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><category scheme="http://www.blogger.com/atom/ns#" term="language" /><category scheme="http://www.blogger.com/atom/ns#" term="tech talks" /><title>Google Tech Talk: Hacking English</title><content type="html">&lt;p&gt;Since &lt;a href="http://twopieceset.blogspot.com/2007/10/google-tech-talk-plurilingualism-on.html"&gt;my last post on a Google tech talk&lt;/a&gt; was such a hit (well, as much as anything on a blog that averages 10 visits/day can be considered "a hit"), I've been meaning to blog about another great talk I attended. It was called "Wordmaking: What it takes to succeed in hacking English and invent a new word," and was much more light-hearted than the talk on plurilingualism. Here's the abstract:&lt;/p&gt;

&lt;blockquote&gt;Learn the basics of word formation in English, get "raw materials" for new words, and invent your own word (and have it critiqued) before you let it loose into the English language. The maker of the "best new word" (as voted on by the participants) will win a new dictionary.&lt;/blockquote&gt;

&lt;p style="text-align:center;"&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=7548057564471419291&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;/p&gt;

&lt;p&gt;The speaker was &lt;a href="http://www.dictionaryevangelist.com/"&gt;Erin McKean&lt;/a&gt;, a &lt;a href="http://www.dictionaryevangelist.com/official_bio.html"&gt;dictionary evangelist&lt;/a&gt;, lexicographer and editor of dictionaries. She's a very entertaining speaker, and even has a &lt;a href="http://en.wikipedia.org/wiki/Murphy%27s_Law"&gt;Murphy's Law&lt;/a&gt;-style law named after her:&lt;/p&gt;

&lt;blockquote&gt;&lt;a href="http://en.wikipedia.org/wiki/McKean%27s_Law"&gt;McKean's Law&lt;/a&gt;: Any correction of the speech or writing of others will contain at least one grammatical, spelling, or typographical error.&lt;/blockquote&gt;

&lt;p&gt;The talk was about the productivity of English (the degree to which it lends itself to making up new words that other English-speakers can understand), and the building blocks that make that possible. English has inherited a lot of words and grammar from various language families (principally Germanic and Latinate), so English speakers have a lot of &lt;a href="http://en.wikipedia.org/wiki/Morpheme"&gt;morphemes&lt;/a&gt; (the building blocks of words) to play around with&amp;mdash;prefixes, suffixes, different roots that mean the same thing.&lt;/p&gt;

&lt;p&gt;I think my favorite part of the talk was the obvious glee that Erin took in playing with language, and all the new words I learned (both "real" and made-up) from her talk. Here are my favorites, which I encourage you to incorporate into your daily speech:&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;catachresis (n.)&lt;/dt&gt;
&lt;dd&gt;A linguistic error that comes to be accepted as "correct," usually because it's so common.&lt;br /&gt;Examples: &lt;em&gt;apron&lt;/em&gt; used to be &lt;em&gt;napron&lt;/em&gt;, but people heard "a napron" and started interpreting it as "an apron." &lt;em&gt;Strait-laced&lt;/em&gt; is more commonly misspelled as &lt;em&gt;straight-laced&lt;/em&gt; than correctly spelled; so who's to say how long the "incorrect" version remains incorrect, if a majority of people are using it?&lt;/dd&gt;

&lt;dt&gt;epicene (adj.)&lt;/dt&gt;
&lt;dd&gt;Gender-neutral.&lt;br /&gt;Example: English-speakers have been trying to invent an epicene singular pronoun for years, but none have ever really stuck so we usually end up saying "they" even for singular referents.&lt;/dd&gt;

&lt;dt&gt;nonce (adj.)&lt;/dt&gt;
&lt;dd&gt;A &lt;em&gt;nonce word&lt;/em&gt; is a particularly time- or place-specific word (which is thus unlikely to catch on as a word that survives the test of time).&lt;br /&gt;Examples: Excaliburger, comcastic.&lt;/dd&gt;

&lt;dt&gt;pregret (n.)&lt;/dt&gt;
&lt;dd&gt;The knowledge that you're about to do something you will later regret having done.&lt;br /&gt;See also: &lt;em&gt;prevenge&lt;/em&gt;.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;The word that I'd like to get traction for is &lt;em&gt;&lt;a href="http://www.addictionary.org/words/6009/6419/kez"&gt;kez&lt;/a&gt;&lt;/em&gt;, meaning "fake cheese, or any plastic-like substance trying to pass itself off as cheese." Which brings me to this great website I heard of recently via &lt;a href="http://www.saysyou.net/"&gt;Says You&lt;/a&gt;, a public radio show that every linguaphile should check out: &lt;a href="http://www.addictionary.org/"&gt;Addictionary.org&lt;/a&gt;, where you can make up words, vote on other people's submissions, or submit definitions in search of words. Go to Addictionary and &lt;a href="http://www.addictionary.org/words/6009/6419/kez"&gt;vote for my word&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Have you coined any words?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-517711371421727521?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/517711371421727521/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=517711371421727521" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/517711371421727521?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/517711371421727521?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/NQtr5nbMeos/google-tech-talk-hacking-english.html" title="Google Tech Talk: Hacking English" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/09/google-tech-talk-hacking-english.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4BR34_eSp7ImA9WxRTF0k.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-5865481241243432279</id><published>2008-09-06T17:21:00.000-07:00</published><updated>2008-09-06T17:22:36.041-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-06T17:22:36.041-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="politics" /><title>The Homeland Generation</title><content type="html">&lt;p&gt;I was recently filling out a survey and was asked to give my age in terms of what generation I'm part of. These were the options provided:&lt;/p&gt;

&lt;blockquote&gt;Birth Year
&lt;ul&gt;
&lt;li&gt;2001-Present, Homeland Generation&lt;/li&gt;
&lt;li&gt;1982-2000, Millennial Generation&lt;/li&gt;
&lt;li&gt;1961-1981, Generation X&lt;/li&gt;
&lt;li&gt;1943-1960, Baby Boom Generation&lt;/li&gt;
&lt;li&gt;1925-1942, Silent Generation&lt;/li&gt;
&lt;li&gt;1901-1924, Depression/GI Generation&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Homeland Generation??&lt;/em&gt; Have you ever heard that before? That sounds &lt;em&gt;so&lt;/em&gt; depressing to me. I mean, who wants to be part of the generation that grew up in a world in which you have to meet your friends at the baggage claim because you're not allowed to meet them at the gate? In a world in which the US is progressively more isolated and our constitution is being progressively eroded? I guess it is interesting to realize that there are now kids who've only known this type of world, though&amp;mdash;it still surprises me that the Sept. 11 attacks were 7 years ago now. It's surprising that things have been going downhill for that long.&lt;/p&gt;

&lt;p&gt;Hopefully we'll be able to turn things around so that by the time the Homeland Generation is old enough to be politically aware, we'll once again have a government that they can be proud of.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-5865481241243432279?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/5865481241243432279/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=5865481241243432279" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/5865481241243432279?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/5865481241243432279?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/yjJ_ti8YUkY/homeland-generation.html" title="The Homeland Generation" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/09/homeland-generation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8AQ3s9cSp7ImA9WxRTF04.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-3221346767206503982</id><published>2008-09-06T15:00:00.000-07:00</published><updated>2008-09-06T15:07:22.569-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-06T15:07:22.569-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="politics" /><title>What happens at a caucus?</title><content type="html">&lt;p&gt;I'm cleaning out some old drafts I never got around to publishing, and thought this one was kind of interesting given that both parties have held their conventions in the last 2 weeks.&lt;br /&gt;&lt;br /&gt;* * *&lt;/p&gt;

&lt;p&gt;In February Washington state held its first round of Democratic and Republican caucuses for the 2008 presidential election. Having learned that &lt;a href="http://twopieceset.blogspot.com/2008/02/caucus-or-primary.html"&gt;the Democratic primary doesn't actually count for squat in selecting delegates&lt;/a&gt;, I decided to attend my first caucus ever in order to make my vote count for something. I'd heard that a caucus was an in-person event that fostered political discussion at a local level, where you could attempt to argue and cajole other voters over to your side; but beyond that I had a fuzzy idea at best of what to expect. Having now been through it, I can give you the down-low:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We showed up early.&lt;/strong&gt; The caucus was officially scheduled to start at 1:00, but I had a suspicion it was going to be crazy, which turned out to be well-founded. Our caucus was held in the local school district office building, and the hallways were already crowded when we got there. We were just barely in time to fill the last bits of standing room in the back of a room fire-coded to hold 110 people... there must have been at least 350 in it.&lt;/p&gt;

&lt;p&gt;As we entered &lt;strong&gt;we signed in with our precinct&lt;/strong&gt;. There were ~10 different precincts at our caucus. Along with the usual (name, address, phone), the sign-in sheet had a blank for "Initial candidate preference" and "Final candidate preference." You have to fill in your preference at the start of the caucus in order for your vote to count; you can put "undecided" if you're not sure, but leaving the field blank means your presence at the caucus won't count. At the end of the caucus everyone filled in the "Final candidate preference" blank so that there was a paper trail of how many people changed their opinion during the course of the caucus.&lt;/p&gt;

&lt;p&gt;The Pledge of Allegiance was said and several Required Documents were read (scripts for calling the caucus to order, explaining the process, etc.). There was &lt;strong&gt;general milling around&lt;/strong&gt;, apologizing for the overcrowding, long periods of waiting and seeming disorganization (announcements had to be made twice, once in the main room and once for the overflow in the hallway), and widespread restlessness. Organizers announced that they were just volunteers and that they were doing the best they could. I think a lot of organizers were doing this for the first time.&lt;/p&gt;

&lt;p&gt;Around 1:45 &lt;strong&gt;we broke out into precincts&lt;/strong&gt;. Most precincts caucused in the parking lot or on the lawn due to the overcrowding. Our precinct was the largest at this caucus; 89 people showed up. We had 9 delegates to assign based on our precinct's size.&lt;/p&gt;

&lt;p&gt;A frazzled-looking volunteer from our precinct filled out the &lt;strong&gt;delegate allotment paperwork&lt;/strong&gt; while the rest of us sat around wondering what would happen next. I think the majority of voters had never attended a caucus before. There were a couple experienced folks there who explained to us what the process would be like, but mostly we sat around being 80% confused and 20% slowly figuring out what was going on. This would turn out to be a theme throughout the caucus.&lt;br /&gt;&lt;br /&gt;The delegate allotment paperwork consists of a chart that helps you do the math to figure out how many supporters are needed to get how many delegates for each candidate. If my memory serves me correctly, it has the following columns:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;initial&lt;/strong&gt; number of supporters&lt;/li&gt;
&lt;li&gt;total number of caucusers present&lt;/li&gt;
&lt;li&gt;each candidate's percentage of total supporters&lt;/li&gt;
&lt;li&gt;percentage &amp;times; number of precinct delegates&lt;/li&gt;
&lt;li&gt;number of delegates allotted to this candidate (after rounding)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;final&lt;/strong&gt; number of supporters&lt;/li&gt;
&lt;li&gt;total number of caucusers present&lt;/li&gt;
&lt;li&gt;candidate's final percentage of total supporters&lt;/li&gt;
&lt;li&gt;percentage &amp;times; number of precinct delegates&lt;/li&gt;
&lt;li&gt;final number of delegates allotted to this candidate (after rounding)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The 5th and 10th columns get rounded down, which is part of where the discussing and cajoling is supposed to come in: say your precinct had 6 delegates to allot, and the values of the 4th column were 1.35, 2.35, 2.3. They'd all get rounded down to 1, 2, 2, and your precinct would only allot 5 delegates and would "lose" the 6th. So you want to try to get people to switch groups in order not to split those last fractions of a delegate.&lt;/p&gt;

&lt;p&gt;At some point &lt;strong&gt;we broke into groups&lt;/strong&gt; based on who our initial candidate preference was. I don't think the paperwork was done yet, we just got tired of waiting and figured we should get the show on the road. We needed to pick which members of our group would be the delegates that we sent on to the next round (if you ever wondered who the delegates are or how they get chosen, it's here at the caucus, by random folks like you and me). At first people were getting up and making impassioned speeches about why they believed Barack Obama was the best candidate for the presidency, but then someone said "Y'know, you're kind of preaching to the choir, since this &lt;em&gt;is&lt;/em&gt; the Obama group," and Nick pointed out that we had 10 delegates to pick (5 primary and 5 alternates) and there were &amp;lt; 10 people standing, so instead of making speeches and fighting for the positions, maybe we should just see if we could get 10 warm bodies standing and then take it from there.&lt;/p&gt;

&lt;p&gt;Turns out there were only 5 people who actively wanted to be delegates, and we were able to get 5 more to agree to be alternates, so that wasn't too hard (it just needed some organization). At that point we decided to &lt;strong&gt;send our delegates over the to the "undecided" group&lt;/strong&gt; to answer their questions and try to cajole them over to Obama's side. But, although everyone was in agreement over who the delegates should be, our precinct chair said that the rules required a paper ballot to decide the delegates, so the rest of us sat around trying to decide the easiest way to do this and tearing up a legal pad into little pieces of paper. You'd think that if a paper ballot was part of the rules, someone would've brought ballot-sized pieces of paper to vote on... are you starting to see a theme of disorganization here?&lt;/p&gt;

&lt;p&gt;After awhile the Hillary group sent cajolers over to the undecided group too, and it was kind of painful to listen to &lt;strong&gt;everyone arguing for their candidate&lt;/strong&gt;. Clearly everyone believed in their candidate so strongly and felt this burning certainty in their stomach that it was &lt;em&gt;critically&lt;/em&gt; important for the future of America that the other candidate not be selected. It's hard to watch when people fervently believe contradictory things and someone is eventually going to lose. Things went around for awhile (with both sides saying "But&amp;mdash;wait, can you please let me speak? The reason that&amp;mdash;excuse me, the reason&amp;mdash;&lt;em&gt;would you please let me speak??&lt;/em&gt;") and then the paperwork lady announced that she was done with the first five columns and we should wrap this up (it was probably nearing 2:30 by then).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Slowly the undecided group broke up and either joined the Barack or the Hillary groups.&lt;/strong&gt; I talked later with a lady who'd been undecided, and she said that if they'd kept their undecided delegate it basically meant none of them had any control over who that person would vote for, so rather than making their vote essentially a wild card, most of them decided to pick one candidate or the other (even if they weren't 100% certain). Everyone reported their final candidate choice to the paperwork lady, who started working on the next five columns of the spreadsheet.&lt;/p&gt;

&lt;p&gt;At this point most people thought their work was done, especially since there wasn't much left to do besides wait for the paperwork to be filled out. &lt;strong&gt;People started to trickle out of the room.&lt;/strong&gt; The paperwork lady made some math errors even though she was using a calculator. I pointed out to her that her percentages added up to &amp;gt; 100% and she had to start over. When she'd finally tallied the delegates (and I have no idea why this all took &lt;em&gt;soooo&lt;/em&gt; long), the Barack group had won an extra delegate (thanks to the undecideds who'd come over), so we had to scrounge around for another delegate and another alternate, and then alter the paper ballots to indicate that we'd appropriately voted for the 6th delegate. More and more people were leaving the room, so it was kind of funny that at the beginning of the delegate-choosing process people were grilling the delegates with all sorts of questions about whether they'd be a good delegate or not, but by the end I could just raise my hand and say, "I'll do it," and people were like "Okay, great; fill out this form."&lt;/p&gt;

&lt;p&gt;So basically it was a big free-for-all, and there was far less "fostering of political discussion" than I had anticipated. Although I guess that's to be expected; since it's easier to vote than to caucus, a lot of the people who show up are probably there because they care so much about a particular candidate that they want to make sure their vote counts in the selection process. Meaning they're too passionate for anyone to change their mind. But it was certainly an interesting experience; depending on what the political scene is looking like in four years, I might caucus again and even consider being a primary delegate (if there's a candidate I feel passionately about).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-3221346767206503982?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/3221346767206503982/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=3221346767206503982" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3221346767206503982?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/3221346767206503982?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/lokqId9Nz0U/what-happens-at-caucus.html" title="What happens at a caucus?" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/09/what-happens-at-caucus.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcGRngzfCp7ImA9WxRTF04.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-2016997221183555631</id><published>2008-08-01T11:49:00.000-07:00</published><updated>2008-09-06T14:37:07.684-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-06T14:37:07.684-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><category scheme="http://www.blogger.com/atom/ns#" term="Cornell" /><category scheme="http://www.blogger.com/atom/ns#" term="language" /><title>Calling Ondrej Elleder</title><content type="html">&lt;p&gt;Let's do an experiment.&lt;/p&gt;

&lt;p&gt;I have a &lt;a href="http://www.google.com/alerts"&gt;Google Alert&lt;/a&gt; set up on my name, so (presumably) whenever someone blogs about me I'll get an email with the link and can check it out. I'm wondering whether this is somewhat common, or just among tech geeks. So let's drop the name of one of my friends from college, and see if this post makes its way to him across the internet.&lt;/p&gt;

&lt;p&gt;His name is Ondrej Elleder (read a bit about him &lt;a href="http://www.lne.es/secciones/noticia.jsp?pRef=1656_46_526896__SociedadyCultura-asturiana-para-mundo-queda"&gt;here&lt;/a&gt;), and this postcard that he sent me was another find while I was cleaning out old papers this week. One of the biggest things I miss about college is living and socializing with such fascinating, diverse and entertaining people. Linguaphiles who would write postcards like this:&lt;/p&gt;

&lt;blockquote&gt;To: The discreditable SUSAN MOSKWA&lt;br /&gt;&lt;br /&gt;Susan! Hail, by mail, from the city of the FLAIL! Whyever the FLAIL? This be the reason, Missus: It was &lt;strong&gt;the&lt;/strong&gt; favourite weapon of the Hussites. And don't you ask me who the Hussites were! :-S Contemplate instead the Freudian symbolism of having the flail for a weapon.&lt;br /&gt;&lt;br /&gt;Happy New Year,&lt;br /&gt;Ondřej&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-2016997221183555631?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/2016997221183555631/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=2016997221183555631" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/2016997221183555631?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/2016997221183555631?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/9qW8ld0GEF0/calling-ondrej-elleder.html" title="Calling Ondrej Elleder" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/08/calling-ondrej-elleder.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4NRnc5eip7ImA9WxRTF04.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-4839675845841045159</id><published>2008-07-30T17:26:00.000-07:00</published><updated>2008-09-06T14:36:37.922-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-06T14:36:37.922-07:00</app:edited><title>What do you know about Sri Lanka?</title><content type="html">&lt;p&gt;For many years I used to work as a barista in a Borders caf&amp;eacute;. Sometimes on slow days we'd come up with a Question Of The Day that we'd ask all our customers as we were making their drinks. It was invariably fascinating to hear the wide variety of answers; some people were shockingly knowledgeable, others shockingly ignorant or misguided. Either way, it was a fun way to engage people and pass the time.&lt;/p&gt;

&lt;p&gt;Today while cleaning out some old boxes I came across my notes from one of those days. The question was, "What can you tell me about Sri Lanka?" Here are some of the answers we got (I'll leave it to you and your favorite search engine to determine which are true and which are bogus):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sri Lanka is not a very rich country&lt;/li&gt;

&lt;li&gt;Good music comes from Sri Lanka&lt;/li&gt;

&lt;li&gt;Sri Lanka is a character in Lord of the Rings&lt;/li&gt;

&lt;li&gt;It's next to India&lt;/li&gt;

&lt;li&gt;It has lots of violence&lt;/li&gt;

&lt;li&gt;Sri Lanka sounds like something out of Star Wars&lt;/li&gt;

&lt;li&gt;It used to be named Ceylon&lt;/li&gt;

&lt;li&gt;It's a country&lt;/li&gt;

&lt;li&gt;People speak Latvian in Sri Lanka&lt;/li&gt;

&lt;li&gt;It used to be part of the &lt;acronym title="Union of Soviet Socialist Republics"&gt;USSR&lt;/acronym&gt;&lt;/li&gt;

&lt;li&gt;They have good tea&lt;/li&gt;

&lt;li&gt;There are semi-precious stones in Sri Lanka (sapphires, rubies)&lt;/li&gt;

&lt;li&gt;The Tamil Tigers from Southern India are in Sri Lanka (this person regaled us with a long discourse on the political situation in Sri Lanka)&lt;/li&gt;

&lt;li&gt;It's an island&lt;/li&gt;

&lt;li&gt;My professor is from Sri Lanka&lt;/li&gt;

&lt;li&gt;People speak Sri Lankan in Sri Lanka&lt;/li&gt;

&lt;li&gt;Kandy is a large city in Sri Lanka; the English word &lt;em&gt;candy&lt;/em&gt; comes from that city's name because the Dutch brought rock candy to Europe from Sri Lanka&lt;/li&gt;

&lt;li&gt;Sri Lanka is the term for a type of sex&lt;/li&gt;

&lt;li&gt;Sri Lanka is a mythical place of paradise&lt;/li&gt;

&lt;li&gt;Sri Lanka is a kind of food&lt;/li&gt;

&lt;li&gt;There's a famous tower in Sri Lanka&lt;/li&gt;

&lt;li&gt;They make copra there (the dried meat of a coconut, used for making coconut oil)&lt;/li&gt;

&lt;li&gt;Sri Lanka is a Catholic country&lt;/li&gt;

&lt;li&gt;People there are starving&lt;/li&gt;

&lt;li&gt;They have poisonous watersnakes&lt;/li&gt;

&lt;li&gt;Sri Lanka is low-lying and subject to hurricanes&lt;/li&gt;

&lt;li&gt;Arthur C. Clarke lives there&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To set the record straight, Sri Lanka is an island off the southeast coast of India. Area: ~25,330 square miles. Population: ~20 million. Major languages: Sinhala, Tamil.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-4839675845841045159?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/4839675845841045159/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=4839675845841045159" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/4839675845841045159?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/4839675845841045159?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/Yn4hQF2rWZA/what-do-you-know-about-sri-lanka.html" title="What do you know about Sri Lanka?" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/07/what-do-you-know-about-sri-lanka.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4MR3czeyp7ImA9WxRTF04.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-1934212494704121062</id><published>2008-06-26T15:31:00.000-07:00</published><updated>2008-09-06T14:36:26.983-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-06T14:36:26.983-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="roller derby" /><category scheme="http://www.blogger.com/atom/ns#" term="Seattle" /><title>Another round of fresh meat</title><content type="html">&lt;p&gt;Looks like it's &lt;a href="http://twopieceset.blogspot.com/2007/11/congratulations-to-rat-citys-newest.html"&gt;that time of year again&lt;/a&gt;: Rat City held their mid-season tryouts this past weekend, and &lt;a href="http://www.pfmrollerderby.org/"&gt;PFM&lt;/a&gt; rocked all rounds of the tryouts, ending up with nine members recruited onto Rat City:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Throttle Rockets&lt;/strong&gt;
&lt;br /&gt;&lt;a href="http://www.pfmrollerderby.org/people/sirius-mischief/"&gt;Sirius Mischief&lt;/a&gt;
&lt;br /&gt;StarStruck
&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Grave Danger&lt;/strong&gt;
&lt;br /&gt;Jody
&lt;br /&gt;Jocelyn 4 Position
&lt;br /&gt;Piston Vinegar
&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Sockit Wenches&lt;/strong&gt;
&lt;br /&gt;Anna S
&lt;br /&gt;&lt;a href="http://www.pfmrollerderby.org/people/caddie-smack/"&gt;Caddie Smack&lt;/a&gt;
&lt;br /&gt;&lt;a href="http://www.pfmrollerderby.org/people/trouble-loves-mimi/"&gt;Trouble Loves Mimi&lt;/a&gt;
&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;&lt;acronym title="Derby Liberation Front"&gt;DLF&lt;/acronym&gt;&lt;/strong&gt;
&lt;br /&gt;Drea the Slaya
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also have several alumnae in &lt;a href="http://www.jetcityrollergirls.com/BCClosed.aspx?SecID=153"&gt;Jet City Booty Camp&lt;/a&gt; right now, and their tryouts are tonight. Good luck, ladies!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-1934212494704121062?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/1934212494704121062/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=1934212494704121062" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/1934212494704121062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/1934212494704121062?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/xdj-vfjXDhY/another-round-of-fresh-meat.html" title="Another round of fresh meat" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/06/another-round-of-fresh-meat.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8CRH48fyp7ImA9WxRTF04.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-1890774731788882255</id><published>2008-03-19T18:42:00.000-07:00</published><updated>2008-09-06T14:34:25.077-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-06T14:34:25.077-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software - technology" /><category scheme="http://www.blogger.com/atom/ns#" term="blogs" /><category scheme="http://www.blogger.com/atom/ns#" term="webmastering" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>First steps with Google Analytics &amp; Webmaster Tools</title><content type="html">&lt;p&gt;After &lt;a href="http://twopieceset.blogspot.com/2008/03/setting-up-google-analytics-webmaster.html"&gt;setting up Google Analytics and Webmaster Tools&lt;/a&gt; for your site, there are a couple quick settings and tweaks that I'd recommend:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Set your preferred domain.&lt;/strong&gt;
&lt;br /&gt;Decide whether you want your website to be referenced with or without the www prefix (&lt;code&gt;example.com&lt;/code&gt; vs. &lt;code&gt;www.example.com&lt;/code&gt;). In your &lt;a href="https://www.google.com/webmasters/tools/"&gt;Webmaster Tools&lt;/a&gt; account, navigate to &lt;em&gt;Tools&lt;/em&gt; &amp;gt; &lt;em&gt;Set preferred domain&lt;/em&gt; and select the radio button next to your preferred version of your domain. I'll talk more soon about how to set this preference on your own server as well (so that anyone visiting your site will know which version you prefer).&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Remove yourself from your Analytics traffic reports.&lt;/strong&gt;
&lt;br /&gt;You probably don't want to include your own visits to your site in your reports. To fix this, create a filter in Analytics for each IP address from which you frequently access your site. I've created filters for my home IP address and my office IP address. &lt;a href="http://www.google.com/support/analytics/bin/answer.py?answer=55481"&gt;Here's how to create the filter&lt;/a&gt;. If you don't know what your IP address is, a site like &lt;a href="http://whatismyip.com/"&gt;WhatIsMyIP.com&lt;/a&gt; can find it for you. Note that if you frequently access your site from a public location (such as a library computer or your local cafe), filtering out traffic from that IP address will also exclude from your reports anyone else visiting your site from that location.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If tools like Analytics freak you out, or you want to dig deeper but don't have the time, consider contracting an &lt;a href="http://www.google.com/analytics/support_partner_provided.html"&gt;Analytics Authorized Consultant&lt;/a&gt;. These companies have in-depth knowledge of Analytics and can provide hands-on setup and support if the do-it-yourself style of the &lt;a href="http://www.google.com/support/analytics/"&gt;Help Center&lt;/a&gt; isn't enough for you.&lt;/p&gt;

&lt;p style="font-size:85%;"&gt;&lt;em&gt;Previous:&lt;/em&gt; &lt;a href="http://twopieceset.blogspot.com/2008/03/setting-up-google-analytics-webmaster.html"&gt;Installing Analytics &amp;amp; Webmaster Tools&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-1890774731788882255?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/1890774731788882255/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=1890774731788882255" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/1890774731788882255?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/1890774731788882255?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/AoC-9GIWJRU/first-steps-with-google-analytics.html" title="First steps with Google Analytics &amp;amp; Webmaster Tools" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/03/first-steps-with-google-analytics.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYDQ3s9fSp7ImA9WxRTF0k.&quot;"><id>tag:blogger.com,1999:blog-3081576141653618753.post-8612526814962071133</id><published>2008-03-18T17:50:00.000-07:00</published><updated>2008-09-06T17:09:32.565-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-06T17:09:32.565-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogs" /><category scheme="http://www.blogger.com/atom/ns#" term="webmastering" /><category scheme="http://www.blogger.com/atom/ns#" term="search" /><title>Setting up Google Analytics &amp; Webmaster Tools</title><content type="html">&lt;p&gt;A friend called recently and told me he'd started his own blog about &lt;a href="http://viewotron.blogspot.com/"&gt;comics and film&lt;/a&gt;. He's not very web savvy, and simply asked, "What should I do to make my blog successful?" My next couple posts cover the advice I gave him. The examples are tailored for a site using &lt;a href="http://www.blogger.com/"&gt;Blogger&lt;/a&gt;, but the advice applies to all types of sites.&lt;/p&gt;

&lt;p&gt;The first thing I walked him through was setting up &lt;a href="https://www.google.com/webmasters/tools/docs/en/about.html"&gt;Google Webmaster Tools&lt;/a&gt; and &lt;a href="http://www.google.com/support/analytics/bin/answer.py?answer=55591"&gt;Google Analytics&lt;/a&gt;. Webmaster Tools gives you information about your site's performance in search results, and Analytics gives you information about who's visiting your site and what they're doing once they reach your site. Here are the steps to sign up:&lt;/p&gt;

&lt;p&gt;[&lt;em&gt;Edit: Blogger is now integrated with Webmaster Tools, so you can skip steps 8-12 below and just click the 'Webmaster Tools' link at the bottom of your &lt;a href="http://www.blogger.com/home"&gt;Blogger Dashboard&lt;/a&gt;.&lt;/em&gt;]&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Log in to &lt;a href="http://www.blogger.com/home"&gt;Blogger&lt;/a&gt; and click the 'Layout' link for your blog.&lt;/li&gt;

&lt;li&gt;Click the 'Edit HTML' link.&lt;/li&gt;

&lt;li&gt;Click the 'Download Full Template' link to save a copy of your current Blogger template on your computer. That way, if you mess something up while you're editing your template, you can revert to this saved version.&lt;/li&gt;

&lt;li&gt;Leave the browser window with your Blogger template open. In a new window (or tab), go to &lt;a href="http://analytics.google.com/"&gt;http://analytics.google.com/&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;Log in to Analytics and click 'Sign Up'. Enter your site's URL and name your account something like "My personal sites" (you can add other websites to this account in the future if you like).&lt;/li&gt;

&lt;li&gt;Walk through the rest of the sign-up process. You should end up on a page that says 'Tracking Code' and contains a block of code. Copy this code.&lt;/li&gt;

&lt;li&gt;Go back to Blogger and scroll down to the bottom of your site's HTML template. You should see code that looks like this:
&lt;pre&gt;  &amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!-- end outer-wrapper --&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
Paste the Analytics code that you copied right above the &lt;code&gt;&amp;lt;/body&amp;gt;&lt;/code&gt; tag, like this:
&lt;pre&gt;  &amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!-- end outer-wrapper --&amp;gt;

&lt;strong&gt;&amp;lt;!-- Analytics code --&amp;gt;
&amp;lt;script src="http://www.google-analytics.com/urchin.js"
  type="text/javascript"&amp;gt;
&amp;lt;/script&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
_uacct = "UA-1234567-8";
urchinTracker();
&amp;lt;/script&amp;gt;&lt;/strong&gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;Leave the browser window with Blogger open. In a new browser window (or tab), go to &lt;a href="https://www.google.com/webmasters/tools/"&gt;https://www.google.com/webmasters/tools/&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;Type your site's URL into the box on the Dashboard and click 'Add Site'.&lt;/li&gt;

&lt;li&gt;Click the 'Verify your site' link on the next page.&lt;/li&gt;

&lt;li&gt;In the drop-down menu, select the 'Add a meta tag' option. Copy the code that appears.&lt;/li&gt;

&lt;li&gt;Go back to Blogger and scroll up to the top of your site's HTML template. You should see code that looks like this:
&lt;pre&gt;&amp;lt;head&amp;gt;
  &amp;lt;b:include data='blog' name='all-head-content'/&amp;gt;
  &amp;lt;title&amp;gt;&amp;lt;data:blog.pageTitle/&amp;gt;&amp;lt;/title&amp;gt;
  &amp;lt;b:skin&amp;gt;&amp;lt;![CDATA[/*&lt;/pre&gt;
Paste the Webmaster Tools code right after the &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; tag, like this:
&lt;pre&gt;&amp;lt;head&amp;gt;
  &amp;lt;b:include data='blog' name='all-head-content'/&amp;gt;
  &amp;lt;title&amp;gt;&amp;lt;data:blog.pageTitle/&amp;gt;&amp;lt;/title&amp;gt;
  &lt;strong&gt;&amp;lt;meta content='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    name='verify-v1'/&amp;gt;&lt;/strong&gt;
  &amp;lt;b:skin&amp;gt;&amp;lt;![CDATA[/*&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;Click the 'Save Template' button below your HTML template.&lt;/li&gt;

&lt;li&gt;Click the 'Verify' button in your Webmaster Tools account. Your site's status should change to &lt;span style="text-transform:uppercase; color:green;"&gt;Verified&lt;/span&gt;. If not, wait a few seconds and click 'Verify' again.&lt;/li&gt;

&lt;li&gt;Go back to your Analytics account and click 'Check status' for your tracking code. It should tell you that your code has been installed correctly and data is being collected.&lt;/li&gt;

&lt;li&gt;Go to your blog's homepage and view your blog to make sure that everything looks okay (make sure you didn't mess up your site's template while editing it). If everything looks okay, you can delete the copy of your template that you saved to your desktop. (If something looks wrong, you can erase your changes by uploading the template copy that you saved at the beginning.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you have problems with these steps you can drop me a note, or get help here: &lt;a href="http://help.blogger.com/"&gt;Blogger Help&lt;/a&gt;, &lt;a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35181"&gt;Webmaster Tools Help&lt;/a&gt;, &lt;a href="http://www.google.com/support/googleanalytics/bin/answer.py?answer=66983"&gt;Analytics Help&lt;/a&gt;.&lt;/p&gt;

&lt;p style="font-size:85%;"&gt;&lt;em&gt;Next:&lt;/em&gt; &lt;a href="http://twopieceset.blogspot.com/2008/03/first-steps-with-google-analytics.html"&gt;A couple tips for your initial Analytics/Webmaster Tools setup&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3081576141653618753-8612526814962071133?l=twopieceset.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://twopieceset.blogspot.com/feeds/8612526814962071133/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3081576141653618753&amp;postID=8612526814962071133" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8612526814962071133?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3081576141653618753/posts/default/8612526814962071133?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/twopieceset/~3/I08jLK1MgRM/setting-up-google-analytics-webmaster.html" title="Setting up Google Analytics &amp;amp; Webmaster Tools" /><author><name>Susan</name><uri>http://www.blogger.com/profile/10553935900881505139</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11346212705518238500" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://twopieceset.blogspot.com/2008/03/setting-up-google-analytics-webmaster.html</feedburner:origLink></entry></feed>
