<story><title>Ask HN: How to use small chunks of time productively</title><text>We all know about Flow and how long of uninterrupted periods one needs to get into it. I am wondering about how to take advantage of the opposite of those long periods.&lt;p&gt;Due to many different unforeseen circumstances, I can&amp;#x27;t get more than about 20-30 uninterrupted minutes at a time throughout the day from 7am-8PM. I am sure I am not alone in this.&lt;p&gt;All of the tricks of the trade (email once a day, phone off during set periods, scheduled alone time etc...) are not possible for the foreseeable future. I am wondering if anyone has any good ideas for how to be productive in those short windows. Assume that standard work&amp;#x2F;sleep hours are enforced and that the job is as a Product Manager.</text></story><parent_chain></parent_chain><comment><author>drewcrawford</author><text>The best algorithm for interruptions I know is the one that computers use: the journaling filesystem [0].&lt;p&gt;The way it works is simple.  When you want to do a disk operation, first, you write down in a special place (called a &lt;i&gt;journal&lt;/i&gt;) what you are going to do, at a high level.  &amp;quot;I&amp;#x27;m going to delete this directory and all its files.&amp;quot;  Then, you go through the steps of actually doing that.  Finally, you record in your journal that&amp;#x27;s what you did.&lt;p&gt;Now when power is interrupted during a disk operation you simply look at the journal and you can complete any operations that were in-flight at the time of the interruption.  For example if the journal says &amp;quot;Delete X folder&amp;quot; and you see it still exists, now you can pick up where you left off.&lt;p&gt;The application to interruptible programming is straightforward.  I have an actual paper journal and I will in a few words explain a task to the journal before I begin.  Often I end up with a hierarchical journal, like&lt;p&gt;&lt;pre&gt;&lt;code&gt;    get the unit tests to pass
        the unit test doesn&amp;#x27;t pass on OSX because postgres isn&amp;#x27;t running
            start postgres
        the unit test doesn&amp;#x27;t pass on Linux because the postgres credentials are wrong
            refactor postgres credentials to work right on both platforms
        one particular Linux machine still doesn&amp;#x27;t work
            Is it 32-bit related?
                No
            Are we using the same compiler on that machine?
&lt;/code&gt;&lt;/pre&gt;
The overhead of recording this information is microscopic, and the benefit of returning from every interruption to a page or so of context is awesome.  It&amp;#x27;s almost better to be interrupted now, because I come back to a clearly defined problem, as opposed to starting on &amp;quot;blank slate&amp;quot; items with no direction.&lt;p&gt;As a side benefit, I now write really good commit messages, because I just write what my journal says I did.  Which is quite a lot more detail than it was when I was trying to remember things after the fact.&lt;p&gt;[0] &lt;a href=&quot;http://en.wikipedia.org/wiki/Journaling_file_system&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Journaling_file_system&lt;/a&gt;</text></comment>
<story><title>Ask HN: How to use small chunks of time productively</title><text>We all know about Flow and how long of uninterrupted periods one needs to get into it. I am wondering about how to take advantage of the opposite of those long periods.&lt;p&gt;Due to many different unforeseen circumstances, I can&amp;#x27;t get more than about 20-30 uninterrupted minutes at a time throughout the day from 7am-8PM. I am sure I am not alone in this.&lt;p&gt;All of the tricks of the trade (email once a day, phone off during set periods, scheduled alone time etc...) are not possible for the foreseeable future. I am wondering if anyone has any good ideas for how to be productive in those short windows. Assume that standard work&amp;#x2F;sleep hours are enforced and that the job is as a Product Manager.</text></story><parent_chain></parent_chain><comment><author>japhyr</author><text>My kid will turn 4 this spring, so I&amp;#x27;ve been dealing with fragmented time constantly for the past few years. It&amp;#x27;s been frustrating at times because I have tremendous mental energy, but can&amp;#x27;t get much done because I can rarely get more than 20-30 minutes of uninterrupted time. I&amp;#x27;ve done a few things to make effective use of the time I have:&lt;p&gt;- Learn to manage workspaces efficiently on my OS. I can&amp;#x27;t afford to open all the files for a project and get significant work done, so I keep more projects open at a time. I went from typically using 4 workspaces before I had a kid, to consistently using 12 workspaces these days. It&amp;#x27;s nice to have 3-4 projects open, spread across 2-3 workspaces each.&lt;p&gt;- Documentation of my own projects. I keep a text file for each project, with notes about what&amp;#x27;s been working, where I&amp;#x27;m getting stuck, and which resources are helpful. I&amp;#x27;ve used more complicated tools at times such as issue trackers, but simple text files with names such as &lt;i&gt;notes&lt;/i&gt;, &lt;i&gt;next&lt;/i&gt;, and &lt;i&gt;mental_dump&lt;/i&gt; still offer the least friction for recording the little notes that make it easier to pick up wherever I end up having to leave off when I get interrupted.&lt;p&gt;- Recognizing my mental state, and what I can get done in any given block of time. Sometimes that&amp;#x27;s moving a project forward, sometimes that&amp;#x27;s catching up on HN, sometimes it&amp;#x27;s reading a technical article I&amp;#x27;ve kept open for a while. Sometimes it&amp;#x27;s recognizing I shouldn&amp;#x27;t try to get anything done, and I should sit and stretch instead.&lt;p&gt;I find that I&amp;#x27;m using each of these strategies in my day job as well. I&amp;#x27;ve got to go serve some porridge now, but those are a few things I&amp;#x27;ve come up with.</text></comment>