title: How should I get started on writing device drivers?
body: <p>I would like to learn how to write device drivers because I think it would be fun. I use a Mac OS X Macbook, but I also have an Ubuntu machine (running on a Mac Min). I am pretty familiar with C and currently am reading <a href="http://csapp.cs.cmu.edu/" rel="noreferrer">this book</a>. I have found some links online such as <a href="http://developer.apple.com/mac/library/referencelibrary/GettingStarted/GS_HardwareDrivers/index.html" rel="noreferrer">Mac Dev Center</a>. I am doing this because it would be fun. I think there would be real gratification to see hardware operate because of software I wrote. </p>
  
  <p>I guess what I would like is some tips or advice and guidance, and does anyone know of a list of devices that don't have drivers or can I write a driver for something that's already supported (would prefer the former so I'm actually providing value). What's a good device to get started with? Am I biting off more than I can chew? I'm not afraid of low level programming or assembly or whatever amount of effort is required. I'd like a challenge really!</p>