Preparing for Planting

It may seem a bit odd to talk about planting in the middle of winter, but this is actually the time that many avid gardeners, especially those interested in self-sufficiency, begin to think about the planting season. Of course, the planning process starts in the larder. Even though there is a catalog in your hand at the moment, the catalog doesn’t do any good until you know what to order and your larder contains that information.

As part of the preparation process, you should go through the larder, ensure all of the oldest items are in the front of the shelves, verify that all of the jars are still sealed, and wash the jars to keep them clean. Make sure all of the jars are properly marked with both food type and year canned as well. The process of organizing your larder and keeping it clean is important because doing so will make it a lot easier to determine what to plant. Once you complete this task, you can perform an inventory to determine what items are in short supply. These are the items that you need to order from the catalog.

Sometimes you can use your larder as a jumping off point for dreams of things you’d like to try in the future. For example, until last year, our larder lacked pickled asparagus—now I wouldn’t be without it. However, before we could pickle the asparagus, we had to grow enough to make the effort worthwhile, which meant planting more asparagus and waiting several years for it to get old enough to produce a decent crop. Yes, the larder was the start of our dream and the catalog provided us with ideas on how to achieve our dream, but in the end, the realization of our dream happened in the garden and in the kitchen.

Our larder also holds our canning supplies and equipment. This is the time of the year when you should perform an inventory of these items as well and ensure they’re in good shape. For example, the seal and pressure relief value on your pressure canner requires regular replacement—we simply make it a practice to replace these items before the start of the canning season because doing so is inexpensive and reduces the risk of mishap in the kitchen later. No matter where you store your canning supplies and equipment, now is the time to maintain them.

Writing your needs down as you discover them is a great idea. Check out the various catalogs you receive starting this time of year to determine which products will best suit your needs. It’s unlikely that you’ll completely fill your garden with just the items you need from the larder. The catalog will also supply ideas for new items you can try. Sometimes we try a new variety of vegetable or fruit just to see how it grows in this climate. Over the years we’ve discovered some items that grow exceptionally well for us (and also experienced more than a few failures).

Don’t just address your main garden, however. It’s also time to check into herbs and address any deficiencies in the orchard. This is the time for planning. Trying to figure everything out later, when you’re already engaged in preparing the garden, will prove difficult and you’ll make more mistakes than usual if you wait.

It’s also important to start ordering as soon as you know what you need. The catalog companies won’t send you product until it’s time to plant. However, they do use a first come, first served policy. Other gardeners are already order products. If you wait, you may not get your first choice of items and may have to reorder later.

Planning is an essential part of a successful year in the garden and orchard. However, I also enjoy starting the planning process this time of the year because it makes winter seem a little less severe. A little spring in winter is like a breath of fresh air. What sorts of things do you do to prepare for spring? Let me know at John@JohnMuellerBooks.com.

 

A New Type of Solar Panel

One of the things that has always caused me problems with solar panels is that they’re a limited technology here in the Midwest, unless you want yet another surface to clear of snow in the winter. In addition, finding places to put the solar arrays is problematic. Once you do find a place to put them, the installation itself is normally an eyesore. So, even though you’re getting power from the sun, you’re paying a relatively high cost for it in more than just monetary ways. Which is why this new solar panel that doubles as windows for the house is intriguing. You can find a quick overview of the technology in the ComputerWorld article entitled, Transparent solar cells could turn windows into generators. The MIT Technology Review article, A New Solar Material Shows Its Potential, provides a little more depth.

The main material used in this new solar panel is perovskite. There aren’t any panel that you can buy today with this material, but it does have a lot of promise. Even if this particular material doesn’t work out because it’s too fragile, a composite with the material or a material with some of the same characteristics could produce solar panels that double as window panes. Because window panes are vertical, rather than at an angle, they won’t suffer from many of the environmental issues that current solar panels do. You won’t see them as something separate from the house and it’s less likely that they’ll be damaged because the house partially protects the windows. Because the windows won’t angle to precisely match the angle of the sun, these solar panels are unlikely to be as efficient as standard solar panels.

Perovskite is a kind of rare earth mineral. Actually, the term encompasses a number of rare earth minerals that exhibit a particular structure. These minerals are somewhat common in a number of locations worldwide. Of course, mining perovskite will still incur the environmental damage I discussed in my A Discussion About Green Technology Pollution and A Discussion About Green Technology Pollution (Part 2) posts. It’s important to realize that this technology reflects a small, but important, step forward.

Several of the articles that appear online indicate that this new technology should be a lot less expensive than current solar panel technology and more aesthetically appealing as well. These two factors bode well for this technology. People won’t use green technologies that cost more than current technologies to use and few people are willing to put up with unappealing yard ornaments. If the people working with this technology succeed, your next window upgrade could provide power to your house as well.

The one thing that concerned me about this technology is whether it would look like standard windows. From what I gathered in reading various articles, the panes can be tinted, just like standard panes. In addition, it’ll be possible to sandwich the panes with inert gasses, such as argon, to produce windows with high emissivity values, which means they should work great in colder climates.

Our green technologies still create way too much pollution, but it appears that we’re making progress. Let me know your thoughts about these new windows at John@JohnMuellerBooks.com.

 

Happy Holidays

It’s my sincere hope that you’re spending this special day with friends and family. Of course, Rebecca and I will be spending the day together. We’ll be eating special foods, playing games, and watching movies together. Today is a day of rest and festivities for us, and I most definitely won’t be in the office.

 

Pausing the C++ Example Output

A number of readers have written to ask about running the example code in C++ All-In-One Desk Reference For Dummies. The book shows that the examples pause so you can see the output, yet a few people experience problems getting the example to pause as shown in the book. Let’s take the first book example. When you run the example, you should see a command window similar to the one shown here open.

ExamplePause01

This is how the command window looks in Windows, but if you use some other operating system, you should see something similar. Notice that the output is paused. Pressing any key will cause the window to disappear and the example to end. The purpose of pausing the output is so that you can see the result.

There are two common reasons that people aren’t seeing the output pause. The most common reason is that the example is run in debug mode. Make sure you click Run or choose Build | Run to execute the example. If you click Debug/Continue or choose Debug | Start/Continue instead, the example will execute without pausing and you won’t see the output. Of course, you can always set a breakpoint to get the example to pause, but most people simply want to see the example output which means running the example, rather than debugging the example.

A less common cause is that the project environment is configured incorrectly. Normally the Code::Blocks environment automatically pauses when you run the example. However, it’s possible to set Code::Blocks not to pause. Some readers inadvertently change this setting while exploring the environment. In order to check this setting, choose Project | Properties to display the Project Targets/Options dialog box. Select the Build Targets tab and you see the dialog box shown here.

ExamplePause02

Notice the Pause When Execution Ends option. If this option is cleared, the example won’t pause when you run it. Make sure this option is checked and click OK. The projects that come with the downloadable code all have this setting set up correctly.

Of course, there could always be other reasons why the examples aren’t pausing. Please let me know if you have any problems setting the example output. It’s essential that you be able to see the example output as you follow along in the book to understand how C++ works. Send your queries about this (or any other book-specific) topic to John@JohnMuellerBooks.com. I always want to ensure you have the best possible experience when using my books.

 

Cleaning the Coop in December

It’s December and time to check on your outside animals to ensure they remain comfortable. The rabbits are relatively easy. All you really need to do is ensure the cages are remaining reasonably clean (wire brush those bunny pellets from the cage’s hardware cloth) and that any protective measures, such as the window plastic you put in place to keep the wind at bay, are still in place and in good condition. The entire process will likely take less than an hour (if that long—my six cages took about 15 minutes).

The chickens are another story. You need to check the weather carefully and try to find a day when the temperature will get above freezing, if possible. The manure in the coop will be a lot easier to get up if you can get it to defrost a little. You want to clean out all of the old hay and manure. Unlike your fall cleanup, you won’t wash the nest boxes. In fact, this is a really bad time to do anything with water in the coop (except for the chicken’s drinking water) because it won’t dry properly. The idea is to clean as much as possible by scraping up the manure and getting it out of the coop onto your compost heap. I find that a combination of a barn shovel and a wide bladed putty knife do the job quite well.

This is also the time to check for air leaks again. Your chickens can keep cozy if your coop is relatively air tight.  You don’t want to close it up so tight that the ammonia fumes build up and hurt the chickens, but you also don’t want anything like a strong breeze in the coop.  The chickens will normally keep warm by huddling together at night on top of their nest box or other roosting area you provide. So, it’s essential that you keep the air leaks under control.

When replacing the hay, make sure you pack each nest box a little more than you would in summer to give each chicken a nice place to lay her egg. I’ll use regular alfalfa hay during the summer months because it’s stiffer and breaths better. However, during the winter months I use grass hay. It’s softer and provides better warmth. You must make sure the hay you use is completely dry and mildew free because it absolutely won’t dry during the winter months and you don’t want your chickens to acquire respiratory diseases.

Because it is winter, the chickens are more likely to keep you entertained as you clean the coop. Remember that the coop is their home, so you need to be patient as you work with them. During the cleaning process, one chicken proceeded to scold me, but another pecked at my feet (apparently trying to get off all the snow). A third kept insisting that she needed to be held and petted (slowing my progress). All this attention is quite normal during the winter cleanup.

Keeping the coop clean is quite important if you want to maintain your chicken’s health. That means getting out in winter, when conditions for cleaning are less than ideal. Working on the one or two days during the winter when the temperatures get a little higher will make things a lot easier, but even so, you’ll be trying to clean the coop with a bulky jacket and gloves on, so it’s going to take more time than in the summer months. Let me know your thoughts about cage and coop cleaning at John@JohnMuellerBooks.com.

 

The Pain of Current Hardware Updates

It’s no longer possible for the average person to install hardware on a system with any assurance of success and a few of us old hands are encountering problems as well! That’s my experience with a recent hardware update for my system. Yes, I got the job done, but it required more work than necessary and included several trips to the store. In one case, the store sold me the wrong part (not the part I requested) and I ended up having to go back to exchange it. One of the few significant advantages in owning a desktop system, the ability to update as needed, is being eroded by a serious deficiency in the quality of upgrade components.

When I first started building my own systems many years ago, the devices that went into the box came with beautifully rendered manuals, all the required software, and any required hardware. Of course, you could get cheaper products that didn’t quite include everything, but even in this case, the device included a getting started book and the required software. However, many people opted for the nicer vendor packages to ensure they wouldn’t have to continuously run to the store for yet another part. It was overkill in a way. For example, few people actually bothered to read the manuals end-to-end and simply used the getting started guide to get the hardware installed as quickly as possible. They’d then use the manual as a quick reference when problems occurred.

A few years ago I noted that even high end products no longer shipped with a paper manual. You received the getting started guide in paper form and could then use the manual that accompanied the DVD once you restarted the system. The devices still shipped with all the required hardware and software. Some storage devices had the software installed right on the device itself, but still, you received the required software. Even so, the new packaging technique achieved a nice balance between protecting the planet and still allowing just about anyone to perform a hardware upgrade.

You might have noted that the Monday post was missing. Well, that’s because I was offline wrestling with a hardware update that should have been quite easy. The replacement of my hard drive and display adapter should have taken only a few minutes, but ended up taking an entire day (starting Sunday afternoon) due to the lack of documentation, incomplete (but required) installation hardware, and lacking software. Today my system is running, mostly configured, and the new parts work beautifully, but the price of getting them installed was way too high.

There are a few new lessons that I’ve learned as part of this experience. The most important is to check the box to ensure you have absolutely everything before you get started. Yes, this has always been good advice, but the products of the past generally included everything needed to get the job done. Given the trend I’m seeing now, you’ll likely need screws, possibly a piece of installation hardware, cabling, and other items that are listed as optional in the documentation (even though the device won’t work without them). Check the installation hardware before you leave to the store to make sure they’re actually selling you the right part. For example, make sure the cable you buy is actually rated to handle the load you’re placing on it (a cable rated for 3 Gb/s may not work well for a device that is designed to transfer data at 6 Gb/s).

It pays to put any DVD that comes with the device into the drive on your working system and explore it before you take your system down to upgrade it. Make sure you print out any information you need for installation before you take your system offline. For example, you should print out any jumper information and cabling instructions. Once you have your system offline for the installation, it’s too late to print that information out. If you don’t have a second system to view the documentation at that point, you’ll find that installation is next to impossible.

Some devices no longer come with an installation DVD. In this case, you must go to the vendor site, download the required manual and software, and ensure you’re familiar with it before you take your system offline. Make sure the software and manual are put on removable media because you may need them before the installation process is complete.

Make sure you perform the upgrade in a manner that allows you to revert back to the pre-upgrade state when necessary. Actually, this has always been good advice, but it’s even more important now that the possibility of success is less. You may find that you have to reverse the upgrade to get a working system so that you can determine why the upgrade didn’t work.

Desktop systems have the advantage of allowing updates, but performing the update has become significantly more difficult because vendors no longer take the care in packaging products that they once did. What sorts of problems have you encountered? Let me know at John@JohnMuellerBooks.com.

 

3D Printed Horse Shoes

I seem to have captured the interest of a number of readers with the posts I’ve created on 3D printing technology. The latest of these posts is Potential Commercial Uses for 3D Printing. The more I read about the technology, the more I think it really is more than just a fad. A lot of you think so too because you keep sending me articles on the topic (and you can keep them coming if you like, just make sure they’re substantial articles and not hoaxes).

One such story told about the use of 3D printing for horse shoes. Of course, the story goes into other uses for 3D printing, but the horse shoes really did capture my attention. First of all, the base material is titanium, which is exceptionally durable. Second, the horse shoes are pink. Just how they managed to make the titanium pink isn’t discussed anywhere in the article. I wish the author had researched that particular aspect a little more. (If anyone out there knows how its done, please let me know.)

Naysayers have been downplaying the practical nature of 3D printing technology. It’s true, early uses of the technology were gimmicks of a sort. However, more and more stories are coming out of practical (albeit pricey) uses for the technology. In most cases, the useful applications focus on the adaptable nature of 3D printing—the ability to create output that is custom designed for a particular application. You start with a basic design for a somewhat common item like a horseshoe or an ear, but then the computer makes it possible to create output with the precise dimensions required for a particular application. So, while I continue to doubt that printed food will take off as a common table item, printed medical or industrial applications will become more popular.

The main barrier to generalized use of 3D printing right now is price. Creating a one off design is still quite expensive. However, as developers create software that doesn’t require an expert to use and the price of the technology itself goes down, I can see new uses for 3D printing.

For example, a really practical use for the technology is printing shoes. Shoes that provide a custom fit for each person’s foot are practical because each person’s foot is different. Imagine being able to go to a shoe store, have your foot scanned, and come home with a pair of shoes guaranteed to fit your feet perfectly. So, what is good for the horse today, might be good for humans tomorrow .

Thinking about what the future might bring is interesting and 3D printing is most definitely something that will capture everyone’s attention. What do you see as a practical use for 3D printing? Keep in mind that it needs to be something that really does require custom output. Let me know what you think at John@JohnMuellerBooks.com.

 

Technology Hoaxes Galore

Looking for insane uses of technology has given me no limit of mirth in the past. Whenever I need a good laugh, I’ll look at someone’s interpretive use of technology that couldn’t possibly ever work. Sometimes it makes for good entertainment, as in futuristic movies (where it can’t be proven that the technology won’t work that way someday), but some offenders just look silly.

I read an article some time ago and recently read it again today because it really did bring home the absurd use of technology in some situations. In this case, the author is pointing out the odd and nonsensical uses of technology in crime shows. You can read 6 Howlingly Unrealistic Hollywood Portrayals of Law Enforcement Using Computers for yourself to see if your favorite show makes obvious errors in computer use. The fact is that most people buy into these computer usage scenarios, even if they know better. There is a point where artistic license for the sake of making a show or movie entertaining ends and these shows definitely jump the shark. It would be just as easy to create a convincing scenario that might not be precisely true, but close enough to reality to make for a better program. (I recently did a review of Gravity—a movie that does the job right.)

However, you don’t have to look to the entertainment industry for examples of technology hoaxes (or gimmickry, such as Google Glass, that should be a hoax). The most recent example of such silliness is the Amazon.com plan to deliver packages less than five pounds via drone. A number of industry pundits enthusiastically embraced the technology—I’ll spare them the embarrassment of a public mention here. One person who wasn’t fooled in the least is John Dvorak who lampoons the attempt as nothing more than an advertizing stunt (and he does name names).

The act of perpetrating technology hoaxes isn’t new and you can count on more of them appearing in the future because people will remain gullible enough to believe them. (If I’m really concerned about a particular hoax, I’ll check it out on Hoax Busters or Snopes.com.) Using artistic license to explore what could be true is entertaining and definitely within the purview of good fiction. Purposely creating a hoax for the purpose of fooling the public into believing something that can’t ever work is something else.

At some point you have to point out the hoax for what it is. What is your view on technology hoaxes? Which technology assertions do you see as a potential hoax today? Let me know at John@JohnMuellerBooks.com.

 

Keeping Your CSS Clean

It happens to everyone. Even with the best intentions, your code can become messy and unmanageable. When that code is compiled into an executable, the compiler can perform some level of cleanup and optimization for you. However, when you’re working with a text-based technology, such as Cascading Style Sheets (CSS), the accumulated grime ends up slowing your application measurably, which serves to frustrate users. Frustrated users click the next link in line, rather than deal with an application that doesn’t work as they think it should. It doesn’t take long to figure out that you really must keep your CSS clean if you plan to keep your users happy (and using your application).

Manually cleaning your code is a possibility, as is keeping your code clean in the first place. Both solutions can work when you’re a lone developer or possibly working as part of a small team. The problem begins when you’re part of a larger team and there are any number of people working on the code at the same time. As the size of the team increases, so does the potential for gunky code that affects application speed, reliability, and security negatively. In order to clean code in a team environment, you really do need some level of automation, which is why I wrote Five Free Tools to Clean Up Your CSS. This article provides good advice on which tools will help you get the most out of your application.

The cleaner you keep your code, the faster the application will run and the less likely it is to have reliability and security problems. Of course, there are many other quality issues you must consider as part of browser-based application development. Messy CSS does cause woe for a lot of developers, but it isn’t the only source of problems. I’ll cover some of these other issues in future posts. What I’d like to hear now is what you consider the worst offenders when it comes to application speed, reliability, and security problems. Let me know about your main source of worry at John@JohnMuellerBooks.com.

 

MTBF and Software

Like many people, I sometimes need a bonk on the noggin to remember some essential bit of wisdom that I shouldn’t have forgotten in the first place. Such is the case with the relationship between hardware and software. In many cases, developers have lost their connection with the hardware. Even though it seems quite obvious that the software provides instructions that change the state of the hardware, developers don’t really seem to make the connection. Once you remember the hardware connection, it also begins to make sense that any aberration of the functionality of that hardware will also reflect in the reliability of the software. In short, the Mean Time Between Failures (MTBF) of the hardware also has an effect on the software that runs on the hardware and causes the hardware to perform specific tasks.

The issue that drove the point home for me is a simple hard drive. This particular hard drive came with the system and the vendor used a lower cost drive to keep prices low (normally I get really high quality hardware simply to avoid problems). What this means is that the MTBF of the drive is also quite low. Unfortunately, I encountered the MTBF late last week as a glitch that caused me to think there was a problem with my software. The software was just fine—it was the glitch with the hard drive that was the source of the problem. I only realized this fact after testing the software on another system. (Unfortunately, the hard drive got worse and took some of my system configuration with it, but I maintain backups, so the loss was minimal.)

However, the partial failure of the drive caused me to realize yet again that software can only operate correctly when the underlying hardware also operates correctly. I can’t remember the last time I read anything that even broached the topic of hardware as a potential source of software problems. It makes me think that there are probably developers out there right now trying to find the error in a piece of software that doesn’t even exist in the software, but is a matter of some hardware glitch.

It’s important to realize that hardware doesn’t always fail in a predictable manner either. For example, a glitch can occur when a hairline fracture occurs in the runs of a board. This sort of error makes its appearance when you start the system. When the board heats up, the failure goes away because the breach in the run is sealed. Expansion of the metal fixes the problem. I’ve actually encountered a host of incredibly odd hardware problems over the years, many of which could appear as an isolated software issue given the right circumstances.

The lesson relearned in this case is to always test software on multiple systems. It’s essential that these systems use different components. Doing so will eliminate a number of non-software issues as the source of a problem. For example, using mismatched systems can help you understand when an error is due to a particular device driver. The point is that you need to avoid shooting yourself in the foot by not thinking of all the possibilities. Complex software interacts with the hardware in a complex way, which makes it all the more likely that some insignificant hardware or firmware issue will cause you woe as a developer.

What are your experiences with odd hardware- or firmware-related behaviors? Have you even encountered such behaviors? Let me know at John@JohnMuellerBooks.com.