Tuesday Jan 20, 2009

Announcing the OpenSolaris Bible

Last year, I wrote a bible. No, I didn’t change my name to Paul or Ezekial. I mean bible in the fourth definition sense of the word. My bible, on the topic of OpenSolaris, will be released next month under the appropriate enough title, OpenSolaris Bible. It’s available now for pre-order from any of the online booksellers.

If you’re interested in OpenSolaris, whether you’re a novice or an experienced user or admin, this book should have something for you. The only prerequisite is some experience with UNIX or Linux; and at close to 1000 pages, we’re able to cover both the basics and many advanced topics. The detailed table of contents (note: PDF link) and index (also PDF link) on the book web site give an idea of the topics and scope of the book.

I’ll have more to say about the contents of the book later, but in this post I’d like to write a little about how and why I wrote it. Four years ago, my first book, Professional C++, was released. I did the project somewhat on a whim, mostly because I was offered the opportunity. I knew I didn’t want to write full-time, but couldn’t turn down the opportunity to try my hand at it. And of course there was the lure of getting the chance to influence thousands of programmers to code the "right" (i.e. "my") way. However, after spending almost one year working every night and weekend on it, I was ready to focus on other things for a while.

Given that I’m still working full-time for Sun, have added a child to my family, and my wife is just starting her own business, why did I decide to again spend almost a year writing every night and weekend? As any author this side of John Grisham can attest, it’s certainly not for the money. Nor, if I’m being realistic about the market for C++ and OpenSolaris books, is it for the fame. However, there are a few reasons other than just seeing my words in print again.

First and foremost, I strongly believe that the OpenSolaris community needs this book. At the time we started writing there were no books available or, as far as we knew, even in the works, on OpenSolaris. In fact, OpenSolaris Bible will be the first English-language book on OpenSolaris. A good tutorial and reference book on OpenSolaris is imperative in order for the technology to gain hold and grow market share in the open source community.

Of course, that doesn’t explain why I wrote the book myself, especially since I’m not a core Solaris engineer directly involved in developing the OpenSolaris distribution. To be frank, one reason is simply that I enjoy taking opportunities that come my way.

More importantly, however, I work for Sun, am involved in the OpenSolaris community, and use OpenSolaris every day. I am quite familiar with the details and intricacies of OpenSolaris and knew that I would be comfortable writing the content of the book. As with Professional C++, I wrote the book that I would want to have as my tutorial and reference. Additionally, having written Professional C++, I had the contacts at Wiley, and knew that I was capable of writing a book of this magnitude.

That said, there was no way I could have written this book by myself. I had a great experience working with Scott on Professional C++, and at first wasn’t sure I could repeat it. However, I was extremely lucky to find two amazing co-authors: Jerry and Dave. They both have a rare combination of exceptional technical knowledge and the ability to explain it clearly in writing. (If you’ve spent much time around technical folks, you’ll know that second quality is in short supply). In particular, Jerry’s understanding of Zones, virtualization, file systems, and a host of other topics, and Dave’s knowledge about the OpenSolaris distribution, IPS, Networking, and pretty much everything else were invaluable. They wrote all the hard chapters, including some material that took significant research and testing.

And in addition to their technical abilities, Dave and Jerry were both a pleasure to work with. Although I don’t think we’ve all three ever been in the same place at the same time, we didn’t just each go off into a locked room and write our chapters. We had weekly phone conversations and innumerable email exchanges about all sorts of subjects from global chapter topics and ordering to detailed questions about a particular technical issue. Additionally, we each reviewed each other’s chapters in detail several times, and all kept our eyes out for OpenSolaris changes that would impact any of our material. I believe that this diligence shows, and that the resultant tome, in my obviously biased opinion, is a well-organized, comprehensive, and cohesive tutorial and reference on OpenSolaris.

But that’s just my opinion. I’m looking forward to hearing yours!

Monday Apr 30, 2007

Professional C++

I strongly disliked writing when I was in school. In fact, it probably wouldn’t be too strong to say I hated it. In college I actively avoided classes involving writing assignments. So I sometimes find it hard to believe that not only do I enjoy writing now, I was the lead author of an 838-page book on C++.

My co-author, Scott Kleper, wrote a great post about the process of writing Professional C++, so I won’t dwell on that here. Instead, I’d like to introduce a few of the features that we feel sets Professional C++ apart from other programming books. In future posts I’ll cover some of the particularly interesting aspects of the C++ language and C++ software engineering.

Scott and I believe that teaching C++ programming involves two things: teaching C++ and teaching programming. To that end, we tried to present the C++ syntax and feature-set in the larger context of software engineering and object-oriented methodologies. Specifically,


  • Emphasis on design, including object-oriented design, design themes of abstraction and reuse, design techniques such as smart pointers, and design patterns such as the singleton pattern.

  • Discussion of software engineering methodologies such as extreme programming.

  • Focus on style. We include an entire chapter on C++ style, and call attention to good stylistic practices throughout the book.

  • Inclusion of debugging and testing strategies. We devote over 50 pages to testing and debugging.

  • Discussion of “extra” topics such as writing efficient C++ code, mixing C++ with other languages, and using distributed objects.


In addition, we of course cover all the "usual" C++ stuff: objects, classes, inheritance, memory management, templates, operator overloading, the STL, I/O, exceptions, etc. Watch this space for a tutorial on smart pointers, coming soon!

About

Nick Solter is a software engineer and author living in Colorado.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today