Printing the Blog Posts

A number of readers have written to express their desire for printable blog posts. I feel your pain. If I had a nickle for every piece of paper wasted trying to print something found on a site somewhere, I’d be a rich man. On some sites, it just isn’t possible to print the content without dragging a lot of extra material. Just a little bit of material ends up consuming several printed pages and sometimes you can’t get a good printout no matter how hard you try. Yes, it’s quite frustrating.

Fortunately, it’s easy to print my blog posts without all of the extra material. Start by clicking the post title link (when viewing multiple posts in the list format). You’ll see the post presented by itself. The title text is a little larger in this format and you have the ability to add comments to the post as needed. However, look down at the Posted by entry at the bottom of the page. Next to that entry is the name of the poster (me), the date and time of the posting, and a little printer icon.

When you click the printer icon, you’re taken to another page that shows the post in plain text without any of the fancy formatting. The printer dialog for your system also opens so that you can choose a printer to use. All you need to do at this point is tell your system to print the post and you should see a plain text version appear at your printer.

I know this particular setup works well with my systems and I’ve tested it with Firefox, Chrome, and IE. However, if you encounter problems printing a post, please let me know at I’ll do my best to find a solution for you so that you can output the post to your printer.


Hidden Eggs

Some time ago I wrote a post entitled, “Dealing with Broody Chickens.” The chicken in question had decided to take to her nest box and stopped laying eggs. That’s only one sort of problem that can occur with hens. In some cases, a hen doesn’t become broody, she takes another course to perceived motherhood. In this case, Daisy decided to hide her eggs from view.


Of course, we didn’t know that she had decided to hide her eggs until later. Because Daisy lays a particular egg color, a beautiful light blue, we had noticed we weren’t getting any eggs from her. However, we also hadn’t noticed any broody behavior. She was still out with the other chickens and didn’t have any of the other tendencies either.

I had also noticed an odor around some of the plants at our house. Given that we live just a few feet from the woods and that we have livestock, the odor didn’t attract too much attention, but I should have paid more attention to this particular odor.

Things got interesting one evening when we put the chickens up. Daisy was nowhere to be found. We searched and called, but no Daisy. Finally, we closed the coop up thinking that some wild animal had gotten our poor hen. Imagine our surprise the next morning when she turned up outside. That’s when I decided to follow her around a bit. She kept going over to the hostas and I finally saw something interesting. See if you can see it in this picture as well.


Up near the top of the frame in the center of the picture you see a hole in the hosta covering. Normally the hostas won’t have a hole like that. When you look very closely at the hole in the hostas, you see something. Taking a closer look, you can see what that something was.


Daisy had built herself a nest in the hostas and laid 18 eggs there. She was busy setting on eggs that would never hatch because we have no roosters. Unfortunately, a good many of them were rotten by this time and cleaning them up was an unpleasant experience. This would lead many people to ask why we risk letting our chickens run free. There are many benefits in having chickens that can run around as they like.


  • Happier chickens
  • Fewer health problems
  • More eggs for the most part
  • Better egg quality
  • Lower feed costs
  • Reduced insect and other pest problems

Chickens like to get out and hunt for bugs. They eat more bugs and grass than they eat anything else. The more bugs chickens eat, the less mash you feed them and the lower your feed costs. The resulting eggs have more nutrients. Chickens will also clean up food dropped by other animals, which reduces the food left for pest animals. This means that all of your animals live in a better environment and you have fewer worries about having to deal with pests later.

In short, losing the 18 eggs was bothersome (not to mention expensive), but the benefits of letting Daisy run around are far greater. Let me know your thoughts about chickens running free at


Beta Readers Needed for a C++ Book Update

A lot of people (892 so far) have sent me e-mail about C++ All-In-One Desk Reference For Dummies. A few more have commented online and some of you have written reviews as well. In fact, it’s one of the more popular books I’ve written to date. I keep statistics on every message I receive so that I can better understand how a book is succeeding and how it has failed. For example, I know that most readers like CodeBlocks, but they wish my book used a newer version of the product. Don’t worry, the updated book will use the latest CodeBlocks release. I’ve also discovered that none of you apparently uses the Microsoft-specific materials in Book VII—this information will be replaced with something you do want in this next edition. All of the examples will also be tested on the Mac, Windows, and Linux platforms to ensure it works well no matter what platform you use.

Naturally, everything that requires an update in the book will get updated. I’ll also look at the latest specification and determine what sorts of new topics might interest you. However, I really do need your input. Only you actually know what you’d like to see in an updated book and I’m determined to find out what that is. You can help me shape the updated book by writing me at with your ideas and suggestions. Don’t wait until later, write me today!

Even better, why don’t you become a beta reader? You’re under no obligation to read the entire book. I’ll send you the chapters as I write them and it’s entirely up to you to send them back with comments. I’ll never bug you for comments. Any comments you do send will receive careful consideration and I’ll modify everything I can as I go through the Author Review (AR) process where I incorporate editor comments as well. By being a beta reader, you get to shape the book content and get precisely the book you’d like. Make sure you sign up to be a beta reader today.

As part of being a beta reader, your name will appear in the book Acknowledgements (unless you specially ask that I don’t provide it). However, one of the bigger benefits to you is that you get to read the book free of charge and gain the skills that it can provide for you. Imagine what learning a new programming language can do for your career. Even if you don’t need C++ for work, you can use what you gain to create applications for your own needs and to obtain a better understanding of how computers work.

Many people are concerned that they don’t qualify to be a beta reader, but that’s not the case at all. You don’t need to know anything about C++ or programming for that matter to be a beta reader for this book. All you need is a desire to learn how to use C++ to develop simple applications. It really is that simple.


Fermenting Fruit and Animals

Every year a certain amount of fruit falls from our trees and ends up rotting on the ground. For some people, that would be the end of the story. A few others might clean up the resulting mess. However, we choose to leave it in place. The fruit actually ferments and produces alcohol. Even through many people don’t realize it, fermentation is a natural process that would happen quite easily without anyone’s help. In fact, some of the best tasting foods, such as sauerkraut, are naturally fermented (most sauerkraut you buy in the store isn’t naturally fermented and you’d be able to taste the different readily if it were).

It turns out that the animals in the area enjoy imbibing in a little fermented fruit. Our experience isn’t uncommon either-it happens all over the world. There is never enough fruit left over to make the animals terribly drunk (as happened recently to a moose in Sweden). Most of the time they appear to get a bit happy and go on their way. Until the other day, all I had ever seen eating the fruit were the rabbits and deer in the area. So, it surprised me a little to see our laying hens swaying back and forth on their way to the coop. I couldn’t help but think of those teenagers you see on TV who have used a fake id from somewhere like to buy cheap booze and have drunk more than they can handle. Rather than going to an unscrupulous liquor store, however, It seems that the hens also enjoyed the fermented pears lying on the ground.

All of the fruit we grow (apples, pears, plums, cherries, and grapes) will ferment given time. You might wonder how the fermentation takes place. The easiest way to see the start of fermentation is to look at unwashed grapes, especially wild grapes. If you look carefully, it appears that they’re covered with dust. That’s not actually dust, it’s wild yeast. When the fruit is ripe enough and the yeast is able to breach the skin, fermentation begins.

If it’s so easy to create alcohol from natural sources, you might wonder what all the hubbub is about in buying yeast. Different yeast have different properties. When you rely on a wild yeast, you get varying results. Cultured yeast has known properties, so it works better when making bread or wine. The results are repeatable. In addition, using a cultured yeast makes it easier to stop the natural conclusion of the fermentation process, which is always some type of vinegar-like substance (more specifically, lactic acid).

At issue here is how much responsibility a landowner has to nature when it comes to fermented fruit. Because we pick the vast majority of our fruit, the animals in our area get a little happy and that’s about the extent of what happens. When you leave full trees of fruit to rot though, it could become a problem for the wildlife in your area, such as that moose in Sweden. If you can’t pick your fruit for whatever reason, try to find someone who will. Otherwise, you might find yourself trying to correct the errant judgements made by the wildlife in your area when it gets drunk. Let me know your thoughts about fermentation and animals at


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 if you want to learn more about the beta reader program and this book in particular.


Harvest Festival 2013

Normally Harvest Festival is a well-organized event for us. I plan the time carefully and include a week out of the office to ensure I have time to harvest the last of the garden and all the fruit without problem. However, all the planning in the world won’t account for the vagaries of nature every time. Even though the Harvest Festivals in 2011 and 2012 went off precisely as planned, the Harvest Festival this year ended up being one emergency after another. It started when our fruit ripened three weeks sooner than expected—make that half the fruit. The other half of the fruit is ripening this week on schedule. The odd ripening schedule points out another potential issue with global warming, but more importantly, it demonstrates the requirement for flexibility when you’re self-sufficient. Yes, it’s possible to plan for a particular outcome, but what you get could be an entirely different story.

This year’s Harvest Festival was stretched out over three weeks while I continued to write and do all of the other things I normally do. (Fortunately, Rebecca was able to put many of the tasks she needs to perform on hold.) Of course, the dual work requirements made for some really long hours. Creating an enjoyable work environment is one of things that Rebecca and I work really hard to obtain. It’s part of our effort to make our close relationship work. So, this Harvest Festival included all of the usual music and other special environmental features we normally have. Lacking this year was much in the way of game playing, but it was a sacrifice we needed to make.

One of the bigger tasks we took on this year was processing four bushels of corn that someone gave us (all in a single day). Actually, the corn came from a few different sources, but the majority came from a single contributor. Of course, we started by husking the corn and getting all of the silk off.


The next step is to cut all of the corn off the cob. This step can be a little tricky. You need a moderately sharp knife around 8″ long. If the knife is too sharp, you’ll take off some of the cob with the kernels. A knife that is too dull will damage the corn and make a huge mess. The knife needs to be long enough so that you can remove the kernels safely—a pairing knife would be an unsafe option.


We use a raw pack approach when working with the corn. You want to be sure to pack the corn firmly, but not crush it. Rebecca always takes care of this part of the process because she has just the right touch.


Each pint or quart is topped off with boiling water at this point. We don’t add anything else to our corn. The corn needs to be processed in a pressure canner because it’s a low acid food (the processing time varies, so be sure to check your canning book for details, we rely on the Ball Blue Book and have never had a bad result).


We had four fresh meals from the four bushels of corn. There is nothing quite so nice as corn roasted on the barbecue. We also gave the chickens an ear (plus all of the cobs). They seem to have quite a good time pecking out all the kernels.


Even with these few subtractions, we ended up with 42 pints (each pint will last two meals using the recommended serving size of ½ cup) and fourteen quarts (used for soup and for company) out of the four bushels of corn. As a result, we have enough corn in the larder now for about 1½ years (a total of 140 servings).


Our Harvest Festival this year included processing pears, grapes, apples, a wide variety of vegetables, and even some of the meat chickens (125 ¾ pounds worth on a single day). The point is that we did get the work completed and we did it while still having as much fun as is possible. We’re both admittedly tired and still resting up. Still to come is the garden cleanup and the wood cutting, and then we’ll have an entire winter to rest up for next spring. Let me know about your latest self-sufficiency emergency at


Database Creation Differences Amongst Language Versions

The issues that come with working with non-English language versions of Visual Studio are becoming more apparent as readers write to me about them. Here is the essential problem that you need to consider when reading this post. I strongly endorse use of the downloadable source when working with one of my books. Using the downloadable source means that you don’t have to worry about problems with internationalization or with typos for that matter. All you need to do is load the example into your copy of Visual Studio and follow along as you read the book.

However, many people learn by doing and that’s when problems come into play. If you recreate the examples from scratch, you could encounter problems that have nothing to do with your programming skills or your ability to follow directions. In this case, the problem isn’t the fault of the reader, but of Visual Studio. Databases are created differently by the Entity Framework designer when working with various language versions.

A German reader was kind enough to send me some screenshots of a particular issue that I don’t discuss in the book because I was unaware of it when I wrote it (and a lack of international beta readers kept me from learning about it until now). If you look at the Entity SQL example that begins in the “Creating a basic query using Entity SQL” section of Chapter 4 (page 86), you see that the code interacts with the Customers table. You create this table earlier in the book and it should appear as Customers in SQL Server Management Studio. However, it doesn’t appear under that name if you’re working with the German version of Visual Studio. The IDE appends the word Satz (set) to the table name as shown here (all screenshots are courtesy of my German reader):


Consequently, when you try to create the code shown on page 87, it doesn’t work. It would work if the table had the right name or if the code used the right name, but the two are out of sync. In order to make this example work, you must change the example code as shown here:


Of course, making the code change (circled in red) does solve the problem, but it’s not something the developer should have to deal with. In addition, consider how things will work if you’re interacting with a number of team members in different countries—all of whom are using their own language versions of Visual Studio. The resulting chaos must be impressive indeed.

The true source of the problem is the Entity Framework Designer. When you initially create your design, the name of the entity might be Customers, but the Properties window will automatically add Satz to the name for you as shown here:


To make the book examples work as they appear in the book, you need to ensure that the entity names match those in the book. In this case, all you need to do is remove the Satz part of the name.

Unfortunately, these sorts of problems will continue to crop up with various languages. I’d like to hear about them because knowing what could happen will help me write better books in the future and to provide updates to you here. I really appreciate all of the help my German reader provided in this case. Contact me with any other language-specific glitches you find at


Review of Math for the Zombie Apocalypse

Making learning fun is something every author struggles with and few authors achieve. Math for the Zombie Apocalypse is one of the few books out there that actually make a mundane topic like mathematics fun. The essential content of this book is the same as the content for any beginning math book you have ever read. There is no way to get around the requirement of having to learn addition, subtraction, multiplication, and division. However, this book accomplishes its task with panache.

The reader is instantly engaged in a favorite topic of children today, avoiding zombies. Of course, it’s one thing to say that you want to avoid zombies, but it’s quite another to actually accomplish the task. Throughout the book, the reader is asked how he or she would prove their mettle against hoards of zombies roaming the land. The answer is to use math to figure out how to stay alive while less skilled acquaintances become zombies themselves.

Of course, the book is meant entirely in fun. The humor is grand and of the sort that children will enjoy immensely. However, the result of reading the book is that a child sees a useful purpose in learning math—even though this purpose is quite fictional in nature. Most math books out there are dry, humorless tomes filled with mind numbing repetition that will lull the most stalwart child to sleep. There is no reason that a child can’t learn new skills in a fun-filled environment. Before the reader realizes it, he or she has learned new and useful skills.

Fortunately, this isn’t the only book the author intends to write. You’ll want to wait to see the new additions to the for the Apocalypse series, but for now, make sure you check out Math for the Zombie Apocalypse, especially if you have a child that is having a hard time learning the basics. This is the sort of book that I wish had been available when I was growing up and one that I hope others see as being a valuable way to get kids interested in an essential topic. The press, teachers, parents, and even a few students complain about the low scores children achieve in basic math today, but this book does something about the problem.


DateTimePicker Control Data Type Mismatch Problem

A reader recently made me aware of a problem with the Get User Favorites example in Chapter 2 that could cause a lot of problems depending on which language you use when working with Visual Studio 2012. This issue does affect some of the examples in Microsoft ADO.NET Entity Framework Step by Step so it’s really important you know about it.

Look at the model on page 30 of the book (the “Creating the model” section of Chapter 2). The Birthday field is defined as type DateTime. When you finish creating the model, you right click the resulting entity and choose Generate Database from Model to create a database from it. The “Working with the mapping details” section of Chapter 1 (page 19) tells you how to use the Generate Database Wizard to create the database. The Birthday field in the database will appear as a datetime type when you complete the wizard, which is precisely what you should get.

At this point, you begin creating the example form to test the database (the “Creating the test application” section on page 36). The example uses a DateTimePicker control for the Birthday field by default. You don’t add it, the IDE adds it for you because it sees that Birthday is a datetime data type. The example will compile just fine and you’ll be able to start it up as normal.

However, there is a problem that occurs when working with certain languages when you start the “Running the basic query” section that starts on page 39. The DateTimePicker control appears to send a datetime2 data type back to SQL Server when you change the birthday information. You’ll receive an exception that says the data types don’t match, which they don’t. There are several fixes for this problem. For example, you could coerce the output of the DateTimePicker control to output a datetime data type instead of a datetime2 data type. However, the easiest fix is to simply change the data type of the Birthday field in the database from datetime to datetime2. After you make this change, the example will work as it should. You only need to make this change when you see the data type mismatch exception. I haven’t been able to verify as of yet which languages are affected and would love to hear from my international readers about the issue.

As far as the book is concerned, this problem is quite fixable using the manual edit (although, manually editing the database shouldn’t be something you should have to do). However, it does bring up the question of how teams working across international boundaries will interact with each other if they can’t depend on the controls acting in a particular way every time they’re used. This is a problem that you need to be aware of when working with larger, international, teams. Let me know if you have any questions or concerns about the book example at You’ll have to contact Microsoft about potential fixes to the DateTimePicker control since I have no control over it.


Hornets in the Pear Tree

It always pays to look at your trees carefully before you do anything with them. That’s why it’s never a bad shout to consult a Tree Care Specialist in Jacksonville, Fl before making any drastic removals on your own. You never know what will be living there, especially if you’re like me and don’t use noxious sprays. There are many times where birds are nesting in the trees and I try my best not to disturb them. Trees also harbor a number of insects and other animals. Whatever is hiding in that tree, it won’t be apparent when you first approach.


For example, this pear tree looks perfectly normal. I was approaching it one morning to pick the ripe pears and it looked just like this when I first saw it. However, I always exercise caution when I want to do something with the tree and in this case, caution was very much warranted. Hiding in the tree was a hornet’s nest (about 24″ tall and about 12″ in diameter). You’d have to be brave to get rid of this on your own, which is why some people may opt to check out sites like in the hopes of getting in touch with a pest control company who would be able to get rid of the nest in the safest way possible.


Even when you get up close (and this was as close as I dared to get), the hornet’s nest isn’t immediately obvious. You really need to look before you do anything or suffer the consequences. Unfortunately, this tree has around 60 pounds of fruit on it. The fruit will likely go to waste because it isn’t worth getting stung to retrieve it. The deer will likely enjoy some good meals off us this fall as the pears drop and ferment.

Of course, the first thought would be to get someone to remove the nest, but the cost of doing so would far outweigh any benefit obtained from retrieving the fruit. In addition, hornets are one of those odd insects that are neither completely useful nor a complete nuisance. In the spring and early summer, hornets are helpful predators that actually kill off extremely harmful pests. The particular kind of hornet that we have, the bald faced hornet, also helps pollinate our trees. It’s one of eleven pollinators that I’ve identified that visit all of our trees during the spring. In other words, killing the hornets is a bad idea.

During the fall months, the tastes of the hornet change and they begin craving sugar. That means eating into some of the fruit we grow. However, they’re only attracted to fully ripe fruit that is almost to the point of being a little overripe. We avoid damage from the hornets by picking our fruit when it’s just a little underripe. When a hornet has made a small hole, we can brush it away. The bald faced hornet isn’t aggressive except when it comes to its nest (or outright abuse by humans). Respectful treatment doesn’t result in a sting (at least, Rebecca and I haven’t been stung by them them entire time we’ve had fruit trees, which is over 17 years now). The only thing that will really get you into trouble is disturbing the nest, which is why that tree will remain unpicked this year.

Once winter arrives, the majority of the hornets will die. The new queens will live on in the center of the nest, ready to emerge in the spring. What I’ll do is cut the nest out of the tree during a day when the temperatures are below freezing, move the nest to a sheltered tree in the woods, and tie it into place. When spring comes, the new queens will emerge in the near woods, produce a brood, and those new worker hornets will help pollinate our trees.

Discovering how to work with insects is an essential part of being self-sufficient. If I were to take the same approach that most people take, it would cost me money to remove the nest and then it would cost me more money when my trees aren’t pollinated properly in the spring. Taking the approach I am now is counterintuitive, but it’s also the best approach to use. Let me know your thoughts about hornets at