[This article was first featured in Gamasutra]
In 3D and 2D, particle systems are used extensively to simulate a variety of physical phenomena and special effects, such as: Fire, smoke, blood, magic, sparks, rain, water, grass and many more.
A particle system is essentially an emitter object, which has shape and size, which creates particles according to certain rules. Each particle that's created receives a variety of attributes form the emitter and environment, such as speed, color progression, direction, rotation and time-to-live.
The idea is to combine and blend many of these basic particles in a way that create pretty and complex effects
Sometimes it's useful to have a method for generating unique numbers that are uniformly distributes over some set. For example, we may have a collection of objects that need to be identified uniquely, and serve as a key to an associative container.
It isn't always desired to use monotonically-increasing counter - for example, if we were to store our objects in an unbalanced tree, we would end up with a degenerate, inefficient, tree. In small or embedded applications, it is sometimes easier to implement a simple unbalanced tree and have the keys be uniformaly distributed than implement a red-black or AVL tree.
UPDATE: Yay, this page got featured in Hack a Day!
I recently picked up on some PIC18Fx553s with a built-in USB transceiver. After playing around with the Microchip USB Framework I decided on a weekend project of a USB IR remote control receiver for my HTPC. My initial idea was to reverse-engineer my RC's protocol, implement it on the receiver side, and connect as a HID Keyboard on the USB side to simulate key presses.
After reading a little about protocols in use by RCs, I came to a conclusion there's a lot of fragmentation in that area, and that I didn't have a clue to what protocol my RC [Toshiba CT-90319] uses. (I did have a feeling though that it wasn't the simple and very common RC-5)
After understanding there are many IR protocols in use, I decided I wanted to keep the hardware generic, so it could be re-used if I change my RC. The idea now was to receive the raw IR signal and send it to the PC, where it would be decoded and key press will be simulated according to some configuration.
An open-source, header-only C++ dependency injection library.
An always-sorted collection with O(1) insertion and removal with Java reference-implementation use to sort object according to their Z-order in a game engine.