Monthly Archives: March 2011

Pixel, Texel, Voxel

I learned a few new terms today for graphics programming. Pixel is something everyone knows of course but Texel and Voxel are less known.

  • A pixel is the single smallest point addressable on your screen.
  • A texel is the smallest unit of whatever it is that you are drawing to the screen. It’s pixels are inferred based upon many factors (for example, scaling).
  • A voxel is the smallest unit of 3D space that you are drawing. All the voxels being drawn in a 3D object are inferred based upon relation to other voxels (you specify points to define a volume).

Don’t Go It Alone

Are you the sort of software developer that holes up in their office and rarely collaborates with others on work until your ready to cross the finish line? Or are you the sort of developer who actively involves others in your process?

Many software developers have the notion that if they work on something in isolation, they have the freedom and flexibility to define the process. We devs tend to feel like our way is the best way; You can see it when we inherit someone elses code, as our WTF-per-minute count spikes. However, if you’re always working under that model, you’re really missing out on your full potential. In my experience, here’s what you may be missing:

The Gold Plating Leash Handler

We love building castles in the clouds. It can sometimes be difficult to apply the YAGNI (You ain’t gonna need it) principal judiciously. It’s easy to be tempted to write code that is not necessary right now, because we’re trained to think about how our software might be used in the future. We love to refactor the hell out of code until it’s absoloutely perfect. We know that isn’t ever going to be true though. You need someone who can see the forest through the trees, or at least act as a reminder.

Two Eyes Are Better Than One

I would hope this one is obvious by now, but you must have a code review. By the very definition of humanity, we are imperfect, and therefor not having a your code reviewed is basically accepting that your code will fail to work properly at least some percentage of the time. Also, if you are humble and accept the fact that others will indeed have better ideas and perspectives (or at the very least, different perspectives than yours), you will be cognizant of the value others can add. In fact, I’d go so far as to say that there is a hard limit on the amount you can improve as a developer without outside perspectives and ideas.

The Squelch Filter

The stakeholder is always going to try and squeeze “just one more” feature/story in. The business is always going to wish you’d work faster, and for longer hours. You need someone to hold off the barrage of work that will come your way, the meetings, the last minute tasks, etc. You need someone to sift through the pile of work, pick out and prioritize it, and interface with you and the stakeholder in such a way as to maximize your productivity without exceeding the means that you are capable of.

In Summary

Working alone is fantastic. You wield complete control over the direction of your development process. But in the vacuum of your kingdom, you miss out on your fellow developers insights and knowledge assets. Don’t go it alone.