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.
Author: John
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).
C++ All-in-One for Dummies Errata on Page 188
There is a mistake on page 188 of C++ All-in-One for Dummies, 4th Edition that is based on a supposed April Fool’s prank that was actually initiated on March 26, 2018 (see https://www.modernescpp.com/index.php/no-new-new) and spread throughout the Internet to sites such as: https://www.fluentcpp.com/2018/04/01/cpp-will-no-longer-have-pointers/. The problem with pranks, especially pranks that linger because the people who perpetuate them haven’t removed them, is that other people tend to believe them, as in this post: https://stackoverflow.com/questions/59820879/are-new-and-delete-getting-deprecated-in-c#. Later, much later, as in the note on the Fluent C++ site, people admit that it was a joke, but still leave the errant material in place.
After I had discovered that this information was a joke, I had meant to remove two sentences from the book, but somehow they stayed intact. The two sentences in question appear in the “Understanding the Changes in Pointers for C++ 20” section:
Readers who already know something about pointers need to be aware of the changes in pointers for C++ 20, which is why it appears first. The essential thing to remember as you move to C++ 20 (where new
is deprecated) and then to C++ 23 (where new
is removed) is that pointers are going to change.
If you find any other references in the book that state that new
is deprecated or removed, they too will be modified or eliminated during the next printing. I apologize for any problems that the error has caused, especially to readers who are new to C++, and have submitted an errata to the publisher so that the error is fixed during the next printing. If you have any questions at all about the book, please contact 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.
Harvest Festival 2016
This has been an interesting year in the garden. In looking at the Harvest Festival 2015 post, I see a year that offered me what I would call the standard garden items. Not so this year. The problems began with a late frost that wiped out my grapes and pears. In fact, it nearly wiped out my apples as well, but I learned a curious lesson with the fruit this year because of the apples. All the outer apple trees had no fruit, but those in the center of the orchard did have some fruit. In other words, the trees on the outside protected those on the inside. I didn’t get a lot of fruit this year, but it isn’t a big deal because my larder is setup to provide multiple years’ worth of any particular item. The lesson I learned was not to prune too heavily when the weather is uncertain (as it was this year). In fact, the reason the apples survived as they did was because I didn’t have time to prune them much at all.
The garden also behaved quite oddly this year due to the weather. The Wisconsin winter was semi-mild this year without nearly as much snow as normal, so different bugs survived than normal. In addition, the weather was either hot or cold, without a lot of in between this summer. It has also been the fourth wettest summer on record. All these changes produced prodigious amounts of some insects that I don’t normally see and the vegetables didn’t produce as expected.
As an example of odd behavior, I normally have a hard time growing cauliflower. This year I grew huge cauliflower and one plant is attempting to grow a second head, which is something that never happens here. On the other hand, broccoli, a plant that always does well, didn’t even produce a head this year. All I got were some spikes that didn’t taste good (they were quite bitter). The rabbits didn’t even like them all that well. The cauliflower is usually plagued by all sorts of insects, but this year there was nary a bug to be seen. The point is that you need to grow a variety of vegetables because you can’t assume that old standbys will always produce as expected.
Two other examples of odd behavior are okra (which normally grows acceptably, but not great) and peppers (which often produce too well for their own good). This year I’m literally drowning in beautiful okra that gets pretty large without ever getting tough, but the peppers are literally rotting on the plant before they get large enough to pick. I’m not talking about a few peppers in just one location in the garden either—every pepper plant completely failed this year.
Location can be important and planting in multiple locations can help you get a crop even if other people are having problems (and I didn’t talk to a single gardener this year who didn’t have problems of one sort or another). One example in my case were potatoes. I planted six different varieties in six completely different locations in the garden. Five of those locations ended up not producing much of value. A combination of insects destroyed the plants and tubers. All I got for my efforts were rotting corpses where the potatoes should have been. The last area, with Pontiac Red potatoes, out produced any potato I’ve ever grown. The smallest potato I took out of this patch was a half pound and the largest was 1 ¼ pounds. I didn’t even find any of the usual smallish potatoes that I love to add to soup. The potatoes were incredibly crisp and flavorful. The odd thing is that this patch was in an area of the garden that doesn’t usually grow potatoes very well.
A few of my garden plantings didn’t seem to mind the weather or the bugs in the least. My peas did well, as did my carrots. I grew the carnival carrots again because the colors are so delightful and even canned, they come out multiple colors of orange, which dresses up the shelves. I also grew of mix of yellow wax and green beans this year. The two beans work well together canned. They have a nicer appearance than just yellow or just green beans in a can. However, because the two beans have slightly different tastes, you also get more flavorful meals out of the combination.
I still stand by the statement I made long ago when starting this blog, every year is both a good and a bad year. Because I planted a wide range of vegetables and ensured I didn’t plant all the vegetables in a single location in the garden, I ended up with more than enough vegetables to can or freeze. No, I didn’t get all of the vegetables that I had hoped to get, but I definitely won’t starve either. My larder is quite full at this point. Let me know your thoughts on ensuring a garden has a significant variety of items in it to ensure success at [email protected].
Thinking About the Cost of Freedom (Updated)
A number of people contacted me about this post and wondered whether I still feel the same way about Memorial Day. The fact of the matter is that I feel even more strongly that the need to recognize the ultimate sacrifice made by fellow Americans to assure our freedom should take precedence on this day. As I read about the overwhelming odds faced by veterans in the newspaper, magazines, online, and in various veteran’s sources, I become even more aware of the lifelong commitment that anyone who has spent time in the military makes. Some things simply can’t be fixed—the commitment, the sacrifice, and the awful truth of the outcome of decisions made to help our country are permanent. Those who made the ultimate sacrifice paid the highest price of all to ensure that everyone else can enjoy the freedom this country has to offer.
For many people, Memorial Day, which is also known as Decoration Day, is simply another day to spend time with friends and family. Of course, every veteran would agree that the reason for the sacrifice is so that people could spend time with friends and family. Everyone loves a good picnic or barbecue and being free to gather as we wish is important. The freedom to do what you want, when you want to do it, is an important right. Memorial Day is all about remembering, at least for a moment, the cost of that freedom.
I’m writing this post on Friday. Like many people, I won’t be in my office today. In fact, I’m making it a true day off—I’m not even bringing my computers up. About now, I’ve spent some time thinking about the guys I served with in the Navy and said a prayer for their well being. I’ve also thought about all those people who came before me and have served since my time—people who gave of themselves. However, I have to wonder just how many people have thought of those who died (or even the veterans who managed to live through it all).
In preparing for the post today, I wanted to find something interesting—something I haven’t discussed in years past. It was a bit surprising that Google returned all sorts of unexpected results. The first entry was from Wikipedia, which is quite nice, but hardly noteworthy. However, the next several entries were about the things that could (and should) surround Memorial Day, but didn’t discuss the main event at all. There were entries about the weather, finding the food you need for your picnic, the potential for wet conditions ruining the Memorial Day celebration, and an ad for Travelocity. At least I didn’t go ten straight entries without finding something worthwhile. The next entry was a CNN presentation of the difference between Memorial Day and Veteran’s Day. I then went another 14 entries before I found something that was actually related to Memorial Day. So, out of the top 20 hits on Google, 18 of them talked about the weather, picnics, travel, television shows, and all sorts of things that really don’t have anything to do with Memorial Day.
Fortunately, you don’t have to follow the crowd. You can choose to celebrate the true meaning of Memorial Day, which is to remember those who have made the ultimate sacrifice to ensure you have the freedom to live as you wish to live. Take time this Memorial Day to provide a moment of silence at your picnic or other festivity. No one is asking you to be somber for the rest of the day, just to take a quick time out in remembrance. After all, all those fellows in Arlington (and other cemeteries worldwide) thought your freedom was worth far more than a moment of silence, they gave their lives to attain it.
Writing Involves Reading
A lot of people think that ideas simply come into my head from nowhere and then I write them down. At some point, usually after three or four hours with several coffee breaks thrown in, I go fishing or do something else with my life. Somehow, the books just magically appear on sites such as Amazon and in the bookstores.
Unfortunately, writing isn’t quite that simple. During any given week I probably spend a minimum of 14 hours reading, often times more. I don’t just read computer science books either. In fact, many of my best ideas come from non-computer sources. It’s hard to say what will make a good source for ideas for my particular kind and style of writing. I’ve actually had poems influence me and more than a few fiction books. I once created a section of a chapter based on an idea I got from a Tom Clancy novel. The point is that writers are engaged in two-way communication. We get input from all sorts of sources, use that input to create new ideas and concepts, and then write those new bits of information down for others to read.
Reading differs from research. When an author researches something, the focus is direct and narrow. The goal is to obtain specific information. Reading is far more general. There really isn’t a focus, just communication. In reading a book or magazine, I might find a new technique for presenting information or a perspective I hadn’t considered before. The goal is to obtain experiences; to explore the world of print in an unfettered manner. The result is often enhanced creativity.
Of course, just as no one is able to get up in the morning and say, “Today I will be brilliant!” with any level of serious intent, reading may not produce any lasting effect at all. The communication may be an ephemeral experience of pleasure, joy, or some other emotion. Even in this case, letting the subconscious mind work while keeping the conscious mind entertained is a good idea. Sometimes a reading session, followed by a walk or some other activity, yields a solution to a writing problem that has nothing to do with the reading or the walking, but simply the allocation of time to the needs of the subconscious mind.
The bottom line is that if you want to become a writer, then you really must engage in writing activities because writing is as much about practice as it is talent. However, you must engage in other forms of communication as well or your skills will top out at some level and you’ll never fully realize your potential. Reading is truly a fundamental part of writing. Let me know your thoughts on reading as part of building skills in writing at [email protected].
Early Season Canning
I’ve already been canning this season. A lot of people hear this claim and wonder just what it is that I’m canning. The first food I started canning is soup. I get the ingredients from my freezers. Anything that’s starting to get a bit old is fair game. I also save the larger bones from various meats, especially when I have the meat processed by someone else. The meat and vegetables made into soup can quite well and last a lot longer than they would in the freezer. Nothing is quite so nice on a cold winter’s day than hot soup. I usually get two or three servings out of each quart that I can (sometimes four if I add enough additional items). Given the cold winters here in Wisconsin, I can go through a lot of soup.
Once I can the soup, the freezers are less full, so it’s time to defrost them. It’s essential to defrost, clean, and reorganize your freezers every year. Doing so lets you create an inventory of what you have in stock so that you have a better idea of what you need to grow. In addition, you don’t want to keep items so long that they become unpalatable and visually unappealing. Freezer burned food is completely safe to eat, but you may not want to eat it. Some of the ways in which you can prevent freezer burn is to vacuum pack your food and to ensure you rotate it out before it sits in the freezer too long. In some cases, when food is mildly freezer burned, I’ll make it up into pet food (my animals don’t seem to mind as long as the food is prepared to their liking). However, it’s better to use the food up before anything actually does happen to it.
So far I’ve made 14 quarts of chicken soup and another 14 quarts of venison stew. Canning soup means using a pressure canner. Make sure you follow the instructions in a resource such as the Ball Blue Book and the book that comes with your pressure canner. Read Considering the Dangers of Outdated Canning Information for details on keeping yourself safe when using the Ball Blue Book.
It’s also time to can early garden items. For example, when canned properly, rhubarb makes a highly nutritious fruit dish that I eat directly from the jar. You can also make it into pie filling. So far, I’ve made up 7 quarts of plain rhubarb and 7 quarts of spiced rhubarb, both of which will be quite tasty this upcoming winter. Fortunately, you can use hot water bath canning techniques with rhubarb and other high acid foods.
In some cases, you need to mix and match items. The frozen green and wax beans in my freezer weren’t getting any younger, so I used them to make up four bean salad. Actually, it’s supposed to be three bean salad, but some of my recipes called for Lima beans, while others called for kidney beans. I decided to use both, hence four bean soup. I used up all the remaining beans and garnered 16 pints of four bean salad on my larger shelf. Doing so also used up the cans of kidney and Lima beans in my cabinets.
Finally, pickled asparagus can be quite a treat in the middle of winter. So far, I’ve only made up 8 pints of pickled asparagus, but I’ll make up more. I’ll also be freezing some asparagus for fresh use later in the year. In short, canning season has started—time to get going! Let me know about your current canning project at [email protected].
Getting a Good Anaconda Install
Some people may have misinterpreted the content at the beginning of Chapter 3 in Python for Data Science for Dummies. It isn’t necessary to install the products listed in the Considering the Off-the-Shelf Cross-Platform Scientific Distributions section starting on Page 39. These products are for those of you who would like to try a development environment other than the one used in the book, which is Anaconda 2.1.0. However, unless you’re an advanced user, it’s far better to install Anaconda 2.1.0 so that you can follow the exercises in the book without problem. Installing all of the products listed in Chapter 3 will result in a setup that won’t work at all because the various products will conflict with each other.
Because Continuum has upgraded Anaconda, you need to download the 2.1.0 version from the archive at https://repo.continuum.io/archive/.There are separate downloads for Windows, Mac OS X, and Linux. The chapter tells you precisely which file to download. For example, for Windows you’d download Anaconda-2.1.0-Windows-x86_64.exe. The point is to use the same version of Anaconda as you find in the book. You can find the installation instructions on Page 41 if you have a Windows system, Page 45 if you have a Linux system, or Page 46 if you have a Mac OS X system. Make sure you download the databases for the book by using the procedures that start on page 47.
Following this process is the best way to ensure you get a good installation for Python for Data Science for Dummies. Luca and I want to make certain that you can use the book to discover the wonders of data science without having to jump through a lot of hoops to do it. Please feel free to contact me at [email protected] if you have any questions about the installation process.