Book Reviews

Book Reviews

Essential Linux Device Drivers

Writing device drivers for Linux is not the technological equivalent of building a house for your dog out of spare lumber in your garage on a Sunday afternoon. On the other hand, it's not like performing a delicate heart--lung transplant, either. In other words, it is possible, but requires the relevant skill sets and a certain amount of determination.

The Audience section of the Preface says, "This book is intended for the intermediate-level programmer eager to tweak the kernel to enable new devices." Open up your bag of skill sets and see if you can find "C programming skills" and "intermediate-level programmer," and if they are resting at the bottom of the bag, dust them off and get ready to read this book.

The first three chapters introduce the reader to the Linux kernel, including a bit of a history lesson, what "GNU" is, finding kernel sources, and building the kernel. Really, quite a bit more material is involved, but it's all necessary as far as laying a foundation for what comes next. Chapter 4 establishes the groundwork for writing Linux device drivers, and then the book takes off from there.

Essential Linux Device Drivers is based on the 2.6 version of the Linux kernel, so it's as up to date as you'll need it to be. Also, it is very detailed and thorough. Venkateswaran covers material on embedded hardware like audio, video, wireless, and PCMCIA, beginning with relatively simple hardware and then moving toward more involved types of devices. Lessons are organized so that the reader knows what to expect, regardless of the degree of difficulty involved. Real-world examples let you take what you learn and apply it to actual projects, either personal or professional.

Although the book includes a companion website at elinuxdd.com, I didn't find the expected code examples in a form I could download, which would have been a plus. I did find a Book Updates section stating that the book is generally current as of the 2.6.23/24 kernel version and that updates would be added to the site as newer versions were released.

If you would like or need to write device drivers for Linux and you meet the "minimum standard qualifications" as outlined by the author, you will want to pick up a copy of Essential Linux Device Drivers.

Sreekrishnan Venkateswaran

Hardcopy, 744 pages

Prentice Hall PTR, 2008

ISBN-10: 0132396556 ISBN-13: 978-0132396554

£ 22.77, US$ 44.99, EUR 28.83

The Principles of Project Management

Because of my "jack-of-all-trades" position, I tend to dip my toe in the "project management" pool from time to time. The "Who Should Read This Book" section says the book is meant for readers like me – people who aren't expert project managers but want to learn more about project management. In fact, the author says, "You won't become a world authority on the project management discipline, but you will become an effective and efficient project manager."

Project management involves both mechanics and psychology, which means describing it requires an author who understands both domains. In her writing, Williams establishes her credentials in those worlds. Her presentation is both casual and informative, which is a nice mix if you need complex information but are starting from step one. Although this book won't make you an overnight expert, it will get you started in that direction.

After reading this book, I'd be more prepared if my employer were to ask me to start applying some project management principles to an upcoming assignment. If you are a newbie project manager, I recommend getting The Principles of Project Management.

Meri Williams

Paperback, 224 pages

SitePoint, 2008

ISBN-10: 0980285860 ISBN-13: 978-0980285864

£ 20.32, US$ 39.95, EUR 27.73

Head First JavaScript

If you're the sort of person who gets distracted easily, Head First JavaScript might not be the book for you. As with all Head Start books, this one contains a lot of extra noise.

On the other hand, like all books in a particular series, once you know what to expect, you can zero in on what you need pretty easily.

The "Who should probably back away from this book" section also suggests that if you are someone who doesn't know even basic HTML and CSS, someone who is an expert programmer needing just a reference text, or someone who would rather jump into a pit of angry cobras than try to learn something completely new, this isn't book the book for you.

What I want a JavaScript book to do is teach me JavaScript, and also teach me the basics of programming in general.

Having to know only one programming language is rare, so while you're learning what is considered to be a "beginner's" language such as this, you might was well be learning the general basics of programming, too.

While reading this book, you'll probably notice that you are learning to program in JavaScript without having realized it.

You'll still spend about the same amount of time learning JavaScript with the Head First JavaScript book as with any other, but the time passes more quickly.

If you like learning JavaScript this way and want to learn yet another language, the Head Start series covers a variety of other programming topics as well, such as AJAX, Java, and C#, for example.

Do I consider this the perfect JavaScript book? Perhaps only if you thrive on alternative learning styles.

If you are a traditionalist and expect or need to be taught in a more conventional way, this book is not the one for you.

On the other hand, if you know just enough HTML and CSS to put together a basic web page, and you want to add JavaScript to the mix, you should get a copy of Morrison's book.

Michael Morrison

Paperback, 650 pages

O'Reilly Media, 2008

ISBN-10: 0596527748 ISBN-13: 978-0596527747

£ 20.32, US$ 39.99, EUR 27.73

Buy this article as PDF

Express-Checkout as PDF

Price $2.95(incl. VAT)

Buy Linux Magazine

Related content

Front End Drupal offers Drupal users, from the complete novice to experienced designers, a focused approach to site design, behavior, usability, and management, with a special emphasis on Drupal theming and interactive design. Includes several examples from start to end.