Nature at Rest

The job is done,
summer is gone,
nature decides to rest.

Off comes the green garb of work,
displaying raiment of yellow and orange and red,
as nature presides over play.

Deer frolic in woods,
birds flutter in sky,
it’s time for a moment of joy.

As each bows its head,
sleep comes stealthily by,
nature succumbs to the calls of fall.

Winter comes soon,
some think doom,
but nature knows far better.

The promise of spring,
wells up within,
when nature will begin anew.

Copyright 2011, John Paul Mueller

Not Mere Words

A number of readers and editors have asked me about the pains I take in choosing words for my books and articles. Let’s say that it was a revelation that has prompted me to work so hard to create the right word combinations. It came to me one day while I was looking at samples in a paint store. I was looking at paint chips for just the right sort of white. The store must have had twenty or more versions of white—everything from antique white to Arizona white. The winter white intrigued me because it almost looked a bit blue in the store’s light. The idea is that each name is supposed to express the nuance of colorto create a picture in the viewer’s mind.

Many people see words as text. However, text is an abstraction of a wordthe presentation of that word on paper or on screen. Words are expressions of ideas. A word creates a picture of an idea or object in the viewer’s or hearer’s mind. Using the right word transfers an idea precisely from your mind to the mind of someone you want to share an idea with. Consequently, like the paint samples in the store, the nuance of words you choose is important if you want to maintain the clarity of the idea. Winter white isn’t the same as antique white, much as submitting to someone’s authority isn’t the same as acquiescing to someone’s authority. You’ll find both words on the same page in a thesaurus, but they’re different. There is a nuance of difference in the meaning.

There is another important lesson you can learn from paint chips. When you place a winter white chip next to a blue chip, the blue in winter white stands out clearly. However, place the same winter white chip next to a red chip and suddenly winter white looks more white than blue. The context of the paint chip has changed. Likewise, the subtle meaning of a word changes in relation to the words around it. You must consider the context of the word in order to understand its true meaning. In fact, most dictionaries include multiple meanings for a word in order to convey this sense of context.

However, a word is an expression of an idea and not the idea itself. Both the writer and the reader must understand the word in order for the transference of an idea to take place. When the writer and reader have the same understanding of the word, the transference is clear, but it become less clear as the understanding of the two diverge. When a reader doesn’t understand a word, there isn’t any transference at all. Consequently, a well-read author could use terms that a reader doesn’t understand, with the result that reader is confused, not educated or entertained. So, better authors define unusual terms in context, to help readers understand the term and still derive the nuance of meaning the author originally intended.

Technical writing is perhaps one of the more difficult mediums when it comes to word choice. An author needs to convey ideas precisely, which means that a significant range of word choice is both warranted and necessary. However, in order to educate the broadest range of readers, the author is necessarily limited by the need to simplify the text, so as many people as possible can understand it. This dichotomy presents the author with a serious dilemma that editors can sometimes make worse by insisting only on accuracy or only on simplicity, without considering the art behind the writing. (A good editor supplies alternative terms that the author can choose from in order to retain clarity without increasing complexity.) The need to convey ideas clearly in a form the reader can understand is one of the reasons I use beta readers to help refine the content of my books. Beta readers act as a sanity check by helping the author determine which words truly are beyond the average reader’s understanding.

All this leads to a practice that I’ve had since the day of my vision in the paint store. I learn a new word each day. In fact, I use two sources: A.Word.A.Day and Dictionary.com. Both sources send a new word to my e-mail each morning and I choose the word I want to learn that day from them. I may not use all of these words in a book, but the words do expose me to new ideas that will appear at some time in my books. Words are expressions of ideasthe more you learn, the more ideas you possess. What is one of your favorite words? Have you ever found yourself unable to convey an idea because you lack the appropriate word? Let me know at [email protected].

 

Dealing with Green Tomatoes

One of the advantages of growing your own tomatoes is that you can pick them when they’re ripe—when the taste and nutritional value is at its peak. During the summer months you avoid “strip mined” tomatoes by picking selectively from the vine. However, the end of the season arrives all too soon and you’re faced with a wealth of green tomatoes. You have to do something with these tomatoes before a major frost or risk losing them. Tomato plants can keep producing new tomatoes right up to harvest.

It’s possible to use green tomatoes directly. For example, fried green tomatoes is a favorite of mine (albeit, not particularly nutritious depending on which recipe you use). Pickled tomatoes also look very interesting; although, I must admit not fixing them personally. The pickled tomatoes that I’ve tried have been delicious. In fact, there are many more ways to fix green tomatoes than you might initially think. However, even with all of these recipes, green tomatoes aren’t the epicurean delight that some people want.

Fortunately, you can ripen the tomatoes even after they’ve left the vine. I’ve tried a number of methods and found most of them lacking. For example, some books recommend pulling the entire plant out of the ground and hanging it in your garage. This method assumes that your garage won’t get to the freezing point before the tomatoes are ripe. Using this method can also result in a lot of spoilage from mold. It does have the advantage of producing tomatoes that taste almost as good as if they were vine ripened outside.

There are also methods that rely on placing the tomatoes in a jar with a banana peel (a technique I haven’t tried) and placing them in a paper bag. My parents would often ripen a few remaining tomatoes by placing them in the window sill. Unfortunately, most modern homes lack window sills and the method does have problems in that the tomatoes can ripen unevenly. The best method I’ve found for ripening a lot of green tomatoes is to place them on newspaper as shown here.

GreenTomatoes

I use the regular newspaper pagesnot the shiny advertisement pages. The shiny pages have ink that could contain heavy metals. Regular newspaper pages tend to use soy ink today (although, you should check with your newspaper to be certain). Because the tomatoes sit on the newspaper for up to two weeks, you don’t want them to absorb any toxic chemicals. The newspaper emits ethylene gas, which is what ripens the tomatoes. The plant uses the same gas to ripen the tomatoes on the vine.

Make sure your tomatoes are out of the sunlight. Placing them in sunlight can cause uneven ripening and rot in some cases.

The tomatoes shouldn’t touch each other. Any place one tomato touches another is apt to start rotting before the tomato is ripe.

Check your tomatoes each morning. Tomatoes ripen mainly at night. If you wait until the end of the day, you could miss that peak of tomato ripeness that you desire. (There is strong evidence to suggest that night temperatures affect how a tomato reacts. For example, plants mainly set fruit when the nighttime temperature is in the 59° to 68°F range.)

When you ripen your tomatoes using this technique, they tend to ripen evenly and you’ll lose fewer of them to rot. The tomatoes don’t quite have that fresh picked taste (they still taste better than the strip mined tomatoes from the store), but they’ll work great for canning purposes where the taste difference isn’t quite as noticeable.

So, how do you prefer your tomatoesred or green? Do you have other tricks you use to get a good result from ripening your tomatoes? Let me know at [email protected].

 

Windows XP and Advanced Command Line Utilities

Both Windows Command-Line Administration Instant Reference and Administering Windows Server 2008 Server Core contain a number of advanced commands, such as SetX, that don’t come with the operating system. A number of readers have written to ask about these commands and where they can get them. Fortunately, Microsoft makes it easy to get what you need by downloading and installing the Windows XP Service Pack 2 Support Tools.

The Support Tools site contains a list of the commands and utilities you get. Included in this list are two important MMC console configuration files (ADSIEdit.msc and SIDWalk.msc) that make management tasks considerably easier. There is an executable form of ADSIEdit, but Support Tools doesn’t include it and you can’t use ADSIEdit as a command line tool anyway. The SIDWalk utility comes in executable (.exe) form as well so that you can use it in batch files.

In order to install the Support Tools, you must provide 5 MB hard drive space. Of course, coming up with that small amount of space isn’t the problem it once was. You must also have Windows XP Service Pack 2 (or higher) installed.

 

Something that Microsoft doesn’t emphasize is that these tools don’t work with the 64-bit version of Windows XP. Unfortunately, I haven’t found a workaround for the problem. Utilities created for newer 64-bit versions of Windows, such as Windows 7, don’t appear to work with Windows XP. If someone has a solution to this problem, please let me know.

After you download Support Tools, you may have to add a new path to your Windows setup. You perform this task using the Environment Variables dialog box. Simply open the System Properties applet, select the Advanced tab, and click Environment Variables to access it. Make sure you add the path to your installation to the existing Path and don’t overwrite the existing path with the new information. (Highlight the Path entry in the System Variables list and click Edit to display the Edit System Variable dialog box.) In most cases, the Support Tools install to the %Program Files%\Support Tools folder, which means you’d type ;%Program Files%\Support Tools at the end of the existing Path environment variable.

I’ll provide updates to this post as needed. If you have any questions, please contact me at [email protected].

 

Exoskeletons Become Reality

It wasn’t very long ago (see Robotics in Your Future) that I wrote about the role of robotics in accessibility, especially with regard to the exoskeleton. At that time, universities and several vendors were experimenting with exoskeletons and showing how they could help people walk. The software solutions I provide in Accessibility for Everybody are still part of the answer, but more and more it appears that technology will provide more direct answers, which is the point of this post. Imagine my surprised when I opened the September 2011 National Geographic and found an article about eLEGS in it. You can get the flavor of the article in video form on the National Geographic site. Let’s just say that I’m incredibly excited about this turn of events. Imagine, people who had no hope of walking ever again are now doing it!

We’ve moved from experimental to actually distributing this technology—the clinical trials for this device have already begun. The exoskeleton does have limits for now. You need to be under 6 foot 4 inches tall and weigh less than 220 pounds. The candidate must also have good upper body strength. Even so, it’s a great start. As the technology evolves, you can expect to see people doing a lot more walking. Of course, no one who has special needs is running a marathon in this gear yet. However, I can’t even begin to imagine the emotion these people feel when they get up and walk for the first time. The application of this technology is wide ranging. Over 6 million people currently have some form of paralysis that this technology can help.

eLEGS is gesture-based. The way a person moves their arms and upper body determines how the device reacts. Training is required. The person still needs to know how to balance their body and must expend the effort to communicate effectively with the device. I imagine the requirements for using this device will decrease as time goes on. The gestures will become less complex and the strength requirements less arduous.

So, what’s next? Another technology I’ve been watching for a while now is the electronic eye. As far as I know, this device hasn’t entered clinical trials as of yet, but the scientists are working on it. (It has been tested in Germany and could be entering trials in the UK.) The concept is simple. A camera in a special set of glasses transmits visual information to a chip implanted in the person’s eyeball. The chip transmits the required signals to the person’s brain through the optical nerve.  However, the implementation must be terribly hard because our understanding of precisely how all of this works is still flawed.

Even so, look for people who couldn’t walk to walk again soon and those who couldn’t see to see again sometime in the future. There will eventually be technologies to help people hear completely as well. (I haven’t heard of any technology that restores the senses of smell, taste, or touch to those who lack it.) This is an exciting time to live. An aging population will have an increasing number of special needs. Rather than make the end of life a drudge, these devices promise to keep people active. Where do you think science will go next? Let me know at [email protected].

Understanding Line-, Token-, and String-Based Command Line Utilities

My books, Windows Command-Line Administration Instant Reference and Administering Windows Server 2008 Server Core, both contain batch file sections that answer basic needs, but sometimes you need more than basic information to perform a task. A reader asked me how to perform a task using the FindStr utility the other day based on my Regular Expressions with FindStr post. The problem is that FindStr is a line-based utility, and the reader was trying to obtain a token-based result. Using FindStr alone won’t solve the problem. Here is the original reader comment:

 

If I have lines like below in a file called Sum.txt :

Total001 abcdefg
Total002 hijklmn
Total099 opqrstuv

and I use a regular expression to get all the results like “findstr Total[000-099] Sum.txt” the result printed is :

Total001 abcdefg
Total002 hijklmn
Total099 opqrstuv

But I want it to print only the matches to the regular expression like

Total001
Total002
Total099

How can this be done?


And my response:

 

The FindStr
utility is line oriented, which means you obtain an entire line as
output, not individual tokens. In order to accomplish what you want to
do, you need to create a For loop. Using a For
loop would allow you to process the individual tokens in the line. The
following command will do what I think you want to accomplish:




For /F “UseBackQ” %1 In (`FindStr Total[000-099] Sum.txt`) Do @Echo %1




There are two important things to notice here. First, you must provide the “UseBackQ”
option or the command won’t work. The command itself must appear in
back-quotes—not regular quotes. The back-quote normally appears above
the Tab button and to the left of the 1 on a keyboard. It usually
appears with the tilde (~) character.



Using For makes it possible to create a token-based output from the line-based FindStr output. The default For setting relies on the space and tab characters as delimiters, but you can use the Delimiters= option to change the default behavior. However, sometimes a token-based result isn’t enough. You may not want an entire word (or whatever element the delimiters define). In this case, you need a string-based output.

One of the undocumented features of the command line is to create substrings from variables. For example, let’s say you define the following variable:

 

Set MyVariable=Hello World


Now, you want to obtain just a piece of that variable to use somewhere in your batch file. To obtain the substring, you use the tilde (~) operator. This operator uses a 0-based offset. So, let’s say you issue the following command:

 

Echo %MyVariable:~3%


The output of this command is: lo World. The output begins with the forth character, which is an l and displays the remainder of the string. However, let’s say you don’t need the rest of the string. Well, in this case, you can add a second number to define the characters you do need. If you issue this command:

 

Echo %MyVariable:~3,6%


the output is: lo Wor. The output begins with the fourth character and proceeds to the ninth character. The output contains the six characters you requested. In short, it’s possible to perform some fancy string manipulation in batch files as long as you keep the short of output you need in mind. Let me know how you use batch files to perform various sorts of string manipulation at [email protected].

Remembering to Rest

It’s easy to become so involved in self-sufficiency issues that you forget to rest. Rebecca and I just finished Harvest Festival (see my Fun is Where You Find It! (Part 3) post for details), so we’ve made our big push in getting the larder filled. Of course, there is still plenty of work to do. We even have some extra pears to process this year thanks to the prolific output of our Luscious pears. With everything there is to do, self-sufficiency can quickly become more work than anticipated and definitely become work of the worst sort. Rest is necessary. You have to take time to smell the flowers and get a bit of fresh air. That’s precisely what we did this weekend when we went to Wildcat Mountain, a local state park.

Everything at the park is quite beautiful. One of my favorites there are the wildflowers. A number of them bloom in the fall:

WildcatMountain1

The tree colors haven’t peaked yet, but there are some incredibly beautiful trees. I particularly liked this pair.

WildcatMountain2

We took a picnic lunch and enjoyed a few games of Acey-Ducey (a kind of backgammon). After lunch, we went to observation point, which has an amazing vista of the farms and forest in the surrounding area. Here’s just one of many views we saw.

WildcatMountain3

You can easily suffer vertigo looking down from this height. Here’s a picture of the two of us that gives you a little better idea  of just how high we are.

WildcatMountain4

We also decided to take a bit of a hike. Wildcat Mountain has a lot of trails, some of which are more than a little difficult to traverse. Just about all of the trails require that you climb lots of stairs. Even so, the scenery is gorgeous. We decided to take the Old Settler’s Trail.

WildcatMountain5

The point is that we spent some time doing something other than preparing food for winter, even if we didn’t get to rest the entire day. Part of your self-sufficiency planning has to go into rest. Without proper rest, you’ll make mistakes and your self-sufficiency plans will quickly become grueling work. Keep things fun! Let me know how you rest after a hard work session at [email protected].

 

Considering the Unexpected Harvest

A number of my posts deal with the unexpected or a way of viewing the garden in a way that puts things in perspective. For example, a recent post, Every Year is a Good and a Bad Year, discusses how each year can produce unexpected results in the garden. Planting a wide range of vegetables is your only way to deal with the potential yield differences from year-to-year. Of course, diversity is good for your health and the soil as well. This post looks at the same issue from the perspective of the orchard.

The orchard is different from the garden in that you plant an orchard for a long term yield. Our first pear trees were planted 11 years ago. When you make such a long term investment, you need to place an even stronger emphasis on biodiversity. For example, this year started extremely wet. A frost occurred while the trees were in bloom—killing many of the blossoms. To make things worse, we had golf ball-sized hail after the fruit had set. The hail actually knocked some of the fruit off of the trees. After spring, however, things got incredibly dry, making it even less likely that the fruit trees would do well. So, I had expected a very small harvest this year (and I wasn’t disappointed). The largest pear harvest we’ve had was 975 pounds. This year the trees produced 300 pounds of standard sized fruit, or so I thought.

Our Luscious pears are generally quite small. However, they’re so incredibly sweet and juicy that they’ve become a favorite of ours. Normally, we leave these pears on the trees for later use. In order to can a pear, you must pick it just a tiny bit green, when the pear is still hard enough to survive the canning process. Pears used for juice, as our Luscious pears are, generally need to wait until they’re almost overripeat the absolute peak of sugar and taste. Consequently, I didn’t pay as much attention to the Luscious pears as I should have. The interesting outcome is that we now have standard sized pears on a tree that isn’t supposed to have them. The pears are between two and four times larger than normal.

PearSizeDifference

The upper pear is representative of what the Luscious pear as produced this year. The lower pear is what we get on most years. Not only is the top pear larger, it weighs three times as much as the lower pear. The difference is enough that we’ll be able to can the Luscious pears that are still green enough. In addition, the Luscious pear trees normally produce around 80 pounds of fruit. This year they produced 120 pounds of fruit, so we have a lot more fruit than I had originally thoughta total of 420 pounds.

In addition to the Luscious pear anomaly, the Parker pears produced well this year. Normally, we have fire blight problems with the Parker pears, but there was almost no fire blight at all this year because it was so dry. Trees that normally produce well, such as the Moonglow and Clapps, didn’t do well this year because of the dryness. The point is that you need a variety of trees if you want a good harvest every year. The trees also have to be compatible. If you check the links I’ve provided in this article, you’ll see that all of these trees require a pollinator tree other than itself. The Luscious pear is a male tree, while the other pears in the orchard are all female. All of them produce fruit, but to get an optimal yield, you need to have pollinators of the right type.

The lesson I keep relearning is that it’s essential to check everything before making a judgement. If I had picked the Luscious pears earlier this year, we would have had more fruit for use in pear chunks (minted, plain, or spiced). As things stand now, we’ll probably end up with juice for wine and drinking, some pear jam, and some additional pear sauce because the fruit is too ripe to use for pear chunks (something that our larder was lacking). Let me know if you have any questions at [email protected].

 

Interacting with the Task Scheduler Service

The Task Scheduler service has become an essential part of Windows. With that in mind, Microsoft has made a change in the way this service works. You can no longer stop it and the service automatically starts when you start Windows. The idea is to ensure that the service is available to meet Windows needs. The change quietly occurred during a Vista update and is automatically part of Windows 7. Consequently, when you try to interact with the service, you get an error message of [SC] OpenService FAILED 5: Access is denied. To see this for yourself, try typing SC Config Schedule Start= Demand and pressing Enter on an update Vista or any Windows 7 system.

The reason I mention this particular issue is that on page 43 of Windows Command-Line Administration Instant Reference, you see instructions for interacting with the Task Scheduler service. You can still query the service and perform some other tasks with it, but you can’t stop it or configure the method used to start it. When you look at this service using the Services console of the Administrative Tools folder, you see that you can’t even change how the service starts as shown here (everything is grayed out).

TaskScheduler01

There are a number of other services that fall into this same category. You can’t stop, start, or reconfigure them. Here is a list of the most common services that you can’t control using the SC utility (you can still query all of them):

  • DCOM Server Process Launcher
  • Group Policy Client
  • Plug and Play
  • Remote Procedure Call (RPC)
  • RPC Endpoint Mapper

Microsoft hasn’t documented the reason why you can’t configure any of these services. However, the reason that Microsoft has made it impossible to change the Task Scheduler service is that Windows 7 uses it extensively. For example, a number of applications rely on the Task Scheduler:

  • System Restore
  • Reliability History
  • Windows Update
  • Other Program Updates

In addition, Windows 7 uses Task Scheduler to perform a number of checks. These checks affect system reliability and stability:

  • TCP/IP Conflicts
  • Disk Diagnosis
  • Network Information
  • System Sound Service
  • Power Controls
  • WinSAT

Even so, you may find that you need to stop the service for some reason. The common technique that you’ll find for overcoming this problem is to perform the task from the registry. Open RegEdit and locate the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Schedule key. The Start value controls how the Task Scheduler starts. Double click this value and change the entry to 4 as shown here to disable the service, or 3 to set it to manual.

TaskScheduler02

Reboot the system. You still won’t be able to make any changes using the SC utility or the GUI, but the status of the service will change to either disabled or manual as you requested. When the service is in manual mode, you can start it manually. Change the Start value back to 2 to re-enable the service. The problem with changing these services is that you don’t know how the change will affect system stability. This is a change at your own risk scenario. Please let me know if you have any questions at [email protected].

Is Privacy a Right?

One of the readers of C# Design and Development took me to task some time ago for not discussion the matter of security in my book. He has been the only reader to ever ask me about the issue of privacy, so I didn’t think too much about it at the time. When I wrote the book, I thought it far more important to discuss security-keeping the data, application, and user safe. In fact, the book makes security part of an application triad the developer must consider during the design process. My thinking at the time was that privacy is a matter settled by management as part of a policy that is often implemented outside the developer’s control. To a certain extent that perception is still valid, but I’ve since learned that the developer does bear some responsibility toward the user when it comes to privacy.

A recent ComputerWorld article has made me think yet again about the whole issue of privacy. In this case, OnStar is collecting absolutely every last bit of information they can about you, without your permission, and selling it to anyone with a few pennies to spend. (A later article says that OnStar is reversing course on this decision.) They do tell you about spying on you, but you’ll only find this information if you read through the legalese contained in the Terms & Conditions. However, there are some people who don’t think you have any right to privacy in the first place. Industry leaders that include Facebook chief Executive, Mark Zuckerberg, Google chief, Eric Schmidt, Sun Microsystems chief, Scott McNealy, and Oracle chief, Larry Ellison would prefer you not to have any privacy whatsoever. They’d simply love to dig into every aspect of your life. The use of newer technologies, such as super cookies, have also proven that companies have a strong desire to invade your privacy.

The design of supercookies and the obvious desire of some technology leaders to invade your online privacy and collect data on you has subsequently inspired many to find ways to hide their IP address. A lot of the time, we are so caught up in luxurious technology, such as iPhones or Macbooks, that we don’t even realize that these devices are collecting data on us and feeding it to all sorts of websites. It’s no surprise that people are now opting to look into VPN’s and proxies to not only hide their IP and therefore protect their personal data, but to unblock websites on Mac and other devices.

So, the developer is faced with a number of questions when it comes to privacy. The most important of which is whether privacy is a right. According to the ComputerWorld article, the senate has finally woken up and decided that perhaps privacy is a matter they really should consider, especially when it comes to such brazen violations such as the one by OnStar. There is some validity to the belief that the Constitution and Bill of Rights offers at least some protection of privacy. Some laws, such as the Health Insurance Portability and Accountability Act (HIPAA) add additional rights. However, I imagine that we’ll experience years of delays, political wrangling, and legal interpretation before those rights are specifically spelled out in a way that developers (and others) can understand.

Assuming that a certain level of privacy is a right and that it’s legally protected, the developer still has a host of questions to answer. Here are some of the things you should think about as a developer when designing an application.

  • What is the company policy regarding privacy?
  • How does an application specifically guard or expose a user’s privacy?
  • When does a user’s right to privacy override the desire of management to invade it?
  • Which rights does a user forfeit as a member of an organization?
  • Is privacy configurable as an opt in or an opt out selection?
  • Precisely what information does the company collect?
  • Precisely what information does the company actually need to conduct business?


If the developer of the OnStar system had included a simple switch for turning the device off (disallowing any eavesdropping of any sort), the whole issue discussed in the ComputerWorld article would be moot. Unfortunately, no one thought to include such a switch, despite the fact that it would have been an obvious design addition. Of course, we don’t need to look specifically at OnStar as a bad example of privacy thwarted. Many applications today include a “call home” feature and won’t even work if you don’t have an Internet connection. In short, someone somewhere is spying on you constantly.

When you look for privacy-related design information for the developer online or in books, you find it mysteriously missing. The reader who called my book into question was right to do so. I hope that this small article has at least started you thinking about privacy and overcomes the omission in my book. Future posts will fill in some additional gaps, but I’d like to hear your perspective on the issue of privacy first. What questions do you have about privacy? How would you design an application that protects user privacy while meeting organizational needs for information? Let me know at [email protected].