Internet of Things (IoT) Security Issues

In the past, I discussed how the Internet of Things (IoT) could eventually cause a wealth of problems on the Internet, including security breaches, in a number of my books and articles. Some of my strongest warnings came in Build Your Own PC on a Budget and Security for Web Developers, but I included warnings in other places as well. Unfortunately, the worst case scenario has occurred according to the ComputerWorld article, Armies of hacked IoT devices launch unprecedented DDoS attacks. Yes, your DVR or smart television might have turned into a zombie at this point and now works for someone else committing crimes. All it takes is a little negligence on your part and your device will take a walk on the dark side.

The article is worthwhile reading because the statistics sound like something out of a bad science fiction novel. If anything, my warnings were too tame and I should have used my imagination a bit more in exploring just how bad things could get. Yet, I’ve received e-mail from readers who found the warnings I did provide barely believable. It didn’t seem possible that something as simple as the router installed to provide broadband support for your digital telephone could possibly cause any sort of problem. After all, your old telephone system never went on the attack. The thing is, any device that connects to the Internet today probably has enough intelligence to do harm, especially the IoT devices that everyone assumes just work.

IoT devices are actually some of the best targets for hackers. The users who have them barely know how they work, have no clue that they should change the password, and wouldn’t care even if they could figure it out. After all, the goal is to see Sunday afternoon football, not to configure security for a device. Vendors share in the blame because anyone with even a modicum of common sense would know that users have no desire whatsoever to change device passwords. IoT devices should go out with a unique password printed in a place that the user can easily find on the device, should it ever become necessary to access the device (and it might not ever become necessary). If hackers faced a unique default password for every device, the IoT devices would likely remain relatively secure unless hackers could somehow figure a pattern out in the password assignments. Ensuring the unique password is printed on the device means the user won’t lose it.

It’s not as if changing IoT device passwords is easy anyway, so hackers have every reason to believe that the default password is still in place for the majority of these devices. A recent device purchase pointed out to me that some IoT devices view even password changes as unwelcome user fiddling—it took nearly 20 minutes of reading to discover how to change the password using an arcane set of remote control clicks. Until this situation changes, you must expect that hackers will continue to use IoT devices to perform various kinds of attacks and that device owners will continue to remain oblivious about their cherished device’s life of crime. Let me know your thoughts on IoT security at


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


Missing Machine Learning for Dummies Downloadable Source Files

A number of people have contacted me to tell me that the downloadable source for Machine Learning for Dummies isn’t appearing on the Dummies site as described in the book. I’ve contacted the publisher about the issue and the downloadable source is now available at Please look on the Downloads tab, which you can also find at,descCd-DOWNLOAD.html and navigate to Click to Download to receive the approximately 485 KB source code file.

When you get the file, open the archive on your hard drive and then follow the directions in the book to create the source code repository for each language. The repository instructions appear on Page 60 for the R programming language and on Page 99 for Python. I apologize for any problems that the initial lack of source code may have caused. If you experience any problems whatsoever in using the source code, please feel free to contact me at Luca and I want to be certain that you have a great learning experience, which means being able to download and use the book’s source code because using hand typed code often leads to problems.


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.


Apathy, Sympathy, and Empathy in Books

I’ve written more than a few times about the role that emotion plays in books, even technical books. Technical books such as Accessibility for Everybody: Understanding the Section 508 Accessibility Requirements are tough to write because they’re packed with emotion. The author not only must convey emotion and evoke emotions in the reader, but explore the emotion behind the writing. In this case, the author’s emotions may actually cause problems with the book content. The writing is tiring because the author experiences emotions in the creation of the text. The roller-coaster of emotions tends to take a toll. Three common emotions that authors experience in the writing of a book and that authors convey to the reader as part of communicating the content are apathy, sympathy, and empathy. These three emotions can play a significant role in the suitability of the book’s content in helping readers discover something new about the people they support, themselves, and even the author.

It’s a mistake to feel apathy toward any technical topic. Writers need to consider the ramifications of the content and how it affects both the reader and the people that the reader serve. For example, during the writing of both Python for Data Science for Dummies and Machine Learning for Dummies Luca and I discussed the potential issues that automation creates for the people who use it and those who are replaced by it in the job market. Considering how to approach automation in an ethical manner is essential to creating a positive view of the technology that helps people use it for good. Even though apathy is often associated with no emotion at all, people are emotional creatures and apathy often results in an arrogant or narcissistic attitude. Not caring about a topic isn’t an option.

I once worked with an amazing technical editor who told me more than a few times that people don’t want my sympathy. When you look at sympathy in the dictionary, the result of having sympathy toward someone would seem positive, but after more than a few exercises to demonstrate the effects of sympathy on stakeholders with special needs, I concluded that the technical editor was correct—no one wanted my sympathy. The reason is simple when you think about it. The connotation of sympathy is that you’re on the outside looking in and feel pity for the person struggling to complete a task. Sympathy makes the person who engages in it feel better, but does nothing for the intended recipient except make them feel worse. However, sympathy is still better than apathy because at least you have focused your attention on the person who benefits from the result of your writing efforts.

Empathy is often introduced as a synonym of sympathy, but the connotation and effects of empathy are far different from sympathy. When you feel empathy and convey that emotion in your writing, you are on the inside, with the person you’re writing for, looking out. Putting yourself in the position of the people you want to help is potentially the hardest thing you can do and certainly the most tiring. However, it also does the most good. Empathy helps you understand that someone with special needs isn’t looking for a handout and that they don’t want you to perform the task for them. They may, in fact, not feel as if they have a special need at all. It was the realization that using technology to create a level playing field so that the people I wanted to help could help themselves and feel empowered by their actions that opened new vistas for me. The experience has colored every book I’ve written since that time and my books all try to convey emotion in a manner that empowers, rather than saps, the strength the my reader and the people my reader serves.

Obviously, a good author has more than three emotions. In fact, the toolbox of emotions that an author carries are nearly limitless and its wise to employ them all as needed. However, these three emotions have a particular role to play and are often misunderstood by authors. Let me know your thoughts on these three emotions or about emotions in general at


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


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


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 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 if you have any questions about the installation process.


Enjoying the Apple Blossoms

Depending on when the trees bloom, the results can be modest, abysmal, frosted, or luxurious. This year, the apple trees have really outdone themselves. The blooms are absolutely amazing because the weather was perfect for the trees this year. Just looking at the trees from a distance, you can see that they’re decked out in spring color that’s certain to please.

The apple trees are truly luxuriant with blossoms this year.
Apple Trees Decked Out with Flowers

It’s a warm spring day with just a slight breeze, so getting into the orchard is quite an experience. The flowers are quite pungent and walking around is delightful. Unlike many other years, there hasn’t been any hint of frost or strong winds to damage the flowers, so the clusters are nearly perfect.

The white blossoms are incredible and the odor is quite strong.
The Blossom Clusters are Beautiful

The bees and other pollinators were quite busy on this particular day. A count showed that there were at least fifteen different kinds of insects busy at their job of pollinating the flowers. They didn’t pay any attention to me, of course, and I paid little attention to them. I was simply taken by the absolute beauty of the flowers and wanted to share them with you. Let me know about your favorite sights, sounds, and smells of spring at


Continuing to Use Your Old Parallel Port Printer

A problem with building a newer system is that you may not always have the older ports needed to support older devices. In some cases, it pays to replace the device because you want to gain the added functionality that a newer device can provide. However, if you have a major investment in a device, such as a printer, that doesn’t necessarily provide additional support, then you need to find another solution. I cover all the major port types in Build Your Own PC on a Budget. However, in today’s post you discover a way around the whole issue of supporting an older, yet usable, parallel printer when all you have is USB ports on your new system.

One way around the problem is to connect the printer to an older PC that does have a parallel port. You can then share the printer through a network connection. Of course, this solution assumes that you have an older PC that you want to devote to print server duties and a network to use. However, it’s a solution that many organizations have used over the years with great success.

Another solution is to obtain a special connector cable, such as the Sabrent USB to Parallel printer cable shown in the following picture.

A USB to DB25F parallel port connector with 6 foot cable.
USB to Parallel Port Connector

It’s important to note that the parallel end of the cable is a DB25F. You need to ensure the parallel end of the cable is of the right type for the connection you want to make. The package contains just the cable with the appropriate ends. It also contains a tiny piece of paper with some contact information, but there isn’t any special software required.

Make the connection between the USB port and the printer with the system off. Power the system and the printer up and log in as normal. In most cases, the system will automatically detect the printer and install appropriate drivers for you (or ask you to supply the needed drivers). However, you may need to install the drivers manually on some platforms. The chance of successfully making the connection work do diminish when installing the drivers manually because it usually means that the printer and the system aren’t communicating properly.

The only complaint I had about this solution is that the female parallel connector has screws instead of nuts, which means that you can’t secure the male printer cable to the female USB cable. Yes, the connectors work just fine, but they aren’t screwed together, which means that they could become loose at some point and you’ll lose contact with the printer (probably at the worst possible moment). Even so, the solution does work well.

A side benefit of this solution is that it’s possible to use a longer cable. Depending on who you talk with, the maximum cable length for a parallel printer is between 15 feet for the older Centronics standard and 25 feet for the newer IEEE 1284 standard. Using this solution makes it possible to work with a longer cable. The length tested for this post was 31 feet and I haven’t noticed any glitches, misprints, miscommunication, or loss of speed. Let me know your thoughts about continuing to use older peripherals with newer computers at