subscribe to the RSS Feed

Friday, December 2, 2016

Repairing Damaged Door Frames and Jams

Posted by admin on December 8, 2012

Seeing my blog stats, other than my article on “Math Anxiety”, it appears that the great majority of readers come to read my technical articles or download my e-book or white papers. Because of this, I am thinking of posting more “how tos.” This “how to” is for a somewhat common home repair, fixing damaged door frames. Here are examples of two such repairs. The first was a badly scratched door jam at my fiancé’s house. Her late, beloved Boxer, Copper Penny, scratched at the door when she wanted in. Boxers being a strong breed, there was quite a bit of damage. An attempt had been made to patch it with filler, but when I attempted to fix an air leak with new weather stripping, it did not quite work. Being somewhat ADD, one thing led to another until the door was fixed right. Here is a look at the door jam before the repair.

BeforeRepair1

Before Repair View 1


BeforeRepair2

Another View

Having taken basic woodshop in seventh grade summer school, I knew replacing the damaged wood was the way to go but did not have a good idea for how to cut it out. The cut would be too deep to use a circular saw. I thought of using a chainsaw or a Sawzall®, but those tools are rather crude for making fine cuts. I called my Brother-in-Law, who, if you happen to live in South New Jersey, does home renovation and remodeling every bit as good as the pros on the home improvement shows. He suggested a tool that I had not used before, an oscillating tool. Immediately when he described it, I knew it would be the way to go. And, as luck would have it, Lowe’s had a great deal on one in their Black Friday Sale.

OscillatingTool

Oscillating Tool with Wood Saw Attachment

To repair the jam, first buy or cut a piece of wood to the size of the wood to be replaced. I found a piece of wood exactly the size I needed labeled “hobby wood” in my local Lowe’s. Mark the wood to be removed.

Picture Showing Mark

Mark Wood to Be Removed

Remove the damaged wood using a wood-cutting blade attachment on the oscillating tool. There are excellent videos on using the tool at Dremel®’s website.

Damaged Wood Removed

Damaged Wood Removed

Frame with Wood Removed

Frame with Wood Removed

Sand with coarse sandpaper enough to eliminate any wood flakes or splinters. You don’t need to fine sand as we are going to use an epoxy filler. Test for fit.

Test for Fit

Test for Fit

Use a wood chisel or your sander to remove any high spots.

After More Sanding

After More Sanding

This is the filler I used. It is essentially the same stuff as the Bondo® that held together the Mid-Western rust-buckets we grew up driving.

 Picture of Filler

Filler

Be ready to work quickly! The filler will set in two to four minutes, depending on how much hardener you mix in. Mix the filler according to the can directions. Spread a thick layer on the area to be repaired. Press the new wood into the filler, squeezing out any excess. Remove the excess using a putty knife and paper towels. Use leftover filler to fill cracks and any surface damage.

Filled

Filled

Wait for the filler to dry thoroughly. Sand until smooth.

After Sanding

After Sanding

Paint with a good quality primer.

Picture of Primed Repair

Primed

Paint.

 Picture of Painted Frame

Painted Frame

Reattach hardware. Your door frame looks as good as new!

 Picture of Completed Repair

Good As New!

Here is a second example, a similar repair for a door frame that has cracked and split where the door closer is fastened.

Cracked Frame

Cracked Frame

Picture with Damaged Wood Removed

Damaged Wood Removed

Filled

Filled

Primed

Primed

After Repair

After Repair

With an oscillating tool and some basic woodworking skills, do not be afraid to tackle repairs like this yourself! If you feel intimidated, practice on some scrap wood before trying the real repair. You will save money, feel good about yourself, and, perhaps, like I did, find yourself to be the owner of a new power tool!

Random Garage Door Openings

Posted by admin on December 14, 2011

Last year, my garage doors started opening and closing randomly. At first, I thought one of the neighbors had changed to use the same code, so I changed my code. But, the random openings continued, sometimes I would come home and find the left door open, sometimes it would be the right.

After some research, I came to suspect that the nearby Air Force Academy had switched to using Land Mobile Radio System (LMRS) radios, which operate on the same frequency, 390 MHz, and are known to cause interference. My opener, a Chamberlain 700WHC, has 9 dip switches with + 0 and – positions, allowing 19,683 possible combinations. It seems, though, that the new LMRS transmit 25,000 bits per second, and, sooner or later, the opener senses the right combination of bits and opens. My fix was to retrofit the opener with a new receiver with billions of possible combinations. Unfortunately, the old receiver continued to work; installing the new receiver did not stop the random openings and closings. With online searching revealing that there was no easy way to disable the old receiver, I resorted to good old fashion, tried and true methods, attacking the circuit board with a soldering iron!

Image of Circuit Board

Altered Circuit Board

Conveniently, the circuit board is manufactured with a test point between the radio receiver and the open/close logic. Just above the down force adjustment variable resister, labeled “DNF” (click on the photo to see the large version), you can see where I unsoldered one end of a wire to disconnect the receiver from the remainder of the circuit board. Disconnecting this jumper wire disables the radio receiver. If you don’t want to unsolder it, you can cut it.

Genie Retrofit Kit

New Opener Kit

The new receiver kit uses rolling codes and many more symbols to avoid interference. Installation is simple following the supplied instructions.

Parts Supplied in the Kit

Parts Supplied in the Kit

The new kit comes with a receiver, remote. “wall wart”-style power supply, and wire. You fasten the receiver to the ceiling near the existing opener, connect the wires, plug into power, and train it to the remote.

This change solved my random garage door opening problem. This is a much simpler, less expensive, and less time-consuming solution than replace the whole garage door opener just to get around a radio interference problem!

Course Announcement: Algorithms!

Posted by admin on June 27, 2011

I will be teaching CS265, Algorithms, at Colorado Tech starting next week. There are still openings available. Here is the course information:

Course Description

  • Students are introduced to the basic concepts of algorithm design analysis, including searching and sorting, hashing and information retrieval.
  • Average and asymptotic behaviors are discussed.
  • Complexity issues are explored.

Course Objectives

  • Describe and in basic problems apply the methods of analysis to the algorithms that solve those problems. This includes the derivation of sequences, series and recurrence equations that define the growth function for a pseudo code fragment.
  • Find the bounding asymptotic functions for various growth functions. Much dependency will be placed on applying relevant theorems and formulas without requiring their proof.
  • Classify algorithms according to their bounding big oh or theta functions.
  • Recognized what algorithm design type might be applied to solve a given problem type.
  • Trace the execution of an algorithm based on a given design type as applied to a specific problem solution. The student will use representations of data structures to display clearly how the algorithm works.

Sign up here!

Engineering Disasters and Learning from Failure

Posted by admin on July 25, 2010

I have a copy of my short presentation on the subject Engineering Disasters and Learning from Failure here.

Parents and Coaches Systematically Discourage High-Potential Young Athletes

Posted by admin on April 22, 2010

Early selection for elite sport participation can become a self-fulfilling prophecy for athletes and coaches. Players begin to think of themselves as talented and are thus likely to invest more time and effort into their sport with predictable results. As the identity of previously selected players becomes known to coaches and administrators, they watch those players more closely lest they miss an elite performer.1

– Francis Glamser and John Vincent

Would you give up on your kid walking if they were not walking by 12 months? Of course not! Kids grow up at different rates. There are early bloomers and late bloomers. Some children are walking at nine months, some start closer to age one and one-half years! Despite this, the late walkers do not experience a life-long struggle with walking. To state the obvious, after they have walked for a while, they are just as good at walking as their early-walking peers. We expect and accept that children will develop walking skills at different ages. As parents and coaches we need to understand and expect that young athletes will also develop skills at different ages.

In organized sports, players are grouped by age with a specific cut-off date. For example, all children born in 2006 may be placed together in the same league. With this grouping, children born on January 1 have a huge advantage over children born on December 31. They are almost a full year older. If we select players on January 1, 2010, the players born on January 1 are four years old but the players born December 31 have just turned three! The differences in development between a three year old and a four year old are profound. Parents and coaches and youth leagues fail to recognize this disparity. The players with favorable birthdays are identified as the promising young athletes and singled out for development. This phenomenon is called the “Relative Age Effect” (RAE). It is extremely well documented in sports literature.

The discovery of the RAE in children’s sports resulted from an analysis of the birthdays of professional ice hockey players in Canada. Barnsley, Thompson, and Barnsley found that professional players were much more likely to have been born early in the calendar year than in later months. First quarter birthdays were twice as common as last quarter birthdays.2 In a follow-up study it was found that the RAE was even greater among elite youth teams. In the case of 9- and 10-year–olds, almost 70% of the top players were born in the first half of the year. Only 10% had birthdays in the last quarter of the year!3

Returning to our example of children starting to walk at different ages, it is also true that children develop athletic skills at different rates. By age 10, the differences in biological development are profound. Some children are nearing puberty while others are still children – three to four years biologically less developed. The great leveler in athletic ability, particularly for boys, is puberty. Some boys get there at age eleven, others not until age 16 or 17. When boys pass puberty, hormonal changes make them bigger, faster, and stronger, all attributes that lead to increased athletic competitiveness.

Performance in swimming is a good measure of athletic ability because events are objectively timed. US Swimming tracked swimmers through the years. They found that swimmers who are outstanding at age eleven are not the same swimmers who excel in later years. The late bloomers have more time to develop and, when they get through puberty, pass the early bloomers.

This difference in biological age has profound implications for development of the young athlete. Consider that RAE is well-established. Young athletes are discriminated against because they have an unfavorable birthday. Now consider the further devastating effect of being a late bloomer. The late blooming child struggles to compete with his early blooming, more biologically developed, peers. Parents, coaches, and athletes interpret these struggles as lack of talent rather than what it truly is, slower development. The early bloomers are identified as the “elites” and are put on the best teams, given the best coaches, and given the best training opportunities. The late bloomers are given lesser opportunities. Parents, coaches, and the youths, themselves, begin to think, “Athletics just aren’t his thing.”

Considering the combined effects of RAE and differing rates of development, we as parents, coaches, and league administrators are systematically discouraging high-potential athletes from continuing in sports. To change, we must adopt the mindset that every young athlete deserves opportunities to improve. We need to identify late bloomers and encourage their love of sports. Treated with patience and given access to development opportunities, these are athletes with vastly underappreciated long-term potential.

What do you think? Are we doing a good job developing young athletes or are we systematically excluding those with high potential? I’d love to hear your feedback in the comments below!

1 Glamser, Francis D. & Vincent, John (2004). The Relative Age Effect among Elite American Youth Soccer Players. Journal of Sport Behavior, Vol. 27, 2004

2 Barnsley RH, Thompson AH, Barnsley PE (1985). Hockey success and birth-date: The relative age effect. Journal of the Canadian Association for Health, Physical Education, and Recreation, Nov.-Dec., 23-28.

3 Barnsley, Roger H.; Thompson, A. H. , Birthdate and success in minor hockey: The key to the NHL. Canadian Journal of Behavioural Science/Revue canadienne des sciences du comportement. Vol 20(2), Apr 1988, 167-176.

Why Is Virtualization Hot?

Posted by admin on March 2, 2010

This whitepaper provides an introduction to virtualization. It gives an overview of the history of, the underlying technologies used in, and the business case for virtualization. Finally, it explores the question, “Is VM ready for the casual user?”

VM

Course Announcement: Enterprise Information Systems

Posted by admin on March 1, 2010

As enterprises grow, integrating the variety of legacy, custom, and commercial package applications involved has become increasingly complex.  New approaches to development and integration of organization-wide systems are necessary to guide and manage the enterprise information system.  This course is designed to train those managers who will be responsible for planning, implementing and managing large scale enterprise information systems.  The use of information technology to achieve competitive advantage, efficient operations and effective decision-making is explored.  Technical architectures to achieve strategic enterprise goals will be investigated.  Students will analyze the functions of information technology and its impact on competitive strategy and organizational operations.

Course Objectives:

Upon completion of this course, the student should be able to do the following:

  1. Identify potential design risks resulting from inconsistent or contradictory technical requirements
  2. Identify enterprise technical requirements to satisfy user’s functional requirements as well as those of outside agencies such as the government
  3. Effectively communicate technical material to non-technical people
  4. Develop, manage and maintain a technical architecture across the enterprise to achieve organization strategic goals as well new system integration
  5. Be able to resolve technical buy, make or rent solutions to increase efficiency and strategic advantage across the enterprise
  6. Be able to use technology to increase the efficiency of business processes while taking into account legal and ethical requirements such as Sarbanes-Oxley and HIPPA

This course is a 4-credit graduate-level course offered on-line though Colorado Technical University, Colorado Springs. Please e-mail me at geekydewd <at sign> anengineersperspective.com if you would like my assistance to enroll.

Introduction to Service-Oriented Architecture

Posted by admin on

The rapidly-changing business environment and the ubiquity of the Internet and the World-Wide Web have led to the emergence of platform-independent, web-based technologies as the standard building blocks for enterprise integration.  These technologies are called “Service Oriented Architecture” (SOA).  Fundamental to SOA are the concepts of Web services and the Enterprise Service Bus (ESB).  But SOA is also the enterprise Information Technology (IT) infrastructure – Web portals, networks, common software services, web-enabled legacy applications, and databases that support delivery of Web applications.  My e-book explores the evolution and concepts of SOA in both contexts, the enabling technologies and as an enterprise IT infrastructure.  You can download it here:

Introduction to SOA

Use Three Simple Estimating Tricks to Increase Your Knowledge of Your World!

Posted by admin on February 21, 2010

It is the mark of an instructed mind to rest satisfied with the degree of precision which the nature of the subject permits, and not to seek an exactness where only an approximation of the truth is possible.

-Aristotle

Have you ever listened to the news and heard one of the talking heads make a particularly nonsensical assertion? Did you think to yourself, “That is just not believable?” When you have that experience, do you try to prove to yourself that the assertion is far fetched?

With this type of problem, you generally need only a rough estimate to demonstrate that the assertion is feasible or improbable. Many day-to-day problems are of this type. Engineers and scientists use estimates to quickly evaluate these problems. Learning and using simple estimating tricks will greatly improve your ability to critically evaluate events and opportunities in your day-to-day life.

An extremely simple yet useful estimate is to determine before beginning a calculation if the answer is greater than or less than 1. This comes in handy when converting fractions to decimals. Take 8/5 for example. When we convert this to a decimal, should the answer be greater than one or less than one? Since 8 in the numerator is greater than 5 in the denominator, we know the answer should be greater than 1. If we do the division correctly, we should get this:

Correct Calculation

Correct Calculation

However, if we mistakenly do this:

Incorrect Calculation

We've Made an Error

We know right away that we’ve made an error because our answer is less than 1.

Another simple but useful estimating trick is to determine if an answer should be positive or negative before beginning. It is said that the single most common error made by engineers using advanced mathematics is making a plus or minus sign error. Take for example, – ½ * ¾ * -2

We see that there are two minus signs so our answer should be positive. If we punch the numbers in our calculator and come out with a negative answer, we know immediately again that we have made an error.

The third simple estimating trick is using an order of magnitude estimate. An order of magnitude simply means a power of ten. When we estimate to an order of magnitude, we ask simply, is it closer to 1 or to 10, to 10 or 100, to 100 or 1,000, and so on. We can also estimate small numbers similarly. Is it closer to 1 or 1/10, to 1/10 or 1/100?

Using order of magnitude estimating, we calculate a “ballpark” answer before beginning a problem. If we get a final answer that is very much different, we know that we have made an error. Take for example, 7543 / 0.4359. Since 7543 is closer to 10 thousand than to 1 thousand, we round it to 10 thousand. Since 0.4359 is closer to 0.1 than to 1, we round it to 0.1. Dividing 10 thousand by 1 tenth, we get 100 thousand. The true answer, 17,204.4276 is within an order of magnitude of 100 thousand. If we made a mistake, say multiplying instead of dividing, we’d get 3,287.9937, which is closer to 1 thousand and is more than an order of magnitude from the correct answer, letting us know that we made a mistake.

Order of magnitude estimates are useful when an exact answer is not required. They can help understand big questions readily. For example, if you were to take off in a space ship just powerful enough to leave earth orbit, would it be feasible to travel to our nearest star, Proxima Centauri?

Taking escape velocity as 11.2 km per second, the distance to Proxima Centauri as 39.7 quadrillion km, and 31.5 million seconds in a year, we would come up with an order of magnitude estimate of 10 quadrillion km divided by 10 km/sec all divided by 10 million seconds per year. Using the back of an envelope, we write 10 quadrillion km / 10 km/second. We cancel one zero from the top and bottom leaving 1 quadrillion seconds. We then divide 1 quadrillion seconds by 10 million seconds per year. We cancel 7 zeros from the top and bottom, leaving 1 with 5 zeros, 100 thousand years, as our final answer. Something will certainly break on our spacecraft before 100 thousand years has passed. So, the answer is that our spacecraft may eventually get there, but it will in all likelihood be broken.

Order of Magnitude Estimate

Back of the Envelope Order of Magnitude Estimate

If we do the real math, we find that our answer is not appreciably different:

3.97 × 10^13 km / 11.2 km/sec = 3.54 × 10^12 secs

3.54 × 10^12 secs / 31.5 × 10^6 seconds/ year = 112,528 years

Whether it takes 100 thousand years or 112 thousand years is not going to make a difference. None of us will be around by the time the spacecraft gets there. In this example, the order of magnitude estimate comes very close to the calculated answer. Other times, it will be further off. For our purpose, we don’t care. We know that the answer is between 50 thousand and 500 thousand years. Long enough for us to decide that this endeavor is not feasible.

What’s with the 10^13 stuff, you may ask? That’s called “Scientific Notation.” It’s an easy way to work with very large or very small numbers, numbers with a lot of zeros. It will be the subject of the next article.

Corona's Hammer

Math Is Your Hammer!

In this post, we’ve talked about three easy to use estimating techniques. It is a good practice to use one or more of these when we start to solve a math problem. It is easy to make errors when performing complex calculations. Having a rough guess at the correct answer before beginning the calculation gives us a way to check to see if we have performed the calculation correctly.

In addition to improving our math, these techniques can be used to understand problems that involve large numbers. A calculation using order of magnitude estimates, usually easy enough to be done in your head or on a scrap of paper, can answer many questions of the type, “Is this feasible?” or “Is this plausible?”

Try using these techniques to answer questions in your everyday life. I would love to hear about your experience. Do you find them useful? Please leave a comment to let me know what you think!

What Is Your Paradigm?

Posted by admin on February 11, 2010

The human mind delights in finding pattern—so much so that we often mistake coincidence or forced analogy for profound meaning. No other habit of thought lies so deeply within the soul of a small creature trying to make sense of a complex world not constructed for it.
– Stephen Jay Gould

In the previous post, we toyed with ambiguity. The observable facts were that the customer service representative said “no;” left briefly, taking a yellow sticky; returned; and said “yes.” We do not know what transpired during her brief absence that caused her to change her mind. It is fun to play with the possibilities. And, perhaps, the explanation that the magic word “francis” on a yellow sticky caused the change is as realistic as any alternative construal.

The human mind is marvelously adapted to pattern-finding. This capability, being instantly able to distinguish a branch from a snake, a bush from a tiger, served well to ensure the survival of our primordial forbearers. However, it is inherently problematic in our modern, ambiguous world in that it leads us to reach conclusions too quickly, to see patterns where there is ambiguity or merely randomness. We need to consciously question our patterns, our prejudices, and to deliberately maintain openness to differing interpretations of events. Recognizing this, when we do choose to hold a paradigm or worldview, we should hold it lightly, allowing for the chance that it may be misleading. As we must question the patterns we form, we must also question our worldviews, for these have far-reaching consequences in our lives.

Challenger Explosion

The Challenger Explosion

Sociologist Diane Vaughan studied the events leading to NASA’s ill-fated Challenger launch decision. She determined that a perceptual bias had evolved within NASA. Managers perceived a pattern of success and thus discounted accumulating evidence that the O-rings were prone to failure. The perceptual bias, the innate tendency to see pattern even when there is none, led to the Challenger tragedy. Per Vaughan:1

How is this variety possible? Each person – the butcher, the parent, the child – occupies a different position in the world, which leads to a unique set of experiences, assumptions, and expectations about the situations and objects she or he encounters. From integrated sets of assumptions, expectations, and experience, individuals construct a worldview, or frame of reference, that shapes their interpretations of objects and experiences. Everything is perceived, chosen, or rejected on the basis of this framework. The framework becomes self-confirming because, whenever they can, people tend to impose it on experiences and events, creating incidents and relationships that conform to it. And they tend to ignore, misperceive, or deny events that do not fit. As a consequence, this frame of reference generally leads people to what they expect to find. Worldview is not easily altered or dismantled because individuals tend ultimately to disavow knowledge that contradicts it. They ward off information in order to preserve the status quo, avoid a difficult choice, or avoid a threatening situation. They may puzzle over contradictory evidence but usually succeed in pushing it aside – until they come across a piece of evidence too fascinating to ignore, too clear to misperceive, too painful to deny, which makes vivid still other signals they do not want to see, forcing them to alter and surrender the worldview they have so meticulously constructed.

I liken creating a worldview to building a house of cards. We take an event, observe it through a perceptual filter, find that it fits – even though the fit may require stretching reality or ignoring other plausible explanations – and place it in our worldview, the construal of the new event both propping up and being propped up by the construals of other events in the worldview. Over time, we accumulate many such events offering evidence confirming the validity of our worldview. But in the end, we have a dysfunctional worldview, one that does not validly interpret real events, one built on ambiguous evidence and dubious inferences, an imposing belief network but underlying it only a house of cards. Employing our unsound worldview, we respond inappropriately to signals from our environment. When our actions become too incongruent from reality, a crisis occurs, our house of cards collapses. We suddenly are forced to view the world through a different, more realistic filter. These life-altering experiences, or epiphanies, are the manifestations of the collapses of our houses of cards.

In Uncoupling , Vaughan finds that couples going through divorce follow this same house-of-cards process. One partner, and eventually the other, chooses to interpret aspects of the relationship negatively and gradually redefines the history of the relationship in terms of this frame of reference. Again, Vaughan:2

The partner’s frame of reference affects interpretation of the initiator’s signals. The partner fits the initiator’s behavior in with personal expectations about the duration of the relationship, and within the range of signals that he or she has learned to expect from the initiator. When a new signal does not fit – “I packed your lunch.” “Did you pack a gun in it?” – the partner will not take it seriously since it falls outside the frame of reference.

Once a partner chooses to construe events in the relationship negatively, it becomes difficult or impossible to salvage the relationship. In order to do so, both partners must choose to construe the relationship in positive terms.

This is true not only in relationships with others, but in our relationship with the world. If we choose to perceive events in our lives through a filter of anger, then we will perceive ourselves to be victims of events. Life changing events are events that allow us to grow by causing us to examine our perceptual houses of cards, and to choose new worldviews. We can help this process of growth by being conscious of our worldview. Do we choose to view our partner’s unique characteristics as endearing or annoying? If we choose to interpret our partner’s actions in negative terms, why? How do we interpret events in our lives? Do we regard ourselves as victims of external events or as the authors of our own life stories?

How Do You Choose to View the World?

How Do You Choose to View the World?

Recognizing that the human mind is highly evolved to find patterns, so much so that it wants to find patterns even when events are random or interpretations are ambiguous, gives us the powerful insight that it is possible for us to choose our paradigms and by so doing, to change our lives. When faced with ambiguity, we can choose to accept the ambiguity or can choose to interpret it within a framework that we choose on the basis of its ability to help us reach our goals. In this way, changing our attitudes and beliefs, gives us the power to change our lives.

What paradigms are you choosing? Are you gaining confidence in your ability to use math as a problem-solving tool or do you discourage yourself, thinking “I’m not good at math?” Do you allow and expect that you will make mistakes when facing a new challenge or do you expect that you will be perfect then give up quickly in frustration when you are not? Do you tolerate ambiguity or do you force newly perceived events into an existing framework of belief? Do you view the actions of people in your life with love or with criticism?

Future articles will show you how to use the math and science facts you learned in school in new ways to critically understand everyday events and solve everyday problems. Before we start, though, you need to choose to believe that you can and will succeed. If you are not there yet, can you let go of the beliefs that are holding you back and replace them with a willingness to learn? If you can, will you? And, if you will, when would be the best time to let those beliefs go?

Okay! You said, “Now!” Right? Then we’re ready! Let’s take our math hammers, our willingness to try new things, our openness to ambiguity, and our belief that we will succeed and get started!

Have you experienced a breakup? Was it preceded by one partner increasingly interpreting the actions of the other negatively as suggested by Vaughan? Have you had a life changing experience? Did it cause you to view the world in a different way? I’d love to hear your comments!

1 Vaughan, D. (1996), The Challenger Launch Decision: Risky Technology, Culture, and Deviance at NASA, University Of Chicago Press, Chicago.

2 Vaughan, D. (1986), Uncoupling: Turning Points in Intimate Relationships, Oxford University Press, USA.

Photo credits:
NASA

Shelley Bergstraser Wild Wind Collies