Programming is best when it is play

Rosalyn Hunter writes:
As we follow the zig-zaggy quest of me trying to learn to program, I discover the next significant step, “Interest”. I started with a goal: to learn to program. Next I came up with a plan: Learn Python by writing a program called PT (period tracker) but I lacked the last bit, interest.

You see, there was very little that period tracker did that a calendar didn’t. Spending hours to make a program to do work that I could do in five minutes with a calendar and a pencil seemed like a waste of effort.

Now don’t take this the wrong way. [...] I’m pretty accomplished at wasting time, but I can’t abide doing work “for fun” that bores me.

This gets to the heart of free software programming. People don’t program just because they want to learn. They don’t even program because they have a need. People program because they are interested in getting something done, and they are willing to do it themselves. Learning to program is time consuming and requires effort, but the effort means nothing if you’re having fun, just ask anyone playing racquetball.
Programming is best when it is play.



Free 3D games with raytracing engine

Two nice 3D games, with graphics engine that renders images via raytracing - done by CPU. Two titles there, Let there be Light and Outbound:


Twilight of the GPU - back to CPU rendering

Tim Sweeney, co-founder of Epic Games and the brains behind every iteration of the widely licensed Unreal series of 3D game engines, [...] predicted that rendering would eventually return to the CPU. Take a 1999 interview with Gamespy, for instance, in which he lays out the future timeline for the development of 3D game rendering that has turned out to be remarkably prescient in hindsight:

2006-7: CPU's become so fast and powerful that 3D hardware will be only marginally beneficial for rendering, relative to the limits of the human visual system, therefore 3D chips will likely be deemed a waste of silicon (and more expensive bus plumbing), so the world will transition back to software-driven rendering. And, at this point, there will be a new renaissance in non-traditional architectures such as voxel rendering and REYES-style microfacets, enabled by the generality of CPU's driving the rendering process. If this is a case, then the 3D hardware revolution sparked by 3dfx in 1997 will prove to only be a 10-year hiatus from the natural evolution of CPU-driven rendering.

Sweeney was off by at least two years, but otherwise it appears more and more likely that he'll turn out to be correct about the eventual return of software rendering and the death of the GPU as a fixed-function coprocessor.



Free and open source system first, usability and ease of use next

PJ from Groklaw commented on the Ubuntu Bug #269656:

[In reply to Mark Shuttleworth]
I acknowledge your amazing skill and energy at mobilizing and spreading acceptance of GNU/Linux on the desktop. And part of that skill is your ability to figure out what makes it accessible to grannie too.
The only caution I feel is this: the first goal is to provide a free and open source system. After that comes usability, ease of use, convenience, protection of users, etc.

To which Mark replied:

Yes, I agree. It's that feeling of being part of something profoundly
different, and liberating, that makes us tick. And the "make users life
easier" theme is a very slippery slope, that can be used to justify the
whole shebang - Skype, Flash, you name it. Walking the fine line between
selling out and actively furthering the cause of free software through
some pragmatism is possibly the toughest thing we do [...]

Now that's something, really really something. PJ just summed it up so very nicely. For all the whiners that are uncomfortable with Linux there is an answer: "the first goal is to provide a free and open source system". Even if some Linux distro is not as polished as one might want it to be, it is a free system, dammit! It it wasn't you wouldn't have a thing to complain about!!! And if there's something to complain, then it's most probably the famous "itch to scratch". Then better yet, instead of complaining just scratch it, *DO* something to improve the situation. Submit a bug report, a translation, a patch if you're skilled enough... Act, don't complain. Do as others do: cooperate.

Then again, if you still only want to complain, mind this: "talk is cheap". And if you insist on complaining, you're most probably a green, ugly, internet troll - move on somewhere else.


Why the Skilled Quit First

The reason that skilled employees quit, however, is a bit more complicated. In virtually every job, there is a peak in the overall value (the ratio of productivity to cost) that an employee brings to his company. I call this the Value Apex.

On the first minute of the first day, an employee’s value is effectively zero. As that employee becomes acquainted with his new environment and begins to apply his skills and past experiences, his value quickly grows. This growth continues exponentially while the employee masters the business domain and shares his ideas with coworkers and management.

However, once an employee shares all of his external knowledge, learns all that there is to know about the business, and applies all of his past experiences, the growth stops. That employee, in that particular job, has become all that he can be. He has reached the value apex.