<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The ByteBaker &#187; Productivity</title>
	<atom:link href="http://bytebaker.com/category/productivity/feed/" rel="self" type="application/rss+xml" />
	<link>http://bytebaker.com</link>
	<description>Computer Science isn&#039;t a science and it&#039;s not about computers</description>
	<lastBuildDate>Tue, 07 Sep 2010 18:36:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='bytebaker.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/6d47d9dd6b113f7f539237c5cff8cd54?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>The ByteBaker &#187; Productivity</title>
		<link>http://bytebaker.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://bytebaker.com/osd.xml" title="The ByteBaker" />
	<atom:link rel='hub' href='http://bytebaker.com/?pushpress=hub'/>
		<item>
		<title>Sunday Selection 2010-09-05</title>
		<link>http://bytebaker.com/2010/09/05/sunday-selection-2010-09-05/</link>
		<comments>http://bytebaker.com/2010/09/05/sunday-selection-2010-09-05/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 14:30:06 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1185</guid>
		<description><![CDATA[Reading How do I write so much? I&#8217;m glad you asked is something I think all bloggers and academics should read. I think writing is  a very good way to practice thinking and spread your ideas and this article describes both why and how you should increase your writing throughput. Media Google Priority Inbox video [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1185&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Reading</strong></p>
<p><a href="http://www.sebastianmarshall.com/?p=195">How do I write so much? I&#8217;m glad you asked</a> is something I think all bloggers and academics should read. I think writing is  a very good way to practice thinking and spread your ideas and this article describes both why and how you should increase your writing throughput.</p>
<p><strong>Media</strong></p>
<p><a href="http:http://mail.google.com/mail/help/priority-inbox.html//">Google Priority Inbox video</a> While priority inbox by itself is a very useful feature for people dealing with lots of email, the video itself is a work of art. It&#8217;s really well made and I found it both entertaining and informative</p>
<p><strong>Software</strong></p>
<p><a href="http://mail.google.com/mail/help/priority-inbox.html">Google Priority Inbox</a> is probably best thought of as a spam filter in reverse. Instead of removing spam from your inbox, it places important email in a &#8220;priority inbox&#8221; that shows up as a section on top of your main inbox. If you get lots of email a day this is for you. I suggest changing the settings so that important emails are shown in the priority inbox even after they&#8217;re read. That way it&#8217;s easier for you to find important mail after you&#8217;ve read it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1185/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1185&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/09/05/sunday-selection-2010-09-05/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Release schedules and version numbers</title>
		<link>http://bytebaker.com/2010/07/16/release-schedules-and-version-numbers/</link>
		<comments>http://bytebaker.com/2010/07/16/release-schedules-and-version-numbers/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 19:06:52 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[google chrome]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1110</guid>
		<description><![CDATA[I just finished a major rewrite and overhaul of my long-term research project and pushed it out to other students who are working with me on it. In the process of the redo I rewrote large parts of it to be simpler code and added a few important features. I also cleaned up the code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1110&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just finished a major rewrite and overhaul of my long-term research project and pushed it out to other students who are working with me on it. In the process of the redo I rewrote large parts of it to be simpler code and added a few important features. I also cleaned up the code organization (everything is neatly divided into directories instead being spread throughout the toplevel), added comments and rewrote the documentation to actually described what the program did and how to use it. But it wasn&#8217;t just a pure rewrite and refactoring. I added at least one important new feature, added a completely new user interaction mode and changed the code architecture to explicitly support multiple interfaces. But the thing is that even though I&#8217;ve &#8220;shipped&#8221; it, it&#8217;s still not quite done.</p>
<p>There are significant parts missing. The unit testing is very, very scant. There is almost no error handling. The previous version had a GUI which I need to port to the new API/architecture. I also want to write one more interaction mode as a proof of concept that it can support multiple, different modes. The documentation needs to be converted to HTML mode and there are some utility functions that would be helpful to have. In short, there&#8217;s a lot that needs to be done. So my question is, what version of my code is this?</p>
<p>I started a rewrite of this last  summer as well but never finished &#8212; a casualty classic second system effect. For a while I considered calling this version 3.0 counting the unfinished copy as 2.0. But I decided it was rather silly and so I&#8217;ve actually called it 2.0. Though it&#8217;s certainly a major major change from the last version, in some ways it&#8217;s still broken and unfinished. Is it a beta? Or a release candidate? I suppose that&#8217;s a better description. Except the additions that I want to make are more than moving it from a beta to a full release. The GUI would definitely be a point release.</p>
<p>In many ways the debate is purely academic and kinda pointless. As I&#8217;ve written before, <a href="http://bytebaker.com/2008/12/12/software-is-forever-beta/">software is always </a><a href="http://bytebaker.com/2008/12/12/software-is-forever-beta/">beta</a>. However, releasing major and minor &#8220;versions&#8221; of software is a popular activity. In some ways it&#8217;s helpful to the user. You can tell when something&#8217;s changed significantly and when you need to upgrade. In an age where you had to physically sell software, that was a good thing to know. However, the rise of web-based software has changed that to a large extent. If you&#8217;ve been using Gmail for a while, you&#8217;ll know that it has a history of small, regular atomic improvements over time. And it&#8217;s not just Gmail, it&#8217;s most of Google&#8217;s online services. Sometimes there are major facelifts (like Google Reader a few years ago) but by and large this gradual improvement works well. Google Chrome also uses this model. Chrome is officially past version 5 now. But thanks to its built in auto update mechanism you don&#8217;t need to care (and I suspect most people don&#8217;t). Rolling releases are clearly acceptable and may just be the way software updates are going to go in the future. Of course, if you&#8217;re charging for your code you&#8217;re going to have some sort of paywall, so no, manual software updates probably won&#8217;t go away forever.</p>
<p>Coming back to my original question, what version did I just release? 2.0? 2.0 beta 1? 1.9.5? Honestly I don&#8217;t really care. Part of my disinterest stems from the fact that Git makes branching and merging so easy. It&#8217;s hard to care about version numbers and releases when your code is in the hands of a system that makes it so easy to spin off feature branches and then merge them back in when they&#8217;re ready. If I worked in a fully Git based team I&#8217;d just have everyone running daily merges so that everyone just automatically got the new features. In that case I wouldn&#8217;t have waited to release. The big new feature would have been pushed a week ago, the reorganization and cleanup after that and then the documentation yesterday. I&#8217;d also be sending out the later updates and addition one at a time once they were done. Everyone else uses SVN, there might still be a way to do it.</p>
<p>In conclusion: rolling releases are awesome. Users don&#8217;t have to worry about manually updating and automagically get new features when they&#8217;re available. Developers using a good version control system can be up-to-date with everyone else&#8217;s code. This is especially important if you&#8217;re writing developer tools (which I am): the faster and easier you can get your updates to the people making the end product the faster the end product gets developed.</p>
<p>PS. If you&#8217;re wondering what exactly it is I&#8217;m making, more on that later. There&#8217;s a possibility of a source release after I talk to my professor about it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1110&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/07/16/release-schedules-and-version-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Comments need to be in blog order</title>
		<link>http://bytebaker.com/2010/05/05/comments-need-to-be-in-blog-order/</link>
		<comments>http://bytebaker.com/2010/05/05/comments-need-to-be-in-blog-order/#comments</comments>
		<pubDate>Wed, 05 May 2010 19:06:49 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[comments]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1087</guid>
		<description><![CDATA[Most blogs on the web are in reverse chronological order &#8212; the most recent article shows up first. I think this works pretty well for a reader, because you get to see the most recent, current state of the blog and if you like what you can see then you can easily dig deeper. Also, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1087&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Most blogs on the web are in reverse chronological order &#8212; the most recent article shows up first. I think this works pretty well for a reader, because you get to see the most recent, current state of the blog and if you like what you can see then you can easily dig deeper. Also, you can easily see if a blog has been inactive for a long time and move on if you don&#8217;t care about the back-issues. I&#8217;m going to be calling this ordering &#8220;blog order&#8221; for the rest of the post.</p>
<p>Comments on blogs are typically in the opposite order. The first comment you see will be the oldest and the most recent comment will be at the end. In some ways this makes sense. The comments are generally conversations that people are having about the post. It makes sense to have the comments in chronological order so that people can follow the conversation as it progresses and so that people read what other people have written before commenting themselves. However, this doesn&#8217;t really scale beyond a few dozen comments. There are going to be very few people who will care to follow a conversation that spans a hundred comments. The majority of people care more about expressing what they have to say than about reading in depth about the rest of the conversation. Of course this means that there is going to be repetition because these people haven&#8217;t read what&#8217;s written before.</p>
<p>For me there is another aspect that I think is worse than some repetition. Seeing a line of a few hundred comments I often decide not to write a comment at all. After all, my comment is going straight to the end of the line and how many people (apart from the original post author) are seriously going to take the time to go that deep to read my comment? As a writer of blog I think that is a serious issue because I don&#8217;t people staying away from from commenting because they think no one is going to read their comments.</p>
<p>What if blog comments were also  in blog order? That way, the most recent comments are on top and readers get encouraged to write their thoughts. But this makes the repetition problem even more serious and also threatens the conversation nature of the comment system. You can&#8217;t really get in on a conversation unless you know what has been talked about before. Putting comments in blog order makes it easy to miss previous conversations and again reduces the effectiveness of comments as community builders.</p>
<p>Instead of making the comment the unit of organization, what if we shift focus to the conversation thread? Let&#8217;s take the most recent conversation thread and bump it to the top. Inside each thread, the individual comments are still in chronological order. This ordering has two important characteristics:</p>
<ol>
<li>The newest, most active conversations rise to the top. Readers can see what others are talking about and join right in. And if there aren&#8217;t and long conversations currently going on, the latest comment is on top helping individual comments get read.</li>
<li>Each conversation is chronological encouraging readers to read through what&#8217;s been said before adding their own contribution.</li>
</ol>
<p>The idea to emphasize the conversation over the discrete message isn&#8217;t new: it&#8217;s the main distinction that separates forums from email. It&#8217;s also the reason Gmail is so awesome: excellent support for threaded conversations. There are of course challenges to be addressed, especially in terms of UI and how to deal with threads that encapsulate divergent conversations. But these problems will only get addressed as they become more common. I think it&#8217;s about time that the web moved from the flat chronological comment system that is so popular to a richer, more useful one that plays an active role in fostering conversations and community.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1087/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1087/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1087/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1087/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1087/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1087/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1087/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1087/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1087/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1087/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1087/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1087/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1087/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1087/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1087&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/05/05/comments-need-to-be-in-blog-order/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Why phones are toxic</title>
		<link>http://bytebaker.com/2010/04/13/why-phones-are-toxic/</link>
		<comments>http://bytebaker.com/2010/04/13/why-phones-are-toxic/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 15:26:30 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1078</guid>
		<description><![CDATA[I don&#8217;t make a secret of my dislike of phones. For all of my first year in college I didn&#8217;t have a cell phone and even now I use my phone as little as I can. When I do use it, it&#8217;s generally more for texting than for actually making calls. Back in high school [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1078&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t make a secret of my dislike of phones. For all of my first year in college I didn&#8217;t have a cell phone and even now I use my phone as little as I can. When I do use it, it&#8217;s generally more for texting than for actually making calls. Back in high school having a phone was something of a status symbol. They were the hip new gadgets and all the cool kids had one. I didn&#8217;t get my first one till almost my senior year and even then I can&#8217;t say I really used it. My real dislike for phones only came in college after getting used to not having them and developing a lifestyle where most communication was based on email, IM and face-to-face meetings (one advantage of living on a small, residential campus). I&#8217;m going to try to logically support my dislike of phones without getting emotional</p>
<h2>Phones are designed for interruption</h2>
<p>Phones are designed from the ground up for interruption. It all starts with a noisy ringer that will tear your mind away from whatever it is that you&#8217;re doing. That&#8217;s followed by answering the phone and dealing with whatever it is the other person is talking, which more often than not has nothing to do with whatever else you were dealing with at the moment. Even if you have a caller ID and can choose not to pick up, you still have to disconnect from the task at hand and think about who the person, why they might be calling and make the decision to pick up or not. Your concentration is practically guaranteed to be broken.</p>
<h2>Data transfer rates are low</h2>
<p>This might sound heartless and inhuman, but in most circumstances I&#8217;d much rather read something than listen to someone say. Given a piece of text, most people can skim over it pretty quickly and grasp the main points. You can then reread it (or just the important parts at a slower rate). But if you&#8217;re listening to someone else talk, you&#8217;re limited by their speed. If they speak too fast you can&#8217;t grasp what they&#8217;re saying and if they&#8217;re too slow it takes forever to get to the point. Not to mention the punctuations of &#8220;umm..&#8221; and &#8220;err&#8230;&#8221; that creep in. Plus actually having to write out something often forces people to rethink what it is they want to say and make it more concise.</p>
<h2>Only one dimension</h2>
<p>Voice communications and telephones in particular are inherently linear. You can&#8217;t skip ahead or backward when someone is talking. Most voicemail systems suck and are a horrendously bad way to see who called you or left a message. Unlike email or IM you can&#8217;t quickly glance over things to make a decision to act or put off till later. You actually have to sit down and listen to every single darn message. This isn&#8217;t really all telephone&#8217;s fault: sound is a one-dimensional medium, at least human perception of it is. People can&#8217;t listen to more than one voice at a time and make sense of it.</p>
<h2>You have to act RIGHT NOW</h2>
<p>I love text-based communication because it gives you a chance to think things through before actually communicating. Even if it&#8217;s just a quick email reply you at least have a few seconds to think things through before you hit &#8220;send&#8221;. But in a telephone conversation you have to act right now. If you forget to say something, you can&#8217;t just add it in a second later. You have to interrupt the other person or wait for them and remember what you wanted to say. IM also has some of these difficulties, but each party can scan the text stream on their own so you can send your message knowing that the other person will read in their time and adjust their messages accordingly.</p>
<h2>It&#8217;s not the same as a face-to-face</h2>
<p>Talking to a person over the phone is really not the same as talking face to face. Human communication involves a large number of non-verbal queues that get dropped when you&#8217;re limited to just voice. In contrast, written communication has developed it&#8217;s own style. It&#8217;s meant to be absorbed in a different manner using more brain power to imagine the context and surroundings of the text. If something is important enough that you need someones undivided attention: schedule a face-to-face meeting. If that&#8217;s not possible and a phone conversation is inevitable, then you make sure you set aside a particular time and stick to it.</p>
<h2>The Disclaimer</h2>
<p>As you might have noticed, a lot of my complaints aren&#8217;t about verbal communication, it&#8217;s about the current incarnation of the telephone. It&#8217;s possible to use a phone in a manner that mitigates these issues to a large extent. Jason Fried of 37signals has specific weekly office hours where people can call in and ask him anything they want. This eliminates the uncertainty and interrupting potential of phones. <a href="http://voice.google.com">Google Voice</a> offers a really nice modern voicemail system. even if the text transcription is somewhat buggy, at least you know who called and when and don&#8217;t have to listen through the whole queue. I would personally like things if I could plug my phone line into my computer and then just interface through some good software. Till such a day comes (or VoIP rules the world) I&#8217;ll stick to Google Voice.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1078/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1078/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1078/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1078/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1078/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1078/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1078/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1078/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1078/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1078/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1078/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1078/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1078/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1078/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1078&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/04/13/why-phones-are-toxic/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>April plans</title>
		<link>http://bytebaker.com/2010/04/01/april-plans/</link>
		<comments>http://bytebaker.com/2010/04/01/april-plans/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 14:12:09 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[instapaper]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[time management]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1070</guid>
		<description><![CDATA[Today is the 1st of April. It&#8217;s time for the internet to get out of control with craziness and ridiculous April&#8217;s Fools Day. Today was also registration day at college, meaning that all of us 20-something year-olds had to get up at 7 in the morning (known as the crack of dawn to most of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1070&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today is the 1st of April. It&#8217;s time for the internet to get out of control with craziness and ridiculous April&#8217;s Fools Day. Today was also registration day at college, meaning that all of us 20-something year-olds had to get up at 7 in the morning (known as the crack of dawn to most of us) and schedule next semesters dreary existence. It&#8217;s also the start of a new month and hopefully the start of good weather that actually lasts. Since it&#8217;s a new month, I decided it would be a good time to try doing things a little bit different. I suppose you could think of them as 30-day trials in some ways, but most of them are minor enough that I don&#8217;t think I need to use the &#8216;trial&#8217; concept on them. In no particular order, here goes:</p>
<h2>Writing daily: quantity over quality</h2>
<p>I already write a fair amount, mostly in the form of blog posts and email. But I&#8217;m also prone to slacking off terribly. I&#8217;ve gone for a week at a time without writing anything substantial. Writing isn&#8217;t a day job for me, but it is something I enjoy, something I value and something I want to improve on. So I&#8217;m going to try a bit every day.</p>
<p>I&#8217;ve thought about doing this at various points in the past, but I&#8217;ve always agonized about the process. I would like to sit down at any computer and just write for a few minutes. But I could never decide how exactly to do it without having writing scattered all over the place. And I always knew in the back of my head that I needed to start down for an hour or so to actually write something of value.</p>
<p>I&#8217;ve always been a fan of quality over quantity, but for once I&#8217;m going to give it a rest. I&#8217;m going to write everyday in the hopes that the much increased throughput will produce a greater number of good works in the long run and it will also develop my writing skills (especially in terms of avoiding writer&#8217;s block and being able to switch into writing mode at the drop of a hat). When I have an extended period of time (an hour at least) I&#8217;ll write techie articles for this blog and when I have shorter snippets I&#8217;ll just dump them into documents on Google Docs.</p>
<h2>Reading: everywhere, anytime</h2>
<p>While I like to write, I like to read too. Unfortunately I don&#8217;t often have the time to sit down and read for a few hours at a time. On the other hand I have short bursts of time every now and then (5-10 minutes) and instead of just sitting right or looking at funny videos of cats, I want to spend that time reading. I&#8217;ve already read one book on my iPod Touch using little snippets of time here and there. Though I don&#8217;t think I&#8217;ll want to do that with all forms of literature, I can certainly do it for short pieces. I&#8217;m considering getting the <a href="http://www.instapaper.com/">Instapaper Pro</a> app (which lets you save stuff you want to read) and offers some features like text extraction and font customization that I think will come in pretty handy.</p>
<h2>Using both brain hemispheres</h2>
<p>I&#8217;m going to be graduating in just over a year with two degrees: computer engineering. So yes, my left brain is going to be very well exercised. But I want my right brain to get some training too. In retrospect it might have been a good idea to pick up a studio art major, but I like what I have know.</p>
<p>In order to exercise my right hemisphere I&#8217;ve taken to looking at art and design. I don&#8217;t really study anything formally (though I among going to Italy over summer to study Renaissance Art) but I do observe and absorb. In particular I&#8217;ve been looking at data presentation and web design. I plan on spending some time building &#8220;<a href="http://heartdirected.com/">blogazine</a>&#8220;-like content on my website, probably centered about poetry and stories I&#8217;ve written before. I might even dabble in some hand-drawing (which I haven&#8217;t seriously done in years). Of course everything I do will be free for everyone to see and reuse.</p>
<h2>Measuring my time usage</h2>
<p>I often have days where I feel like I did a lot and didn&#8217;t really waste time, but didn&#8217;t quite accomplish much. I tried to apply the principle of &#8220;what you measure improves&#8221; by tracing all my time usage for a day. It turned out to be rather clumsy because I wanted a system where I could write things quickly and still get fairly good analytics on how I spent my time. Unfortunately paper is great for recording, but it sucks for analytics and most time tracking solutions I found were too heavy and expensive.</p>
<p>A few days ago I stumbled across a new webapp called <a href="http://letsfreckle.com">Freckle</a> which seems to hit the sweet spot between features and usability. All you do is enter a time (or use their timer bookmarklet), what project it was for and a bunch of tags and it gives you a set of fairly decent analytics. You have to pay for it and I just started a free month long trial. If I find that it actually works well, that I use it and that I&#8217;m getting more stuff done, then it&#8217;s a keeper and I&#8217;ll gladly fork over the $12 a month and wish them well.</p>
<h2>Agile daily productivity</h2>
<p>The agile development methodology eschews large complicated schedules and project plans in favor of smaller chunks of work, quicker feedback and review and greater flexibility. I&#8217;ve been an applying a similar system to my own daily workloads and it seems to be working, but I&#8217;ll be enforcing it better. Being a college student it makes absolutely no sense for me to have long schedules because every day brings new challenges (homework, tests, projects, random coffee drinking sessions) and any long-term plan would be shattered in a day. Instead I&#8217;m using a dual system: due dates to make sure I&#8217;m on track with my long term goals and shorter lists of daily and weekly tasks that need to be done. I&#8217;ll try to set aside large blocks of time for things like homework sets and fill in shorter blocks with reading and writing. I&#8217;m also consider doing weekly reviews but I&#8217;m not sure how much of a value that will provide to me right now.</p>
<hr />All that probably seems like a lot and taken individually it is. But I&#8217;m going to try to collapse/multiplex them into a congruent workflow where I schedule with flexibility in mind. Ideally, I&#8217;ll spending large blocks of time on homework, programming and content creation with shorter blocks on light reading, practice writing and random errands that pop up now and again.</p>
<p>In 30 days my free trial of Freckle will run out and that&#8217;s also when I&#8217;ll sit down, take a deep breath and see if all this actually worked or not. If it doesn&#8217;t work, I&#8217;ll try to see what it failed and see if I can fix it. Even if it didn&#8217;t work, I&#8217;m sure there will be places to tweak and improve. And though I&#8217;m tired from having written this (and from everything else I&#8217;ve done and need to) I feel pretty excited for this month.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1070/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1070&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/04/01/april-plans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>The Age of the Cyborg is upon us</title>
		<link>http://bytebaker.com/2010/03/30/the-age-of-the-cyborg-is-upon-us/</link>
		<comments>http://bytebaker.com/2010/03/30/the-age-of-the-cyborg-is-upon-us/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 15:16:08 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[cyborg]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[tablet]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1067</guid>
		<description><![CDATA[And they&#8217;re nothing like what the movies make them out to be. Today&#8217;s (and tomorrow&#8217;s) cyborgs are not a random and gruesome mix of metal and flesh out to destroy the rest of us. Rather, today&#8217;s cyborgs are&#8230; us. Each and every one of us, in some form or another. So what am I talking [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1067&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>And they&#8217;re nothing like what the movies make them out to be. Today&#8217;s (and tomorrow&#8217;s) cyborgs are not a random and gruesome mix of metal and flesh out to destroy the rest of us. Rather, today&#8217;s cyborgs are&#8230; us. Each and every one of us, in some form or another. So what am I talking about and how did this come to pass?</p>
<p>For starters, technology, especially computer technology has permeated every aspect of our lives. And along with the computer has come the network. Within the next decade mobile broadband will become ubiquitous (at least in urban areas) meaning that we will always be connected to the full knowledge and collective intelligence of the internet. As a direct result we are all gradually becoming cyborgs: our machines, especially in the form of mobile network connected devices are becoming an inseparable part of us. Sure, we may not be jacking in with our brains as a part of the regular morning routine, but connecting to the global network of computers (and hence indirectly to everyone else using those computers) is already a routine occurrence which we don&#8217;t give a second thought.</p>
<p>A <a href="http://www.wired.com/magazine/2010/03/st_thompson_cyborgs/">recent Wired article</a> talks about how average chess players combined with the right machine assistance can beat out better human players as well as other players with better software. The key is in the human&#8217;s ability to make the most of their machine assistants: figuring out which machine results to accept, which to reject and how to ask the right questions. Our currently technology is in exactly the same position. The talent of the person using a computer or the computational power of the machine is less important than being able to combine the two properly.</p>
<p>Leaving chess aside, there are more practical areas where this combination of man and machine is producing great payoffs. Successful blogger and author <a href="http://www.fourhourworkweek.com/blog/">Tim Ferriss</a> makes no secret of the fact that he uses analytics extensively to fine-tune how his website operates and is viewed in order to maximize his earnings. In earlier days, Paul Graham created effectively the world&#8217;s first web application, <a href="http://en.wikipedia.org/wiki/Viaweb">Viaweb</a> and successfully beat out better funded competitors by placing powerful tools (Common Lisp) in the hands of experienced users (himself and his team).</p>
<p>People my age and younger have never lived in a world when we couldn&#8217;t connect with people across the globe at the click of a mouse. All that has ever stood before us and the vast stores of information on the Internet has been a single text box with a button titled some variation of &#8220;Search&#8221;. We&#8217;re cyborgs in the sense that the use of our machines is natural and reflexive, requiring little explicit mental bandwidth. Who needs a port in the back of the skull when you have a copy of <a href="http://oreilly.com/catalog/9780596004477">Google Hacks</a> tucked into your brain?</p>
<p>Of course, not all cyborgs are made equal. Even among people my age there are both those who revel in technology and its gifts and those who would prefer to keep it at arm&#8217;s lengths. And I&#8217;m not talking about the difference between computer science graduate students and theater majors. I&#8217;m talking about the people who are content to use the Microsoft Word&#8217;s default font and paragraph spacing and those who spent hours tinkering with their websites to get things looking just right. I&#8217;m talking about the people who tweet a dozen times a day and those who log in to Facebook once a week. I&#8217;m talking about those who have three different emails and those who pull all their email into Gmail. I&#8217;m talking about&#8230; you get the point.</p>
<p>On the flip side there&#8217;s a careful balance between using technology to achieve a further goal (Tim Ferriss&#8217; website tweaks) and technology for technology&#8217;s sake (the hours spent tweaking the CSS on a blog only your mum reads). The Wired article says that there is a difference between people who use technology productively and hence feel smarter and more focused and the people who seem lost and intimated by online life. I would add a third category: those who feel smarter, but really aren&#8217;t better than the baseline. Cyborgization may be becoming ubiquitous, but that doesn&#8217;t mean that it&#8217;s easy.</p>
<p>The growing cyborgization of our society is also the reason why I&#8217;m excited about the second coming of tablet computers: the iPad and whatever Chrome-based offering Google throws its weight behind. Take a few minutes to check out the new <a href="http://www.apple.com/ipad/guided-tours/#ibooks">guided tours</a> of the iPad and you might get a hint of what I feel. The interface is completely different from how we use computers today and I think that&#8217;s a great idea. Let&#8217;s face it: most people today don&#8217;t really need a real computer. They need basically two devices: a internet connection device and some sort of glorified typewriter/calculator for writing reports and spreadsheets. Of course the iPad doesn&#8217;t excite those of us who type hundreds of words a minute or write code for a living. That&#8217;s because we&#8217;ve already crossed the line of cyborgization: we know (or are at least trying to find out) what we can do with our machines. The iPad is for the people on the other side, those who couldn&#8217;t care less about how many cores or how much RAM they have. It&#8217;s for people who are more than willing to trade their freedom (and their wallets) for a computing experience that they can relate to better and easier. It&#8217;s for the mum who wants to snuggle up in bed with her kid and Winnie the Pooh. It&#8217;s for the people who still consider reading a newspaper in the morning a holy rite. It&#8217;s for the people who have by and large been on the outskirts of the computer technology revolutions of the last few decades. It&#8217;s for a new generation of cyborgs who stop thinking of their machines as computers and rather view them as constant, unobtrusive, electronic companions.</p>
<p>With some luck, my children will be growing up in a world where they are surrounded from birth by the warm embrace of the internet. For them, actually sitting down in front of a computer will be quaint and outmoded in the same way we don&#8217;t go to a landline phone to talk to someone anymore. And it will be devices like the iPad connecting remotely to powerful servers running recommendation engines and personalized search databases that will be their first connection to the world of computation. As <a href="http://www.ted.com/speakers/pranav_mistry.html">Pranav Mistry </a>says, people don&#8217;t really care about computation, they care about knowledge and information. We&#8217;ve been able to bring people closer to information by erasing it&#8217;s physicality and making everything available remotely. Our children will be getting that information without the burden of thinking about a browser or keyboard or URLs. For them, all sorts of data will be all around them accessible at the tap of a touchscreen (or hopefully without requiring even that).</p>
<p>Here&#8217;s looking forward to the Age of Cyborgs, of which we are the heralds and first citizens. We live in exciting times.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1067/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1067/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1067/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1067&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/03/30/the-age-of-the-cyborg-is-upon-us/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Lessons learned from a course with Edward Tufte</title>
		<link>http://bytebaker.com/2010/03/17/lessons-learned-from-a-course-with-edward-tufte/</link>
		<comments>http://bytebaker.com/2010/03/17/lessons-learned-from-a-course-with-edward-tufte/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:57:48 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[edward tufte]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1056</guid>
		<description><![CDATA[Ever since I became interested in data representation and visualization a few months, I&#8217;ve been actively trying to seek out interesting people in the fields so that I can learn directly from them. A few weeks ago I had a chance to meet and talk to Loren Madsen who&#8217;s done some really interesting data-driven art [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1056&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ever since I became interested in data representation and visualization a few months, I&#8217;ve been actively trying to seek out interesting people in the fields so that I can learn directly from them. A few weeks ago I had a chance to meet and talk to <a href="http://web.me.com/lorenmadsen/">Loren Madsen</a></p>
<p>who&#8217;s done some really interesting data-driven art pieces. Yesterday I went down to Philadelphia to attend a one-day course taught by <a href="http://tufte.com">Edward Tufte</a>: an Emeritus Professor at Stanford and author of four great books on data analysis, presentation and visualization. He&#8217;s also a great observer of user interfaces and presentations and a sworn enemy of PowerPoint, Excel and the &#8220;lowest common denominator&#8221; school of design. The course is a bit pricey ($200 for students and $380 for everyone else) but you get all four of his books and you get to attend one of the best presentations you&#8217;ve attended. Here are some of the things that I learned (to learn everything, you really need to take the course).</p>
<h2>If you&#8217;re going to a course taught by a famous person, get there early</h2>
<p>I was under the impression that the course would be a fairly small affair, say 50 to 100 people. Blame it on going to a liberal arts school with very small class sizes.  There turned out to be more like 400 people there and I happened to arrive just as the thing was getting started. I ended up getting a seat right at the back, though I quickly made it up to the middle. Edward Tufte is a great presenter and the way he conducts the course means that it doesn&#8217;t matter very much where you sit, but it&#8217;s nice to actually see the man as he talks. Also take something to write with.</p>
<h2>Keep your ears, eyes and mind open</h2>
<p>The course is presented in a rather informal way. It&#8217;s not disorganized, but there&#8217;s no simple outline either. He says a lot of simple but important things, and if you try to write down everything, you&#8217;ll be writing a lot and not really taking in what&#8217;s being talked about. Write down the important things but also pay attention. Open the books and look at the examples he points at. There&#8217;s a lot you can learn by just following along. Since you&#8217;ll have all the books you can pop them open later and refresh your memory later.</p>
<h2>Leave your preconceptions at the door</h2>
<p>The course teaches you a lot of things about how to think about and visualize data that go contrary to what the popular opinions. You&#8217;re not going to get much out of the course unless you go in open to give other ideas a try. Also don&#8217;t worry immediately about how you are going to apply what you learned to your problem. This will probably prevent you from getting the most out of the general principles taught. Think about and absorb the principles first and then think about the specifics. If you&#8217;re someone who keeps an eye on the internet, especially in the web and interface design worlds, you&#8217;ll also find some of his advice conflicting with what you read online (such as emphasizing content over design). Do be your own judge, but make sure you&#8217;ll judging on the basis of actual merits as opposed to hearsay and group-think.</p>
<h2>You&#8217;ll need to deal with your problems yourself</h2>
<p>This course isn&#8217;t about giving out prepackaged solutions. Like many high-level thinkers, Tufte is more concerned about identifying the overarching principles and then applying them, rather than focusing myopically on niche issues. He will give you some solutions (especially on regarding preparing and giving presentations) with some specifics (like how to use paper and avoid Powerpoint) but they&#8217;re templates that certainly need to be filled in with information specialized to the task. I also think that it&#8217;s important that you think about your own problem and bring your sense of creativity to the issue (without which you&#8217;ll be cloning someone else&#8217;s stuff).</p>
<h2>Read, read, read and think. A lot.</h2>
<p>Edward Tufte is a very well read and very intelligent man. He draws on examples from people all in all sort of fields through history (from Euclid to Feynman people you&#8217;ve probably never heard of). It&#8217;s not expected that you know everything about all the things he shows you (if you did you wouldn&#8217;t be going to the course). But if you want to understand things the way he does and come up with new ideas of your own, you&#8217;re going to want to keep reading about the things he refers to. It&#8217;s also important to keep exploring other things and actively playing around with and implementing the things you learn. And that means going out there and actually giving presentations and creating graphics based on what you&#8217;ve learned.</p>
<p>I&#8217;m at the stage where I can understand most of the principles that he&#8217;s talked about, but I&#8217;m not sure about how to apply them to the problems I have at hand. Some of the issues he talked about are similar to ones that I&#8217;ve had myself (and some I haven&#8217;t encountered at all). I love all the great historical examples he used and I intend to read up on them more. What I need to do now is to look harder at my own problems with Tufte&#8217;s examples as a guideline. As he said, it&#8217;s generally a good idea to take a strong model and copy it for your own purposes.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1056/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1056&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/03/17/lessons-learned-from-a-course-with-edward-tufte/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Flamenco dancers, programmers and excellence</title>
		<link>http://bytebaker.com/2010/03/11/flamenco-dancers-programmers-and-excellence/</link>
		<comments>http://bytebaker.com/2010/03/11/flamenco-dancers-programmers-and-excellence/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 14:59:06 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[excellence]]></category>
		<category><![CDATA[flamenco]]></category>
		<category><![CDATA[practice]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1050</guid>
		<description><![CDATA[Tuesday night I went to see a Flamenco performance by the Flamenco Vivo Carlota Santana company. It was a wonderful performance, especially the second half (at least that&#8217;s what I think, knowing nothing of flamenco). It must have them days of practice to get the choreography and music down right and years to get to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1050&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tuesday night I went to see a Flamenco performance by the <a href="http://www.flamenco-vivo.org/">Flamenco Vivo Carlota Santana</a> company. It was a wonderful performance, especially the second half (at least that&#8217;s what I think, knowing nothing of flamenco). It must have them days of practice to get the choreography and music down right and years to get to the point where they could actually move the way did. Not to mention, the continuing time and effort investment in keeping in physical shape and on top of their game. Being the nearly obsessed student of programming that I am, I of course thought about programming as well.</p>
<p>It&#8217;s occurred to me more than once that I really don&#8217;t know many great programmers. I go to a small school and most of my fellow students are about the same level as I am (or lower). Actually I don&#8217;t really know what level they are on because I don&#8217;t get to work with them as much as I would have to in order to find out. There is only one person whom I can say for certain is a better programmer than I am and I&#8217;m currently doing a project with him. My professors are good computer scientists, but I have no idea how good at programming they are.</p>
<p>But from what I&#8217;ve read (and what I can attest to from personal experience, to some extent) achieving excellence in any field (especially programming) requires a lot of dedication and hard work &#8212; about <a href="http://bytebaker.com/2008/11/17/10000-hours-of-programming/">10,000 hours</a> of it. I&#8217;ve thought about whether or not it really is worth it to invest so much time in one activity, even if you really love it. I love spinning code, but I don&#8217;t want to be sitting in front of a bright screen all the time. Watching the dancers the other night, I got to see what dedicated practice can bring. They put on a great performance and everyone enjoyed it (including myself) and creating something beautiful and wondrous is a worthy cause. But I&#8217;m also interested in getting to know about what they dancers themselves think about their work. I&#8217;d love to know their feelings and emotions as they dance and have people cheer and whether they think it&#8217;s fair compensation for their commitment. And I don&#8217;t mean compensation in only the monetary sense, though that is important too.</p>
<p>Admittedly there is nothing in the programming world that is quite the same as a great dance performance. Our victories are more personal and what people see (and sometimes applaud us for) is often a small sliver of everything that we do. But that&#8217;s fine by me. When I solve a hard problem after a long time (my personal record is 3 hours hunting a pointer bug) or make something that I think is really cool (a recursive-descent parser for a little language), I think I feel some of the elation, satisfaction and relief that I think the dancers would have felt too. Yes, it does feel really good. As each year goes by I get better at doing what I love doing. But I rarely ever think about all the practice and experience that has gone into making me capable of whatever it is I am doing. Not too long ago, I would never have imagined myself capable of writing a UNIX shell or designing a programming language, but know I am doing both those things and it feels almost natural.</p>
<p>Ok, that last sentence was a lie. It doesn&#8217;t feel natural, but it feels like it&#8217;s just outside the range of being natural. When I&#8217;m doing things like that, I&#8217;m on the <a href="http://www.scotthyoung.com/blog/2010/01/25/living-on-the-edge-of-incompetence/">edge of incompetence</a>. It was hard and it was painful, but now that I know I can do it, I feel much better. In some ways, I wish such chances came more often (I think the education system for computer-related studies needs to be revamped significantly, but that&#8217;s another matter) and I know that each such experience leaves me just a little bit better. Do flamenco dancers feel the same way? Maybe. It would be interesting to find out.</p>
<p>Excellence is a rather strange thing in that it&#8217;s hard to achieve and the return on investment on its pursuit can be very little until you get to a certain tipping point. And then there all the people who <strong>seem </strong>to be trying really hard without getting anywhere. I&#8217;m not surprised that many people choose not to put in the investments that it takes to be excellent. As a girl I liked once told me, there are a lot of people leading average lives who are very happy about it. I guess that&#8217;s true. I&#8217;m not clear about where I stand on excellence myself. I do want to be really good at what I want to do and I fully understand that it won&#8217;t be easy. But I also don&#8217;t want to give up everything on the quest for excellence. &#8220;No sacrifice, no victory&#8221; sounds very noble and all, but there&#8217;s a tinge of recklessness that I really don&#8217;t like.</p>
<p>At this point, the word &#8220;balance&#8221; might seem appropriate. But that&#8217;s bullshit too. I don&#8217;t think people who are great at something got there by seeking balance. The better option is breaking the rules, or at least fracturing them. The prime example is 37signals. They&#8217;re a small company, with little VC funding who don&#8217;t give away their products for free and still make millions of dollars. And they didn&#8217;t do it by working round the clock either. They broke &#8220;rules&#8221; like working 80 hours a week and making free products and other such things. But they also knew what rules to break. They didn&#8217;t break rules about being thrifty or having a solid business plan. They might not be the paragon of excellence and they&#8217;re certainly arrogant, but they&#8217;re doing well so far.</p>
<p>As someone seeking excellence myself, I&#8217;m trying to bend my own set of rules. I bend rules by taking courses out of sequence, doing independent studies where I can write lots of code and meet interesting people and actively trying to talk to people I admire. I need to put in 10,000 hours, so I build my life to provide opportunities to do just that. I really wish that there were a lot more people doing the same.</p>
<p>Happy hacking.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1050/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1050/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1050/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1050/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1050/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1050/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1050/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1050/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1050/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1050/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1050/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1050/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1050/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1050/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1050&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/03/11/flamenco-dancers-programmers-and-excellence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>On Essays</title>
		<link>http://bytebaker.com/2010/03/02/on-essays/</link>
		<comments>http://bytebaker.com/2010/03/02/on-essays/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 16:11:22 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[essays]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1042</guid>
		<description><![CDATA[I&#8217;ve been thinking about essays on and off for the past few days. It all started when I was in the process of updating my static HTML website that I call Basu:shr. I have a section called essays which is currently populated mostly with papers that I wrote for various courses at college. Looking over [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1042&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking about essays on and off for the past few days. It all started when I was in the process of updating my static HTML website that I call <a href="http://basushr.net">Basu:shr</a>. I have a section called <a href="http://basushr.net/essays">essays</a> which is currently populated mostly with papers that I wrote for various courses at college. Looking over some of my older work I realized that I didn&#8217;t really write longer pieces anymore. This blog is my primary writing activity at the moment and most of my posts are in the 700 to 1000 word range. I&#8217;m perfectly happy writing short articles because I&#8217;ve always admired brevity and conciseness (which is why I like Twitter as well). But at the same time, I&#8217;m slightly worried that I might be losing the ability of writing longer, more detailed pieces.</p>
<h2>Ars Longa, Vita Brevis</h2>
<p>As I&#8217;ve <a href="http://bytebaker.com/2010/02/16/ars-longa-vita-brevis/">pondered before</a>, life is short and it takes a fair amount of dedicated effort and time to come up with something beautiful and useful. With the rise of the Internet and instantaneous communications, we&#8217;re becoming a culture that is very much used to continuous streams of small information packets. The essay is becoming a holdover from the old days when having long periods of times to do nothing but sit and read was common. However, there are a number of really good essayists alive today, and a lot of them are on the Internet. There&#8217;s Paul Graham, <a href="http://paulgraham.com/articles.html">whose essays</a> are practically the stuff of legend for programmers. There is also Steve Yegge who seems to have retired, but left behind a fairly large collection of <a href="http://steve-yegge.blogspot.com/">essay-length</a> <a href="http://steve.yegge.googlepages.com/blog-rants">material</a> (including an article on why <a href="http://steve.yegge.googlepages.com/you-should-write-blogs">you should write a blog</a>). Outside the Internet there is Warren Buffet who has written long detailed <a href="http://www.berkshirehathaway.com/letters/letters.html">letters to shareholders</a> for the last 32 years each of which is an education in and of itself (and I can&#8217;t help but wonder how many shareholders actually read through them all).</p>
<p>I don&#8217;t think I&#8217;m making a mistake when I say that the essay is still alive and well today, albeit in somewhat modified forms. But the fact remains that putting out something of such length and depth takes up a lot of time and energy (not to mention the countless hours that go into accumulating the knowledge and organizing the thoughts that must flow into such a work). In many ways, writing an essay is similar to a software project. There is planning and preparation that must happen upfront, but nothing is really for certain until you sit down and start writing. Writing a good essay that other people will want to read and tell their friends about is no easier than writing good software that others will want to use.</p>
<h2>Blog meet Essay</h2>
<p>The blog and the essay are fundamentally different things. A blog is a magazine compared to an essay&#8217;s book. The blog as a format is great for some things: without easy blogging I probably wouldn&#8217;t be writing at all. But the rise of blogs (and accompanying software) has left the long form essay in the dark. You could simply write long articles and put them on your blog like Steve Yegge. But reverse chronological ordering really isn&#8217;t the best format for a collection of essays. For small numbers, a simple list of titles, maybe with a blurb is probably the best. Once you get to a larger number (Paul Graham for example), a simple list doesn&#8217;t cut it any more.</p>
<p>There is also the actual writing experience. Whenever you write a longer piece over the course of many days, you start to go back and visit the old parts. Part of it is for editing, but you also want to read what you&#8217;ve read before so that you know you&#8217;re keeping your essay coherent. Blog software doesn&#8217;t easily let you do this. I know WordPress stores revisions, but there doesn&#8217;t seem to be an easy, upfront way to see diffs of different versions against each other. I suppose a wiki could be better as an essay platform. Dokuwiki has excellent visual diff function and Writeboard also lets you compare versions.</p>
<p>Perhaps we do need some sort of specialized software for writing essays. Something that puts drafting editing at the center as opposed to at the edges. Personally I&#8217;ve been using Emacs with Git to get some of the same result, but I would really like to see a webapp that can do something like that. After all, there isn&#8217;t much use in writing an essay if no one is going to read it (and how better to get people to read it than to put it out on the Internet).</p>
<h2>I, Essayist</h2>
<p>Even though there may be no quick-and-easy publishing solution like WordPress for essays, writing an essay is far less dependent on tech tools than most other things today. Like I said before, Emacs and Git do a fairly good job together. I would like to be able to put all my drafts online with some sort of commenting system so that people can see the evolution of my essays, but I&#8217;ll settle for just being able to show a final product.</p>
<p>Separate from showing the essay is the mental exercise of actually sitting down and writing the essay (and then revising and editing). That&#8217;s something that I&#8217;ll have to get back into the habit of doing and will probably take time. Subject matter is also an issue, but a good starting point would be to simply expand on the themes that I cover in this blog, while making sure that people who read my blog can read my essays without getting bored (and vice versa). Expect my first essay to be on essays, sometime in the next few weeks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1042/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1042&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/03/02/on-essays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Combining free and proprietary software</title>
		<link>http://bytebaker.com/2010/02/18/combining-free-and-proprietary-software/</link>
		<comments>http://bytebaker.com/2010/02/18/combining-free-and-proprietary-software/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 14:04:09 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[37 Signals]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[proprietary]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1031</guid>
		<description><![CDATA[I was reading Martin Fowler&#8217;s unscientific agglomeration of opinion on version control tools yesterday when I came up with an idea about finding a compromise between open and closed source tools. Thinking about it, I realize that I&#8217;ve come close to getting this idea a number of times before, but never really quite reached the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1031&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was reading Martin Fowler&#8217;s <a href="http://martinfowler.com/bliki/VersionControlTools.html">unscientific agglomeration of opinion on version control tools</a> yesterday when I came up with an idea about finding a compromise between open and closed source tools. Thinking about it, I realize that I&#8217;ve come close to getting this idea a number of times before, but never really quite reached the tipping point. Anyways, if you&#8217;re in a hurry, the basic idea is this: make developer tools (compilers, IDEs, version control tools etc.) completely free and open source. Also make underlying architecture free and open source as well (like the Linux kernel or Ruby on Rails). But you also want to make some money from software, right? To do that, anything that is not developer focused stays closed source and is charged for.</p>
<p>What led me to flesh out this idea was Martin Fowler&#8217;s observation that the three most popular version control systems: Subversion, Git and Mercurial are all completely open source. With just a little bit of thought, I realized that there&#8217;s a company that does exactly what I propose: Apple. Apple&#8217;s dev tools like XCode and the Objective-C compilers and libraries are open source are free for everyone to download and use. The core of OS X is  the open source Darwin kernel. But layered on top of this is a closed and really high quality system of interfaces and applications that make for a very appealing user experience.</p>
<p>First let me say that what I&#8217;m about to say isn&#8217;t a commentary on the pay-for-support model that Red Hat and Canonical use. I think that&#8217;s a perfectly legitimate model that has it&#8217;s advantages for consumers, companies and open source hackers. But I want to propose an alternative that focuses on making money from selling the software itself.</p>
<h2>Opening Doors</h2>
<p>Why does this make sense? Leaving aside any moral imperatives, one of the biggest reasons for open source is that you can tinker and fix things that are broken. If you see something that is not right, you can easily pop open the hood and dig around in the internals. Now, the only way that you&#8217;ll know if something is broken is if you either use it yourself or have someone tell you that it&#8217;s broken. However, in my experience it&#8217;s much easier to fix something when you see it broken for yourself. It also gives you a better idea of what the fix should be like. It&#8217;s also more likely that you&#8217;ll change a program for the better if you&#8217;re using it day in and day out. Eating your own dog food has its advantages. If you&#8217;re a programmer, you&#8217;re most likely to find bugs and missing features in tools that you use every day. So it makes sense for you as a developer to use open source tools so that there&#8217;s an easy way for you to fix or change things that in turn will help your own developer experience.</p>
<p>If you&#8217;re a corporation (or organization) like Apple or Microsoft then it makes sense to open source your developer tools as well. For a corporation, the benefit to open sourcing a product is that you get feedback both in terms of ideas, comments and bug reports and also in terms of real working code. What you end up with is a positive feedback loop: you make tools and release them to developers for free who then help you make even better tools. I love the lesson that <a href="http://37signals.com">37signals</a> has taught the world in terms of tools and basic infrastructure: Ruby on Rails is part of their basic infrastructure, but they&#8217;ve decided to open source. As <a href="http://www.loudthinking.com/">DHH</a> claims, it&#8217;s hard to make money off of basic infrastructure (unless maybe if you&#8217;re Microsoft with a huge already installed base). Better to release it into the world and benefit from the improvements that other people make to it.</p>
<h2>Making Money</h2>
<p>So that&#8217;s all nice and dandy for developers, but what about the poor corporation that wants to make a decent buck? The basic idea is that the number of people who aren&#8217;t developers far outweighs the number of people who are. Also the number of people who just want something that works far outweighs the number of people who want something that they can tinker with ad infinitum. Even most of us hacker types occasionally break down and just want something that we can shut off our brains and use (for me it&#8217;s Excel in my engineering labs and Photoshop for  image manipulation). People will pay for convenience, quality and polish. That should be the motivating factor behind businesses who want to sell software.</p>
<p>To make money from selling software you first need to hire good developers and give them good tools that they customize to their needs. Fortunately, you already have great free dev tools. Now pay these people well and give them a concrete goal so that they put real polish into the products, especially in the areas that open source hackers <a href="http://blogs.msdn.com/shawnhernan/archive/2010/02/13/microsoft-s-many-eyeballs-and-the-security-development-lifecycle.aspx">might tend to neglect</a>. Since you&#8217;re going to be charging money, you can afford to put some money into hiring professional designers and UI experts and make sure that your app really looks good as well as works good (something that is still sorely lacking in a lot of open source software). Of course you need other people on team too: at least a fair number of testers who are the same people who will be using your for-pay product day in, day out. You end up with a product that has been crafted by motivated developers using great tools with feedback from your target user base. Admittedly you can still end up with a crappy product that no one wants to pay for, but that doesn&#8217;t mean the idea itself doesn&#8217;t work.</p>
<p>Though I have no real experience making products like that, the cases in front of us are pretty clear to see. Apple and Adobe both make lots of money selling high quality consumer software and I personally consider Microsoft Office to still be a better user experience that OpenOffice.org (especially with the ribbon interface).</p>
<p>One of the questions I haven&#8217;t fully resolved is whether your for-pay app should be open sourced. I am tempted to say no because I can&#8217;t think of a business model where you can open source your product (code and design elements) and still expect people to pay a decent price for it. If someone with more experience than me can come up with a working model, do let me know. However, one compromise that might be fair is to open up your app a few years later once your company has a newer product. Under this model, Apple would open source all their code prior to OS X. I&#8217;m less familiar with Adobe, but I think prior to the Creative Studio editions would be a good time point. Microsoft might consider releasing the pre-NT Windows code and maybe Office prior to 2000 or 2003. That way, your business still makes money today while making a community contribution in the future. It also helps users who can get their hands on a copy of a program if they need to open a file from 10 years ago that the current version no longer supports. It frees up the company to go ahead while worrying a little less about backward compatibility. It also keeps companies on their toes because they know that any market advantage they have will be effectively erased in a few years.</p>
<h2>The Plan Isn&#8217;t Perfect</h2>
<blockquote><p>No plan survives contact with the enemy</p>
<p style="text-align:right;">&#8211; General Field Marshall Helmuth von Moltke</p>
</blockquote>
<p>And this plan will definitely have to be modified if and when a company adopts it. One immediate problem I can see is that inevitably there will be calls to open source all the company&#8217;s product. I don&#8217;t have a suitable response to that apart from saying that would probably cause the business plan to collapse. Also if your product&#8217;s core algorithms don&#8217;t vary much from one generation to the next, open sourcing older versions might be equivalent to shooting yourself in the foot (though if you&#8217;re expecting a handful of algorithms to bankroll your company till the heat death of the Universe, you&#8217;re probably doing it wrong).</p>
<p>Again, I don&#8217;t have any real world business experience (though I would like to, someday). I also don&#8217;t know any company that has a policy like this at its core. If you&#8217;re interested in starting a company like this (or know of one already), do drop me a line. I&#8217;d really like to play a part in making a world where people can get paid for writing their code and then releasing it for other people to use and improve. A business that makes money but still open sources its code (even if its a few years late) would be a great step in that direction.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1031/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1031/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1031/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1031&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2010/02/18/combining-free-and-proprietary-software/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcafd7571cc4c82dd3e31c7e728eb2d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
	</channel>
</rss>