Introducing Machine Learning Security Principles

Are you a manager, researcher, or novice data scientist who works with data regularly, yet can’t really understand the technobabble found in security books that are supposed to help you secure the data you work with? Machine Learning Security Principles is all about providing you with full disclosure of all of the security threats that can affect your data in a detailed way that is also understandable. The idea is to understand the threats and understand the players in the security arena so you can create a strategy that will ensure your data remains safe without feeling completely lost in the language used by most books today.

Machine Learning Security Principles looks at data from every possible perspective, which means that you’ll learn more than just collection and storage methods. It isn’t just the hackers and disgruntled employees that are the problem. You now have to deal with governments that tell you how to collect data properly and face the wrath of the pubic at large when the data is collected in a less than ethical manner, even when no laws have been broken. In addition, it’s more than just the data, it’s also the system that holds the data, the application the uses the data, and the users who enter the data that can become problematic. With this in mind, here are some things that you’ll learn when reading this book:

  • Learn methods to prevent illegal access to your system.
  • Discover detection methods when access does occur.
  • Employ machine learning techniques to determine motivations.
  • Mitigate hacker access using a variety of methods.
  • Repair damage to your data and applications.
  • Use ethical data collection methods to reduce security risks.

A major complaint with most books on the market is that there is an expectation that you’re not only an expert coder, but that all you want is to see code. That’s fine if you’re already a seasoned security expert, but then seasoned security experts really don’t need books like this one. Machine Learning Security Principles provides you with several ways to learn about security issues:

  • References to actual security break-ins and the results of them.
  • Block diagrams showing how various kinds of security issues occur.
  • Explanatory text that helps you understand what precisely can happen and how to prevent.
  • Example code that you can use to discover how various security techniques work.
  • Example data and the techniques you can use to work with it.
  • Resources that you can use to augment your security plan.
  • Online tools you can use to more fully explore security issues.

In short, Machine Learning Security Principles provides you with several methods of learning about security in an easy to use manner. It doesn’t take a one size fits all approach. Please let me know if you have any questions about my new book by contacting me at [email protected].

Completed! Book Drawing for C++ All-in-One for Dummies, 4th Edition

Five people now have a copy of C++ All-in-One for Dummies, 4th Edition coming their way. Please wait four to six weeks for delivery and let me know when you receive your book. These people are:

  • Eva Beattie
  • Thomas McQuillan
  • Michael Flores
  • Syam Poolla
  • Tom Taylor

I hope that each of you enjoys the book and will provide a review of it on Amazon. Thank you for your support, it’s really important to me. Your reviews will help other readers as well. If you have any questions at all about the book, please contact me at [email protected].

Book Drawing for C++ All-in-One for Dummies, 4th Edition

I’ve just released a new book, C++ All-in-One for Dummies, 4th Edition, and I’d love to give five people in the US a chance to read it for free (I can’t accept requests from other countries due to the amount of postage required to send a book to you). There’s only one catch. In exchange for the free book, I’d appreciate your review of it on Amazon.com. Your reviews are important because they give other people some idea of what the book is like outside of my opinion of it.

This new edition contains an amazing amount of changes from the 3rd Edition, many of which you requested. Of course, I started by updating everything, so you see the latest version of Code::Blocks used in this book. Working with Code::Blocks makes C++ coding a lot easier, but Code::Blocks tends not to hide the details or add any odd background code like some IDEs do. In addition to the updates, you can expect to see these changes:

  • Instructions on how to use your mobile device to write C++ code.
  • Updates on how to work with for loops.
  • Using functional programming techniques.
  • Employing new operators, such as the spaceship operator.
  • Understanding modifications to the Standard Library.

This new edition of the book comes in at a whopping 912 pages, so there is no expectation that you’ll read it cover-to-cover. What I would appreciate is your honest viewpoint on the topics that appeal to you most. If you’d like to participate in this drawing, please contact me at [email protected] by 8 March 2021 by email with a subject of “C++ Book Drawing”. I need your name and address. I’ll post the winners of the contest (sans email addresses) in a future blog post.

Announcing Beginning Programming with Python for Dummies

A number of people have written to ask me about the Beginning Programming with Python For Dummies books that I originally discussed in my Beta Readers Needed for Beginning Programming with Python For Dummies post. My copy of the book finally arrived on Friday and I can’t be more excited about how it turned out. This is the book you really need if you want to get started working with Python quickly and easily. As the title suggests, this is a beginner book—as in, you don’t need any experience to use it. Unlike most books, I don’t assume you already have some programming experience (although, you do need to know how to use your computer system). The really cool thing is that this is the book you need if you’re learning about programming in school and your school uses Python as a learning tool.

This book contains a wealth of examples, but you go through them using step-by-step procedures, so there isn’t any of the head scratching that occurs when you work with other books. The examples were tested on the Macintosh, Linux, and Windows platforms, but I’m sure they’ll work on other platforms as well. Any platform that runs Python and provides access to IDLE will be able to use this book. Here’s a list of the things you’ll learn:

  • Part I: Getting Started
    • Chapter 1: Talking to Your Computer
    • Chapter 2: Getting Your Own Copy of Python
    • Chapter 3: Interacting with Python
    • Chapter 4: Writing Your First Application
  • Part II: Talking the Talk
    • Chapter 5: Storing and Modifying Information
    • Chapter 6: Managing Information
    • Chapter 7: Making Decisions
    • Chapter 8: Performing Tasks Repetitively
    • Chapter 9: Dealing with Errors
  • Part III: Performing Common Tasks
    • Chapter 10: Interacting with Modules
    • Chapter 11: Working with Strings
    • Chapter 12: Managing Lists
    • Chapter 13: Collecting All Sorts of Data
    • Chapter 14: Creating and Using Classes
  • Part IV: Performing Advanced Tasks
    • Chapter 15: Storing Data in Files
    • Chapter 16: Sending an E-mail
  • Part V: Part of Tens
    • Chapter 17: Ten Amazing Programming Resources
    • Chapter 18: Ten Ways to Make a Living with Python
    • Chapter 19: Ten Interesting Tools
    • Chapter 20: Ten Libraries You Need to Know About

All the basics are here. By the time you complete this book, you can perform essential Python programming tasks and even use your new found knowledge in practical ways, such as sending an e-mail or storing data in files. Of course, there are limits to most books. This one doesn’t cover advanced topics—instead, it serves as your introduction to such books. Instead of spending hours just trying to figure out the jargon in these advanced books, you can move right along with doing something interesting.

This is your must have introduction to Python. Of course, I’m sure you have questions and I want to hear from you about them. Please feel free to contact me about any questions you have at [email protected].

 

Fixed C++ Book Link

Last week I announced the release of C++ All-In-One for Dummies, 3rd Edition and told you about a link for the book extras at http://www.dummies.com/extras/cplusplusaio/. Unfortunately, the link didn’t work for a while. Clicking the link produced an error message, rather than a page full of useful content. The publisher has fixed the link and you can now gain access to a lot of really cool book extras:

All these extras will make your reading experience even better. Make sure you check them all out. Of course, I always want to hear your book concerns, especially when it’s something major like not being able to find needed content. Please feel free to contact me at [email protected] with your book-specific question.

 

Announcing C++ All-In-One for Dummies 3rd Edition

I’m really excited to announce the release of C++ All-In-One for Dummies, 3rd Edition. This is the book that:

  • Provides all the updates you’ve been wanting
  • Relies on the latest version of Code::Blocks
  • Includes better support for Windows, Linux, and Mac installations
  • Contains all the latest techniques, including lambda expressions

This is the book update that I discussed in Beta Readers Needed for a C++ Book Update. Here’s the new book layout:

  • Book I: Introduction C++
    • Chapter 1: Configuring Your System (18 Pages)
    • Chapter 2: Creating a First C++ Program (20 Pages)
    • Chapter 3: Storing Data in C++ (30 Pages)
    • Chapter 4: Directing Your C++ Program Flow (26 Pages)
    • Chapter 5: Dividing Your Work with Functions (26 Pages)
    • Chapter 6: Dividing Between Source-Code Files (16 Pages)
    • Chapter 7: Referring to Your Data through Pointers (30 Pages)
    • Chapter 8: Working with Classes (38 Pages)
    • Chapter 9: Using Advanced C++ Features (36 Pages)
  • Book II: Understanding Objects and Classes
    • Chapter 1: Planning and Building Objects (30 Pages)
    • Chapter 2: Describing Your Program with UML (20 Pages)
    • Chapter 3: Structuring Your Classes with UML (12 Pages)
    • Chapter 4: Demonstrating Behavior with UML (18 Pages)
    • Chapter 5: Modeling Your Programs with UML (12 Pages)
    • Chapter 6: Building with Design Patterns (30 Pages)
  • Book III: Fixing Problems
    • Chapter 1: Dealing with Bugs (12 Pages)
    • Chapter 2: Debugging a Program (14 Pages)
    • Chapter 3: Stopping and Inspecting Your Code (12 Pages)
    • Chapter 4: Traveling About the Stack (10 Pages)
  • Book IV: Advanced Programming
    • Chapter 1: Working with rays, Pointers, and References (30 Pages)
    • Chapter 2: Creating Data Structures (22 Pages)
    • Chapter 3: Constructors, Destructors, and Exceptions (28 Pages)
    • Chapter 4: Advanced Class Usage (26 Pages)
    • Chapter 5: Creating Classes and Templates (32 Pages)
    • Chapter 6: Programming with the Standd Libry (38 Pages)
    • Chapter 7: Working with Lambda Expressions (16 Pages)
  • Book V: Reading and Writing Files
    • Chapter 1: Filing Information with the Streams Libry (14 Pages)
    • Chapter 2: Writing with Output Streams (16 Pages)
    • Chapter 3: Reading with Input Streams (12 Pages)
    • Chapter 4: Building Directories and Contents (10 Pages)
    • Chapter 5: Streaming Your Own Classes (12 Pages)
  • Book VI: Advanced C++
    • Chapter 1: Exploring the Standd Libry Further (20 Pages)
    • Chapter 2: Working with User Defined Literals (UDLs) (16 Pages)
    • Chapter 3: Building Original Templates (20 Pages)
    • Chapter 4: Investigating Boost (26 Pages)
    • Chapter 5: Boosting Up a Step (16 Pages)
  • Appendix A: Automating Your Programs with Makefiles (12 Pages)

As you can see, this new book focuses a lot more strongly on standardized C++ so that you can get more out of it. There isn’t any mention of Microsoft special features any longer. You can use this book in all sorts of environments now and expect the examples to work (with some modification depending on how well your compiler adheres to the standard). Most importantly, there is now a chapter specifically designed to help you get your system configured so you can begin enjoying the book in a shorter time.

As always, I highly recommend you download the book’s source code from http://www.dummies.com/extras/cplusplusaio/ (the source code appears at the bottom of the page, so you must scroll down). In addition to the source code, the site also contains a wealth of extras that you really want to check out as part of your book purchase. Of course, there is always room for additional information, so let me know about the topics you’d like to see covered on the blog as well. You can check out the current posts at: http://blog.johnmuellerbooks.com/category/technical/c-all-in-one-for-dummies/.

I’m really excited about this new book and want to hear from you about it. Please feel free to contact me about any questions you have at [email protected].

 

Beta Readers Needed for an Updated Java Book

Quite some time ago I had announced the completion of Java eLearning Kit for Dummies. Well, sometimes things don’t go quite as planned in the publishing world and this edition of the book never quite got out the door. Fortunately, the book is still alive and those of you who eagerly anticipated the last book won’t be disappointed this time. What I’ll be doing is updating that previous manuscript to work with Java 8 and to include new Java 8 features such as lambda expressions.

Of course, I still want to avoid making any errors in the book if at all possible. That’s where you come into play. I need beta readers for this updated version of the book. You’ll get to hear about the latest Java 8 functionality and see it in action. This version of Java is really exciting because of the important changes it contains. As a beta reader, you’ll get to see the manuscript as I write it and make comments about the material it contains. In other words, you get to help shape the content of my book and make it a better product—one specifically designed to meet your needs.

Don’t worry about your credentials. In fact, that’s the entire purpose of the beta reader program. I want people who would actually read this book as participants, so your knowledge of Java is unimportant. This is a book for the beginner and doesn’t assume any knowledge on your part. In addition, the platform you use doesn’t matter. This book will address the requirements for using Java on the Mac, Windows, and Linux platforms. By the time you get done with the book, you’ll have gained new skills that you can use to better your position at work or to create applications as a hobby. No matter what your reason for wanting to learn Java, I’d love to hear from you as a potential beta reader because this book is for everyone who wants to learn something new about this language.

Anyone who participates will get their name mentioned in the Acknowledgements (unless you specifically mention that you’d rather not receive credit). The last edition of the book attracted 15 beta readers, all of whom contributed substantially to the high quality of that edition. If you’re interested in participating in this edition, I definitely welcome your input. Please contact me at [email protected] if you want to learn more about the beta reader program and this book in particular.

 

Java eLearning Kit for Dummies Manuscript Finished

Nothing excites me more than to complete the manuscript for another book. I actually completed the Java eLearning Kit for Dummies manuscript last week Wednesday, but there are always last minute things to do. Today I’m considering the manuscript for book number 89 done. Maybe I should consider adding the fact that eLearning is worth 200 billion per year into the books. It is hard to tell, though. At this point, I’m working on Author Review (AR)-a process where I interact with the various editors. I answer any questions they might have about my book’s content and also check their edits to make sure no mistakes have been introduced.

This book is really exciting for a number of reasons. First of all, it’s a carefully crafted tutorial. Even if you’re a complete novice, you should be able to use this book. Every term is defined, the code is fully documented, and you shouldn’t run into any unpleasant surprises where the author assumes that you know something that you don’t. In fact, this book had a total of 15 beta readers involved in reviewing the material, in addition to my ever faithful editors. Of course, being precise and careful doesn’t mean you won’t have questions and I always welcome your questions about any book I write.

Second, this book is intended for use on multiple platforms. It doesn’t matter whether you work on a Linux, Macintosh, or Windows machine-you can use this book to learn how to write basic Java applications. Creating a book that works on so many platforms is exhilarating in the extreme. I couldn’t have done it without the support of my beta readers and I wish to thank every one of them publicly. You’ll find the names of the beta readers who didn’t mind me mentioning them in the Acknowledgements when the book is released.

Third, this book is the first I’ve ever written that comes with an interactive CD. You don’t really have to read anything if you don’t want. I estimate that you can get upwards of 85% of the content of the book simply by listening to the CD. Of course, books on tape have been providing this service for a long time. The difference with this book is that the CD is interactive. Not only will you hear the text, but you’ll see animations demonstrating the various things you need to know about Java. A number of different quiz types will test your knowledge of Java as you progress through the book. Finally, you’ll work through hands on exercises in order to build your skills. In short, this book includes everything that some of the newer interactive books include, but in a form that works on any computer system.

It’s important for any buyer to understand that this book truly is intended for novice readers. You aren’t going to get an intense Java workout by reading this book. In fact, here is a list of the lessons in the book:

 

  • Lesson 1: Starting With Java
  • Lesson 2: Using Primitive Variables
  • Lesson 3: Using Object Variables
  • Lesson 4: Formatting Variable Content
  • Lesson 5: Working with Operators
  • Lesson 6: Working with Conditional Statements
  • Lesson 7: Repeating Tasks Using Loops
  • Lesson 8: Handling Errors
  • Lesson 9: Creating and Using Classes
  • Lesson 10: Accessing Data Sets Using Arrays and Collections
  • Lesson 11: Performing Advanced String Manipulation
  • Lesson 12: Interacting with Files
  • Lesson 13: Manipulating XML Data


Nothing here is earth shattering, but you do get a good basic knowledge of Java. By the time you’re finished, you’ll know enough to move on to the harder to understand tutorials you find in books and online. In order to demonstrate all of the techniques in these topics, you’ll find 101 fully documented examples. Each one is designed for you to work through and interact with so that you fully understand precisely how Java works on your platform.

I’ll be working on the CD for the next while. As soon as it’s finished, I’ll provide you with an update about the CD content. For example, I’ll let you know a bit more about the kinds of exams I’m providing. Let me know if you have any questions about my new book at [email protected].