<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Notes to self]]></title>
  <link href="http://karecha.com/atom.xml" rel="self"/>
  <link href="http://karecha.com/"/>
  <updated>2013-05-14T23:13:03+05:30</updated>
  <id>http://karecha.com/</id>
  <author>
    <name><![CDATA[Tapan Karecha]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Craftsmen build tools]]></title>
    <link href="http://karecha.com/blog/2013/05/14/craftsmen/"/>
    <updated>2013-05-14T22:31:00+05:30</updated>
    <id>http://karecha.com/blog/2013/05/14/craftsmen</id>
    <content type="html"><![CDATA[<p>One of the tell tale signs of craftsmen is their natural afinity for building or improving tools. While this may sound unnatural to others, a craftsman does not have to think about this; it comes to him naturally &#8211; improving existing tools or building new tools.</p>

<p>When I am interviewing a candidate for a job, I always ask this question: &#8220;Tell me about the tools you have built or improved to make you more effective at your job.&#8221; Craftsman&#8217;s eyes light up, he sits straight with an improved posture, leans forward and starts talking about the tool(s) he developed and how it made a difference in the way he and his team accomplished their daily tasks. He forgets that he is answering an interview question, because now we are in his teritory which he knows like the back of his hand and he is most proud of having built. All I need to do now is find out how well he did what he loves doing most.</p>

<p>I need at least one craftsman on my team who helps sharpen the metaphorical saw while others saw away at the trees.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Getting back on track]]></title>
    <link href="http://karecha.com/blog/2013/04/01/back-on-track/"/>
    <updated>2013-04-01T23:53:00+05:30</updated>
    <id>http://karecha.com/blog/2013/04/01/back-on-track</id>
    <content type="html"><![CDATA[<p>Moving to a new job and a new city threw me off track in many ways. Now, I think things are falling back in place and I may soon be on track. This means, some of the things that I did outside of work &#8211; and had become used to &#8211; will again become possible.</p>

<p>Just being able to post a few words on my blog feels great.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[On writing]]></title>
    <link href="http://karecha.com/blog/2012/11/03/on-writing/"/>
    <updated>2012-11-03T23:30:00+05:30</updated>
    <id>http://karecha.com/blog/2012/11/03/on-writing</id>
    <content type="html"><![CDATA[<p>I have started reading <a href="http://www.amazon.com/Writing-Well-30th-Anniversary-Edition/dp/0060891548">&#8220;On writing well&#8221;</a> by <a href="http://www.williamzinsserwriter.com/">William Zinsser</a> and just from reading chapter 1, I can see what makes this book tick. It is a sequel to the seminal work on this subject &#8211; <a href="http://en.wikipedia.org/wiki/The_Elements_of_Style">&#8220;Elements of style&#8221;</a> by Strunk and White. I have enjoyed reading &#8220;Elements of style&#8221; so much that it left me with a longing for more on the topic; and &#8220;On writing well&#8221; satisfies that craving.</p>

<p>There is more to this book than just [literary] writing. Surprisingly, the insights gained from reading the first chapter go beyond the craft of writing &#8211; to software development, i.e. writing code. Following are a few assertions that the author makes which apply to writing code as well.</p>

<ol>
<li>Writing is not easy and fun. It is hard and lonely, and the words seldom just flow. <em>(So is programming, but <a href="http://tom.preston-werner.com/2010/08/23/readme-driven-development.html">readme driven development</a> can help.)</em></li>
<li>Rewriting is the essence of writing. Professional writers rewrite their sentences over and over. <em>(In other words, <a href="http://www.extremeprogramming.org/rules/refactor.html">refactor</a> your code all the time.)</em></li>
<li>Writing is a craft, not an art. <em>(<a href="http://codekata.pragprog.com/2007/01/code_kata_backg.html">Practice</a> your craft as a programmer.)</em></li>
<li>If your job is writing, you learn to do it every day. Like any other job. <em>(<a href="http://www.huffingtonpost.com/2012/05/18/mark-zuckerberg-code_n_1525333.html">Write code every day</a> no matter your job title.)</em></li>
<li>Professional writers are solitary drudges who seldom see other writers. <em>(Many successful software developers too work alone &#8211; here&#8217;s <a href="http://www.marco.org/about">an example</a>.)</em></li>
</ol>


<p>I am happy to be reading this book.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Ideas]]></title>
    <link href="http://karecha.com/blog/2012/09/30/ideas/"/>
    <updated>2012-09-30T11:49:00+05:30</updated>
    <id>http://karecha.com/blog/2012/09/30/ideas</id>
    <content type="html"><![CDATA[<p>Ideas are what lead to new things. The two different stages in this process of creating something new are &#8211; the idea and the implementation. So first, there needs to be an idea &#8211; that moment of inspiration when a thought is born which promises to be a seed to doing or creating something new or different, possibly even useful (lucky you if it is useful because most ideas are useless). The second stage is implementation, where the idea generator or somebody else takes that idea and converts that into something useful.</p>

<p>Most ideas die without seeing any effort dedicated to preserving or implementing them. My guess is that ideas die mostly because they are never captured. An idea surfaces as a spark in someones head only to vanish in the next moment because that person got busy with something else.</p>

<p>One common practice successful people say they use to take ideas to implementation is by capturing the idea in the form of a note before they forget the details. They usually do this by always carrying with them a notebook where they can jot down the idea as soon as it occurs to them. Its important to do that right away because in that moment of inspiration, you can get into as much detail as you want about an idea and start taking notes before you forget or lose interest. Its like listening to your brain develop the idea while you quickly take notes before the brain decides to shift its attention to something else. Scott Adams says that you know you have a good idea when you feel a physical sensation in your belly when the idea strikes you. When that happens, grab your notebook and a pencil, and write it down.</p>

<p>The point is, make a note of good ideas and with as much detail as possible. Doing so will greatly improve the chances of that idea being implemented.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Feature backlog]]></title>
    <link href="http://karecha.com/blog/2012/07/15/feature-backlog/"/>
    <updated>2012-07-15T12:21:00+05:30</updated>
    <id>http://karecha.com/blog/2012/07/15/feature-backlog</id>
    <content type="html"><![CDATA[<p>Joel Spolsky blogs about software development and points out wasteful inventories.</p>

<p>In the post, he makes an interesting observation about feature backlog:</p>

<blockquote><p>Every product attracts new feature ideas, and you can’t implement ideas as fast as you can think them up, so you write them down, and this list is called the feature backlog. A lot of the ideas on the backlog are bad ideas, and you merely wrote them down to avoid hurting the feelings of the people who thought them up. Backlogs make everyone feel good.</p></blockquote>

<p><a href="http://www.joelonsoftware.com/items/2012/07/09.html">The blog post is here.</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Rescue]]></title>
    <link href="http://karecha.com/blog/2012/06/16/rescue/"/>
    <updated>2012-06-16T09:59:00+05:30</updated>
    <id>http://karecha.com/blog/2012/06/16/rescue</id>
    <content type="html"><![CDATA[<p>Atul Gawande <a href="http://www.newyorker.com/online/blogs/newsdesk/2012/06/atul-gawande-failure-and-rescue.html">talks about</a> the difference between triumph and defeat.</p>

<blockquote><p>So you will take risks, and you will have failures. But it’s what happens afterward that is defining. A failure often does not have to be a failure at all. However, you have to be ready for it—will you admit when things go wrong? Will you take steps to set them right?—because the difference between triumph and defeat, you’ll find, isn’t about willingness to take risks. It’s about mastery of rescue.</p></blockquote>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Mirror]]></title>
    <link href="http://karecha.com/blog/2012/05/29/Mirror/"/>
    <updated>2012-05-29T21:49:00+05:30</updated>
    <id>http://karecha.com/blog/2012/05/29/Mirror</id>
    <content type="html"><![CDATA[<p>Looking at the profile pictures of people on Facebook and Twitter, I see a pattern. From what I have seen so far, the profile pictures fall into one of the following categories:</p>

<ol>
<li>Picture of self from the past when they looked much younger/better</li>
<li>Current picture of self</li>
<li>Picture of a celebrity</li>
<li>No picture</li>
</ol>


<p>I dont know what to make of the last two, but I have been type 1 until recently, and am trying to move to type 2. Let me explain&#8230;</p>

<p>When you remember yourself from the past that you like better than your current self, and if you think those days were better than today, then you probably like others to see you the way you looked in those days. That&#8217;s type 1.</p>

<p>But if you are happy with yourself today, and that is how you want to project yourself to others, you will tend to put up a recent picture of yourself. That&#8217;s type 2.</p>

<p>Up until now, my profile picture used to be from 2004, when I used to be at the peak of my physical fitness (no, not the 6-pack kind &#8211; just less fatter than today). That was the self that I always wanted others to see me as. But I have come to a realization that hanging on to the past will not make my present any better, leave alone the future. I like to think that my tomorrow will be better than today. So I recently changed my profile picture to one that was taken recently. This picture is almost like a mirror in front of me, reminding me of what I look like today. And if that image does not match the image that I want to see, I better do something about it now. Be regular at my daily excercise perhaps.  It is almost like looking in the mirror.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Autosave]]></title>
    <link href="http://karecha.com/blog/2012/05/27/Autosave/"/>
    <updated>2012-05-27T09:20:00+05:30</updated>
    <id>http://karecha.com/blog/2012/05/27/Autosave</id>
    <content type="html"><![CDATA[<p>My laptop battery has now reached a point where it cannot hold even for a second, and that requires the machine to be connected to the mains all the time. This works as long as it works, until there is a power failure. This happened recently and it was a reminder that things that we now take for granted were different only a few years ago. In those days, we were reminded to save our work frequently and for those unlucky ones who lost an hour or more of work, we would laugh at their plight.</p>

<p>Now, we don&#8217;t pay attention to saving frequently because:</p>

<ul>
<li>OS&#8217;s do not crash often</li>
<li>Power supply is reliable because the battery on your laptop will give you enough warning before it drains out completely</li>
<li>Most email clients will autosave your email drafts every few minutes</li>
<li>Most text editors will save a recovery file that can be used for recovery</li>
</ul>


<p>Recently, for some reason, I turned off the backup file in my Vim editor and realized how misguided that step was when I lost just 10 minutes of work due to a power failure (remember, my laptop battery cannot hold even for a second). Every single minute I spent reproducing the lost text, I kept saving the text while cursing to myself about what had just happened.</p>

<p>Of course, the solution is simple. Next week, I will find a replacement for the battery and just to be safe, have turned on the backup files in my Vim configuration. I hope to forget about having to repeatedly save files once again.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Test post from Xubuntu]]></title>
    <link href="http://karecha.com/blog/2012/05/26/Test-post/"/>
    <updated>2012-05-26T18:47:00+05:30</updated>
    <id>http://karecha.com/blog/2012/05/26/Test-post</id>
    <content type="html"><![CDATA[<p>This is my first post from the Linux system since I moved from Windows to Linux on my work computer. If you are seeing this post, the setup is now complete. But I have to say what a pain it is to get the Octopress setup right, if you are not a ruby developer. But there is no point in complaining too much because Octopress in general is very likable.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Going Linux]]></title>
    <link href="http://karecha.com/blog/2012/03/23/going-linux/"/>
    <updated>2012-03-23T20:24:00+05:30</updated>
    <id>http://karecha.com/blog/2012/03/23/going-linux</id>
    <content type="html"><![CDATA[<p>I recently switched from Windows 7 to Xubuntu at work and am very happy that I did. To be clear, this is not to compare Windows with Linux, but just that as a software engineer I find Linux (with Xfce for desktop management) more fun than any other OS I have used so far.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[App users]]></title>
    <link href="http://karecha.com/blog/2012/02/26/App-users/"/>
    <updated>2012-02-26T21:41:00+05:30</updated>
    <id>http://karecha.com/blog/2012/02/26/App-users</id>
    <content type="html"><![CDATA[<p>The chances of success for an application increases when the following set of people are happy:</p>

<h3>Administrators</h3>

<p>Administrators want to easily &#8230;</p>

<ol>
<li>Install and uninstall, and does not leave anything behind after uninstall</li>
<li>Configure and customize system settings</li>
<li>Keep things updated without crying</li>
<li>Full control over email support</li>
</ol>


<h3>Policy deciders</h3>

<p>Policy deciders want to &#8230;</p>

<ol>
<li>Control who can access the application</li>
<li>Decide who can perform certain operations</li>
<li>Keep tabs on who has done what</li>
</ol>


<h3>Users</h3>

<p>Users want &#8230;</p>

<ol>
<li>Customized views of everything</li>
<li>Instant access to everything</li>
<li>No interruptions while they are working</li>
</ol>


<h3>Other developers</h3>

<p>Other developers want &#8230;</p>

<ol>
<li>The ability to extend and script</li>
<li>A supported API to work with</li>
<li>Components they can reuse</li>
</ol>


<p>This is taken entirely from the slides from the talk Christian Hammond &amp; David Trowbridge gave about <a href="http://www.reviewboard.org/">ReviewBoard</a> in 2008. This talk can be viewed on <a href="http://www.youtube.com/watch?v=wPpV8icsXL4">YouTube here</a> but I did not find the slides anywhere else and hence wanted to capture this in writing in a blog post.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[What is your story?]]></title>
    <link href="http://karecha.com/blog/2012/02/03/what-is-your-story/"/>
    <updated>2012-02-03T20:14:00+05:30</updated>
    <id>http://karecha.com/blog/2012/02/03/what-is-your-story</id>
    <content type="html"><![CDATA[<p>It was late one night in Vienna when I was walking the streets with a colleague &#8211; hopping from one pub to the next &#8211; trying out different beers in this beautiful European city. We were there attending a technical conference, and there was nothing much to do after dark except make the most of this time exploring the hosting city. As we walked the streets late into the night, we talked about various things ranging from work, to hobby, to technology in general, and so on. It was then that my colleague asked this question: &#8220;So, what is your story?&#8221;</p>

<p>I was never asked this before, therefore a prepared answer was not available. I remember asking him what that meant. Was this a trick question? After being told that the question meant exactly what it said, i.e. he wanted to know if I had a story to tell about my life &#8211; a story that captured the essence of what the journey has been so far, what have been my influences so far, what and who am I motivated by, what events changed the course of my journey, and most importantly, what am I headed towards. That last part is as important as all the other parts put together. That one thing will say a lot about what I care about and why am I doing what I am doing, and what guides my actions.</p>

<p>This is powerful stuff and I have thought about this question a lot since. Now I do not make a major decision in life without invoking this question and thinking about how this decision will shape the answer to that question. It has also influenced my day-to-day actions &#8211; sort of helping me answer the question: what do you wake up for?</p>

<p>If I am ever asked this question again, I have an answer this time. Maybe a long answer, but an answer nonetheless. And that colleague of mine is part of the answer.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Code commit on day one]]></title>
    <link href="http://karecha.com/blog/2012/01/21/code-commit-on-day-one/"/>
    <updated>2012-01-21T10:16:00+05:30</updated>
    <id>http://karecha.com/blog/2012/01/21/code-commit-on-day-one</id>
    <content type="html"><![CDATA[<p>As a software developer, what do you expect to accomplish on the first day on your job? Certainly not checking in code. But here is an example of a company where you would be expected to do <a href="http://www.scottporad.com/2010/11/01/cheezburger-network-doesnt-show-its-new-employees-the-bathroom-until-theyve-checked-in-code/">just that</a>.</p>

<p>Ok, so why does this matter? In a small to mid sized team, say up 20 people, new engineers do not join your every other week. So why solve the problem of having a new engineer commit code on day one? The answer is: to make this happen, you will need to take a look at and fix/improve multiple things in your software development process; as a result, your team&#8217;s productivity and effectiveness will improve.</p>

<p>Here are a few things that are required to make this possible. This list is not comprehensive, but compelling enough for us to take action.</p>

<h3>Logistics</h3>

<h4>Machine ready</h4>

<p>Give your new employee a computer, along with his login credentials and an email account, within 5 minutes of him reporting at work.</p>

<h4>Software development tools</h4>

<p>Provide the location of the team&#8217;s software tools repository so he can start setting up the development environment, e.g. IDE, source code control, etc.</p>

<h3>Technical</h3>

<h4>Product&#8217;s technical documentation</h4>

<p><a href="http://en.wikipedia.org/wiki/Technical_documentation">Technical documentation</a> is any type of documentation that describes handling, functionality and architecture of a technical product or a product under development or use. For an engineer to be productive on day one, the technical documentation needs to be up to date and readable.</p>

<h4>Compact code base</h4>

<p>Keep the code base clean and compact. It should be possible to checkout a branch (or clone a repository if you are using a distributed source code control like <a href="http://git-scm.com/">Git</a>) within minutes. This requires that the versioned files do not include derived artifacts or third party libraries. For example, if your application ships java, don&#8217;t check in the java binaries into the source code control &#8211; archive it in a separate repository instead, from where the packaging script can retrieve it while creating an installer. Most java projects use Maven these days and the jdk binaries are stored in a Maven repository for such projects. Another example is the product documentation, which is usually authored and stored as xml and the end user documentation is generated from these xml files and transformed into pdfs, html, MS Word or other format. Do not version these derived files in your source code control because it bloats your repository without adding value.</p>

<p>Bottom line: cloning a repository or checking out from a branch should not take more than a few minutes.</p>

<h4>Code quality</h4>

<p>Code needs to be readable, should follow a consistent style, should contain necessary comments (too little comments or too many comments can both work against readability of code &#8211; a fine balance is needed). It should be possible to understand the code (with help of a mentor) on reading it once or twice. If most of the code does not make sense without somebody explaining it in detail, take that as a sign that the code needs to be improved or cleaned up.</p>

<p>Maintain and follow a coding standard (example <a href="http://www.cwu.edu/~gellenbe/javastyle/">here</a>) or a code style guide. It is important for the readablity and consistency of your project&#8217;s source code. The new engineer needs to adhere to this coding style starting with this first commit.</p>

<h4>Unit test coverage</h4>

<p>Almost all of the code needs to be covered by <a href="http://en.wikipedia.org/wiki/XUnit">XUnit</a> tests. Without a healthy suite of XUnit based unit tests, checking in any new code (even by a senior member of the team) adds risk and every checkin needs to pass the test: &#8220;Is this change worth the risk?&#8221; To avoid this situation, a good unit test suite is a must. A few rules about unit tests (see more on <a href="http://www.agiledata.org/essays/tdd.html">Test Driven Development here</a>):</p>

<ol>
<li>The entire unit test suite is run as a part of the build every time</li>
<li>The unit tests do not have any external dependency to ensure that the unit tests can stand on their own.</li>
<li>Checkins not allowed if there is even one unit test failure</li>
<li>Every code change that is checked-in accompanies supporting unit test(s).</li>
</ol>


<p>In absence of the above, the risk of allowing a new engineer to add or change code is simply too high, let alone allowing him to checkin code on day one.</p>

<h4>System test coverage</h4>

<p>Automated system tests are the next level of checks after unit tests. A healthy automated test suite is required to ensure that changes in source code do not generate hours or days of testing to ensure regression has not happened due to the change. Also, if anything is broken, it should be detected as soon as possible. The automated system test suite needs to run at the end of the build and packaging tasks every time. System test failure should be treated seriously and issues found in this phase should be fixed within hours. The team should be in the habit of seeing the system tests pass every time. This can be many times a day or at least once a day as part of the nightly build.</p>

<h4>Time to compile and run unit tests</h4>

<p>The team should have a collective goal to keep the time it takes to build the entire system, down to the smallest duration possible. If it takes the build (which includes code compilation and xunit test run) more than two minutes, take that as a sign to investigate what is taking so long. For example, if you have multiple unit tests which have tests that put the main thread to sleep because it is waiting for a result &#8211; that is a bad test. Either it needs to be reimplemented in a way where waiting is not required, or it is a system test that has been implemented as a unit test.</p>

<p>The bottom line: compiling your entire project and running the unit tests should complete in a matter of minutes.</p>

<h3>Conclusion</h3>

<p>Even if you don&#8217;t have new engineers joining your team every week, meet the requirement that it will be possible for a new member of your team to contribute on day one and checkin a fix or a small feature. This will force you to review every aspect of your development process and improve it. Your entire team will benefit from spend more time improving the product than fixing defects. Your business will do better because it will be possible for the team to quickly turn in new features without impacting the quality of the product.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[2011]]></title>
    <link href="http://karecha.com/blog/2012/01/01/2011/"/>
    <updated>2012-01-01T12:08:00+05:30</updated>
    <id>http://karecha.com/blog/2012/01/01/2011</id>
    <content type="html"><![CDATA[<p>Here are my highlights for the year 2011. Just want to put this on record while I am still reflecting on the year that was. After this, I will once again turn around and look straight ahead.</p>

<ul>
<li>I&#8217;ve been using MacBook for over a year and found my fondness for it grow. Even with continued use, the fascination has not worn off a bit. More I use my MacBook, more I like it. The model I own was discontinued this year, and is no longer available. Newer, faster, thinner MacBook Air has replaced this older plastic MacBook, but I continue to like mine better.</li>
<li>The natural next step was to figure out how to program a Mac. I did something close, if not exactly the same: developed <a href="http://figandhoney.com">two apps</a> for iOS, where <a href="http://mycaterpillarcaravan.tumblr.com">Seema</a> conceived the app and did the artwork. That was fun. As a side effect of developing and publishing these apps on the App Store, I had to create a website for the app which exposed to me a whole new world of web development. These apps have been downloaded more than a 1000 times, which is not a big number by most measures, but it feels good to have touched a thousand peoples&#8217; lives in some way. Got to do more of this.</li>
<li>Dabbled a little bit in <a href="http://jdk7.java.net/">Java 7</a> when it was released. <a href="http://karecha.com/blog/2011/07/28/java7/">Filed a bug</a> in the compiler and saw it fixed in the next update. I thought that was cool.</li>
<li>On the health and fitness front &#8211; my running milage peaked around mid year and then dropped off completely. At this point, I am probably in the worst shape of my last 10 years (yes, it was even worse before that, but I digress). I need to put this aspect of my life back on track.</li>
<li>I continued to blog through 2011 and towards the end of the year, merged my two blogs into this one. The reason why people blog is now obvious to me. I agree that it has some sort of a healing property. Every blog post results in a great feeling even when you know there is not much of a readership out there. <a href="http://www-distance.syr.edu/journal1.html">Journaling</a> is known to have many benefits.</li>
<li>For the first time in 15 years, I am now without a DSLR camera because I sold it off along with all the lenses. Its time to buy new but am not decided on a particular model. Interesting improvements are underway in the world of DSLRs (for e.g. mirror-less cameras which makes the camera body much thinner than the current models). I will keep watching their moves until I am ready to buy a camera that will stay with me for a long time.</li>
<li>Finally, this year I am back on <a href="http://twitter.com/tapankarecha">Twitter</a> and am finding it more useful than Facebook or Google+. Even though I continue to use these two &#8216;social networks&#8217;, the one that I use regularly is twitter, even for my personal communication with the distributed family.</li>
</ul>


<p>That was about 2011.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Business as usual]]></title>
    <link href="http://karecha.com/blog/2012/01/01/business-as-usual/"/>
    <updated>2012-01-01T00:16:00+05:30</updated>
    <id>http://karecha.com/blog/2012/01/01/business-as-usual</id>
    <content type="html"><![CDATA[<p>As a year ends, and yet another begins, the following is a good reminder:</p>

<blockquote><p>The thing is, we still live in a world that&#8217;s filled with opportunity. In fact, we have more than an opportunity &#8211; we have an obligation. An obligation to spend our time doing great things. To find ideas that matter and to share them. To push ourselves and the people around us to demonstrate gratitude, insight, and inspiration. To take risks and to make the world better by being amazing.</p></blockquote>

<p>&#8211; Seth Godin in a <a href="http://sethgodin.typepad.com/seths_blog/2011/12/the-chance-of-a-lifetime.html">blog post</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Espresso field guide]]></title>
    <link href="http://karecha.com/blog/2011/12/18/espresso/"/>
    <updated>2011-12-18T17:25:00+05:30</updated>
    <id>http://karecha.com/blog/2011/12/18/espresso</id>
    <content type="html"><![CDATA[<p><img src="http://karecha.com/images/espresso.jpg" title="Espresso field guide" alt="Espresso" /></p>

<p>&#8211; Source <a href="http://www.orbitvisual.com/">orbitvisual.com</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Moved]]></title>
    <link href="http://karecha.com/blog/2011/12/17/moved/"/>
    <updated>2011-12-17T22:49:00+05:30</updated>
    <id>http://karecha.com/blog/2011/12/17/moved</id>
    <content type="html"><![CDATA[<p>This blog was hosted on <a href="http://wordpress.com">wordpress</a> until today. Starting with this post, the new home is <a href="http://pages.github.com/">github pages</a>. Also, my online scrap book, i.e. <a href="http://nextround.tumblr.com">my tumblog</a>, has also moved here to github pages and is merged with my blog. This makes it easier to maintain the two streams as one. I was paying wordpress for using my personal domain name for the blog, but github allows this for free.</p>

<p>Another change with this move is that I am using <a href="http://octopress.org">Octopress</a> to manage my blog posts. This allows me to keep my content archived on my computer, and eliminates the need for backing up the blog &#8211; just in case the service provider closes shop or looses my data for any reason.  With Octopress, I am able to use <a href="http://en.wikipedia.org/wiki/Markdown">Markdown</a> to compose blog posts and that makes it worth all the trouble of moving from wordpress.com to github pages. For the curious, the raw content of the blog can be seen in the markdown format <a href="https://github.com/tapank/tapank.github.com">here</a>.</p>

<p>There was an outage for about an hour during the time my domain name switched from looking at my wordpress.com blog to github pages, and this was due to a mistake I comitted while changing the name server entries with my domain registrar. Anyways, thats not a huge problem because this blog gets very few visits. The bigger problem due to this outage was with my email (tapan@karecha.com) which is hosted on Google Apps, and during this time, all emails sent to tapan@karecha.com failed to deliver. I am not sure if any important email was lost during this time &#8211; hope not!</p>

<p>Finally, everything is back up and running normally.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Making a mark]]></title>
    <link href="http://karecha.com/blog/2011/12/14/Making-a-mark/"/>
    <updated>2011-12-14T22:07:00+05:30</updated>
    <id>http://karecha.com/blog/2011/12/14/Making-a-mark</id>
    <content type="html"><![CDATA[<p>Paul Graham:</p>

<blockquote><p>Graffiti happens at the intersection of ambition and incompetence: people want to make their mark on the world, but have no other way to do it than literally making a mark on the world.</p></blockquote>

<p><a href="http://www.paulgraham.com/trolls.html">Trolls</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Focus]]></title>
    <link href="http://karecha.com/blog/2011/12/02/0629/"/>
    <updated>2011-12-02T00:00:00+05:30</updated>
    <id>http://karecha.com/blog/2011/12/02/0629</id>
    <content type="html"><![CDATA[<blockquote><p>The job of the average manager requires shift in focus every few minutes. The
job of the average software developer requires that the developer not shift
focus more often than every few hours.</p></blockquote>

<p>&#8211; <a href="http://www.amazon.com/gp/aw/d/1572316217">Software Project Survival Guide</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Great company]]></title>
    <link href="http://karecha.com/blog/2011/11/30/0828/"/>
    <updated>2011-11-30T00:00:00+05:30</updated>
    <id>http://karecha.com/blog/2011/11/30/0828</id>
    <content type="html"><![CDATA[<p>Everybody wants to work for a great company. Few want to make a company
great.</p>
]]></content>
  </entry>
  
</feed>
