The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.

This is something I struggle with. I think software needs a great deal of focus, so switching from one project to another I find difficult. When I get to the point that I'm doing about 5 things at once, overall progress comes to pretty much a standstill. You have to start writing things down, as you'll never remember everything. Thread local storage, as it were.

There are only two things I can suggest - firstly be prepared to say no to whoever is asking for stuff and secondly don't let it stress you out (activate your "don't care" gene..)

I don't smoke any more, but stepping out the office used to be good when things were getting too much. Have you thought of taking up smoking/smoking more?

I am afraid I could never smoke but having a walk might be another idea.

I am using whiteboards at the moment... to manage a lot of projects. Going home with a head ache each day I try to shut my brain down to a minimum during the commute home, which might also be bad advice!

Have a separate (physical) notebook or at least sections in a notebook for the different projects, so you have some place that you write down 'context' so you can come back to it.

If the projects don't require the same software, or you can start multiple instances, I like to leave all the windows for everything I'm working on open. Minimise the ones you don't care about but leave them open so when you switch back to that project, all the context is just as you left it. You could even use VMs, one per project, to get really good separation without complete loss of project context.

If the projects don't require the same software, or you can start multiple instances, I like to leave all the windows for everything I'm working on open. Minimise the ones you don't care about but leave them open so when you switch back to that project, all the context is just as you left it. You could even use VMs, one per project, to get really good separation without complete loss of project context.

This is where something like Sysinternal's Desktops[^] can come in handy.

you have lost all of the context to the original project, the variables, designs and implementation all your plans ruined.

That's usually a sign of two things for me:

1. If I was in some process where I needed to keep a mental stack of all this stuff, then I should finish the process. Very few "high priority" projects ever actually live up to their name, and yes, it'll piss off the manager, which is why I work for myself, because at least then there's only one idiot making decisions, not a corporation full of them.

2. And more relevant, just like the idea of keeping your functions small, if I'm dealing with a large stack in my head, it usually means that the code is bad. It's actually one of my "red flags" warning signs -- the code is too entangled, the process / workflow / whatever is too complex and not easily understood, and so forth. When that happens, I take a step back and ask myself, "how would I change the code so that it's not such a mental effort to work with it?" and the result is usually much, much better code.

Of course, neither #1 or #2 are carved in stone, but they are at signposts along the road to hell that I try to pay attention to.

My rule is, if it isn't on fire, it can wait for a few minutes/hours/days until I reach a good stopping point in my current task. I then make notes sufficient to remind me of what I was doing, where, and why, and then switch.

Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)

Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)

Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)

What is Mumsnet? I think codeproject launge is mumsnet, dadsnet, kidsnet, brothersnet .. So feel free to post anything. BTW i could not waste any time and asked handy-woman to drop the specs to office.