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.

     

    Review of Lost Hero of Cape Cod

    The Lost Hero of Cape Cod by Vincent Miles revolves around the life of Asa Eldridge and, to a lesser extent, his bothers John and Oliver. The story takes place in that magic period when the age of sail is ending and the age of steam is beginning. The book is written in a narrative style is that really easy to read and understand. Yes, it includes dates, just as any historical book would contain, but the dates often come with relevant back stories that make them seem a lot easier to remember (or at least more interesting to learn about).

    Unlike a lot of non-fiction books on history, this one is packed with all sorts of interesting graphics. You do find lots of pictures of ships, which goes without saying. However, the author thoughtfully includes all sorts of other graphics, such as newspaper clippings, pictures of the various characters, pictures of towns,  and even a series of log entries. The result is one of seeing as well as hearing the history the history that took place.

    This is a book of fact, not trumped up fiction adorning itself as fact. The list of notes, bibliography, and illustration credits attest to the author’s diligence in learning as much as is possible about events at the time. Even so, the author makes it clear when the sources used are a bit dubious or incomplete. The facts, however, aren’t dry—they’re quite interesting. For example, I had never realized that anyone in their right mind would try shipping ice to India, yet it happened and this book tells you all about it. The manner in which the facts are presented provide a certain intrigue and excitement. You can actually feel the various groups vying for supremacy of the Atlantic and sneering at those who fail.

    Most of the material revolves around the Atlantic and focuses on the established route between New York or Boston and Liverpool. However, you’re also treated to the round the world tour made by Cornelius Vanderbilt and his family (captained by Asa Eldridge, no less). Lost Hero of Cape Cod makes ample use of relatively long quotes to let the characters tell you what happened in their own words. Unfortunately, the quoted sections use a slightly smaller and lighter type that can make them a bit harder to read. Even so, you’ll want to read each quote because they’re all important.

    About the only complaint that one could make about this outstanding book is that the author tends toward some repetition, especially near the end of the book. Part of the reason for repetition is that the book is topical, rather than chronological in nature. The repetition is easy to forgive, however, because the book is otherwise expertly written.

    I’ve purposely left out some important facts that the book presents because I truly don’t want to ruin your reading experience. Let’s just say that Asa Eldridge is far more important as a historical character than you might initially think, yet he’s all but forgotten from the history books. Vincent Miles wants to overcome that oversight with this detailed account of Asa’s life that you’ll find completely immersive. If, like me, you like nautical history, then you really must get this book.

     

    Python for Data Science for Dummies Errata on Page 221

    The downloadable source for Python for Data Science for Dummies contains a problem that doesn’t actually appear in the book. If you look at page 221, the code block in the middle of the page contains a line saying import numpy as np. This line is essential because the code won’t run without it. The downloadable source for Chapter 12 is missing this line so the example doesn’t run. This P4DS4D; 12; Stretching Pythons Capabilities link provides you with a .ZIP file that contains the replacement source code. Simple remove the P4DS4D; 12; Stretching Pythons Capabilities.ipynb file from the archive and use it in place of your existing file.

    Luca and I always want you to have a great experience with our book, so keep those emails coming. Please let me know if you have any questions about source code file update at [email protected]. I’m sorry about any errors that appear in the downloadable source and appreciate the readers who have pointed them out.