Write the function in such a way that the system recovers and tries to execute it again. Modify your solution to the previous exercise to throw a double from the function, violating the exception specification. Write a Garage class that has a Car that is having troubles with its Motor. Use a function-level try block in the Garage class constructor to catch an exception thrown from the Motor class when its Car object is initialized. Although the complexity of typical production software guarantees that testers will always have a job, we hope you still yearn to produce defect-free software.
Object-oriented design techniques do much to corral the difficulty of large projects, but eventually you must write loops and functions. Your code is, among other things, an expression of your attempt to solve a problem. It should be clear to the reader including yourself exactly what you were thinking when you designed that loop.
At certain points in your program, you should be able to make bold statements that some condition or other holds. Such statements are called invariants , since they should invariably be true at the point where they appear in the code; if not, either your design is faulty, or your code does not accurately reflect your design. Consider a program that plays the guessing game of Hi-Lo.
One person thinks of a number between 1 and , and the other person guesses the number. The person who holds the number tells the guesser whether their guess is high, low or correct. The best strategy for the guesser is a binary search , which chooses the midpoint of the range of numbers where the sought-after number resides. The high-low response tells the guesser which half of the list holds the number, and the process repeats, halving the size of the active search range on each iteration. So how do you write a loop to drive the repetition properly?
What assumption, however simple, are you making each time you guess? In other words, what condition should hold by design on each loop iteration? The simple assumption is that the secret number is within the current active range of unguessed numbers: [1, ]. Suppose we label the endpoints of the range with the variables low and high. Each time you pass through the loop you need to make sure that if the number was in the range [ low , high ] at the beginning of the loop, you calculate the new range so that it still contains the number at the end of the current loop iteration.
The goal is to express the loop invariant in code so that a violation can be detected at runtime. The deception will exclude the secret number from the new subrange. We can express this condition in the following program:. We also use a standard C technique for reporting program status to the calling context by returning different values from main. It is portable to use the statement return 0; to indicate success, but there is no portable value to indicate failure.
In this case, it is clearer to make an assertion , which is a positive statement that reveals your design decisions. Suppose you are implementing a vector of integers: an expandable array that grows on demand. The function that adds an element to the vector must first verify that there is an open slot in the underlying array that holds the elements; otherwise, it needs to request more heap space and copy the existing elements to the new space before adding the new element and deleting the old array.
Such a function might look like the following:. In this example, data is a dynamic array of int s with capacity slots and nextSlot slots in use. Proper behavior of MyVector depends on this design decision, and it will never fail if the rest of the supporting code is correct. Is that too drastic?
In practice, it is much more drastic to let execution continue when a basic design assumption has failed. Your program needs to be fixed. If all goes well, you will thoroughly test your code with all assertions intact by the time the final product is deployed. Depending on the nature of your application, the machine cycles needed to test all assertions at runtime might be too much of a performance hit in the field.
How these values are obtained is immaterial to our discussion. Macros are evaluated as the preprocessor encounters them and thus use whatever NDEBUG state applies at the point of inclusion. The most common way to define NDEBUG once for an entire program is as a compiler option, whether through project settings in your visual environment or via the command line, as in:. Most compilers use the —D flag to define macro names.
Because the code in an assertion disappears when NDEBUG is defined, it is important that you never do work in an assertion. Only test conditions that do not change the state of your program. Not all conditions should be enforced by assertions. User errors and runtime resource failures should be signaled by throwing exceptions, as we explained in detail in Chapter 1.
It is tempting to use assertions for most error conditions while roughing out code, with the intent to replace many of them later with robust exception handling. Like any other temptation, use caution, since you might forget to make all the necessary changes later. Remember: assertions are intended to verify design decisions that will only fail because of faulty programmer logic. The ideal is to solve all assertion violations during development.
The use of assertions as a tool to ensure program correctness was formalized by Bertrand Meyer in his Design by Contract methodology. In other words, the preconditions are the requirements for using the function, such as supplying arguments within certain ranges, and the postconditions are the results delivered by the function, either by return value or by side-effect.
When client programs fail to give you valid input, you must tell them they have broken the contract. A postcondition failure indicates a program error, and it is appropriate to use assertions for any invariant at any time , including the postcondition test at the end of a function. This applies in particular to class member functions that maintain the state of an object. In the MyVector example earlier, for instance, a reasonable invariant for all public member functions would be:.
Subclasses play the role of subcontractor to their base classes because they must maintain the original contract between the base class and its clients. For this reason, the preconditions in derived classes must impose no extra requirements beyond those in the base contract, and the postconditions must deliver at least as much.
Validating results returned to the client, however, is nothing more or less than testing , so using post-condition assertions in this case would be duplicating work. Writing software is all about meeting requirements. People cannot articulate software requirements without sampling an evolving, working system. Then, after evaluating the outcome, do it all over again. The ability to develop in such an iterative fashion is one of the great advances of the object-oriented approach, but it requires nimble programmers who can craft resilient code.
Change is hard. Another impetus for change comes from you, the programmer. The craftsperson in you wants to continually improve the design of your code. Fortunately, our industry is growing accustomed to the discipline of refactoring , the art of internally restructuring code to improve its design, without changing its behavior. Refactoring helps code evolve.
Whether the force for change comes from users or programmers, changes today may break what worked yesterday. We need a way to build code that withstands change and improves over time. In this section we explore what we think is the key to making flexible, incremental development succeed: an easy-to-use automated unit test framework. Here, we are merely describing a way to help developers write better code. Developers write unit tests to gain the confidence to say the two most important things that any developer can say:. I understand the requirements.
My code meets those requirements to the best of my knowledge. Or, to express it in XP terms:. Writing tests first also guards you against boundary conditions that might break your code, so your code is more robust. So what does a unit test look like? Too often developers just use some well-behaved input to produce some expected output, which they inspect visually.
Two dangers exist in this approach. The second danger is that inspecting output visually is tedious and error prone.
Most any such thing a human can do a computer can do, but without human error. For example, suppose you need to build a Date class that has the following properties:. Your class can store three integers representing the year, month, and day. Just be sure the year is at least 16 bits in size to satisfy the last bulleted item. The interface for your Date class might look like this:. Before you implement this class, you can solidify your grasp of the requirements by writing the beginnings of a test program.
You might come up with something like the following:. The only visual inspection you do is to read the final score. The framework described later in this chapter has such a test function, among other things. You can now implement enough of the Date class to get these tests to pass, and then you can proceed iteratively until all the requirements are met. Such an exercise might produce the following version of a test for the Date class:.
England v New Zealand - as it happened
This test can be more fully developed. The full implementation for the Date class is available in the files Date. It keeps track of the number of passes and failures and displays the text of any test condition that fails. To define a test for the Date class using the framework, you can inherit from Test as shown in the following program:.
The output indicates exactly what test was in error and where it happened:. During testing, create an input set that will cause the exception to occur. In both cases, if an exception is not thrown, it is an error. Real projects usually contain many classes, so you need a way to group tests so that you can just push a single button to test the entire project. To illustrate, the following example collects the programs in Chapter 3 that use the Test class into a single suite.
Note that this file will appear in the Chapter 3 subdirectory:. Five of the above tests are completely contained in header files. TrimTest is not, because it contains static data that must be defined in an implementation file. The two first two output lines are trace lines from the StringStorage test. You must give the suite a name as a constructor argument. Otherwise, it gets its stream from the Suite object. As with Test , there is an optional second argument to the suite constructor that defaults to std::cout.
The test framework code is in a subdirectory called TestSuite in the code distribution available at www. To use it, include the search path for the TestSuite subdirectory in your header, link the object files, and include the TestSuite subdirectory in the library search path. Here is the header for Test. As explained in Volume 1, it is an error to delete a derived heap object through a base pointer unless the base class has a virtual destructor.
Any class intended to be a base class usually evidenced by the presence of at least one other virtual function should have a virtual destructor. The Suite class holds pointers to its Test objects in a vector. Copy and assignment are disallowed as they are in the Test class. We will be using the TestSuite framework wherever it applies throughout the rest of this book. This section contains some other tips and techniques that might help during debugging.
Now you can go through and surround the statements you trace with this macro. However, this can introduce problems.
- Phrack #54!
- User Reviews?
- Edie: An American Biography.
- Markheim: Sound and Fury.
For example, if you take the statement:. If you want to display an expression, you simply put it inside a call to D. You can use this macro any time you want to check an intermediate value. These two macros represent the two most fundamental things you do with a debugger: trace through the code execution and display values. These techniques always work, regardless of the situation.
Our examples work on all the compilers we use, however, and provide useful information. This is the only place in this book where we will depart from the sanctity of standard-compliant coding practice. Use at your own risk! The following code easily creates a trace file and sends all the output that would normally go to cout into that file. Because cout has been textually turned into something else by Trace. For array bounds checking, use the Array template in CArray3. Check for non-virtual destructors in base classes. This section discusses a system that can help you track down these kinds of problems.
We illustrate some useful thinking along the way. To use the memory checking system, you simply include the header file MemCheck. A trace of all allocations and deallocations is printed to the standard output via stdout. When you use this system, all calls to new store information about the file and line where they were called. This is accomplished by using the placement syntax for operator new. It is important to include this file in any source file in which you want to track free store activity, but include it last after your other include directives.
Most headers in the standard library are templates, and since most compilers use the inclusion model of template compilation meaning all source code is in the headers , the macro that replaces new in MemCheck. In any case, the final results are always printed see the test runs later in this chapter. To prevent collision with any names you have placed in the global namespace, as much information as possible is kept inside the anonymous namespace.
The Sentinel class exists solely to call a static object destructor as the program shuts down. This destructor inspects memMap to see if any pointers are waiting to be deleted indicating a memory leak. For simplicity, we forward all work for array new and delete to their scalar counterparts.
This example verifies that you can use MemCheck in the presence of streams, standard containers, and classes that allocate memory in constructors. The pointers p and q are allocated and deallocated without any problem, but r is not a valid heap pointer, so the output indicates the error as an attempt to delete an unknown pointer:.
You still might get some calls to delete from reallocations performed by the containers. Remember to only use assertions for invariants, though, and not for runtime error handling. Nothing will give you more peace of mind than thoroughly tested code. You and your users! Suppose you are asked to develop a class named Rational that supports rational numbers fractions.
The fraction in a Rational object should always be stored in lowest terms, and a denominator of zero is an error. Here is a sample interface for such a Rational class:. Write a complete specification for this class, including preconditions, postconditions, and exception specifications. Write a test using the TestSuite framework that thoroughly tests all the specifications from the previous exercise, including testing exceptions. Implement the Rational class so that all the tests from the previous exercise pass. Use assertions only for invariants. The file BuggedSearch.
There are some bugs in the algorithm. Use the trace techniques from this chapter to debug the search function. The most complete and also the most obscure reference to the full libraries is the Standard itself. However, some techniques and topics are rarely used and are not covered here. This is an excellent online source of standard library documentation in HTML format that you can keep resident on your computer and view with a Web browser whenever you need to look something up.
You can view this online or purchase it for local viewing. Electronic documentation is effective not only because you can always have it with you, but also because you can do an electronic search. Appendix A lists additional references. Chapter 4 covers the iostreams library, which contains classes for processing input and output with files, string targets, and the system console.
Because they are implemented with templates, these algorithms can be applied to any sequence of objects. Chapter 7 covers the standard containers and their associated iterators. We cover algorithms first because they can be fully explored by using only arrays and the vector container which we have been using since early in Volume 1. String processing with character arrays is one of the biggest time—wasters in C. Especially because string manipulation is so common, character arrays are a great source of misunderstandings and bugs. No matter which programming idiom you choose, there are three common things you want to do with a string :.
In C, a string is simply an array of characters that always includes a binary zero often called the null terminator as its final array element. This architecture is intended to be flexible enough to allow differing implementations by compiler vendors, yet guarantee predictable behavior for users. In particular, the exact conditions under which storage is allocated to hold data for a string object are not defined. String allocation rules were formulated to allow but not require a reference-counted implementation, but whether or not the implementation uses reference counting, the semantics must be the same.
To put this a bit differently, in C, every char array occupies a unique physical region of memory. We say that an implementation that only makes unique copies when a string is modified uses a copy-on-write strategy.
Times - who can do this one? 28 across. - Times for the Times — LiveJournal
This approach saves time and space when strings are used only as value parameters or in other read-only situations. Whether a library implementation uses reference counting or not should be transparent to users of the string class. Unfortunately, this is not always the case.
In multithreaded programs, it is practically impossible to use a reference-counting implementation safely. Creating and initializing strings is a straightforward proposition and fairly flexible. In the SmallString. Unlike a C char array, which would contain a random and meaningless bit pattern until initialization, imBlank does contain meaningful information.
- How to Be Successful Stock Trader - Ways you Never Thought of! ( Trend Following Mentor).
- justa arf biffs shorts book 4 Manual.
- Similar authors to follow!
- After the Revolution.
- England v New Zealand - as it happened?
- (PDF) Book of Idioms From A to Z | IT - ADMIN Thi LQ - roxofixevu.gq.
- England v New Zealand - as it happened | Rob Smyth | Sport | roxofixevu.gq!
- Chaya and the Spider Gem;
By contrast, standardReply is simply initialized with an assignment. Put another way, this example illustrates that string objects let you do the following:. These are the simplest forms of string initialization, but variations offer more flexibility and control. You can do the following:. Both arguments have default values. Notice the final line of the example. Also notice that the last initializer copies just one character from the source string. In this way you can hand a string constructor two iterators, and it copies from one to the other into the new string :.
You can initialize a string with a number of copies of a single character, however:. The first argument indicates the number of copies of the second argument to place in the string. The second argument can only be a single char , not a char array. There are two unfortunate aspects of the Standard C library functions for handling char arrays.
The roster of functions in the C char array library shocks the unsuspecting user with a long list of cryptic, mostly unpronounceable names. Although the type and number of arguments to the functions are somewhat consistent, to use them properly you must be attentive to details of function naming and parameter passing. The second inherent trap of the standard C char array tools is that they all rely explicitly on the assumption that the character array includes a null terminator. For purposes of actual string handling operations, there are about the same number of distinct member function names in the string class as there are functions in the C library, but because of overloading the functionality is much greater.
Coupled with sensible naming practices and the judicious use of default arguments, these features combine to make the string class much easier to use than the C library char array functions. Notice the ease with which we changed the size of the storage allocated to the string. The exact fashion that the string member functions allocate space for your data depends on the implementation of the library. When we tested one implementation with the previous example, it appeared that reallocations occurred on even word that is, full-integer boundaries, with one byte held back. Space grows, and existing characters politely move over to accommodate the new elements.
Sometimes this might not be what you want. The tag is first inserted into s notice that the insert happens before the value indicating the insert point and that an extra space was added after tag , and then it is found and replaced. The npos data member is a static constant member of the string class that represents a nonexistent character position. You may have been hunting through this chapter trying to do something relatively simple such as replace all the instances of one character with a different character.
Upon finding the previous material on replacing, you thought you found the answer, but then you started seeing groups of characters and counts and other things that looked a bit too complex. It is important to advance the position held in the variable lookHere past the replacement string, in case from is a substring of to.
The following program tests the replaceAll function:. Since a string behaves like an STL sequence, a number of other algorithms can be applied to it, which might solve other problems that are not directly addressed by the string member functions. These operators make combining string s syntactically similar to adding numeric data:. On the right side of the statement, you can use almost any type that evaluates to a group of one or more characters. The find family of string member functions locates a character or group of characters within a given string.
Here are the members of the find family and their general usage :. Searches a string for a specified character or group of characters and returns the starting position of the first occurrence found or npos if no match is found. Searches a target string and returns the position of the first match of any character in a specified group. If no match is found, it returns npos. Searches a target string and returns the position of the last match of any character in a specified group. If no such element is found, it returns npos. Searches a string from end to beginning for a specified character or group of characters and returns the starting position of the match if one is found.
The default position at which to begin searching is 0. By setting the call to find inside a loop, you can easily move through a string, repeating a search to find all the occurrences of a given character or group of characters within the string. This method starts with the number 2, marks all subsequent multiples of 2 as not prime, and repeats the process for the next prime candidate. The following example illustrates a case-insensitive search:. The Find. The first test checks for an empty string ; in that case, no tests are made, and a copy is returned.
Notice that once the end points are found, the string constructor builds a new string from the old one, giving the starting count and the length. In the array of strings , you can see that the character arrays are automatically converted to string objects. This array provides cases to check the removal of spaces and tabs from both ends, as well as ensuring that spaces and tabs are not removed from the middle of a string.
This example will even strip HTML tags that span multiple lines. Comparing strings is inherently different from comparing numbers. Numbers have constant, universally meaningful values. To evaluate the relationship between the magnitudes of two strings, you must make a lexical comparison. Most often this will be the ASCII collating sequence, which assigns the printable characters for the English language numbers in the range 32 through decimal. With respect to the alphabet, this means that the letters nearer the front have lower ASCII values than those nearer the end.
The overloaded comparison operators are useful for comparing both full strings and individual string character elements. Notice in the following example the flexibility of argument types on both the left and right side of the comparison operators. For efficiency, the string class provides overloaded operators for the direct comparison of string objects, quoted literals, and pointers to C-style strings without having to create temporary string objects.
The overloaded nonmember comparison operators for the string class are limited to the subset that has clear, unambiguous application to single characters or groups of characters. It provides overloaded versions to compare:. To compare a subset of the characters in one or both strings, you add arguments that define where to start the comparison and how many characters to consider.
In the examples so far, we have used C-style array indexing syntax to refer to an individual character in a string. Execution of this program on one of our test compilers gave the following output:. By catching this object in an exception handler, you can take appropriate remedial actions such as recalculating the offending subscript or growing the array.
The program Find. For this reason, any case-sensitive collating scheme that attempts to be comprehensive will be nightmarishly complex to use. In Chapter 5, we examine templates in great detail much more than in Chapter 16 of Volume 1. You can use this information to make a new type of string class that ignores case.
We provide a typedef named istring so that our class will act like an ordinary string in every way, except that it will make all comparisons without respect to case. This is just a toy example. The test program looks like this:. Unfortunately, some compilers still do not provide robust support for wide characters.
These are used by a Python program that Bruce wrote to extract the code into files and set up makefiles for building the code. For example, a double-slash followed by a colon at the beginning of a line denotes the first line of a source file. For example, the first line in the previous program above contains the string CIWCompare. The last line of a source file contains a triple-slash followed by a colon and a tilde. If the first line has an exclamation point immediately after the colon, the first and last lines of the source code are not to be output to the file this is for data-only files.
The Test Framework in Chapter 2 is built this way. This section will present a program to just extract all the code so that you can compile and inspect it manually. This command reads the text file TICV2. The directory tree will look like the following:. The source files containing the examples from each chapter will be in the corresponding directory. For this reason, there is more conditional compilation later in the program to choose the right call to mkdir. The main program validates the command-line arguments and then reads the input file a line at a time, looking for the special source code delimiters.
The Boolean flag inCode indicates that the program is in the middle of a source file, so lines should be output. The printDelims flag will be true if the opening token is not followed by an exclamation point; otherwise the first and last lines are not written. It is important to check for the closing delimiter first, because the start token is a subset, and searching for the start token first would return a successful find for both cases.
If we encounter the closing token, we verify that we are in the middle of processing a source file; otherwise, something is wrong with the way the delimiters are laid out in the text file. If inCode is true, all is well, and we optionally write the last line and close the file.
When the opening token is found, we parse the directory and file name components and open the file. For the most part, the string class makes referring to strings with character pointers unnecessary. This eliminates an entire class of software defects that arise from the use of uninitialized and incorrectly valued pointers. When the data in a string grows beyond the limits of the memory initially allocated to it, the string object will make the memory management calls that take space from and return space to the heap.
The string class member functions provide a fairly comprehensive set of tools for creating, modifying, and searching in strings. Write and test a function that reverses the order of the characters in a string. A palindrome is a word or group of words that read the same forward and backward. Make your program from Exercise 2 return true even if symmetric letters differ in case. Change your program from Exercise 3 to ignore punctuation and spaces as well. Using the following string declarations and only char s no string literals or magic numbers :.
Write a program named replace that takes three command-line arguments representing an input text file, a string to replace call it from , and a replacement string call it to. The program should write a new file to standard output with all occurrences of from replaced by to. Repeat the previous exercise but replace all instances of from regardless of case. Make your program from Exercise 3 take a filename from the command-line, and then display all words that are palindromes ignoring case in the file.
Do not display duplicates even if their case differs. Do not try to look for palindromes that are larger than a word unlike in Exercise 4. Write a program that takes three command-line arguments a filename and two strings and displays to the console all lines in the file that have both strings in the line, either string, only one string, or neither string, based on user input at the beginning of the program the user will choose which matching mode to use.
Write a program that takes two command-line arguments a filename and a string and counts the number of times the string occurs in the file, even as a substring but ignoring overlaps. If the string occurs more than once in a word, only count the word once in figuring the average. Write a program that takes a filename from the command line and profiles the character usage, including punctuation and spaces all character values of 0x21  through 0x7E , as well as the space character. That is, count the number of occurrences of each character in the file, then display the results sorted either sequentially space, then!
Ignore decimal points after the first until a non-numeric character is found, and round to the nearest hundredth. For example, the string Write a program that accepts two command-line arguments a filename and a number and scrambles each word in the file by randomly switching two of its letters the number of times specified in the second argument.
That is, if 0 is passed into your program from the command-line, the words should not be scrambled; if 1 is passed in, one pair of randomly-chosen letters should be swapped, for an input of 2, two random pairs should be swapped, etc. Write a program that accepts a filename from the command line and displays the number of sentences defined as the number of periods in the file , average number of characters per sentence, and the total number of characters in the file.
Sometimes this is a fine solution. The following program is such an attempt:. Here are the member function definitions:. If the file does not open as expected, an exception is thrown. Since the only effect seems to be guaranteed initialization and cleanup, why not make it public or use a struct instead? If you want complete safety, you must prevent the user from directly accessing the FILE pointer.
File has the same constructor as in the previous example, and it also has a default constructor. The default constructor sets the private FILE pointer f to zero. This approach is not a terrible solution by any means. The stumbling block is the runtime interpreter used for the variable argument list functions.
This is the code that parses your format string at runtime and grabs and interprets arguments from the variable argument list. Even if you use only a fraction of the functionality of the interpreter, the whole thing gets loaded into your executable. Because the format string is not evaluated until runtime, there can be no compile-time error checking. It also has the much greater challenge that it must accommodate any new class. Thus, its constraints require that this foundation class library be a truly inspired design. A stream is an object that transports and formats characters of a fixed width.
You can have an input stream via descendants of the istream class , an output stream with ostream objects , or a stream that does both simultaneously with objects derived from iostream. The single interface you learn also works for extensions added to support new classes. Some functions implement your formatting commands, and some functions read and write characters without formatting. The basic classes in the iostreams inheritance hierarchy are shown in the following figure:.
The rest of the classes are templates that have the underlying character type as a parameter. The istream class, for example, is defined as follows:. All the classes mentioned earlier are defined via similar type definitions. The classes for file and string streams introduced later add functionality for their specific stream types.
In the iostreams library, two operators are overloaded to simplify the use of iostreams. Fortunately, the overloaded inserters and extractors are designed to be chained into a more complex expression that is much easier to write and read :. Defining inserters and extractors for your own classes is just a matter of overloading the associated operators to do the right things, namely:. The stream should be non- const because processing stream data changes the state of the stream.
By returning the stream, you allow for chaining stream operations in a single statement, as shown earlier. The following inserter does the job:. We discuss manipulators in depth later in this chapter. Extractors require a little more care because things can go wrong with input data. When an error bit is set in a stream, all further streams operations are ignored until the stream is restored to a good state explained shortly. The following are valid date strings for this extractor:. Nice historical artifact! One of his most obscure releases! Note: Last of 6 copies.
Great as with all of their 3 boss singles. Both sides off Mindrocker 8 LP. Band is related to the Act Of Creation on Capitol. Band includes Paul Conley of Lothar. Very cool unknown gem that's non-comp! A-side off Roof Garden LP. You wont' find a better copy! A Dunwich Production! VG 5 song 7-inch 45 from for band bookings thru Richard Delvy Productions. Features a young Michel Pagliaro. Personal favorite and you will dig!!!! If you don't know this one then give it up!
Both sides mono mixes from their brilliant LP. Super tough 45 to find so don't miss out! Note: band is post-Brain Train. A-side on Gone 2 LP. If you dig the band you'll go bonkers over this track. Tuff to find as a US release. Get it while it's affordable! Produced, arranged, and written by Ray Whitley.
Both sides non-LP tracks and you won't find a better copy! A-side is non-LP track and B-side is edited version on album. Note: B-side is credited to Charles Schoen. By far the hardest of their 3 singles to find. Awesome complex songwriting worthy of Brian Wilson and dead riner for an undiscovered Beach Boy classic. Both alt mono mixes from rare LP. Includes Carey Mann post-Ill Wind. M- DJ half-inch edge crack that doesn't affect play. Personal favorite and killer track! Pure genius! Obscure disc! Both sides written and produced by Tommy Kaye. Both non-comp and are cool.
Comes with rare band shot PS. Their 4th US single with brilliant production and songwriting craft! Note: B-side is edited version on LP. Features Jack Millman Johnny Kitchen involved with lots of groovy psych exploitation discs. Non-comp and excellent follow-up to their garage punker "Hey You. Band includes a young Peter Cetera pre-Chicago. Both sides non-comp and wicked cooooool! Unknown 45 and non-comp--Great!
Flip has pounding tambourine and non-comp. Pretty darm incredible track, amazingly non-comp, and super tuff to find as a stock instead of double-sided "Do Drop In" DJ promo. A BIG personal favorite--Dig it!! M- stock copy small wol coh Awesome '67 CT heavy fuzzed-out popsike winner.
Both sides unique mono mixes. By far their BEST song! Both sides amazingly non-comp. Non-comp and perfect for a "Dose" comp so get it NOW before it's known!!! This is a killer disc and band features Ben Orr pre-Cars. B-side completely alternate mono mix from Anthem Of The Sun. Both tracks are non-LP cuts and are stellar!
Band is pre-Rites of Spring on Parkway. Includes Bernie Leadon pre-Eagles. M- '60's garage sound from '70's. My last mint copy so don't lose out! Both on Sundazed CD reish. Nice obscure disc! Both sides non-comp and relavtvely unknown GREAT disc!!! Both sides produced by Leiber-Stoller. Very obscure 45 that you virtually never see offered! M- DJ Cherry copy of moody '66 Chicago garager with desperate vocal, uptempo bridge, and great somber guitar break. Recommended if you don't know it!
Their third 45 and both songs are non-LP tracks. Comes with clean original blue Fontana sleeve. His best rockin' 45! A-side on Shadows Falling CD. Both mono mixes from LP. These guys made brilliant singles! You wll DIG! A-side great haunting ballad. Both sides written by Michael Brown and flip was later a hit with the Cherry People. B-side great doomsday cut.
Java at its best
A personal favorite and you will dig!!! Unique one-sided US press that wasn't released anywhere else. Very cool promo pressing with black not red type on white background. Both sides non-LP tracks. A-side off Bring Flowers To U. Boths songs alternate mono mixes and A-side edited from LP on album.
VG sol xol Moody '65 IL harp wailin' folk rocker--their 1st release. Note: This version came out before the Grass Roots smash hit! The genre doesn't get much better than this! Flip is decent faux-Mersey mid-tempo groovy track. Tough title to find on collectable British label! Alternate mono mixes from their 1st Groundbreaking LP.
Non-comp and great! Tough to score US Rare as US pressing! All 4 of their hip singles are worth scoring! Produced by Paul Buff and both sides non-comp! Neither side is comped--I'm shocked!!! Non-comp and you will dig! Non-comp and first 45 by same band that did "Ghost Hunter. M- Beautiful copy of absolutely blistering '67 heavy fuzz punk anthem later covered by the Standells. B-side cool Rascal's-inspired Hammond organ groover with hot break.
Hard to imagine anything more excessive and weird! A personal fav! An unknonwn non-comped personal favorite that you will dig! Both non-LP tracks and non-comp. M- Perfect copy of '65 folkpunk protest remake with harsh fuzz and snotty vocal. Easily rivals Barry McGuire's schtick so check it out--Great! Note: This is a totally different and non-comp version than earlier Showplace press off Garagelands 2 CD. VG Unknown mid-tempo cool R'n'B low-key swinger with guitar break non-comp.
Band is rumored to be from PA but not verified. Rare as stock DJ copies have "Handbags" on both sides and amazingly non-comp! The 3rd and final release from the same band that also did the monster "In Wyrd" psych track. M Perfect copy of '67 Chicago garage jangle perfection and stellar lead vocal with harmonies off Pebbles 7 CD. A personal favorite!!! Cool unknown single and non-comp! Both sides prod by Joe Meek. Great bluesy garage stompers with slide guitar. M- Beautiful copy of frenetic '66 MI fuzz teen garage with hot break. Non-comp and truly great! Last 45 before morphing into lame Bosstown-sound band Puff.
Non-comp and 1st of 4 singles. This is the harder to find of their 2 singles. Both sides amazingly non-comp but you can hear them on Youtube. Band is early ISP. The best 45 by this prolific Midwest band. Comes with the original Island label sleeve. Reished on Wyld Sydes 4. Note: Hard to find a 45 with the B-side since most are double A-sided. Their 45s hardly ever turn up--Rare! Tuff later 45 to find! Both sides non-LP and cool 45! Rockin' driving flip co-written by Graham Gouldman! B-side is totally unique mix that only came out on this US pressing. M Perfect copy of '73 UK slow country rock emotional ballad with pedal steel guitar.
Both sides co-prod by Steve Marriott and includes his very noticeable backing vocals Relatively unknown 45 that never shows up. Includes non-LP walloping B-side. Absolute killer! Both non-LP circa 1st album. M- coh Heavy '68 UK intense popsike. Very tough single to score! Both sides non-LP and very tough single to score! Non-comp wicked cool New England obscurity!
First single for Capitol and great! Both sides non-comp and Super Gamma Cool! M- Superb '67 Pittsburgh PA pair of cool moody echoed garage ballads. Totally brilliant songwriting and production off Fading Yellow 11 CD. Their 2nd and final Rare US pressing! Their first disc and this is the edited version.
Can't get better than this! Tuff title to find and non-comp Their best cut and tough score.
Tony Rossini recorded for Sun. Terri was songwriter Donna Weiss. Mono mixes from their LP--cool artifact! M- Beautiful copy of driving '66 PA garage thumper with intense screaming vocal that's amazingly non-comp. A personal favorite and nothing like their other two blue-eyed soul 45s on Barclay. Same band that did the garage classic "The Lion. Both cuts non-LP! Both cuts pre-LP and astonishingly non-comp! A-side intense brooding hard blues psych. A-side off Psychedelic Unknowns 9 CD. Both sides non-comp and worthy! Non comp and very cool garage winner!
Fantastic '66 Detroit MI moody garager--one of best in genre! Comes with the original clean Immediate label sleeve. Both sides mono mixes from their final LP. Strong VG Super Heavy '68? Wild unknown psych 45 and non-comp! Both sides non-comp but you can hear A-side on Youtube.
Super disc! I remember when I was a. Those were the days! Louis: Boy, you must spend all your life down here! Roy: That was before the days of those horses Louis: Yes, before the days of the. No pimples? Louis: No, I never did. Roy: Sure! Louis: Positively Roy: You had to have 'em. Louis: Naw, naw. Roy: You've got one right in your nose right now!
Scratchin' them. Roy: Boy, I'm gettin' tired, man. We should go. Louis: Oh, yes. Roy: We should go to sleep Louis: Oh, yeah. Roy: I just hope he comes back. Louis: Yes. Louis: Okay. Roy: And we'll hope for the best. I'll pray for [ Amen Roy: Amen! Louis: Amen. Just One More Time. That's just fine!
Come on boys! Just one more time! Spider: I think I can explain about. Monica: Right John: Yeah? Spider: I think the music in that dense light is probably what makes the smoke stand still. Any sort of motion has this effect on. You know, the thing on their neck John: Hmm. Spider: As soon as the pony's mane starts to get good in the back any sort of mo. John: That's the basis of all their nationalism. Like if they can't salute the smoke every morning when they get up. Spider: Yeah, it's a vicious circle. You got it. John: So when she's beating him over the nose with a tire iron. Kangaroos Spider: Oh no, man.
Monica: Oh. Monica: And then they eat it when they get home John: If it's still alive Spider: Envelops the bath tub 9. Tinsel Town Rebellion 1. Love Of My Life Love of my life, I love you so Love of my life, don't ever go I love you only Love, love of my life Love of my life Stars in the sky, they never lie Tell me you need me, don't say goodbye I love you only Love, love of my life Stars in the sky, they never lie Tell me you need me, don't say goodbye I love you darling, I love you only Don't ever leave me Don't make me, don't make me Don't make me lonely Please, don't leave me!
Love of my life, I love you so Love of my life, don't ever go I love you only Love, love of my life Spoken Stars in the sky, they never lie Tell me you need me, don't say goodbye I love you darling, I love you only Don't ever leave me Don't make me, don't make me Don't make me lonely Please, don't leave me, a-ah! Love of my life, I love you so Love of my life, don't ever go I love you only Love, love of my life Love of my life, Love of my life, Love of my life, Love of my life 3.
FZ:OZ When I won your love, I was very glad Every happiness in the world belonged to me Then our love was lost, you went away Now I shed my tears in lonely misery I know now you never really loved me Oh, it hurts me now to think you never really cared I sit and ask myself a thousand times, try and find What really happened to the love that we shared How could I be How could I be Be such a fool Such a fool How could I be Be such a fool How could I be How could I believe. Be such a fool All those lies How could I be You told me Be such a fool How could I be How could I be taken in Be such a fool By your How could I be Sweet face Be such a fool You spoiled our love, You ruined my life I'm so tore down, I'm a terrible disgrace But there will come a time, you'll regret the way, ah You treated me as if I was a fool and didn't know The many times you lied about your love for me Someone is gonna know your love is just a show How could I be, be such a fool How could I be, be such a fool How could I be, be such a fool How could I be, be such a fool How could I be, be such a fool How could I be, be such a fool How could I be, be such a fool How could I be, be such a fool 4.
Deseri oo-ooo Deseri, the first day we met Deseri oo-ooo I'll never forget Deseri oo-ooo I saw you walking down the street And my heart skipped a beat Deseri oo-ooo Deseri I told you of my love for you Deseri oo-ooo. Deseri But theres nothing. My-y Deseri That our love will last.
Deseri oo-ooo Thru the years Deseri. Freak Out! Who needs me to care for them? Why should I just sit and watch While the others smile? I'm not satisfied Everything I tried Abusing me. Everything I tried 6. Got to. Oh, Jelly Roll! Tch, tch, tch. Cough, cough, cough Got to have it. Jelly Roll Gum Drop Got to! Bop bop bah, Bop bop bah. Oh, I neeeeeed. Cough, Cough, Cough! Jelly Roll! Did-dee did-dee bop bop did-dee Got to have. Did-dee did-dee bop bop did-dee Aaaah. Did-dee did-dee bop bop did-dee Bop bop bah, Bop bop bah 7. You surely must be trying To break this heart of mine I thought you knew I loved you And we'd share a love so fine But later that night You threw a padlock on my door You threw my clothes out on the street 'Cause you don't want my love no more And I cryyyd I-I-I cryyyd I cried I cried My heart out Cried My heart out Later that night Spoken Don't go baby, don't put me out on the street.
You threw my best sharkskin suit out on the lawn, right on top of some dog waste I hold in my hand three letters from the stages of your fine, fine, super-fine career. B collar laying all over the front lawn. Where's my cuff links? Lemme back in dere. You can come out of the closet now" 9. You didn't try to call me You didn't try to call me You didn't try to call me I'm so lonely No matter who I take home, I keep calling your name And you, I need you so bad you're the one babe Tell me, tell me who's lovin' you now 'Cause it worries my mind and I can't sleep at all I stayed home on Friday just to wait for your call And you didn't try, you didn't try, you didn't try You didn't try to call me Why didn't you try, I'm so lonely I'm so lonely!
No matter who I take home, I keep calling your name And you, I need you so bad You're the one babe Tell me, tell me who's lovin' you now 'Cause it worries my mind and I can't sleep at all I stayed home on Friday just to wait for your call I can't say what's wrong or what's right All you've gotta do is call me babe You make me feel so excited girl I got so hung up on you from the moment that we met That no matter how I try, I can't keep the tears from running down my face I'm all alone in my place You didn't try to call me You didn't try to call me You didn't try to call me.
Fountain of love, oooo-oo-oo-oo-oo-oo wee-oo Fountain of love, oooo-oo-oo-oo-oo-oo wee-oo Fountain of love. No no no no no no no-o-o-oo-oh Boppa dooayyydoo Boppa dooayyydoo And some day you'll have to pay Boppa dooayyydoo Boppa dooayyydoo I ain't such a fool that I would let you go I ain't going to let you go-o-o-oo-oh Boppa dooayyydoo Boppa dooayyydoo And treat me this way Boppa dooayyydoo Boppa dooayyydoo You know you treat me funky, baby No no no no no no no-o-o-oo-oh Boppa dooayyydoo Boppa dooayyydoo You know you treat me funky, baby Boppa dooayyydoo Boppa dooayyydoo You know you treat me funky, baby I ain't going to let you go-o-o-oo-oh Boppa dooayyydoo Boppa dooayyydoo You know you treat me funky, baby Boppa dooayyydoo Boppa dooayyydoo You know you treat me funky, baby No no no no no no no-o-o-oo-oh Boppa dooayyydoo Boppa dooayyydoo You know you treat me funky, baby Boppa dooayyydoo Boppa dooayyydoo You know you treat me funky, baby I ain't going to let you go-o-o-oo-oh Boppa dooayyydoo Boppa dooayyydoo You know you treat me funky, baby Anyway The Wind Blows Stuff Up The Cracks If you decide to leave me, it's all over If you decide to leave me, it's all over I tried to make you happy I gave you all my love There's nothing left for me to do but cry If you decide to leave me, it's all over If you decide to leave me, it's all over I tried to make you happy I gave you all my love There's nothing left for me to do but cry Ooo, oo-ooo, ooo, oo-ooo, ooo, oo-ooo Stuff up the cracks, turn on the gas I'm gonna take my life Sss--stuff it!
Alphonzo's Pancake Homepage Further corrections and additions by Romn and Charles Ulrich The parts on the original vinyl and not on the CD remix are printed this way, and the parts on the CD mix not on the original vinyl this other way. If you decide to leave me, it's all over If you decide to leave me, it's all over I tried to make you happy I gave you all my love There's nothing left for me to do but cry If you decide to leave me If you decide to leave me I'll cry If you decide to leave me I'll cry! O-oh, I'll cry If you decide to leave me I'll cry!
I-I-I'll cry If you decide to leave me O-oh, don't go If you decide to leave me Don't le-ee-ee-ee-eave me If you decide to leave me If you decide to leave me If you decide to leave me Don't go If you decide to leave me O-oo-oh. On a rug where they walk and drool Past the girls in the office Side 1 1. Better look around before you say you don't care Shut your fuckin' mouth about the length of my hair How would you survive If you were alive Shitty little person?
We are the other people We are the other people We are the other people You're the other people too Found a way to get to you We are the other people We are the other people We are the other people You're the other people too Found a way to get to you Do you think that I love you.
Side 2 1. No no no Oh, we're gonna get a tv dinner and cook it up No no no no no no no! No no no no no no no no no no Man you guys are really safe Everything's cool I remember tu-tu I remember tu-tu I remember tu-tu They had a swimming pool I remember tu-tu I remember tu-tu They had a swimming pool I remember tu-tu I remember tu-tu They had a swimming pool And they thought it couldn't happen here duh duh duh They knew it couldn't happen here They were so sure it couldn't happen here But.
Hmmmmmmmmm It can't happen here Can't happen here. Can't happen here. You're probably wondering Why I'm here Not that it makes a heck of a lot of a difference to ya 3. Gene Estes--percussion Neil Le Vang--guitar What will you do if we let you go home, And the plastic's all melted, And so is the chrome? You're such a drag. I know it's hard to defend an unpopular policy every once in a while Hungry Freaks, Daddy Freak Out! They won't go For no more.
Great mid-western hardware store Philosophy that turns away From those who aren't afraid to say What's on their minds The left-behinds of the Great Society 6. Studios, LA Prob. Only in the Spanish edition 1. What's there to live for? First I'll buy some beads And then perhaps a leather band To go around my head Some feathers and bells And a book of Indian lore I will ask the Chamber Of Commerce How to get to Haight Street And smoke an awful lot of dope I will wander around barefoot I will have a psychedelic gleam in my eye at all times I will love everyone I will love the police as they kick the shit out of me on the street.
I will sleep. Actually I really fucked up in Europe. La la la la la wee-ooo Ay! La la la la la wee-ooo Woo-pah! Bom-bop-bom bom-bom-pa-paw,. Bom-bop-bom bom-bom-pa-paw, etc. La la la la la wee-ooo Uh-uh-hey! La la la la la wee-ooo Yeah-pah-hey! Dit-dit-dit-dit-dit-dit-dit-dit Dit-dit-dit-dit-dit-dit-dit-dit Please, hear my plea! Heh heh heh. Suzy: The first thing that attracted me to Mothers music was the fact that they played for twenty minutes and everybody was hissing and booing and falling off the dance floor.
And Elmer was yelling at them to get off stage and turn down their amplifiers 7. I know the perfect thing to accompany this man's trumpet. None other than. Guy In The Audience: Right! FZ: You understand that you won't be able to hear the organ once we turn the amplifiers up. Awright, Don? Whip it on 'em! They like it loud too, you know? Rundee rundee rundee Dinny wop wop 9. Suzy: Bizarre.
No-one could ever understand our bizarre relationship because I was your intellectual frigid housekeeper. Especially when you'd be going to bed with one chick at night and I wake up in the morning and find another one there, screaming at me. Asked me what the fuck that chick was doing in your bed and I'd walk in and you weren't with the same one you were in the night before. Oh, I'll never forget that, as long as I live. That house, well it had your shit all over. Elmer has a mentality of approximately One Peanut. As a matter of fact, I can remember Elmer telling me that you really had a lot of talent, but he didn't see how anyone could ever make it that insisted on saying FUCK on stage.
And he used to drive by in his gold Cadillac and peer in the window. Possibly because he's 50 years old and wretched. Caress me ah! Caress me Aunt Jemima Caress me ah! Caress me Aunt Jemima Mmm, boy, my lips are gettin' heavy I can't tell when you're telling the truth. I'm not. How do I know anything you've said to me is.
You don't. Dick Kunc: Here's one with your father's moustache, your old cookie jar, rubbers, sneakers, galoshes, belt buckles, and book covers with the name of your high school neatly imprinted in crimson and gold on the front with a picture of the goal post and last year's queen. July 23, Suzy: Wowie Zowie!
I heard them on two occasions, and on the second occasion I went up to Jim Black and I said, "I like your music, and I'd like to come down and play with you. I walked up and said, "How'd you do, my name is Ian Underwood and I like your music and I'd like to play with your group. And just wail out the last one. Bunk: Mmm, let's [stack] here, then. Ian: Yeah. Bunk: Three, four. Now if you still want to get your name in magazines he wants five hundred dollars a month!
JCB: Where does it come from? We worked one gig this month. And now, so, what do we get, two hundred dollars for this gig up here, if we're lucky. If we're lucky, we'll get two hundred. And it'll be two weeks before we get it. I mean a-. We sh-, if we got such a big name, how come, uh. FZ: That shit in the news.
JCB: We're starving, man! This fucking band is starving! And we've been starving for three years. I realize it takes a long time, but God damn does it take another five, ten years from now? FZ: There's some months when you're not gonna work as much as other months. There's some months when you're gonna make a lot of money, and if you average it out, you do make more than two hundred dollars a month. JCB: Expenses are sure high, too.
If we'd all been living in California, it would've been different. FZ: If we'd all been living in California, we wouldn't work at all! JCB: Ah that's -- true. Well, we're not working n-now anyway! We worked one gig this month, Frank! What's wrong with getting two months in a row of this good money?
Or three months in a row? Then we can afford to take three or four months off and everybody can. After the first month I can get just enough ahead, but if I had two more months, man, I'll get ahead. Project X. Don: Boy, we really need a hit single. Just think, I mean, the way the world's going today. I think I can actually change the world, because it's the young people that really need to be changed, and, and you can really do that through music and everything.
This was our last hit single. Oh, well, gotta come up with something better than that. Phyllis: You know. Don: Coming to you from the motel. Phyllis: Look at that monster. Don: Where. FZ: Ha ha ha ha! Phyllis: What are they laughing about? He looks so beautiful when they laugh. Don: That's what my psychiatrist used to say. Phyllis: Twelve years. It's the same story there with that song, I don't know what I'm doing, but look, look at the way he's changing.
Oh, I remember that in the shower, the first time with the hamburger. Oh, that was good. But, I don't know, twelve years marriage, you get tired of the same thing. But I don't know, I can try it again sometime. Oh, look there's Minnesota! He was a great guy, Minnesota Tishman. Don: We're coming to the beginning of a new era Phyllis: He was a nice guy.
Don: Don't you feel it coming? Phyllis: He was, he was okay in this time. He's washed up now, I heard about it though. Carl: I'm using the chicken to measure it Aynsley:. Phyllis: You know what I used to do? I used to watch him eat, and while he was eating I would ask him what he's doing.
Haskell Wexler: What the hell are we doing in this bathroom? FZ: I'm going to. While you stand there and take pictures of that, I'm gonna tell you the, the plot of the movie. Basically what we're going to do, today, is spend some time around the house while you meet the people that you're going to be photographing for the rest of the week.
Haskell Wexler: Absurdities? FZ: Yes, we're just dealing with the. Guy From Alabama: You wanna have a circle-jerk? Aynsley: The who? Guy From Alabama: Circle-jerk. Aynsley: A circle jerk? What's that? Guy From Alabama: That's where you get everybody around and bet yer meat and see who can get it the fastest. Aynsley: Yeah? Guy From Alabama: Kegs, you know. Aynsley: Cakes of what? Meredith: Gee Jimmy, that's cool! Aynsley: Cakes. Yeah, anyway. FZ: What could that possibly mean. Guy From Alabama: I'm up to my knees in shit, man. Aynsley: Really.
Guy From Alabama: There's all kind of shit, now about. Carl: I'm using the chicken to measure it. Have you ever used a chicken to measure it? Guy From Alabama: I fucked a chicken. Ray: What is it that you're doing with this? Carl: I'm using the. FZ: You know what I used to do? I used to watch him eat. And while he was eating, I would talk to him while he was eating, and I would ask him what he's doing. And he would say, "I'm using the chicken to measure it. Don: Can I borrow your comb?
Ray: What are you doing with that? Phyllis: I used to watch him eat. Phyllis: You know, you know what I used to do? And while he was eating, I would ask him, "What are you doing? Ray: Why is he using a chicken to measure it? Phyllis: And he would say, "I'm using the chicken to measure it.
FZ: Do it again. Phyllis: That Tishman. That Minnesota Tishman. What a guy. Aynsley: Uh. Guy From Alabama: Eight inches? Well, I'll get your kind of women, there, man. Aynsley: You can? Yes, it's cool. Guy From Alabama: Oh, they got some whores there you wouldn't believe! Guy From Alabama: You can just. Aynsley: But do they play pool? The way he used to.
FZ: Look at the way he hands that chicken. Aynsley: Do you want another ball? FZ: He had a way with that chicken. Phyllis: He. Aynsley: That's cool, yeah, I sort of followed the. Guy From Alabama: Yeah. Aynsley: Yeah, where's the shit. Don: We're coming to the beginning of a new era wherein the development of the inner self is the most important thing. We have to train ourselves. So that we can improvise on anything: a bird, a sock, a fuming beaker. This is, this too can be music. Anything can be music.
Yeah, are you busy? Well I was wondering --this is Frank-- can you come, yeah, can you come over here and be in our uh, teen-age movie? Okay, well, I'll tell you what the action is. Phyllis: He's eating. FZ: Ok, he's eating, you see. Don Preston. Well, it depends, mostly it's a hamburger, sometimes, well he doesn't wanna eat the hamburger, 'cause he's a vegetarian. Okay now, Phyllis is here. Phyllis: Who's Phyllis? FZ: No, no, no, Phyllis is the girl that's the, my assistant editor on the, on the film.
Yeah, she used to be Tom Wilson's secretary. You remember Tom Wilson were gonna run for President? Carl: Yeah. Carl: Then she came out here work on the Woodstock festival. Ray: What are you doing with that chicken? Carl: And then uh, then. Ray: I was measuring the ball. Carl: Then Frank hired her to work on the Mothers movie. I'm a little nervous doing this 'cause it's the first time I'd even been a star in a film. I originally started working for Frank as his assistant editor on the film Uncle Meat, and one day we were sitting around watching the Festival Hall shots, the rushes, and I saw Don come on the screen -Don Preston plays the monster-- and I said, "Frank, look at Don!
He's turning into a monster! I'm gonna vomit! Phyllis: Frank said, "That's it, that's the opening of the line, that, that, I mean, that's the opening of the picture. Don: He just makes me sick when he changes into a monster. Phyllis: Why? Why does he make you sick? Don: Oh, can't you see it how, how. FZ: She just, she tells me she has to vomit, see. She's trying to make me believe that it makes her sick when he turns into a monster.
Phyllis: There's something about that that gets me so nauseous, I don't know what it is. Look at that, look at that. FZ: Yeah, but it's not true. Well, you see, it gets her hot. Phyllis: There's something so sexy about him. When he comes on that stage, I get so hot just looking at him drinking that, that smoke stuff, I don't know what it is. I don't even care if he turns into a monster, I love it. Don: Oh dear!
Phyllis: Look at that, oh him with the cape, but he doesn't, he walks away. It's such a hot move and he, he's so terrific when he goes back to that gong, oh, that's so nice. Boy, I hope no one ever finds out I love it so much, that hot monster. Don: You're really good at those dials, baby. You're the most manipulating person I've ever seen. Phyllis: I don't like to be called manipulating, that's for sure, but I like to think of myself as being hot. FZ: She gets hot. And then she runs into the toilet, and she stands in front of the mirror and she makes faces to herself so she can turn into a monster.
Isn't it cute? That's right, then, when she does that, and she's having a fantasy that she's turning into a monster, the monster comes out of the toilet from behind her. Don: How do you work all those controls in there? That's really fantastic. Phyllis: Oh, it's nothing. Don: All of those buttons and switches. Phyllis: It's nothing. Look, look what's going on there!
Don: I just can't see how a girl could do all that. Phyllis: Oh, now with the, the Women's Liberation Front we can do anything, you're kidding? It's so good! Don: This girl obviously has some sort of demented problem in where she, she likes uh, monsters that drink foamy vile liquid and uh transform. It must be some uh, connection in her past, in her childhood of something.
Maybe her father didn't demonstrate enough uh, affection for her. It's a. Phyllis: Oh. Don: Tell me, did your father demonstrate any affection for you? Phyllis: I've been watching you on the screen for four weeks. Finally, my monster. Is it real? Is it really you? Oh that feels, oh, monster, can I have a bite off of your apple?