From time to time, some links will come up regarding some interesting questions which you may have always wondered about. Here is a collection of such links I collected a few months back. Enjoy!
Ever wondered how exactly "money works"? For instance, things like: What actually is money, and where does it get stored? How much money in total is there in the world? Or sometimes, when hearing about some debt ceiling crisis for the nth time, why don't they just come to some agreement to "write off" whatever debts existed (i.e. as if this was computer memory - which it is probably only exists in nowadays - we'd just say, "Oh, those 'bad sectors' over there... they don't exist; they never existed!", and the world would be fine)?
While this post doesn't quite answer all of these issues, it does start to clarify some issues. Then again, as a computer scientist, the more I learn about how these things work (i.e. financial systems in general), the more disgusted I am by just how fragile and/or convoluted some of this stuff is! In fact, it's quite eye opening at times to think that such a complex house of cards monstrosity is actually in use, for so long, as a critical part of how society in general functions.
TBH, some of the concepts here set off my "quease-detector" - that is, that nagging/gut feeling that usually triggers whenever there's some aspect of a system I've been working on which just feels slightly half-baked and likely to have some gaping vulnerability that "may" end up causing problems in "some" cases. Indeed, with experience, some of these doubts have actually turned out to be very well founded indeed. Some NLA-related bugs I've been working on recently are examples of precisely this problem!
2) Photoshop Blend Modes Explained - Photo Blog Stop
Enough said. Although I probably should know better, the various blend modes in graphics pipelines have often been a bit of a mystery to use. Coding them is one thing; putting them to good use in practice is another.
When you start getting into advanced UI programming, there usually comes a time when you start running into the limitations of existing framework elements, and start having to invent your own custom elements to get the job done.
One of the stickier issues in most systems turns out to be layout management. Writing a good layout manager algorithm turns out to be really bloody difficult! Along with graph plotting, web rendering, and network protocol stuff, it's one of the things I'm more than happy to quickly delegate off (to a third-party library if need be) to solve, since getting it right is just so darned tricky and annoying.
Anyways, if you're working with Qt, at some point or other, you'll eventually find yourself trying to figure out how Qt's default layout engines actually go about their business - perhaps so that you can figure out how to go about implementing a widget which is supposed to dynamically adapt the size of its contained widgets, the widget's size AND placement, and the amount of information presented from the underlying dataset in response to many factors including where the mouse is (and relative to the screen borders), the underlying dataset, etc., all at interactive frame-rates, with no flickering, glitching, jumping, etc. (NOTE: this is a real example of a challenging problem I was faced with at one point earlier this year; in the end, I kindof bailed out on this and just scraped by using a few patchy hacks here and there which were "good enough" as long as everything stayed relatively close to the center of the screen ;)
A nice, easy to understand overview of Principle Component Analysis (PCA) - a mathematical technique which is quite "in vogue" in academic research these days. For example, Pixar and Weta have both used this for various techniques related to speeding up and/or compressing shape key evaluation data. It's also used in reconstruction and visualisation pipelines for datasets collected from various (medical) scanners.
Origins of "foobar" - Since you just have to know :)
Who knew that making the perfect chip was such an interesting process?