Missing XMLData2.xml File

A number of readers have written to report that XMLData2.xml is missing from the downloadable source for Python for Data Science for Dummies. You encounter this file in Chapter 6, on page 108. The publisher has already added the file to the downloadable source, but you might be missing the file from your copy. If so, you can download it by clicking XMLData2.zip. I’m truly sorry about any problems that the missing file might have caused. Please be sure to let me know about your book specific question at John@JohnMuellerBooks.com.

 

The Internet – The Home of Old Data Made New

I have to admit to making this error myself.  I’ll perform a search online and fail to fully check the freshness date of the information I obtain. Of course, there are several levels of freshness date to consider. The first level is the information source. This is the easiest level of data to check. You simply look at the date of the material when you get to the page. Unfortunately, some authors don’t date their work, so you can’t always rely on a posting date. The next best alternative is to ask the search engine to list only those entries that come from a certain time frame. In most cases, you can verify that the information appearing in an article or other posting is current enough for your needs.

Unfortunately, just verifying the posting date may not be good enough. The second level of check is the version of the products discussed as part of the post. For example, you might come to my blog and find a post on CodeBlocks. Unless you read the article carefully, you might think that I’m discussing the latest version of CodeBlocks. However, I have a number of books that rely on CodeBlocks, so I might actually be discussing an older version of CodeBlocks that I used in a specific book. Reading carefully and ensuring you understand version issues is the best way to verify this second level of information.

A third level of freshness checking is the information sources used by the author. This is where things get tricky because the author could truly think that the information source used for an article is the most current available, yet it’s outdated before the author even uses it. Some technologies change so fast that using a resource even a few months old is deadly. These resources become outdated so quickly that they can blindside even a professional author, much less someone who writes on the side. Verifying this level of information requires that you depend on at least three information sources (I recommend finding as many as you can). Gently nudging an article author and mentioning that the information sources might contain outdated material is often helpful when done in a constructive manner.

Freshness checking can occur at even deeper levels. The point is that you can’t be sure that a resource that keeps information literally forever contains the latest information on any given topic. In addition, even when that information is available, it’s up to you to find it. I do try to provide the latest information available when I can. However, when the topic is a question on an older book, I need to address the question in the context of that book and will provide you with some sort of version information so you know what to expect. If you ever question the freshness of the information I provide, please feel free to contact me at John@JohnMuellerBooks.com.

 

Security for Web Developers Released!

My Security for Web Developers book is released and ready for your review! I’m really excited about this book because I was able to explore security in a number of new ways. In addition, I had more technical editor support than just about any other book I’ve written and benefited from the insights of a larger than usual number of beta readers as well. Of course, the success of this book depends on you, the reader, and what I really want to hear is from you. What do you think about this latest book? Do you have any questions about it? Please feel free to contact me about it at John@JohnMuellerBooks.com.

Of course, I’m sure you want to know more about the book before you buy it. Amazon has the usual write-up, which is helpful, but you can also find insights in the beta reader request for this book. Make sure you also check out the blog posts that are already available for this book in the Security for Web Developers category. These value added posts will help you better understand what the book has to offer. More importantly, you get a better idea of what my writing style is like and whether it matches your needs by reading these posts.

Make sure you also get the source code for this book from the O’Reilly site. I highly recommend using the downloadable source, rather than type the code by hand. Typing the code by hand often leads to errors that reduces your ability to learn really cool new techniques. If you encounter errors with the downloaded source, make sure you have the source code placed correctly on your system. When you get to the O’Reilly download page you also find links for viewing the Catalog Page for this book and reporting Errata.

Have fun with my latest book! I’m really looking forward to hearing your comments. Thank you, in advance, for your continued support.

 

Browser Support in My Books

A number of my books rely on browser output to show the result of various coding techniques, including Security for Web Developers, HTML5 Programming with JavaScript for Dummies, and CSS3 for Dummies. I try to keep up with changes in technology with my books and I’m currently testing the code in all three books with Internet Explorer 11. According to a recent ComputerWorld article, users of older version of IE only have six weeks to make an update to the new version. They can also use the Edge browser or move to a competitor’s browser. My books list the browsers I used for initial testing of the source code, but I do try to at least check the code with newer browsers to ensure you have a good reading experience. In this case, the check is critical because I can’t expect you to rely on unsupported software to use my books.

When I originally wrote each of these books, I had at least one technical editor and a number of beta readers checking my code under various conditions to ensure the code would run as advertised on the maximum number of systems. I no longer have the support, so I’m testing these updates on just my systems. If you encounter a problem with the source code of any of these books, please be sure to contact me at John@JohnMuellerBooks.com. Now, here’s the important part. Make absolutely certain to let me know that you’re using a newer browser—one not originally tested in the book so I can handle your query correctly and also provide an update on my blog. Your input will help other readers.

Whenever possible, I encourage readers to use the environment described in the book to write their own code. Doing so reduces the potential for problems because I know that the environment is tested by a number of people in a number of environments. However, sometimes using the original environment isn’t possible any longer, such as this instance where Microsoft is putting its collective foot down and forcing an update. Please be sure to write me if you have any questions about the source code for these book. Thanks, as always, for your continued support!

 

Predicting Processed Rabbit Weight

One of the issues that faces someone who raises meat rabbits is how to predict the dressed or processed weight of the rabbit based on the live weight. After all, you can’t add more weight after the fact. First of all, you need to weigh the rabbit before you feed it, rather than after. Using the before feeding weight seems to provide more predictable results. I’ve found that rabbits can be picky eaters at times, so using this baseline ensures I’m not weighing different amounts of ingested food. Couple the before feeding weigh-in with a same time of day feeding time to ensure you get predictable results. (I also feed right before sundown because rabbits are nocturnal and will feed better at night.) However, there is always some variance, so you need to expect some range in the dressed weight of the rabbit.

Younger rabbits tend to dress out at a higher percentage of their live weight. Most people wait at least eight weeks before attempting to process rabbits. However, these younger rabbits are also considerably smaller than a more mature rabbit. Waiting until thirteen to fifteen weeks often produces a nicer rabbit even if the live weight to processed weight ratio is smaller.

What you feed the rabbit will also make a difference in the ratio because some types of food tend to produce more fat, than lean meat. Adding corn or other grains to the feed will cause the rabbit to be more tender and grow faster, but at a lower ratio and with more inner fat (the fat that isn’t removed with the skin). When you feed anything other than alfalfa pellets, you change the texture of the rabbit and its fat content, and therefore the ratio of live weight to processed weight. For example, feeding the rabbit grass will tend to make it leaner.

The kind of rabbit can also make a big difference. A New Zealand rabbit may only provide a ratio of 55% live weight to processed weight, while a Dutch can provide a ratio as high as 60%. Mixed breed rabbits increase the uncertainty of yield, but do provide advantages in genetic diversity, which can improve the taste of the meat and reduce the need to use medications that pure bred rabbits could require. In short, you need to consider the trade-offs of various decisions you make during the entire process.

In general, you can expect a ratio as low as 50% for a mixed breed rabbit and somewhere around 65% for a Californian/New Zealand mix. However, you must take all sorts of other factors into consideration as previously mentioned. To help me calculate the processed weight better, I started to keep records of live weight to processed weight ratios, ensure I fed the rabbits the same diet, and kept my stock as close as possible to the same mix. Even so, I find that each processing session provides slightly different ratios. Let me know about your live weight to processed weight insights at John@JohnMuellerBooks.com.

 

Making Algorithms Useful

I’m currently engaged writing Machine Learning for Dummies. The book is interesting because it turns math into something more than a way to calculate. Machine learning is about having inputs and a desired result, and then asking the machine to create an algorithm that will produce the desired result from the inputs. It’s about generalization. You know the specific inputs and the specific results, but you want an algorithm that will provide similar results given similar inputs for any set of random inputs. This is more than just math. In fact, there are five schools of thought (tribes) regarding machine learning algorithms that Luca and I introduce you to in Machine Learning for Dummies:

  • Symbolists: The origin of this tribe is in logic and philosophy. This group relies on inverse deduction to solve problems.
  • Connectionists: The origin of this tribe is in neuroscience. This group relies on backpropagation to solve problems.
  • Evolutionaries: The origin of this tribe is in evolutionary biology. This group relies on genetic programming to solve problems.
  • Bayesians: This origin of this tribe is in statistics. This group relies on probabilistic inference to solve problems.
  • Analogizers: The origin of this tribe is in psychology. This group relies on kernel machines to solve problems.

Of course, the problem with any technology is making it useful. I’m not talking about useful in a theoretical sense, but useful in a way that affects everyone. In other words, you must create a need for the technology so that people will continue to fund it. Machine learning is already part of many of the things you do online. For example, when you go to Amazon and buy a product, then Amazon makes suggestions on products that you might want to add to your cart, you’re seeing the result of machine learning. Part of the content for the chapters of our book is devoted to pointing out these real world uses for machine learning.

Some uses are almost, but not quite ready for prime time. One of these uses is the likes of Siri and other AIs that people talk with. The more you interact with them, the better they know you and the better they respond to your needs. The algorithms that these machine learning systems create get better and better as the database of your specific input grows. The algorithms are tuned to you specifically, so the experience one person has is different from an experience another person will have, even if the two people ask the same question. I recently read about one such system under development, Nara. What makes Nara interesting is that she seems more generalized than other forms of AI currently out there and can therefore perform more tasks. Nara is from the Connectionists and attempts to mimic the human mind. She’s all about making appropriate matches—everything from your next dinner to your next date. Reading about Nara helps you understand machine learning just a little better, at least, from the Connectionist perspective.

Machine learning is a big mystery to many people today. Given that I’m still writing this book, it would be interesting to hear your questions about machine learning. After all, I’d like to tune the content of my book to meet the most needs that I can. I’ve written a few posts about this book already and you can see them in the Machine Learning for Dummies category. After reading the posts, please let me know your thoughts on machine learning and AI. Where do you see it headed? What confuses you about it? Talk to me at John@JohnMuellerBooks.com.