<i>...if you add up the number of hours that I've spent in conversation with editors, compilers and debuggers over the years...</i><p>I'm afraid to do that. I would probably be shocked by the number, and then would quickly calculate my lifetime rate, which would probably be about 28 cents per hour. This is the thing non-programmers never understand; programming takes <i>a lot of time</i>.<p><i>It's like a drug.</i><p>Great analogy! For me, there's no bigger high than the exact moment of the conclusion of this process:<p>NothingThere + IDidSomething = SomethingThereForTheFirstTimeEver!<p><i>That process, the act of programming is something that I need to do.</i><p>Sometimes I think this is the difficult-to-define missing requirement for software success. Some call it "passion". Some call it "determination". I call it "I can't imagine doing anything else".<p><i>but it has all the components of a 'real' program, input, computation, output.</i><p>Don't forget storage. That was the killer feature that got me hooked. You could write a simple program, store the result (on a disk!), come back later and build upon that result. Before disk storage, computers were toys. After disk storage, they changed the world.<p><i>there is nothing that can't be learned.</i><p>I've never had a tatoo, but if I did, this probably would be it (backward, on my forehead).<p><i>...all you need to be is a little bit better than you were yesterday and to keep doing that for a long time.</i><p>This advice:<p>1. is excellent. Maybe the best you'll ever read here.<p>2. is <i>not</i> intuitive. Most people don't get it. Like compound interest, it's hard to wrap a human brain around it.<p>3. is universal. It applies to almost anything you can do.<p>4. is very difficult to teach. As soon as you think people get it, they don't. They stop measuring their own deltas and resume comparing to perfection. Grrrrr.<p>5. the single most important thing I've ever programmed in business turn-arounds. The best dashboards and report writers I've ever written are time-phased; they clearly show improvement <i>over time</i>, which is almost always more important than any snapshot:<p>Losing + Improvement + Time = Winning<p><i>Beware of that bug though, once it bites you, you'll be hooked for life.</i><p>To this day, whenever I need something for myself and can't find it in 5 minutes, I build it. It may not be the most effective way, but I just can't help myself. There must be a (3)(2)(2) program for people like me.