Slashdot Mirror


Why Programming Rituals Work

narramissic writes "Programmers may not think that their rituals are unusual, but if you swear that your code is less buggy if you recite it aloud or you prepare for coding by listening to certain music, don't be surprised if you get a couple sideways glances. In a recent ITworld article, Issac Kelly, Lead Developer at Servee.com, explains his routine and why it works: 'To me, programming is really the 'last mile' to getting something done. When I do the planning and specifications, I go on lots of walks, take lots of time with my wife, and really do as little work in front of the computer as possible. The more I plan (in my head, on paper, on a whiteboard) the less I program; and all of my rituals are to that end.' His ritual goes like this: 'Before sitting down to a coding session, he gets a big glass of water, takes everything off of his desk, and closes out all programs and e-mail, keeping open only his code editor. The office door is shut, and some sort of music is playing ('typically an instrumental only, like my 'Explosions in the Sky' pandora station,' says Kelly).'"

233 comments

  1. I can completely understand... by SerpentMage · · Score: 4, Insightful

    Before I undertake any task I do absolutely nothing. For about a day I will just idle around thinking about the problem. Kicking around one solution and another.... And I keep doing this until I am happy...

    --

    "You can't make a race horse of a pig"
    "No," said Samuel, "but you can make very fast pig"
    1. Re:I can completely understand... by microbee · · Score: 4, Funny

      Yes, sometimes I fall asleep on the toilet when I do this.

    2. Re:I can completely understand... by MyLongNickName · · Score: 5, Insightful

      You *think* before you code? WEIRDO!

      In all seriousness, when I worked for a bank, I would go outside with a legal pad and start drawing out the logic in terms of pictures. Away from the phone. Away from the co-workers.

      At lunch one time, a coworker half jokingly said I only work 3 hours a day. My manager was there and remarked "Yeah, but he gets more done in those three hours than you do all day".

      I tried to keep from smiling... however, in all seriousness, coding is 30% of programming. too many coders consider themselves programmers.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    3. Re:I can completely understand... by panthroman · · Score: 0

      quote> Huh, I usually rush like hell to get code out, and to this day/em> nobody lets me near their computer...
      Maybe I'll try your tack.

    4. Re:I can completely understand... by LucidBeast · · Score: 2, Insightful

      I do the same with a twist... and then I drink my beer and code.

    5. Re:I can completely understand... by Mr2cents · · Score: 5, Insightful

      You should seriously consider giving your manager a raise.

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    6. Re:I can completely understand... by MyLongNickName · · Score: 4, Funny

      Actually, considering his orientation, I might have.... but I really prefer not to think about it :)

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    7. Re:I can completely understand... by Anonymous Coward · · Score: 1, Interesting

      Me too. Sometimes it takes weeks, and I might have to go Cabo or Belize or party with some hookers and blow, but that's how dedicated I am to making sure I get the job done right.

      More seriously: It sounds like he and I have very different working methods, and I wonder how much of it is due to the subject matter. I use something more akin to a sketch, examine, and revise methodology. The sketches can be drawings, UML, Venn diagrams, mock-ups, or illustrations*, but eventually some of the sketches are functioning rough implementations. This is perhaps because much of my work is user-oriented rather than simply data-oriented, but I sometimes find it useful for the more complex data-oriented code. The code sketches are usually revised into the next version of a sketch, and eventually become the actual code you want to ship. Obviously that methodology could be very problematic in a group environment with a lot of overlap, but there are different ways to adapt it.

      One thing I absolutely dread are those design meetings where people spend hours trying to decide amongst two technologies or models that are both clearly imperfect in the same magnitude. You go over it and over it and over it until everyone is worn through, and the eventual choice isn't based on merits but simply the chance events of the meeting.

      * I've found two minutes at a sketch book can sometimes clarify the necessary algorithm for me in a way that could take an hour of pain at the computer. I definitely recommend trying approaching problems from multiple disparate modes of thought.

    8. Re:I can completely understand... by jgtg32a · · Score: 3, Funny

      How are you going to write that comment and not add the XKCD?

      http://xkcd.com/323/

    9. Re:I can completely understand... by Mr2cents · · Score: 3, Insightful

      Oh, well, not all signs of appreciation are monetary :).

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    10. Re:I can completely understand... by Anonymous Coward · · Score: 5, Funny

      Actually, considering his orientation

      He's Asian?

    11. Re:I can completely understand... by moderatorrater · · Score: 5, Insightful

      I tried to keep from smiling... however, in all seriousness, coding is 30% of programming. too many coders consider themselves programmers.

      A lot depends on deadlines. If you have 3 things that needs to be done and committed by tomorrow, then there's going to be a tendency towards hackery. If you've got one thing that the company wants you to work on until it's finished, then you need to be more of a thinker. Programming's all about tradeoffs, and deciding which tradeoff happens isn't always the responsibility of the coder.

      Of course, most of the time management doesn't even realize that a tradeoff is being made. There's a breakdown in communication somewhere and most managers don't even realize that by pushing the deadline to be shorter they're asking for more work in the future and more bugs.

    12. Re:I can completely understand... by BlueKitties · · Score: 1

      I have a bad habit of thinking over bugs while lying in bed before going to sleep. I've lost more than a few hours sleep over this. Usually though, I sleep like a baby if I manage to find a good solution to a problem.

      --
      "Sorrow is better than laughter, for by sadness of face the heart is made glad." [Ecclesiastes 7:3]
    13. Re:I can completely understand... by 16K+Ram+Pack · · Score: 4, Insightful

      It's one reason I prefer to charge clients for the job than the hour. Because like the author, by the time I sit down to code, I've worked out precisely what I want to do. When I'm writing code in the evening, I might be reading slashdot, twitter and all that, but I'm quite frequently also buzzing code around in my head. I can almost feel the things forming, juggling around 2 different approaches and letting the brain work out which way it likes better.

      It means that when I sit down, the code is more like typing.

    14. Re:I can completely understand... by Anonymous Coward · · Score: 0

      I have a bad habit of thinking over bugs while lying in bed before going to sleep.
      I've lost more than a few hours sleep over this. Usually though, I sleep like a
      baby if I manage to find a good solution to a problem.

      I'm the same but if I do find a good solution, I can't sleep until because I'm itching to implement it.

    15. Re:I can completely understand... by hack++slash · · Score: 1

      A lot depends on deadlines. If you have 3 things that needs to be done and committed by tomorrow, then there's going to be a tendency towards hackery. If you've got one thing that the company wants you to work on until it's finished, then you need to be more of a thinker.

      I agree to a certain extent, if I'm given a deadline by which something has to be done by (like it's being shipped off somewhere or someone important has to see it) then I'm more able to finish the task in a timely manner (even if I rush things in the last 'minute') than if I were just told it has to be done but without any time parameters.

      As for rituals, I find if I've got a programming/construction problem within a project I find getting away from where the thing is being programmed and/or built frees me from the problem enough to think about it, usually when I'm cycling and listening to music at the same time gives me enough of a distraction from the problem to actually think about individual parts of it rather than the whole.

      --
      To do something right, you often have to roll up your sleeves and get busy.
    16. Re:I can completely understand... by luder · · Score: 3, Funny

      If you have 3 things that needs to be done and committed by tomorrow, then there's going to be a tendency towards hackery. If you've got one thing that the company wants you to work on until it's finished, then you need to be more of a thinker.

      I bet Duke Nukem Forever team members are all philosophers, by now...

    17. Re:I can completely understand... by Sanat · · Score: 3, Insightful

      A master does nothing, but leaves nothing undone. All of the work is done by not doing.

      Allowing your subconscious to design the modules instead of your conscious mind tends to lead towards more consistent results. Most individuals never reach this stage and probably can not relate to what you are describing.

      Others here know exactly what you are describing.

      --
      And in the end, the love you take is equal to the love you make
    18. Re:I can completely understand... by Anonymous Coward · · Score: 0

      "There's a breakdown in communication somewhere and most managers don't even realize that by pushing the deadline to be shorter they're asking for more work in the future and more bugs."

      It's not a breakdown but the very essence of their thinking: in their minds a dollar earned today values *much* more than a dollar expent tomorrow (specially if they think they won't be there by expenditure time). Of course, your efforts value nothing anyway.

    19. Re:I can completely understand... by osu-neko · · Score: 1

      I bet Duke Nukem Forever team members are all philosophers, by now...

      Starving philosophers at this point...

      (Sorry, that's a bit of an in-joke -- among my college friends, the dining philosophers problem was generally known to as the "starving philosophers problem" after one of them accidentally called it that and the name stuck.)

      --
      "Convictions are more dangerous enemies of truth than lies."
    20. Re:I can completely understand... by luder · · Score: 1

      Ha, what a coincidence. Today I had a talk with a college friend of mine about that exact problem, and I have to implement a variant of it soon. I guess that name will stuck around here, too :-).

    21. Re:I can completely understand... by JustOK · · Score: 1

      Well, what is he up to? Wait, mebbe I'll whip up some curl and use the Twitter API...

      --
      rewriting history since 2109
    22. Re:I can completely understand... by JustOK · · Score: 1

      well, if it involves html tags...

      --
      rewriting history since 2109
    23. Re:I can completely understand... by linhares · · Score: 1

      same here. and the first thought I have upon awakening is, how is the thing running (mostly, I code looong simulations or np-hard heuristics, so I leave them running while my brain is in sleep mode)

    24. Re:I can completely understand... by The+Clockwork+Troll · · Score: 1

      In this article: sublimated procrastination. No more, no less.

      --

      There are no karma whores, only moderation johns
    25. Re:I can completely understand... by uaemo · · Score: 1

      Makes sense to me, but isn't one full day too much of thinking ! I do my own analysis, sketches, notes, drawing & "thinking" then just consult others if applicable.

    26. Re:I can completely understand... by Arterion · · Score: 1

      LOL, that's so funny. I was just thinking about your manager, "Wow, that's a catty remark that I can't imagine a straight guy making."

      --
      "That which does not kill us makes us stranger." -Trevor Goodchild
    27. Re:I can completely understand... by micromuncher · · Score: 4, Funny

      Well...

      All the amazing solutions that I've had while asleep or in delerium have always seemed really good for the 30 minutes of furious waking coding... before the "What the f**k is this garbage? It will never work..." gets shouted out.

      My subconscious thinks this is hilarious.

      --
      /\/\icro/\/\uncher
    28. Re:I can completely understand... by Anonymous Coward · · Score: 0

      Wonderfully said, but I think you should credit the Tao Te Ching for your first line.

    29. Re:I can completely understand... by umghhh · · Score: 1
      I think this is false dichotomy - some jobs are relatively standard (at least for the particular designer) and this means you can just sit and code. Some jobs are impossible to be done this way - you have to draw sketches and think about ways to do things. Interestingly you can also do that by coding only you cannot expect that these first sketches will be right but rather prototypes or experiments if you will.

      Whether management has understanding for such practices is another thing - in corporation I once worked there were signs on walls to the tune: 'first time right' or 'our goal is faultless software'. Alas all other corporations I had a chance to work for had similar slogans - sometimes I wonder how much they pay somebody for developing of those. Sometimes I think good products are made in spite of 'good' management practice...

    30. Re:I can completely understand... by mwvdlee · · Score: 1

      coding is 30% of programming. too many coders consider themselves programmers

      Type some typing training and coding will drop to 20% or even 10%.
      Coding = typing.
      As for the topic; I do most (or at least; "best") of my programming while in the gym, sauna or shower with nothing to write on or otherwise limit my creativity.
      Knowing this works for me, I usually just start coding until I encounter a difficulty, go to the gym then come back and finish the code. Before I used to go swimming with pretty much the same effect. The general theme is simply to be in a situation where you can't do any work but only think about it.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    31. Re:I can completely understand... by SharpFang · · Score: 1

      Heh.

      I start coding right away.

      About 60% into coding the problem I have more than 80% of the original code replaced.

      I find the syntax-highlighting editor to be much clearer and better suited medium for sketching a solution than paper.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    32. Re:I can completely understand... by xtrmdude · · Score: 1

      My boss usually comes up with serious tasks at the end of the day's work and mutters...'Please complete this tonight'. Guys, little time is spent thinking, and if I have to think...its got to be at the speed of light. :(

    33. Re:I can completely understand... by Anonymous Coward · · Score: 0

      Oh dear God.

      Most individuals experience flow state while programming, but *some* individuals like to think they're somehow special and that others cannot even relate to them.

      A master is not the same thing as a fucking emo.

    34. Re:I can completely understand... by Anonymous Coward · · Score: 0

      "Is that a 500-unit spool of Taiyo Yuden DVD+RWs in your pants, or are you just glad to see me?"

    35. Re:I can completely understand... by m.precursor · · Score: 0, Redundant

      Actually, considering his orientation

      He's Asian?

      Actually, I was thinking he meant that he was gay.

    36. Re:I can completely understand... by Duffy13 · · Score: 1

      I don't think you are talking about the same thing as the poster. Syntax for a seasoned programmer is rarely an issue, its overall logic flow and efficiency that we care about. While we may not succeed all the time, we tend to aim for the elegant solution that covers all our needs and has room to grow or be adapted to other projects. It's not the individual parts, its how we put them together that we spend time on.

      A simple example: A bubble sort 'works', it's not the best solution but it's easy to implement and sometimes even programmers who know better inadvertently start coding something that turns into a one. However, with some thought I can determine a merge sort is better, and that I should writ it generically so I can add it to my library of handy functions.

      Usually you waste less time if you stop to think first instead of plugging through code only to rewrite it constantly through out the coding session. It really still depends on the person.

      --
      "Now you know, and knowing is half the battle!"
    37. Re:I can completely understand... by Darinbob · · Score: 1

      My boss has to ask "Is it done yet" ten times first. Then I can get started.

    38. Re:I can completely understand... by Malaak · · Score: 1

      I knew what XKCD you are posting before even opening the link... Damn, I am to often here on slashdot...

    39. Re:I can completely understand... by Anonymous Coward · · Score: 0

      I feel you.

      One of the directors of the company saw me on eBay.

      I was just looking at random stuff while clearing my head and trying to get all the code done.

      My boss was right there, and when the director said, "Looks like you are working hard there" my boss looked at him dead serious and said, "I assure you, he is".

      My problem is that I get stuff done too fast doing exactly what you are describing. As I am clearing my head, I hit what I like to call my "Coding epiphany" where everything just clicks.

      Everything comes together in my head, and then I do it.

      You guys know exactly what I am talking about (well, some of you will), and then results happen.

      Speaking of not coding and then everything clicking, excuse me, because it happened again

    40. Re:I can completely understand... by Lord+Kano · · Score: 1

      And he gave him a raise. I'm not sure if he just gave him a phonebook to stand on or if he cut it in half and duct taped it to his shoes.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    41. Re:I can completely understand... by Lord+Kano · · Score: 1

      When I was learning C, I had problems getting my mind to wrap around the for loop. I thought about it for hours and right before I fell asleep I had a DOH moment. I could "see" how they worked and I felt stupid for not getting it right away. Sleep is magic.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
  2. AAAAAnd by Profane+MuthaFucka · · Score: 5, Funny

    There's Slashdot. Even when I do everything else, Slashdot is the final work-preventer.

    --
    Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
  3. My rituals (in order, of course): by Anonymous Coward · · Score: 5, Funny

          1. Make a cup of coffee: Community New Orleans blend, one sugar, hazelnut creamer.
          2. Read reddit.
          3. Check social status sites: facebook, twitter, etc.
          4. Read CNN.
          5. Read email.
          6. Catch up with coworkers.
          7. Juggle a bit.
          8. Put on headphones. Go to last.fm and hunt for a station that fits my current mood.
          9. Check reddit again.
        10. Go to lunch.
        11. Read email.
        12. Check reddit again.
        13. Update to-do list.
        14. Check icanhazcheezburger, etc.
        15. Pick different last.fm station.

    1. Re:My rituals (in order, of course): by Cornflake917 · · Score: 4, Funny

      I'm willing to bet that you make at least 6 figures with a job description like that.

    2. Re:My rituals (in order, of course): by Anonymous Coward · · Score: 0

      Oh man, that's my list too. even the juggling! I, however, don't have a job. Wanna swap?

    3. Re:My rituals (in order, of course): by Dragonslicer · · Score: 1

      But then when do you have time to read Slashdot?

    4. Re:My rituals (in order, of course): by penguin_dance · · Score: 1

      Substitute Twitter for reddit. :D

      Seriously though the idea of programming ritual is not that different from writing anything else from articles to novels. Sometimes I listen to instrumental (less distracting), but sometimes for a fictional piece, I listen to the type of music my character would "listen" to. (Don't laugh, I happen to know a published author who's main character has a Facebook page.) It makes the character more real and puts you in their mindset. And I usually read the piece out loud at least once, usually to my spouse. I catch a lot of mistakes that way. (Probably not recommended for coders ;-)

      --
      If you've never been modded as "flamebait" or "troll," you've never tried to argue a minority viewpoint here!
    5. Re:My rituals (in order, of course): by MindStalker · · Score: 1

      Sounds like you need http://entertainment.slashdot.org/article.pl?sid=09/05/18/169202
      There are virtual versions of this, though I haven't found a good one for the PC.

    6. Re:My rituals (in order, of course): by RichardJenkins · · Score: 4, Funny

      And after all this, then - ONLY THEN - are you finally ready to post on Slashdot.

    7. Re:My rituals (in order, of course): by Anonymous Coward · · Score: 1, Insightful

      Funny, isn't it, how the more one earns, the less "work" that person must do? However, it is often the case in the software world, that while one must perform less labor, the output of that labor is expected to be of greater practical value. Quality vs quantity I suppose.

    8. Re:My rituals (in order, of course): by Anonymous Coward · · Score: 0

      Put some measurements in there and you are on your way towards PSP. You should describe the process for your manager and help to spread the method over the whole team. The bliss, that is the TSP, waits for the steadfast.

    9. Re:My rituals (in order, of course): by Anonymous Coward · · Score: 0

      And when do you code?

    10. Re:My rituals (in order, of course): by Anonymous Coward · · Score: 0

      I do a modified Klingon / Roger Clemens approach. You see, major league starters work once every 4 days or so and so if you have that gig it's pretty sweet. Modeled my life after this. (Roger was a famous US baseball pitcher.) So my routine is to: Do shitloads of steroids. Hire a death-metal band for work days. On the day of the week I work, I get in a whirlpool with the temp set up to parboil for at least an hour. Then I rub my nuts with high-Scoville ointment. Crank up the death-metal band. Get into a coding rage. Kind of hard on the equipment but scares shit out of people trying to come onto my soundstage for a meeting.

    11. Re:My rituals (in order, of course): by Hurricane78 · · Score: 1

      Yes, it is funny, that you somehow can't work more than X hours a day, because you get you money.
      One might think that you still are a human, with still the same limitations.
      But of course everybody in HR and management knows that that is bullshit. :P

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    12. Re:My rituals (in order, of course): by BenoitRen · · Score: 1

      icanhazcheezburger

      You got the site wrong (even though it does redirect). Turn in your geek card.

    13. Re:My rituals (in order, of course): by codefungus · · Score: 1

      hahaha

      no doubt

      I wish I could do that, but I gotta get work done.

      --
      -- A cat is no trade for integrity!
    14. Re:My rituals (in order, of course): by Jane_Dozey · · Score: 1

      You say that reading it out loud might not be recommended for programming but I find I catch a whole lot of mistakes is I get a co-worker to come over and let me explain what I've done to them. It's also a nice way to get improvements suggested so the code as a whole is better and I get to learn new ways of doing things.

      --
      Silly rabbit
  4. Was there a question here? by internerdj · · Score: 1

    If you distill any of the accepted processes down then you plan first, even in agile processes. To summarize the summary: If you plan first and clear your workspace of distractions you do better work...

  5. My code works better by russotto · · Score: 4, Funny

    ...when I make sure to release it when most of the testing group is on vacation. Vastly cuts down on the initial bug list, let me tell you.

    1. Re:My code works better by digitallystoned · · Score: 2, Insightful

      I think the biggest problem with programming is the number of programmers involved and the size of the project. It's really the testing group/QA departments job to catch the bugs. I listen to music while i work, granted I install network hardware, but it makes the day go by faster and seems to be more productive than listening to the phone ring or staring at the wall for hours on end. I think that programmers are given too much crap. They may make coding errors, but they are human. Another set of eyes on any project makes things a bit easier. As much as I hate OpenBSD, they have a descent system. They take code, review it, and then post it to their distro. It may take them forever to get to that point, but at least its reviewed. Programs would be so much better if there was a better source. I'm sure this is offtopic so yeah....I forgot where i was going with this, its quiet in the office.

    2. Re:My code works better by Anonymous Coward · · Score: 0

      As much as I hate OpenBSD, they have a descent system.

      Well of course they do, it's descended from Unix.

    3. Re:My code works better by linhares · · Score: 1

      AC, you usually post crap in here, but, this time, I wish I had mod points

    4. Re:My code works better by BenoitRen · · Score: 1

      I thought most big open source projects review patches first. Mozilla does, for example.

  6. Programming happens in the mind by Mr2cents · · Score: 4, Insightful

    The key to good software is contemplation. You can feel the social pressure at the workplace to be typing all the time, but it's wrong to give in. If they want someone who's banging on his keyboard all the time, let them hire a typist.

    --
    "It's too bad that stupidity isn't painful." - Anton LaVey
    1. Re:Programming happens in the mind by m50d · · Score: 2, Funny
      If they want someone who's banging on his keyboard all the time, let them hire a typist.

      Or a group of exhibitionists.

      --
      I am trolling
    2. Re:Programming happens in the mind by Bamafan77 · · Score: 1

      "The key to good software is contemplation. You can feel the social pressure at the workplace to be typing all the time, but it's wrong to give in." Quote from a PM: You're not paid to think! (seriously)

    3. Re:Programming happens in the mind by Mr2cents · · Score: 1

      Quote from a PM: You're not paid to think! (seriously)

      I would not let that opportunity pass to let him know *exactly* what I *think*. And I would start updating my resume immediately. And use that quote in job interviews to let my future employer know where I stand.

      You might be more accepting, but personally, that's one of the few things that can make me angry. I didn't spend all those years in college to just throw away my brain the moment I get out.

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    4. Re:Programming happens in the mind by Anonymous Coward · · Score: 0

      Very light exhibitionists, unless they stole the model M keyboards from the typists...

    5. Re:Programming happens in the mind by BraksDad · · Score: 1

      We implemented a project management office and methodology which more or less forced our coders to slow down. Their quality , productivity and ability to hit scheduled (their own generated ones) targets went WAY UP. Everything costs less now.

      --
      Slowly waving my hand - "This is not the sig you are looking for."
  7. How is this a ritual? by Fantom42 · · Score: 5, Insightful

    Sure, some of what the article talks about is a ritual, but the planning process isn't a ritual at all. Its a process. One that usually works pretty well, I must add. The less time you spend coding, the better your product is usually going to be. That said, knowing when to put down the whiteboard is sometimes important too.

    1. Re:How is this a ritual? by bFusion · · Score: 1

      Not to do the asshat dictionary thing, but one definition of a ritual is "any practice or pattern of behavior regularly performed in a set manner."

      I think in this context a ritual would be very similar to your definition of a process. :)

    2. Re:How is this a ritual? by Chabo · · Score: 2, Funny

      Duke Nukem Forever had this problem. They spent so much time saying "THIS GAME IS GOING TO BE SO AWESOME" that they never wrote any code!

      --
      Convert FLACs to a portable format with FlacSquisher
    3. Re:How is this a ritual? by Mr2cents · · Score: 4, Funny

      There's even a simple proof of that: all bugs come from coding. Therefore, the less time you spend coding, the less bugs you'll produce :-).

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    4. Re:How is this a ritual? by Fantom42 · · Score: 1

      http://dictionary.reference.com/browse/ritual

      The one you are citing is the EIGHTH one down. The others have religious or other connotations.

      At any rate, a ritual has a connotation of ceremony, not one of a process, which is established for reasons other than tradition or religion.

      To me, the point at which a process becomes a ritual, in that eighth definition context, is probably the moment a software engineering process probably stops working very effectively, because people have lost sight of why they are doing it. (Not always true of course and usage is pretty flexible.) Still, I think to call some of the OP's acts ritualistic sells them short, because there are good reasons for many of them, that wouldn't warrant weird stares from people.

    5. Re:How is this a ritual? by bn-7bc · · Score: 0

      Well IÂm not a programer, but it seems to be a problem with youre statemsent: If you do no coding at all you will, as yoo stated, have no bugs, but jou will allso lack a pruduckt, witch will make youre boss onhappy and ....

      On the other hand, cutting down the amount of code to the absulute mimimum needed to achive the desired functionalety might not be a bad idea.
      I can imegine that a project with 10k lines of code is somewat easier to maintain and debug/exstebd then a project with 100k lines.
      If anyone with first hand knolage thinks IÂm wrong, pleace correct me so I donÂt make the same inncorect asumtipns again :)

    6. Re:How is this a ritual? by Anonymous Coward · · Score: 0

      Which offshore development shack do you work for?

    7. Re:How is this a ritual? by Anonymous Coward · · Score: 1, Insightful

      Any program can be reduced by one line, and all programs contain at least one bug ... ergo ... any program can be reduced to just one line, which will be a bug.

    8. Re:How is this a ritual? by CrashandDie · · Score: 1

      Reisner's Rule of Conceptual Inertia:
      If you think big enough, you'll never have to do it.

    9. Re:How is this a ritual? by bFusion · · Score: 1

      I must have missed the footnote on dictionary.com saying "All definitions after the fifth should be ignored because they are either redundant or too obscure to be used in normal sentences."

      I would have used one of the more "correct" definitions, but they all had religious significance. But let's be honest, who hasn't considered coding a religion at one point or another.

      Anyway, /troll, I do agree that process would have been a better word choice, since usually it's more about clearing your head and planning ahead than lighting candles and slaughtering goats.

    10. Re:How is this a ritual? by Mr2cents · · Score: 1

      Well, IMHO, it's an optimization problem. Suppose you want to place a tile floor in your kitchen. Not being an expert, it goes quite slowly. As things progress, you discover some tricks that make the work progress better and more quickly, and by the end the pace will be faster. Now, do you spend more time at the beginning with experimentation to find these tricks (a.k.a. "tinkering", or "wasting time"), or do you just turn off your brain and work as hard as you can? What will get the work done faster?

      There is no clear answer to this, as placing a tile floor is not something you do every day. On the other hand, if you want to make it your profession, you want to learn these tricks as soon as possible, as you will benefit from it every day for the rest of your career. So it all depends on the scale of the project.

      Coming back to a software project, if you can isolate some key concepts and abstract & implement them well, these ADT's will give you a great advantage later on. But you will "waste" time dong so early on.

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    11. Re:How is this a ritual? by tonekids · · Score: 1

      Reisner's Rule of Conceptual Inertia:

      If you think big enough, you'll never have to do it.

      You've described the founder and CEO for whom I used to work.

    12. Re:How is this a ritual? by Yvanhoe · · Score: 1

      In the world of 2009, planning for anything instead of waving frantically in all directions while shouting that all the bugs are another's person fault passes for ritualistic voodoo thing.

      I don't care that you have a fetish for planning kid, but do this at home, a workplace has some standards to hold.

      Oh, another person asked me today how open source efforts could work by only using people's free time...

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
    13. Re:How is this a ritual? by Anonymous Coward · · Score: 0

      Unless it's in perl, in which case the one line will demonstrate their mastery of the language.

    14. Re:How is this a ritual? by Anonymous Coward · · Score: 0

      If debugging is the process of removing bugs from a program, then coding is the process of creating bugs.

    15. Re:How is this a ritual? by Belial6 · · Score: 1

      There can definitely be bugs in the design stage. They just are not the ones that can be fixed by changing one or two lines of code.

    16. Re:How is this a ritual? by clintp · · Score: 1

      To beat an analogy to death: it doesn't matter which is faster, it's whichever gets it done right.

      Learn how to lay tile (books, internets, television, YMMV). Practice and test in a location no-one will notice (learn to cut tile for under the appliances *first*) -- get your mistakes out of the way and correct them. Then put in the tile as quickly as you can do it correctly and no quicker.

      --
      Get off my lawn.
    17. Re:How is this a ritual? by Mr2cents · · Score: 1

      I am aware that this analogy is not perfect (as most analogies are). I could have spent some extra time wondering about how to come up with a better one, or I could just write it down as it is, and hope I wouldn't need too much time afterward defending it to other people. Which way is faster? There is no clear answer to that..

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
  8. Rituals help focus the mind by Black+Art · · Score: 3, Insightful

    I can fully understand using such rituals. It helps you get in the right head space for writing code. It gets you focused on the task and flush out all the other crap trying to get your attention.

    I have found that if I am not in the right frame of mind before starting, the code takes much longer or is just plain wrong. If I am in the right head space, the task is quick and done before you know it.

    --
    "Trademarks are the heraldry of the new feudalism."
    1. Re:Rituals help focus the mind by Red+Flayer · · Score: 1
      I agree 100%.

      I have found that if I am not in the right frame of mind before starting, the code takes much longer or is just plain wrong. If I am in the right head space, the task is quick and done before you know it.

      It's not just coding, either -- anything requiring concentration and analytical thought benefits from being in the right frame of mind.

      One of the tricks I learned from a former boss was to identify what gets me "in the mood", and then practice at streamlining the process until I could turn it on and off at will. He seemed to be a master of it, it still takes me a couple minutes -- and because it takes me a couple minutes, jumping in and out of the zone is a pain in the ass... which means I need to take even longer to make sure I'm not going to need to interrupt myself. So if I plan on needing to be in the zone for an hour, I'll need to make sure I have coffee or tea plus a glass of cold water handy, that I'm not going to need to go to the bathroom, etc. So I need to add even more to my ritual to avoid having to go through the ritual again.

      The key, of course, is making sure that external disruptions are minimized... turn the phone ringer off, close the email & IM apps, etc.

      I work in 50-minute zone bursts, with 20 minute breaks for correspondence, slashdot, etc... plus one 50-minute session for emails in the AM and another in the PM, and time as needed at the end of the day for additional correspondence and instructions to offshore teams. So in a normal day, I get between four and five sessions of productive zone-work done. The rest of the time is correspondence and some goofing (slashdot, mainly).

      Anyway, to make a long story short, if I can reduce the ritual that I need to get in the zone, I could be much more productive, since interruptions (self-inflicted or otherwise) would result in less downtime.

      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    2. Re:Rituals help focus the mind by Anonymous Coward · · Score: 0

      Don't become dependent on your rituals though. I'd rather be that guy who can sleep like a baby even when the metro is roaring past. I don't need the perfect music or place - and certainly not long walks on the beach. The only thing I try to prevent is people directly interrupting my work.

  9. Kids and their Crystals and Wheatgrass Juice by Anonymous Coward · · Score: 1, Interesting

    I get a cup of coffee, if that, and I sit my ass down and write some code. I don't go for walks, I don't spend quality time with the wife, I don't sit in the lotus position, I bang out thousands and thousands of lines of solid code. If there's a particularly nasty problem, I go to sleep and the solution shows up in the shower the next morning and then I code. Criminies. I blame "keyboarding" classes, "web design", and "object oriented methodologolologogies" on this sort of hippie chakra-based programming hooey.

    1. Re:Kids and their Crystals and Wheatgrass Juice by AmaDaden · · Score: 1

      I'm willing to bet that for all your talk of just getting to it you still do a lot of thinking about what you are coding, you just do it with the monitor in front of you. It's highly unlikely that you just sit done and start writing the final bug free version of the code. You must have some kind of thought process you use to solve your coding problems. If you don't you are either 1)doing it the hard way by writing first and fixing later 2) programing stuff that is so far beneath you that it's no real challenge for you

    2. Re:Kids and their Crystals and Wheatgrass Juice by DrLang21 · · Score: 2, Interesting

      I would like to know how complex of a system you are designing with this methodology. No flow planning? No predefined input/output? No figuring out how your design will efficiently fulfill software requirements? Planning isn't all about rituals, though it's well known that doing something to focus your thoughts helps get the juices flowing. Planning is about figuring out how to not waste your time or money, and being able to effectively divide out work if deadlines are pressing in.

      --
      I see the glass as full with a FoS of 2.
    3. Re:Kids and their Crystals and Wheatgrass Juice by Anonymous Coward · · Score: 0

      "I would like to know how complex of a system you are designing with this methodology."

      What I know for sure is that getting things done is 1% inspiration and 99% transpiration. But surely you all think of themselves to be gurus with ponytails that need about a week of new-age spiritual retire for a "Hello, world".

      But lo and behold, my friend, what an amazing "Hello, world"!

    4. Re:Kids and their Crystals and Wheatgrass Juice by khakipuce · · Score: 2, Insightful

      I agree, my first though when I read this was "what a ponce". We would all like more time, more flexibility and more peace and quiet, but transfer this guy's approach to say a Paramedic. There you are lying at the side of the road bleeding to death and the paramedic can't decide whay to do with out a whole heap of rituals. Planning, to a point, is obviously a good thing, but if you are a professional coder, cutting code is something you have done so often that you know the patterns, like the paramedic, you should be able to quickly assess the situation and apply the right techniques in the right way.

      --
      Art is the mathematics of emotion
    5. Re:Kids and their Crystals and Wheatgrass Juice by shrimppesto · · Score: 1

      Paramedics work within pre-defined protocols; the planning has been done in advance, so that it doesn't need to be done at the scene. However, a paramedic's job is to stabilize the patient, provide initial treatment, and get them to the hospital; medics generally do not provide definitive care.

      On the other hand, if you are sedated in the ICU with multiple organ failure, you had better hope that you have a team of doctors who know how to formulate an appropriate treatment plan. In a medical ICU, the bulk of this planning typically does NOT take place at the bedside; it happens "behind the scenes."

      Quickly assessing the situation and applying the right techniques works for certain tasks, but there are many other tasks that require careful, meticulous planning.

  10. AKA I write the best code when I am "in the zone" by Anonymous Coward · · Score: 0

    It's a form of meditation, to put ones mind in a state that people call "the zone", where their creativity flows without obstacle.

    Personally I find that code written in that state is hard to maintain. It sort of works, but it's rather badly structured. Coding "the hard way" may not be as fast and neither as pleasant, but it forces you to have a more rational approach to the problem at hand, and that results in better code.

    The zone is perfect for rapid prototyping though.

  11. Iteration vs planning... by blahplusplus · · Score: 4, Insightful

    I think the problem with planning everything too much is that you can't hold all the details in your mind at once, and sometimes your planned approach is not as good as one you come up with later given some time to stew on it (doing nothing).

    I think programming is a very iterative process because it is symbolic and non-visual (i.e. not like building something with structures that are easily and intuitively able to grasp their structural and interconnected relationsihps)

    1. Re:Iteration vs planning... by DragonWriter · · Score: 4, Funny

      I think the problem with planning everything too much is that you can't hold all the details in your mind at once

      Yeah, if only there was some way of tracking information without keeping at all in your head at once.

    2. Re:Iteration vs planning... by Blakey+Rat · · Score: 1

      I think the problem with planning everything too much is that you can't hold all the details in your mind at once,

      For a mere price of $1100 I can sell you this new invention I've come up with. It's called a "legal pad." Combined with a high-tech "ballpoint pen" it allows you to keep track of thousands of details-- without holding them all in your head!

      They're going fast, call today.

    3. Re:Iteration vs planning... by Anonymous Coward · · Score: 0

      I think the problem with planning everything too much is that you can't hold all the details in your mind at once

      Yeah, if only there was some way of tracking information without keeping at all in your head at once.

      Are you serious!?

      Either (a) you don't write complicated code or (b) you can't hold very much in your tiny little brain.

      There is no way I could keep track of all the levels of recursion and steps and the order I need to take in any medium other than my brain when I'm in the zone and working on a challenging project.

      Occasionally, yes, I'll loose everything (like volitile ram) because someone jumps in my office to ask to borrow a screwdriver (yes, that happened, no, I don't keep a screwdriver at my desk...) but most of the time it works out okay.

    4. Re:Iteration vs planning... by Anonymous Coward · · Score: 1, Informative

      Thank you! In my experience, people who sit around and plan everything out don't produce very good code, nor do they do it very quickly.

      When I'm solving a problem I start coding the second I have an idea what I'm doing. I prototype a solution as quick as possible, and refactor things repeatedly from there, trying to get it exactly how I want.
      If I were to try and do all this in my head I find that I a) forget things, or b) work only at a high level, without realizing there are low level implementation details that will break the high level solution.

      I *could* work things out on paper with diagrams/english/whatever, but what's the point? My (programming) language is the best description of my solution, why would I bother with anything else? Some people tell me they can work faster on paper / in their head than they can code. Why not just get better at reading/writing/thinking in your language?

    5. Re:Iteration vs planning... by Anonymous Coward · · Score: 0

      I wonder if we could come up with some sort of machine to help with that....

    6. Re:Iteration vs planning... by Anonymous Coward · · Score: 0

      Sorry about the screwdriver query, but how else was I going to perform my disassemble-and-reassemble-computer-before-programming routine?

      OK, you got me, I wasn't going to program afterwards. I'm still waiting for all you guys to catch up and reinvent the system I designed in my head six months ago when I landed my job as your architect while slamming beers with your old boss. That's my real ritual, and now I'm just amusing myself by taking things apart.

    7. Re:Iteration vs planning... by webreaper · · Score: 1

      Can you include those details on your resume, so that when I'm next hiring I know to file yours straight in the round filing cabinet? Anyone who starts coding "the second they have an idea what they're doing" clearly has no concept of design.

    8. Re:Iteration vs planning... by Anonymous Coward · · Score: 0

      So naive! huh
      plan is only for the upper management so that i can show some sh$t numbers. For developers, it is never workable and practical.

      By the way, if it is practical then it ain't a plan!

    9. Re:Iteration vs planning... by Anonymous Coward · · Score: 0

      Let us look at this scenario
      a feature needs to be completed in one month
      and it genuinely takes 2 months

      Dev: Hey dude, it take + or - 2 months. But we can try to have it in 2 months time

      At this instance, asshat dev manager wants to bring in a project manager

      Project Manager to Dev : How long did you say would it take?
      Dev: 2 months?
      Project Manager to Line Manager : We can get it done in 45 days
      Line Manager : You are the man!

      Project Manager to Dev : I want it in One month
      Dev: Not possible

      Project Manager: One month or you would be screwed!

      Dev then spends days and nights to reach the target

      Project Manger takes the cake

      Line Manager the icing

      Dev the boot

    10. Re:Iteration vs planning... by shiftless · · Score: 1

      Well, if there is, I sure haven't found it. I think a lot faster than I write, speak, read, or listen.

    11. Re:Iteration vs planning... by Anonymous Coward · · Score: 0

      Sounds like the Dev should have better spent those 45 days finding a new job, quitting and then letting the PM get screwed for not having his project on schedule.

    12. Re:Iteration vs planning... by russotto · · Score: 1

      Can you include those details on your resume, so that when I'm next hiring I know to file yours straight in the round filing cabinet? Anyone who starts coding "the second they have an idea what they're doing" clearly has no concept of design.

      Objecting to a programmer doing his initial design in code is about as reasonable as objecting to a writer doing his first draft in English.

    13. Re:Iteration vs planning... by Anonymous Coward · · Score: 0

      Yes, and the more iterations you can do as a thought experiment, the more evolved your idea/code will be. Saves time, wear and tear on the fingers, and improves quality of life.

  12. EITS by WarwickRyan · · Score: 1

    Sweet, to see one of my fav bands mentioned on Slashdot of all places :-)

    1. Re:EITS by Hatta · · Score: 1

      You know, I enjoy the instrumental post rock thing. But I'm hard pressed to see what would make one band your favorite over another. EITS, Mogwai, Mono, Tortoise, I enjoy listening to them, but damned if I can tell the difference between them.

      --
      Give me Classic Slashdot or give me death!
    2. Re:EITS by WarwickRyan · · Score: 1

      They were the first I heard, and the only one I've been able to see live so far (where they were fantastic).

  13. Not a ritual! by eggfoolr · · Score: 5, Funny

    Crikey! That's just sensible work organisation. I guess if you find something that works and always do it that way you might call it a ritual. My ritual is to get in the car and go to work every morning... that way I can do, well you know... WORK!

  14. Man, that sounds much better than mine... by MostAwesomeDude · · Score: 1

    I usually just stare at the code until it starts staring back; that's usually about when I realize that it's 6AM and I need to sleep.

    --
    ~ C.
    1. Re:Man, that sounds much better than mine... by Anonymous Coward · · Score: 0

      That is what happens if you take too much ecstasy.

  15. Re: programming is definitely visual by Anonymous Coward · · Score: 1, Interesting

    I think programming is a very iterative process because it is symbolic and non-visual (i.e. not like building something with structures that are easily and intuitively able to grasp their structural and interconnected relationsihps)

    I have to disagree with you there, and I'll submit that you're doing it wrong if you're not visualizing what you're coding.

    I'm a highly visual person, and as a result I'm really good at simplifying complex spaghetti written by people like you who can't see the obvious simple(r) solution.

    If you can't visualize it, draw it on a white board. Remove any cyclic dependencies and minimize the number of connections. Visualize. Visualize. Visualize. Then code.

  16. Try mind mapping by dim5 · · Score: 0, Offtopic

    Coding is not an efficient way to hash out an idea. Mind mapping software is free, quick and simple to use, and frees your mind to get detail-oriented without losing track of anything.

    --

    Is something burning?
    Oh, it's my karma.

    1. Re:Try mind mapping by digitalchinky · · Score: 1

      If you have to sign up to get access to the download links, then it's not free, no matter how glitzy and 'free' you say it is. Terms and conditions that read like you need a lawyer to get a clue, a privacy policy that says what information you make public is ours, and what information you make private will be ours too when we screw up our website and it gets out in the public arena anyway.

      Don't spam dude.

  17. time of day by Bobtree · · Score: 1

    I'm curious if other programmers like to code at night or any other particular times.

    1. Re:time of day by gangien · · Score: 1

      my best code seems to come at about 12-2am. much past 4 and my code sucks unless i'm really in the zone.

    2. Re:time of day by Anonymous Coward · · Score: 0

      midnight-6am are my best hours of productivity universally regardless of what I am doing. That includes my programming work.

      It steadily builds up to a higher productivity level starting at about 3pm and peaking at midnight, though. I get pretty good work done in the evening hours as well.

    3. Re:time of day by wmspider · · Score: 1

      Same here. From 12 to 3am I have my best 'moments of inspiration'. At some point between 3 and 4 (sometimes later, or sooner, depending on how much I slept) that inspiration goes away really fast. Past that point, my code just sucks...
      Btw, I like to listen to techno music while programming, since the lack of lyrics and the repetitiveness of it don't distract me while the fast beats keep my adrenaline level (and thus my concentration on the task) relatively high. What kind of music do you like to listen to, if any?

    4. Re:time of day by InfernalRuss · · Score: 1

      3am to 7am is my best time (if i've stayed up all night) for coding and/or gaming (im not sure if the gaming being better is because all of the good players have gone to bed though) or if i can make it in to work for 6am/7am those 2/3 hours before anybody arrives really does a world of good

    5. Re:time of day by EkriirkE · · Score: 1

      1-3am when I'm already tired in bed. I seem to be most productive in this state... But I can't really do that for work when they expect me to be in the office at 8:30am where, at that time, I am just a zombie F5'ing Slashdot waiting for a reply-worth story to appear for a few hours until when I mentally wake up.

      --
      from 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
      to 45 2F 6E 40 3C DF 10 71 4E 41 DF AA 25 7D 31 3F
    6. Re:time of day by benjamindees · · Score: 1

      Night, definitely. I have known since I was around seven years old that I do my best work at night. No one at the last start-up where I worked came in before 10 o' clock. Studies have even show that night owls are more intelligent than larks.

      --
      "I assumed blithely that there were no elves out there in the darkness"
    7. Re:time of day by Anonymous Coward · · Score: 0

      I should've known adding that last line would induce a spelling error.

    8. Re:time of day by evil_aar0n · · Score: 1

      I have to "ditto" this. I _hate_ having to come in in the morning - it's bloody pointless since I'm just going through the motions until later in the day, anyway. But, Big Co. would rather have my butt in a seat at a specific time rather than have me productive. Whatever - I get paid the same, either way.

      --
      Truth, Justice. Or the American Way.
    9. Re:time of day by bennomatic · · Score: 1

      I'm definitely a night coder. The phone's not ringing, there's no temptation to go outside and play in the sun. My wife's asleep, and that problem I've been thinking about all day is just shouting an answer at me. If I start coding at midnight, I can start checking off milestones at 4am, and then they start dropping off at 4am.

      I can't wait until I can start doing that again, but with the recent birth of my son, I sleep any time I possibly can. If I plan to code from midnight to 4am, he'll definitely be needing my attention from 8pm to midnight, and 4am to 6am, when I have to start getting ready to head into the office.

      Though I have to say I'm proud of having completed a pet project--moving my AAACounters.com web site from a LAMP-based system to Google's Python/BigTable-based AppEngine--in the occasional quiet hours in the first few days after his birth, when I did not need to go into the office. Feed him, migrate the image database, change him, translate the counter mechanism from Perl to Python, swaddle him, debug-debug-debug, put him to sleep, migrate the counter value database and move the domain. It was pretty sweet.

      --
      The CB App. What's your 20?
    10. Re:time of day by toddestan · · Score: 1

      Right after I come in, about 7-9:30 am (I like to come in early). Mainly because I've had some time to mull over the problem, and because there are less people to bother me that early. Staying late is pointless - by that time I'm mentally exhausted, and my level of care starts to go down to the point where I'm just throwing mud at the problem aiming for the quick fix. I'd be a wreck by night time. I'm much better off if I stop, rest, think about what I'm trying to do, then implement it right away tomorrow morning.

    11. Re:time of day by linhares · · Score: 1

      thanks. I am not alone

    12. Re:time of day by Eudial · · Score: 1

      This is my zone too. I can code earlier, but anything done before 9 PM will lack inspiration.

      --
      GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
    13. Re:time of day by gangien · · Score: 1

      I listen to rap music actually. But it might be for the same reasons, because it music i've already listened to a bunch, so the lyrics aren't distracting me, but the beat and rythme is fast paced. When i listen to stuff i haven't heard before, it's distracting.

  18. "Doing nothing" is not nothing... by jeko · · Score: 5, Interesting

    Here's a couple of long out-of-fashion words; contemplation and reflection.

    There is no "process" -- not change requests, not planning documents, not maintenance windows, not design documents, and for damn sure no flavor-of-the-month buzzword -- that can replace someone with a brain thinking the problem through.

    The problem with this is that it exposes the MBAs for the empty suits they are. Our "business team" -- salesmen with glorified titles -- sit through every meeting bloviating while the engineers get it done. The PMP certs are the worst about it. Me and a customer engineer will put our heads together about something, and decide on a course of action. The PMPs will jump all over it and send out emails about "deliverable actions items."

    One of the other engineers will mention something, and we'll realize we should take a different approach. While we're getting real work done, the PMPs will barge in demanding to know if that action items has been deliverabled yet, and if not we need to reprioritize our skill sets.

    I used to try to explain it to them. We were going to do that, but then we found out this, so were doing something different. I kept getting haughty responses about how they didn't need to know the little tech stuff, they were just managing the project.

    One of them went on at huge length about how you didn't have to be a doctor to be a chief of staff at a hospital.

    At that point I just began to feel sorry for him. Can you imagine living your life hoping and praying that no one will ever realize that you don't have the first clue about what you're talking about?

    --
    He put his boots up on the table and made a face. "The sig," he smirked. "You can waste your life in search of the sig."
    1. Re:"Doing nothing" is not nothing... by Chabo · · Score: 5, Funny

      Posting this for the second time in the past week, because it's apt:

      Could you grimace so I know you're working?

      --
      Convert FLACs to a portable format with FlacSquisher
    2. Re:"Doing nothing" is not nothing... by Anonymous Coward · · Score: 0

      Seems like the time to consult http://professionalsuperhero.com/

  19. Close door by ichthus · · Score: 4, Insightful

    I write firmware for a living, and I WISH I had a door to close. Nothing is more annoying or infuriating on my job than when coworkers are loudly shooting the bull while I'm trying to read a datasheet and figure out register settings.

    "S.. TF.. U!"

    I can code with some noise in the room, but I need QUIET when I'm reading a tech spec. I wish I had the ability to mask external stimuli.

    --
    sig: sauer
    1. Re:Close door by Rick+Richardson · · Score: 2, Informative

      Wear Gun Muffs...

    2. Re:Close door by ichthus · · Score: 1

      Can I get those at thinkgeek?

      --
      sig: sauer
    3. Re:Close door by CodeBuster · · Score: 1

      Seriously, that is what I do. I use these ones from AOSafety.

    4. Re:Close door by ajlitt · · Score: 1

      Get a matte screen monitor and some earplugs or IEMs with good isolation. You know you're doing it right when coworkers have to tap you on the shoulder to get your attention.

    5. Re:Close door by ichthus · · Score: 1

      Good suggestions, and funny you should mention earphones. As a sort-of geeky solution, I've actually tried looping a WAV file of pink noise (easier on the ears than white noise). It's not great for my hearing, but does wonders for my sanity/concentration.

      --
      sig: sauer
    6. Re:Close door by ajlitt · · Score: 2, Informative

      I bought a pair of Etymotic ER6i IEM earphones four years ago and I still consider it one of the best purchases I've ever made. I got them originally so I could listen to my own music at the gym without having the stuff they play there bleed in. They worked so well that I now use them in my cube or occasionally in noisy environments like our lab.

    7. Re:Close door by DavidR1991 · · Score: 1

      Amen to that. Developing even the simplest things (and trying to keep each piece in your head as you get it down on paper / in code) can be mind bogglingly frustrating when there's lots of noise. Couple it with working informally in the vicinity of a load of computer illiterate morons, and you have my 100% guaranteed recipe for insanity :)

    8. Re:Close door by Anonymous Coward · · Score: 0

      get some 30 decibel or close to that ear protection from a shooting range. it used to work great when i had to be in the office near my boss and not out in the feild.

      they'll run ya$20-$30 or so.

    9. Re:Close door by blhack · · Score: 1

      Get yourself a set of these

      They're headphones designed for drummers and will cancel out almost ALL noise in your office except for some music if you want it.
      You might look like a dork, but you will have your sanity.

      --
      NewslilySocial News. No lolcats allowed.
    10. Re:Close door by Anonymous Coward · · Score: 0

      I'm in the same situation as you. I share a quad cube with three other people and am constantly being interrupted... even when they aren't shooting the bull sometimes they're working on things with other people and it gets pretty loud. I've considered leaving my job just because of this reason!

    11. Re:Close door by Anonymous Coward · · Score: 1, Informative

      Don't know if it's better than pink noise, but definitely nicer: ChatterBlocker (Caution: nasty popup when you close the tab)

    12. Re:Close door by Anonymous Coward · · Score: 0

      Force yourself to talk to women continuously and then you will learn to shut your ears completely ... helped me a lot ...am serious ... hopefully I can find a scientific reason behind it someday...

    13. Re:Close door by Aceticon · · Score: 1

      I work in the trading floor in an investment bank. To be able to be productive when doing design and coding I had to get active noise reduction headphones - works like a charm: the other day I even managed to get into "flow" mode.

    14. Re:Close door by Critical+Facilities · · Score: 1

      I've actually tried looping a WAV file of pink noise [wikipedia.org] (easier on the ears than white noise)

      I have a suggestion to this end. I had a similar problem where several offices were consolidated into my office, so I went from having an office with a door, to a shared workspace with 6 cubes. I couldn't concentrate on complex procedures with 5 other people talking, phones ringing etc, so I started Googling for white noise generators and found iSerenity.com.

      It sounded like a silly idea at first, but I have to tell you, you'd be surprised how your ears get "trained" on the various sounds and you'll be able to ignore the other noises. Once you get used to one sound, it might not work as well, so just pick another 'environment' from the site, worked for me.

  20. i have the same thing at my job at burger king by Anonymous Coward · · Score: 0

    but the computer assholes from the company next door always scream at me to 'speed it up bitch im on my lunch break'

  21. Re:From the Redundency Department of Redundency by mrbene · · Score: 0, Redundant

    Oh, now *that* is funny. My comment about the articles redundancy is modded down for being redundant.

  22. WTF by Godji · · Score: 5, Funny

    he gets a big glass of water, takes everything off

    I stopped reading right there.

    1. Re:WTF by Anonymous Coward · · Score: 2, Funny

      I put on my robe and wizard hat...

    2. Re:WTF by Anonymous Coward · · Score: 1, Funny

      ... I get my robe and wizard hat

  23. Wife? by WebmasterNeal · · Score: 1

    "When I do the planning and specifications, I go on lots of walks, take lots of time with my wife"

    I enjoyed that comment, almost like we don't bother spending time with our wife's the other 90% of the time.

    --
    "During My Service In The United States Congress, I Took The Initiative In Creating The Internet." -Al Gore
    1. Re:Wife? by Hognoxious · · Score: 1

      Time with our wife's what? And more to the point, polygamy wasn't in the vows I made with her.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  24. I am a C# programmer by Anonymous Coward · · Score: 2, Funny

    My ritual consists of watching this and then killing a goat

    1. Re:I am a C# programmer by Anonymous Coward · · Score: 0

      My ritual consists of watching this and then seeing a goatse

      Fix that for you.

  25. Because... by Anonymous Coward · · Score: 0

    the world is full of people with OCD.

  26. Strategy vs tactics by Colin+Smith · · Score: 2, Insightful

    You can run just as hard and fast as you like. Doesn't do you much good if it's in the wrong direction.

     

    --
    Deleted
  27. Same album repeatedly by SoundGuyNoise · · Score: 1

    I spent a good year of college programming only listening to X-Cops: You Have The Right To Remain Silent and Bloody Kisses.

    Maybe it just replaced distracting noises with familiarity instead?

    --
    You never expect irony, do you?
    Want to be a professional wrestler? Visit www.iyfwrestling.com
    @iyfwrestling
  28. I'm with you by CFD339 · · Score: 1

    I have a set of colored find point pens I use to draw out E.R. diagrams and then pseudocode on pads long before I sit at a keyboard.

    --
    The problem with quotes on the internet, is that nobody bothers to check their veracity. -- Abraham Lincoln
  29. When I find a bug by lhoguin · · Score: 2, Interesting

    My only ritual is that if I find a bug or a problem that I can't resolve in less than 5 minutes I take a few hours off. After a while I get back to it and am usually able to resolve it without much trouble.

    1. Re:When I find a bug by TheRaven64 · · Score: 1

      When I find a bug, I publicly blame it on someone else. This guarantees that, within five minutes, I will find the bit of my code which caused it in the first place.

      --
      I am TheRaven on Soylent News
    2. Re:When I find a bug by EkriirkE · · Score: 1

      Reverse psychology on Murphy's law?

      --
      from 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
      to 45 2F 6E 40 3C DF 10 71 4E 41 DF AA 25 7D 31 3F
    3. Re:When I find a bug by Anonymous Coward · · Score: 0

      When I find a bug, I publicly blame it on someone else. This guarantees that, within five minutes, I will find the bit of my code which caused it in the first place.

      YOU are THE Albert fucking Einstein of coders, and need to subscribe to your newsletter

    4. Re:When I find a bug by Jane_Dozey · · Score: 1

      You Sir, have just improved my programming productivity ten fold!

      --
      Silly rabbit
  30. Re:From the Redundency Department of Redundency by CrashandDie · · Score: 1

    Don't link to the same story as the one you're posting on, don't have the same story open in multiple tabs, GET OUT OF YOUR INFINITE LOOP!

  31. blocking out everything else by JayDaddy · · Score: 1

    After the planning, thinking, doing nothing, etc. I think my ritual would be comparable to everyone else's. Put music player on random and slip on the headphones. Close ALL communications applications. Expand IDE across two monitors Turn off the blackberry Close the door Code away Then if anyone comes in and bothers me I give them dirty looks and short answers until they leave.

  32. Why Programming Rituals Work by HTH+NE1 · · Score: 1

    Now, let's have no more denigrating the practice of waving a dead chicken over the computer.

    --
    Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
  33. my ritual by pak9rabid · · Score: 0, Troll

    I appease the Java gods by first sacrificing a virgin.

    1. Re:my ritual by Anonymous Coward · · Score: 0

      Yourself?

  34. Re: programming is definitely visual by Razalhague · · Score: 1

    I have to disagree with you there, and I'll submit that you're doing it wrong if you're not visualizing what you're coding.

    He isn't doing anything wrong, he just isn't a visual person, and coding isn't inherently visual.

    I'm a highly visual person, and as a result I'm really good at simplifying complex spaghetti written by people like you who can't see the obvious simple(r) solution.

    No, you can turn the code into a form where you can understand it better. It isn't necessarily simpler or better, just put in a different form. What you call "complex spaghetti" can be plain as day to people who think differently, and your "simplified" code can be as difficult for them to read as the "complex spaghetti" is to you.

  35. Re: programming is definitely visual by Anonymous Coward · · Score: 0

    No, you can turn the code into a form where you can understand it better. It isn't necessarily simpler or better, just put in a different form. What you call "complex spaghetti" can be plain as day to people who think differently, and your "simplified" code can be as difficult for them to read as the "complex spaghetti" is to you.

    Sorry, but you're dead wrong. I can take code that not even the original developer(s) could understand and turn it into something easy enough for a PHB or QA dev to grok by skimming.

    It's a fact that complex code is harder to maintain, and it has a higher bug density. There are plenty of tools out there to analyze the level of complexity in your code, and they all fully agree with me here.

    Get some experience, kid.

  36. Programming is religious because... by kiwisteve · · Score: 5, Insightful

    Hell is other peoples code.

    1. Re:Programming is religious because... by Anonymous Coward · · Score: 0

      Hell is other peoples code.

      Uncommented source code = Job security :-)

  37. Re: programming is definitely visual by Anonymous Coward · · Score: 0

    Visualize. Visualize. Visualize.

    You could have done that with a loop.

  38. Aha! by kiwisteve · · Score: 2, Funny

    This explains why Australians cannot write decent Java code, they can't find a virgin.

    1. Re:Aha! by socsoc · · Score: 1

      Decent Java code? Sounds mythical to me...

    2. Re:Aha! by kiwisteve · · Score: 1

      Yes, spot the oxymoron.

    3. Re:Aha! by Anonymous Coward · · Score: 0

      I can see two: "decent java code" and "Australian virgin". Did I miss any?

  39. Essays/reports vs code by Snorfalorpagus · · Score: 1

    Over the last few years I've found that I can't write reports (i.e., those requiring full-English sentences) when listening to music with lyrics. I'm fine with some post-rock (Stars Of The Lid being a personal favourite), but if the song has words I get distracted very quickly. This doesn't seem to happen when writing codeâ"I can listen to whatever I want, and still perform well (at least by my standards). I'm not sure how to explain this, other than that my brain thinks in stepwise procedure, rather than sentences.

  40. Clear desk, clear mind. by Evil+Pete · · Score: 1

    I am a messy individual at times. I can leave junk strewn around and know where everything is exactly. However, this seems to incur some computational or cognitive load ... I think it is probably a copout to avoid thinking about other things. Anyway, if I make my environment clear and uncluttered, screen too, then I am more relaxed and can think more clearly.

    I should also say something here about Network Admins and the need to sacrifice chickens to the God of Problem Solving but it is probably obvious to all.

    --
    Bitter and proud of it.
  41. So true... by John+Sokol · · Score: 1

    That's true for some coding, peace and getting in to the zone with the meditation helps a lot.
    But some coding, usually when working with other people code or debugging just required brute force beating your head against the monitor till bloody. I just can't to the Jolt, or now days Red Bull thing anymore.
    I an getting too old for that sh*t.

    That music isn't half bad,http://www.myspace.com/explosionsinthesky

      I usually do old school electrofunk or techno, MIA, Philip Glass, Vangelis, Aphex Twins.

    --
    I am always doing that which I can not do, in order that I may learn how to do it. - Pablo Picasso
  42. Why programming rituals work ... short answer. by hey! · · Score: 4, Funny

    It's magic.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  43. Good material for this new Programming Course by Jonathan+Walther · · Score: 2, Interesting

    I'm developing a course for aspiring computer programmers. I've been at it on and off for the past year. The reading list is done, the course outline and coverage isn't entirely done but is shaping up. This sounds like material that should be covered. Does anyone have a good writeup or recommended book for inclusion in the course? The Programmers Stone guys sort of cover this material.

    You can see the course here:

    From Beginner to Master A Computer Programmer's Reading Course So, you want to be a computer programmer?

    --
    It isn't true unless it makes you laugh, but you don't understand it until it makes you weep.
    1. Re:Good material for this new Programming Course by Anonymous Coward · · Score: 0

      how to find local hookers?

    2. Re:Good material for this new Programming Course by smallfries · · Score: 1

      A lot of the books that you recommend are good, but have nothing to do with programming. I think you should change the word "essential" to stop people getting the wrong idea about how relevant most of the fiction is.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    3. Re:Good material for this new Programming Course by Jonathan+Walther · · Score: 1

      A lot references and jokes in programming circles point back to those books. They do add a dimension to the programming experience. For instance, "Wintermute" comes from Neuromancer. Lots of stuff is quoted from Alice in Wonderland. "fnord" comes from Illuminatus Trilogy.

      --
      It isn't true unless it makes you laugh, but you don't understand it until it makes you weep.
    4. Re:Good material for this new Programming Course by smallfries · · Score: 1

      Sure, a lot of references amongst programmers point to these books - but that doesn't mean that these books provide pointers towards programming. I'm sure that the difference between bijection and implication is something that needs to be learnt during a programming course... :)

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    5. Re:Good material for this new Programming Course by Anonymous Coward · · Score: 0

      It is about getting your mind to vibrate on the right frequency. Live it, breathe it, etc. When you get in the mindset, your communication with OTHER programmers becomes orders of magnitude more significant. No course can teach you everything you need to know; so you also have to breathe in the culture of programming so you can dip into the well and draw up as much water as you need anytime you need it.

  44. The key is really preventing useless distractions by ThousandStars · · Score: 2, Insightful
    What he's really describing is how he gets away from distractions and puts himself in an environment conducive to working. Regarding the former, I wrote about and linked to many of the essays and some of the research dealing with distraction problems in this post and talk about some of my environmental cues, including equipment, in this one.

    When you can prevent useless distractions, then you're really ready to go. Of course, I'm posting this on /., which shows me to be something of a hypocrite, but I think the point still a useful one.

  45. Take a shower by notthepainter · · Score: 3, Interesting

    I'm serious. I find that I solve many of my hardest problems in the shower. Now that I telecommute 100% of the time I'll often just take one, say in the middle of the afternoon, to jump start the solution!

    Obviously the shower has nothing to do with the situation, it is the "stepping back" that is important, so find something that works for you, and do it.

    1. Re:Take a shower by Anonymous Coward · · Score: 0

      I fully agree. Place is irrelevant. I notice often while coding that I'm about to solve some particular problem in a inefficient or hackish way and stop. It's like daydreaming to use rest of the day just to design the correct and beatiful solution in your head. Small joys of programming when you realise that this is how it must be done instead for example in grocery store. Works best for hobby projects where there is no strict deadlines.

    2. Re:Take a shower by Matje · · Score: 0

      Smoking is a very good way to create mandatory step-back moments. Very effective, but unfortunately not that great for your health :)

    3. Re:Take a shower by shiftless · · Score: 1

      I can back this up. Showering is a good way to distract your conscious mind and let your subconscious work through a problem. Another thing that works well for me is pacing.

    4. Re:Take a shower by TheRaven64 · · Score: 1

      Another 'me too' post here. Take a shower, go for a walk around the park, read some light fiction, but do something completely unrelated to the task that doesn't take much mental effort. Your subconscious will keep working on the problem, and when you get back it often has a solution.

      On a related note, actively not doing any work for a few days does wonders for your productivity. Take a couple of days and don't do anything productive in them. Any time you are tempted to just do a little hacking, shut down the computer and read a book, watch a film, or go outside. At the end of the time, you'll find that you focus on your work really easily. Do this every couple of weeks if you are working on a long project and you'll find that you achieve more than if you work through those two days.

      --
      I am TheRaven on Soylent News
    5. Re:Take a shower by multipartmixed · · Score: 1

      > I find that I solve many of my hardest problems in the shower.

      Ah. Uh-huh.

      --

      Do daemons dream of electric sleep()?
  46. Programming is a focused activity by recharged95 · · Score: 1
    You're asking something (a computer) to do something (a task) with no feedback unless you ask it (logging), and no consideration of external constraints (memory and latency). And you're supplying it with commands such that the computer is not operating in your context: that it has no knowledge of your context (domain needs) since every computer operates the same way (i.e. logically).

    You need to get into a state of mind to satisfy all those needs to communicate (program) to a computer, hence a ritual makes you "focus" yourself into that state of mind.

  47. Saw the HARO on this by TibbonZero · · Score: 1

    I saw a HARO request on this 11 days ago asking for, "Query:I'm looking for programmers who are willing to share any rituals or habits they have that help them code better -- whether by improving concentration or warding off buggy code or what have you. Email responses please."

    That being said, not to dismiss the article, they were intentionally looking online for people that fit this category. Of course anything can be found online, and this leads toward a self-selecting population.

    Just saying..

    --
    Tibbon
    tibbon.com
    1. Re:Saw the HARO on this by Anonymous Coward · · Score: 0

      Yup. I took up smoking...it works to give you time to step back..but damn I hate the addiction.

  48. rituals work because they are done by theeddie55 · · Score: 1

    programming rituals work because if they didn't they wouldn't be rituals, because people just wouldn't do them.

  49. What? by Anonymous Coward · · Score: 0

    Sorry, what? Been programming for a long time now, and by most measures I'm pretty good at it. And I have no idea what this "programming ritual" concept is - the closest I come is to put on music to fit my mood before starting, so as to drown out the background noise. but that's only if there's sufficient background noise to merit it...

  50. I share a similar characteristic by ray-solomon · · Score: 1

    I will do nothing for a whole day and just sit back, ponder ideas, relax to let my subconscious work out the logic.
    This has always helped me put massive complex logic into complete perspective.
    I can hold quite a bit in my head which allows me to do the programming very quickly.

    Sometimes when I need to concentrate, I will require to work nights so I can have complete silence.

    di.fm has helped a lot.

  51. Posting to undo accidental moderation by inasity_rules · · Score: 1

    We really need an undo for moderation. Oh, well, I guess I can now post in this discussion.

    --
    I have determined that my sig is indeterminate.
  52. Re:From the Redundency Department of Redundency by linhares · · Score: 1

    stack overflow motherfucker! :^)

  53. Re: programming is definitely visual by aoteoroa · · Score: 1

    Simplifying code is also a good way to overcome 'writers block' In any large project there will always be a problem that has me stumped for a while...when this happens I like to go back over code I have already written and see if I can simplify it, and add comments that make it understandable to non programmers.

  54. Re:From the Redundency Department of Redundency by MadKeithV · · Score: 1

    I thought it was the Department of Redundancy Department? Or is that someone else?

  55. Re: programming is definitely visual by Razalhague · · Score: 1

    Sorry, but you're dead wrong. I can take code that not even the original developer(s) could understand and turn it into something easy enough for a PHB or QA dev to grok by skimming.

    It's a fact that complex code is harder to maintain, and it has a higher bug density. There are plenty of tools out there to analyze the level of complexity in your code, and they all fully agree with me here.

    Get some experience, kid.

    Well, good for you then. However, you being a highly visual person and a good coder does not mean that visual people are better coders and non-visual people only produce complex spaghetti, or that visualization is an integral part of good coding (which seems to be your basic assumption).

  56. Thinking, and moreso drawing is overrated by Eudial · · Score: 2, Interesting

    I prefer to work with intuitive models. My "ritual" is as follows:

    1. Ponder the problem. Not too hard. Just get a feel for how to solve it.
    2. Prototype a solution in some readable language (python?).
    3a. If the prototype is horribly broken, scrap it and go back to step 2.
    3b. Otherwise, create final solution from lessons learned from prototyping.

    A lot of people draw diagrams and flow charts and stuff. But that is stupid and too abstracted from the computer to be all that useful. By making a prototype, you're effectively making an interactive diagram/flowchart. It takes about the same time, and any problems will be immediately obvious.

    --
    GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
  57. Well my ritual is simple by Anonymous Coward · · Score: 0

    I usually scratch my ass a few times, then boot DOS; launch edit and go wild.

    Most of my code turned out like shit lately though.

  58. office door is shut? by rgviza · · Score: 1

    There are developers who have offices?

    That being said, I solve most of my difficult challenges while taking a dump. I can hammer on a difficult problem for several hours, then solve it in 2 minutes on the porcelain. There's something about getting away from the screen for a few minutes.

    Whether it's realizing what is wrong with my approach, or coming up with an entirely new one, I do my best work inside my head. Actually getting the code into the file and debugging it is the easy part.

    Managers: Don't bust your developers balls because they take frequent breaks.

    --
    Don't kid yourself. It's the size of the regexp AND how you use it that counts.
  59. He obviously doesn't work in the real world by Kintar1900 · · Score: 2, Insightful

    The office door is shut,...

    I've worked in software development for going on 15 years. I've never found an employer who realized giving developers rooms to themselves and a door would improve productivity. :P

  60. Re:XKCD does not need to be referenced everywhere by DaVince21 · · Score: 1

    Can't realize that something sucks when, in reality, it rocks.

    --
    I am not devoid of humor.
  61. Praise Allah to squish the bugs by Get+Behind+the+Mule · · Score: 1

    Years ago we had one of those bugs that was driving us around the bend, you all know how those are, so once when we were trying a fix, I started chanting "Praise Allah", for no other reason except for sheer desperation. And I kid you not, the fix worked on that very run.

    Ever since then, we always remembered to praise Allah whenever we were struggling with a sticky problem. I live in Germany, so what we were actually saying was "lobet Allah", but over time we found that "Allahu Akhbar" works much better, especially when accompanied by gestures of supplication.

    Occasionally we found that a difficult problem persisted for a while, until we realized that we had forgotten to praise Allah. After that, the issue was quickly resolved.

    Don't try to give me some kind of egg-headed explanation for all this, this was just simply supernatural forces at work, that's all there is to it.

    1. Re:Praise Allah to squish the bugs by Anonymous Coward · · Score: 0

      Let me guess, your code controls a bomb.

  62. That's when the loud typing comes in handy... by GameboyRMH · · Score: 1

    When I'm in the "thinking stage" (and that's the only thing I do before programming - none of this nonsense you see in the article) I spend some time when I'm taking a break to post on Slashdot (or some other message board, but Slashdot is best as the posts tend to be longer) and type as loud and fast as I can. The whole office thinks I'm working furiously and that they shouldn't interrupt me, then I can go back to thinking undisturbed.

    If you sit far from the project manager/boss, bring a buckling-spring keyboard to work, those will cover a good 600ft. radius in a quiet office. Plus, if you get into an argument it will feel like you're using a heavy-caliber fully-automatic machine gun of words on your opponent.

    --
    "When information is power, privacy is freedom" - Jah-Wren Ryel
  63. Or just put on Neil Young Live. by dsmall · · Score: 1

    Sure, I "get" the rational answers about clearing your mind and letting your subconscious work on problems and stuff. Then there those other problems. When the network is down for no discernible reason. When it's a "bad day".

    Here's a very weird bit of magic to know about. I know how weird this is, but it works. Oh, ye Gods, does it work! I have come to absolutely hate doing it, but, it just [dammit] works.

    You won't believe it until you try it, and then you, too, will (a) hate it and (b) see it work.

    Get Neil Young's "Live Rust" album. It's live, so studio engineers haven't fixed up all the mistakes.

    Instead of hitting notes, Neil... shotguns notes, all around them. For some awful reason he writes songs on the very wobbling top edge of his vocal range. He's just one of those people who should be banned from singing the songs he writes.

    The lyrics are really depressing. Cortez is massacring the Mayans. We got Mother Nature on the run. It's better to burn out than to fade away. And his favorite song topic, band people dying of overdoses: Every junkie's like a setting sun. Heard that he died, out on a mainline.

    (Neil has not made a 2+2 = ? connection yet. If I were in his band and I had to listen to him every night, both (1) heroin and (2) death would look pretty good.)

    I discovered this by accident while coding keyboard and mouse drivers. They were extremely hard. I was desperate. I saw one of those skiier T-shirts that says, "No Pain, No Gain", and I logically inverted it to "If Pain, Gain". I looked through my record albums to find True Pain and there was Neil. Put it on side 3 Repeat and started coding.

    Six plus hours and 1,500 lines of 68000 assembly later, I was done coding. I finally ran the AS68 assembler on it, and it said back to me: 0 Errors.

    YouHaveGotToBeKiddingMeTheresAlwaysErrors. TyposIfNothingElse.

    Floating in a sea of shocked surprise, I linked it and ran it, and my God, the keyboard and mouse code worked the first time.

    This does not happen. As Luke Skywalker put it, "That's Impossible!" I've been terrified to touch that code.

    The Neil effect has continued to work.

    Last time I used Neil was on a laptop that WinXP would not install onto. Tried 3 times, the install hung each time. The guy's son Anthony said, "Dave, why aren't you playing Neil Young?" Good point. I put it on. I explained this to the guy. He looked at me like I was insane. I said, "You don't believe it right now. That's okay. You'll see it. Then you'll believe." With Neil wailing away about his first cigarette, and changing absolutely nothing, the XP install went without a hitch.

    All I can say is I tripped over it by accident, I don't know how it works, but damn!, it does work. And you'll start to dislike that album as much as I do. Maybe the cost is listening to something you really don't care for. (I should try rap!)

    I'm not making this up.

      -- Dave Small

  64. juice me by cstacy · · Score: 1

    It is by the fizz of Diet Cherry Coke that thoughts acquire speed, the lips acquire a stain the stain becomes a warning it is by will alone I set my mind in motion It is by will alone I set my mind in motion...

  65. Opposite of what's best for career by Anonymous Coward · · Score: 0

    The best way to progress in real companies is to start on every assignment immediately without any thought or direction. Carry on until you get into a mess (which you will), then get another task assigned to you (by deniably pretending to management that you're done). Rince and repeat.

    When management start asking for things to be finished, calmly explain what remains to be done without showing any guilt (you were being deniable earlier on, right)? Progress each one only when ordered to, in progressively smaller steps, like in zeno's paradox. Offer to keep track of the "status" of all your tasks.

    You're delivering on everything that was asked for, so you look productive. You're managing your own stuff so you look like career material. Oh and soon enough your half-done rubbish will get passed down to junior staff as you gradually ascend into management.

    I don't see where "thinking" fits into this. Seems quite irrelevent.

    Seriously, though, geeks are half to blame for this - they forced engineering out of software development and now whine when subjected to management practices designed for airport bar tenders.

  66. Visual Thinking by geek2k5 · · Score: 1

    Doing diagrams and such might be stupid given your style, but there are those of us that think visually. (My initial college training was in architectural design where thinking visually is essential.)

    When I'm working on something that is fairly complex, I sometimes resort to various graphic techniques for the really hairy parts. Nothing pretty or usable as documentation though.

    I then convert it into pseudo-code as kind of a front end logic check. If the flow still works, I know I'm on he right track.

    At this point it is a matter of coding and testing, after adding in all the boiler plate code needed to support the problem solving part.

    Of course, there are also times when I go straight to the pseudo-code, skipping the visual design side of things. This happens when pondering the problem comes up with a variety of solutions.

  67. Where do you still find those? by jeko · · Score: 1

    I cried buckets when my old IBM keyboard finally died after having been schlepped all over the world for more than a decade and a half. I've been limping by on Microsoft Natural keyboard ever since. Where did you find an old honest-to-God-non-bubble-wrap keyboard?

    --
    He put his boots up on the table and made a face. "The sig," he smirked. "You can waste your life in search of the sig."
    1. Re:Where do you still find those? by Magdalene · · Score: 1

      depends where you are. Check out the used computer warehouses in your area, they are sure to find one in the back that is gathering dust. All you need is an adapter, which they should also have. If you have trouble finding one give me a shout, I have about 3 in my dead tech closet with the commodore 64 ;).

      -m

      --
      -Magdalene --"there are 10 types of people in the world, those who read binary, and those who don't"
    2. Re:Where do you still find those? by GameboyRMH · · Score: 1

      Garage sales and flea markets. The ones I have are old hand-me-downs. Oddly enough I'm using one on a bleeding edge gaming system right now (with a "big old keyboard port" (forgot the name) to PS/2 adapter), while I decide which wireless keyboard/mouse combo to buy.

      I found this place that specializes in buckling spring keyboards but they're not cheap:

      http://www.clickykeyboards.com/

      I actually don't mind a good membrane keyboard, these days as long as you avoid the dirt cheap and/or slim ones you usually won't end up with one that feels like you're typing on rotten fruit.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
  68. I know, the guy makes me sick with jealousy too. by jeko · · Score: 1

    Why can't I be brilliant enough to make an awesome living by POSTING STICK FIGURES TO THE INTERNET?!

    --
    He put his boots up on the table and made a face. "The sig," he smirked. "You can waste your life in search of the sig."