- Network Security with OpenSSL - Print+eBook - great to decipher the cryptic OpenSSL cryptographic library
- The Agile Samurai - would be great to manage some of the massive projects at work!
- McCullough and Berglund on Mastering Git - Video - I know Git very well... can't hurt to enhance the knowledge further with other angles/examples
- Version Control with Git - Print+eBook - Always good to have more references :)
- Using SQLite - Print+eBook - The database that is everywhere... Android, iPhone, Chrome, Firefox, ...
- Programming Android - Early Release - eBook - Type of phone that Jenn and I have, already developed an app for it, just want more reference material
- The Art of Debugging with GDB and DDD - Print+eBook - Useful for debugging on most platforms
- Great Bash - Video
- Language Implementation Patterns - Know how to use LPeg well, may as well learn how to make 'good' languages
- Learning OpenCV - Print+eBook - Interesting topic to look into... taking images/videos and doing programmatic stuff with them
- Mastering Algorithms with C - Print+eBook - Can never have too many references on algorithms that aren't patented!
Thursday, February 10, 2011
Sunday, February 6, 2011
My rating: 4 of 5 stars
With CPUs growing in power by adding additional core as opposed to just getting “faster”, learning how to take advantage of parallel programming is a must. The book “The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications” by Clay Breshears works great as a reference and guide for determining when parallelization may be possible, how it could be done, and what to look out for.
The book introduces the reader to parallel programming with a set of useful rules and guidelines to follow to plan for optimizing algorithms by distributing workloads through concurrent programming. Much of the remainder of the book enumerates some common tasks and how to make them concurrent. One of the best parts of the common task listing is the scorecard for evaluating the quality of the implementation. The scorecard includes the useful performance factors of “efficiency” and “scalability”. It also includes the important details of “simplicity” and “portability”, important when evaluating methods for maintainable code.
The common threading tools OpenMP, Intel Thread Building Blocks, and POSIX threads are described in the early chapters and sprinkled throughout the examples in a useful manner, providing exposure to different ways one might implement concurency; not everyone needs to re-invent the wheel when optimizing tasks.
The eBook format of this book was provided free through O'Reilly's Blogger Review program, you can purchase the book from the O'Reilly book store at: http://oreilly.com/catalog/9780596521547View all my GoodReads reviews