I stumbled upon this article today (notice the date too!): http://www.sacbusiness.org/cs/hesterj/HACKER.htm
I found it quite funny to read, and I recognize certain situations quite well.
I thought I'd share it with you guys.

I think it is especially appropriate to assembly programmers in general. We tend to be more of the 'system maker' type, as we are more likely to write library functions, drivers, kernels and that sort of thing. Building blocks rather than complete products.

I recognize a change I went through as a programmer. In the early days I really loved to just write some basic functionality and tweak it to perfection. Just 'hacking', basically.
But over time I became more of the 'professional programmer' they mentioned, where I design and build applications, and get joy out of completing them. And I also document things :)
Posted on 2010-08-13 06:39:20 by Scali
Documentation... that theoretical thing that nobody really reads except maybe the programmers.
Posted on 2010-08-13 10:23:52 by SpooK

Documentation... that theoretical thing that nobody really reads except maybe the programmers.


You mean the comments in the source code, right?  :lol:
Posted on 2010-08-13 23:04:45 by p1ranha
Man, this reads like it was written by management as an attempt to document and recognize problem students. "But the compulsive programmerís pride and elation are very brief.  His success consists of his having shown the computer who its master is" and "His apparently devoted efforts to improve and promote his own creation are really an assault on it, an assault whose only consequence can be to renew his struggle with the computer" could not possibly have been written by someone who actually understands the joy of programming.
Posted on 2010-08-14 16:35:41 by commodorejohn

You mean the comments in the source code, right?  :lol:


Well, if you say it like that... tools such as Javadoc and Doxygen are pretty funny... After all, they extract the documentation from comments in the source code :)
And I use this method of documentation a lot :)
Posted on 2010-08-16 08:14:47 by Scali
Completing Projects  :shock: :shock: :shock: :shock:

Who the fark does that?
Posted on 2010-08-16 14:08:15 by JimmyClif
I had this discussion with my lead 2D artist just yesterday - nothing that you create is ever truly complete.
It's like the Golden Mean, the state of completion exists, but you can never quite reach it :P

Posted on 2010-08-16 19:07:26 by Homer
Programming projects are never completed, only abandoned... there's always something that can be improved, optimized or generally done better.
Posted on 2010-08-16 19:29:21 by SpooK
On those rare occasions it's rather hard to simply let go. Usually that is when feature creep slips in - "just one more thing...", "wouldn't it be cool if...".  8)
I've had to detach from projects where I had invested serious time and effort,  near and dear to me so to speak, as my involvement was way past time and could be put to better use elsewhere.
I guess sometimes - as in real life - you just gotta give up the ghost  :shock:
Posted on 2010-08-16 20:59:33 by p1ranha

I had this discussion with my lead 2D artist just yesterday - nothing that you create is ever truly complete.
It's like the Golden Mean, the state of completion exists, but you can never quite reach it :P



Programming projects are never completed, only abandoned... there's always something that can be improved, optimized or generally done better.


That has always been my rule to live by when optimizing code.
As soon as you start thinking "Hmm, okay, I think it can't get any better than this", you stop looking for improvements, and as such you will never find them. When you're convinced that it can always be done better, eventually you will.

There's a nice story on that, I think from Michael Abrash. Not sure if I tell it right, but this is more or less the gist:
He was writing a 3d rasterizer (I think it was for Quake, maybe Doom), and he got stuck at an inner loop with 6 instructions. So he discussed with one of his colleagues. The colleague later told him "I think I found a way to make it 5 instructions". But he didn't say how he did that. So Abrash started looking for a way to get it down to 5 instructions himself. And he found a way.
The next day he asked "So, how did you get it down to 5 instructions?" The guy said "Oh, nevermind, I found out that my code didn't work properly".
Hum, but Abrash DID find one that worked. And the main reason why he found it was because he was convinced that it existed. He didn't stop looking until he found it.

My 3D renderers have been in an ongoing state of flux for more than 10 years now. They're essentially just a plaything. A basis to allow me to do things with graphics quickly. So when I see some kind of new technique or effect, I can just grab the code, and add it. That's the main raison d'etre for that code. To allow me to experiment with new rendering techniques and effects, to teach myself, basically.
Posted on 2010-08-17 02:17:33 by Scali