Is E-mail Dead?

I keep reading articles that tell me that e-mail is dead. In fact, there was one today on ComputerWorld that describes a company that is moving from e-mail to social media as an exclusive option. Currently, I don’t use any of the options mentioned in the article and don’t have time (or the inclination) to start using them. Don’t get me wrong, social media probably solves problems for some part of the population, it just hasn’t worked out well for me. I can’t see myself outputting tweets about my daily activities and some of the articled I read about Facebook are just plain scary.

My main problem with most modern communication solutions is that they’re overly intrusive. I was in the bathroom the other day and a guy was engaging in business while sitting on the commode; he just couldn’t be bothered to turn his cellphone off to take care of personal matters. That’s just one of many scenarios I’d prefer to avoid. There is strong evidence to conclude that our society has become preoccupied with communication, to the detriment of all. Just how many people died last year from texting accidents? According to the Washington Post, 28 percent of accidents now occur while people are texting or talking on a cellphone. I’m pretty sure I don’t want to talk with someone that badly.

I have to wonder how well social media will work for business needs. Social media assumes a level of connectivity that I’m simply not willing to allow. E-mail works better because someone can send me a message and I can handle it later; at my convenience. More importantly, I can handle the e-mail at a time when I’m not distracted by something else. In addition, I can provide a thoughtful answer; one that I’ve researched and thought through carefully. E-mail also provides me with a permanent written record that I can reference later when I have questions about the discussion.

There is some evidence to say that social media is actually costing business big dollars. For example, the BBC claims that social media is costing business £1.4bn. Other articles are equally certain that social media can save businesses money. I’d say it would be pretty tough to come up with a precise statement either pro or con when it comes to social media’s cost to business, but I know the personal cost. I tried a few solutions as an experiment and found that I was considerably less productive using them than turning it all off and using e-mail. Of course, that’s me, you may very well find that using social media makes you more productive; each person is different.

Personally, I don’t see e-mail as a dead communication technology. If anything, it’s becoming more important to me as I age and my memory becomes less dependable. As far as I’m concerned, the always connected nature of most social media today simply isn’t a good solution if you want to be productive. So, what’s your take on social media? Let me know at John@JohnMuellerBooks.com.

Quotas Revisited for Windows XP

The other day I provided a post about quotas that contained a simple three step process for turning quota monitoring on and logging quota events, without actually enforcing the quota. It turns out that the process works just fine with Vista and Windows 7, but it doesn’t quite work with Windows XP. Microsoft made a fix between operating systems and didn’t mention the change to anyone. Of course, this is an old story with Microsoft. You have to watch carefully because you might miss a fix and find that your perfectly functioning batch file or script suddenly stops working.

It turns out that Windows XP does things a little differently. When you execute the FSUtil Quota Track C: command, you get the expected result; tracking is enabled. The next step is to turn on exception logging using the WMIC QuotaSetting Where Caption=”C:” Set ExceededNotification=True command, which also works as expected. However, when you execute the WMIC QuotaSetting Where Caption=”C:” Set WarningExceededNotification=True command to turn on warning logging, suddenly, the exception logging is turned off. Likewise, if you were to reverse the order of the two WMIC commands, you’d find that warning logging is turned off.

Fortunately, there is a fix to this problem and it’s a very odd fix indeed. In order to enable tracking and turn on both levels of logging, you need to follow this order in Windows XP:

  1. FSUtil Quota Track C:
  2. WMIC QuotaSetting Where Caption=”C:” Set ExceededNotification=True
  3. WMIC QuotaSetting Where Caption=”C:” Set ExceededNotification=True

That’s right, you issue the exception logging command twice and you’ll find that both logging check boxes are checked. Microsoft fixed this particular error between Windows XP and Vista, but I can’t find any source that tells me about the fix. If you find one, feel free to contact me at John@JohnMuellerBooks.com.

A Potential Eye Gaze System Replacement

I view the computer as a great equalizer. People who have special needs can rely on a computer to give them access to the world at large and make them productive citizens. In fact, I’m often amazed at what a computer can do in the right hands. People who used to be locked away in institutions are now living independently with help from their computer. That’s why I read a ComputerWorld article today, “Look, no hands! G.tec uses brain interface to tweet” with great interest. I don’t think this system could replace eye gaze systems for those who need them today, but the system holds great potential as an eye gaze system replacement in the future.

So, just what is an eye gaze system? Imagine you have two cameras mounted on either side of a monitor. The cameras are focused on someone’s eye position. As the person moves their eyes to look at a letter on a card above the monitor, the cameras record the position and use the information to tell the computer what letter to type. Of course, eye gaze systems can be used for more than simply typing letters. Some of these systems are extremely complex and can record the viewer’s gaze at any position on the monitor. Check out the LC Technologies setup as a modern example of what an eye gaze system can do.

The problem with eye gaze systems is that they can be slow, error prone, and tiring to use. Unless the system is properly calibrated, using eye gaze to interact with a computer can become frustrating and time consuming. This brain computer interface is exciting because it promises higher speed (0.9 seconds once trained) and the potential for errors is greatly reduced. However, this system is still in its infancy, so eye gaze systems will continue to be important for people with special needs well into the future. You can read more about accessibility topics in my book, “Accessibility for Everybody: Understanding the Section 508 Accessibility Requirements.” Let me know what you think of this new technology at John@JohnMuellerBooks.com.

 

Calculating an Hourly Wage

Yes, I know that most people work in the garden for the sheer joy of doing so. In fact, many gardens do really end up as places to putter around; there are a few of this and a few of that, but not a lot of anything. However, when you begin looking at your garden as a means to feed your family all year round, it takes on added importance. The garden is suddenly larger and consumes a great deal more time. It’s entirely possible to get sucked into a black hole of activity and to begin wondering what you’re really getting from your efforts.

It won’t help that many people won’t understand the obsession to produce the majority of your own food. Some people will make snide remarks about how much it must cost to garden in the first place and how you could better spend your time working a second job. A lot more people won’t make any comment except a halfhearted, “Wow” and think something completely different. So just how do you handle the naysayers?

Well, there is always the argument that food from the garden is significantly fresher than the food purchased in the store and therefore more nutritious. It’s almost certain that someone will rebut your argument with the latest article saying there is no significant nutritional difference between the food you grow and the food in the store. Of course, you can break out your equally compelling article, but fail to convince the other party of anything except that you must be a fanatic. The truth likely is that there are instances where your garden grown food is indeed superior, but that the effort in growing it will eclipse any benefit for most people. In short, they really don’t want to hear that your food tastes better or is better for you.

You could also make the argument that the food grown in your garden is pesticide free. Whether such an argument holds any weight with the person you’re talking with depends on their knowledge of the adverse effects of pesticides. Many people are of the opinion that the media has done a good job of denigrating pesticides and that they can’t possibly be as harmful as many people seem to think; some people simply don’t care.

The only argument that appears to hold weight with many people is how much you make when working in the garden. So, just how do you figure it out? The best approach is to start by weighing the food you bring in from the garden. For example, one year we brought in about 50 pounds of green beans from our garden. At the time, green beans sold for $1.50 a pound in the store (they’re over $3.00 a pound now, but that’s not an appropriate comparison; I don’t have any fresh green beans now either). So, it would have cost me $75.00 to purchase the green beans in the store.

Of course, I have costs when raising the green beans. The seed packet was $2.00. I also had to water the green beans. Computing the value of the water is a little harder when you have a well; you need to approximate the amount of time the water is used to water the green beans, multiply by the flow rate of your hose, and multiply by the electrical rate for your area. I estimated that I spent another $5.00 on water (mulching significantly reduces the cost of the water). I didn’t have any cost for fertilizer; my rabbits supply all I need free of charge. (Well, not precisely, but where else would I use it?) We also don’t use any pesticides on the green beans, so there is no cost there. The profit from our green beans then is $68.00.

My wife and I worked about ten hours total on the green beans. So, you take your profit and divide it by ten to come up with an hourly rate of $6.80. That’s below minimum wage, but you’re definitely not working free of charge. Now, you need to consider the supplementary benefits of gardening. For example, the cheapest gym membership in our area is approximately $43.00 a month. Because we were in the garden, there was no need for a gym membership and we can add that cost to our hourly rate. By working in the garden, I’ve also reduced my weight, which has reduced my blood pressure and blood sugar levels. Instead of four pills each day for my diabetes, I now take one; another cost savings I can add to my hourly rate. There are also fewer runs to town, which means a cost savings in gas. By the time I added everything up, I figured that I had earned about $8.00 an hour gardening.

Just how is it that I can say that I earned $8.00 an hour growing green beans though? After all, there isn’t any additional money in my pocket. The gain comes from not spending money. By making the money you have now go farther, you don’t have to spend as much time worrying about where to get more. In short, the benefit is real. By saving the money I did, I was able to use the money I earned for other things that I can’t produce myself.

There are some pitfalls when your self-sufficient and you need to consider them as well. For example, when you only grow food for the summer, you don’t need to worry about storage. If you’re like me and grow food to last all year, you need to consider the storage costs as part of the cost of the food. Many people turn to the freezer for storage. Some foods do require freezing if you want to keep them (some foods don’t store well at all). However, you need to consider other means of storage. The lowest cost long term storage method is canning. When you can your food, all you need to consider is the cost of the electricity or gas used to can the food, the partial cost of jars (they last nearly forever), and the cost of lids (around $2.50 for ten of them). However, don’t overlook techniques such as drying. My wife dries a number of vegetables in the form of chips. For example, nothing tastes better than a bag of zucchini or egg plant chips in winter; it’s a taste of summer from vegetables that don’t store particularly well in any other way.

I’ll discuss storage techniques in a future article. In the meantime, think about how much you make each hour growing your own food. You might be surprised at how much profit there is in having fun!

 

FSUtil and Quotas

There is more than a little confusion about the use of FSUtil with quotas. For one thing, precisely why would someone use the FSUtil Quota Track command when it doesn’t enforce the quotas you set? I’m sure Microsoft has some scenario in mind for just tracking and not enforcing the quotas. I did talk with one of my administrator friends. She uses just the tracking option at her company. The reasoning is that she can then talk with the user when the user goes over a limit. In this particular organization, it’s bad form to limit the user’s access to the hard drive when in the midst of an important procedure (as it might have dire consequences). She says that she does see the event log entries when someone goes over their quota. So, that’s one potential scenario—you have an administrator that has to work with the users to maintain the hard drive but isn’t allowed to enforce those limits directly because doing so could impede work.

Of course, one of the problems with the tracking feature is that it doesn’t automatically set logging. In order to configure drive C on your system to track user activities and log them in the event, you must initially configure the drive using these three commands.

  1. FSUtil Quota Track C:
  2. WMIC QuotaSetting Where Caption=”C:” Set ExceededNotification=True
  3. WMIC QuotaSetting Where Caption=”C:” Set WarningExceededNotification=True

The two WMIC commands set the two logging options for you. What these commands do is set the quota exceeded and quota warning flags for drive C. After you issue these three commands, the Quota Settings dialog box will look like this:

Quota1

You can now add quotas using the FSUtil Quota Modify command as described in page 89 of my book, “Windows Command Line Administration: Instant Reference.” Generally speaking, you can add an overall quota for the entire drive or individual quotas for each person. The overall quota affects everyone who doesn’t have a specific individual quota.

OK, now you’ve configured the C drive to provide quota information in the form of event log entries. So, you create a test case to make sure everything works and that’s when you figure out that you can’t see any entries in the event log. In addition, it appears that the FSUtil Quota Violations command doesn’t work either. Well, that’s a little disappointing.

The problem is a lot simpler to correct than you might initially think. Microsoft hides the information you need in the Knowledge Base article at http://support.microsoft.com/kb/228812. The short story is that NTFS only scans the drive once an hour for violations, so you’ll have to wait a while to see any test violations. Of course, you might not have all day to wait around for NTFS to get around to scanning the drive. So, you can use the FSUtil Behavior Set QuotaNotify 60 command to set NTFS to scan the drive once a minute. In order to get this command to work, however, you must reboot the system. It seems that NTFS also loads its settings once during each boot cycle and then ignores the registry settings thereafter.

Once NTFS starts scanning the drive at a reasonable interval, you’ll begin seeing entries in the System event log. In addition, you can use the FSUtil Quota Violations command to look for violations as shown here:

Quota2

At this point, you’re ready to go. Your system is setup to monitor quotas in a critical environment, but not to enforce the quotas (thus preventing people from completing tasks). I’ve had at least one person tell me that the FSUtil Quota Violations command tends not to work if the System event log gets too full; I’d like to find out whether other people are having the same problem. Let me know how you use quotas on your system at John@JohnMuellerBooks.com.

Using the FindStr Utility to Locate Errors in Visual Studio

There are cases where the error message that you obtain from Visual Studio is less than helpful. Let’s begin the scenario by saying a coworker wants you to test some code. According to the code worker, the application works fine, but when you try it on your system, you get an odd sort of error message like the one shown here:

Error: Could not find a part of the path ‘C:\MyProj\Projects\TestMe\TestMe\Properties\MyManifest.xml’.

Here’s the frustrating part. You look in Solution Explorer and MyManifest.xml is in plain sight. So, now you start to wonder what’s going on because the IDE should be able to find the file. Here’s the key for this particular example. Instead of putting the project in C:\MyProj, you placed it in C:\MyFriendsProj. In this case, you don’t have a C:\MyProj folder on your machine.  So, when the IDE looked for MyManifest.xml in that particular folder, it couldn’t find it and displayed an error.  What to do?  You could search for this problem all day long and never find it. Often, the problem is one where the path has been hard coded into one or more of the Visual Studio support files.

The answer is to use the FindStr utility at the command line to find files that have the MyProj folder hard coded in them.  You open a command prompt and type FindStr /m /s /C:”MyProj” *.* and press Enter (where the /m command line switch tells FindStr to supply only filenames, the /s command line switch searches subdirectories, and the /C: command line switch performs a literal search).  Here’s some typical output.

Projects\TestMe\Bin\Debug\TestMe.dll
Projects\TestMe\Bin\Debug\TestMe.pdb
Projects\TestMe\obj\Debug\App.g.cs
Projects\TestMe\obj\Debug\App.g.i.cs
Projects\TestMe\obj\Debug\DesignTimeResolveAssemblyReferences.cache
Projects\TestMe\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
Projects\TestMe\obj\Debug\Form1.g.cs
Projects\TestMe\obj\Debug\Form1.g.i.cs
Projects\TestMe\obj\Debug\TestMe.csproj.FileListAbsolute.txt
Projects\TestMe\obj\Debug\TestMe.dll
Projects\TestMe\obj\Debug\TestMe.pdb
Projects\TestMe\obj\Debug\XapCacheFile.xml
Projects\TestMe.suo

All of these files have the MyProj folder hard coded in them.  By deleting these files and rebuilding the project, you can get rid of the error.  You can’t use the Visual Studio search features to find this problem because Visual Studio doesn’t look inside all of the files that it should—it only looks in source code files for the most part and only the source code files that are actually part of your project.  FindStr looks inside every file, no matter what its purpose might be.

What unique uses have you found for FindStr in managing your application development? Let me know at John@JohnMuellerBooks.com.

 

CodeBlocks on a Macintosh

You probably read the post entitled, “Getting CodeBlocks to Work” regarding my book, “C++ All-In-One Desk Reference For Dummies“, and immediately thought it didn’t apply because you have a Macintosh. Rather than write a single confusing post, I decided to write a second post just for Macintosh developers.  Here are the instructions for the Macintosh:

  1. Go to this page: http://www.codeblocks.org/downloads/5 .
  2. Download the Macintosh version of the compiler, codeblocks-8.02-p2-mac.zip. That contains the compiler.
  3. Double click the file once the download is complete and follow the instructions to install the compiler.
  4. At this point, start the CodeBlocks compiler.  Once it has started up, select Settings -> Compiler and Debugger. In the Compiler and Debugger Settings dialog box, click the “Selected Compiler” drop down and choose the GNU GCC Compiler option.  You should be good to go at this point.


I wrote these instructions with the help of a friend with a Macintosh. While the examples in the book work just fine on a Macintosh, I don’t have a lot of Mac experience. If this fix doesn’t work, we may have to work together a bit to come up with a solution.  This solution did work for two other Macintosh readers, so I’m hoping it also works for you, but I’m more than happy to work with you to make sure you get a working setup. Feel free to write me at John@JohnMuellerBooks.com with your ideas and suggestions for a better procedure. You must have a copy of Mac OS X 10.4 or later to use CodeBlocks!

Getting CodeBlocks to Work

One of the most common e-mails I receive about C++ All-In-One Desk Reference For Dummies is that people are receiving an error message about the compiler when they try to compile the examples. A common error message is:

SayHello2 – Debug uses an invalid compiler. Probably the toolchain path within the compiler options is not set up correctly?! Skipping … Nothing to be done.

The reason you’re having trouble is due to an error on the CD.  It turns out that our production folks made a mistake in putting the book’s CD together. The product that we have on the CD is the IDE only and does not include the compiler.  There is a quick solution to the problem should you wish to use it:

  1. Go to this page: http://www.codeblocks.org/downloads/5.
  2. Download the second item on the list, codeblocks-8.02mingw-setup.exe. That contains the compiler.
  3. Double click the file once the download is complete and follow the instructions to install the compiler.


If you’re using Windows Vista or Windows 7, the version of the MinGW compiler that comes with CodeBlocks might not work.  (It does work on my copy of 64-bit Windows 7 and many other people have used it successfully, but a few people do run into problems.)  In this case, you’ll need to go to http://www.mingw.org/
to download the latest version of the MinGW compiler as they suggest on the CodeBlocks Web site.  You can also get the latest version of the compiler from http://sourceforge.net/projects/mingw/files/Automated MinGW Installer/.  My writing partner, Jeff, suggests that you install:

  • MinGWbaseTools
  • g++ compiler
  • MinGW Make


into
C:\MinGW to make the compiler easier for CodeBlocks to find.  At this point, start the CodeBlocks compiler.  Once it has started up, select Settings -> Compiler and Debugger. In the Compiler and Debugger Settings dialog box, click the “Selected Compiler” dropdown and choose the GNU GCC Compiler option.  You should be good to go at this point.  Please let me know if you experience any other problems at John@JohnMuellerBooks.com.

Health Benefits of Self-Sufficiency

I remember the discussion well; my wife and I were on a short vacation in the mountains of California one day (Julian for those of you who know the little town in Southern California) and we were talking about gardening. It sounds like a topic that is a long way from self-sufficiency or health, but there is a connection; even we didn’t know it at the time though. That discussion happened over 15 years ago. Today, we’re living a different sort of reality, much of it stemming from that innocuous discussion.

At the time, I weighed in at a gargantuan 365 pounds (perhaps a little more) and had a 54 inch waist. It was hard to find time to exercise and even harder to find money for a gym membership. Exercise consisted of walks, when time allowed. Today, I’m much lighter, having lost 127 pounds (so far) and my 42 inch waist is much smaller. My blood pressure has gone way down, my heart rate as well. In addition, I take far less medication today than I did at one time and my diabetes is under control. The technique I’ve used has also naturally decreased my LDL cholesterol and increased my HDL cholesterol. The entire process has required a little over 12 years to complete; a long time granted, but the process has been slow and continuous.

You might wonder how much it cost to lose that much weight. That’s the interesting part. My wife and I now grow about 95% of our own food. We eat higher quality and fresher food and spend a whole lot less money in the store. In short, instead of paying for a gym membership, we exercise and earn money (in the form of store and medication savings) while doing it. You won’t find that sort of deal anywhere on TV.

The interesting thing about the approach I’ve taken is that my weight loss has been slow and continuous. The exercise I get by producing the things I need has actually increased my stamina and strength, while reducing my weight. I never get bored exercising this way because each day brings something new. One day I’m stretching while picking weeds in the garden, another day I’m lifting bushel baskets full of produce. Each day brings something new and the tasks I perform change by season. There is no falling off the cart because the change I’ve made is a part of my lifestyle now; I wouldn’t consider living any other way.

This entry has been short, but I wanted to introduce you to the idea behind self-sufficiency. It’s a method of producing what you need, gaining some substantial health benefits, and making money while you’re doing it. No, you won’t get a pile of cash from your garden, but wouldn’t you like to spend less at the store? What would you do with the money you save by reducing the groceries you buy in half? That’s what self-sufficiency is about; it’s about doing for yourself.

Keep your eyes peeled for additional posts in this category as I have time to write them. In the meantime, I’d like to hear your thoughts about self-sufficiency. Write me at John@JohnMuellerBooks.com.

Moving from 32-bits to 64-bits

64-bit processors have been around for a long time now. Unlike the move to 32-bit processors, the move to 64-bit processors has been sluggish. In fact, if the move goes any slower, we’ll still be using 32-bit processors ten years (or more) from now. The main reason that the move to 64-bit processors has been so incredibly slow is that users are basically happy with their 32-bit setups. There isn’t any compelling application that makes the move to a 64-bit environment necessary, or even desirable. So, we still have 32-bit Windows XP enjoying a huge market share. It wasn’t until October 2010 that its market share finally fell below 60 percent.

However, the environment is beginning to change for a number of reasons. For one thing, Windows XP is becoming less secure as Microsoft starts to view it as an old OS past its prime. Yes, you still get security updates for Windows XP, but it’s only a matter of time before those updates become ineffective; the platform is simply becoming outdated and hard to maintain.

Anyone who has worked with Vista knows that the platform has problems. In fact, I tried my best not to work with it unless absolutely necessary. Windows 7 is a different story. I’ve been using it now for quite a few months without any problems at all. In fact, except for a few problem applications, I don’t even notice the Windows 7 differences any longer; it has become part of the background for me, as it has become part of the background for many people.

Windows 7 works best as a 64-bit operating system. I tried it as a 32-bit operating system and found that it lacked pep. A memory upgrade and moving to Windows 7 64-bit have made all the difference in the world. I now consider Windows 7 a true upgrade to Windows XP and hope that people begin moving to it en masse soon.

Microsoft has also made the move to 64-bits in some of the server products it offers. For example, Microsoft Exchange comes only as a 64-bit product now, as does SharePoint. Consequently, many organizations are beginning the arduous upgrade to 64-bit operating systems on their servers, and are bringing up other features into it during this upgrade process, such as those available from Bamboo Solutions and other providers.

Using a 64-bit setup does have significant advantages. Of course, there is the availability of additional memory to consider. It’s also possible to perform certain code optimizations on a 64-bit system that you can’t achieve using 32-bits. Of course, if you want to obtain the full benefits of a 64-bit platform, you need 64-bit applications, and you may even require further tools, like the SharePoint essentials kit offered by Cognillo. Some developers are worried about the consequences of this move and for good reason. Making the move to the 64-bit environment is fraught with unexpected pitfalls. My latest article, “10 Biggest Issues for Developers Migrating 32-bit Applications to 64-bits”, explains some of the most common problems that developers encounter when moving their applications to the 64-bit environment. Give it a read and let me know what you think at John@JohnMuellerBooks.com.