Writing even a simple multi-threaded program is a complex problem, synchronization issues are always around the corner, causing race conditions which can lead to deadlock or resource starvation; and the stress of not being sure that our program works correctly is another component of the complexity.
Lately I've been fixing some defects in the hidraw interface in the Linux kernel (commits d20d5ff and e42dee9), simple issues like these NULL pointer dereference are a good example to show how to analyze a Linux bug trace in order to spot the defective code. So let's take a look.
Some days ago I bought this USB Hard Drive and when I first plugged it in, the mounted filesystem showed up in the File Manager with a custom icon, so I thought I could use my own custom icon instead and it turned out to be quite easy.
Since Jan. 13th, 2010 Xorg version 7.5 has landed to Debian unstable; one of the most notable additions to it was the XInput2 system, which incorporates the MPX efforts. So I hooked up a second USB mouse to my machine and started playing with it.