After breaking yet another reading light, I decided to make one. Simply making an ordinary on-off light was not worth the effort, or cost. So I'm attempting to make the light have some smarts. The first smart is to have it turn off when it detects that I've fallen asleep.
Another feature is to have a dimmer switch (a rotary encoder) that controls the brightness and a momentary switch (which is also on the encoder) that controls the various lighting modes (reading, red, slow mood, fast mood).
More information about the build can be found on Instructables.