A lot of people write me and ask what it's like to be self-sufficient. After conversing for a while, I often get the feeling that they're viewing self-sufficiency as just one or two skills. The more enlightened readers sometimes know that self-sufficiency is more than that. In reality, self-sufficiency requires a host of skills. The simple act of growing a garden and canning the results means that you must not only have gardening and canning skills, but you must also have other skills required to make the process work properly. Here are just some of the skills required:
Math: Yes, you must have math skills to figure out whether growing an item is economically worthwhile for you and to also perform those gardening and canning tasks.
Building: Creating a place to stored your canned goods is important. Most shelving you can buy in the store won't hold up and you often need to build your own to maximize use of space.
Cleaning: Keeping the canned goods in good shape means cleaning the jars from time-to-time and examining each jar to ensure it's still sealed.
Organization: Ensuring you rotate your stock and get rid of old stock is essential if you want to remain healthy. In addition, you need to know which items your larder lacks before planting your garden in spring.
Research: Often you need a solution to a problem and you need it fast. You eventually do create a store of knowledge that helps you overcome most problems, but it's still important to know when your knowledge falls short and where to look for an answer to a problem that will work.
Creative: I often see puzzlement when I mention you must be creative to be self-sufficient, but the fact remains that you really do need creativity. Sometimes nature throws a curve and you must be willing to figure out what to do with unexpected gardening results.
The likelihood of just one person having all the skills required to be fully self-sufficient are relatively small. In fact, it's often counterproductive for someone to go it alone. Having someone to work with isn't absolutely essential, but it does help. On the other hand, having friends and other relations to discuss gardening with is essential. You can't easily succeed without the input provided by other people because one person simply can't see all the potholes and potential solutions for problems.
Self-sufficiency surprisingly requires good relationships with other people. Yes, you're raising your own food and creating the kind of food store that you'll enjoy eating later. However, the input from other people will help make the task significantly easier.
Of course, once I reveal this information to people, many of them bring up the wealth of books and magazines available on the market today. Yes, these resources truly are helpful and potentially essential. However, they discuss gardening and other self-sufficiency topics in a general way. Your friends and neighbors can discuss specific topics as they apply to your area of the world and can account for variances such as weather.
Have you maintained good relations with friends and neighbors who can help you create a better self-sufficiency environment? How do these sources of information help you? Let me know your thoughts on the topic at John@JohnMuellerBooks.com.
The fact that Windows XP, despite some pretty aggressive attack by Microsoft on its own product, is still alive isn't in doubt. Of course, there is the matter of support to consider. Microsoft has decided not to provide any more support for Windows XP unless you're a big company or government organization with immensely deep pockets and have a lot of cash to spend. Stories abound about the Dutch and British governments forking over huge bucks to keep their copies of Windows XP patched. Of course, the IRS is in on it too. (Microsoft begrudgingly decided to provide security updates for Windows XP until 14 July 2015 after a lot of complaining.)
My previous post on this topic, Death of Windows XP?, discussed some of the pros and cons of keeping the aging operating system around. In general, it's a good idea to update to Windows 7 if you have equipment that can run it. Windows 8 has received a lot of negative press, especially for business needs. After working with it for a while myself, I see it as a good consumer operating system, but not necessarily something a business would want to use. Even with the updates, Windows 8 simply forces the user to work too hard to get things done in a manner that businesses would normally do them.
What surprised me this past week (and it shouldn't have) is that some larger organizations are taking matters into their own hands. For example, if you're a Windows XP user in China, you can get updates for your Windows XP installation from Qihoo 360. The point is that it appears that Windows XP will continue to receive patches and security updates even if Microsoft isn't involved. This process almost reminds me of what happened to IBM when it started to drop the ball on the PC. At one time, everything revolved around IBM, but then the company made some really bad decisions and third parties had an opportunity to take control of the market (which they promptly did).
Whether you believe Windows XP is worth saving or not isn't the issue. What the whole Windows XP scenario points out is that Microsoft is losing it's grip on the market, even the desktop market where it once reigned supreme. What are your thoughts about Microsoft's future? Let me know at John@JohnMuellerBooks.com.
Microsoft has a habit of making updates between versions of Visual Studio applications difficult. For example, the simple act of opening a solution (.SLN) file using a different version of Visual Studio than the one used to create it can be difficult or impossible. Most technology updates contain breaking changes that mean older code requires tweaks in order to continue working. Even the Visual Studio IDE interface changes, which means step-by-step instructions no longer work properly. Unfortunately, all of these sorts of changes have affected the examples in Microsoft ADO.NET Entity Framework Step by Step. This book is written to support:
Visual Studio 2012 Professional (or above)
Entity Framework 5.x
It doesn't surprise me that Visual Studio 2013 developers are encountering problems with the book. Changes to the IDE mean that the step-by-step instructions won't work as stated and there isn't an easy method of fixing this problem short of rewriting the book. Likewise, changes to the Entity Framework mean that some assemblies such as System.Data.Entity don't even exist any longer, so some book explanations won't make sense.
However, it's still possible to open the examples and see how they work. Instead of opening the .SLN file associated with an example, open the C# Project (.CSProj) file. For example, when looking at the example in Chapter 1, you open the SimpleEF.csproj file found in the \Microsoft Press\Entity Framework Development Step by Step\Chapter 01\SimpleEF\SimpleEF folder instead of the SimpleEF.sln file found in the \Microsoft Press\Entity Framework Development Step by Step\Chapter 01\SimpleEF folder when using Visual Studio 2013.
Much of the theoretical, usage, and general functionality information in the book (about half of the book) is still useful to the Visual Studio 2013 developer as well. So, there is still a lot of value to obtain by reading my book, but readers are right to point out that not every feature will work as written. Please accept my apologies in advance if you purchased the book and were disappointed with it. I did provide clear instructions about the products to use with the book in the book's Introduction, but such information can be easy to miss.
As always, I try to provide every reader with a great reading experience. Should the publisher decide to update this book, you'll learn about the update here when I start looking for beta readers. Please let me know about your other book-specific questions at John@JohnMuellerBooks.com.
Early spring is the time for snow. However, it's not just any snow. The snow in spring can be magical at times. It drapes itself onto the trees and other plants in ways that reveal new ways to look at the mundane. The trees and other plants take on a new appearance.
We recently had a spring snow and I took a few pictures of it. For example, here's one of my favorite trees viewed in a new way.
Everywhere I looked, the snow had done amazing things to the landscape. Even our orchard looks magnificent with its coating of perfectly white snow. (This is a view of our apple orchard from the house.)
The woods can be exceptionally pretty. They take on a mystical appearance. Paths all but disappear, but are still visible when you look closely enough.
Of course, my favorite thing about springtime snows is that you get to enjoy all this beauty without any of the usual shoveling. The spring weather dictates that the snow melts sooner, than later. Anytime I get a beautiful scene from nature without any work on my part, I'm overjoyed. What is your favorite thing about springtime snows? Let me know at John@JohnMuellerBooks.com.
It can be difficult to choose just the right kind of source code examples to include in my books. In fact, readers often write to ask why I didn't choose a different kind of example for a book. For example, a lot of readers tend to prefer console applications because they're:
Easy to understand
Easy to write
Demonstrate the code clearly
Don't rely on any automation
Given these reasons, it would seem as if I'd use console applications for all of my examples in all of my books. In fact, these benefits (and others) are the reason I used console applications in C++ All-In-One Desk Reference For Dummies. In fact, to this list, you can add the benefit of the same example code running on multiple platforms to the list. The same example code runs on Mac, Linux, and Windows platforms with the GCC compiler. Even with this book, however, I've had readers write to ask why I didn't use a different compiler or IDE and why I didn't include examples that demonstrate the ability to use C++ to create user interfaces in anything but Visual Studio (the new edition of the book won't include the Visual Studio examples).
Some books don't lend themselves to console applications. For example, one of the purposes of Microsoft ADO.NET Entity Framework Step by Step is to show how you can use the automation provided by Visual Studio to write your applications with less code and in significantly less time. Not everyone likes the automation and I've actually had a few readers ask why I couldn't write the examples using a console application format. The problem is that few people use the Entity Framework with console applications and the automation is there to simplify things. I understand that other books may provide console application examples, but I chose to provide the examples in a form that the majority of my readers would use in a real world setting.
Trying to come up with a book that pleases everyone is simply impossible because everyone has different needs. It all comes down to people wanting the best deal possible in a book, which means seeing an example that uses their environment on their platform and demonstrating precisely the kind of code they need to write. It's an unrealistic expectation for any book. My Getting the Most from Your Technical Reading Experience post explains how you can optimize the purchasing experience to obtain the best book for your needs. The caveat is that no matter how good the purchase is, the book will never answer all of your questions and most definitely won't answer them in precisely the way you need them answered for fulfill an application development requirement.
Of course, I'm always open to your input. It's the reason I run this blog and ask for your input in nearly every post. My purpose in writing is to answer as many questions as I can for as many readers as I can in the best way possible. Sometimes that means I need to take a step back and rethink a particular process I'm using, technique I'm applying, or perspective I'm pursuing. I encourage you to continue contacting me at John@JohnMuellerBooks.com with your book-related queries. I always use your input to help create better books in the future.
Whenever a new exploit surfaces, such as Heartbleed, and the media focuses all its attention on it, I have to wonder whether the exploit may not be a red herring—a bit of misdirection used to keep our attention focused anywhere other than it should be. It's true that this exploit is quite terrible. It affects any server running Secure Sockets Layer (SSL) and Transport Layer Security (TSL) software based on OpenSSL, which is actually supposed to protect people engaged in confidential transactions. Supposedly, Windows and OS X servers are immune to the exploit, but these servers often rely on services offered by servers that are affected, so everyone is suspect at this point. It's my understanding that the exploit is incredibly easy to implement and doesn't leave any trace once the perpetrator has gone. Fortunately, there are also ways to fix the problem and most sites will likely have it fixed within a couple of days.
The exploit is an eye opener for users who have grown complacent about Internet use over the years. Most of the articles I read about Heartbleed don't even address the user, but the user is the real loser. It's the user's information that is gone forever without a trace and the user who will likely bear the brunt of the financial problems caused by Heartbleed. Even if a company is forced to pay some sort of compensation to the user for the loss of information, the compensation will never fully repay the user for the inconvenience and loss of reputation that such an exploit causes. Unfortunately, the user continues to pay a price long after the exploit is forgotten in the form of lost opportunities and an inability to make use of certain services due to a loss of reputation caused by the exploit.
However, I began this post by talking about red herrings—the misdirection often found in the plot of detective novels. I find it interesting that this bug was introduced in December 2011 and is only now making headlines. This means that Heartbleed was a usable, viable means of grabbing information surreptitiously for over two years. It makes me think that there must be other kinds of exploits of this sort that nefarious individuals are currently using to grab every last bit of information possible about you. All the media attention on this one particular exploit is taking the spotlight off those other exploits. Perhaps Heartbleed has outlived its usefulness and was actually made visible by the hacker community on purpose for the purpose of hiding the true activities of these individuals. Of course, there is no way of knowing.
What all this leads me to believe is that individuals must exercise good judgement when engaging in online activities of any sort. No one will fix your credit report or reputation once ruined and counting on the financial community to make amends simply won't work. These people are rich for a reason—they know how to hold onto their money (as in, you won't get any). In addition, software is always going to contain errors because programmers are human, so you must count on future exploits every bit as bad (or potentially worse) than Heartbleed. With this in mind, consider taking these suggestions to moderate your online behavior and make it a little more safe.
Use strong passwords that are easy to remember so you don't have to write them down.
Change your password relatively often (every month or two works pretty well).
Use different passwords on every site you visit.
Never engage in transactions of any sort with any organization you don't know.
Rely on a single credit card for financial transactions and never use the credit card for any other purpose (better yet, rely on an online-specific financial aid such as PayPal).
Don't expose more information about yourself than necessary.
There are other ways in which you can protect yourself, but if you follow these few techniques, you can avoid a considerable number of security issues. The point is that Heartbleed is a scary exploit and there are probably a hundred other exploits, just as scary, already in play out there. Someone will always want your information and just handing it over to them seems like a bad idea, so take steps to personally keep your information secure. Let me know your thoughts about security red herrings at John@JohnMuellerBooks.com.
Microsoft has taken great pains over the years to try to kill VBA off. I've discussed some of the issues surrounding this effort in two previous posts: VBA and Office 2013 and VBA and Office 2013 (Part 2). Because of these efforts, a number of people have written to ask me about VBA and my book about it. The fact of the matter is that most of the examples in VBA for Dummies continue to work fine and VBA remains a viable development platform for applications. Microsoft's efforts to move VBA developers to Visual Studio Tools for Office (VSTO) haven't been as successful as Microsoft would like—mostly because most VBA developers have other careers and don't want to learn how to use VSTO.
I do continue to provide updates for my book in the VBA for Dummies category of this blog. The latest such post discusses trigonometric calculations in VBA. As you find book issues, I'll continue to address them in this blog. In addition, as time permits, I'll discuss VBA issues in general and provide additional examples that relate to the content in my book. All I really need is your input at John@JohnMuellerBooks.com to know what sorts of content you'd like to see. Your e-mails help me decide which issues are most important to you, so please do write when you see a particular need.
Of course, the biggest question about VBA is the one I haven't answered yet. Some people have wondered whether VBA is still a viable language for new development. The fact that even Microsoft has provided updated macros for VBA should tell you something. If there were no interest in new development, you can be sure that Microsoft wouldn't waste time in posting macros for Office 2013. In fact, a Google search shows 122,000 hits for sites that have updated their VBA information in the last year. That's a lot of interest in a language that Microsoft has tried so hard to kill off.
I still see VBA as the language to use when you have any sort of Office automation need—VSTO is a better choice when you actually want to extend Office functionality or define new behaviors (work that full-fledged developers normally perform). It's incredibly easy to use and most people can learn to use the basic features quite quickly. In fact, because it's interpreted, VBA makes a great way for people to start learning basic programming principles.
The only caveat for today is to ensure that your code doesn't have any compatibility issues, especially if you plan to use your VBA macros with Office 365. There is a lot of old code out there that might not work with newer versions of Office. With this in mind, Microsoft has created the Office Code Compatibility Inspector (OCCI). Make sure you download as use this tool to check your code.
There have been a lot of stories in the trade press about Windows XP as of late. A number of readers have written to ask about the aging operating system because they're confused by stories from one side that say everyone is sticking with Windows XP and stories from the other that say people are abandoning it. Windows XP is certainly one of the longest lasting and favored operating systems that Microsoft has produced, so it's not surprising there is so much confusion about it.
Microsoft is certainly putting a lot of effort into getting rid of the aging operating system and for good reason—the code has become hard to maintain. Development decisions that seemed appropriate at the time Windows XP was created have proven not to work out in the long run. Of course, there are monetary reasons for getting rid of Windows XP as well. A company can't continue to operate if no one buys new product. It must receive a constant influx of funds to stay in business, even a company as large as Microsoft. In short, if you're Microsoft and you want to stay in business, rather than service what has become an unreliable operating system, you do anything it takes to move people in some other direction.
On the other side of the fence are people are are simply happy with the operating system they have today. The equipment they own is paid for and there isn't a strong business reason to move to some other platform until said equipment breaks. The reliability of computer equipment is such today that it can last quite a long time without replacement. Theoretically, based on reliability alone, it's possible that people will continue to use Windows XP for many more years. I have such as system setup to hold my movie database and to play older games I enjoy, but I don't network it with any other equipment and it definitely doesn't have access to the Internet.
From many perspectives, reports of the death of Windows XP are likely premature. The latest statistics still place the Windows XP market share above 27 percent. Even when Microsoft's support goes away on April 8th, many third party vendors will continue to support Windows XP. What Microsoft's end of support means is that you won't get any new drivers for new hardware or upgrades to core operating system features. However, you can still get updates to your virus protection and Windows XP will continue to operate with your existing hardware.
For most people, the question of whether to keep Windows XP around hinges around the simple question of whether the operating system still fulfills every need. If this is the case, there really isn't any reason to succumb to the fear mongering that is taking place and move to something else. However, once your equipment does start to break down or you find that Windows XP doesn't quite fit the bill any longer, try moving along to something newer.
As to the essential question about the level of Windows XP support I'm willing to provide for my books, it depends on the book. My system no longer has development software on it because developers have moved on to other platforms. So, if you ask me programming questions about Windows XP, I'm not going to be able to help you. To some extent, I can offer a little help with user-level support questions for a few of my older books. However, I won't be able to cover issues that my support system doesn't address any longer, such as connecting to a network or the Internet. In sum, even though I can offer you some level of support in many cases, I can't continue to provide the full support I once did. Let me know about your Windows XP book support questions at John@JohnMuellerBooks.com.
Sometimes applications don't get along, especially when one application is designed to create new content at a low level and the other is designed to prevent low level access to a system. Such is the case with compilers and antivirus applications in some cases. I haven't been able to reproduce this behavior myself, but enough readers have told me about it that I feel I really do need to address it in a post. There are situations where you're working with source code from one of my books, compile it, and then have your antivirus application complain that the code is infected with something (even though you know it isn't). Sometimes the antivirus program will go so far as to simply delete the application you just compiled (or place it in a virus vault).
The solution to the problem can take a number of forms. If your antivirus application provides some means of creating exceptions for specific applications, the easiest way to overcome the problem is to create such an exception. You'll need to read the documentation for your antivirus application to determine whether such a feature exists.
In some cases, the compiler or its associated Integrated Development Environment (IDE) simply don't follow all the rules required to work safely in protected directories, such as the C:\Program Files directory on a Windows system. This particular issue has caused readers enough woe that my newer books suggest installing the compiler and its IDE in a directory the reader owns. For example, I now ask readers to install Code::Blocks in the C:\CodeBlocks directory on Windows systems because installing it elsewhere has caused some people problems.
Unfortunately, creating exceptions and installing the application in a friendly directory only go so far in fixing the problem. A few antivirus applications are so intent on protecting you from yourself that nothing you do will prevent the behavior. When this happens, you still have a few options. The easiest solution is to turn the antivirus program off just long enough to compile and test the application. Of course, this is also the most dangerous solution because it could leave your system open to attack.
A safer, albeit less palatable solution, is to try a different IDE and compiler. Antivirus programs seem a little picky about which applications they view as a threat. Code::Blocks may cause the antivirus program to react, but Eclipse or Visual Studio might not. Unfortunately, using this solution means that steps in the book may not work precisely as written.
For some developers, the only logical solution is to get a different antivirus application. I've personally had really good success with AVG Antivirus. However, you might find that this product doesn't work for you for whatever reason. Perhaps it interacts badly with some other application on your system or simply doesn't offer all the features you want.
My goal is to ensure you can use the examples in my books without jumping through a lot of hoops. When you encounter problems that are beyond my control, such as an ornery antivirus application, I'll still try to offer some suggestions. In this case, the solution truly is out of my control but you can try the techniques offered in this post. Let me know if you find other solutions to the problem at John@JohnMuellerBooks.com.