Where The Dog Stars established Heller as a writer with a consistent, wickedly humorous voice, a formidable scene setter, and writer with philosophical underpinnings, this second novel shows those strengths fraying a bit. He’s adopting a voice here that isn’t always his own; he toys with the sentence structures of Hemingway and Raymond Carver, and the effect is a bit clumsy. However in the book’s second half he returns to vestiges of his first novel’s voice, and this is where his story becomes compelling.
This decorator works by storing the time just before the function starts running (at the line marked # 1) and just after the function finishes (at # 2). The time the function takes is then the difference between the two (at # 3). We use the time.perf_counter() function, which does a good job of measuring time intervals. Here are some examples of timings:
Where The Dog Stars established Heller as a writer with a consistent, wickedly humorous voice, a formidable scene setter, and writer with philosophical underpinnings, this second novel shows those strengths fraying a bit. He’s adopting a voice here that isn’t always his own; he toys with the sentence structures of Hemingway and Raymond Carver, and the effect is a bit clumsy. However in the book’s second half he returns to vestiges of his first novel’s voice, and this is where his story becomes compelling.
The decorator pattern, also known as the wrapper pattern, is when you wrap an object within another object, thus providing a means of enhancing or overriding certain behavior. The wrapper object will delegate any incoming method calls to the original object, unless it defines a new method to enhance or replace the original object’s behavior. By using the decorator pattern, you can dynamically create as many decorated objects as you want, each enhancing the behavior of the original object in a unique way — and all without mutating the original object. In this manner, you can effectively add, remove, or extend behaviors at runtime.

Overall unfamiliarity with the concept. For people who have a passing acquaintance with algebra (or even basic arithmetic) or have used at least one other programming language, much of Python is intuitive. Very few people will have had any experience with the decorator concept before encountering it in Python. There's just no strong preexisting meme that captures the concept.

One of the other advantages of the decorator pattern is that wrapped objects can retain the type of the original object. As a result, you can use original and wrapped objects interchangeably, which is a significant advantage when your goal is to write flexible code. In this manner, you can easily extend the behavior of a particular object without modifying the original code.


The oldest known paintings are at the Grotte Chauvet in France, which some historians believe are about 32,000 years old. They are engraved and painted using red ochre and black pigment, and they show horses, rhinoceros, lions, buffalo, mammoth, abstract designs and what are possibly partial human figures. However, the earliest evidence of the act of painting has been discovered in two rock-shelters in Arnhem Land, in northern Australia. In the lowest layer of material at these sites, there are used pieces of ochre estimated to be 60,000 years old. Archaeologists have also found a fragment of rock painting preserved in a limestone rock-shelter in the Kimberley region of North-Western Australia, that is dated 40,000 years old.[7] There are examples of cave paintings all over the world—in Italy, France, Spain, Portugal, China, Australia, Mexico,[8] etc. In Western cultures, oil painting and watercolor painting have rich and complex traditions in style and subject matter. In the East, ink and color ink historically predominated the choice of media, with equally rich and complex traditions.
In England, little is known of the trade and its structures before the late 13th century, at which paint guilds began to form, amongst them the Painters Company and the Stainers Company. These two guilds eventually merged with the consent of the Lord Mayor of the City of London in 1502, forming the Worshipful Company of Painter-Stainers. The guild standardised the craft and acted as a protector of the trade secrets. In 1599, the guild asked Parliament for protection, which was eventually granted in a bill of 1606, which granted the trade protection from outside competition such as plasterers.[2]
Modern artists have extended the practice of painting considerably to include, as one example, collage, which began with Cubism and is not painting in the strict sense. Some modern painters incorporate different materials such as sand, cement, straw or wood for their texture. Examples of this are the works of Jean Dubuffet and Anselm Kiefer. There is a growing community of artists who use computers to "paint" color onto a digital "canvas" using programs such as Adobe Photoshop, Corel Painter, and many others. These images can be printed onto traditional canvas if required.
×