text:
Carl D. Worth Information Sciences Institute University of Southern California Arlington, VA, 22203 firstname.lastname@example.com
Gesture recognition is a common method of text input on handheld and other pen-based computing devices. Xstroke is a full-screen gesture recognition program for the X Window System.
The touchscreen of a typical pen-based device is divided into two regions, a primary region for application display and interaction, and a secondary region for gesture input. Full-screen gesture recognition improves on the typical implementation by sharing the entire screen for both purposes. Applications benefit as more screen real estate is available. Recognition performance improves due to increased information from larger gestures. Usability increases as less time is lost switching attention between two separate screen regions.
Full-screen gesture recognition presents several user-interface design challenges. Conventional GUI interaction is pointer driven. This makes it difficult for systems with single-button pointer devices to distinguish between GUI interaction and character input. Several solutions to this problem are examined.
The simple feature-based recognition engine at the heart of Xstroke has proven capable of resolving gesture sets of 100 different gestures with up to 95% accuracy. Xstroke is freely available and has become the predominant gesture recognition system for X-based handheld devices.
Gestures, or marks entered with a stylus or mouse to invoke commands, have become an increasingly relevant aspect of user interfaces over the past few years. Gestures are an efficient means of command input since a gesture can simultaneously indicate both the operator and operand for a command. On the desktop, gestures have long been present in specialized fields such as CAD, but have recently begun to appear in general-purpose applications including text editors [3] and web browsers [13,8].
Outside the desktop arena, gestures are perhaps more compelling since many handheld and other mobile computing devices provide a stylus as a primary input device. With these devices, software is required to allow the user to efficiently input text using the stylus. Gestural text input is possible if the gesture recognition system supports a gesture set large enough to cover every desired character. It is also desirable if the recognition system is capable of recognizing gestures that are similar to character shapes in their natural forms.
Xstroke is a gesture recognition system designed to add gestures to the desktop and to provide efficient character input for pen-based computers running the X Window System. The X Window System is the standard graphical user for UNIX and UNIX-like operating systems. The XFree86 project [15] distributes an implementation of the X Window System including a tiny X server known as kdrive [14] which is suitable for use on handheld computers.
xstroke has several distinguishing features:
Gesture recognition can be added to user interface environments at several different layers including direct implementation within an application, recognition within a library or toolkit, or recognition through an external program. Each strategy has different implications on the effort needed to integrate the recognition support into applications.
Open source/free software programs directly supporting gestures include emacs/xemacs [3] and mozilla [8]. In both of these programs, the recognition engine is included as an integrated part of the application and is not available to other programs.
If the recognition engine is placed within a library, it can be used by multiple applications. James Kempf developed a generic library interface [11] for handwriting recognition engines, which has not achieved widespread use. Mark Willey's recognizer, libstroke [16], is an example of a specific recognizer implemented as a library. Incorporating gesture support at this level requires modifying the application to pass gestures to the recognition library and act on the recognized results. libstroke has been used in modified versions of ggv, gEDA, and the FVMW window manager.
Several efforts at providing system-level gesture support implement recognition within the user-interface toolkit. This is the approach taken in SATIN [10] with a Java toolkit; Artkit [9], a custom toolkit supporting gestures; and in a modified version of the Garnet toolkit [12]. The benefit of toolkit integration is that the gestures become available to all applications using the toolkit, without any gesture-specific code required in the application. Naturally, applications designed without using the toolkit do not get the gesture support. Neither of the popular modern open source/free software toolkits, (KDE [5] and GNOME [6]), offer gesture support.
The final approach for integrating gesture recognition with the user interface is as a peer application. The benefit of this approach is that gesture support can be provided to applications without modification to those programs. Existing programs using this approach include xscribble and wayV [4].
The author's experience, (and frustration), with xscribble led directly to this work. Recognition performance was poor and there were no readily available documentation on how to re-train the recognizer. These frustrations led directly to the fact that all of the gesture definitions for xstroke are in human readable form and can be modified online with no need for external tools beyond the ability to edit a text file.
The author was unaware of wayV until after xstroke had been written. Like xstroke, wayV is a full-screen gesture recognition program for the X Window System. Gesture recognition is distinguished from conventional pointer interaction by the use of a modifier key or a specific pointer button. Configurable gesture actions include program execution and generation of keypress events.
Initial versions of xstroke required gestures to be entered into a window belonging to xstroke. Figure 1 shows xstroke being used in this way to enter text into a calendar application. Entering gestures into a separate window has several drawbacks:
Current versions of xstroke allow gestures to be entered anywhere on the screen as shown in Figure 2. This has benefits that are the opposite of each of the drawbacks listed above: the entire display is available for active applications, gestures may be entered as large as desired leading to more accurate recognition, and the position of gestures may be used to indicate operands for gesture commands.
Full-screen gesture input is a compelling feature, but it also provides some significant challenges in the user interface design. The main problem is that full-screen gesture recognition introduces an ambiguity in the handling of pointer motion events. Namely, does a sequence of pointer motion events indicate a gesture for recognition, or is intended for direct manipulation of graphical elements of the user interface, (ie. standard mouse interaction)? xstroke implements several complementary mechanisms for resolving this ambiguity.
If multiple pointer buttons are available, xstroke can be configured to perform recognition only when a specific button is pressed. If a button can be dedicated to xstroke this approach is sufficient and can be quite satisfactory. However, for many handheld systems, the only pointer device is a simple touchscreen which acts as a single-button pointer device. In that case, other mechanisms are necessary for managing when recognition occurs.
The author regards manual toggling of recognition as a feature of last resort. Gestures are powerful enough that full-screen recognition should always be enabled. Instead of requiring the user to turn recognition off to use a button or a scrollbar, the system should ``know'' that recognition is not desired on those elements and should automatically disable recognition when appropriate.
For the case of buttons, a simple solution proves quite effective. In the default configuration, xstroke recognizes a single pen tap as a gesture associated with an action to synthesize a button press event. Because of this, GUI buttons can be used directly without having to disable recognition.
The only remaining problem then is how to automatically disable recognition for GUI elements that require pointer motion while the button is pressed, (ie. click-and-drag events), for example, a scrollbar. The problem was solved for buttons by recognizing a gesture, then synthesizing pointer events. That approach does not work here since the gesture is not recognized until the pen is lifted, while the user will expect the scrollbar to respond while the button remains pressed.
We experimented with automatically disabling recognition based on a heuristic for determining if the window under the stroke ``expected'' recognition or not. The heuristic is to examine the event mask of the window at which the gesture begins to see if it has selected for KeyPress events. The rationale is that most gestures are used to send synthetic keypress events, so if a window has not selected for keypress events, then recognition can be disabled and pointer events can be passed through directly. This idea had some success. With xterm, xstroke could be used for recognition within the terminal window and for operating the scrollbar. With GTK+ applications, scrollbars and menus could be used without manually disabling recognition.
But, at the same time, the complex window hierarchies within some application cause this heuristic to fail, sometimes with disastrous results. For example, with Qt applications, the scrollbars and menus are still not usable without manually disabling recognition. This failure mode is acceptable.
However, with the window hierarchy of rxvt, for example, the child window does not select for KeyPress events, (instead a parent window does). In this case the xstroke heuristic disables recognition for the entire window, and xstroke cannot be used to input text into rxvt. A similar problem happens with some GTK+ dialog boxes with multiple text boxes. Recognition is disabled for the majority of the dialog box, except for strokes that actually began inside one of the text boxes.
These failure modes are so bad, and the heuristic fails often enough that it was decided that attempting context-sensitive enabling/disabling of stroke recognition based on heuristics is infeasible.
Context-sensitive recognition would still be very powerful--if it could be done reliably. One possibility is that a convention could be developed so that windows could explicitly state whether recognition should be enabled on each window or not. It is not anticipated that many applications will be modified to provide these hints. Rather, it is expected that toolkits will provide these hints for those classes of windows which require them, (such as scrollbars). A more general solution that would also be very desirable is if toolkits would provide some indication of the widget-class of each window, (eg. menu, button, scrollbar). Xt implements a feature like this with the _MIT_OBJ_CLASS name, but most modern toolkits provide no such indication.
With a few carefully placed (and standardized) hints in place within the toolkits, the pen should just do the right thing--allowing full-screen recognition, but also enabling scrollbars, menus, and other GUI widgets to still be manipulated.
With this mechanism in place, the text widget becomes quite usable. In the most frequent usage, gestures are used on the text widget to input text. Then, when an occasional text selection is required, a quick tap-and-hold, (by default .75 seconds and naturally configurable), is all that is needed to make the pointer select text rather than recognize a gesture. xstroke also changes the pointer cursor, (from a pencil for recognition to the text selection bar), to indicate that the timeout has expired and the user can begin the selection operation.
Within xstroke, gestures are recognized with a simple feature-based engine. An input gesture is captured as a sequence of time-stamped pen positions. It is then converted into a sequence of discrete feature values with the goal of selecting the correct target gesture.
The gesture feature vector is then compared with each configured gesture class. When the input gesture matches a gesture class exactly for each feature, that gesture class is returned as the recognized class.
The currently implemented feature recognizers are quite limited. But, the recognizer interface is well-defined so that it can easily be extended. New recognizers can be added as dynamically loaded modules for ease in experimenting. The following sections describe in detail the feature recognizers currently available in xstroke.
The primary feature implemented in xstroke is the grid feature. This feature was inspired by the algorithm used in libstroke[16] though xstroke features a custom implementation with some improvements. The grid feature is based on a grid numbered from 1 to 9. The grid is centered on the gesture and is generally scaled independently in the X and Y dimensions to fit the bounding box of the gesture as shown in Figure 3.
The automatic fitting of the grid allows for consistent recognition in spite of gesture variation in scale or in stretching in one dimension or the other. However, for some strokes that are very wide or very tall, the deformation introduced by scaling the grid will have a negative impact on recognition. For example, this grid scaling would introduce an ambiguity between a gesture consisting of a line and a gesture of a very nearly horizontal line. To avoid these errors, the following rule is applied. Whenever the bounding box of a gesture is more than 4 times larger in one dimension than the other, the grid is fit to the smallest square containing the gesture. This is demonstrated in Figure 4.
Once the grid has been fit to the gesture, the feature value is determined by simply traversing the gesture points in time order and recording the number of each grid cell as the gesture passes through it. For example, the horizontal line in Figure 4 has a value of 456 while the `C'-shaped stroke of Figure 3 has a value of 3214789.
There are two details in the extraction of the grid cell sequence worth noting. First, depending on the sampling rate of the input device and the speed of the gesture input, there may be gaps between samples large enough to cause a cell to be missed. To avoid this problem xstroke uses linear interpolation between every sample point, (using a Bresenham algorithm), and examines the cell of every interpolated point.
Second, the gesture may pass through a cell so briefly that perhaps that cell value should be considered noise and discarded. Libstroke [16] attempts to solve this problem by disregarding cells which are passed through by some small percentage of the total number of sample points. Early experiments using libstroke within xstroke demonstrated two problems with this approach. First, discarding cells can result in an ``impossible'' digit sequence with the gesture jumping from one cell to a non-adjacent cell. Second, as gestures become more complex, the static threshold results in a greater number of cells being discarded. With extremely long gestures, an empty digit sequence may be generated.
In order to avoid discarding useful information describing the shape of the gesture, xstroke does not attempt to filter the grid digit sequence. As a result xstroke must be able to match sequences with more noise, (and hopefully more information), than those provided by libstroke. The sequence matching technique used in xstroke is described below.
After generating a digit sequence for a gesture, libstroke, (as well as early versions of xstroke), uses exact string comparison to match the sequence with configured gestures. This approach can be problematic. Consider a gesture that is a diagonal line from the upper-right to the lower-left, (this is the default gesture in xstroke for the Return key). The ideal digit sequence for this gesture would be 357, but since the ideal stroke passes near cell intersections in the grid, significant variation in the digit sequence can result in practice. Figure 5 demonstrates two of the many possible digit sequences that might result.
In order to reliably recognize this gesture with exact string matching, the recognizer would have to be configured with all likely variations of the digit sequence: 357, 3257, 3657, 3547, 3587, 32547, 32587, 36547, 36587.
For this very simple gesture class, it is necessary to store 9 separate strings in the recognizer! This gets tedious very quickly, especially since an increase in stroke complexity yields an exponential increase in the number of possible sequences, (generally possible sequences for a stroke passing near cell intersections). Clearly, this is not a scalable approach.
The solution in xstroke is that the grid feature value for a class of gestures is represented by a regular expression. For the case above, the default xstroke configuration contains the following specification: Return = grid("3[26]?5[48]?7") This regular expression provides an efficient way to store the class of 9 different sequences. The matching of a gesture sequence with a class is also efficient as regular expression matching is generally provided by a highly optimized system library.
This same technique can be used to encode robust gesture classes for sophisticated shapes. As a rather extreme example, the following regular expression represents a robust class of `B' shapes for xstroke: b = grid("([12]*[45][78]|[12][45]+[78]?)?[78]*[4]*(1?[2][369]+|1[25][369]*)([369]+[25]+8?[147]?[258]*[369]+|[25]*8?[147]+[258]+[369]*)([369]*[58][74]+|[369]+[58][74]*)"). This single expression describes the three ideal variations of the `B' shape shown in Figure 6 along with the myriad sequences that may result when these gestures are input.
The expression above can be daunting to read, (let alone attempt to understand). Its existence demonstrates that xstroke did not achieve all of its original goals -- it had been hoped that the xstroke configuration file would always be easy to read and edit.
But the complex `B'-shape expression also proves an interesting result. The author originally chose the grid recognizer since it would be so easy to implement. It was never expected that it would be able to handle anything beyond the most simple gestures. But, with expressions such as the one above, this simple recognizer is capable of distinguishing some rather sophisticated gestures. The grid recognizer has been so successful that investigation into other recognizers has proceeded slowly since the grid recognizer is often good enough.
xstroke contains a special-purpose recognizer known as the anchor recognizer. This recognizer cannot distinguish much of the shape of a gesture, but is used to ``anchor'' a gesture in absolute position and scale. For example, this allows xstroke to distinguish a gesture made in the middle of a touchscreen from a gesture of a similar shape that begins and ends at the screen edges. The anchor recognizer is based on the grid recognizer but has two important differences.
First, for the anchor recognizer the grid has cells of non-uniform size. The center cell is enlarged to fill most of the grid area (roughly 80as very small rectangles positioned in each corner. The second difference is that the anchor grid is not scaled to fit the bounding box of the gesture but is scaled to cover the entire gesture area.
Figure 7 shows two gestures of similar shape; the grid recognizer returns the same digit sequence for each gesture. However the absolute position of the gestures is different and this is distinguished by the anchor recognizer. In practice, users of xstroke have found these global edge-to-edge gestures useful for strokes useful for invoking various operations. For example, a gesture from the bottom of the screen to the top might launch a program to display the currently configured xstroke gesture, or a diagonal slash from one corner of the screen to the other might close the current application. Using anchor, the gesture shapes for each letter in the alphabet can be reused for new operations besides their standard use for character input. For example, an edge-to-edge `e' shape might be used to launch an email program.
There is a significant amount of variation in gesture orientation from one user to the next. In addition to the natural differences of slant due to different writing styles, there is added slant when xstroke is used on a handheld computer. Typically, one hand holds the computer while the other hand holds the pen. Due to the physical arrangement of human shoulders and arms, the most natural way to hold the computer in this way does not lend itself to precisely upright character entry. [XXX: It might be interesting to measure the natural slant in various users simply holding the device in a comfortable way].
Uncorrected slant leads to misrecognition as many desirable strokes differ only in orientation. Initial testing of xstroke without slant correction showed some users unable to achieve acceptable recognition rates. The need for slant correction has been shown in various other character recognition systems as well [7].
To correct for this, xstroke allows an OrientationCorrection action to be associated with any gesture. The OrientationCorrection action accepts a numeric argument giving the ideal orientation of the gesture that was recognized. For example, the left-to-right gesture used for Space in the default alphabet has an OrientationCorrection of 0 degrees while the right-to-left gesture used for BackSpace has an OrientationCorrection of 180 degrees. All of the simple one-line strokes have similar OrientationCorrection actions associated with them.
Whenever xstroke correctly recognizes a gesture with an OrientationCorrection action, it measures the actual angle from the first point of the stroke to the final point. It subtracts from this angle the ideal angle giving in the OrientationCorrection action to computes the expected slant at which the user is holding the device. xstroke uses an average of the last 5 values computed in this way as an estimate for the current gesture orientation. Then, as each gesture is performed, before the gesture is passed to the recognition engine, it is rotated by the current orientation estimate to compensate for any slant.
This system has proved quite effective at helping to alleviate problems with recognition from holding the device at various angles. This system gets great benefit from the fact that the Space gesture, the most common character in text, provides orientation information. Also, in the presence of recognition errors due to mis-estimated orientation, the Backspace gesture will often be performed to correct the errors, and will provide the needed information for orientation correction as well.
It may seem strange that the orientation correction actions only occur after characters are correctly recognized. If the current orientation estimate is incorrect, how will the system correctly recognize a gesture in order to get an OrientationCorrection action to improve the estimate? From casual observance of users, it appears that when users struggle with repeated recognition problems, they naturally write more carefully and more upright. Then, as xstroke adapts to their preferred orientation, the user can drift into a more comfortable position for holding the device.
Like many successful open systems, xstroke is designed to be modified and extended. The goal has been to design a system with sane defaults in which all policy decisions can me customized by the user. Several aspects of the user-interface can be configured such as which button triggers recognition and whether recognition is limited to a single window or is available full-screen. xstroke also allows the customization of the gesture set and extension of the set of feature recognizers. These aspects are discussed in detail below.
The current release of xstroke contains pre-defined gestures for all printable ASCII characters, (eg. letters a-z, digits 0-9, and punctuation). It also includes additional gestures necessary to function as a full keyboard replacement Space, BackSpace, Return, Tab, Escape, Shift, Control, Meta, etc.
The default gesture set is available in two forms. In the ``Basic Set'' , (as illustrated in Figures 8-11), the gestures for letters, numbers, and punctuation are each made available as independent gesture sets called modes. There are also additional mode-changing gestures to change the current mode either for a single stroke, (ie. a single punctuation character), or until the next mode change, (ie. to input a large set of numbers). The most commonly used gestures such as Space, BackSpace, Return are available in a ``Global Mode'' that is always active.
The basic gesture set does include several variations for many letters. These are intended to accommodate multiple writing styles and to improve efficiency. For example, the vertical bar on may letter shapes, (eg. B, D, R), is optional which allows faster gesture entry.
The second form, the ``Advanced Set'', does not require separate modes. A single gesture set contains gestures for all letters, numbers, and punctuation. This began as an experiment to determine if a single gesture set could include enough independent gestures to act as a keyboard replacement. The author was pleasantly surprised to find that the simple grid recognizer is capable of distinguishing such a large set of gestures.
Cramming every key on the keyboard into a single gesture set requires some creativity to avoid several clashes of similar shapes (eg. `O' vs. `0', `S' vs. `5', etc.). The ``advanced'' gesture set solves these problems by including gestures for each number that are drawn in the opposite direction, (eg. the gesture for the letter `O' is drawn in a counter-clockwise direction while that for the number `0' is drawn clockwise, `S' is drawn from top to bottom while `5' is drawn from bottom to top, etc.).
The advanced gesture set is a strict superset of the basic set, so the advanced set is enabled by default in the current system. The only reason to distinguish between the two sets is that the documentation for the basic set is simpler and more suitable for new users.
The gesture set for xstroke is contained in a plaintext configuration file to make it easy to customize gestures and their associated actions. One common customization desired by many users is the ability to input accented characters. A simple approach is to change the gestures for standard punctuation symbols into their ``dead key'' equivalents. This enables multi-stroke combinations to be used to input accented characters in the exact same manner as on a keyboard.
There is a significant potential problem caused by allowing the end-user to customize the actual gesture shapes, (as opposed to the gesture actions). Namely, good gesture set design is a difficult task.
One aspect of the difficulty of gesture design is that visual similarity of gestures can make it hard for users to remember gestures correctly [1]. The author does not claim to be an expert in gesture set design nor does he claim understanding of human perception of similarity. It is hoped that exposing customizable gestures will allow users to choose gestures that are easy to remember for themselves individually. In fact, a survey of PDA users found that in spite of problems with gesture memorability, users actually want to be able to design new gestures [2].
A second difficulty in gesture set design is the need to understand the gesture recognition engine in order to be able to determine if two different strokes can be reliably distinguished. An intentional design decision of the feature recognizers within xstroke can help with this problem. For all xstroke recognizers, the features were designed so that feature values would be meaningful and useful to humans.
This allows the possibility for the recognition system to reason about ambiguities in the gesture set and report them in a way that is meaningful to the user. This has already proven useful in improving several misclassification problems in xstroke, (such as the difficult distinction between 'v' and 'u').
The emphasis on human involvement in the training process is not meant to suggest that automated techniques should not be used. It would be very convenient for users to be able to specify new gestures by example, and xstroke could benefit greatly from machine learning techniques to adapt to the user. However, limitations may exist within a feature set that no amount of machine learning can overcome. This is one reason xstroke has a well-defined mechanism for loading additional feature recognizers through dynamic libraries.
As a concrete example, consider Figure 14 which shows two `h'-shaped gesture and an `L'-shaped gesture. The second `h' is misclassified as an `L' since the hump is not larger than 1/3 the height of the gesture. This is one of the most common current misclassification problems experienced by the author with xstroke.
This misclassification could not be fixed through retraining. If a user retrained the misclassified `h' as an `L' all subsequent `L'-shapes would be misclassified as `h'. This would not be obvious to a user dealing exclusively at the level of gestures. But when looking at the grid feature values the problem is immediately apparent, and it is obvious that no quick fix is available since two distinct shapes both have a feature value of 14789.
The only solution to this problem is to introduce a new feature which
could distinguish between these shapes. xstroke currently has an
experimental direction recognizer intended to address this
problem. Just as the grid recognizer creates a short string based on
quantizing 2D position into 9 values, the direction recognizer
creates a string based on quantizing the stroke direction at each
point into 8 directions. With the addition of this recognizer, the `h'
and `L' strokes could then be easily distinguished:
Evaluating a new recognition system such as xstroke is a difficult task. It would be ideal to have access to a large database of multi-user gesture input data. Some large databases of gesture and handwriting samples are available commercially, but the data could not be redistributed, so those databases are not feasible for an open source project such as xstroke. It would be an interesting project to assemble an open corpus of stroke data, (which is especially feasible since in recent years there has been a great increase in the number of users of open source software that have access to touchscreen devices).
The custom gesture set in xstroke also complicates testing since it may be difficult to separate measurements of the performance of the recognizer from measurements of the level of expertise that the users have with the custom gesture set.
The author must certainly be considered an expert user having designed the gesture set. The author's own gestures were also the primary source of data for the manual training of the recognizers. The author typically achieves successful recognition of 95% of gestures input. Of the unsuccessfully recognized gestures roughly half are misclassified and half are rejected.
xstroke has supplanted xscribble as the standard character recognition program in the X11-based distributions from handhelds.org. There is anecdotal evidence to suggest that some users find xstroke to have more reliable recognition than character recognition software on popular commercial PDAs.
This paper has introduced several issues such as the user-interface issues of Section 2 and the advanced gesture set of Section 4.1. It would be very interesting to see a usability study investigating these issues, but such a study is beyond the scope of the current work.
As discussed in Section 1.1 there are several approaches that can be used for integrating gesture recognition into a user-interface. The current mechanism of xstroke as an independent application requires the least modification to other programs, but also fails to provide tight integration with applications. It would be extremely useful to preserve the capabilities of the current xstroke interface but to split the actual recognition engine into a library that could also be used by other applications and toolkits.
Tighter integration with other applications would allow those applications to act on aspects of the gesture itself, rather than just the synthetic event triggered by recognition. For example, a scribble gesture might be used to indicate the deletion of the text covered by the gesture.
A significant limitation of the current user-interface is that only single-stroke gestures are collected for recognition. There is no inherent limitation in the recognition engine that would prevent it from recognizing multi-stroke gestures. This capability would allow much more natural letter forms to be used.
It would be very beneficial to have new tools for the configuration, training, and user adaptation of the recognizer. The extensible feature recognition system allows further research into more sophisticated recognizers. It would be very useful to implement a machine learning algorithm within xstroke.
xstroke is free software distributed under the terms of the GNU General Public license (GPL). It is available from https://www.xstroke.org.
The most sincere thanks to my wife without whose patience this work would have never been completed.
Many thanks to Keith Packard for patiently explaining details of the X Window System, devising the technique for rendering the translucent, shadowed brush, and for suggesting the idea behind adaptive orientation correction.
The author owes a tremendous amount of sushi to Keith Packard and Bart Massey for tireless efforts at improving the presentation of this paper.
Portions of this effort sponsored by the Defense Advanced Research Projects Agency (DARPA) and Air Force Research Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-99-1-0529. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either express or implied, of the Defense Advanced Research Projects Agency (DARPA), the Air Force Research Laboratory, or the U.S. Government.
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -white -dir xstroke-html -split 0 -no_navigation xstroke.tex
The translation was initiated by Carl Worth on 2003-04-09


text:
This product hasthat has tree nut.
Sugar, vegetable oil (coconut palm kernel), cocoa butter, chocolate, milk, skim milk, milkfat, soya lecithin (emulsifier), barley malt powder, artificial flavors.
May contain tree nuts.
Simply scan a product's barcode and the Fig app will flag any ingredients that aren't Tree Nut Free. Fig will also recommend similar products that are Tree Nut Free.
Outside the USA?A tree nut free diet avoids any foods made from tree nuts like almonds, cashews, pecans and walnuts. People with a tree nut allergy need to strictly avoid tree nuts. Not everyone reacts to all tree nuts, so it's best to work with your doctor or dietitian to understand your unique needs. The Fig app is a great way to build your tree nut free shopping list.

subset: commoncrawl


text:
Tuesday, July 2, 2013
Louisville's Visual Past As Seen Through the Lenses of Caufield & Shook
Distilleries and distillers are just one part of Louisville's heritage preserved for all time by the photographers at Caufield and Shook.
From the advent of photography in the 19th century, most cities of any size had commercial photography firms. That's not unusual. What's unusual about Caufield and Shook is that, for the first half of the 20th century, they were the preferred commercial photographers for Louisville's establishment, they were very good, and their well-preserved 500,000-image archive was eventually donated to the University of Louisville. It has long been an invaluable resource for anyone preparing any kind of book or presentation about Louisville's history.
The image above is from 1936. It shows an automobile plastered with advertising for Louisville bourbon distiller Brown-Forman. Part of the distillery is in the background. At this time, the distillery was at the same location on Louisville's west side as the company headquarters, which are still there.
Caufield & Shook was founded in 1903 by James Caufield and Frank W. Shook, who later took in Will Bowers as partner and chief photographer. It ceased operations in 1978. Few aspects of life in Louisville escaped their lens.
Sally Van Winkle Campbell's excellent 1999 book, But Always Fine Bourbon, about the Stitzel-Weller Distillery and its owner, her grandfather Pappy Van Winkle, contains many fine Caufield & Shook images.
1 comment:
The Van Winkle's source their photos too??? Just kidding:) Nice post Chuck, this collection is loaded with great old distillery photos.
- July 3, 2013 at 8:52 AM
Subscribe to:
Post Comments (Atom)


text:
The MIAA champion Hope College Flying Dutch have qualified nine swimmers and divers for the NCAA Division III championships to be held March 9-11 in Atlanta, Ga.
Coach John Patnott's Dutch have finished among the nation's top ten women's swimming/diving teams nine consecutive years, including fifth in 1999.
The Dutch are eligible to compete in all relay events. They have also advanced two divers as well as four swimmers who are each eligible to compete in three individual events.
Returning All-Americans include sophomore Jenna Anderson of Cincinnati, Ohio (Anderson HS), senior Llena Durante of Chicago, Ill. (Whitney Young HS), senior Colleen Doyle of Rochester Hills, Mich. (Marian HS), senior diver Kari Jackson of Canton, Mich. (Plymouth Canton HS), senior Erinn Van Auken of Holland, Mich. (West Ottawa HS), and senior Betsy VandenBerg of Beverly Hills, Mich. (Southfield Christian HS).
Competing at nationals for the first time will be sophomore Laura Smith of Dearborn, Mich. (Dearborn HS), freshman Erin VandenBerg of Beverly Hills, Mich. (Southfield Christian HS), and freshman diver Sara Gray of Grand Rapids (Union HS).
Last year Van Auken achieved All-America distinction in three individual events and as the freestyle anchor in four relays. She was the bronze medalist in the 200-yard freestyle, finished fifth in the 100-yard freestyle and sixth in the 50-yard freestyle. Betsy VandenBerg was the silver medalist in the 200-yard breaststroke for the second consecutive year and was also an All-American in the 200-yard individual medley (7th). Jackson won All-America honors on the one-meter board with a fifth place finish.


text: I have an acquaintance of mine that used to have one of those 3rd gen IMSA Daytona noses. I forgot where he found it. I do remember it was yellow and black, but I don't know if that was significant or not. I wish I'd have gotten it off of him. I think it ended up being buried and crushed in a hole in his back yard.


text:
Free, impartial advice from the UK's leading Life Insurance Advisers
All new customers will receive up to £100 cashback*.
Complete the form below and one of our expert Advisers will call at a time convenient for you.
The information you provide to LifeSearch will be shared with insurers so they can provide you with protection quotations, and to get you covered. Your data won't be shared with any other companies.
Protect your loved ones and get life insurance quotes from the UK's most awarded broker
- Cover to suit any budget
- No obligation fee-free advice and quotes
- Enquire online, or by phone in an instant
- Ongoing support and other benefits when you buy with us
- Dedicated claims team, here if you need them
*Terms and Conditions:
This offer is only available through MoneyToTheMasses and is not available through LifeSearch Limited or from your insurer.Single policy holders will receive £50 cashback once they have paid £50 in premiums.
Joint policy holders will receive £100 cashback once they have paid £100 in premiums.
There is no limit to how many times you can use this offer during the offer period.
The appropriate reward will be paid by BACS into your nominated account no longer than 30 Days after the required premium amount has been collected by the insurer. We reserve the right to withdraw this offer at any time without notice.


text:
The real adventure in Moby Dick is the one that happens inside Ahab. The rest is a fishing trip. Salman Rushdie
So. I am watching The Big Bang.
And I realise: this is not "The Eleventh Doctor". This is "The Doctor". There have been other Doctors in the past. There will be other Doctors in the future. There will come a time when there weren't "three Doctors" or "five Doctors", but merely "Doctors". A time when Bill Hartnell and even Tom Baker will be forgotten and a series of pictures of every actor to have played the role will be as obscure and meaningless as a list of every artist to have drawn Superman.
This isn't Doctor Who. This is Doctor Who. This isn't Doctor Who. This is Doctor Who.
You know, in retrospect, the really big change that happened during this season? At the beginning of The Lodger, which I may have mentioned that I rather liked, it's mentioned that Craig has a spare room because his previous flatmate inherited a fortune from an uncle he didn't even know he had. "How convenient," says the Doctor. And at the very end, so off-hand and in passing that I missed it, the Doctor says "Must remember to go back and alter that will."
Always before, there have been stern warnings, or at the very least, payment of lip service to gobbledegook rules which say that the Doctor can't change established history. But now we have a Doctor who messes around with Time in a cavalier way. The show is about Time Travel in a way that it just never was before. Time of the Angels showed us a River Song who can step out of a space ship in the certain knowledge that one day, maybe a million years from now, the Doctor will hear of her predicament and come back and rescue her. In one sense, this is a very logical answer to the question: "What would the universe be like if it contained just one man with a Time Machine?" River's invulnerability is a logical consequence of taking Doctor Who literally: just as much as Mickey having excrement put through his letterbox by neighbours who think he's murdered Rose was a logical consequence of taking Doctor Who literally. But it's much more fun.
The audacious first scene of The Pandorica Opens kicks Doctor Who into the realms of Time Bandits. All of time and space is now just a playground across which "stuff" can happen. Time Travel is what Doctor Who is about: so why shouldn't it be happening in four or five time periods at once? Why shouldn't Van Gogh paint a message to the Doctor and know, for certain, that it will eventually come into his hands? Why shouldn't Winston Churchill have a phone which connects to 3,000 years in the future? (The idea that Churchill can just phone up the Doctor feels so right. Winston and the Queen and Mummy and Daddy and Father Christmas and Doctor Who are all in a grown ups club and you aren't a member.) But the Doctor's manipulation of Time in The Big Bang – popping from a point after he's been rescued to tell Rory how to rescue him – is pure Bill and Ted.
I loved Bill and Ted. "An amiable enough pair of cretins" Barry Norman called them. I could never take the Matrix seriously. I so wanted Neo to say "How's it hanging Morpheus dude?" I'd never seen a story in which Time Travel was used so irresponsibly. Of course it was okay to muck around with history so that a particular future that you happen to like comes into being. Of course, if you were confronted with a locked room and had a time machine, the sensible thing to do would be to tell yourself that at some point in the future you would come back in time and put the keys in a place where you would be bound to find them.
The Pandorica Opens ends on the most over-the-top cliffhanger in the history of Doctor Who. The Doctor is in an impregnable prison, the TARDIS has been destroyed, the universe is about to be destroyed. It is solved, almost literally, by the Doctor going back in time and bribing the architect to put in an escape hatch.
Waters of Mars was about the only story from the second half of the Russell T Davies regime that I had any time for. But I was disappointed that the very, very dark climax – where the Doctor realises that he is the only Time Lord in the universe and therefore free to do whatever he likes – was not followed through. I had suspected that this new, hubristic Doctor would become the much threatened Dark Doctor and that the season climax would involve his previous companions banding together to defeat him. I speculated that this Doctor-turned-evil might be the terrible thing hidden in the Pandorica.
But now we see that it was followed through. Up to now, the Doctor has always felt, at some level, bound by the Laws of Time. Now the Laws of Time no longer exist, he can do what he wants. But what he wants is to have fun: not an evil Doctor, but a happy, impish, joyful Doctor, a Doctor who, in the face of the total destruction of everything that ever existed or ever will exist and his own death...decides that fezzes are cool. This is what the Time Lord Triumphant looks like.
Davies' penchant for over-the-top season climaxes never sat very easily with me. If there is an essence of Doctor Who, which there plainly isn't, it's little small scale stories, half a dozen scientists on a space ship being picked off by two or three Cybermen. Horror of Fang Rock and Ark in Space are the archetypal (not necessarily the best) Doctor Who stories. Doctor Who can, indeed, do "epic", but epic Who has usually been a matter of width, not volume. Dalek Masterplan and Frontier In Space felt "big" because the Doctor trekked through lots and lots of different environments in the course of the adventure: not because a hundred billion million Zulus coming over the hill.
So, yes, it is sort of fun for there to be an armada of every Doctor Who baddie converging on Stonehenge and it is certainly sort of fun when they all surround the Doctor in the catacomb. But this kind of thing always feels to me like Disneyland or, worse, like Marvel Superheroes Secret Wars. Snow White lives next to Winnie-the-Pooh, not because we've imagined a fun fairy tale world in which they might peacefully co-exist, but because they are both Trade Marks of the Disney Corporation. I suppose it is possible to picture a Doctor Who universe such that Daleks, Cybermen and Sontarans might come together in an alliance. But one feels that what's really linking them together is simply that they are all "Doctor Who monsters".
But under all the noise, Moffat is actually writing very, very small. The real action in The Pandorica Opens episode 1 takes place in a series of catacombs under Stonehenge: about as old Who a setting as you could want – corridors for goodness sake. And a large chunk of the action consists of Amy being menaced not by an army of Cybermen, not by one Cybermen, but by the dismembered head of one Cyberman – a scene which plays on peoples fear of spiders and snakes and skulls and is as genuinely scary as anything I can remember in Who Old or New.
Be honest: you jumped when the mask snapped open to reveal the skull.
Charles Dickens said that people complained that Our Mutual Friend was spoiled because they guessed the true identity of Rokesmith too easily. He found this odd because he thought he had been going out of his way to make it obvious. I thought I was being terribly smart, stroking my beard and saying sagely "Ah. The most dangerous being in the universe, imprisoned in the Pandorica. Who could it be but the Doctor!" The first episode carried a punch that it arguably didn't earn because all the way through I was waiting for find out what was in the box – but the only reason I cared about what was in the box was because "what is in the box?" had been set up in advance as "something which is going to surprise you". But the twist is an absolute classic: yes, the Pandorica opens, yes, the thing in the box is the Doctor – you were meant to get that – but the box isn't opening to let him OUT, but to put him IN, you dunderhead.
Some people (for example, me) complained about the extensive use of "plot devices" in Old New Who. Some of those people haven't minded the equally shameless use of the "plot devices" in New New Who nearly as much.
There are two reasons for this.
1: We are so pleased that RTD is gone that we will forgive Moffat anything.
2: When lots of other fun stuff is happening, you can forgive the occasional, or, let's be honest, frequent, hand-wave. Yes, in the cold light of day the whole of Flesh and Stone was a sequence of arbitrary manoeuvres in which the baddy developed a new power and the hero developed a new circumstance which would counteract the new power. But the "running around getting captured and escaping" part was so clearly nothing more than a net in which to catch the relationship between the Doctor, Amy and River it really didn't matter.
3: Moffat does it so much much better than RTD.
That's three reasons.
The typical RTD plot device when something like this.
ASSISTANT: Oh my god! Cosmic bibbles!
DOCTOR: Nothing in the universe can destroy cosmic bibbles.
ASSISTANT: We are doomed.
DOCTOR: Unless...unless this Cosmic Bibble Repellent I happen to have in pocket repels cosmic Bibbles.
ASSISTANT Whew – that was close!
The typical SM plot device goes more like this
DOCTOR: Have you seen my Wibble? It tastes nice, but Cosmic Bibbles find it repulsive.
DOCTOR: Careful, mustn't drop my Wibble. That would really repel any Cosmic Bibbles who happened to be passing.
ASSISTANT: Oh my God! Cosmic Bibbles!
DOCTOR: We're doomed!
ASSISTANT: But didn't you mention three episodes ago that you had something called, I forget...
DOCTOR: Brilliant! We can use my Wibble. It repels Cosmic Bibbles, you know.
The notion of "rebooting the universe" is beyond ridiculous. However, we had already been told, over a number of weeks.
a: That mysterious cracks existed in every part of the universe simultaneously
b: That they were caused by the TARDIS exploding in every part of the universe simultaneously
c: That things that go into the Cracks cease to exist retrospectively
d: That light from the Pandorica brings things that have disappeared through the Crack back into existence.
Ergo – when the whole universe is destroyed, the Doctor collides the TARDIS (explodes everywhere at once) with the Pandorica (magic bringy things back light) and brings the whole universe back. I wouldn't go so far as to say "perfectly logical", but...
It really all depends on the audacity of the telling. The stuff which is going on in the foreground is such fun that we are disinclined to complain, or notice, lapses in logic. I don't think anyone actually expected Amy to be properly dead; but we did expect that the Doctor would have to do something incredibly clever to save her. So far as I can tell, the actual explanation is that she's only mostly dead, and that the inescapable prison which the Doctor has just escaped from also functions as a resurrection chamber.
But this isn't what we see. What we see is pretty much a classic bit of conjurer's misdirection. We know that the Doctor is in the box. We know that the Doctor has to get out of the box. We know that the box with the Doctor in it is in the museum. We know that a mysterious stranger is sending messages to Little Amelia telling her to go to the museum and open the box (with the Doctor in it.) Little Amelia goes to the museum and opens the box (with the Doctor in it). And out of the box (with the Doctor in it) steps...the adult, and supposedly dead, Amy.
Does it "make sense?" We're so delighted that we really don't care.
Or, at any rate, I don't. I think this is why New New Who elicits such a Marmite reaction. It is visceral. It talks to our gut. It speaks to people who feel what Moffat feels about dreams and stories and childhood; who agree with him that dreams and stories and childhood and fairy tales are all inextricably bound up with a crazy little thing called Doctor Who. Mr Lawrence Miles may be an arse, but his remark that Doctor Who is his native mythology may be the truest thing that anyone has ever said. [*]
Fantasy and fairy tales (and mythology and religion and poetry) very largely bypass the conscious, rational mind and address the emotions. That's why proper serious science fiction fans like them so little. Proper serious science fiction fans are logical and rational and love to build things with Mecanno. Ursula La Guin [**] as we know, talks about "the language of the night" as opposed to "the language of the day." Good stories, she thinks, are both descriptions of things that happened in the real world, and collections of symbols which only make sense according to dream logic. If you read the Lord of the Rings logically, then Gollum is an avaricious, greedy hobbit who's lived a long time because of a magic item. But if you read it by dream logic, then you can easily see that Frodo and Gollum are one character split into two figures. Or three if you count Sam. Some people can't, or won't understand that a story can be dream-like and conclude that the Lord of the Rings is morally simplistic. And Moby Dick is only a fishing story. Some people are revolted, actually revolted, by the whole idea of fantasy. Lewis says it's like a phobia. Le Guin thinks it's about repression. If fantasy tells the truth about the unconscious mind in dream language, then of course some people can't bear to read fantasy. Why would they want to delve into the soully unconsciousy things? Some people who were quite happy to agree to disagree with me about the Phantom Menace have got positively angry with me for liking New New Who.
But it's probably just a matter of taste, like putting sugar in coffee or spreading salty yeast extract on your crumpets. A while back, on RPG.net or somewhere, someone said that he liked almost every kind of booze but had never enjoyed whisky. Should he try a more expensive brand? Try it with ice, or without ice? With a mixer? Go to a tutored tasting? After all, everyone says that a good single malt is about the finest liquor money (and its often quite a lot of money) can buy.
"Maybe," said a sensible correspondent "You just don't like whisky."
At the very very beginning, this season functioned perfectly well according to daylight logic. It was merest coincidence that the Doctor arrived in Amy's garden when she was asking Santa to send her a helper. The Doctor is very definitely real: the vagaries of Time Travel mean he disappears for a few years. We see it from his point of view: Amy is a little girl one minute and grown woman the next. That must be what the world looks like it to him all the time. But we also see it from Amy's point of view: the Doctor is a man who turned up from nowhere and disappeared again. Her family THINK he was only ever an "imaginary friend". When he comes back, it's AS IF her imaginary friend became real.
But this isn't enough for Moffat. Oh, no, no, no, no. He can't just say "The Doctor is like an imaginary friend who came to life." He has to say "The Doctor actually is an imaginary friend who came to life." The whole season plays around with ideas about dreams and memories. Braceman the android can become a human being (and therefore not a Dalek controlled bomb) if he embraces and feels and holds onto his artificial memories. Amy must choose which of the Dream Lord's realities is real, which is to say, which one she wants to be real. And over and over and over we are told that things which fall through cracks in space cease to exist – retrospectively wiped from existence – but at some level carry on existing if people remember them.
It's popular for the more dippy kind of book about death and bereavement to assure you that death is a state of being where you "continue to exist in the memory of others." Well, yes. I have a real memory of my grandmother in my mind: it is subjective and real to me, but I can't pass the qualia of that memory on to you. The most I can do is describe her to you, in words: but what you'll then have is not a memory of my grandmother, but a memory of me describing my grandmother to you. So a "story" in the sense of a work of fiction is like the memory of a person who never lived, or an event which never happened. When the Doctor falls out of the universe he become, in Amy's world, exactly what he always has been in ours. We are all stories in the end.
I don't understand, according to the Language of the Day why the Doctor comes back into the universe simply because Amy's remembers him. But we've been told so frequently, through the series that there is a magical connection between remembering things and things returning from the Crack that it really, really, really doesn't matter. By this point, you are either in the poetical fairy tale dream logical world that Moffat has built, or you aren't. You are either laughing and crying at the same time when Amy recites "Something old, something new, something borrowed, something blue" or you aren't. Maybe the universe couldn't bear to be without the Doctor.
The wind back through time is stunning: the kind of thing poor Russell was completely failing to do at the end of the End of Time. I did of course, spot that the Doctor in Flesh and Stone (the one who tells Amy that she must remember what he told her when she was a little girl) was wearing a jacket, even though that jacket had been pointedly left in the hands of a Weeing Angel. Or at any rate, I noticed it once it had been pointed out to me. But I assumed that it was a mere production error, one of those little lacunae that asexual bus-spotters read far too much into. When it turned out the jacketed Doctor was indeed, a Doctor from the future travelling backwards through time, my jaw literally dropped. But the real point of the "rewind" scene was Doctor's monologue to the sleeping child. The Doctor was little Amy's imaginary friend; Amy's imaginary friend has now created, or recreated, the universe; the person who created the universe is watching over Amy while she sleeps. If you absolutely insist on turning the Doctor into God, this is the way to do it.
Is this "fetishising" the Doctor? Yes and no. The Doctor created the universe, and died to save it, and watches over little children while they sleep; but this only works if they believe in him. But he's only a story, but that doesn't matter, because stories are important. It's not a subtle message. But it is, at least, a message. If the Doctor is now God, it's because the script has presented him to us as godlike: not simply because he has stolen some of Jesus' kudos by sticking his arms out in a cruciform pose.
Davies used the Doctor simply as an iconic figure. He was important because he was wearing an "I am important" badge. In Last of the Time Lords everyone worships him; in Next Doctor, everyone applauds him; in Planet of the Dead, everyone loves him; in Fear Her...No, let's not even talk about Fear Her. They love, worship and applaud him simply because he has the title of Doctor. Nothing in the episodes have earned that love.
Amy doesn't love the Doctor because he's got Jesus symbols attached to him, or because it's the appropriate thing to do to the star of the show, or even because he's saved the universe. She loves him because he's himself. Very old and very kind. Weird. Fun. Grumpy. And for the first time since the re-launch, that's why I'm watching the programme. Not because it has a label which says "this has a sort of connection with a programme you liked when you are a kid". Not because I would be an ungrateful fan if I didn't boost the ratings. Not because any Who – CD, American, comic book, cartoon – is better than no Who. I'm watching because the Doctor is old and kind and weird and fun and grumpy. I'm watching it because the programme is itself and would be even if there had never been a programme called Doctor Who ever before.
When you ask the wrong kind of fan to explain what Doctor Who is all about, they are apt to say "He's the reincarnation of the Other Time Lord. You see, after the Pythian curse, Rassilon created knitting machines which..." When you ask the wrong kind of American, he says "..A Time Lord has 13 lives, and the Master had already used all of his..." But when Moffat needs a line which sums up Doctor Who, he writes "A daft old man who stole a magic box." That, in a nutshell, is why Season 5 works at and Seasons 1 - 4 didn't. Because it's being produced by someone who, at a deep level, gets what Doctor Who is all about.
It's about time.
[*] "If you read, say, the work of Salman Rushdie... .there's a lot of material in there that comes from traditional Indian culture, there are lots of links to Indian mythology. Which doesn't mean he has to believe in gods with the heads of elephants, obviously. It's just part of his background, those are the symbols he grew up with. That's more or less the way I feel about Doctor Who. I've got a pretty low opinion of a lot of the original episodes, but it's still my home territory. "
[**] As proper and serious a science fiction writer as one could hope to meet, so don't pay any attention to anything I say.
to be concluded
If you have enjoyed this essay, please consider buying a copy of The Viewers Tale or Fish Custard which collects all my writings about Doctor Who to date.
Alternatively, please consider making a donation of £1 for each essay you have enjoyed.


text:
Fill out the easy quote form to start the process of receiving decision making numbers!
We'll need a bit of information about your company to get a quote. Our plan will be to customize a solution that will meet your needs perfectly! * Means Required!
Which number is bigger, 2 or 8?
We will assign a specific team member to assist you with understanding the process and gather any required documents needed for final underwriting.


text:
Keep the pesky cold out and the comfort in with our efficient gas furnace. It features a variable-speed blower motor and two-stage gas heat performance that together deliver temperature control and quiet performance. The variable-speed blower also means you'll enjoy better summer dehumidification from your cooling unit, and you might even get a SEER boost as well. Pair it with a compatible air conditioner for a full communicating system using the Ion™ System Control.
- Quiet performance
- Variable-speed, constant airflow (VCA) ECM blower motor and two-stage gas valve also provide enhanced levels of temperature control and comfort
- Dual fuel capable with a compatible heat pump and thermostat for energy-saving heating performance
- Fully insulated cabinet helps keep the heat moving to your ductwork
- Air purifier and humidifier compatible
- Wi-Fi® enabled remote access with the Ion™ System Control±
- 10-Year No Hassle Replacement™ Limited Warranty*
- 10-Year Parts Limited Warranty upon timely registration+
- Lifetime Heat Exchanger Limited Warranty upon timely registration‡
- High efficiency variable-speed, constant airflow (VCA) ECM blower motor
- Variable-speed induced draft combustion motor
- Energy-saving two-stage gas valve
- RPJ® (Rigid Press Joint) primary heat exchanger
- High temperature limit control helps prevent overheating
- Solid pre-painted and steel insulated cabinet with tight fit door latch system
- Sound-reducing features: soft mounted blower and inducer motor
- Compatible thermostat: Ion™ System Control for full function and efficiency capability, Wi-Fi® remote access convenience and intelligent diagnostics±
- Heating capacity: 45,000–135,000 BTUh
* No Hassle Replacement™ Limited Warranty: If compressor, coil or heat exchanger fails due to defect during the applicable No Hassle Replacement limited warranty time period, a one-time replacement with a comparable unit will be provided.
+ 10 Year Parts Limited Warranty: Timely registration required for 10-year parts limited warranty and lifetime limited heat exchanger warranty. Limited warranty period is 5 years for parts and 20 years for heat exchanger if not registered within 90 days of installation. Jurisdictions where warranty benefits cannot be conditioned on registration will receive the registered limited warranty periods. Please see warranty certificate for further details and restrictions.
‡ To the original owner, when product is used in an owner-occupied residence, a Lifetime heat exchanger parts limited warranty upon timely registration of your new equipment. Warranty period is reduced to 20-years (from Lifetime) on heat exchanger if not registered within 90 days. Jurisdictions where warranty benefits cannot be conditioned on registration will automatically receive the extended registered heat exchanger parts limited warranty period. See warranty certificate for details.
† 20-Year Heat Exchanger Limited Warranty. When used in an owner-occupied residence. See warranty certificate for details.
± Control must be connected to Wi-Fi ® . App requires iOS ® or Android ® mobile device. Wi-Fi ® is a registered trademark of the Wi-Fi Alliance Corporation.
For California Residents:
For installation in SCAQMD only
: This furnace does not meet the SCAQMD Rule 1111 14 ng/J NOx emission limit, and thus is subject to a mitigation fee of up to $450. This furnace is not eligible for the Clean Air Furnace Rebate Program:
California residents please see Proposition 65


text:
The SynthSummitShow episode 20: Taiho Yamada
Mr Yamada has an extensive history in the synthesizer world dating back to early days of the Alesis Rompler synths such as the Quadrasynth and has been instrumental in quite a few key synthesizers of our time. From the Alesis Andromeda, Ion, and Fusion to the M-Audio Venom Taiho Yamada's career has been steeped in synth gold. Now striking out on his own with company Media OverKill (MOK) Taiho looks to set the bar with a new form of patent pending synthesis in WaveRazor. Join this show and learn details on how you could win a copy of both WaveForm and WaveRazor! It was a great interview filled with lots of 90's and 2000's synth history, very much worth a listen!


text:
Revised January 18, 2024
I. Registration of FULLBLOOD BREEDING CATTLE. The following rules shall govern eligibility for registration of fullblood Highland animals in the AHCA Herdbook. Owners of an animal to be registered must be members of the American Highland Cattle Association.
A. Definition: Fullblood shall mean Highland cattle of genotypic purity. It includes animals meeting the requirements for registration of Section B of this article.
1) All DNA typing must be done by a laboratory designated by AHCA and at a fee set by AHCA.
B. Animals must meet the following requirements to be eligible for entry into the AHCA Herdbook:
1) Animals born in the US which are the progeny of animals registered in the Herdbook.
2) Animals born in the US to a dam registered in the AHCA Herdbook but served naturally or artificially in a foreign country, if proof is provided that the sire is eligible for entry into the AHCA Herdbook.
3) Animals which have been imported into the US and
a. are registered in the Canadian HCS Herdbook or
b. are registered in the UK HCS Herdbook proper with no ancestors registered in a grading-up appendix to the Herdbook proper of the Highland Cattle Society since January 1, 1994. Additionally, the animal and all its ancestors in a five generation pedigree must be properly registered in the herdbook of their country of origin.
4) All bulls being registered must be DNA typed prior to registration.
5) In the case of animals two years of age or older, the breeder must provide satisfactory proof of parentage to AHCA. This proof requires the DNA test of the individual to be registered and its sire and dam.
6) Animals born in the US which are the result of artificial insemination, provided that the AHCA rules for AI are followed and any imported semen meets the requirements for animals as specified in paragraph 3) above and the bull that is the source of the semen is registered in the AHCA Herdbook.
7) Animals produced by the transfer of embryos or fertilized ova from cow to cow, provided that the AHCA rules for embryo transplant are followed and any imported embryos meet the requirements for animals as specified in sections I. B & D.
8) AHCA reserves the right to require parental verification by DNA typing of any animal, regardless of its registration status, if its parentage should be in doubt. Parental verification may require that all possible parents, as well as the animal in dispute, be DNA typed and shall be at the breeder's expense and at a laboratory and at a fee designated by AHCA.
9) All registered offspring resulting from matings wherein the dam was exposed to more than one (1) sire over eight (8) months of age at the same time, whether by natural or artificial mating; must be DNA typed for sire verification. Sire verification requires that all possible sires, the animal in dispute and potentially the dam, be DNA typed. Parental verification shall be done at the breeder's expense at a laboratory and at a fee designated by AHCA.
10) Cryptorchid (failure of one or both testicles to fully descend into the scrotum) bulls may not be registered, shown or used as a sire for registered Highland cattle.
11) Cloned animals may not be registered.
12) Postmortem animals may not be registered.
C. Notwithstanding the foregoing, the Board of Directors of AHCA may, in its discretion and by exception, authorize the registration of an animal imported into the US from any country if satisfactory proof is made of its fullblood status.
D. Registration shall be restricted to cattle with these colors – black, brindle, red, dun, silver, yellow, white and parti-color. Only parti-color females may be registered, no bulls, and these animals must be DNA tested for parentage. Additionally, parti-colored animals may not be shown at AHCA sanctioned shows.
E. AHCA may reject any registration request that uses herd or animal names or markings it deems confusing, over-lengthy or otherwise inappropriate. Markings i.e. tattoos, must be the assigned tattoo of the farm or ranch of birth and the name of the animal should not reflect a farm or ranch name other than the one of birth of the animal.
F. This rule shall have force and effect on the date of its approval by the Board on January 21, 1995.
G. Notwithstanding the rules and procedures listed above, the Board of Directors of AHCA may, in its discretion and by exception, authorize the registration of an animal that could not comply with the AHCA rules and procedures due to extenuating circumstances, if satisfactory proof is made of the extenuating circumstances, and of its pedigree and fullblood status.
H. When a bred cow is transferred who has been exposed to multiple bulls at the same time, all potential sires must be DNA typed at the seller's expense prior to the transfer being processed by AHCA. The resulting calf will need to be parent verified through DNA typing to be registered.
I. All DNA typing must be done by a laboratory designated by AHCA and at a fee set by AHCA.
J. All registered Highland cattle owners are required to follow AHCA's updated Policies on Registrations & Transfers. AHCA members and registered Highland cattle owners have a duty to inform AHCA of issues that impact their ownership of registered Highland cattle including divorce (threatened, pending or final), death or changes to corporate entities which hold title. See updated Policies on Registrations & Transfers.
K. AHCA requires signatures on transfer applications from all non-member owners who are selling or transferring registered Highland cattle (i.e. John and Jane Doe listed as owners so both need to sign since they are non-members).
II. REGISTRATION OF SOVEREIGN (CROSSBRED) BREEDING CATTLE & STEERS. The following rules shall govern eligibility for registration of Highland crossbred animals in the Sovereign Registry. Owners of an animal to be registered must be members of the American Highland Cattle Association.
A. Definition: Sovereign shall refer to a Highland crossbred animal which has no less than one parent being registered with AHCA as either a fullblood Highland or Sovereign and whose lineage is no more than 75% and no less than 25% Highland blood. Additionally all animals must meet the requirements as specified in section I. B 4-12, E, G-K.
B. Animals must additionally meet the following requirements to be eligible for entry into the Sovereign Registry:
1) The non-Highland parent must be of Bos Taurus beef breed origin (no dairy, Brahma or Zebu) and the breed type indicated on the registration application (i.e. dam: AHCA registration #, sire: commercial Angus or registered Angus or Shorthorn x Angus).
2) The animal must have a 205 day weaning weight of at least 450#. Additional performance data is encouraged.
3) Animals must be either polled, scurred o r properly dehorned and indicated as such on the registration application.
4) All bulls being registered must be DNA typed and genetic defect status on file prior to registration.
5) AI sires and donor dams are required to have a DNA type and genetic defect status on file with AHCA.
6) All AI and ET calves must be DNA typed prior to registration.
7) All DNA typing must be done by a laboratory designated by and at a fee set by AHCA.
8) Registration fees are the same as the AHCA Herdbook.
9) It is important to note this is not a breeding up program and the Sovereign Registry is entirely separate from the AHCA Herdbook (fullblood registry). The registration papers look different and state the animal is a crossbred.
III. REGISTRATION OF FULLBLOOD MARKET CATTLE (STEERS & HEIFERS). The following rules shall govern eligibility for registration of fullblood Highland market cattle for the purpose of exhibition. Owners of an animal to be registered must be members of the American Highland Cattle Association.
A. Definition: Fullblood market cattle shall mean Highland cattle, either steers or heifers, of genotypic purity. It includes animals meeting the requirements for registration of section B of this article.
B. Animals must meet the following requirements to be eligible for registration as market cattle:
1) Animals born in the US which are progeny of animals registered in the Herdbook.
2) Steers and market heifers are eligible for registration.
3) Animals must meet the requirements as specified in sections I. B 5, 8 & 9.
IV. REGISTRATION OF CROSSBRED MARKET CATTLE (STEERS & HEIFERS). The following rules shall govern the eligibility for registration of crossbred Highland market cattle for the purpose of exhibition. Owners of an animal to be registered must be members of the American Highland Cattle Association.
A. Definition: Crossbred market cattle shall mean one parent must be a registered Highland. It includes animals meeting the requirements for registration of section B of this article.
1) Animals with one parent registered in the AHCA Herdbook and the other parent MUST be a beef breed type and the breed type indicated on the application (i.e. dam: AHCA registration #, sire: commercial Angus or registered Angus or Shorthorn x Angus).
2) Steers and market heifers are eligible.
V. Affiliated Associations. The American Highland Cattle Association encourages the formation of regional Highland associations to promote the breed, facilitate marketing in local areas and foster fellowship among Highland breeders. A state or regional group wishing to form a local association and affiliate may do so by obtaining approval of AHCA's Board, paying such fee as the Board shall require and by following these rules:
A. Breeders will be required to hold membership in the American Highland Cattle Association for the purpose of registering cattle.
1) Eligible persons wishing to join a regional association who are not members of AHCA may do so as an associate member.
2) An associate (non-voting) membership is intended for informational and fellowship purposes only. It shall not qualify for board representation as stated in Section V. C.
B. All registrations and transfers will be handled through the AHCA.
C. A regional association may elect a representative, who must be a member of both the regional association and AHCA in good standing, to serve on the AHCA Board of Directors. The regional director shall serve for a three year term for a maximum of two consecutive terms. The regional director's terms shall coincide with the AHCA director terms on a calendar year. The regional board shall notify AHCA in writing, and provide a copy of the membership minutes, of its elected representative.
D. The nine regional associations with the highest AHCA membership will have voting rights on the Board. Other regional associations may have input in board proceedings but no vote on board actions.
E. Regional associations must comply with all AHCA rules, regulations, by-laws and rulings. In the event of a conflict, the decisions of the AHCA Board shall prevail.
F. Failure to comply with these requirements may result in the regional association being terminated by the AHCA Board if it determines that doing so is in the best interest of its membership.
VI. Marking. All animals registered shall first be properly marked, with markings described on the registry application. Each owner shall have an AHCA-approved herd designation of 1, 2 or 3 letters, and these plus the year of birth (number of the year or the letter equivalent assigned by AHCA) and the unique number of the animal shall be tattooed in the ear(s). AHCA recommends this order of placement: herd designation + unique number + year.
Examples: WY14K = animal number 14 born on WY ranch in 2021
FE1421 = animal number 14 born on FE ranch in 2021
AHCA recommends placing the entire tattoo in the left ear.
A. If an animal has a tattoo that has the correct digits but is partially unreadable, that animal must be re-tattooed by the owner (either current or original) in a different lobe of the ear. You must contact AHCA for registration paper correction. If an animal is found to have been tattooed in the wrong ear, AHCA must also be notified for a correction to be made on the registration paper.
B. If an animal has either no tattoo or the incorrect tattoo, then the original owner (owner of the dam at the time she calved) must notify AHCA in writing. At AHCA's discretion, that animal may be subject to DNA testing if the parentage is in doubt. Once the animal's pedigree is verified then the animal may be tattooed or re-tattooed and the papers changed to reflect the proper tattoo. The current owner may be the person to do the new tattoo. You must contact AHCA for registration paper correction.
C. In the event the inspection of a tattoo by a person authorized by AHCA reveals that a tattoo is illegible or not in conformity with the registration, the animal shall be barred from exhibition and/or sale and a written report made to the office of AHCA by such representative for action to be taken as described as in A or B above.
VII. Discipline.
A. Admission to and continuation of membership shall be conditioned on prompt payment of dues and other fees owing AHCA. AHCA reserves the right to reject membership applications if the Board determines this to be in the best interest of the Association.
B. Whenever it is brought to the attention of the Board that a member is no longer in good standing with AHCA by failing to comply with the articles, by-laws, Code of Conduct or these rules, or has failed to pay sums due to AHCA, or has failed to follow recognized principles of good breeding practice, or has submitted a false application for registration or transfer of animals or has in any way acted in a manner injurious to the AHCA, its members or third persons, the procedure shall be as follows:
1) Whenever the Association, the Board, an officer or the Ethics Committee receives a complaint or becomes aware of facts regarding conduct which potentially impacts the integrity of AHCA, that complaint or those facts shall be referred directly to the Ethics Committee for review and further investigation if deemed necessary and development of recommendations to the full Board.
2) How the Ethics Committee carries out its mandate shall be determined by its members with respect to each complaint or set of facts. However, where a complaint has been lodged, unless dismissed by the Ethics Committee or unless otherwise prohibited, the name of the person making the complaint as well as a copy of that complaint shall be made known to the person accused. Further, unless the case has been dismissed, the person accused shall be afforded a full and fair opportunity to respond to the accusations. If making a recommendation for disciplinary measures, the Ethics Committee shall present all discovered materials to the Board.
3) If the Board concludes after receiving a report from the Ethics Committee, that the member has acted in such a manner as to justify Board sanctions, the Board may suspend all or some portion of the member's membership privileges or take such other action as it deems proper, including expulsion from membership.
VIII. Artificial Insemination.
A. All bulls which are the source of semen for the purpose of artificial insemination must be DNA typed by a laboratory and at a fee set by the Association. A record of their DNA types must be filed with the Association before calves sired by such bulls shall be eligible for registration.
B. Each straw of semen must be identified and permanently labeled before freezing. Identity must include the registered name and registration number of the bull for the resulting calves to be eligible for registration.
C. Registration of calves produced by artificial insemination: Animals resulting from artificial insemination are eligible for registration in the Herdbook provided that:
1) the dam and, except in the case of artificial insemination where the semen was imported into the U.S. prior to the coming into force of this provision, the sire have been registered in the Herdbook; and,
2) All AI calves must be DNA typed prior to registration.
IX. Embryo Transplant. The following requirements shall apply to registration of calves resulting from embryo transplant:
A. The sire must be DNA typed by a laboratory and at a fee set by AHCA.
B. The embryo transplant donor dam must be DNA typed by a laboratory and at a fee set by AHCA.
C. DNA typing of the recipient dam may be required by the Association if the DNA typing analysis of the calf is inconsistent. If the recipient dam is DNA typed and cannot be excluded as the dam, the determination of eligibility for registration shall be made by the Association after considering DNA typing data as well as other available information.
D. DNA typing of the embryo transplant calf is required by the Association. It must be done by a laboratory designated by AHCA and at a fee set by AHCA.
E. In the case of embryos collected outside the United States, the genetic sire and dam must be eligible for registration in the Herdbook as defined in I. B. 3 above.
F. The owner of record of the donor dam at the time of conception must be identified as the breeder.
G. The owner of record of the donor dam at the time of conception will be identified as the first owner, unless the calf is the result of a purchased embryo or a pregnant recipient in which case the owner of the embryo or pregnant recipient may be identified as the first owner.
H. Registration of embryo transplant offspring shall be made on the regular registration form at the regular registration fee plus an additional fee as determined by the AHCA Board of Directors. Each application must be accompanied by the "AHCA Certification of Breeding and Embryo Transplant" executed by the embryo transplant firm.
I. Calves conceived after the death of a donor cow shall be eligible for registration provided the owner of record of the donor cow notifies the Association in writing of the date of death and the number of embryos in storage. Providing the cow is DNA typed and this rule is followed there is no time limit on the use of the embryos after death.
J. Registration certificates issued to offspring of embryo transplants shall be so designated.
X. Dues. Dues shall be as determined by the Board of Directors for annual memberships and for such other categories as the Board may determine. Those with existing life memberships may be asked to make a voluntary contribution.
XI. National Shows and Sales. The Board may from time to time designate a National Show and/or Sale. Rules for such shows and sales shall be adopted by the Board. Roll of Excellence (ROE) participants must follow the IAFE National Code of Show Ring Ethics.
XII. Warranties. AHCA makes no warranty whatsoever regarding the accuracy of the data published in its Herdbook. Each person who seeks registration/transfer warrants the accuracy of the information supplied to AHCA relating thereto. AHCA expressly denies that it performs any independent research as to accuracy of information supplied to it.
XIII. Obligations. No person is authorized to incur obligations for AHCA, or extend any sums belonging to AHCA, outside of the budget as adopted by and approved by the Board or allowed by the current by-laws or unless the Board specifically authorizes such obligation or expenditure. Amounts allocated to items within the budget of a program may, however, be modified by the program chairman for that program, upon obtaining approval from the Finance Committee, as long as the total program cost is not thereby exceeded.
XIV. MEMBERSHIP. To be a voting member of AHCA a person or entity must comply with the following: be a member in good standing as earlier defined in VII B; own or have previously owned fullblood Highland cattle registered with AHCA or be an AHCA life member; current in the payment of annual dues; and for those seeking renewal, remain as a member in good standing. Each membership has a single vote.
Membership may be held by individuals or business entities. Individuals may hold ownership individually or with others. Ownership with others may be joint ownership with or without the right of survivorship.
AHCA allows ownership of registered Highland cattle by business entities, such as: partnerships, corporations (C or S type) or limited liability companies. Such entities are required to provide AHCA with minutes and/or officer certificates indicating which individuals are authorized to act on behalf of the entity for purposes of the registration and transfer of cattle or to conduct any other business with AHCA. Sample forms are available online on the registration tab, printable forms.
Only members of AHCA may register Highland cattle. Non-members may own and transfer registered cattle but non-members may not register the offspring of registered cattle without becoming a member of AHCA.
AHCA registers cattle in the same name and form as the individual or entity holds its membership. For instance, a business entity must be a member to register cattle on the books and records of AHCA. In addition, individuals may be members directly in their own name or indirectly through one or more business entities that own cattle. Ownership by multiple entities or individuals may require separate and distinct memberships.
The transfer of ownership of cattle may result in the need for an individual or an entity to apply for a new membership. Parties changing the form of ownership must provide AHCA with documentation concerning which, if any, party shall maintain the current membership and herd letters (required for animal identification). Herd letters can be re-issued with the consent of prior participants in the membership. (For instance, in a divorce the parties should agree which party shall maintain the original membership and herd letters and provide AHCA with proper documentation of that agreement. The other party may establish a new membership with new herd letters.)
Any person(s) or business entity joining or renewing membership in AHCA shall be deemed to agree to dispute resolution in Adams County, Colorado. By becoming a member, said member(s) agrees that any and all disputes by and between members of the Association and the American Highland Cattle Association shall be first submitted to mediation in Adams County, Colorado. In the event good faith efforts to resolve the dispute in mediation fails, if pursued, litigation shall be subject to the State Courts of Colorado, Adams County, Colorado. All members shall agree that disputes between AHCA and its members shall be resolved by applying Colorado law.
The membership directory is intended as a communications tool for our members, prospective owners and Highland enthusiasts and should not be used for personal gain other than the marketing of Highland cattle and products.


text:
Condition: Excellent
Original Piece on cardstock by Ed Benes
Shipping Options:
COMBINED SHIPPING $ 1 (If you recently purchased and haven't received a tracking code yet, choose this option and we can combine the pieces.)
Payments via Paypal and ship to worldwide!
Reinforced packages.
At the moment we are with barriers for packages from Australia and Mexico, any purchases from these countries we ask customers for patience because we will only be able to ship packages when we are allowed to.
Spider-man and Black Cat - 9"x12" Pencil
1 - customer withdrew from the purchase: The customer has up to two days to request a refund of their purchase, the entire amount paid will be refunded with the exception of any fee charged by Paypal, The payment method on the site is Paypal, a Once the purchase has been made, paypal charges its transaction fee and the site is not responsible for refunding the Paypal fee if the institution does not do so.
2 - piece damaged: in case any package arrives to the customer with some damage to the original piece, we ask that photos be sent by email that will be evaluated and verifying the intensity of the damage to the piece, it will be requested that the originals be shipped back to us and as soon as the damaged pieces are received new identical pieces will be produced and sent back to the client; there is also the option of refund if the customer prefers, but following the same criteria of paypal rate mentioned in the previous item.


text:
By the time we reach adulthood, most of us have developed core beliefs about ourselves and our bodies and these ideas affect the way we move and hold ourselves daily. Often, we have ideas or beliefs about our bodies that influence our neuromuscular patterns, which are the way we unconsciously initiate movement and react to instructions. These ingrained reflexes can block the mind/body from connecting and may create inefficient movement and eventually lead to imbalanced development. This is almost impossible to recognize on your own and, even with the help of a trained professional, it can take months to relearn how to initiate movement in a different way. Even then, the changes won't stick unless you can begin to let go of old beliefs and start to see yourself differently. In my years of training clients, I have often found that the people who have chronic back or joint problems are also the people who have the most ingrained negative movement patterns and have the most difficulty following basic functional awareness exercises. This observation has been proven in scientific experiments where they took two groups of people: one with a history of common back ailments, and the other without, and they gave each of them simple instructions on how to lift objects safely. The group without a history of back pain was able to follow the instructions correctly, where as the problem group totally failed to follow instructions. The conclusion of the study was that people with chronic back pain need training in basic motor skills (mind/body awareness) before therapeutic treatment. In my own teaching practice, I have found that some people have no connection to some parts of their bodies and have exactly the wrong instincts when it comes to moving efficiently. They push the abdominals out, they bend when they are asked to straighten, they hunch their shoulders, they hold their breath, etc. Again, these are the same people that have chronic lower back pain, neck pain, shoulder pain, etc. So, we can't say that it is always wise to follow your instincts when it comes to training as, for some, it could mean following negative patterning coming from a deep lack of awareness.
Intuitive learning actually means to be open for different ways of feeling things and seeing things and at the same time reflecting on what your body is telling you and what you have learned from past experiences. It means letting go of pre-conceived notions or expectations and taking your time to experience something new. That being said, the first time you try something, you need to also listen to your intuition with regards to what someone is telling you to do. Try to take into account the whole setting of where you are and whether you feel the instructor is acting on automatic or is connecting to you and the rest of the class. Many times I have seen instructors who think they are there to challenge the class to meet them on their terms. That can be ok if you are aware of this negative energy and stay within yourself. You might not have expected it, but sometimes staying within yourself can be the intuitive way to go. I highly recommend that everyone practice on their own. Not only does this develop independence, it allows you to fully connect with your intuitive guide. The more experienced you are, the greater the benefits from these solo workouts. During these times you can practice doing a different warm-up, one where you fine-tune into your body. You can do similar exercises you have done before but change qualitative focus, such as performing some things a lot slower or leaving the arms relaxed in standing poses. You will be certain to discover something new about your body and this could take you in a direction you might never have thought about before.
Next time, I'll talk about the reality that how you move determines the shape of your body.