Errors in Writing

This is an update of a post that originally appeared on March 18, 2011.

I get upwards of 65 e-mails about my books on most days. Some of the conversations I have with readers are amazing and many readers have continued to write me for years. It’s gratifying to know that my books are helping people—it’s the reason I continue writing. Although I make a living from writing, I could easily make more money doing just about anything else. The thought that I might help someone do something special is why I stay in this business. When I actually hear about some bit of information that has really helped someone, it makes my day. I just can’t get the smile off my face afterward.

Of course, I’m constantly striving to improve my writing and I do everything I can to help the editors that work with me do a better job too. Good editors are the author’s friend and keep the author from looking like an idiot to the reading public. In fact, it’s the search for better ways to accomplish tasks that led me to create the beta reader program so many years ago. Essentially, a beta reader is someone who reads my books as I write them and provides feedback. The extra pair of eyes can make a big difference. Beta readers receive my thanks in the book’s Acknowledgments. Sometimes I provide other perks, such as a free copy of the book, depending on the level of beta reader input. (If you’d like to be a beta reader, please contact me at [email protected] for additional details.)

A typical book has five beta readers, but sometimes there are more or less of them. They provide all sorts of input that ranges from finding grammatical, spelling, and technical errors, to providing advice on how to approach a particular topic for readers from other nations or those with disabilities. Some of my beta readers are critical thinkers and play devil’s advocate, others are great at pointing out inconsistencies, especially in my artwork. So, there is no typical beta reader; they have a very wide range of experiences and provide me with a wide range of insights.

You’d think that with all the pairs of eyes looking at my books, they’d come out error free. After all, it isn’t just me looking at the book, but several editors and the beta readers as well. Unfortunate as it might seem, my books still come out with an error or two in them. The more technical the topic, the greater the opportunity for errors to creep in. Naturally, the errors are amazingly easy for just about everyone else to pick up! (I must admit to asking myself how I could have missed something so utterly obvious.) When there is an error found in the book, I’ll provide the information to the publisher so it’s fixed in the next printing. The error will also appear on the book’s errata page on the publisher’s site. If the error is significant enough, I’ll blog about it as well. In short, I want you to have a good reading experience so I’ll do everything I can to hunt the errors down and correct them.

However, not every seeming error is actually an error. There are times where an apparent error is simply a difference of opinion or possibly a configuration difference between my system and the reader’s system. I’ll still try to figure these errors out, but I can’t always guarantee that I’ll fix things in your favor. After all, another reader has probably found still other results or has yet another opinion on how I should present material in the book.

The long and short of things is that despite my best efforts, you’ll probably encounter an error or two in my books and I apologize for them in advance. We’ll also continue have differences of opinion and that’s usually the source for new ideas and new ways of viewing things. I’m honest enough to admit that I do need your help in creating better books, so I’ll always listen to you and think about what you have to say. I hope that you’ll continue to read my books and do amazing things with the information you find therein. The results of your researches are truly the reason I remain in this business and I realize that we’re in this together. Thanks for your continued support!

Machine Learning Security Principles Now Available as an Audiobook

I love to provide people with multiple ways to learn. One of the more popular methods of learning today is the audiobook. You can listen and learn while you do something else, like drive to work. Machine Learning Security Principles is now available in audiobook form and I’m really quite excited about it because this is the first time that one of my books has appeared in this format. You can get this book in audiobook format on the O’Reilly site at https://www.oreilly.com/videos/machine-learning-security/9781805124788/.

After listening to the book myself, I have to say that the audio is quite clear and it does add a new way for me to learn as well. If you do try this audiobook, please let me know how it works for you. I’ll share any input you provide with the publisher as well so that we can work together to provide you with the best possible book materials in a format that works best for you. Please let me know your thoughts at [email protected].

Antivirus and Application Compilation


This is an update of a post that originally appeared on 
April 2, 2014.

Sometimes applications don’t get along, especially when one application is designed to create new content at a low level and the other is designed to prevent low level access to a system. Such is the case with compilers and antivirus applications in some cases. I haven’t been able to reproduce this behavior myself, but enough readers have told me about it that I feel I really do need to address it in a post. There are situations where you’re working with source code from one of my books, compile it, and then have your antivirus application complain that the code is infected with something (even though you know it isn’t). Sometimes the antivirus program will go so far as to simply delete the application you just compiled (or place it in a virus vault).

The solution to the problem can take a number of forms. If your antivirus application provides some means of creating exceptions for specific applications, the easiest way to overcome the problem is to create such an exception. You’ll need to read the documentation for your antivirus application to determine whether such a feature exists. In most cases today, antivirus applications also provide settings that accommodate specific applications and you’ll want to check with the antivirus vendor and/or community support to see if this need has been met.

In some cases, the compiler or its associated Integrated Development Environment (IDE) simply don’t follow all the rules required to work safely in protected directories, such as the C:\Program Files directory on a Windows system. As far as I know, all of the development environments currently used in my books do follow the rules, so you shouldn’t have a problem in this area, but please let me know if you do. Often, the workaround for this problem is to install the application in a directory that the user owns and just avoid the security issue.

Not including the application in the Windows path can cause problems and I cover this issue in the Adding a Location to the Windows Path post. In addition, there are problems with installing the source code in a path containing spaces or lacks proper access. I discuss these issues in the Source Code Placement post.

Unfortunately, creating exceptions and installing the application in a friendly directory only go so far in fixing the problem. A few antivirus applications are so intent on protecting you from yourself that nothing you do will prevent the behavior. When this happens, you still have a few options. The easiest solution is to turn the antivirus program off just long enough to compile and test the application. Of course, this is also the most dangerous solution because it could leave your system open to attack.

A safer, albeit less palatable solution, is to try a different IDE and compiler. Antivirus programs seem a little picky about which applications they view as a threat. Code::Blocks may cause the antivirus program to react, but Eclipse or Visual Studio might not. Unfortunately, using this solution means that steps in the book may not work precisely as written. In addition, unless the compilers are compatible, the book’s source code may not compile at all without changes. Because I can’t cover every contingency, I also can’t support using a compiler other than the one specifically called out in a book.

Getting a different antivirus application is also a good idea. Antivirus applications and IDEs have come a long way since I originally created this post, but some antivirus applications really don’t work well and create more headaches than they’re worth. The choice is up to you, of course, but with the wealth of antivirus programs available on the market today, there isn’t a good reason to avoid getting something new when the situation warrants.

My goal is to ensure you can use the examples in my books without jumping through a lot of hoops. When you encounter problems that are beyond my control, such as an ornery antivirus application, I’ll still try to offer some suggestions, but I can’t take time to fix your system. In this case, the solution truly is out of my control but you can try the techniques offered in this post. Let me know if you find other solutions to the problem at [email protected].

Sending Comments on My Books

This is an update of a post that originally appeared on February 23, 2012.

I regularly receive a stack of e-mail about my books. Readers question everything and it makes me happy to see that they’re reviewing my books so closely. It means that I’m accomplishing my principle goal, helping you understand computers in every possible way so that you can be more productive and accomplish tasks with less effort. When I make something easier for someone and they tell me about it, the grin extends from one side of my face to another. It really makes my day.

Some readers are still asking me if it’s OK to send me comments. I definitely want to see any constructive comment that you have. Anything that helps me understand your needs better makes it possible for me to write better books. I really do want to hear from you. The main element that I need to obtain a usable comment is that it’s constructive. A comment that lacks details isn’t helpful because I’ve written so many books. Emotional comments without any substance are especially hard to deal with because they leave me wondering what you need from me. Here are some of the things you can do to create a constructive comment:

  • What is the title of the book you’re reading (be sure to include the edition number, which is usually right on the cover unless it’s a first edition)?
  • Are you using the downloadable source code if this is a programming book?
  • Did you install the recommended version of any required software using the instructions found in the book?
  • Which page contains the error (if you’re using Kindle or other electronic media, please provide a chapter number and section title as a minimum)?
  • What do you view as an error on that page?
  • How would you fix the error?
  • What sort of system are you running?
  • When did you encounter the problem?

The more information you provide, the easier it is for me to understand the issue and provide you with feedback. In many cases, I’ll upload the fix to my blog so that everyone can benefit from the response (so be sure you keep an eye on my blog for new entries). I work hard to ensure that my books are as error free as possible, but everyone makes mistakes. Also remember that sometimes mitigating factors, such as differences in software versions or anticipated hardware, make it appear that there is an error in the book when you’re really looking at a different in environment. Help me provide you with better books—send me comments!

There are a few things that I won’t do for you. I won’t help you pass an exam at school. Your learning experience is important to me, which means that I want you to continue your education by working through the instruction on your own. I also don’t provide free consulting. This means I won’t check the code that you created on your own for errors. In addition, if you don’t use the downloadable source, be sure to read Verifying Your Hand Typed Code for restrictions on the level of support that I provide. I’ll help you with any book-specific question, but I draw the line at that point. Let me know if you have any input or insights on my books at [email protected].

Book Reviews – Doing Your Part

This is an update of a post that originally appeared on October 4, 2013.

Readers contact me quite a lot about my books. On an average day, I receive around 65 reader e-mails about a wide range of book-related topics. Many of them are complimentary about my books and it’s hard to put down in words just how much I appreciate the positive feedback. Often, I’m humbled to think that people would take time to write.

There is another part to reader participation in books, however, and it doesn’t have anything to do with me—it has to do with other readers. When you read one of my books and find the information useful, it’s helpful to write a review about it so that others can know what to expect. I want to be sure that every reader who purchases one of my books is happy with that purchase and gets the most possible out of the book. The wording that the publisher’s marketing staff and I use to describe a book represents our viewpoint of that book and not necessarily the viewpoint of the reader. The only way that other readers will know how a book presents information from the reader perspective is for other readers to write reviews. A good review will tell:

  • What you liked about the book
  • How it met your needs
  • What it provides in the way of usable content
  • Whether you liked any intangibles, such as the author’s writing style
  • When you used the content to obtain a new job or learn a new skill
  • Who recommended the book to you

    The review should also present any negatives (obviously, I want to know about the flaws, too, so that I can correct them in the next edition of the book and also discuss them on my blog):

    • Did the book provide enough detailed procedures needed to accomplish a task?
    • Are significant technical flaws and why do you feel they’re an issue?
    • Are there enough graphics to augment the text and make it clearer?
    • Is the source code useful?

    Many reviewing venues, such as the one found on Amazon, also ask you to provide a rating for the book. You should rate the book based on your experience with other books and on how this particular book met your needs in learning a new topic. The kind of review to avoid writing is a rant or one that isn’t actually based on reading the whole book. As always, I’m here (at [email protected]) to answer any questions you have and many of your questions have appeared as blog posts when the situation warrants.

    So, just where do you make these reviews? The publishers sometimes provide a venue for expressing your opinion and you can certainly go to the publisher site to create such a review. I personally prefer to upload my reviews to Amazon because it’s a location that many people frequent to find out more about books. You can go to the site, click Write a Customer Review (near the bottom of the page), and then provide your viewpoint about the book.

    Thank you in advance for taking the time and effort required to write a review. I know it’s time consuming, but it’s an important task that only you can perform.

    Damaged Books

    I spend a good deal of time reviewing comments about my books online and also responding to reader questions sent to my email. It’s important to me that you feel you receive the full value of your hard earned money when buying one of my books, so I continually seek to improve them. However, one issue I can’t control is the damaged book. When reading one series of comments lately, I found that the readers weren’t complaining about the quality of the content, but rather the quality of the book materials, which is not something I can control.

    The problem is made worse because I often have no way to contact readers who leave a comment on places like Amazon.com. In the interest of customer privacy, I’m unable to obtain an email address for these readers so that I might address their needs. This is why you should always contact me at [email protected] when you have any issues with my books.

    The publisher isn’t able to obtain your email address either. So, the publisher is equally unable to help you when you post a book material complaint on websites, rather than contact the publisher. One of the publishers I work with most often is Wiley. Here is the advice I received from my editor there regarding book damage:

    In cases of damage or misprinting, it depends on the specific issue, cause of the damage, and the seller whether Wiley can replace a copy or not. For example, if purchased from a third-party seller on Amazon and damaged in transit, that’s out of our control, as third-party sellers are not direct partners or buyers from Wiley. If it’s a printing issue like this one [referring to spotting in one of my books], that is a manufacturing issue within our control, and Wiley would very likely replace the copy. Here is a link customers can visit https://support.dummies.com/s/. They can also email [email protected].

    In cases of possible errata: The readers should fill out an Errata PDF form available here: https://support.dummies.com/s/article/reporting-a-wiley-book-error and email it to the Customer Service Team at [email protected] with the subject line “Possible Book Errata Submission”.

    The bottom line is that the publisher and I want you to be happy. Make this possible by contacting us about any book damage, rather than posting a public comment that we can’t address.

    Get the Source Code for My Books from Another Source

    A lot of readers have asked me to provide a better, centralized, location for the source code for my books. With this in mind, I’ve created a new Source Code web page on my website. All you need to do to use it is locate the name of the book whose source code you need and click the associated link or Download button. Not all of my books appear on the Source Code page yet, but I’m working on it. If you find that you can’t locate a book you desperately need, please let me know at [email protected]. I’ll do my best to help you make great use of my books. Please continue to frequent this blog for updates and news about my books.

    Review of The Fisherman

    The Fisherman by Brigid Malloy is a children’s book that is remarkably fun, contains some really amazing art, and also teaches a lesson. Our society is based on the concept that winning is everything and that failure is always awful. I’ve talked about this issue before in my Defining the Benefits of Failure post. However, this book takes an entirely different twist on the topic by viewing a failure as a success. I thought it was a pretty amazing lesson to teach younger people who are used to hearing that they must be first in absolutely everything. In fact, I’d recommend more than a few adults read this book too.

    I read this story to my 9 year old grandniece and she was quite taken with it. She thought the fisherman was quite funny and kept pointing out various elements of the art that weren’t immediately apparent to me (mostly because I was reading the text). She remained engaged for the entire story, which says a lot for a child that is sometimes distracted by absolutely everything. Most important of all, she got it! The story helped her understand that success isn’t everything and she liked the idea that the fisherman was happy and comfortable at the end.

    Is this a good book? Yes, it’s a great book! This is one of the few times I find myself at a loss to say anything whatsoever negative about a book except that it’s not available for sale on Amazon. You must currently go to the author/illustrator’s website to buy a copy (see link in the first paragraph).

    Beta Readers Needed for Amazon Web Services for Admins for Dummies

    I still remember Amazon Web Services (AWS) when it was simply a method for getting information about Amazon products, making sales, and getting product status. The original web service didn’t do much, but people absolutely loved it, so it continued to evolve. Amazon has put a lot of work into AWS since that humble beginning and now you can perform all sorts of tasks that have nothing to do with buying or selling anything. You can create an entire IT structure for your organization that doesn’t involve any of the micromanagement, hardware purchases, software purchases, and other issues that kept IT from doing what it was supposed to do in the past-serving user needs in the most efficient manner possible.

    There are a number of AWS books either published or currently in the process of being published, but these books don’t really answer the one question that everyone appears to be asking in the forums online, “How do I get started?” However, in recent years this has changed with more blogs talking about the subject. You can even check out this great AWS blog for more information. As for books, most of the titles out there right now answer questions for a specific group after that group has installed the product and gotten started with it. AWS is immense and is naturally intimidating. Unfortunately, the getting started documentation from Amazon is incomplete, outdated, and hard to understand. Amazon Web Services for Admins for Dummies helps administrators (the focus group) and others (such as DevOps and developers) get started so that they can actually make use of that next level up book. Here are the sorts of things you see covered in the book:

    • Part I: Uncovering the AWS Landscape
      • Chapter 1: Starting Your AWS Adventure
      • Chapter 2: Obtaining Free Amazon Services
      • Chapter 3: Determining Which Services to Use
    • Part II: Configuring a Virtual Server
      • Chapter 4: Creating a Virtual Server Using EC2
      • Chapter 5: Managing Web Apps Using Elastic Beanstalk
      • Chapter 6: Responding to Events with Lambda
    • Part III: Working with Storage
      • Chapter 7: Working with Cloud Storage Using S3
      • Chapter 8: Managing Files Using Elastic File System
      • Chapter 9: Archiving Data Using Glacier
    • Part IV: Performing Basic Database Management
      • Chapter 10: Getting Basic DBMS Using RDS
      • Chapter 11: Moving Data Using Database Migration Service
      • Chapter 12: Gaining NoSQL Access Using DynamoDB
    • Part V: Interacting with Networks
      • Chapter 13: Isolating Cloud Resources Using Virtual Private Cloud
      • Chapter 14: Connecting Directly to AWS with Direct Connect
    • Part VI: Getting Free Software
      • Chapter 15: Using the Infrastructure Software
      • Chapter 16: Supporting Users with Business Software
    • Part VII: The Part of Tens
      • Chapter 17: Ten Ways to Deploy AWS Quickly
      • Chapter 18: Ten Must Have AWS Software Packages

    As you can see, this book is going to give you a good start in working with AWS by helping you with the basics. Because of the subject matter, I really want to avoid making any errors in this book, which is where you come into play. I’m looking for beta readers who want to use AWS to perform basic administration tasks, even when those tasks are related to a home office. In fact, I have a strong interest in trying to meet the needs of the small-to-medium sized business (SMB) because many of the other books out there cover the enterprise to the exclusion of these smaller entities. As a beta reader, you get to see the material as I write it. Your comments will help me improve the text and make it easier to use.

    As you can see from the outline, Amazon Web Services (AWS) is actually a huge array of services that can affect consumers, Small to Medium Sized Business (SMB), and enterprises. Using AWS, you can do everything from back up your personal hard drive to creating a full-fledged IT department in the cloud. The installed base is immense. You can find case studies of companies like Adobe and Netflix that use AWS at https://aws.amazon.com/solutions/case-studies/. AWS use isn’t just for private companies either-even the government is involved. That’s why Amazon Web Services for Admins for Dummies has a somewhat narrowly focused audience and emphasizes a specific set of tasks that it will help you perform. Otherwise, a single book couldn’t even begin to cover the topic.

    In consideration of your time and effort, your name will appear in the Acknowledgements (unless you specifically request that we not provide it). You also get to read the book free of charge. Being a beta reader is both fun and educational. If you have any interest in reviewing this book, please contact me at [email protected] and will fill in all the details for you.

     

    Review of Dodging Satan

    Often, the best humor is found in tales with a real world basis, which is what you find in Dodging Satan by Kathleen Zamboni McCormick. Even though I’m not Catholic, I did attend a Lutheran school for much of my childhood and some of the events in the school scenes in the book rang all too true. (The scene where Bridget is given a guilt complex over eating too slow really did ring a bell.) Of course, school isn’t the focus of the book, Bridget is. Dodging Satan is a fictionalized autobiography that follows Bridget from about age 5 to about age 14. The book doesn’t follow a strict chronological flow, but uses short stories to tell Bridget’s tale (a format I really liked). Many of the stories started in the real world, but the author has changed names, embroidered the information a bit, and added the pizzazz that makes this book such a good read. Some things, like a time traveling St. Mary, really were part of the author’s life, but she tells the tale with humor, slightly askew of the real world events.

    I’ve read many treatise on what makes for a good childhood—everything from upbringing to environment to recognizing a child’s gifts. However, Dodging Satan possibly brings up the most important element of all—a child’s imagination (although I doubt that it’s the author’s main goal to create a tale of child raising either). The book is funny because Bridget sees the world from a perspective that only a child who is trying to make sense of all of the conflicting inputs she’s receiving could possibly have. Trying to figure out how riding a bicycle can make one pregnant is just one of many conundrums that Bridget faces. There were times when I had tears rolling down my cheeks, such as when Bridget discovers the holy in the holy water. As you read the book, you see Bridget pondering various elements of Catholicism and I felt for her because I pondered at least a few of those same things as a Lutheran. (A fear that Satan was going to reach out and grab me was just one commonality.) It’s interesting to find that children commonly use all sorts of sources (religion in this case), often distorted, to explain the unexplained events in their lives.

    The book does touch on a number of issues that were most definitely not talked about during my childhood, including abuse of various sorts and sexuality that we’re only now coming to grips with (for one thing, two of the aunts turned out to be lesbians). Some of these sections will most definitely make people uncomfortable, despite being told a bit tongue-in-cheek and with an eye toward a skewed version of the truth. It won’t surprise many people who grew up in poorer neighborhoods that abuse was, and still is, rampant. Bridget ends up coming to terms with these negatives in her life by inventing views that make them all seem plausible, if not entirely appropriate. The child view of these things is expertly written—in fact, this bit of writing is possibly the most fascinating part of the book because it really does present a significantly different perspective of events that shapes individuals and our country as a whole during the 60s and 70s (the book does avoid the use of dates because many of these issues are still taking place now). Bridget shows herself to be an amazing young lady because she does accept her lesbian aunts and comes to realize that they have a significant role to play in helping her come to terms with her own blossoming sexuality (not that Bridget becomes a lesbian, but I don’t want to give away the plot of the book either).

    Is this a good book? Yes, I’m really glad I read it, but unlike many book covers, this one undersells the content. You will laugh, but you’ll also cry with Bridget a little and you’ll find yourself thinking about the odd events in your own childhood. In order to really get anything out of this book, you must be willing to step back and think about Bridget’s musings from an adult perspective. You see yourself when you were young from the perspective of having learned that the world really doesn’t involve things like time travel and no amount of imagination will make some things right. In short, if you’re looking for a good laugh and nothing else, then you probably won’t enjoy this book, but if you’re willing to give things a bit of thought, you’ll probably end up with more than you expected. Dodging Satan promises to be one of those books that will change you in ways you’ll never forget.