
Ask HN: How do you get things done in hourlong intervals? - zackattack
I'm talking about code.<p>When I was alone, I would go to the coffee shop and do work for 6 hours, and tune out the rest of the world. But now I'm visiting a friend, and keep getting interrupted by them in order to do various things, and it seems like my intervals to get things done are altogether too small to really dive into my code. I've made minimal progress, even though there are so many things to do, and I have so much time(on aggregate) to do them.<p>Possible solution: every time I wrap up a coding session, write a paragraph summarizing what needs to be done next, why, and where?
======
JimmyL
When I know I am wrapping up a coding session, I'll often leave a few trivial
things unfinished - so that when I sit back down again for the next session,
I'll have an easy place to jump right back in, and it will force me to
(consciously or otherwise) get back to somewhere near the mental state I was
in when I half-finished the thing.

In this particular situation, pick what you want to do: get your coding done
or visit your friend. If the priority is the former, tell them "I've got some
work to do for a few hours, so I'm going to go find a Starbucks and set up
station. Want to meet for a drink around <five hours from now>?" If the
priority is the latter, then embrace the distraction, spend some quality
time/activities with the person you've traveled to visit, and if you must
code, keep it to small discrete chunks like bugfixes or writing unit tests.

------
edw519
Work in 48 minute increments...

[http://successbeginstoday.org/wordpress/2006/09/the-power-
of...](http://successbeginstoday.org/wordpress/2006/09/the-power-
of-48-minutes/)

I've been doing this for years (depending, of course, on what I'm working on).
It can be very effective.

Get a digital timer. Set it for 48:00. Start it. You may not stop working
until it beeps. 12 minutes for stretch, email, bathroom, snack, etc., is
plenty. Then back to work. And no alt-tab to hacker news during the 48
minutes. You're only cheating yourself.

~~~
zackattack
That doesn't answer my question, though. My point is, how do you know WHAT to
work on for 48 minutes? How do you facilitate things so that you can load the
problem into your working memory quickly?

~~~
tungstenfurnace
I've been reading about the American inventor Elmer Gates.

<http://www.elmergates.com/egamu/egamu_link_page.htm>

I think his three tips would be:

(1) quiescence (2) periodicity (3) dirigation

Which in modern language means (1) remove or zone out all distractions, (2)
work at the same time each day, (3) pay deliberate attention to each aspect of
the problem in turn in your imagination. (4) Repeat.

Step (3) helps to build the relevant mental structures. Visiting them
habitually will strengthen them.

'Each aspect' will include mental images (visual, aural, kinaesthetic),
concepts, ideas (including all the relevant constraints and conditions that
must be met). Generating mental images is important as the mind works best
with things that are translated into sensory terms.

Eventually a conjectured solution will pop into your conscious mind, possibly
at a time outside the working hour. You may know it is coming before it
arrives.

He might also add that thinking draws from one's personal store of vitality.
So it may be necessary to adjust sleep, diet, exercise and any addictions you
have in order to conserve this.

Being unstressed is vital. Partly this means only working on important
problems and working with the intention to do good. It also means switching to
a different problem if you get bored of the first one. (You can go back to it
another day).

------
keeptrying
<http://www.pomodorotechnique.com/>

And for the best tool to use to apply the technique:
[http://www.apple.com/downloads/macosx/development_tools/pomo...](http://www.apple.com/downloads/macosx/development_tools/pomodoro.html)

This has really changed my work habits. The tool is just perfect. One easy
click and you can see what you've worked on the whole day for how much time.
Brilliant.

------
dryicerx
End of day, I usually list out the things I want to get done the next day
(just point format a small list) on my notepad (a physical paper and pencil).
Then I stick to it.

I don't think writing paragraphs helps, keep it real simple. "Fix bug #12345,
Test blahblah, Tune XXX, etc"

~~~
pmorici
Totally agree with this. I also find if I separate the "research" aspect of
something from the implementation things go more smoothly as well.

For example at the end of each day I'll gather documentation, code samples,
etc... for the things I want to get done the next day.

------
tetha
I have and am experiencing what you experience atm.

The first thing which is helping me very, very much is focus training. After
like a month of training to focus fast and hard, I am able to dive into a
problem and ignore everything around me within minutes, allowing me to work
more efficiently faster, resulting in more getting done in less time.

The second thing, closely related to the first (and an item on my list of
mental improvements) is improving focus stability, but I know several people
with a very, very stable focus. Interrupting them is pretty much like being an
IO-Interrupt in a modern processor. It takes a few seconds, but then
everything they need right now is swapped out and they can answer simple
things or do something easy for a few minutes until the interruption is over
and they go back to their focus and continue doing what they were doing.

Going a bit further, this is a certain experiment me and several people are
performing on a fun base: Is it more efficient to sleep less and thus get more
done due to having more time, or is it more efficient to improve ones focus
and get done more in the same time, by being better? :)

The third thing which works very well for me is dynamic, hierarichal task
structuring. Whenever I have a task and I consider if I am very confident if I
can finish this particular task in the time I usually have (I don't start
working seriously if I have less then half an hour to an hour). If I can, I
finish it, if I cannot, I split it into more subtasks (or sometimes decide
that this is not possible and somehow mark this task). Doing this, I always
have a set of tasks which fit nicely into a short time and tasks which need to
be refined further.

~~~
andymism
A reference/link to focus training would be much appreciated.

As for your experiments with getting less sleep vs better focus, I think that
stuffing more hours in the day is only more effective for tedious work, where
you don't have to think much to get it done. In my experience, when the
quality of your ideas and code matters more than just getting it done, you
definitely should be well rested.

In most cases, the self-inflicted pain from getting less sleep is just a
psychological substitute for real productivity

------
breck
<http://www.paulgraham.com/makersschedule.html>

------
mannicken
Extremely detailed microtasking. Like this:
<http://taskulus.com/taskulus17.png> or <http://taskulus.com/taskulus16.png>

Each of these is a very small tasks that 1-20 minutes but it's important that
I can devote my complete concentration and focus to it, without the need to
load everything else in my brain.

That of course requires a lot of what SICP calls "deferred decisions" and so
units of my code are forced to be much more independent.

------
wglb
Much of what I am doing these days takes a couple of hours to spin up, so I
don't have any ideas for you here. Maybe find a way talking with your friend
about your need for long stretches of uninterrupted time. Already mentioned
here is Paul's very relevant essay
<http://www.paulgraham.com/makersschedule.html>.

~~~
pasbesoin
Yes, this sounds like an occasion for social optimization rather than
technical. See whether you and your friends can agree to a schedule that
leaves you with a good block of uninterrupted time. Perhaps they would prefer
to do things in the afternoon, leaving you the mornings free. Or they may be
earlybirds, leaving you the evenings. This latter might be hard, though, as
your work time would come at the end of the day and you might be tapped out.

Another recommendation might be meditation, rather than additional overt
effort. It would take practice, but 5 to 10 minutes of quieting the mind might
allow the context you want regain to emerge more quickly. I'm not too
experienced in this personally, however, although I do find lost context
returning to me once my physical environment quietens.

------
kirubakaran
<http://smacklet.com/>

------
jey
Don't let them interrupt you..?

