Summer Vacation

I normally take vacations twice a year. The first time is during the Christmas holiday (see Learning to Unplug). The second time is at the beginning of summer. Our Christmas holiday is definitely the more restful of the two.

Summer vacation usually means getting out into the garden every day to weed and then there are animal needs to address. We’ll process a certain amount of food during this time as well. This is the time of year when we’re starting to see the benefits of having our garden. However, there is normally so much work to do that I really do need the time off in order to help Rebecca manage it all. So, the vacation part comes from not going into the office each day to write. It would be easier if we could go to Rental Cloud and book somewhere to go to. Being away from home helps someone relax, after all.

It’s not as if we won’t take some time off. There will be a few days where we go fishing first and do chores later. Though we have been thinking of taking a fishing vacation and finding a nice place to go for it. According to this article, one of the best things to do In Broken Bow is fishing so it’s on our list of considerations. At the end of the day even we should decide if we get to have a bit of fun. . Though it would be nice to be able to go away for a stereotypical resort relaxation holiday, maybe to something like a resort victoria. Laying by a pool and drinking cocktails… now that is the life! It would be the perfect opportunity to get away from the struggles of everyday life and spend it relaxing under the sun and getting a suntan. It sounds amazing. Although, if we had to go anywhere, I’d rather go somewhere where we had the option of staying in one of the amazing accommodations found at Exceptional Villas as they just look out of this world. An ocean view would be my choice but I would be fine with anything. But if that isn’t a choice, we must find another way to have fun during our summer break.

Summer is the time for picnics, so we’ll probably go for a picnic or two to one of our favorite spots. Every summer vacation we also have some activities we do, such as putting together the annual summer jigsaw puzzle. It’s a fun way to spend a bit of time when we decide it has gotten too hot outside and want to spend a little time in the coolness of the house. Of course, kicking back in my hammock under the big maple tree next to the garden Rebecca has created for me is quite nice too.

The one big thing we do every summer vacation is barbecue every day. Normally I make the meat dish every day and Rebecca makes up a vegetable to go with it. Sometimes I cook both the meat and the vegetable dish to give Rebecca a day off cooking. The smell of roasted meat is a mighty nice way to spend an evening meal. I’ll use a combination of herb seasonings from Rebecca’s garden, butter or olive oil, and selected woods to give the meat a special taste.

This summer vacation will hold something special for me. I have an abundance of construction wood this time, so I’ll probably take a bit of my time out of the office to put up new shelving in our larder. Rebecca currently lacks a good place to put empty jars without cluttering up the shelves containing food. In addition, there have been times where we had such an abundance that we had to scour locations to put it all. The new shelves will ease some congestion.

We’ll be back to work on July 17th. If you have any questions regarding my books, please be patient and I’ll answer them when I get back. In the meantime, don’t worry if your email message goes unanswered. I assure you that I’m not going to ignore you. Happy computing!

Review of The Art of Readable Code

I encounter a lot of unreadable code because I work through a lot of code I download from the Internet for learning purposes and rework code from failed projects. So, it was with great interest that I opened The Art of Readable Code by Dustin Boswell and Trevor Foucher. After reading this relatively short book, I’m convinced it should be picked up as a college text. If developers would follow even half the advice in the book, many of the truly weird errors in code today would simply disappear because developers wouldn’t end up overwriting the good parts of other developer’s code due to a lack of understanding it.

The authors rely heavily on humor to make good points about writing code that is easy to read by others. The cartoons are engaging and fun. I wouldn’t necessarily call them funny—some of the jokes are tongue-in-cheek and others are a bit dry, but they’re all in good taste and make important points. As for the good points in the book, I don’t think I’ve ever seen anyone suggest that a developer actually turn to a thesaurus to find a better name for a variable, but the authors make this point on page 9. The point is made in a humorous way—not as a command as I’ve seen some authors do. I did laugh relatively often. For example, “The Ultra Hard Metal Nail Smashing Rod” reference on page 13 gave me quite a laugh. You’ll need to see the reference for yourself to understand it.

You’ll want to pay attention to the frequent Advice blocks in this book. In fact, if you’re short on time, skim the book looking for these blocks (and the Key Idea blocks I describe in the next paragraph) and you’ll improve your coding technique significantly. Some of the advice is obvious to a veteran programmer. For example, on page 25 the authors advise putting max_ or min_ in front of programming elements that describe some sort of limit. (If only novice programmers would follow that simple advice.) I only wish that the Advice blocks appeared with greater regularity later in the book. I would have welcomed advice from the authors on some of the more complex topics.

The Key Idea block is another useful addition in the book. For example, on page 122 you find the authors advocating that you create code that only performs one task at a time. Even though this idea seems quite obvious, you’ve probably seen code that is trying to do too much and ends up not doing anything well. The authors back up their Key Ideas with good coding examples (some relatively complex). Unlike the Advice block, the Key Idea block does appear with good consistency throughout the book and the authors have used it quite well.

The section on Eliminating Variables that starts on page 94 was especially useful for me. I often create intermediate variables while writing an application to aid in debugging it. The authors provide techniques that greatly simplify code without making it much more difficult to debug later. Even so, sometimes you really do need that intermediate variable for a while. The point is that you should simplify your code as it nears production to reduce complexity, provide fewer failure points, and improve performance.

As with any book you buy, this one does forward the author’s agenda. If you follow all of the advice in the book, your programming style will closely reflect the style that the authors use. Anyone who has written a lot of code knows that there are many perfectly acceptable styles of coding. The point is to make your code readable so that someone coming behind you can pick up on your style and quickly discover how your code works. For example, I still prefer to use a form of Hungarian Notation for my applications. Because I apply the notation consistently, my code is readable, but many developers feel that the notation is outmoded. Whether you use Hungarian Notation or not is not the point, the readability of your code is. The authors express their view of Hungarian Notation on page 17—as with many other parts of this book, they take a firm middle ground approach that should serve the reader well.

There is a lot to like about this book. As I said at the beginning of the review, colleges would do well to incorporate it into their curriculum. The authors do press their style of coding strongly at times, but I imagine that if I were writing this book I would do the same things, so I can hardly fault them on this point. The content is a bit simplistic for the veteran programmer at the beginning, so you might want to start around Chapter 7. Overall, I think this is a good and much needed book.

Dealing with Stress

I want to start this post by saying I’m not a psychiatrist or a physician-if you have a medical condition, you really need to consult these professionals and not rely on Internet posts to meet your needs. If you find some of what I’ve written down helpful then great. Similarly, if you wish to try alternative methods, such as CBD or Cannabis gummies that’s good too, in the end, discover what is right for you. That said, a number of people have contacted me in the past about how I deal with stress and depression on a daily basis. I thought about the issue for a long time-several months, in fact.

Most people have sources of stress in their environment. Mine comes from trying to juggle book schedules, outside work, and family needs all at the same time. Planting and harvest seasons often conflict with book needs and vice-versa. Not meeting all of my requirements can lead to depression. Every person faces these sorts of issues and I’m not any different.

Under normal circumstances, someone can turn to friends or find other ways to deal with their problems. I use these same techniques myself. A good friend is the best balm to heal a crushed spirit. They can even give you some invaluable advice along the way and they may even have ideas that you’ve never thought of before, like deciding to buy CBD oil in your area to help relieve any stressful emotions that you’re experiencing. There are so many ideas that are available for you to try, and leaning on your friends for moral support is one of the best things that you can do. However, I also rely on other techniques that you could find helpful, which is the emphasis of my post today. In order to deal with these issues I use my MIND:

  • Meditation and Yoga: I’ll spend time talking with God or focusing on the beauty around me. Sometimes it helps to count the wonderful things in my life or to see that a single bad thing isn’t nearly problematic when viewed from the perspective of twenty good things. To meditate in this way means turning one’s thoughts outward and seeing the world outside the gloom of the current turmoil. I also like to do yoga whenever I get the chance. It helps me relax and it’s a great form of exercise too. I’ve found an online yoga teacher training 2020 course that looks interesting and I would love to be able to teach yoga for my full-time job. If you haven’t tried either meditation or yoga as a way to deal with stress, I highly recommend you do so.

  • Immersion: Focusing all my attention on some positive activity often helps me forget about the problems I’m having for a while. Often, my subconscious mind will continue to work on the problem and by the time I’ve finished the positive activity, I have an answer for the issue that’s causing stress. Immersing myself in something and then seeing a successful result helps create a positive environment in which to work on the issue that is causing stress. Often, I find that a creative activity works best because I can get so fully immersed in it that I don’t even think about anything outside of that activity.

  • Negation: You have a stressful event that’s causing depression. Negating that feeling-the feeling of helplessness, is essential. I often fight these feelings by doing something good for someone else. It doesn’t have to be much. Sometimes something as simple as a kind word is more than enough. Again, it’s a matter of turning my thoughts outward. Seeing the pleasure that the positive act brings to the other person makes me happy too.

  • Distraction: Sometimes you need to forget about your problems for a while. A positive activity can distract you long enough to help you break the grip of the depression that holds you in its grip. The positive activity need
    not be work-related. In fact, for me it often involves doing something with my
    lovely wife (seeing a movie, taking a walk, playing a game, or going
    fishing). Freeing your mind of activity helps relax you and can bring a sense of relief in a stressful situation.

When you have a problem, you can use your MIND to reduce your stress about it. You don’t have to do anything that costs money, involves lots of time, and is essentially inconvenient. Look for obvious avenues of turning your mind outward, doing something good for someone else, and generally focusing attention on something positive to free yourself. My techniques may or may not work for you, but they have been effective for a few others I’ve shared them with. If you have a serious problem with depression or stress though and you can’t resolve it on your own, I encourage you to seek the help you need. Life is too short to live it in pain.

Pogoplug, Your Own Personal Cloud

Everyone is talking about the cloud it seems—the cloud being an Internet presence for offering services, storing data, or otherwise conducting business as if working on a network. However, one of the main concerns about using the cloud, especially for data storage, is the risks it poses. Of course, there are two kinds of clouds. There is the public sort that people use to communicate with just about anyone else, and then there is the private sort that companies used for internal communications or for data sharing with partners. The problem with the cloud is that it often requires a huge investment for anyone to get started. Well, that was true until Pogoplug.

There are actually three kinds of Pogoplug and each serves a specific need. All forms of Pogoplug provide a private cloud environment, but they vary in audience size.

 

  • Pogoplug PC: This option is for a single user who needs to access data on a PC from anywhere. The software is installed on your system and lets you do things like access any file on your system or stream data to any device. You’ll also be able to use this option to put data on public social media sites such as Facebook.
  • Pogoplug Devices: If you don’t want to expose your PC to possible damage from an online source, you can buy a Pogoplug device that provides everything needed to share data online. The Pogoplug Series 4 seems to be attracting the most attention. The point is that the device provides a safe way to create a personal, private cloud for accessing data through an Internet connection from anywhere. Essentially, using a Pogoplug device provides all of the advantages of personal cloud computing, with very few of the risks, and at a great price.
  • Pogoplug Team: Sometimes you need more than a personal private cloud solution. When you need to share data through a cloud connection with a number of people, you need Pogoplug Team. For a mere $45.00 per year service charge ($15.00 per person), three users can share data in a private cloud setup that relies on your equipment. All you really need is a cheap PC with lots of storage space to accomplish your goal. A number of media sources have discussed this form of Pogoplug, including ComputerWorld and IT World.


I find Pogoplug intriguing because it offers a low cost solution for cloud computing that gets rid of some of the more significant objections that I’ve heard about using the cloud. For me, the main risk factor that Pogoplug addresses is having your data controlled by someone else. You provide the equipment, so your data remains firmly in your possession. If Pogoplug is even moderately successful, you can expect to see others enter the field with similar solutions. What do you think about a solution like Pogoplug? Let me know at [email protected].

 

Retiring Windows XP

A number of readers have written me recently to ask about Windows XP and its impending retirement. The same questions occurred when Microsoft decided to retire Windows 98 and many of the same conditions remain true. Whether you have a good personal reason to switch or not depends on what you’re doing with your computers. I imagine a lot of people are still running Windows XP because it continues to meet their needs. After all, one of the older versions of Office probably works fine for most home users (truth be told, I don’t use the vast majority of the new features in Office myself). Your games will continue to run, just as they always have. If the system is meeting your personal needs, there probably isn’t a good reason to upgrade it from a personal perspective.

That said, mainstream support for Windows XP ended April 14, 2009 and extended support will end on April 8, 2014. From a management perspective, Windows XP is becoming a liability in some situations. You’re already not getting any sort of bug updates for Windows XP.  When extended (paid) support ends, you won’t get any security fixes either. That could be a problem if your systems are attached to the Internet and someone finds a way to exploit the security problems in Windows XP (and believe me, they will). Let’s just say you want to have a newer OS in place before the support situation gets too bad if you’re planning to remain connected to the Internet.

Nothing says that you ever have to upgrade if you don’t want to. I still run a copy of Windows 98 for some older applications I have and love. That system has no connections to anything else—it’s a standalone system and there is no chance whatsoever of contamination from it. I don’t care about upgrades because I’m not running any new software on it. Basically, it’s a working museum piece. So, if you’re willing to use these older operating systems in a safe environment—go for it, but I wouldn’t recommend continuing to use Windows XP for much longer on a system connected to the Internet—time for an upgrade.

The other problem you’ll eventually encounter is hardware-related. I currently have three machine’s worth of spare parts for my Windows 98 museum piece. As long as I have spare parts, I can continue running that system and enjoying my old software on it, but there is going to come a time when the spares run out. At that point, using a new part in the old system doesn’t make sense. For one thing, the new part may not run at all because I won’t have drivers for it. In fact, the old motherboard may not even provide connectors for it. So, you may eventually have a need to upgrade your system simply because you no longer have working parts for the old one.

After I share my views on Windows XP, the next question that readers are asking is which operating system I recommend as an upgrade. My personal preference now is Windows 7 because it seems to be stable and offers improved security over Windows XP, without some of the issues presented by Windows Vista. I haven’t worked enough yet with Windows 8 to recommend it, but I feel that the new Metro Interface is likely to cause problems for people who have worked with Windows XP for a long time. The Windows 7 interface changes will be enough of a shock.

For me, the bottom line is that you’ll have to retire Windows XP eventually. Whether you retire it now or wait until later is up to you, but eventually you won’t have the hardware required to make the operating system perform well anymore. I ran into this problem at one point with Windows 3.1 and had to stop supporting any books that relied on that operating system. (As an interesting side note, I do maintain a DOS system and haven’t encountered any hardware so far that won’t run the ancient operating system.) I imagine that my Windows 98 museum piece will eventually fail too, never to rise again. If you truly enjoy using Windows XP, you shouldn’t let Microsoft dictate an upgrade to you. Then again, you have to consider the risks and eventual loss of ability to run the operating system. Let me know your thoughts about running museum piece systems at [email protected].

 

Methods of Learning

More than a few readers write me about the best way to learn. Many of them are asking about the best way to learn how to become a programmer-a topic I discuss in my Becoming a Programmer post. However, more and more often, readers are asking me about learning in general. The fact is that I can point you to different techniques for learning, but I can’t determine what will work best for you. You’re the only person who can make that determination and you won’t know until you try a number of techniques. In a society ever more devoted to success at all costs, learning requires that you fail in order to make gains. When you fail, you learn what doesn’t work and possibly why it doesn’t work. So, trying various techniques is the only way to discover what works best for you and that process involves some level of failure. This is a philosophy that educational providers like Venture Lessons embody, interactive lessons that you can fail in will teach you so much more than lecturers.

I imagine that my answer frustrates a lot of people because they don’t want to fail at something, so they ask what works best for me. Mind you, what works for me probably won’t work for you. I personally learn best by working through examples written by other people. When it comes to programming, I rely on application examples written by other developers and scrutinize them intensely using the debugger so that I can see precisely how they work. Then I create applications of my own that use those techniques to ensure I actually do understand how things work. Likewise, I use examples from other woodworkers, gardeners, or other professionals as a basis for my own hands on learning experiences. In addition to these hands on techniques, I also read a large number of books and articles every year. Often, all I really need to learn a new technique, is a good explanation of it. I read books and magazines in every area that interests me-everything from application development and computer hardware to new gardening techniques and animal husbandry. In some cases, I also attend lectures and seminars to augment my learning, but given that lectures and seminars tend to be expensive, I focus on my primary means of learning new things whenever possible.

Don’t limit yourself to what I use though. There are many other ways of learning that are just as viable and just as important. The only requirements of learning is comprehension (the ability to understand what you’ve learned) and retention (the ability to remember what you have learned). How you achieve your goal is up to you. Here are a few other methods you might consider trying in addition to those that I commonly use.

 

  • Instructor Led Training: There is a good reason that children go to school. An instructor (teacher) can answer questions about a particular skill immediately and fully. The interactive communication that occurs helps the student learn faster and with fewer problems.
  • Tutorials: A tutorial is essentially a set of precisely written procedures meant to guide the student along a particular learning path. It’s a combination of reading and doing that helps someone develop a skill quickly.
  • Interactive Media: This is a newer form of the tutorial that relies on sight and sound to convey meaning. Interactive media includes animations and graphics that help a viewer visualize the content better. Hands on exercises included with the interactive media help the student know when a particular training goal is achieved.
  • Observation: The subtle art of observation isn’t mentioned very often anymore-probably because people are too busy or impatient to use it. I know that I’ve learned more than one new task though simply by watching someone else do it. Observing someone means watching and thinking about what they’re doing. You don’t necessarily ask any questions (and may annoy the person you’re observing when you do).
  • Experimentation: Of all of the methods used to learn, this method provides the highest gains when successful, but also incurs the greatest amount of failure. It’s a matter of asking a question, deciding on how best to answer that question, and then creating an environment in which to determine the answer. In order to ensure that the question is answered correctly, you often have to repeat the experiment a number of times in various environments. Experimenters often discover new knowledge or rediscover lost knowledge, but at the cost of failing a lot.
  • Cooperation: A cooperative learning environment is one in which two peers have part of an answer and choose to share their part with someone who has another part of the answer. The exchange benefits both parties because both now have two parts of the answer. Of course, a cooperative learning environment requires trust on the part of both people.
  • Dissection: When I was younger, I couldn’t be bothered to keep anything in one piece. I dissected everything in an attempt to discover how it worked. Often, that meant not putting the item back together because the dissection process is destructive. Even so, you’d be amazed at how many things you can learn by dissecting an object to see how it’s put together.


This list is incredibly short. Over the years I’ve seen people learn an amazing array of knowledge using all sorts of techniques that boggle the mind. In every case, the successful learner has experimented with various techniques until he or she finds the techniques that work best. These techniques won’t work best for someone else, but they work best for you. I encourage you to fail in order to learn. Don’t be afraid of trying something and then discovering it doesn’t work because that’s the only real way to learn anything. Let me know about your favorite learning technique at [email protected].

 

Considering the Costs of Rushing

I read a blog post entitled, “Could You Speed That Up a Little?” written by my friend, Bill Bridges yesterday with great interest. In this case, Bill is discussing a book entitled, “Faster: The Acceleration of Just About Everything.” I haven’t personally read the book, but I could readily identify with a number of Bill’s comments about the motive for writing such a book. We live in a sound bite society. Nothing goes fast enough-everything must be compressed and people multitask to satisfy an ever increasing need for speed. Bill focuses on the book for the most part, but the inspiration for this post comes near the end of his post where he says, ‘I was amazed to learn that some microwave users, told to zap something
for 90 seconds, have learned to fudge by hitting the “8” button twice,
thus saving the nanosecond involved in going from “9” to “0.”‘

Something in me disdains the saving of a nanosecond for the inaccuracy for cooking something for two less seconds. Of course, people take shortcuts all of the time. In many cases, these shortcuts don’t result in any serious negative effects. I don’t imagine that cooking something two seconds less in a microwave is going to cause a problem unless you’re performing some sort of exotic experiment or cooking something that’s especially sensitive. However, the inaccuracy remains.

The post caused me to think about the whole business of rushing everything. If our society is changing due to all of this rushing about, what sorts of side-effects might we expect? Where will our society go? How will everyone be affected? I wrote down a list of the things that we might see changed as a result of living in a sound bite world.

 

  • Stress Related Health Problems will Increase: Rushing causes stress. Constant stress causes certain physiological changes. It’s not a matter of if you’ll be affected, but when you’ll be affected. In order to live a healthy lifestyle, you need to learn how to slow down and relax a little.

  • Small Inaccuracies Tend to Accumulate: Anyone involved in any sort of technical field needs to consider the effect of rushing, of taking shortcuts, on the accuracy of output. Every article I’ve read on the subject of improving accuracy focuses on the need to set aside additional time up front to reduce errors that cause delays in the end. However, the effects of shortcuts can affect anyone. Drivers often find out too late that a seemingly reasonable shortcut results in an accident. Moreover, there are no doubts about it, car accidents can have devastating consequences. Of course, no one likes to think too much about being injured on the road, but it is important to remember that if ever you are involved in a car accident and you suspect that another driver was responsible then you might want to seek legal advice from an attorney. Personal injury law can seem complex and therefore it is always best to get help from an expert. It is not just driving that rushing can have a negative impact on though. Even the environment is affected by bad decisions that come from rushing. The most prominent effect of rushing and the resultant inaccuracies is that you’ll spend more money to obtain less worthwhile results.

  • Reduction of Personal Pleasure: It doesn’t matter how you’re rushing or in what environment you rush-when you rush you reduce the pleasure derived from that activity. The sad fact is that rushing affects everything from eating a delicious meal to making working meaningful. Multitasking makes matters worse because now you’re not even paying full attention to the activity. When the world goes by in a blur, it’s hard to define what you’ve done, why you’ve done it, and what you’ve gotten out of it.


There are probably other negative side effects, but even considering these three side effects should make you think twice about the world we’re creating. When was the last time you were honestly able to say that you fully enjoyed an activity? When was the last time you finished a task (personal or business) and were able to take pride in the results? Whether you’re writing code, playing with your pets, or taking time with your sweetie, consider focusing on that single activity and spending the time required to participate in it fully. Yes, you’ll find that you get fewer things done, but you’ll also find that the tasks you do complete are more enjoyable and done better. Let me know your thoughts about our sound bite world at [email protected].

 

Bad Assumptions About Computer Use

There is a tendency to think that everyone uses computers of some sort today and that all of these computers are connected in some way to the Internet. When I use the term computer here, I mean some sort of device that contains a processor and runs applications. What you may have is actually a smartphone and not a computer in the conventional sense, but even so, a smartphone contains a processor and runs applications. So, when you define the term that broadly, there is an expectation that everyone is connected. The fact is that not everyone is connected. According a recent eWeek article entitled, “One in Five U.S. Adults Does Not Use the Internet: Pew” 62,318,383 people in the US don’t have an Internet connection (based on a US Census Bureau estimated population of 311,591,917 in 2011). That’s a lot of people.

So, why is this statistic even important? If you write computer books and articles as I do, the statistic doesn’t affect you at all. However, if you’re currently selling a product online and don’t offer a catalog for that product, you could be missing out on 20 percent of your possible sales. When you want to communicate with family members, there is a 20 percent chance you won’t reach the party you want to reach if you only rely on computer technology to do it. As I move more and more into self-sufficiency topics, I’ll need to consider the effect of print media on my books sales because 20 percent of my potential audience may lack the capability of using an e-book (see my post The e-Book in Your Future for my thoughts on e-book usage).

Every once in a while, I need my perceptions of the world around me stirred up and challenged. I get stuck in a pattern of thought that could be invalid or downright harmful for those around me. Finding information that challenges your view of the world is helpful and useful because it forces you to think through the assumptions that you’re making. If you’re a vendor, you may have thought about getting rid of your paper catalogs because you assume that everyone shops online, but that may not be the case.

Of course, you also need to read the report further to really understand the ramifications of the data it presents. For example, 95 percent of teenagers are currently connected to the Internet, which means that if you’re targeting a younger audience, chances are good that you’ll reach them using the Internet. Of course, that 5 percent is still a huge number. Whether you exclude them as a component of your sales, information, or other campaign has to be based on the focus of that campaign. The point is, assumptions are simply a bad idea if they’re never challenged, revised, and reevaluated.

What sorts of assumptions have you made lately that affect your world view of computers or any other technology for that matter? When was the last time you challenged your assumptions? Let me know at [email protected].

 

Self-Sufficiency and Technology

One of the things I’ve been curious about lately is how much of a role technology plays in current self-sufficiency efforts. For example, there has been a strong emphasis on heirloom (heritage) plants and animals, rather than using plants and animals that science has helped to produce, because these older varieties offer things that modern science can’t. For many people, the main reason to rely on heirloom varieties is that they always produce the same thing. If you plant an heirloom seed, you get the expected plant, rather than something mysterious that results from hybridization. Of course, there are people of the opposite persuasion who feel that that older varieties lack the benefits that science can provide, such as increased yield or better taste.

Technology also affects technique. Some people eschew modern machines and do all of the work required to meet their self-sufficiency requirements by hand. The benefits are that the carbon footprint of such efforts is incredibly small, costs are low, and the results often better. Using technology makes things faster and easier. Just how much technology you use depends on the size of your work area and the results you expect. Many people use a combination of hand and machine techniques.

Most people recognize that the use or lack of technology has a significant impact on the outcome of self-sufficiency efforts. In addition, the choices we make affect our neighbors and the planet to some degree. Choosing the best options for one scenario often lead to problems in another. That’s why there is growing debate over just how much technology is good for those who engage in self-sufficiency as I do. I’m constantly looking for a better answer—one that produces good results with a minimum of effort, but is also good for the planet.

The question that I have pondered most as of late is how technology affects the presentation of information.  The problem for anyone writing about self-sufficiency is that no one really knows for sure just how people get self-sufficiency information. For example, do you rely heavily on questions you ask online to obtain information? Would you purchase e-books instead of the paper variety in order to reduce the cost of the information, while also reducing the effects of producing paper on the planet? In order to do a good job of providing information to you, I need to know how you communicate. Let me know your ideas on the topic at [email protected].

 

A History of Microprocessors

Every once in a while, someone will send me a truly interesting link. Having seen a few innovations myself and possessing a strong interest in history, I read the CPU DB: Recording Microprocessor History on the Association for Computing Machinery (ACM) site with great interest. The post is a bit long, but essentially, the work by Andrew Danowitz, Kyle Kelley, James Mao, John P. Stevenson, and Mark Horowitz does something that no other site does, it provides you with a comprehensive view of 790 different microprocessors created since the introduction of Intel’s 4004 in November 1971. The CPU DB is available for anyone to use and should prove useful for scientist, developer, and hobbyist alike.

Unlike a lot of the work done on microprocessors, this one hasn’t been commissioned by a particular company. In fact, you’ll find processors from 17 different vendors. The work also spans a considerable number of disciplines. For example, you can discover how the physical scaling of devices has changed over the years and the effects of software on processor design and development.

A lot of the information available in this report is also available from the vendor or a third party in some form. The problem with vendor specification sheets and third party reports is that they vary in composition, depth, and content-making any sort of comparison extremely difficult and time consuming. This database makes it possible to compare the 790 processors directly and using the same criteria. A researcher can now easily see the differences between two microprocessors, making it considerably easier to draw conclusions about microprocessor design and implementation.

Not surprisingly, it has taken a while to collect this sort of information at the depth provided. According to the site, this database has been a work in progress for 30 years now. That’s a long time to research anything, especially something as esoteric as the voltage and frequency ranges of microprocessors. The authors stated their efforts were hampered in some cases by the age of the devices and the unavailability of samples for testing. I would imagine that trying to find a usable copy of a 4004 for testing would be nearly impossible.

You’ll have to read the report to get the full scoop of everything that CPU DB provides. The information is so detailed that the authors resorted to using tables and diagrams to explain it. Let’s just say that if you can’t find the statistic you need in CPU DB, it probably doesn’t exist. In order to provide a level playing field for all of the statistics, the researchers have used standardized testing. For example, they rely on the Standard Performance Evaluation Corporation (SPEC) benchmarks to compare the processors. Tables 1 and 2 in the report provide an overview of the sorts information you’ll find in CPU DB.

This isn’t a resource I’ll use every day. However, it is a resource I plan to use when trying to make sense of performance particulars. Using the information from CPU DB should remove some of the ambiguity in trying to compare system designs and determine how they affect the software running on them. If you feel like your CPU may be overloaded, companies like Apica Systems can help with sorting that out so your website is not underperforming. Let me know what you think of CPU DB at [email protected].