<?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; Programming</title>
	<atom:link href="http://bytebaker.com/category/programming/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, 31 Jan 2012 14:20:49 +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%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>The ByteBaker &#187; Programming</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 2011-12-11</title>
		<link>http://bytebaker.com/2011/12/11/sunday-selection-2011-12-11/</link>
		<comments>http://bytebaker.com/2011/12/11/sunday-selection-2011-12-11/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 14:00:00 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[diet]]></category>
		<category><![CDATA[health]]></category>
		<category><![CDATA[literate programming]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1735</guid>
		<description><![CDATA[Around the Internet More shell, less egg It&#8217;s alway a joy to see two masters at the top of their craft engaged in a respectful, but determined duel. This is a short commentary on Donald Knuth and Doug McIlroy&#8217;s approaches to literate programming. Worth reading even if you&#8217;re not a big fan of literate programming. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1735&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="outline-container-1" class="outline-3">
<h3 id="sec-1">Around the Internet</h3>
<div id="text-1" class="outline-text-3">
<p><a href="http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/">More shell, less egg</a> It&#8217;s alway a joy to see two masters at the top of their craft engaged in a respectful, but determined duel. This is a short commentary on Donald Knuth and Doug McIlroy&#8217;s approaches to literate programming. Worth reading even if you&#8217;re not a big fan of literate programming.</p>
<p><a href="http://www.johndcook.com/blog/2011/12/08/selective-use-of-technology-2/">Selective use of technology</a> I firmly believe that science and technology is a good thing and that our world is better because of them. However I also understand that technology cannot do everything for us. In particular there are a lot of decisions it cannot make for us (yet). I also tend to get a lot of my best work when I am least partially disconnected and can hold at bay the full force of the Internet. All things in moderation.</p>
<p><a href="http://www.wired.com/wiredscience/2011/12/why-sugar-makes-us-sleepy-and-protein-wakes-us-up/">Why sugar makes us sleepy (and protein wakes us up)</a> As much as many of us would like to live as if we disembodied brains surviving on anything that barely resembled food, that is definitely not the case. Since we are stuck with our flesh-and-blood physical bodies for the foreseeable future, it is a good idea to figure out how it all works and make the most of it.</p>
</div>
</div>
<div id="outline-container-2" class="outline-3">
<h3 id="sec-2">From the Bookshelf</h3>
<div id="text-2" class="outline-text-3">
<p><a href="http://www.amazon.com/gp/product/1936719010?qid=1322772409&amp;ref_=sr_1_1&amp;s=books&amp;sr=1-1">Do the Work</a> While I&#8217;m not entrely a fan of Steven Pressfield&#8217;s use of vaguely &#8220;spiritual&#8221; ideas and terms, this book is still worth reading for everyone. It&#8217;s especially useful if you have that big project you&#8217;ve been thinking about but never got around to actually starting. At $1.99 for the Kindle edition, it&#8217;s a steal.</p>
</div>
</div>
<div id="outline-container-3" class="outline-3">
<h3 id="sec-3">Video</h3>
<div id="text-3" class="outline-text-3">
<p><a href="http://vimeo.com/9270320">What we actually know about software development</a> Despite the importance of software development, most developers are acutely unaware of the scientific studies in the area and rely mostly on anecdote. Luckily there is an increasing amount of research in software development (not to be confused with computer science) and it&#8217;s worth knowing what we actually know about the field and what is myth.</p>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1735/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1735&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/12/11/sunday-selection-2011-12-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting to Work</title>
		<link>http://bytebaker.com/2011/12/08/getting-to-work/</link>
		<comments>http://bytebaker.com/2011/12/08/getting-to-work/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 14:00:00 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1725</guid>
		<description><![CDATA[There is a danger to doing what you love as part of your day job. For a few weeks I&#8217;ve been working on a programming project. The project should have been very interesting and motivating. It involved combining programming languages (which I love and have been learning about for years) and networks (which I don&#8217;t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1725&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There is a danger to doing what you love as part of your day job. For a few weeks I&#8217;ve been working on a programming project. The project should have been very interesting and motivating. It involved combining programming languages (which I love and have been learning about for years) and networks (which I don&#8217;t know that well, but have a growing interest in). This should have been an ideal project – a project with just the right combination of personal skill and challenge. It was a project with definite goals, with people who supported me and wanted me to succeed and were willing to give me regular feedback. And yet it was so hard to actually get myself to do the work.</p>
<div id="outline-container-1" class="outline-3">
<h3 id="sec-1">The Motivation Problem</h3>
<div id="text-1" class="outline-text-3">
<p>I think the problem is that for most of my life programming was something I did on the side. In school, programming and computers were never the main course of study. In fact, more than once my parents had to tear me away from the computer. In college I decided to be an Electrical Engineer because I wanted to know how the machine worked from the lowest level up. Though that was an interesting and very fulfilling learning experience I realized at the end of four years that I would rather use computers to do something interesting rather than improve the machine itself. Though I did do a good bit of programming in college, most of my classes did not involve programming as the focus.</p>
<p>But now I&#8217;m in graduate school and programming is supposed to be part of the job description. Yes, I know that large areas of computer science are essentially mathematics and you can get away with writing very little code, but that&#8217;s not where my interests lie. For me, programming is no longer just something I do for the fun of it. It&#8217;s something I do because my grades depend on it and because I&#8217;m getting paid for it. It has become work and that has been fairly disastrous to my ability to get things done.</p>
<p>As knowledge about our psychology improves one of the interesting facts that has come up is that <a href="http://en.wikipedia.org/wiki/Motivation#Intrinsic_and_extrinsic_motivation">intrinsic motivation is a much stronger force</a> than any form of external motivation. In a specific sense that means I need to have an internal reason for doing my work. In a more general sense I need to have an <a href="http://en.wikipedia.org/wiki/Autotelic">autotelic</a> personality: to &#8220;have a purpose in and not apart from itself&#8221;. The good news is that I&#8217;m in a line of work that favors autotelics. The bad news is that it seems to be all too easy to lose the sense of self-motivation, to feel like that the only reason I&#8217;m working is because I&#8217;m expected to and I&#8217;ll get something definite out of it.</p>
<p>However one more piece of good news is that starting is often the hardest part, especially for something you think you should want to do, but can&#8217;t muster the motivation for it. I&#8217;ve noticed that once I&#8217;ve started and am making progress it&#8217;s easy to keep going. The trick is to both start and end in the right way.</p>
</div>
</div>
<div id="outline-container-2" class="outline-3">
<h3 id="sec-2">Start and Stop</h3>
<div id="text-2" class="outline-text-3">
<p>Whenever I start out reading and thinking too much about my problem I sabotage myself. I tell myself the problem is too hard, there&#8217;s too much other stuff I need to know first, surely someone else has already solved the problem and I can just use their code. Down that path lies madness (and not getting anything done). Though I&#8217;m all for thinking before pumping out code, for starters I like to just jump in and get going.</p>
<p>Diving in and hacking away helps produce the feeling that I&#8217;m making progress. Whatever I do at this phase is pretty basic: code cleanup, documentation, minor refactoring, maybe fixing a small bug. The point isn&#8217;t to get productive immediately, it&#8217;s to load the working context of the program into my brain, to get minor victories that help get past the resistance to start. Once I&#8217;m past the initial hump I can pause and think deeply about the core of the problem. Since I&#8217;ve already loaded up the problem in my head that also becomes easier.</p>
<p>I&#8217;ve learned the hard way that stopping probably is just as important. The key is momentum. During each coding session I build up a certain amount of momentum as I build up a mental model of the problem and the solution. Unfortunately I have to re-acquire that momentum every time I start again. I want to pick the proper stopping points so that the re-acquisition is quick and smooth.</p>
<p>I make sure that I always leave code in a relatively clean state: everything has been committed, there is some amount of documentation and most importantly I&#8217;ve identified what I need to do next. That way the next time I sit down with the code I can look up the README or the TODO file and pick off the next thing on the list. If the last commit was broken the next thing is usually something to fix. If the last commit was good I can add a new feature. I use a version control system that makes it easy to roll back changes and commits so I don&#8217;t hesitate to put in a &#8220;checkpoint&#8221; commit, even if it&#8217;s broken. The <a href="http://www.nytimes.com/2011/08/21/magazine/do-you-suffer-from-decision-fatigue.html">less time and effort I have to spend in deciding</a> what to do next the better a chance I have at actually getting something worthwhile done.</p>
</div>
</div>
<div id="outline-container-3" class="outline-3">
<h3 id="sec-3">This isn&#8217;t about computers</h3>
<div id="text-3" class="outline-text-3">
<p>…or computer science or programming. This is about getting work done, work that I love. But sometimes love isn&#8217;t enough to get me out of the browser and into the text editor. Habit is often stronger (and less demanding) than will power. The good thing about habits is that they can be both formed and broken. I&#8217;m starting to learn that the key isn&#8217;t to beat yourself up for being a slacker, but rather engineering your life so that getting stuff done is on the path of <a href="http://matt.might.net/articles/productivity-tips-hints-hacks-tricks-for-grad-students-academics/#philosophy">least resistance</a>.</p>
<p>And now it&#8217;s time to get back to my project.</p>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1725/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1725&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/12/08/getting-to-work/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Sunday Selection 2012-12-04</title>
		<link>http://bytebaker.com/2011/12/04/sunday-selection-2012-12-04/</link>
		<comments>http://bytebaker.com/2011/12/04/sunday-selection-2012-12-04/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 14:00:00 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[Zach Holman]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1719</guid>
		<description><![CDATA[Around the Internet How I went from writing 2000 words a day to 10,000 words a day Writing is no easy business and writing a lot on a regular basis is even harder still. It&#8217;s good to know that there you don&#8217;t need some special gift to become super-productive, you just need to carve out [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1719&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="outline-container-1" class="outline-3">
<h3 id="sec-1">Around the Internet</h3>
<div id="text-1" class="outline-text-3">
<p><a href="http://thisblogisaploy.blogspot.com/2011/06/how-i-went-from-writing-2000-words-day.html">How I went from writing 2000 words a day to 10,000 words a day</a> Writing is no easy business and writing a lot on a regular basis is even harder still. It&#8217;s good to know that there you don&#8217;t need some special gift to become super-productive, you just need to carve out the time and work to the patterns that let you get the most out of the day.</p>
<p><a href="http://www.elegantcoding.com/2011/11/eleven-equations-true-computer-science.html">Eleven equations Computer Science geeks should know</a> There&#8217;s not much consensus when it comes to how much mathematics computer scientists and programmers need to know. Personally I would say that if you are a <em>computer scientist</em> you need a fairly strong mathematics background (something I&#8217;m still working on, I&#8217;ll admit). Even if you&#8217;re just a programmer I think having some mathematical familiarity will make you a better thinker and give you a better bag of tricks to call upon.</p>
<p><a href="http://www.quora.com/Does-going-on-an-information-diet-improve-ones-productivity/answer/Clay-Johnson">Clay Johnson&#8217;s Information Diet</a> Though I love social networks, both the technology powering them and the interesting interactions they produce, too much of anything is a bad thing. I&#8217;ve been considering going on an information diet (or perhaps more correctly an information consumption diet) so that I could more of that time into creating instead of consuming.</p>
</div>
</div>
<div id="outline-container-2" class="outline-3">
<h3 id="sec-2">Videos</h3>
<div id="text-2" class="outline-text-3">
<p><a href="http://confreaks.net/videos/706-rubyconf2011-how-github-uses-github-to-build-github">How Github uses Github to build Github</a> I firmly believe that good tools and workflows can make your job easier and your production better. I also think <a href="http://zachholman.com">Zach Holman</a> is really cool. While this focuses on Github it&#8217;s easily applicable to any group of developers (or creators in general) working together to produce awesome stuff.</p>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1719/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1719&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/12/04/sunday-selection-2012-12-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Sunday Selection 2011-11-27</title>
		<link>http://bytebaker.com/2011/11/27/sunday-selection-2011-11-27/</link>
		<comments>http://bytebaker.com/2011/11/27/sunday-selection-2011-11-27/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 18:00:48 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Biology]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[diet]]></category>
		<category><![CDATA[exercise]]></category>
		<category><![CDATA[fitness]]></category>
		<category><![CDATA[health]]></category>
		<category><![CDATA[Tim Ferriss]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1713</guid>
		<description><![CDATA[Today&#8217;s a bit of a health and fitness special to compensate for all the Thanksgiving excesses. But first, some programming. Programming All I Need to Be a Better Programmer I Learned in Kindergarten Sometimes the basics can be boiled down to just a few sentences. Sometimes I think I knew more when I was five [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1713&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s a bit of a health and fitness special to compensate for all the Thanksgiving excesses. But first, some programming.</p>
<h2>Programming</h2>
<p><a href="http://thecodist.com/article/all-i-need-to-know-to-be-a-better-programmer-i-learned-in-kindergarten">All I Need to Be a Better Programmer I Learned in Kindergarten</a> Sometimes the basics can be boiled down to just a few sentences. Sometimes I think I knew more when I was five than I do now. Of course, that&#8217;s a lie, but it&#8217;s worth thinking about.</p>
<p><a title="Code Fearlessly" href="http://cam.ly/blog/2010/12/code-fearlessly/">Code Fearlessly</a> I think version control is amazing. I&#8217;ve been using Git for a few years now (Subversion before then) and I keep all my writing as well as my code in repositories, backed up to Amazon and a VPS. The great thing about version control is how it lets you make mistakes and try out wild ideas without worrying about how you&#8217;ll get back to a working state if you break something.</p>
<h2>Health and Fitness</h2>
<p><a title="The Creative Brain on Exercise" href="http://www.fastcompany.com/1783263/the-creative-brain-on-exercise">The Creative Brain on Exercise</a> I know, I know. Exercise doesn&#8217;t come naturally to most of us spending our days in front of our screens. But given how much of our work is creative in nature, it makes sense to take care of our engines of creation. I think the time spent in exercise will more than pay itself back over the years (in saved medical bills and lost work time if nothing else).</p>
<p><a href="http://www.youtube.com/watch?v=vx9bCy3qrz4">How Getting Buff Can Make You a Better Rubyist</a>. In case you&#8217;re wondering about whether any of this exercise and diet stuff actually works or not, here&#8217;s some evidence straight from the source. This is worth watching even if you&#8217;re not a programmer, but just someone who has a normally sedentary work life.</p>
<p><a href="http://www.youtube.com/watch?v=yK2m-kjhhQM">Tim Ferriss on the 4-Hour Body at the NEXT conference</a> I know that so-called &#8220;extreme&#8221; advice such as provided by Tim in his book always earns a skeptical look, but I find his idea of minimum effective dose quite interesting. If you&#8217;re looking for the most efficient ways to change your body for the better, this is a must-watch.</p>
<p><a title="Eat to Live (Amazon)" href="http://www.amazon.com/Eat-Live-Revolutionary-Formula-Sustained/dp/0316829455">Eat to Live</a> If you&#8217;d rather have advice from a medical doctor who&#8217;s also changed the lives of dozens (if not hundreds) of people, this book is your best bet. I tend to think of it as more of a primer on nutrition and health in general rather than just a diet or fitness book. It might take you some time to get through it (though it&#8217;s a small book) but again, the investment is definitely worth it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1713/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1713&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/11/27/sunday-selection-2011-11-27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Deliberate Practice for Programmers</title>
		<link>http://bytebaker.com/2011/11/21/deliberate-practice-for-programmers/</link>
		<comments>http://bytebaker.com/2011/11/21/deliberate-practice-for-programmers/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 16:00:00 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1707</guid>
		<description><![CDATA[The main reason one should go to graduate school is to do research. To earn a PhD you must have advanced the state of your field. In fact, your PhD defense is all about convincing the guardians of the frontier that the frontier has been moved. That being said, I have a personal goal of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1707&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The main reason one should go to graduate school is to do research. To earn a PhD you must have advanced the state of your field. In fact, your PhD defense is all about convincing the guardians of the frontier that the <a title="Successful PhD students" href="http://matt.might.net/articles/successful-phd-students/">frontier has been moved</a>. That being said, I have a personal goal of improving myself as well. I&#8217;m surrounded my brilliant professors and peers and it would be downright stupid if I didn&#8217;t take this chance to learn from experts in their fields.</p>
<p>While I want to improve as a computer science researcher I also want to improve as a developer. For me, the fact that we must take our beautiful algorithms, logics and abstractions and express them in terms understandable to a dumb machine is not something to be despised. In fact, I consider it a pleasant challenge and a source of infinite creative joy. I would like my job a lot less if it didn&#8217;t involve a significant amount of programming. That being said, how exactly do we level up as a developer? In fact, what does leveling up even <em>mean</em> for a developer?</p>
<p>For the last few months (years?) I&#8217;ve been a growing fan of the idea of <a href="http://bytebaker.com/2011/08/11/mind-expansion/">deliberate practice</a> – the idea that the best way to improve is to take well-defined measurable steps towards getting better where at each step you get feedback as to what you did wrong and how you can do it better the next time. Deliberate practice has been applied by athletes and writers, can we apply it to programmers? In particular, can we come up with something more detailed than &#8220;Read code. Write code. Repeat&#8221;? Luckily for all of us, <a href="http://jasonrudolph.com/about.html">Jason Rudolph</a> took some steps on that path a few months ago.</p>
<p>Remember that deliberate practice requires that we have a list of well-defined, actionable goals on our path to excellence. We must know clearly <em>what</em> the goals are and also be able to <em>unambiguously</em> tell if we&#8217;ve achieved them or not. Jason came up with a list of simple yes/no goals that will exercise your programming muscles. What I love about Jason&#8217;s list is that it combines a lot of what it means to be a good developer. There are goals for learning tools of the trade (different languages, environments and frameworks), goals for learning core concepts (different paradigms and parts of the software stack) and social goals (open source and community involvement). There are a lot of things on the list, but then again, computer technology is a vast field.</p>
<p>Jason&#8217;s list is also necessarily incomplete. I&#8217;d argue that it&#8217;s practically impossible for one man to know all about the computer technology field today. But the good thing is that we have the technology and the community to take one man&#8217;s starting point and extend it for our own purposes. Jason&#8217;s list is available as a <a href="https://gist.github.com/1133830#file_programming_achievements.md">gist on Github</a> and has already been forked many times by people who are using it as their own deliberate practice guidelines. I have <a href="https://gist.github.com/1372296">my own fork</a> where I&#8217;ve fleshed out sections on uncommon programming languages and more theoretical learning goals.</p>
<p>It might be a bit naive to think that just going through a list of programming challenges will make you level up. However, I think the list is a good <a href="http://theoncologist.alphamedpress.org/content/12/11/1374.full">head fake</a>. The point isn&#8217;t really to go and do everything on the list. The point is everything that comes as a side-effect of completing the list. You&#8217;ll definitely put in a few thousand hours and churn out thousands of lines of code in a variety of different languages and environments. You&#8217;ll expand your mind by learning about programming styles and tools that you would have missed out on otherwise. As you encounter problems you&#8217;ll have to ask around on forums, mailing lists and IRC for help. This is important because deliberate practice is useless if you&#8217;re practicing the <em>wrong</em> things. In the absence of programming coaches, the global communities of programmers are your best bet to find mentors and guides. If you release your code to the world you&#8217;ll gain some street cred, get valuable feedback and maybe even provide something of lasting value to fellow developers. If you follow through on the social and community goals you&#8217;ll gain non-programming, but useful skills and meet a lot more people who can point in new and interesting directions. You&#8217;ll discover interesting new problems and come up with applications and solutions you might never have thought about otherwise. Maybe, just maybe, you&#8217;ll learn enough to level up as a programmer.</p>
<p>As a parting note, let&#8217;s all keep in mind that this will not be easy. It will take time and effort. I&#8217;m in graduate school so I might be able to make it part of my day job to do some of these things. But a lot of it will have to happen on my own time and energy, when I could be exploring Ithaca&#8217;s gorges or watching infinite Star Trek episodes on Netflix. This is even more true for people who have legitimate day jobs and families. We all need to come up with our own reasons for <em>why</em> we want to invest all this time and effort in deliberate practice. But one thing I keep telling myself is that the time will pass anyway and my energy will be spent somehow. I would rather spend it on writing my own operating system than on Star Trek reruns (no matter how much I love Star Trek).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1707/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1707/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1707/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1707/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1707/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1707/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1707/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1707&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/11/21/deliberate-practice-for-programmers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Salvaging Dead Time and Procrastiworking</title>
		<link>http://bytebaker.com/2011/11/04/salvaging-dead-time-and-procrastiworking/</link>
		<comments>http://bytebaker.com/2011/11/04/salvaging-dead-time-and-procrastiworking/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 14:00:00 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[dead time]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[time management]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1661</guid>
		<description><![CDATA[The last few weeks have been another continuous episode of &#8220;too much to do, too little time&#8221;. Graduate school is a very interesting environment from a work and productivity standpoint. On the one hand I don&#8217;t really have a fixed schedule (outside of a few hours of class a week) and can work whenever I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1661&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The last few weeks have been another continuous episode of &#8220;too much to do, too little time&#8221;. Graduate school is a <a href="http://bytebaker.com/2011/09/01/the-first-week-of-graduate-school/">very interesting environment</a> from a work and productivity standpoint. On the one hand I don&#8217;t really have a fixed schedule (outside of a few hours of class a week) and can work whenever I want. I also live close to campus so commuting isn&#8217;t a issue. However distractions abound. I&#8217;m not meeting with professors on as regular a basis as I was, but there are still lots of talks, colloquia and seminars that I find really interesting and want to go see. It&#8217;s very easy to have the day be perforated by lots of little things and never get anything done. However, there&#8217;s one trick that I&#8217;ve learned that in the past week or so that can mitigate this fragmentation and helps me get things done: salvaging dead time.</p>
<div id="outline-container-1" class="outline-3">
<h3 id="sec-1">Salvaging Dead Time</h3>
<div id="text-1" class="outline-text-3">
<p>I currently have a class that runs from 10:10am to 11:25am. Then I go to a lunchtime talk at noon. Taking out the 5 minutes or so to get back to my office that leaves about half an hour that would normally be wasted on Hacker News or Twitter. As a graduate student I need to have pretty long blocks of time to sit, think and get work done. Thirty minutes generally isn&#8217;t a lot of time to get brain-work done and hence this would be &#8220;dead time&#8221; – time that is just lost.</p>
<p>However half an hour is more than enough time to knock off errands. Today I filed two helpdesk tickets, processed email down to inbox zero, paid my power bill and wrote out my rent check. Not only did I get actual work done (and a little high from crossing them off my checklist) it means I don&#8217;t have to take out time for them later. I don&#8217;t have to devote separate time chunks to errands later and I can allocate that time to actual research work. I think that counts as an all-round win.</p>
</div>
</div>
<div id="outline-container-2" class="outline-3">
<h3 id="sec-2">Procrastiworking</h3>
<div id="text-2" class="outline-text-3">
<p>While knocking off errands works great to salvage small blocks of dead time (up to about half-an-hour) sometimes there are sometimes larger blocks of 1-2 hours that also needs salvaging. This generally happens around dinner – I don&#8217;t have a fixed dinner time. Hence there&#8217;s often this awkward state where I won&#8217;t be having dinner till a little later, but don&#8217;t have anything planned before. Normally that time would evaporate into nothingness, but I&#8217;ve been trying out a different technique to salvage it.</p>
<p>While an hour isn&#8217;t enough time to do real research work, it definitely is enough to do some programming exercises or go through a few more pages of <a href="http://book.realworldhaskell.org/">Real World Haskell</a>. Earlier this week I decided to finally sit down and learn Haskell seriously. I&#8217;m familiar enough with Haskell at the moment that I can get up and running in a few minutes. Doing exercises is challenging enough that it takes brain work and requires thinking and learning. However at the same I don&#8217;t feel bad about leaving in the middle for dinner (I can generally finish the program I&#8217;m working on before leaving). This is classic procrastiworking: I&#8217;m slacking off on what I really should be doing (research) but instead of digesting Twitter I&#8217;m doing something beneficial.</p>
<p>There&#8217;s also a small matter of me being lazy and using dead time as an excuse for slacking off. Even though I know I could use an hour for programming exercises I&#8217;m tempted to slack off anyway. I&#8217;ve been trying to use procrastiworking for that too. I start off doing something that is really not work: like updating all my git repos or cleaning up my Emacs config. But once that&#8217;s over, since I&#8217;m already at the computer in a terminal, dealing with scripts and code I just quietly move myself over to a Haskell file and start hacking. It helps if I leave an unfinished function that I can then fill in (or a TODO note).</p>
</div>
</div>
<div id="outline-container-3" class="outline-3">
<h3 id="sec-3">In Conclusion</h3>
<div id="text-3" class="outline-text-3">
<p>Salvaging dead time and procrastiworking isn&#8217;t a catch-all solution for time management but I&#8217;ve found that it works great for the small blocks of time that I would have been wasting otherwise. Of course, you can&#8217;t fill in the blanks unless you have things to fill them <em>with</em>. Personally I use OmniFocus to keep a list of errands that I can go through in sequence. I also have a &#8220;project&#8221; for the longer blocks – working on Haskell – that easily decomposes into blocks of just a few minutes in length that can be taken up and put down without too much buildup. Finally I hope that in this case practive makes perfect and I get better at making use of dead time the more I consciously do it.</p>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1661/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1661/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1661/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1661/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1661/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1661/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1661/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1661/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1661/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1661/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1661/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1661/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1661/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1661/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1661&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/11/04/salvaging-dead-time-and-procrastiworking/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Is programming a creative pursuit?</title>
		<link>http://bytebaker.com/2011/10/15/is-programming-a-creative-pursuit/</link>
		<comments>http://bytebaker.com/2011/10/15/is-programming-a-creative-pursuit/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 13:21:00 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1641</guid>
		<description><![CDATA[It&#8217;s becoming clear that we, as a society, are placing a larger and larger emphasis on innovation and creativity while at the same time bemoaning the lack thereof. There are some activities that we instantly recognize as creative pursuits: painting, music, writing, theatre. And also more modern ones: graphics, web design, info graphics and industrial design, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1641&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s becoming clear that we, as a society, are placing a larger and larger emphasis on innovation and creativity while at the same time <a href="http://www.ted.com/talks/ken_robinson_says_schools_kill_creativity.html">bemoaning the lack thereof</a>. There are some activities that we instantly recognize as creative pursuits: painting, music, writing, theatre. And also more modern ones: graphics, web design, <a href="http://www.fastcodesign.com/">info graphics</a> and industrial design, <a href="http://www.jessicahische.is/">font design and lettering</a>. But when it comes to modern acitivities and professions one of the elephants in the room is programming. The question that&#8217;s been on my mind: is programming a creative pursuit?</p>
<p>Programming is problem-solving. It&#8217;s about coming up with ways to do things that couldn&#8217;t be done before (or at least doing them better). But that&#8217;s just the beginning. Once you figure out a way to solve the problem you then <em>create</em> something – a program – that embodies your solution. The program is what goes ahead and solves the problem, hopefully correctly and repeatedly. A program that only works once isn&#8217;t very useful. If you&#8217;re not creating anything, then you&#8217;re not a programmer.</p>
<p>That being said, I think there are some significant differences with typical creative work that needs to be made clear. For one thing, there&#8217;s lot less waiting around for inspiration to hit. There isn&#8217;t anything really analogous to writer&#8217;s block – once you have a problem to chew on you can get going. That&#8217;s not to say that you can&#8217;t get stuck or that it&#8217;s smooth sailing. Far from it, your typical programmer is pretty experienced in applying head to desk. When you don&#8217;t have a definite problem to solve it&#8217;s a different matter. Luckily there&#8217;s lots of interesting software that needs building and problems that need solving. To get out of the rut you just need to do a little Googling (or keep a little stash of side projects to hack on).</p>
<p>Perhaps one criticism of programming as a creative endeavor is that the products aren&#8217;t instantly identifiable as creative works. Perhaps if you spent a lot of time crafting GUIs you can make some comparison to the visual arts. If you&#8217;re writing server software or building programming languages the end results are far more abstract and invisible. But I&#8217;d make the argument that a programmer produces a work of art in the same way that a novelist or a poet does. Understanding that art requires the use of some more mental faculties &#8212; understanding symbols, structures, mathematics, semantics and their inter-relation. The process is perhaps harder than looking at a painting. But the payoff to the observer is no less than listening to, and appreciating a piece of music.</p>
<p>All that being said, one of the coolest things about programming is that you can use your programs to <a href="http://processing.org">produce obvious art work</a>, or write programs that will create art for you. As I&#8217;ve been exploring programming and computer science I&#8217;ve been thinking of programming as a <em>medium for expression</em> in the same way that music or art is a medium for expression. But more on that later.</p>
<p>Programming has some of the other hallmarks of other creative pursuits. You need lots of practice to get any good. When it&#8217;s time to actually create you need to isolate and separate yourself from the rest of the world or you just keep getting distracted. I think there&#8217;s an image of programming being dry and interesting only if you&#8217;re already into it while the classic creative arts are supposedly fun and energizing. I would argue that&#8217;s an unfortunate by-product of our social evolution. If you consider a creative person (or want to become one) I would say give programming a try. There are lots of ways to get started. Though the learning curve is certainly steep (and probably steeper than it needs to be) it&#8217;s probably not that much harder than learning to draw or play the violin.</p>
<p><strong>UPDATE: </strong>Thanks to <a title="Jason Yosinski" href="http://yosinski.com">Jason Yosinski</a> for pointing me to Hackers and Painters &#8211; a far more detailed essay on similar considerations by a far wiser person. Learn from the masters.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1641/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1641&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/10/15/is-programming-a-creative-pursuit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Sunday Selection 2011-09-25</title>
		<link>http://bytebaker.com/2011/09/25/sunday-selection-2011-09-25/</link>
		<comments>http://bytebaker.com/2011/09/25/sunday-selection-2011-09-25/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 13:00:23 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1617</guid>
		<description><![CDATA[Unfortunately work-related activities having been taking up a lot of my time and energy over the past couple of weeks. On the good side I&#8217;m gradually making progress towards figuring out this grad school thing. While work on a funny and insightful blog post to blow you all away I leave with you a brief [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1617&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Unfortunately work-related activities having been taking up a lot of my time and energy over the past couple of weeks. On the good side I&#8217;m gradually making progress towards figuring out this grad school thing. While work on a funny and insightful blog post to blow you all away I leave with you a brief tour of the Intertubes.</p>
<h2>Society</h2>
<p><a title="It's not gender warfare, it's math" href="http://annaholmes.tumblr.com/post/10557866233/its-not-gender-warfare-its-math">It&#8217;s not gender warfare, it&#8217;s math</a> Being a computer science graduate student I&#8217;m regularly confronted by the fact that there are not enough women in our field (and that doesn&#8217;t seem to be changing any time soon). Here&#8217;s a look at why and that needs to change and some work in the right direction.</p>
<p><a title="The Fraying of a Nation's Decency" href="http://www.nytimes.com/2011/09/24/us/24iht-currents24.html?_r=1">The Fraying of a Nation&#8217;s Decency</a> Sometimes we just need a reminder that we&#8217;re all human after all.</p>
<h2>Web Technology</h2>
<p><a title="10 best @font-face fonts" href="http://www.paper-leaf.com/blog/2010/02/10-best-font-face-fonts/">10 best @font-face fonts</a> I think embeddable web fonts are one of the best things to have happened to the web in recent years. Think of this article as a good &#8220;getting started&#8221; guide if you&#8217;re trying to figure out what fonts to use for your own projects.</p>
<p><a title="How to make a simple HTML5 Canvas game" href="http://blog.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game">How to make a simple HTML5 Canvas game</a> The canvas element is an even bigger improvement than web fonts. Like the name suggests, it gives you a general purpose drawing element on a web page. Combine that with fast JavaScript engines and you have a pretty decent game engine on your hands.</p>
<h2>Video</h2>
<p><a title="QuakeCon 2011 keynote" href="http://www.youtube.com/watch?v=4zgYG-_ha28">QuakeCon 2011 John Carmack</a> keynote If you&#8217;re interested in gaming engines or high-performance, down-and-dirty programming then you should take the hour and half to listen to John Carmack &#8212; the brains behind the Doom and Quake game engines.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1617/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1617&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/09/25/sunday-selection-2011-09-25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>deck.js lite: modern HTML presentations</title>
		<link>http://bytebaker.com/2011/09/12/deck-js-lite-modern-html-presentations/</link>
		<comments>http://bytebaker.com/2011/09/12/deck-js-lite-modern-html-presentations/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 02:35:00 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1610</guid>
		<description><![CDATA[Taking a page out of Don Stewart’s book I’m planning to release a project to the Internet every week or two. Most, if not all, of them will be open source and hosted on Github. I’ll be posting blurbs about them on this blog filed under a new category – Projects. Feel free to follow along or fork [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1610&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Taking a <a href="http://www.shimweasel.com/2011/05/08/the-stewart-method-how-not-to-suck">page out of Don Stewart’s book</a> I’m planning to release a project to the Internet every week or two. Most, if not all, of them will be open source and <a href="https://github.com/basus/">hosted on Github</a>. I’ll be posting blurbs about them on this blog filed under a new category – <a title="Projects" href="http://bytebaker.com/category/projects/">Projects</a>. Feel free to follow along or fork away.</em></p>
<p><a href="http://imakewebthings.github.com/deck.js/">Deck.js</a> is a very cool project that provides a set of CSS and JavaScript templates that let you create clean, elegant slideshows using HTML. I&#8217;m becoming increasingly attracted to HTML as a general purpose documentation format so seeing like deck.js makes me really happy.</p>
<p>I&#8217;m currently using deck.js to put together a presentation for a class I&#8217;m taking, but while at it I thought I&#8217;d do some reorganization of the deck.js codebase to make things a little easier. The files that you need to include to use deck.js are currently spread out between a number of different folders meaning that as a user it might take you a while to figure out where everything is and what you need to include. So in the spirit of open source I decided to fork the <a href="https://github.com/imakewebthings/deck.js">repo on Github</a> and create a <a href="https://github.com/basus/deck.js">&#8216;lite&#8217; version</a>.</p>
<p>This version (also <a href="https://github.com/basus/deck.js">available on Github</a> under the same license) packs all the files into a single folder, shortens some names and paths and removes some things (tests and SCSS files) that users might not care about. I&#8217;ve also updated the introductory presentation to point to the new files so you can use that as a template for making your own slides. I&#8217;ve been talking to deck.js&#8217; creator, <a href="http://imakewebthings.com/">Caleb Troughton</a> and I plan to keep the &#8216;lite&#8217; version in sync with the main repo so that you&#8217;re always using the latest and greatest.</p>
<p>If there&#8217;s anything else you&#8217;d like to see in a lite version (or just in deck.js in general) please let me know. I think the best days of the web are just ahead and having web-native slideshows is definitely a step in the right direction.</p>
<p><em>PS. In case you&#8217;re wondering: no, The ByteBaker is not going to become just an announcement board for my projects. However, graduate school is taking up a lot of my time and energy right now. Also I think it&#8217;s important that I keep to releasing one project a week. The best I way I can think of keeping to that is by documenting my progress online. Normal programming will resume soon.</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1610/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1610&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/09/12/deck-js-lite-modern-html-presentations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
		<item>
		<title>Bluebot: a simple HTML template</title>
		<link>http://bytebaker.com/2011/09/06/bluebot-a-simple-html-template/</link>
		<comments>http://bytebaker.com/2011/09/06/bluebot-a-simple-html-template/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 13:00:00 +0000</pubDate>
		<dc:creator>Shrutarshi Basu</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://bytebaker.com/?p=1604</guid>
		<description><![CDATA[Taking a page out of Don Stewart&#8217;s book I&#8217;m planning to release a project to the Internet every week or two. Most, if not all, of them will be open source and hosted on Github. I&#8217;ll be posting blurbs about them on this blog filed under a new category – Projects. Feel free to follow [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1604&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Taking a <a href="http://www.shimweasel.com/2011/05/08/the-stewart-method-how-not-to-suck">page out of Don Stewart&#8217;s book</a> I&#8217;m planning to release a project to the Internet every week or two. Most, if not all, of them will be open source and <a href="https://github.com/basus/">hosted on Github</a>. I&#8217;ll be posting blurbs about them on this blog filed under a new category – Projects. Feel free to follow along or fork away.</em></p>
<p>Over the weekend I took a few hours to set up a <a href="http://www.cs.cornell.edu/~basus">simple webpage</a> on the Cornell CS department servers. While doing that I realized that I didn&#8217;t have a template in store for the occasions where I needed to throw together a page without fiddling for hours. I cobbled together a simple design for my page based on my <a href="http://basus.me">personal website</a>.</p>
<p>The result is <a href="http://basus.github.com/bluebot/">Bluebot</a>: a simple template designed for creating HTML5 webpages. It provides a set of CSS styles and web fonts along with some example HTML for writing clean, decent-looking webpages. It&#8217;s designed to be used for standalone pages, i.e. single webpages that are complete in and of themselves. That&#8217;s not to say it couldn&#8217;t be used or adapted for full websites.</p>
<p>Though the template is mostly black and white, there is a little bit of blue used for the borders and blockquotes, hence the <em>blue</em>. It also makes use of the <a href="http://www.droidfonts.com/">Droid family of fonts</a> provided via <a href="http://www.google.com/webfonts">Google Web Fonts</a>, hence the <em>bot</em>.</p>
<p>You can see what Bluebot looks like on the <a href="http://basus.github.com/bluebot/">Bluebot project page</a>. You can clone the Git repo or download a tarball from the <a href="https://github.com/basus/bluebot">Github page</a>. I plan on continuing to add styling for the remaining HTML5 elements gradually. Feel free to fork, edit and send me a pull request.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bytebaker.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bytebaker.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bytebaker.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bytebaker.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bytebaker.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bytebaker.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bytebaker.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bytebaker.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bytebaker.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bytebaker.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bytebaker.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bytebaker.wordpress.com/1604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bytebaker.wordpress.com/1604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bytebaker.wordpress.com/1604/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bytebaker.com&amp;blog=8123270&amp;post=1604&amp;subd=bytebaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bytebaker.com/2011/09/06/bluebot-a-simple-html-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ccb1217c46b31b7b232878d355f7f4e4?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Basu</media:title>
		</media:content>
	</item>
	</channel>
</rss>
