Learning Modern 3D Graphics Programming

Table of Contents

About this Book
Why Read This Book?
What You Need
Organization of This Book
Conventions used in This Book
Building the Tutorials
I. The Basics
1. Hello, Triangle!
2. Playing with Colors
II. Positioning
3. OpenGL’s Moving Triangle
4. Objects at Rest
5. Objects in Depth
6. Objects in Motion
7. World in Motion
8. Getting Oriented
III. Illumination
9. Lights On
10. Plane Lights
11. Shinies
12. Dynamic Range
13. Lies and Impostors
IV. Texturing
14. Textures are not Pictures
15. Many Images
16. Gamma and Textures
V. Framebuffer
VI. Advanced Lighting
A. History of PC Graphics Hardware
Voodoo Magic
Dynamite Combiners
Vertices and Registers
Programming at Last
Modern Unification
B. Getting Started with OpenGL
Manual Usage

Looks like a great resource for getting into 3D graphics programming.

Designing a Secure REST (Web) API Without OAuth

You want to develop a RESTful web API for developers that is secure to use, but doesn’t require the complexity of OAuth and takes a simple “pass the credentials in the query” approach… or something equally-as-easy for people to use, but it needs to be secure.

You are a smart guy, so you start to think…

ARM Development Suite 5 for Android

ARM Development Studio 5 (DS-5™) Community Edition takes Android native development tools to the next level. Conveniently distributed as plug-in for Eclipse, DS-5 CE completes the serious app developer toolkit with a comprehensive C, C++ and Assembly graphical debugger that builds on the Android Debug Bridge (adb), a software performance profiler and system analyzer, and a complete set of resources to guide you through your development cycle.

via arm.com

I’d check this out if I was doing Android dev right now.

Ubuntu 11.10 Amd64 Vagrant Box

I’ve just created a Vagrant box image for Ubuntu 11.10 Server on AMD64 chipsets. Feel free to use it from here:


Let me know how it works for you. Thanks!

Don’t Settle for Eventual – Scalable Causal Consistency for Wide-Area Storage with COPS

Will we see a lot COPS clones immediately spring up like we saw when the Dynamo paper was published? I don’t know. Eventually consistent systems like Cassandra get you most of what COP has without the risk. Though COPS has a lot of good features. Causal ordering to a programmer is a beautiful property as are the ALPS properties in general. The emphasis on low-latency is a winner too. Thick client libraries are a minus as they reduce adoption rates. Complex client libraries are very difficult to port to other languages. Not being able to deal with write-write conflicts in an equally programmer friendly manner while maintaining scalability for large systems, is unfortunate, but is just part of the reality of a CAP world. You could say using a strongly consistent model in each datacenter could limit the potential size of your system. But, all together it’s interesting and different. Low-latency, geo-distribution, combined with a more intuitive consistency model could be big drivers for adoption for developers, and it’s developers that matter in these sorts of things.

In Body’s Shield Against Cancer, a Culprit in Aging May Lurk

The researchers showed that mice purged of senescent cells could run much longer on a treadmill, had larger fat deposits — fat disappears from the skin as people age, causing wrinkles — and developed cataracts much later. Much the same effect was seen in a second experiment, in which dosing did not start until the mice were middle-aged, except that cataracts that had already formed could not be reversed.

The Dire Consequences of Analytics Gone Wrong – Ruining Kids’ Futures

The results of the plagiarism analysis showed that every single student in the class had cheated. All failed the assignment and initially the school planned to note the offense on each student’s official transcript. Goodbye, good schools! One might think that the school would question whether there were issues with either the software’s analysis or how the results were interpreted. After all, 100% of a group of “A” students with no history of trouble was flagged. The school did not question the results. The parents did, however. After some digging, the findings are quite troubling.

First, the software by default looks for any phrases of three words or more that match between two submitted papers. Each “offense” of a “copied” three-word phrase is tagged. Get tagged too many times, and you’re identified as a cheater. Let’s think about this criteria applied blindly without further thought. Assume students are writing about Tolstoy’s War and Peace. Two students start a sentence with “Tolstoy said that…” or “The meaning of…” or “The book refers to…”. They are now guilty of plagiarism. The software assumes nobody could have such phrases in common without copying from one another. Such tags are useful as a starting point. But, to be applied correctly, someone needs to review the papers and validate if any of the phrases really appear to be copied or just innocent matches like the examples. Nobody did that.

This is ridiculous. Computers and algorithms can’t replace common sense, people… sheesh

Neutrino Experiment Replicates Faster-than-light Finding

Physicists have replicated the finding that the subatomic particles called neutrinos seem to travel faster than light. It is a remarkable confirmation of a stunning result, yet most in the field remain sceptical that the ultimate cosmic speed limit has truly been broken.

What would this mean if it proved to be true? Fascinating research…

Another Reason to Abandon P-values; or Another Way to Cheat

The Sample Size Extender™ is so easy a child could use it. Here’s how it works. All you need is a theory: any will do, the wilder the better. Begin collecting your data, put them through the works one at a time, then just wait for the publishable p-value, which is sure to come.

Here’s an example. Your theory supposes that a certain measure will be different between two groups. You’ll confirm this using a t-test—though any test will do. You begin by measuring two people, one from each group1. Put the measurements of this pair into the t-test and check whether your p-value is less than the magic number. If it is: stop! Your theory is proven. Go forth and write your paper.

But if the p-value is not small enough, measure two more people, one more from each group. Then run the augmented sample through the t-test and check for a publishable p-value again.

Iterate the Sample Size Extender™ and you will always—absolutely always—find a p-value less than the magic number. Yes, sir, friends: this method is foolproof. Fools prove it every day!

Clay Christensen’s Milkshake Marketing

The milkshake was hired in lieu of a bagel or doughnut because it was relatively tidy and appetite-quenching, and because trying to suck a thick liquid through a thin straw gave customers something to do with their boring commute. Understanding the job to be done, the company could then respond by creating a morning milkshake that was even thicker (to last through a long commute) and more interesting (with chunks of fruit) than its predecessor. The chain could also respond to a separate job that customers needed milkshakes to do: serve as a special treat for young children—without making the parents wait a half hour as the children tried to work the milkshake through a straw. In that case, a different, thinner milkshake was in order.