The present invention provides an improved method for targeting in a computer system. A block of data is identified by analyzing strokes of writing to determine if a current stroke is to be associated with an existing block of data or with a new block of data. Displacement in the X direction and Y direction between a prior stroke and a current stroke is generated and analyzed to determine if a new block of data has been created. After a block of data has been identified, the bounds of the smallest rectangle that contains all of the strokes in the block are determined. The area overlap between the bounded rectangle and every object or field touched by the rectangle is calculated. If a preselected threshold percentage of the bounded rectangle overlaps a single field or object, that field or object is identified as the target. If no one field or object is overlapped by at least the preselected percentage area of the bounded rectangle, bounding rectangles are defined for each character or stroke in the block of data. The amount of overlap of the bounded characters is determined, and the field having the greatest area of overlap is identified as the target field.
This is a continuation of commonly assigned U.S. patent application Ser. No. 07/819,450, filed Jan. 10, 1992, now abandoned.
The present invention relates to the field of data entry in computer systems.
A typical computer system consists of a central processing unit (CPU), main memory such as random access memory (RAM), a data entry device, including a positioning device, a mass storage device such as one or more disk drives, a display and/or a printer. In the prior art, the data entry device often consists of a keyboard, on which a user enters data by typing. The positioning device of a prior art computer system may consist of a "mouse" or other cursor positioning device.
Computer systems have also been developed that are directed to handwritten data entry rather than keyboard data entry. These systems are often characterized by the use of a pen, stylus, or other writing device, to enter handwritten data directly on the display of the computer system. Alternatively, these systems may provide for a user to enter data on a digitizing tablet or other input device, with the image of the written input displayed on a separate computer display output device. The writing device for entering handwritten or freestyle stroke input information is not limited to a pen or stylus, but may be any input device such as a mouse, trackball, pointer, or even a person's fingers. Such systems are not necessarily limited to receiving data generated by human users; for example, machine generated data may also be inputted and accepted to such systems.
One class of this handwriting entry computer system that receives handwritten data input is referred to as "pen based" computers. In a pen based computer system, a writer can input information on a display by "writing" directly on the display. A writing device, such as a pen or stylus, is used to enter information on the display. In a typical pen-based computer system, a user touches the stylus to the display and writes as he would on a piece of paper, by making a series of pen strokes to form letters and words. A line appears on the display that follows the path of travel of the pen point, so that the pen strokes appear on the display as ink would appear on a handwritten page. Thus, the user can enter information into the computer by writing on the display. In addition to handwriting, special functions based on input strokes are supported on pen based computer systems. For example, a writer may strike certain previously entered handwritten input by making the strokes of an "X" over the entry. These special functional strokes or actions are referred to herein as "gestures". Pen based computers typically have a display surface that serves as both an input receiving device and as an output display device.
One problem in a handwriting entry computer system is determining the beginning and ends of characters and words. This process is referred to as "splitting." Some prior art systems rely on the proximity of a pen or stylus to the display or entry means as a cue to indicate the beginning and ends of characters and/or words. However, users may not always lift the pen out of proximity from the display or entry means when writing a new character or new word. Incorrect splitting decisions can lead to errors in display of handwritten or translated text since separations between words and characters may not be recognized.
The display of a pen-based entry or other handwriting entry computer system may have bordered regions called "fields" that define locations or areas where data is to be entered, or that are associated with particular actions. For example, if the software application provides a data entry display that is an information form with fields for "First Name", "Last Name", "Age", "Occupation", etc., certain information is generally associated with each field. These locations are referred to here as "objects" or "fields". Each object has a boundary associated with it. When data is entered, the computer must determine which object is to be associated with the writing or gesture. The object intended to be associated with the data input is called the target object. The process of identifying the target object is referred to here as targeting. The method and apparatus that performs the function of targeting is referred to here as a targeting system.
It is the nature of handwriting that the writer often will write strokes or characters outside of defined boundaries of objects or fields. Where the target object is relatively small compared to typical handwriting paper guidelines, for example, the writer will typically find it difficult to stay within the lines when writing into that object. Resultant writing strokes may fall partly within the boundaries of the target object and partly in areas of the display that are outside of the boundaries of the target object and/or in areas that do not contain any objects. In addition, writing strokes may fall partly within the boundaries of objects adjacent to the target object.
There are a number of prior art schemes for targeting. These prior art targeting schemes will typically provide incorrect targeting decisions when applied to handwritten input. A common characteristic of these prior art schemes is that targeting decisions about the target field are made at the beginning of the writing operation, for example, at the time of initial contact of the writing entry device with the display or input device. These prior art schemes typically result in a substantially degraded targeting decision.
In the following description, the prior art schemes will be described in connection with a handwriting data entry computer system that uses a pen or stylus as the data entry device and where data is entered by writing directly on the display. This is for purposes of example only, and is not intended to limit the description.
In one prior art targeting scheme, the target is defined as the object touched by the pen upon initial contact. Thus, in this prior art scheme, the target object is the object, (if any), that is associated with the point of initial contact of the stylus, pen or analogous input device. This scheme is described in connection with the examples of FIGS. 1 and 2.
FIG. 1 illustrates an example of a writing entry computer system that includes a housing 101, a display 102 and a writing tool, or "pen" 103. The display 102, for example, shows as display output, the outline of a form for data entry. This form can be generated, for example, by an application program running on the pen based computer system. The form may include a number of objects or fields. For example, in the example of FIG. 1, the form includes the "First Name" field 104, the "Last Name" field 105, the "Company" field 106 and the "Date" field 107.
In this example, fields 104-107 are arranged such that the lower boundary of one field is coincident with the upper boundary of the adjacent field. As a result, if a user entering data in one field writes outside the boundaries of that field, the stray writing may fall within the boundaries of another adjacent field. Consider the example of entering the name "Tom" in the "First Name" field 104, the name "Jones" in the "Last Name" field 105, and the name "International" in the "Company" field 106. When an entry begins with a capital letter such as "T", "J", or "I", it has been found that a user is likely to begin the pen stroke that defines the letter "J" near the top of the target field. The first stroke of the letter will be entered by the user beginning in the field above the target field, or by beginning the first stroke entirely outside any field, as shown in the examples of FIG. 1.
For example, in FIG. 1, the top stroke of the letter "T" of the name "Tom" in field 104 extends outside of the boundaries of field 104 and a portion of the top stroke of the letter "T" is not located within the boundaries of any field. The letter "J" of the name "Jones" in field 105 has a portion of its top stroke that is not within the boundaries of any field. The top stroke of the letter "J" crosses a corner of field 104 before extending into field 105. The "I" of the name "International" is found partially within the boundaries of field 105 and extends within the boundaries of field 106.
It has been found that the letter "T" is typically written with two strokes, a horizontal "cap" stroke, and a vertical stroke. The letter "J" is also typically written with two strokes, namely a horizontal stroke for the top or cap of the "J", and a curved stroke for the bottom hook of the letter "J". The letter "I" is can be written with a single vertical stroke, or, alternatively, with horizontal top and bottom strokes connected by a single vertical stroke. In the examples of FIGS. 1 and 2, the "I" is written as a single vertical stroke.
The first letters of each of the words in fields 104-106 respectively are illustrated in detail in FIG. 2. Referring to FIG. 2, an enlarged view of handwritten strokes 201 and 202 that together represent the letter "T" is illustrated. The beginning point of top stroke 201, that is, the point where the stylus first makes contact with the display, is at point 206. The end point of stroke 201, that is, the point where the stylus is lifted from the display, is at point 207. The beginning point of bottom stroke 202 is at point 208. The end point of stroke 202 is at point 209. Note that the beginning point of bottom stroke 202 lies on stroke 201.
Still referring to FIG. 2, the letter "J" is shown formed by top stroke 203 and bottom stroke 204. The beginning of top stroke 203 is at location 211. The end point of top stroke 203 of the "J" is at location 212. The beginning of bottom stroke 204 is at point 213 (which also lies on stroke 203). The end point of bottom stroke 204 is at point 214.
The letter "I" is formed by a single stroke 205 with a beginning point at location 215. The end point of stroke 205 is at location 216.
The intended target fields for the names "Tom", "Jones", and "International" are fields 104-106 respectively. The application of the prior art scheme that defines the target field as the first point of contact of the stylus results in incorrect targeting assignments for each name. Referring to the letter "T", the first point of pen contact with the display, namely point 206, does not lie in any field at all. Therefore, using the prior art scheme describing a target field cannot be properly determined, resulting in an error. Similarly, the first point of contact of the top stroke 203 of the letter "J", namely point 211, does not fall within the boundaries of any field. Therefore, no target field is defined by this prior art scheme, also resulting in error.
Referring to the stroke 205 that defines the letter "I" of the name "International", the first point of contact of the stylus is at point 215, located within the boundaries of field 105. Thus, the prior art scheme defines the target object as field 105. However, the intended target field is field 106. Thus, there is a targeting error.
Another prior art targeting scheme defines the target object as the first object touched by a pen stroke of the writer, regardless of where the first point of contact of the stylus may occur. That is, after the pen touches the display and the writer begins to make a stroke, the very first object or field touched by the stroke is considered to be the target. The operation of this scheme is also illustrated by referring to the characters of FIG. 2.
Referring to the "T" of the name "Tom", the first point of contact of the stylus on the display is at point 206. The first field contacted by the stroke 201 is field 104. Therefore, the second prior art scheme makes the correct targeting decision for this character, namely field 104. However, the second prior art scheme renders incorrect decisions for the other characters of FIG. 2.
Referring to the letter "J" of the name "Jones", the first point of contact of stroke 203 is at point 211, outside the boundaries of any field. The first field contacted by stroke 203 is field 104. Therefore, the second prior are scheme incorrectly identifies the target field as field 104, instead of field 105. This is an incorrect decision.
Referring to the letter "I" of the name "International", the first point of contact of stroke 205 is at point 215, within the boundaries of field 105. Therefore, using the prior art targeting scheme, the target field is incorrectly identified as field 105, when the intended target field is field 106.
Thus, it is a disadvantage of prior art targeting schemes that they do not make accurate targeting decisions when data is entered outside the boundaries of the intended target field.
There are a number of patents that are directed to or relate to computer systems that operate on handwritten data.
Ward, U.S. Pat. No. 4,562,304, is directed to emulating keyboard input using a hand-print terminal that includes a digitizing tablet. In Ward, characters are written with a pen in boxes of a grid paper that is disposed upon the digitizing tablet. The characters are converted to ASCII and stored in a line buffer memory at their respective column positions. The contents of the line buffer is serially output to the computer just as a keyboard supplies serial data to a computer. The system of Ward allows only one row of data to be "worked on" at a time. Therefore, the beginning of a new row is determined by comparing the current character row position on the grid with that of the previous character. If the row values differ, the line buffer memory is cleared and a new row can be entered and edited. Ward teaches writing characters within a specified box to allow for character recognition. As such, Ward does not teach a targeting scheme for characters written in adjacent boxes or written only partially in one box.
Tsugei, U.S. Pat. No. 4,656,317, is directed to an apparatus for providing handwritten data to computer memory by categories. The invention uses a format paper with predefined "write areas" disposed upon a digitalizing tablet wherein each "write area" is a category of information to be processed. After information is written within the "write areas" with a pen, it is stored in RAM by category. The invention of Tsugei uses a computer program to recognize when information has been written within a specified area on a digitizing tablet. Tsugei does not disclose a targeting technique in the case where information is written outside the designated areas.
A system that allows for pen input for different application programs such as a word processor or database is described in Sklarew, U.S. Pat. No. 4,972,496. The input pen is used to designate a location to enter data. An input box or line appears on the screen and the pen is used to input text. The invention of Sklarew provides a "learning" feature in which handwritten characters are matched to a database to determine the characters. A character not found in the database is appended. Thus, the invention is adaptable to all handwriting styles. Sklarew provides for handwritten data input within a rectangular input box and does not utilize a targeting scheme.
The invention in Hardin, U.S. Pat. No. 4,817,034, is directed to a system for replicating handwritten signatures. A pen is used to input a signature that is stored in computer memory for future use. The signature data can be provided to a plotter to replicate the handwritten signature. To enter a signature, an input rectangle and signature line is provided by software. Hardin utilizes a rectangular input area for pen input. The system of Hardin does not disclose a method for targeting a signature that exceeds an input area bounds.
A device for editing text is disclosed in van Raamsdonk, U.S. Pat. No. 4,475,239. As the user enters text via a keyboard, a printing head prints the characters on a record carrier which is disposed upon a digitalizing panel. As the characters are entered, they are also stored in computer memory. After a page is stored in memory and printed, a pen is used to assist in editing. For example, the user places alignment marks on the record carrier to allow the system to align the printed text with the corresponding text in memory. Next, using the pen, the user marks the location on the record carrier to perform an operation, such as insert text. After the location is marked, the keyboard is used to enter new characters. The keyed-in characters are inserted into the computer's memory and do not appear on the record carrier. Van Raamsdonk teaches the use of alignment marks to define an edit area. However, van Raamsdonk does not disclose a targeting scheme for marks written outside the edit area.
Sato, U.S. Pat. No. 4,947,156, discloses a handwritten character input device that includes a means to correct deviations on a display due to variations in angles of the input pen. The invention accounts for and corrects LCD dots that are inadvertently lit because of the angle that the input pen makes with the display screen. Sato relates generally to the field of pen based computer systems and does not disclose a targeting scheme.
The following is a patent teaching a scheme that uses a rectangle overlap scheme in a conventional keyboard based computer system.
Ikegami, U.S. Pat. No. 4,677,585 teaches a system in which information having a predetermined format is stored as a card image within a data processing system. The user defines a card by providing coordinates to indicate the size of fields and the desired location on the card. In the case of character data, the fields may be more than one row, thus forming a rectangle. The invention disclosed in Ikegami allows the user to define rectangular areas in which to input character data. The user also defines the location on a card that the rectangular input area will occupy on the display screen. The invention allows for more than one character field may be placed on a card. Therefore, the system utilizes a rectangle overlap technique to determine whether any adjacent character fields intersect. However, the scheme of Ikegami is carried out before any character data entry is performed. That is, the rectangle areas are defined prior to any data input.
The present invention provides an improved method for targeting and splitting in a computer system. A block of data (such as a character or word) is identified by analyzing strokes of writing to determine if a current stroke is to be associated with the strokes of an existing block of data or with a new block of data. Displacement in the X direction and Y direction between a prior stroke and a current stroke is generated and analyzed to determine if a new block of data has been created. After a block of data has been identified, a targeting operation for that block is performed. The bounds of the smallest rectangle that contains all of the strokes in the block is determined. The area overlap between the bounded rectangle and every object or field touched by the rectangle is calculated. If a preselected threshold percentage of the bounded rectangle overlaps a single field or object, that field or object is identified as the target. If no one field or object is overlapped by at least the preselected percentage area of the bounded rectangle, bounding rectangles are defined for each character or stroke in the block of data. The amount of overlap of the bounded characters is determined, and the field having the greatest area of overlap is identified as the target field.
In an alternate embodiment, a bounded rectangle is generated for the data block and the center of the rectangle is determined. The object overlapped by the center of the writing rectangle is identified as the target object.
FIG. 1 is a diagram of an entry form on the display of a computer system.
FIG. 2 is an enlarged view of fields 104, 105, and 106 of FIG. 1.
FIG. 3 is a block diagram of the present invention.
FIG. 4 is a diagram illustrating X displacement in the present invention.
FIG. 5 is a diagram illustrating the bounding of individual characters in the present invention.
FIG. 6 is an expanded view of the boundary of fields 403 and 404 of FIG. 4.
FIG. 7 is a flow diagram illustrating the X displacement algorithm of the present invention.
FIGS. 8A-8C are examples illustrating Y displacement in the present invention.
FIG. 9 is a flow diagram illustrating the operation of the Y displacement algorithm of the present invention.
FIG. 10 is a diagram illustrating targeting in the present invention.
FIGS. 11A and 11B are diagrams illustrating the second step of the targeting process of the present invention.
FIG. 12 is a flow diagram illustrating the targeting algorithm of the present invention.
FIG. 13 illustrates diagrams of gestures for use in the present invention.
FIG. 14 is a flow diagram illustrating the gesture targeting algorithm of the present invention.
A targeting system for use in a computer system is described. In the following description, numerous specific details, such as processor type, processor speed, operating system type, etc. are set forth in detail to provide a more thorough description of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, well known features have not been described in detail so as not to unnecessarily obscure the present invention.
The invention provides a splitting and targeting system for use in handwriting entry computer systems. The targeting decision of the present invention is not made until a block of data has been entered. This is in contrast to the prior art, in which targeting decisions are made at the initial stages of the entry of the data to be targeted. The present invention uses a boundary analysis scheme to determine the intended target field of the data.
The preferred embodiment of the invention is incorporated in computer software for use, for example, with the PenPoint™ operating system for pen-based computers, such as those manufactured by GO™ Corporation of Foster City, Calif. However, the invention can be used with a wide variety of other operating systems and other computers and computer systems.
FIG. 1 shows an example of a handwriting entry computer of a type that may be used with the present invention. It consists of a pen sensitive display 102 disposed in a housing 101. The front of the housing features an on/off button 110. Input/output ports for a disk drive, communications, and a printer, a power supply socket, and a contrast control (not visible) are located along the top 111 of housing 101.
The pen-sensitive display senses the position of a special stylus 103 when the tip of the stylus is near to, or contacts the display.
Internally, the computer of FIG. 1 uses at least an Intel 80286 microprocessor chip running at 16 Mhz or more. Preferably, at least four megabytes of random access memory (RAM) is included.
The items on the display are accessed with hand held stylus 103. The stylus may be used to write characters, "gestures", words or illustrations on the display. Except for certain standard "gestures", the way that such handwritten input is handled generally depends on the specific software application being used.
"Gestures" are simple types of pen movements that invoke certain specified commands. The present invention utilizes approximately a dozen standard "gestures" that form part of its user interface. Examples of these "gestures" are left and right brackets ("[" and "]"), often used for selecting words or a section of text, an up-caret (" "), for accessing an editing pad that can be used for data entry, single strokes or "flicks" right, left, up or down, which are used for scrolling, and "taps" or "presses" which are used to invoke commands.
The operating system of the preferred embodiment of the present invention also provides data to an application about any writing that is done on the display with the stylus. The operating system records events such as "pen down", "pen up", pen position, and pen movement, and makes the record of such events available to applications running on the computer system.
The present invention implements a targeting scheme that makes targeting decisions based on the entire block of data that is intended to be entered in a target field or object. Using the present invention a block of data is identified and the boundaries of the smallest rectangle that contains the data is determined. If more than a preselected percentage of the area of the rectangle defined by the boundaries of the data is within the boundaries of a particular field, that field is defined to be the target field. If that threshold condition is not met, a boundary is defined for each stroke in the block of data. The areas of the rectangles defined by the boundaries of each stroke are then examined. The total overlap between each field and all stroke boundary boxes is calculated. The target that has the greatest total stroke overlap area is selected.
The present invention is described in connection with the entry of handwritten data consisting of one or more pen strokes. This is by way of example only, as any type of data may be used in connection with this invention.
Using this invention, a splitting decision to identify a block of data is made as strokes are entered. A targeting decision is made only after the entry of a block of data has been completed. Blocks of data may consist of strokes, words, numerals, symbols, gestures, or combinations thereof. Blocks of data are identified by detecting and analyzing the displacement in the X and Y directions of an XY coordinate system between a current stroke and a previous stroke. The completion of entry of a block of data is identified when entry of a new block of data begins. The entry of a new block of data begins when a current stroke is displaced from a previous stroke by a certain amount. When these conditions are satisfied, the current stroke is said to be "split" from the previous stroke.
In the following descriptions of splitting in the X direction and the Y direction, examples are provided of displacements used in the preferred embodiment of the invention. These are given by way of example only. Other displacement may be used without departing from the spirit and scope of the present invention.
The operation of the present invention in making decisions concerning splitting in the X direction is illustrated in FIG. 4. Referring to FIG. 4, an enlarged view of four fields 401-404, arranged in a two-by-two array, is shown. The present invention identifies a stroke as being separate from prior strokes if the new stroke is displaced in the X direction by a predetermined distance. In the preferred embodiment, this distance is greater than 0.5 inches.
Referring to FIG. 4, the words "Tom" 405A and "Jones" 406A have been written in fields 401 and 402. Word 405A is written entirely in field 401, while word 406A begins in field 401 and extends into field 402.
An algorithm (described in detail below) is performed comparing the location of each stroke with the previous stroke to determine if the current stroke is to be grouped with prior strokes or to be treated as a separate stroke or group of strokes. When this comparison is done for each of the strokes that make up the letters "T," "o" and "m" in the word "Tom," the X displacement is less than 0.50 inches in each case so those letters are grouped as a single block of data 405A. However, the X displacement 407A between the "m" in Tom and the first stroke, (the "hook"), of the letter "J" in Jones is greater than 0.50 inches. Therefore, that stroke, (and consequently the letter "J"), is a candidate for a "split" from the "m" at the end of the word "Tom". However, it is not actually split from the prior block of strokes because the first stroke (the hook of the J), is not less than 49% in target field 401. The remaining strokes of the letters that make up the word Jones are all within the appropriate X distance, and so are not candidates for splitting.
To determine if a subsequent stroke or block is to be targeted to a different field, the present invention reviews every stroke as it is generated to determine if it begins a new block of data. Refer now to the data in fields 403 and 404. Again, the word Tom 405B is written entirely within field 403. The X displacement 407B between the "m" of Tom and the hook of the letter "J" of Jones is greater than 0.50 inches. Therefore, the first stroke of the letter "J" of the word Jones is a candidate for splitting from the block of data that ends with the stroke "m". An analysis of the first stroke of the block Jones 406B is undertaken to determine if a split does occur. Referring now to FIG. 6, an enlarged view of the first stroke of the letter "J" is illustrated. In the present invention, if the first stroke of a new word is more than 50 percent in a different field than the preceding stroke, a split occurs.
In the example of FIG. 6, the bounds of the stroke are drawn, and the ratio of the areas overlying fields 403 and 404 is determined. A rectangle formed by the line 601, 602, 603 (the boundary between fields 403 and 404 between lines 602 and 604) and line 604 defines the area of the bounds of the stroke that lies within the boundaries of field 403. Similarly, a rectangle 603, 605, 606, 607 define the area of the boundaries of the stroke that lies within the boundaries of field 404. In the example shown, the area of the rectangle 603, 605, 606, 607 is greater than the area of the rectangle 601, 602, 603, 604. Therefore, the stroke, and by extension, all strokes following it, are split from the block "Tom".
A flow diagram of the operation of the X displacement algorithm of the present invention is illustrated in FIG. 7. At step 701, a stroke is written by the user. At decision block 702, the argument "first stroke?" is made. If the argument is true, there is no prior stroke to compare the stroke with so the stroke is stored at step 703 and the system returns to decision block 702. If the argument is false, the system proceeds to step 704 and the XC, YC, hC and wC values for the stroke bounds are generated.
After these values are generated, the system determines whether "ABS((XP +wP)-Xc)>0.50 inches?". is made. If the argument is false, the system proceeds to step 707. If the argument is true, the system proceeds to decision block 705 and the argument "New stroke <50% in old target?" is made. If the argument at decision block 705 is false, the system proceeds to step 707. If the argument at decision block 705 is true, the system proceeds to step 706 and the conditions for splitting a stroke are met. At step 706, the stroke is split from the prior stroke. At step 707, the stroke is stored as the previous stroke and the process ends at step 708.
The present invention identifies a block of data as a candidate for splitting if the block satisfies a three-part test for displacement in the Y direction. The first test looks for the Y displacement between the end of a previous stroke and the beginning of a stroke. If the Y displacement is greater than 0.15 inches, the first part of the test is satisfied and the current stroke is a candidate to be split from the prior stroke.
The second test determines if the current stroke is located between the upper and lower bounds of the prior stroke. If the current stroke is not within the upper and lower bounds of the prior stroke, the second part of the test is satisfied. This test is to identify small strokes that may be written after large strokes that make up capital letters and are entirely within the upper and lower bounds of the prior large stroke. Although the distance between the vertical distance of the large stroke and the small stroke may be greater than 0.15 inches, because the small stroke is with the bounds of the large stroke, no splitting will occur.
The third part of the test compares the centers of the bounded areas of a prior stroke and a current stroke. If the centers are at least 0.25 inches apart in the Y direction, then the third part of the test is satisfied and the current stroke is a candidate to be split from the prior stroke. If a stroke that is a candidate for splitting also has more than 50% of its bounded area in a different target than the previous stroke, it is split from the previous stroke.
Implementing this equation, it is seen that the current stroke "o" is completely contained within the upper and lower boundaries of the prior stroke "S". Therefore, these strokes should not be split based on Y displacement.
The third test fails in the example of FIG. 8B because the centers of the current stroke "o" and the previous stroke "S" are less than 0.25 inches apart.
FIG. 8C illustrates an example where all three tests are met and a splitting of strokes based on Y displacement is proper, if the current stroke is also greater than 50% in a different target than the previous stroke. The first test is met because the difference based on Equation 2 is >0.15 inches. Similarly, Equation 3 is satisfied because it also results in a distance of >0.15 inches.
The second test is met because the current stroke is not contained entirely within the upper and lower bounds of the prior character. Finally, the third test is met because the centers of the bounds of the current and prior strokes are more than 0.25 inches apart.
The present invention also handles special cases, such as the top stroke of an "F", "J", "T" as well as the dot on a small "i". For letters having a top, horizontal stroke, often a user does not actually touch the top stroke to the remainder of the strokes of the character. In these circumstances, the top stroke may be incorrectly identified as a stroke that is to be split based on Y displacement. The present invention applies the test that if a stroke has a slope of less than one-third, it is assumed to be the top of a capital letter and the Y displacement test is not executed. For the dot of an "i", (which may often satisfy the conditions for splitting based on Y displacement), if the height plus the width of the stroke (the dot of an i) is less than 8 points, the stroke is identified as the dot of an i and no Y displacement test is implemented.
The dot on an i may also create problems because one thing that should be permitted is for a user to tap on two different fields and have the taps split appropriately. The present invention also implements the convention that if the last stroke was also a tap (a potential dot of an i) then the "dot of the i test" is not applied to the current stroke and splitting is allowed on the second tap.
As with the splitting decision in the X direction, if a new stroke satisfies the splitting decision based on the Y displacement tests, a decision is then made as to the targeting of the new stroke. If the new stroke falls more than 50 percent inside a separate target field than the previous stroke, then the new stroke is split from the old stroke. If the new stroke is more than 50 percent in the original target field, then that stroke and strokes associated with that stroke are not split from the prior stroke.
A flow diagram illustrating the operation of the present invention in determining splitting the Y direction is illustrated in FIG. 9. The system begins at step 901 where a stroke is written by a user. At decision block 902, the argument "first stroke?" is made. If the argument is true, meaning there have been no prior strokes, the system proceeds to step 903 where the stroke is stored. After step 903, the system returns to decision block 902.
If the argument at decision block 902 is false, the system proceeds to step 904 and the values XC, YC, hC and wC are generated for the current stroke.
At decision block 905, the argument "ABS(YP -YC)>0.15?" is made. If the argument is false, no splitting occurs and the system proceeds to step 914. If the argument is true, the system proceeds to decision block 906. At decision block 906, the argument "ABS((YP +hP)-(YC +hC))>0.15?" is made. If this argument is false, the system moves to step 914. If the argument is true, the first part of the Y displacement test is met and the system proceeds to decision block 907.
At decision block 907, the argument "(YC >YP) AND (YC +hC)<(YP +hP))?" is made. If the argument is false, the system proceeds to step 914. If the argument is true, the second part of the Y displacement test is met and the system proceeds to decision block 908.
At decision block 908, the argument "ABS(YP +(hP /2))-(YC +(hC /2))>0.25 inches" is made. If the argument is false, the system moves to step 914. If the argument is true, the third part of the Y displacement test is met and the system proceeds to decision blocks 909-911. These decision blocks are used to determine if any of the exceptions (double tap, dot of an i, top of a capital letter) are met. At decision block 909 the argument "previous stroke a tap?" is made. That is, was the prior stroke a tap itself. If the argument is true, the system proceeds to step 913. If the argument is false, the system proceeds to decision block 910. At decision block 910, the argument "dot of i?" is made. If the argument is true, that is, the mark is the dot of an i, the system proceeds to step 914 and no splitting of the strokes is performed. If the argument is false, the system proceeds to decision block 911. At decision block 911, the argument "cap of letter?" is made. If the argument is true, no splitting is performed and the system proceeds to step 914. If the argument is false, none of the exceptions have been met and the system proceeds to step 912. At decision block 912, the argument "New stroke greater than 50% in new target?" is made. If the argument at decision block 912 is false, the system proceeds to step 914. If the argument at decision block 912 is true, the system proceeds to step 913. At step 913, the current stroke is split from the prior stroke. At step 914, the current stroke is then stored as the previous stroke and the process ends at step 915.
After identifying a block of data by using the splitting algorithms described above, the present invention employs a targeting algorithm to determine the intended target field of the block of data. The present invention uses a two-part test for the targeting algorithm. In the first part of the test, the bounds of the data block are determined and the percentages of the bounded area that lie over possible target fields is determined. If a preselected percentage of the bounded area of the block of data falls within the boundaries of a single field, that field is identified as the target field. In the preferred embodiment of this invention, the preselected percentage is 70%. However, other preselected percentages can be utilized as a threshold without departing from the scope of the invention.
An example of an application of the threshold test is illustrated in FIG. 10. In FIG. 10, there are two adjacent fields, 1001 and 1002. The word "Tom" is written with the intended target field being field 1001. After the word Tom is written and identified as a block of data, the bounds of the block of data are determined and the values XC, YC, hC and wC are generated. Next, comparison of the areas of the bounded block of data that overlap fields 1001 and 1002 are compared. The boundary between fields 1001 and 1002 intersects the bounds of the word Tom at point n, intersecting the vertical bounds of the word Tom between the origin YC and the bottom edge at YC +hC. The area of the portion overlaying field 1001 is generated by multiplying the length of the line segment between points YC and n by the width wC. This area is Area1001 and is shaded in FIG. 10. This area is compared to the overall area of the bounds of the block of data, namely hC ×wC to come up with AreaTotal. If Area1001 /AreaTotal is greater than 0.7, the target field is field 1001.
There are some circumstances where the first test is not met because less than 70 percent of the bounded area of the block of data overlaps the intended target field. This is particularly true if the block of data includes one or more "descenders," that is, letters with "tails" that extend below the line of writing, such as g, y, j, etc. Such an example is illustrated in FIGS. 11A and 11B. In FIG. 11A, the word "gary" is identified as a block of data. The bounds of the word gary are determined and the values XC, YC, hC and wC are determined. The total area of the bounds of the block of data gary, wC ×hC are calculated. Then the areas overlapping fields 1101 and 1102, respectively, are calculated and compared to the overall area. The area overlapping field 1101 is determined by multiplying wC by the length of the line segment between points YC and n. This area, Area1101 (not shaded) is compared to the total area and is found to be less than 70 percent of the total area. Therefore, the threshold test is not met. Similarly, the shaded area overlying field 1102 is calculated by subtracting the length of the line segment between points YC and n from the height hC and multiplying the result by wC. This area is compared to the total area and is again found to be less than 70 percent, so the threshold test is not met.
At this point, the present invention determines the target field by determining the bounds of the individual strokes of the block of data and adding the areas overlapping one field and comparing that sum to the sum of the areas overlapping any other fields. The field with the largest area overlapped is the target field. This is illustrated in FIG. 11B. The bounds for the individual strokes are calculated and origins, widths and heights are calculated for each stroke. For example, bounds are determined for the letter g, and origin Xg, Yg, width wg and height hg are determined. By summing the areas overlapping field 1101 and comparing that to the sum of the areas overlapping field 1102, it is dear that the target field is field 1101.
A flow diagram illustrating the operation of the target scheme of the present invention is illustrated in FIG. 12. At step 1201, strokes are collected into a block of data. This is accomplished by executing the Y displacement and X displacement algorithms described previously. At step 1202, the bounds of the block are determined and values XC, YC, wC and hC are calculated.
At step 1203, the percentage of the bounded data block that overlaps any one field is compared to the overall area of the data block. The system then proceeds to decision block 1204. At decision block 1204, the argument "> than 70 percent of area overlapping one field?" is made. If the argument is true, the system proceeds to step 1205 and that field is identified as the target field. If the argument at decision block 1204 is false, the system proceeds to step 1206. At step 1206, a stroke by stroke analysis is performed. The analysis is performed by generating bounds for the individual strokes of the data block and comparing the sum of the areas overlapping one field with the sum of the areas overlapping other fields. At step 1207, the field with the largest overlap is identified. The system then proceeds to step 1205 and that field is identified as the target field.
After the center point Xcenter, Ycenter is determined, its coordinates are compared to the coordinates of fields and objects on the display. If the coordinates found within the boundaries of a field or object match the coordinates of the center point, that field or object is the target.
The present invention also implements a scheme for targeting gestures. As noted above, gestures are command strokes that direct certain operations, such as deleting a stroke or word, selecting text, etc. An example of several gestures is illustrated in FIG. 13. These gestures include an "X" often used for deleting text, and a ".check mark.". In the present invention, gestures may have "hot points". A hot point is an area of action of the gesture. Typically, the hot point of a gesture is positioned over the object or field to be acted upon. For example, the "X" has a hot point 1301 at the intersection of the X. The .check mark. has a hot point 1302 at the beginning of the checkpoint.
A flow diagram illustrating the targeting of the present invention with respect to gestures is illustrated in FIG. 14. At step 1401, a user makes a gesture on a computer system, the number of strokes on the gesture are determined and the argument "fewer than predetermined number of strokes?" is made at derision block 1401. In the preferred embodiment of the present invention, a gesture is three strokes or fewer. This is for purposes of example only, and other numbers of strokes can be used to describe gestures. If the argument at derision block 1401 is false, the system proceeds to block 1402 and the strokes are identified as something other than a gesture. If the argument at decision block 1401 is true, the system proceeds to step 1403. At step 1403, strokes are translated as a gesture. At decision block 1404, the argument "did it translate to a meaningful gesture?" is made. If the argument is false, that is, if the attempt of the translation of the gesture did not result in a known or understandable gesture, the system proceeds to step 1402 and the strokes are identified as not being a gesture.
If the argument at decision block 1404 is true, the system proceeds to step 1405 and all the overlapping fields of the strokes of the gesture are determined. At decision block 1406, the argument "how many overlapping fields?" is made. If the result of the argument is one field, then the gesture is targeted to that field at step 1408. If there are no overlapping fields, the system proceeds to step 1407 and the gesture is treated as a form gesture. If there is more than one overlapping field, the system proceeds to step 1409. At step 1409, the preferred direction for the particular gesture is determined. There is a preferred direction of operation for each gesture. This direction is stored in a table. For example, for a checkmark, this direction may be down and to the right. At step 1410, a test rectangle skewed in the preferred direction of the gesture is generated. At step 1411, the field overlap is calculated with the test rectangle. At decision block 1412, the argument "does one field have greater overlap?" is made. If the argument at decision block 1412 is true, the system proceeds to step 1413 and that field is defined as the target of the gesture. If the argument at derision block 1412 is false, the system proceeds to step 1414. At step 1414, a test rectangle skewed in the non-preferred direction is built. At step 1415, the overlap of the field of the gesture boundaries with the underlying fields is recalculated. At decision block 1416, the argument "does one field have greater overlap?" is made. If the argument is true, the system proceeds to step 1417 and the gesture is targeted to that field. If the argument at decision block 1416 is false, the gesture is ignored because of indeterminate targeting at step 1418.
A block diagram of the present invention is illustrated in FIG. 3. A writing instrument 103 is used to write data on the display 102 of computer 101. Information about the strokes of data are provided to identifying means 1501 on line 1500. The identifying means 1501 is used to determine blocks of data using the X displacement and Y displacement tests described previously. When a block of data is identified, it is provided on line 1502 to boundary generating means 1503. Boundary generating means 1503 is used to generate a rectangular boundary around the block of data.
The boundary information is provided to comparing means 1505 on line 1504. The comparing means compares the relative overlap of the boundaries of the block of data with the boundaries of potential target fields. The results of the comparison are provided to the target identifying means 1507 on line 1506. The target identifying means 1507 determines the target field based on the results of the comparison.
In the preferred embodiment of the present invention, the blocks within dashed line 1508 of FIG. 15 are implemented as a series of instructions on a microprocessor based computer system. An example of code that can be used to implement the present invention is illustrated in Tables 1, 2 and 3.
Table 1 illustrates code for use in implementing the splitting and targeting schemes of the present invention. Table 2 illustrates code for use in implementing gesture targeting and directional preferences. Table 3 illustrates code for determining whether to append strokes to prior strokes.
a target identifier for identifying one of said plurality of fields as said target field to be associated with said block of data by comparing overlap between said boundary of said block of data and said field perimeters of at least two of said plurality of fields.
2. The device of claim 1 wherein said display comprises a display of a computer system.
3. The device of claim 1 wherein said display is a pen sensitive display of a computer system.
4. The device of claim 1 wherein said data entering device comprises a pen.
5. The device of claim 1 wherein said data is comprised of one or more strokes.
6. The device of claim 5 wherein said block identifier can determine X displacement and Y displacement of a current stroke from a previous stroke.
7. The device of claim 6 wherein said boundary around said block of data comprises an origin having coordinates XC, YC, a width wC, and a height hC.
8. The device of claim 7 wherein said target identifier identifies said target field as a field overlapped by at least a first percentage of area of said boundary of said block of data.
9. The device of claim 8 wherein said first percentage comprises 70%.
10. The device of claim 5 further including a stroke boundary generator for generating a stroke boundary around each of said strokes.
11. The device of claim 10 wherein said target identifier identifies one of said plurality of fields as said target field based on a comparison of overlap between said stroke boundaries of said strokes and said field perimeters of said plurality of fields.
identifying one of said at least two of said plurality of fields as said target field to be associated with said block of data based on said comparison result.
13. The method of claim 12 wherein said step of providing a display comprises providing a display of a computer system.
14. The method of claim 12 wherein said step of providing a display comprises providing a pen sensitive display of a computer system.
15. The method of claim 12 wherein said step of entering said strokes comprises entering said strokes with a pen.
16. The method of claim 12 wherein said step of identifying said block of data comprises determining X displacement and Y displacement of a current stroke from a previous stroke.
17. The method of claim 16 wherein said block boundary comprises an origin having coordinates XC, YC, a width wC, and a height hC.
18. The method of claim 17 wherein said target field is defined as a field overlapped by at least a first percentage of area of said block boundary.
19. The method of claim 18 wherein said first percentage comprises 70%.
identifying one of said at least two of said plurality of fields as said target field by comparing overlap between said stroke boundaries of said strokes and said field perimeters of said plurality of fields.
a block identifier for identifying said block of data by determining X displacement and Y displacement of a current stroke from a previous stroke, by generating a boundary around said current stroke, and by comparing said boundary around said current stroke against a target of said previous stroke.
22. The device of claim 21 wherein said block identifier splits said current stroke from said previous stroke when there is at least a predetermined X displacement between said current stroke and said previous stroke.
23. The device of claim 22 wherein said predetermined X displacement is approximately 0.50 inches.
24. The device of claim 21 wherein said block identifier splits said current stroke from said previous stroke when there is at least a predetermined X displacement between said current stroke and said previous stroke and said boundary of said current stroke has an area more than 50% of which is contained in a target different than said target of said previous stroke.
25. The device of claim 21 wherein said block identifier splits said current stroke from said previous stroke when there is at least a predetermined Y displacement between said current stroke and said previous stroke.
26. The device of claim 25 wherein said predetermined Y displacement is approximately 0.15 inches.
27. The device of claim 21 wherein said block identifier further generates a Y center displacement between a center of said current stroke and a center of said previous stroke.
28. The device of claim 27 wherein said block identifier splits said current stroke from said previous stroke when said Y displacement is at least a predetermined value, said Y center displacement is at least a predetermined value, and said current stroke is not contained by an upper and lower bound of said previous stroke.
29. The device of claim 28 wherein said Y center displacement is approximately 0.25 inches.
30. The device of claim 27 wherein said block identifier splits said current stroke from said previous stroke when said Y displacement is at least a predetermined value, said Y center displacement is at least a predetermined value, said current stroke is not contained by an upper and lower bound of said previous stroke, and said boundary of said current stroke has an area more than 50% of which is contained in a target different than said target of said previous stroke.
31. The device of claim 21 wherein said display comprises a display of a computer system.
32. The device of claim 21 wherein said display is a pen sensitive display of a computer system.
33. The device of claim 21 wherein said data entering device comprises a pen.
34. The device of claim 21 wherein said data is comprised of one or more strokes.
identifying said block of said data by determining X displacement and Y displacement of a current stroke from a previous stroke, by generating a boundary around said current stroke, and by comparing said boundary around said current stroke against a target of said previous stroke.
36. The method of claim 35 wherein said current stroke is split from said previous stroke when there is at least a predetermined X displacement between said current stroke and said previous stroke.
37. The method of claim 36 wherein said predetermined X displacement is approximately 0.50 inches.
38. The method of claim 35 wherein said current stroke is split from said previous stroke when there is at least a predetermined X displacement between said current stroke and said previous stroke and said boundary of said current stroke has an area more than 50% of which is in a target different than said target of said previous stroke.
39. The method of claim 35 wherein said current stroke is split from said previous stroke when there is at least a predetermined Y displacement between said current stroke and said previous stroke.
40. The method of claim 39 wherein said predetermined Y displacement is approximately 0.15 inches.
41. The method of claim 35 further including the step of generating a Y center displacement between a center of said current stroke and a center of said previous stroke.
42. The method of claim 41 wherein said current stroke is split from said previous stroke when said Y displacement is at least a predetermined value, said Y center displacement is at least a predetermined value, and said current stroke is not contained by an upper and lower bound of said previous stroke.
43. The method of claim 42 wherein said predetermined value of said Y center displacement is approximately 0.25 inches.
44. The method of claim 41 wherein said current stroke is split from said previous stroke when said Y displacement is at least a predetermined value, said Y center displacement is at least a predetermined value, said current stroke is not contained by an upper and lower bound of said previous stroke, and said boundary of said current stroke has an area more than 50% of which is in a target different than said target of said previous stroke.
45. The method of claim 35 wherein said step of providing a display comprises providing a display of a computer system.
46. The method of claim 35 wherein said step of providing display comprises providing a pen sensitive display of a computer system.
47. The method of claim 35 wherein said step of entering data comprises entering data with a pen.


We specialise in providing the complete electrical package to our customers in Dorset and the UK, whether it is for commercial, domestic or industrial installations. Our reputation for quality and reliability is backed up by our membership of the National association of inspectors and testers (NAPIT) & checkatrade. These are nationally recognised trade bodies that monitor selected electrical contractors for compliance to regulations and standards.


The Days of Johann, an agility dog!: Gettin' the yard ready for winter!
Gettin' the yard ready for winter!
It's that time again, raking leaves, cutting back perennials, one last mow. Mum's been putting it off, but she just can't much longer. It's starting to get kind of cold out there. But this weekend's weather predictions indicate some warmer days, so hopefully she can get all the yard work done.
I love it when Mum works in the yard. One of my favorite things is playing in the leaves - they're wet, they're stinky, they're soft and smell sooooo good!
She could hire a company like pathway landscape to help with all the work, but we'd sure miss a really fun day!
oh Johann you look sooo handsome in them leaves. your mama is not gonna wash you now cos leaves smell so goood!


You are here: Home / Goods & Services / Curious About Floatation Therapy?
(UPDATED 2/18/17) Curious about floatation therapy? Well, so was I. When I saw a Groupon for Capitol Floats, located in the nearby Oak Park neighborhood, I decided then and there in a spur of the moment decision to give it a try.
The holidays (Thanksgiving, Christmas), out-of-state travel, etc. put my Groupon for Capitol Floats on the back-burner – until I received an e-mail reminder from Groupon about the upcoming expiration date. I immediately booked my "float" via the Capitol Floats website choosing the day and time that worked best for me. Capitol Floats has four floatation chambers and is open seven days a week – but the hours vary.
Capitol Floats is located at 3513 Broadway, across the street from The Plant Foundry. There is not much in the way of signage – only the door identifies the business and it is not readily visible from the street. Vibe Health Bar is next door to Capitol Floats on the right.
When I entered Capitol Floats I was greeted by a pleasant young woman. Since it was my first time there I filled out the required waiver. There is seating in the reception area and several of us were waiting our turn to float. After waiting a short while we were provided with an orientation on what to expect – along with some helpful advice.
We were advised to insert our earplugs before showering. It was also suggested that we take the small water bottle and wash cloth provided inside the float chamber just in case we got salt water in our eyes. Luckily I did not have that occur but I was glad to be prepared – just in case.
Each room contains a shower area adjoining the float chamber, a bench to place your clothes and belongings on, a robe (just in case you need to leave the float chamber to visit the bathroom facility down the hall during your session), as well as earplugs, towels, a head/neck floating pillow etc.
After entering the room, locking the door and disrobing, you take a shower prior to entering the float chamber. The chamber is quite roomy with a high ceiling. Within the chamber you have the ability to turn off the soft blue light, as well as to turn off the piped in music – which consists of soft melodic notes and tones. I opted to keep both the light and music on. I also chose to use the head/neck floating ring.
The salt (Epsom salts) water is body temperature – so I was neither cold nor overly warm.
After a few moments wondering if my earplugs were secure, etc. I consciously sought to banish specific thoughts and instead I concentrated on the musical notes and tones. At times I accompanied the music with the rippling sounds of water as I gently moved my fingers at the water surface.
We had been told that we would know when our session was nearing the end – the light and music would come on (if you had turned them off) and the music would become upbeat. I was therefore startled when the music abruptly stopped and was replaced by silence.
While I was sure that I had not dozed off, I became a bit alarmed and I quickly exited the float chamber knowing that one has only ten minutes to shower and dress after the end of the session.
As I started the shower I heard the music start up again – this time with the previously mentioned upbeat tempo. Bummer.
Capitol Floats has a post-float communal room available for clients to relax and extend the experience, and to engage in creative pursuits or have a cup of complementary tea if they so choose. Given the abrupt end of my session I was unfortunately not in a state of relaxation – so I decided to pass on the post-float room experience – although I noted there were several people doing so.
Will I try floatation therapy again? I think that I might now that I know what to expect. If I do, I think I will try it sans light and music and instead concentrate on my breathing to see how that may change the experience.
Comments on Capitol Floats or floatation therapy?
Have you tried floatation therapy? What has been your experience?
(UPDATED 2/18/2017) Additional information added.


We are open to only limited users with few early adopters and community members in selected cities.
Despite all the social media, there is no sure shot way of following every interesting story or the events happening in your neighborhood… stories that you might be interested in!
…because these stories are untold and quite frankly there is no medium that can get you all these updates from your neighborhood…. UNTIL NOW!
Discover – Discover the buzz around you in real time based on your interests and passions.
Buzz – buzz your moments and experiences with your friends and people of similar interests.
Buzzpad is a network built by users of your community and every event, news, updates, and activities happening around you are directly broadcasted by users on the ground in the real-time using their phones.
Buzzpad helps you make your voice heard every time you have a buzz to share! Be the voice of your community!
Our platform allows you to follow any number of buzzers (interests) and keep a tab on everything happening around you.
Just download our app and start discovering the buzz about your interests!
Explore your community like never before… with the all-new Buzzpad app!


The West Virginia State Fire Marshal's Office is investigating a deadly fire in the town of Clay that killed four children.
Investigators with the WV SFMO were contacted through the West Virginia Arson Hotline on Saturday, Jan. 12 of confirmed fatalities after a residential fire in the town of Clay. Upon examination of the scene, investigators have ruled the fire to be undetermined in cause but most probably accidental. There were smoke alarms in the home.
The gender and age of each victim will not be released until positive identification can be made by the Office of the Chief Medical Examiner.
The four children who died in the fire were in the foster care program according to the WV Department of Health and Human Resources (DHHR). DHHR notes that the initial home study revealed that the foster home had working smoke detectors, fire extinguishers and carbon monoxide detectors. An in-person visit by a DHHR worker was last made to the foster home in December 2018 and no issues were noted.


Wow, what a week and what a life-changing experience! A few weeks ago I went to my first "Burn". Tens of thousands people head to Burning Man each year which is an event dedicated to community, art, self-expression and self-reliance. If I could describe it in a sentence to anyone who hasn't been before I would say it's an adult pop up version of Disneyland – everything manages to overwhelm and amaze you at once.
It certainly was a once in a lifetime experience. From travelling the playa, exploring and discovering all the different forms of artwork on display and visiting the camps to meet people – you are seeing a completely different way of life. It felt like I had landed on another planet. Everyone was free, self-expressive and enjoying life. The best part of that was feeling I could completely be myself the entire time without judgement.
That being said – this desert "festival" (although more of a community) is something you need to come prepared for. Before I attended this event I didn't realize how extreme the conditions would be . There are frequent dust storms, it is hot and dry and it is freezing cold at night. Therefore you need to pack accordingly. Here is my list of the essentials you require for a successful "Burn" and to enjoy everything it has to offer.
The number one thing you don't want to bring is open shoes or heels. The playa is alkaline – which means if you expose your feet to the dust and conditions you will need vinegar to remove the alkalinity each night. Bring anything from covered boots, heeled platform boots, platform boots to enjoy the experience or even sneakers or platform sneakers. I dressed for comfort because you walk or bike around for hours at a time. The lighter and more comfortable the better.
This was something I was considering not taking because it wouldn't match my outfits and would be bulkycarry… However I cannot stress enough this is one of the most important things to bring with you. The desert is super dry, you are drinking and outside for hours at a time and the most important thing by far is to keep hydrated. Bring hydrate tablets with you to put inside it and keep your electrolytes up at all times. Other alternatives include a water reservoir that you can place inside your backpack (less to carry).
Don't forget either of these – one tinted for the sun and one clear! In addition to sunglasses, you will need to have goggles on you at all times (especially if you wear contact lenses). The dust storms start randomly and unexpectedly and you need to be able to pull them on. The clear ones are for when the sun goes down. I almost didn't bring these and I was so happy I did! I stuck some jewels on mine to match my outfits so they didn't look like safety goggles.
When the dust storms hit the second most important thing is a mask to cover your mouth and nose to prevent you from breathing the dust in and it getting in your lungs. I chose one with a filter that covered my mouth and nose and pulled a scarf on over the top (so along with practical I was fashionable). Therefore pick the best filter (even if it's the ugliest) and throw something cute over it when the storms hit!
You could never bring enough scarves to wrap around your face, neck and hair and cover you during the dust storms or protect you from the sun. If you wear your hair out the whole time keep in mind it is going to be covered in dust by the end of the trip and may be matted. Throwing a scarf around your head will prevent this from happening.
I packed two heavy fur jackets thinking I wouldn't need them but I used them both religiously every night and the one night I didn't I absolutely froze! Biking around in the desert after the sun is done it turns incredibly cold. Pack something to keep you warm during the nights and you will be thankful. If it has LIGHTS even better because when you are on your bike you want to be SEEN – so there is safety in brightness (bring additional batteries for it).
The only toilets on the playa besides your RV (if you have one) are portable toilets – and they get dirty! Bring some tissues and gel to throw in your backpack in case you need them.
This is great to flush the dust out of your nose when you need to. Squirt up some saline spray and blow it all out! Eye drops to flush any dust out.
Unless you are driving into Burning Man on an RV I highly suggest bringing a duffle bag. The whole purpose of Burning Man is to be self reliant – so if you bring a suitcase it is up to you to drag or carry it through the dusty playa and get to your camp. Pack light.
Never underestimate the power of having every single outfit you plan to wear in its own separate zip lock bag along with valuables, jewellery, technology… Dust will ingrain itself into every corner of your bag and possessions. Zip lock bags meant every day I had a clean outfit to wear and when I left and showered at a hotel I had an outfit to wear on my plane ride home and it felt amazing.
I didn't bring any old t-shirts or tracksuit pants to lounge around in at the camp and I wish I had of. When I just wanted to relax around the camp I craved tracksuit or pyjama pants to keep myself warm and comfy, especially at night.. A lot of what you bring will get covered in dust, hence the recommendation to bring old clothes.
Burning Man along with being a self reliant community is also a gifting experience. So be prepared to be given things and it's nice to be able to give items back in return. We brought sanitising wipes, lights for people who didn't have any, chewing gym etc.
Bring a backpack with you at all times and fill it up with your water reservoir, tissues, sunglasses, goggles, dust masks, antibacterial gel, phone, camera etc.
Since there are no exchanges of money at Burning Man (except for ice and coffee) you want to bring your own cup with you. I chose one with a lid and a straw which I wedged into my backpack. This meant when I visited the bars I was able to get drinks. A lot of them don't have cups to give out and you are meant to minimise waste so bring a reusable one you can travel around with. I washed it at the end of each night ready to go for the next day.
I'm gluten intolerant so I made sure I brought snacks such as almonds, protein bars and protein shakes to keep me going throughout the week in case there weren't options readily available. Since the meal times are usually at random times this turned out to be for the best.
Things to layer: I wish I would have brought more things to throw together with outfits such as holographic or black body harness sets, chain skirts, fishnet leggings in different colours or with jewels, garter belts, lace kaftans, chains, leg wraps, long socks.
Accessories: Statement headpieces, hats, goggles (steampunk), sunglasses, body jewels, chunky jewellery.
Light up everything! (This is really important at night for safety when you are biking).
Hope you enjoyed this post about surviving Burning Man! Please comment below and feel free to ask any questions you may have!


Get The Best Ideas of Home Interior Design about bathroom storage cabinet free standing grey%0a bathroom storage cabinet free standing grey%0a There are a lot of inspiration about home interior and house decorating ideas out there. But we try to give you some of our best photos gallery collection regarding bathroom storage cabinet free standing grey%0a that we get from various source. Hope you enjoy!


text:
HomeTechnologyBroadcom Corporation (NASDAQ:BRCM) Bounce Back Expected
Broadcom Corporation (NASDAQ:BRCM) Bounce Back Expected
Denver, CO 05/22/2014 (Stocksntrade) – On account of Broadcom Corporation (NASDAQ:BRCM) showing better performance in recent quarters, the share price has moved up by almost 10% in the last few months.
The company has seen a steady decline in their mobile business in the previous year and has already paid a heavy price on this account. The revenues have been lower by almost 1% year on year.
The revenue and operating numbers presented by the company in the last quarter suggested that Broadcom Corporation (NASDAQ:BRCM) had adapted suitable measures that helped them sail over the difficult times they had faced previously.
The latest quarterly balance sheet reflected a sharp turnaround in the company's performance that was far ahead of street expectations. Broadcom also performed much better than the guidance it had issued. The main segments for this improved growth were from the broadband and infrastructure sectors.
This growth has been made possible by the implementation of the latest technologies available. This can include up gradation to the benefits accrued from the VDSL platform that has the potential to provide faster connections for domestic users.
There is also the4 strong possibility that Broadcom's set-top business was to gain substantially on account of the inclusion of the video coding (HEVC) service that will be provided. This has the potential to drive revenues mush higher on its own accord. Besides, the Ultra-HD Video side of their business would grow significantly on increased demand as a consequence.
Other Profitable Areas
Mobile banking services is another profitable sector where Broadcom Corporation (NASDAQ:BRCM) can offer its services and play a significant role here. The new mobile phones from the Samsung stable, such as the Galaxy Gear and the Galaxy Fit. These are compatible with the Broadcom chips that increase their versatility.
In addition, Broadcom has launched their LTE new technology products which are expected to be highly profitable for the future. Besides, some of these products are designed to cater to the huge Chinese market
Broadcom Corporation (NASDAQ:BRCM) also stands to gain substantially from the new launches from Apple, who are expected to come out with the iPhone 6 in August. Additionally, Apple has very aggressive plans of producing more than 80 million handsets in the coming year, which would be very beneficial to the future prospects of Broadcom.
Legal Notice: This work is based on what we've learned as financial journalists. It may contain errors and you should not base investment decisions solely on what you read here. It's your money and your responsibility. Nothing herein should be considered personalized investment advice. Although our employees may answer general customer service questions, they are not licensed to address your particular investment situation. Our track record is based on hypothetical results and may not reflect the same results as actual trades. Likewise, past performance is no guarantee of future returns. Don't trade in these markets with money you can't afford to lose. Investing in stock markets involves the risk of loss. Before investing you should consider carefully the risks involved, if you have any doubt as to suitability or the taxation implications, seek independent financial advice. StocksnTrade expressly forbids its writers from having a financial interest in their own securities or commodities recommendations to readers. Such recommendations may be traded, however, by other editors, StocksnTrade, its affiliated entities, employees, and agents, but only after waiting 24 hours after an internet broadcast.
(c) 2018 StocksnTrade. All Rights Reserved. Protected by copyright laws of the United States and treaties. This Newsletter may only be used pursuant to the subscription agreement. Any reproduction, copying, or redistribution, (electronic or otherwise) in whole or in part, is strictly prohibited without the express written permission of StocksnTrade. See site disclaimer for compensation.
Tags:Broadcom Corporation (NASDAQ:BRCM)NASDAQ:BRCM

redpajama_set_name: RedPajamaCommonCrawl


There are few things I love more in this life than brunch.
And I especially love finding a new brunch spot that serves brunch every. single. day.
My newest favorite? Café Robey in the newly opened Wicker Park hot spot hotel The Robey. The restaurant has a very fresh café-esque vibe that's bright and minimal. With wall-long windows on all sides. And plenty of lovely marble tables to dine at.
All with a view of the bustling Damen / Milwaukee intersection. Grab a seat and peruse the short-but-sweet menu of brunch and breakfast items.
Like Smoked Salmon Benedict (dying to come back to try this) and Orange French Toasted with braised apples. First things first, I always start brunch out with a giant mug of black coffee. Which was rich in flavor and perfect when paired with… Robey's Pain au Chocolat which has to be one of the most beautifully executed pastries I've had in quite a while. Flaky, crumbly, and with the perfect amount of rich chocolate. Beware though, yours will disappear faster than you care to admit.
But make sure to save room for an actual brunch dish too!
Like this chunky-take on Avocado Toast with chili and pickled red onion. It was so good my skeptical husband finished the plate! But if you can, be sure to try this magnificent bowl of Turkish Eggs. Until recently I'd never even heard of Turkish Eggs and now I see them popping up everywhere on menus all over the city.
A delicate poached egg set atop whipped greek yoghurt and drizzled with brightly spiced butter.
Break the yolk… And mix it all together for a healthy and delicious combination to dip thick toast into.
While the service at Café Robey can feel a little aloof, the beautiful space and delicious options make this one of my new go-to breakfast spots for a healthy, Instagram-worthy meal. And you have to bet the next time I'm there I'll be ordering one, if not two, pain au chocolats for the road.


Giving the Real Estate sector in South Australia peace of mind through timely, trusted, and accurate preparation of Form 1s for Agents and Vendors alike.
Eckermann Forms relieves the burden of Form 1 preparation and certification, so you can concentrate on marketing properties and facilitating transactions for your clients!
By using Eckermann Forms, you can rest assured you have specialists preparing your Form 1s, instead of risking the serious consequences of defective documents.
Eckermann Forms, established in 2010, has become the leader in Form 1 preparation.
Where necessary, our clients have access to the support and experience of Eckermann Lawyers to ensure accuracy and attention to detail, no matter what the transaction.
Working with Eckermann Forms means you also have the support of Adelaide's leading conveyancing firm, Eckermann Conveyancers.
Eckermann Forms has a large number of specialised Form 1 staff members, so there is no reliance on a single person or a few key people, ensuring our quality service is delivered all year round without interruption or delay. It all starts with our Portal.
Here are our sister companies who offer the same degree of expert support and care for their clients.
Contact Eckermann Forms today and we will be in touch to help advise and guide you with your Form 1 preparation needs.


It is always a great joy to see people getting better and getting well. It is humbling to be a witness to this process and provide some help and comfort along the way.
Tropical Diseases and Medicine as practiced in austere environments.
I enjoy serving as a consultant for an aid organization which is providing clean water and sanitation education in East Africa. I am also addicted to international travel.


text:
Help Changelog Contact Credits
artistic movement
A group of artists who agree on general principles (synset 108483654)
hypernym: front, movement, social movement - a group of people with a common ideology who try together to achieve certain general goals
hyponym:
abstract expressionism, action painting - a New York school of painting characterized by freely created abstractions; the first important school of American painting to develop independently of European styles
ash can, ashcan school - early 20th-century United States painting; portrays realistic and sordid scenes of city life
impressionism - a school of late 19th century French painters who pictured appearances by strokes of unmixed colors to give the impression of reflected light
pop art - a school of art that emerged in the United Kingdom in the 1950s and became prevalent in the United States and the United Kingdom in the 1960s; it imitated the techniques of commercial art (as the soup cans of Andy Warhol) and the styles of popular culture and the mass media
ashcan school, eight - a group of United States painters founded in 1907 and noted for their realistic depictions of sordid aspects of city life
pointillism - a school of painters who used a technique of painting with tiny dots of pure colors that would blend in the viewer's eye; developed by Georges Seurat and his followers late in 19th century France
art deco, deco - a style of design that was popular in the 1920s and 1930s; marked by stylized forms and geometric designs adapted to mass production
art nouveau - a French school of art and architecture popular in the 1890s; characterized by stylized natural forms and sinuous outlines of such objects as leaves and vines and flowers
avant-garde, new wave, van, vanguard - any creative group active in the innovation and application of new concepts and techniques in a given field (especially in the arts)
constructivism - an abstractionist artistic movement in Russia after World War I; industrial materials were used to construct nonrepresentational objects
suprematism - a geometric abstractionist movement originated by Kazimir Malevich in Russia that influenced constructivism
cubism - an artistic movement in France beginning in 1907 that featured surfaces of geometrical planes
dada, dadaism - a nihilistic art movement (especially in painting) that flourished in Europe early in the 20th century; based on irrationality and negation of the accepted laws of beauty
expressionism - an art movement early in the 20th century; the artist's subjective expression of inner experiences was emphasized; an inner feeling was expressed through a distorted rendition of reality
fauvism - an art movement launched in 1905 whose work was characterized by bright and nonnatural colors and simple forms; influenced the expressionists
futurism - an artistic movement in Italy around 1910 that tried to express the energy and values of the machine age
hudson river school, romantic realism - the first coherent school of American art; active from 1825 to 1870; painted wilderness landscapes of the Hudson River valley and surrounding New England
imagism - a movement by American and English poets early in the 20th century in reaction to Victorian sentimentality; used common speech in free verse with clear concrete imagery
lake poets - English poets at the beginning of the 19th century who lived in the Lake District and were inspired by it
luminism - an artistic movement in the United States that was derived from the Hudson River school; active from 1850 to 1870; painted realistic landscapes in a style that pictured atmospheric light and the use of aerial perspective
minimal art, minimalism, reductivism - an art movement in sculpture and painting that began in the 1950s and emphasized extreme simplification of form and color
naturalism, realism - an artistic movement in 19th century France; artists and writers strove for detailed realistic and factual description
neoromanticism - an art movement based on a revival of Romanticism in art and literature
new wave, nouvelle vague - an art movement in French cinema in the 1960s
secession, sezession - an Austrian school of art and architecture parallel to the French art nouveau in the 1890s
surrealism - a 20th century movement of artists and writers (developing out of dadaism) who used fantastic images and incongruous juxtapositions in order to represent unconscious thoughts and dreams
symbolism - an artistic movement in the late 19th century that tried to express abstract or mystical ideas through the symbolic use of images
synonym: art movement
Rhyme: Dillfrog, RhymeZone
Definition: Wiktionary, Dictionary.com, Wikipedia, Merriam-Webster, WordNet
Imagery: Google, Flickr, Bing
v0.91 (sep 21) | credits | Like the site? Please tell a friend!


text:
Q: Better way to return boolean I wrote this wanting to match if a string matched a string inside an array. using find() it returned the match but I just wanted a boolean so i wrote an if statement. Any tips or hints on how to rewrite this cleaner to get a boolean?
the prop watchName comes from a map() of data of watches in inventory
.map(watch => (
            <WatchItem
              isInCart={this.isInCart(watch.name)}
.....

.
isInCart = watchName => {
  const hasMatch = this.props.cart.find(watch => watch.item === watchName);
  if (hasMatch) {
    return true;
  } else {
    return false;
  }
};

To get better idea of whats inside this.props.cart i added it below
It is an array of objects. The picture shows index[0] and index1 the added cart item

I will read mdn docs again but thought be good to post in case someone can quickly answer.
Advice appreciated.

A: You can use Array.prototype.some instead, which checks whether any element in an array satisfies a condition, and returns a boolean:
isInCart = watchName => this.props.cart.some(watch => watch.item === watchName);

A: Return it directly. Use a double negation !! or just wrap it inside Boolean.
isInCart = watchName =>
  !!this.props.cart.find(watch => watch.item === watchName);

either
isInCart = watchName =>
  Boolean(this.props.cart.find(watch => watch.item === watchName));

A: You can use this too
  isInCart = watchName => this.props.cart.includes(watchName);

redpajama_set_name: RedPajamaStackExchange


text:
Q: Erlang error in process with exit value undef Ive been trying to write a simple concurrency exercise in Erlang that invlolves communicating across different terminals/shells.
However this error appears everytime I run init_chat() and entering my name.

=ERROR REPORT==== 15-Nov-2021::08:13:11.849169 === Error in process <0.91.0> on node kei@osboxes with exit value:
{undef,[{chat,chat_handle,"Jeano",[]}]}

I have no idea what I'm doing wrong.
The whole program:
-module(chat).
-compile(export_all).

init_chat() ->
    In = io:get_line("Name please: "),
    Name = string:trim(In),
    register(chat_handle, spawn(chat, chat_handle, [Name])).

chat_handle(Name) ->
    spawn(chat, message_handle, [Name]),
    receive
        {message, Sender, Message} ->
            io:format("~p: ~p", [Sender, Message]),
            chat_handle(Name);
        {dc, Sender} ->
            io:format("~p Has disconnected. ~n", [Sender]),
            chat_handle(Name);
        quit ->
            io:format("Disconnecting... ~n"),
            erlang:halt()
    end.

message_handle(Name) ->
    Message = io:get_line("You: "),
    if
        Message == "bye/n" ->
            disconnect(nodes(), Name);
        true ->
            send_message(nodes(), Name, Message)
    end.

send_message([Head | Tail], Name, Message) ->
    {chat_handle, Head} ! {message, Name, Message},
    send_message(Tail, Name, Message);
send_message([], Name, Message) ->
    message_handle(Name).

disconnect([Head | Tail], Name) ->
    {chat_handle, Head} ! {dc, Name},
    disconnect(Tail, Name);
disconnect([], Name) ->
    {chat_handle, node()} ! quit.

A: The error message says {chat,chat_handle,"Jeano", ... (which is missing list brackets around the string) but your code actually says spawn(chat, chat_handle, [Name]), which looks correct, so I think you just haven't reloaded the recompiled version of the module.


text:
A Cheerleading Squad's Dads Do an Entire Routine for Their Families
A group of dads in Iowa wanted to honor their cheerleader daughters who were headed off to a national competition. So, during a sendoff on Friday they surprised them by performing an entire cheerleading routine.
But there's a second part to the story. One girl's father couldn't be there because he's deployed overseas . . . so each of the dads gave her an American flag, and then a bouquet of flowers.
And then it got even better when they showed the girl's dad on a giant video screen with his National Guard unit in the Middle East. He apologized for not being with her, and then joined his unit as THEY all performed a cheerleading routine.
(And here's a news report that shows the dads giving the girl flags, plus her father and his National Guard unit doing the cheer routine.)


We're pleased to announce that a German translation of our JTBD cards is now available from us. They have been translated by Eckhart Boehme from Mainz, Germany and we're grateful for all the hard work he has put in. They look and feel just as good in German as they do in English and we're pleased that even more people can experiment with learning to interview customers using the Jobs To Be Done framework.
JTBD-Karten:Lernen She, Kunden zu befragen can be ordered directly from us and shipped from Singapore.
Previous Post How do you compare large numbers of items in Google Trends?


text:
Sarah grew up in Wyoming, and graduated from the University of Wyoming. She has often attributed her painting style to life at high altitude. Her colors are crisp and bold, her lighting is dramatic, just like the landscapes and wildlife she has spent her life watching. Sarah now lives high in the mountains of South Central Colorado with her husband and two daughters. It is an area of sparse population and incredible scenic beauty. Their home lies in one of Colorado's richest and most diverse wildlife areas for elk, deer, pronghorn, bighorn sheep and black bear. Her high altitude painting style has earned her numerous awards and recognition. She was called one of the most promising young wildlife artists in the country by Stephen Doherty, editor of "American Artist". She has been awarded both the Founders Favorite and the Juror's Choice awards at the Arts for the Parks competition. Her paintings are in the permanent collection of the Leigh Yawkey Woodson Art Museum, the Bennington Center for the Arts and the Environmental Defense Fund.
B.F.A., University of Wyoming
• A.R. Mitchell Museum of Western Art,One Woman Retrospective Exhibition,Trinidad, CO 2008
• National Museum of Wildlife Art, Western Visions, Jackson, WY, 1993-2014
• Old West Museum, Cheyenne Frontier Days, Cheyenne, WY, 1992-2016
• Leigh Yawkey Woodson Art Museum, Birds in Art, Wausau, WI, 1989, 1998, 2003, 2007
• Leigh Yawkey Woodson Art Museum, Wildlife: The Artist's View, Wausau, WI, 1993
Leigh Yawkey Woodson Art Museum, Natural Wonders, Wausau, WI, 1997
Bennington Center for the Arts, Grand Opening Featured Artist, 1993
• Bennington Center for the Arts, Art of the Animal Kingdom, Bennington, VT, 2001, 2002, 2005
• Arts for the Parks, Jackson Hole, WY, 1987, 1988, 1993, 1994, 1995, 1996, 2006
• Society of Animal Artists, The Wildlife Experience, Parker, CO, 2008
• Colorado Governor's Invitational Show, Loveland, CO, 2008
• Sangro de Cristo Art Center, Representing the West, CO, 2007
Desert Caballeros Western Museum, Cowgirl Up, Wickenburg, AZ, 2009
• Sangre Art Fest, People's Choice Award, Westcliffe, CO, 2012, 2014
• Arts for the Parks Juror's Choice Award
• Arts for the Parks, Founder's Favorite Award
Colorado Duck Stamp
• Leigh Yawkey Woodson Art Museum, Wausau, WI
• Bennington Center for the Arts, Bennington, VT
• Environmental Defense Fund
• Colorado State University
• Erivan & Helga Haub Family
Gallery Affiliations
Trailside Galleries--since 1987
Broadmoor Galleries--since 2009


With the number of LED options available today, you may feel stuck by indecision when it comes to updating the lighting for your facility. Here are three basic tips to follow when it comes to retrofitting your lighting. Today let us talk about tips 03: considering the scenario you are facing.
If you're an overall savings hunter, current prices on PCA LED lights or SMD LED items are a great retrofit option. From general lighting to accent lighting, current LED retrofit lamps will last upwards of 25,000 hours, carry a two to five year warranty, and provide exceptional energy savings. You may also consider an LED fixture, which will generally give the greatest total savings.


We are all Beings of Light moving through Time in a Cosmic Dance...and the Dance becomes more and more complex as Human awareness expands. This piece was created in a mixed medium of watercolor washes, ink drawn renderings, and digital layering. You will notice thousands of hand-drawn circles, in circles, inside circles....I used way too much color and I wanted to go deep with this image.


text:
You are here: Home > Courts/Law > Current Article
[REGIONAL NEWS] Jeffrey Epstein registered as a sex offender in 2 states. In New Mexico, he didn't have to.
Jeffrey Epstein's property in New Mexico,/ Credit Ramsay de Give for The New York Times
By Simon Romero and Nicholas Kulish | The New York Times
STANLEY, N.M. — Jeffrey Epstein, the New York financier, managed to evade federal prosecution a decade ago in a Florida sex case involving dozens of teenage girls, in part by agreeing to register as a sex offender. But for a man with many residences, and many high-powered lawyers, registering as a sex offender was not the blanket penalty it might seem.
He did register in Florida, where he pleaded guilty to two state felony charges. But in New York, where he owns one of Manhattan's most expensive mansions, he managed to avoid check-ins with the authorities by changing his official residence to the Virgin Islands. And in New Mexico, where he owned a palatial residence south of Santa Fe, he was able to avoid inclusion in the state's registry entirely.
That state's relatively cursory investigation took into account only a police report which indicated, the authorities said, that the underage victim in the case to which Mr. Epstein pleaded guilty in 2010 was 17 — the age of consent in New Mexico — though the girl whose report launched the investigation against him was just 14.
Published: 7 days ago on July 12, 2019
Filed Under: Courts/Law
Tagged With: Jeffrey Epstein
Former legislator won't be charged in lobbying law investigation
Environmental groups sue to block oil/gas leases near Petrified Forest in Arizona