<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.s-anand.net/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>S Anand</title>
	
	<link>http://www.s-anand.net/blog</link>
	<description>Technology, business and fun</description>
	<lastBuildDate>Fri, 12 Mar 2010 21:36:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.s-anand.net/sanand" /><feedburner:info uri="sanand" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>sanand</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.s-anand.net%2Fsanand" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.s-anand.net/sanand" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.s-anand.net%2Fsanand" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.s-anand.net%2Fsanand" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><item>
		<title>Shopping with Cooliris</title>
		<link>http://feeds.s-anand.net/~r/sanand/~3/1wpG5FCD5kM/</link>
		<comments>http://www.s-anand.net/blog/shopping-with-cooliris/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 21:36:32 +0000</pubDate>
		<dc:creator>S Anand</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[How I do things]]></category>

		<guid isPermaLink="false">http://www.s-anand.net/blog/shopping-with-cooliris/</guid>
		<description>I just put together this little demo that scrapes John Lewis’ site and creates a MediaRSS file out of it.
CoolIris has got to be the best way to shop. Apart from being really pretty, it’s quite useful when you know what something looks like, but don’t quite know how to search for it. For example, [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.s-anand.net/blog/wp-content/uploads/johnlewis1.jpg"><img title="John Lewis jackets scrolling on CoolIris plugin" alt="John Lewis jackets scrolling on CoolIris plugin" src="http://www.s-anand.net/blog/wp-content/uploads/johnlewis1_thumb.jpg" width="600" height="375"></a></p>
<p><a href="http://www.s-anand.net/blog/wp-content/uploads/johnlewis2.jpg"><img style="display: inline" title="Zoom-in view of a jacket at John Lewis" alt="Zoom-in view of a jacket at John Lewis" src="http://www.s-anand.net/blog/wp-content/uploads/johnlewis2_thumb.jpg" width="600" height="375"></a></p>
<p>I just put together this <a href="http://www.s-anand.net/johnlewis">little demo</a> that scrapes <a href="http://www.johnlewis.com/">John Lewis</a>’ site and creates a <a href="http://en.wikipedia.org/wiki/Media_RSS">MediaRSS</a> file out of it.</p>
<p><a href="http://www.cooliris.com/">CoolIris</a> has got to be the best way to shop. Apart from being really pretty, it’s quite useful when you know what something looks like, but don’t quite know how to search for it. For example, I was trying to look for a headphone-microphone (you know, the ones that connect into an iPhone or a Blackberry). I didn’t have a clue what it’s called. (<a href="http://en.wikipedia.org/wiki/TRS_connector">TRRS</a>, if you’re interested. I found out later.) The only way I could get it was to browse the wall…</p>
<p><a href="http://www.s-anand.net/blog/wp-content/uploads/amazoncooliris.jpg"><img style="display: inline" title="Amazon search for ear microphones on CoolIris" alt="Amazon search for ear microphones on CoolIris" src="http://www.s-anand.net/blog/wp-content/uploads/amazoncooliris_thumb.jpg" width="600" height="375"></a></p>
<p>For the curious, here’s the 50-line <a href="http://gist.github.com/330477">source code</a>.</p>
<img src="http://feeds.feedburner.com/~r/sanand/~4/1wpG5FCD5kM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.s-anand.net/blog/shopping-with-cooliris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.s-anand.net/blog/shopping-with-cooliris/</feedburner:origLink></item>
		<item>
		<title>ImportHtml doesn’t auto-refresh</title>
		<link>http://feeds.s-anand.net/~r/sanand/~3/nbjE7yIRKVI/</link>
		<comments>http://www.s-anand.net/blog/importhtml-doesnt-auto-refresh/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 09:54:26 +0000</pubDate>
		<dc:creator>S Anand</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.s-anand.net/blog/?p=2487</guid>
		<description>A cool thing about Google Spreadsheets is that you can scrape websites using external data functions like importHtml. It’s really easy to use. The formula:
=importHtml("http://www.imdb.com/chart/top", "table", 1)
imports the Internet Movie Database top 250 table on to Google Spreadsheets.
Since you can publish these as RSS feeds, it ought to, in theory, be a great way of [...]</description>
			<content:encoded><![CDATA[<p>A cool thing about <a href="http://docs.google.com/">Google Spreadsheets</a> is that you can scrape websites using <a href="http://docs.google.com/support/bin/answer.py?hl=en&amp;answer=75507">external data functions</a> like importHtml. It’s really easy to use. The formula:</p>
<pre>=importHtml("http://www.imdb.com/chart/top", "table", 1)</pre>
<p>imports the <a href="http://www.imdb.com/chart/top">Internet Movie Database top 250</a> table on to Google Spreadsheets.</p>
<p>Since you can <a href="http://www.mmmeeja.com/blog/web-development/google-spreadsheets-rss.html">publish these as RSS feeds</a>, it ought to, in theory, be a great way of generating RSS feeds out of arbitrary content.</p>
<p>There’s just one problem: <a href="http://www.google.com/support/forum/p/Google%20Docs/thread?tid=46676d88b38e0c50&amp;hl=en">it doesn’t auto update</a>.</p>
<p>There are claims that it does <a href="http://www.google.com/support/forum/p/Google%20Docs/thread?tid=061199840171feea&amp;hl=en">every</a> <a href="https://docs.google.com/View?docID=dhrr6ms2_523cs7274fv&amp;pageview=1&amp;hgd=1">hour</a>. Maybe it does <em>when the sheet is open</em>. I don’t know. But it definitely does not when the sheet is closed. I wrote a simple script that logs the time at which the script was accessed, and prints the log every time it is accessed.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">datetime</span>, <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'Content-Type: text/plain; charset=utf-8'</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">''</span>
&nbsp;
logfile = <span style="color: #483d8b;">'timenow.log'</span>
<span style="color: #ff7700;font-weight:bold;">try</span>:    timelog = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>logfile<span style="color: black;">&#41;</span>.<span style="color: black;">readlines</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">except</span>: timelog = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
timelog.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: #008000;">str</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">datetime</span>.<span style="color: #dc143c;">datetime</span>.<span style="color: black;">now</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>logfile, <span style="color: #483d8b;">'w'</span><span style="color: black;">&#41;</span>.<span style="color: black;">writelines</span><span style="color: black;">&#40;</span>timelog<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">''</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>timelog<span style="color: black;">&#41;</span></pre></div></div>

<p>Then I importHtml’ed it into Google spreadsheets, and left it on for the night. Result: absolutely no hits when the document is closed.</p>
<p>Pity. Guess <a href="http://developer.yahoo.com/yql/">YQL</a> is still the best option.</p>
<img src="http://feeds.feedburner.com/~r/sanand/~4/nbjE7yIRKVI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.s-anand.net/blog/importhtml-doesnt-auto-refresh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.s-anand.net/blog/importhtml-doesnt-auto-refresh/</feedburner:origLink></item>
		<item>
		<title>Calvin, speechless</title>
		<link>http://feeds.s-anand.net/~r/sanand/~3/gCqKGaNgt1w/</link>
		<comments>http://www.s-anand.net/blog/calvin-speechless/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 19:57:38 +0000</pubDate>
		<dc:creator>S Anand</dc:creator>
				<category><![CDATA[Funny]]></category>

		<guid isPermaLink="false">http://www.s-anand.net/blog/calvin-speechless/</guid>
		<description></description>
			<content:encoded><![CDATA[<p><img src="http://picayune.uclick.com/comics/ch/1986/ch860215.gif"> <img src="http://picayune.uclick.com/comics/ch/1987/ch870803.gif"> <img src="http://picayune.uclick.com/comics/ch/1988/ch880819.gif"> <img src="http://picayune.uclick.com/comics/ch/1989/ch890412.gif"> <img src="http://picayune.uclick.com/comics/ch/1990/ch900101.gif"> <img src="http://picayune.uclick.com/comics/ch/1990/ch900104.gif"> <img src="http://picayune.uclick.com/comics/ch/1991/ch910126.gif"> <img src="http://picayune.uclick.com/comics/ch/1991/ch910420.gif"> <img src="http://picayune.uclick.com/comics/ch/1992/ch920206.gif"> <img src="http://picayune.uclick.com/comics/ch/1992/ch921001.gif"> <img src="http://picayune.uclick.com/comics/ch/1993/ch930614.gif"> <img src="http://picayune.uclick.com/comics/ch/1995/ch951023.gif"></p>
<img src="http://feeds.feedburner.com/~r/sanand/~4/gCqKGaNgt1w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.s-anand.net/blog/calvin-speechless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.s-anand.net/blog/calvin-speechless/</feedburner:origLink></item>
		<item>
		<title>My weight line</title>
		<link>http://feeds.s-anand.net/~r/sanand/~3/W6sXa9bSYiA/</link>
		<comments>http://www.s-anand.net/blog/my-weight-line/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 14:08:21 +0000</pubDate>
		<dc:creator>S Anand</dc:creator>
				<category><![CDATA[How I do things]]></category>

		<guid isPermaLink="false">http://www.s-anand.net/blog/my-weight-line/</guid>
		<description></description>
			<content:encoded><![CDATA[<p><a href="http://www.s-anand.net/blog/wp-content/uploads/weightline.png"><img alt="In 2009, I dropped from 74 kgs down to 66, and back again to 72." src="http://www.s-anand.net/blog/wp-content/uploads/weightline_thumb.png" width="600" height="385"></a></p>
<img src="http://feeds.feedburner.com/~r/sanand/~4/W6sXa9bSYiA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.s-anand.net/blog/my-weight-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.s-anand.net/blog/my-weight-line/</feedburner:origLink></item>
		<item>
		<title>Recruiting smart people</title>
		<link>http://feeds.s-anand.net/~r/sanand/~3/1_XEs0e-K1s/</link>
		<comments>http://www.s-anand.net/blog/recruiting-smart-people/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 18:30:34 +0000</pubDate>
		<dc:creator>S Anand</dc:creator>
				<category><![CDATA[Business realities]]></category>
		<category><![CDATA[How I do things]]></category>

		<guid isPermaLink="false">http://www.s-anand.net/blog/recruiting-smart-people/</guid>
		<description>Recently, I have ended up giving bits of advice to people recruiting at start-ups, and a few patterns have emerged that are worth sharing.
Before I go ahead, I should warn you that I have no qualifications whatsoever. (All consulting advice should come with this caveat, perhaps!) You might be better off reading Joel Spolsky’s Smart [...]</description>
			<content:encoded><![CDATA[<p>Recently, I have ended up giving bits of advice to people recruiting at start-ups, and a few patterns have emerged that are worth sharing.</p>
<p>Before I go ahead, I should warn you that I have no qualifications whatsoever. (All consulting advice should come with this caveat, perhaps!) You might be better off reading <a href="http://www.joelonsoftware.com/">Joel Spolsky</a>’s <a href="http://www.amazon.com/gp/product/1590598385?tag=sanand-20">Smart and Get Things Done</a> (<a href="http://books.google.com/books?id=nt_1fCfqv5EC&amp;lpg=PP1&amp;dq=recruiting%20smart%20people&amp;pg=PP1#v=onepage&amp;q=&amp;f=false">read</a>). I haven’t read it myself, but from what little I see of it, the thoughts seem similar.</p>
<p>The key is to realise that <strong>smart people are probably 10 times as productive</strong>. OK, that may be wrong. It probably originated with <a href="http://en.wikipedia.org/wiki/The_Mythical_Man-Month#The_Surgical_Team">Fred Brooks</a>, <a href="http://developers.slashdot.org/comments.pl?sid=262509&amp;cid=20136383">and</a> <a href="http://forums.construx.com/blogs/stevemcc/archive/2008/03/27/productivity-variations-among-software-developers-and-teams-the-origin-of-quot-10x-quot.aspx">has</a> <a href="http://blogs.netapp.com/dave/2008/07/can-a-programme.html">been</a> <a href="http://www.johndcook.com/blog/2009/12/23/why-programmers-are-not-paid-in-proportion-to-their-productivity/">debated</a> to <a href="http://www.codinghorror.com/blog/2004/09/skill-disparities-in-programming.html">death</a>. But it seems fairly well accepted that the best people contribute more than they are better paid. (The best guy is probably paid twice the average, but is worth more than twice the average guy.)</p>
<p>This isn’t because they do more work. It’s because <strong>they solve harder problems</strong>. You can get two people to do two people’s work. You can’t solve a problem twice as hard even with twenty people.</p>
<p>For a startup, the problem is acute. You don’t have the luxury of being able to manage a large number of people.</p>
<p>Since smart people typically work for a lot less than they’re probably worth, <strong>it’s a bargain to hire smart people</strong>. You pay them twice as much, and they’ll solve problems twenty others couldn’t solve.</p>
<p>The problem boils down to finding smart people and getting them on board.</p>
<p><strong>Finding smart people</strong></p>
<p><em>You</em> need to go after the smart people. They won’t come to you. Many reasons. You’re not big enough. There aren’t that many of them. They’re not in the market that much (no one lets go of them anyway).</p>
<p>So that just demolishes the traditional recruitment model straight away. You don’t advertise for people and filter their resumes. <em>You</em> find the people you want and go after them.</p>
<p>The good thing is, smart people cluster. They tend to know other smart people, meet up with other smart people, read the same things as other smart people, etc. That gives some useful starting points.</p>
<p>Matt Biddulph talks about <a href="http://www.hackdiary.com/2010/02/10/algorithmic-recruitment-with-github/">Algorithmic recruitment with Github</a>. The premise is that smart programmers are at the centre of the social networks in their respective areas. Just go after them. I advised a friend similarly: to look for the network (or at least the smart people) that hang out on <a href="http://stackoverflow.com/">Stack Overflow</a> for a given topic. Last year, when I was <a href="http://www.s-anand.net/blog/open-source-in-corporates/">looking for a Django developer</a>, I scoured the Infosys internal blogs for similar networks. (Found only a few, but it sure introduced me to a lot of really smart people that I didn’t know existed!)</p>
<p>Conferences are another place to look for them. I tend to periodically check out <a href="http://upcoming.yahoo.com/">Upcoming</a> and <a href="http://www.meetup.com/">Meetup</a> to see who’s taking part in what, go over, meet them, and see what they do. I find it a great way of figuring out who’re the experts in a field. (I once met one of the guys who wrote <a href="http://www.tiddlywiki.com/">TiddlyWiki</a>, and it was immediately obvious that he was in a different league from the others that day at the <a href="http://javascript.meetup.com/3/">Javascript Meetup</a>.)</p>
<p>You can go a step further. Since smart people cluster, they form networks, and control of that network is power. So why not <em>organise</em> those conferences? A lot of these smart people just need a place to hang out and learn from each other. I know the <a href="http://javascript.meetup.com/3/">Javascript Meetup</a> was struggling to find a place to meet. Pubs don’t give you the quiet atmosphere needed to learn from each other, and it’s certainly impossible to have a talk there. The folks at <a href="http://hackspace.org.uk/">Hackspace</a> have done this really well, renting a place and equipment for people to tinker with electronics.</p>
<p>That’s what smart people want, mostly: a nice quiet place, good company, and perhaps pizza. <a href="http://skillsmatter.com/">Skills Matter</a> does this beautifully. They organise free workshops every now and then. The list of people that attend these is invaluable.</p>
<p><strong>Getting them on board</strong></p>
<p>Once you’ve spotted a smart person, what do you offer them?</p>
<p>Remember – they’re probably 10 times as productive. Money is quite likely to be worth offering. If that works, great. But if you’re a startup, you probably don’t have the money. You probably could offer a stake in the firm. That might work too.</p>
<p>But, <a href="http://www.ted.com/talks/dan_pink_on_motivation.html">to quote Dan Pink</a>: “One of the most robust findings of social science is that incentives dull the mind and hamper creativity. Yet, businesses ignore it.” Some people aren’t motivated by money. You might get better results if you didn’t pay money than if you did. (Read this <a href="http://blogs.hbr.org/bregman/2010/02/a-story-about-motivation.html">story on motivation by Peter Bregman</a>.)</p>
<p>Suppose you said, “I have this problem… I’ve no idea how to solve it. Would you be able to help me?” Most smart people would probably help you. For free. The feel good feeling is worth more than the transaction cost of extracting payment from you.</p>
<p>Or you might be championing a worthy cause – anywhere from world hunger, rural poverty or cure for cancer down to organising a scout camp. The thing about this is they are intrinsically attractive. You probably just need to open up and say “This is what I’m doing, can you help?”</p>
<p>The flip side of it is loss of control. <a href="http://jonty.co.uk/">Jonty</a> told me about how <a href="http://hackspace.org.uk/">Hackspace London</a> was run: &#8220;it’s as loosely organised as possible without falling apart&#8221;. You don’t manage these people like traditional organisations. You manage them like a community of volunteers. Like parents at a school day function. Like family at a wedding. You don’t pay them. You don’t order them around either.</p>
<p>Part of that is the flexibility of being a startup. You can afford that loss of control. Yes, you don’t have the money. No, not everyone’s working for money. (The planet as a whole is fairly well off. Smart people particularly so.) But you might offer something interesting. Just as long as you’re willing to let go of some control in your mind…</p>
<img src="http://feeds.feedburner.com/~r/sanand/~4/1_XEs0e-K1s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.s-anand.net/blog/recruiting-smart-people/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.s-anand.net/blog/recruiting-smart-people/</feedburner:origLink></item>
	</channel>
</rss>
