Have you ever become more passive and mindless for a period, clicking away and seeing your productivity dwindle? What caused it? What did you do about it?
Have you ever become more passive and mindless for a period, clicking away and seeing your productivity dwindle? What caused it? What did you do about it?
Recently, I have been finding myself guilty of massive laziness. I don't hack much, I don't do much work, I don't participate in online communities much, I just browse around mindlessly, droning around Slashdot and doing stuff like that.
It is strange, because there are a number of things that I want to do, like hack on XPLC or set up Cyrus on the new IMAP server at work, but when I go at my computer sit down and look at the screen, I never feel like it and fire up my browser or Tribes 2 instead.
Sometimes even, I have a bunch of ideas for a number of things, so I'm not actually inactive, but when it comes down to sitting down and doing it, I'm no good. You could say that I am still enthousiastic by myself, but not enthousiastically coding, paradoxically.
I tried stirring up stuff to make a new major release of Quadra. We already have a feature freeze and there is something like 8 bugs to resolve, most of them easy ones and some almost finished fixing. Should be a piece of cake. I went on SourceForge, managed tracker items a bit, sent a few e-mails on the mailing lists, then that's about it. I would have to setup Svgalib on my box to check something, and instead of doing it, I fired up Tribes, bitching to myself that Svgalib is a crock that should be dead by now, since games like Tribes can kick its ass with X. What are those people that want Svgalib support complaining about?
Now, I'm not writing this only to complain. I am sure I am not the only person in the world who felt like this, and I would like to understand better what got into me, and how I can snap out of it.
Come on people, come out of the closet and share the experience! :-)
Sure have (both the slump and the recovery). I try to focus on what I love, on what is good, on what is admirable, amazing, and stead-fast. I try to remember what rocks in the stream of ever-changing events I'm trying to hold on to. And I try to remember that it will all be over too soon (on an individual basis) to not prize what little is left, to not try and aid the future.
First, instead of playing games, turn the computer off and walk away. Try to spend whole weekends without touching a keyboard. This doesn't get better by trying to limp along. If you want a hot fire, sometimes you just need to put it out, clear away the ashes and start from scratch. Dumping green wood on old coals just gets you a lot of smoke and very little heat.
In life, everything really affects everything. Chances are there are several things happening in your life that may not be huge in themselves, but have a noticeable effect when combined.
If you really don't feel like doing something, it doesn't help to try to do it anyway. You might get it done, but with poor results. Maybe you could try to find a better way to relax than reading Slashdot? :-) For example, a thought by zen master Sheng-yen:
Be soft in your practice. Think of the method as a fine silvery stream, not a raging waterfall. Follow the stream; have faith in its course. It will go its own way, meandering here, trickling there. It will find the grooves, the cracks, the crevices. Just follow it. Never let it out of your sight. It will take you.
I have had this too.
I thinks this is becouse you really have not design/think of steps to do clearly.
You have thinks that they are obvious, but they don't! - better to write down all you need to change/do/code and you will see that something wrong and you need redesign it.
Also computer get all of your attention - you must react. It blocks slow way of thinking....
mm... need to press Post and start to code... But there is recentlog unreaded... but I need to code... :-)
I'm a lot like that when my morale is low too. Two years ago (after I had been single and mostly lonely for a crazy amount of time) I really couldnt achieve anything on my computer. I would go surfing and stuff, and I knew I wanted to hack on things, but I also knew I really should be out and having some fun if only I had the energy, and so the result of this conflict was that I wasnt doing anything.
After finally I found myself a girlfriend, I spent less time on the keyboard (obviously) but I feel my productivity increased a lot too.
I've had a return of bad moods and stuff lately, which is probably slowing up libmpeg2 development lately (say, I'm still working a lot on the cool stuff like the altivec optimizations, but I havent done the work to put up a new stable release with API improvements even though I know some people need these). And well, its OK if it slows down a little, because there is no point forcing myself in front of a keyboard if I dont really have the motivation. Instead I try to force myself to go out more often, and my morale seems to be on the up side again.
I will also add that if you really feel depressed, maybe you should consider taking some antidepressants as needed. I found out that in my case 5-HTP works wonders. It's actually a very light drug normally, but well, it works nice for me. It lets me get rid of my dark-thoughts-we-are-all-doomed days, and be more talkative or cheerfull when I go out.
Here I am, out of work, what do I do? I start cleaning house. That lasts
for about 10 mins a day and aside from that I make myself feel worse by
creating all sort of thoughts like 'it's my fault I'm out of work' or
'wow, I'm a horrable provider'.
I'll let you know what works on getting me out of this slump...
i feel like this right now. in fact i think i am in a coma. the
girlfriend exit would be nice, but is somewhat implausible.
the one thing i did last time i felt like this was get an index card, write on it in large bold letters simply: "WRITE CODE", and tape it to my monitor. everytime i sat down, i would look at it, and instead of wasting time i would:
cd proj ls cd [someproject] cvs up gvim src/[file].cit worked for a little while. good luck with it.
to respond to sej:
I try to remember that it will all be over too soonif you look at fantasy art, you see the picture of the wizard at his desk, spellbook open, skull on the shelf. the skull is to remind him that the time he wastes comes out of a very finite amount.
In fact, why else would I be here instead of getting on with my work :-)
It sounds to me like you're depressed. You say there are things that you want to do, but don't do them. You start something but get discouraged by obstacles that would normally not bother you.
Maybe take a holiday and play Tribes 2 until you are sick of it. But don't do the same with Slashdot -- man, that can't be healthy!
Sometimes, when I find my work is becoming too routine or something else is depressing me, I can pull out of it by discovering something new to fire my enthusiasm. e.g. trying to learn Japanese. Never mind if I achieve anything, it's just food for my mind, so that I can grow as a person.
Playing with some new technology can help stir my love of the craft, or reading source code examples of techniques I have yet to master, and trying them out.
Sometimes just a long walk can be a renewing spiritual experience.
I hope some of that helps. Take care.
Sometimes I find when I'm like this it's because of undertime -- or a direct response to too much overtime. Peopleware discussed very convincingly that there's no such thing (in most cases) as "overtime" because any period of time where you're working crazy hours will be offset by a roughly equivalent period of time where you're non-productive. This can take the form of /., just BSing about the office, quake, whatever.
As someone who works alone, I also find that when this happens I need to get out and be with other people. Other things I might do include reading -- no technology, just pure fiction or nontech non-fiction. (Mindless stuff works well for me -- detective/thriller/etc.) Hopping on a bus and riding around $CITY can also be interesting. Sometimes you just need to force yourself out of your rut, and one of the best ways to do that is to encounter new things.
I dunno what it is, but it seems to be an epidemic amongst programmers everywhere over the past year or so. Does it have anything to do with the nasdaq? maybe - maybe not
I find that the best short term cure for this is a lifestyle change. Change window managers, re-arrange the look and feel of your room and where you hack,, go out more - to places you've never been, add something new to your diet - just do something different and you will come home or go to work more refreshed with the "I can't wait to do work on that code" feeling (hopefully). It seems to of worked for me at least.
Last but not least, being the nocturnal animals that we are, though get up like everyone else, sleep is important too.
Getting out of the house - preferably into the fresh air - can help. I'm very bad at doing this, but it can be a good thing: "blowing away the cobwebs". I find that freecell saps my mind - avoid any patience games!
The other thing that usually helps me is going and spending some time with some friends, even if you don't feel like it. Some human interaction can do wonders for you. Doesn't need to be going out - just sitting around, having a tea/coffee, chatting, or even watching TV, which is completely different when you do it with several people, as you're not just vegging, you're criticising, commenting, and interacting.
Get away from the computer, unless you've got something specific to do. Go for a walk. See some friends.
I'm into something very similar to what you describe. I have no regular
work which means lots of spare time; yet I can't seem to get anything
done in that spare time. Hacking on Nautilus seems like good fun, but
In my case I think the absence of people to work with makes the whole difference. I've always been very productive with my school projects. Much because there are other real world people involved (computer scientists mostly). Somehow the online community is not enough to make me head into this or that project. I miss face-to-face communication too much to be a productive "tele coder". The combination of having lots of ambition but no work and no energy to spend makes me feel literally cast away from society in general and the hacker society in particular.
Maybe you too need to be more involved with team efforts to recover your productiveness.
I can only echo the advise of the others here ... when you aren't productive at the computer, sitting in front of the box doing nothing pretty much guarantees you'll stay unproductive.
Go out, take a walk, sit in the park, go shopping (I like shopping food and drinks), cook a nice meal, listen to music, drink some nice wine or beer with the food, etc...
After a day doing something completely unrelated, you'll be back with inspiration and productivity. If you don't have inspiration for programming, don't waste your time feeling miserable but do something fun instead.
I've gone through this kind of slump more than once. The thing that I find that really helps is, surprisingly, a combination of two of the most cliche, dumb-sounding techniques.
First I step back from the problem and remind myself why I'm working on it at all, taking all my motivations into account. I concentrate on these when I feel the urge to slack off or abandon the problem. Instead of telling myself "I have to do this" and feeling nothing but a dull sense of obligation, I remind myself "I want to this" and let myself feel a sense of achievement. The effect is that I feel less like a driven pack animal and more like a craftsman working toward a goal.
Every time I feel discouraged, I think of at least one reason I want to stay the course. Sometimes I imagine myself finishing the project and think of the good results, or just of the way I will feel. I run for exercise, and I've read of competitive runners who do the equivalent thing (imagine themselves finishing the race).
Once I have my list of motivations, I break the problem down into components or stages that I can complete in a few days each. (By a happy coincidence, this is also a good way to design software.) When I pass one of these mini-milestones, I feel a sense of accomplishment.
The overall effect of these small emotional rewards is surprising. They seem to short-circuit the impulse to distraction. If you use the motivation technique every time you have the urge to fire up Tribes, it will very quickly become a habit. You'll get some pleasure without distracting yourself from your work. As you accomplish your sub-goals, you'll feel greater satisfaction. Once you can see that you're making progress, you won't feel like the project is pointless anymore. You won't have to play Tribes or read Slashdot to make up for the distress you are feeling with some outside source of pleasure.
All this works for slumps in motivation. If you're experiencing real depression--the kind that reaches out to the rest of your life and makes you miserable even when you're trying to work--you may have to do the things other posters have suggested: Change your lifestyle to involve more socializing, give yourself a vacation, even take antidepressants for a while. You can still try to change your feelings by changing the way you think, but that approach (called cognitive therapy in this context) just doesn't always work.
> Have you ever become more passive and mindless for a period, clicking away and seeing your productivity dwindle?
> What caused it?
A frustrating development platform.
> What did you do about it?
I switched to a different one under which I could be more productive by working on what I was interested in instead of wasting time on stupid and boring problems.
Actually some external cause led me to switch, but the overall effect was the same.
When I get to feeling down and isolated I try to help some friends with their projects. Sometimes this takes the form of companionship and manual effort, other times it is in form of brainstorming synergistic ways to get a piece of my projects done while we work on their project. Often this is resented as I have deficiency in white lie presentation skills. When using this technique it is critical that you never accept ownership of their problem unless you wish too and they will allow you to do the task or project your way or in some collaborative way that is negotiated rather than dictated by them as the original owner.
I often have to tell people if they wish to do it their way then they do not need my help. Sometimes they get irritated because they know I am extremely talented when self motivated and they do not understand that I run out of gas quickly trying to do things their way for the umpteenth time when I have some lovely new ideas to try out.
In my own defense I will pre-emptively point out that when I make a mess I typically clean it up unless impatient people eager to prove my incompetence insist on cleaning it up before I get back to it so they can yell "See what a mess you made with stupid idea you tried to implement your way? Now you owe me doing it my way." To which I sometimes respond, "No, I do not. Later Lover."
In other words silence is not necessarily consent, it is an agreement made with myself to settle later if I feel it necessary and appropriate and I am given sufficient further provocation. The Judge or legal profession have their opinion, I have my own. I am learning how to vocalize mine persuasively or perhaps only loudly when lobbying various communities. While some might think maintaining silence and living to fight or display or puersuade or pray another day cowardly, survivers write the history books and footnotes and I prefer winning and long life with a joyful family and/or community to a belated brief recognition via a freedom medal that somebody finally saw some merit in me, even stating loudly with much wailing that the merit is obvious now that I am safely dead.
See a friend who appreciates you as much as you appreciate them. If this is not possible use the phone. If completely isolated recall the happy times while attempting to re-unite. See Tom Hanks in survivor.
I submitted something like this to slashdot last year when I was stuck on an intractable problem, and just couldn't see a way out.
I finally just decided to take a week off, unpaid, from my consulting business. My wife and I (actually then my fiance), went to stay in a cabin by the seashore for a couple days, and I spent some time reading my programming books.
Here's the article: Overcomming Programmer's Block (sic).
I am still exploring this problem. Now it's not really the kind of angst like I had then, but I have a hard time getting started working each day. I tend to do a lot of stuff to avoid. If I can get myself started working somehow, usually by tricking myself in some way, then I can usually continue to work productively. But getting started each day, coming up with the trick that's going to set me into motion, that's the hard part. I don't have a solution.
There have been a lot of good replies above by people smarter than I, but I've a little trick that you can use to force yourself to take frequent breaks. Many people above say that taking a break when you become unproductive is a good idea and I must say that I agree. Here's the big idea:
Keep a glass of water on your desk.
Just a small glass, but not absurdly so. Don't fill it up too much, else you might spill it while you drink it. Take sips frequently (which is why I don't say to use an acidic drink) and whenever the glass is empty, get up, walk to the fridge and get a refill. Don't be tempted to optimise this problem and keep more water by your desk, or use a bigger glass: those trips to get water are little rest breaks. Take your time over them (but don't stop to watch tv or something).
Hope that helps someone.
I've struggled with these problems myself. I'm mostly in the dark, too, but I think that this is partly my brain/subconscious/whatever telling me that I'm not doing what I'm supposed to be doing. That is, that I'm not doing something sufficiently meaningful and worthwhile with my life. I've noticed in the past that things have gotten a lot worse during periods where I've worked at Dilbert/Kafka-esque companies in situations where it was clear that the goals were useless or even harmful to humanity or that the work was being directed in such a way that it was sure to fail. (Currently I'm working in a very un-Dilbertish situation, and it makes all the difference for me, motivationally.)
If you're not feeling motivated to work on a particular hobby (i.e., unpaid) project, I'd go along with others here who suggest setting it aside for a while.
Some psychologist (I think) said that there are three things people need to be happy: something to do, someone to love, and something to look forward to.
P.S. When my quake habit got too bad, I finally just deleted it off my machine. :-/
No, the possibility to make a good life's job in OS/CS is reserved to the very little real elite, such as Linus, RMS, Alan, Becker etc. I know that my life's achievement will not be in this field, and as it's all I do I know I'll never do anything really important.
Your comments apply to life in general; there is little we can do to truly achieve anything important. Most people leave little that is truly important.
But that little means a lot. Each of us can only contribute a bit (unless, by a bizarre combination of luck and skill and dedication, you are like Linus or Alan or Woz). But, though each raindrop contributes but a little, the flood still comes.
At least, that is my opinion. Like the man says, I could be wrong.
I have been in this situation. For me it always comes when I have too much to do. Every time I'm almost finished with something, I receive more things to do. In the end, I don't finish two or three good things, but leave ten bad things unfinished. When I feel I have the time to work really hard, I get lost in my thoughts. What shall I begin with? What is most important? Is there a deadline? Perhaps I should clean my room?
The solution: Abort projects before it's too late. Even if they are fun, one can't do everything.
Last week, I aborted everything. I left Stockholm, Sweden, for Karlsruhe, Germany, and even though it's hard as hell to get some place to live here, I have met so many new nice people and left so many bad things behind, that I feel I have won more than I have lost. Hopefully, everything bad will rot and go away by the time I get back.
hmmm, just realized I am not giving much help here. :)
Sometimes when I have a good idea of something I want to implement and really have nothing else to do, I still can't do it. Then it usually helps to describe my problem to someone. Even though I don't write anything down or try to describe it in a structured way, my mind prepares itself better for the task at hand. A ten minute chat is enough. Usually helps a lot.
slef > Keep a glass of water on your desk.
slef > Hope that helps someone.
Great, now I have to pee. :)
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!