text:
This invention concerns an interactive interface description tool that uses an interpreted language in which both the data and the programs have a similar representation, This tool also has an interpreter that is embedded with the interface description program, This interpreter consists of a mixture of "C" language and interpreted language instructions and uses a library ("X/MOTIF") of interactive command objects ("widget") and a library of graphical objects ("GO").
1. An interactive interface description tool comprising:
a library of interactive objects;
a library of command objects;
a library of graphical objects;
an interface description program enabling the generation of an interface;
an interpreted language; and
an object oriented interpreter for said interpreted language embedded within said interface description program wherein said interface description program works with said library of interactive objects, said library of command objects and said library of graphical objects and wherein dynamic behavior of the interactive objects is defined by a set of call back procedures written in said interpreted language that designate application functions called by said library of command objects upon receipt of an entry flag by one of the interactive objects of said library of interactive objects, wherein said interactive interface description tool further comprises a program that allows a user to display a base menu for invoking an edit function, a create function and a geometry function, wherein the edit function allows the user to edit interactive object attributes in a separate window, as well as edit attributes of respective interactive parent objects, and wherein the edit function allows the user to display an editing window for interactive object attributes, said window divided into two areas, a first of said areas including called functions of a callback application procedure, and a second of said areas including attributes displayed by a set of sub-editors associated with said edit function.
2. The interactive tool described in claim 1, wherein said interface description program consists of a mixture of C language instructions and interpreted language instructions.
3. The interactive tool described in claim 1, wherein the interpreter contains an incremental garbage collector using reference counters, wherein the garbage collector periodically and in a cyclic manner scans memory for unused objects whose space can be reused, and uses a mechanism that sorts objects by size in order to limit memory fragmentation.
4. The interactive tool described in claim 1, wherein interactive tool functions are described as an interpreted program.
5. The interactive tool described in claim 1, wherein appearance characteristics of said interactive objects, said command objects and said graphical objects of said interface are provided in a file which is independently editable and which is interpretable by said interpreter.
6. The interactive tool described in claim 1, wherein each of said interactive objects identified by a respective object in said interpreted language has supplementary attributes directly attached to said respective interpreted language object.
7. The interactive tool described in claim 1, wherein each object in the interpreted language is an autotyped structure written in the C language that contains object type and reference counter information.
8. The interactive tool described in claim 1, wherein a unique identifier is assigned to each of said interactive objects in the interpreted language in an incremental manner.
9. The interactive tool described in claim 1, wherein the create function allows the user to create an interactive object using a create menu to install said interactive object of the type chosen in a selected interactive object container.
10. The interactive tool described in claim 1, wherein said geometry function allows the user to control geometry of a set of selected interactive objects that can be aligned to a top edge, to a bottom edge, to a right side, to a left side or to have an identical width and height.
11. The interactive tool described in claim 1, wherein a first sub-editor of said set of sub-editors has a toggle switch used to enter boolean attributes.
12. The interactive tool described in claim 1, wherein a second sub-editor of said set of sub-editors has a push button that displays a menu, said menu displaying lists of enumeration values.
13. The interactive tool described in claim 1, wherein a third sub-editor of said set of sub-editors includes a text area for text and numerical value entry.
14. The interactive tool described in claim 1, wherein said edit function for interactive objects and for interactive parent objects is activated by selection of a "select parent" menu and an "edit attribute" function.
15. The interactive tool described in claim 9, wherein a mouse click in an interactive object container of a certain type results in installation of an object of the type chosen in the interactive object container.
16. The interactive tool described in claim 1, wherein the edit function enables cutting, pasting, copying, and duplicating of a selected interactive object.
17. The interactive tool described in claim 12, wherein said enumeration values comprise text alignment information.
18. The interactive tool described in claim 9, wherein the create function allows the user to choose between objects available in the library of command objects, which include selecting from the group consisting of: buttons, a container type object, an elaborated object, a simple object, a message type object, a dialogue type object, a menu type object and a container type object.
19. The interactive tool described in claim 18, wherein the selection of the container type object opens a second menu in which the user can select attributes from the group consisting of: maximum level, shell, override shell, transient shell, top level shell and application shell.
Cross reference is made to Rule 371 application, PCT/FR93/00749, filed Jul. 21, 1993.
This invention is related to interactlve user-interface description tools using an embedded interpreted language.
Interactive software has very specific constraints. The most important limitation is that they can be changed very often. In fact, for ergonomic reasons, it is difficult to develop programs that are user-friendly and ready for marketing in a single try. The first version is almost always a failure and needs numerous revisions and modifications.
Moreover, it may be desirable or necessary to change the way an operation is activated by adapting it to a different context or to a different user.
Finally, a good program that uses a bad interface can expect to have mitigated commercial success.
The purpose of this invention is to define an extremely flexible interface development tool that can be used regardless of the application. For example, this interface has been developed for UNIX systems using X/WINDOW and X/MOTIF which are registered trademarks of M.I.T. and the Open Software Foundation respectively.
This goal is attained because the interactive interface description tool uses a LISP-type interpreted language and because the. interpreter (WOOL) is embedded with the application's interface description program and with the application produced.
Another feature of this invention is that both the data and the programs have a similar representation.
Another feature of this invention is that the description program contains a library "X/MOTIF" of interactive command objects "Widgets" and a library of graphical objects "GO".
Another feature of this invention is that the application program consists of a mixture of instructions. Some of these instructions are written in the C language. C is a high-level portable assembler that manipulates objects. The other instructions are written in an interpreted language.
Another feature of this invention is that the interpreter is object-oriented in the LISP language.
Another feature of this invention is that the interpreter uses arrays.
Another feature of this invention is that the interpreter kernel is organized as a two-dimensional matrix. The first dimension contains the lists, the strings and the numbers. The second dimension contains the selector with functions such as "eval, print, free, add, . . . ".
Another feature of this invention is that the WOOL interpreter includes a garbage collector (GC) that periodically scans the memory for unused objects whose space can be reused. This is accomplished without interrupting use of the interpreter.
Another feature of this invention is that the garbage collector (GC) is incremental.
Another feature of this invention is that the garbage collector uses reference counters and a mechanism that sorts the objects by size in order to limit memory fragmentation.
Another feature of this invention is that the functions of the interactive tool are described using an interpreted program.
Another feature of this invention is that storage of the interface format is edited and executed in the same manner as a WOOL program.
Another feature of this invention is that the interactive assembly geometry specification of these objects is translated into a file that is used by an application and can be stored on disk. This file will contain the user-interface format in the form of a WOOL language program.
Another feature of this invention is that the dynamic behavior of the interactive objects ("widgets") is defined by a set of callback procedures written in the "WOOL" language. These procedures designate the application functions called by the "X/MOTIF" toolkit when an entry flag is received.
Another feature of this invention is that the interface description program can be expanded by adding other "widget" classes. These classes can be added by describing the new attribute types of each class in the WOOL language so that the new "widgets" can be edited.
Another feature of this invention is that each "widget" is indicated by a "WOOL" object of the "WOOL" class that corresponds to the "widget's" class. Supplementary attributes are attached directly to the "WOOL" object.
Another feature of this invention is that each WOOL object is an auto-typed structure written in the C language containing the object type and the reference counter information.
Another feature of this invention is that a unique "WOOL" identifier is assigned to each interactive object "widget" in an incremental fashion.
Another feature of this invention is that the interactive interface description tool "EGERIA" includes a program that allows a base menu to be displayed. This menu contains an editing function "edit", a creation function "create" and a geometry function "geometry".
Another feature of this invention is that the creation function "create" allows the user to create any "widget" from a menu. After selecting a menu line, the shape of the cursor changes and by clicking the mouse on an interactive object container "widget container", the object type that is selected in this interactive object container will be installed.
Another feature of this invention is that the editing function "edit" allows the user to edit the attributes of a "widget" in a separate window. The user can cut, paste, copy or duplicate the set of selected "widgets" as well as edit the attributes of parent "widgets" of a selected "widget" or make the parent of a currently selected "widget" the new selected "widget".
Another feature of this invention is that the geometry function "geometry" allows the user to control the geometry of a set of selected "widgets". These "widgets" can be aligned to the top, to the bottom, to the right side, to the left side or have identical heights or widths.
Another feature of this invention is that the editing function allows the user to display a "widget" attribute editing window that is divided into two sections. One section includes the functions that are called from the application of callback procedures and the other contains the attributes created by a set of sub-editors.
Another feature of this invention is that the first sub-editor consists of a toggle button used to enter boolean attributes.
Another feature of this invention is that the second sub-editor consists of a push button that displays a menu containing lists of enumerated-type values (ex. alignment of a text to the left, to the right or in the center).
Another feature of this invention is that the third sub-editor consists of a text area where text or numerical values are entered.
Another feature of this invention is that the editing function of MOTIF-type interactive objects "Shell widgets" represents a first-level window (X/Windows) and is activated by selecting the "select parent" menu and then the "edit attribute" function.
Other characteristics and advantages of this invention will become evident in the following explanations and descriptions. These descriptions are aided by the enclosed drawings in which:
FIG. 1A is a schematic representation of the architecture of the interface description software;
FIG. 1B is a schematic representation of a kernel structure of the interface description software of FIG. 1A;
FIG. 2 represents the main window that is displayed by the software of FIG. 1A in order to describe an interface;
FIG. 3 represents a window that is displayed by the software of FIG. 1A that allows the shape of an object to be edited;
FIGS. 4A and 4B represent windows that are displayed by the software of FIG. 1A that allows the attributes of an interactive object and the callback procedures to be edited; and
FIG. 5 represents the window defined by an application that is unique to the interface description software of FIG. 1A.
The interactive interface description tool "EGERIA" illustrated in FIG. 1 contains:
an editor that allows the user to create or modify an interface (10),
an interpreter library "WOOL.LIB" (11) that uses link editing with the application to produce the complete application,
an editor library "Edit. LIB" (12) that uses link editing with the application code to produce an editor that enables real-time execution of the application functions. These two libraries "WOOL.LIB" and "Edit. LIB" are both provided in the "libEg.a" library.
In order to function, this interactive description interface (10) must be associated with a library of interactive command objects (called command object toolbox "X/MOTIF" (20) in the UNIX environment) and a graphical object toolbox that includes a library of graphical objects "GO" (21). This powerful library is written in the C++ language and provides graphic functions that are not available in the UNIX environment at this time. This library also allows the user to create and control rectangles, ellipses, polygonal lines, images and text that can be edited in several fonts.
The description tool also includes a library "Xlib" (3) consisting of a protocol layer specifying the information flow coding that cycles between the application, the windowing server and the library layer containing the program interface. This allows the user to access the windowing system.
EGERIA (10) covers the format layer that describes a set of objects in an interface in a static manner. In other words, it describes their hierarchy, their attribute and the dialogue layer. This layer describes the dynamic aspect of the interface's behavior.
Finally, a supplementary layer (5) is formed by the application. This layer includes the semantic layer container and does not include the interface in the application.
The "WOOL.LIB" (11) interpreter is a small LISP interpreter written in the C language. In this interface, memory is controlled by a reference counter. This counter uses internal-typing that sends messages conforming to an object-oriented approach in order to verify the type and activate the procedure.
The interpreter provides a set of database types such as atom, list, whole number, real number and character string.
The "WOOL.LIB" (11) interpreter uses arrays to store lists in order to accelerate list scanning.
This set of base types is expandable because a new base type such as a "widget" can be introduced. The new base type will allow the user to manipulate "MOTIF" objects in "WOOL".
As illustrated in FIG. 1B, each "WOOL" object consists of a header. This header points to the reference counter (Ref Cnt), to the class corresponding to the object's type (31) as well as to other information (attributes) depending on the type of object. Each "widget" object is assigned an identifier in an incremental manner.
Each widget that is created by EGERIA is assigned a unique identifier such as "@000012@".
The uniqueness of this identifier is guaranteed throughout the EGERIA session. If these references are used in "WOOL", for callback text that is attached to the widgets, a save (or a cut) followed by a restore (or a paste) will preserve the mutual coherence of the references. However, if the mutual references are produced in "WOOL" using atoms, an atom will have only one value and the two callbacks will refer to the same widget.
The use of unique widget identifiers in the dialogue code allows the user to construct windows whose behaviors can easily be duplicated. For example, the behaviors can be duplicated using an interactively edited window with a button and text. The callback assigned to the button is the following:
(on XmNactivateCallback (widget) (widget-unmap @00002@))
When the button is pressed during execution mode, the text disappears. The purpose of the "unmap" command is to make the widget specified by its argument invisible.
If the window is duplicated during a cut/paste operation, the behavior will also be duplicated and EGERIA changes the callback code assigned to the duplicated button as follows:
(on XmNactivateCallback (widget) (widget-unmap @00005@))
where @00005@ is the unique identifier generated by the duplicated text.
This procedure allows the user to avoid having to manually change the callback code during an application.
The object type allows the user to access a class (110) containing a list of methods in the "WOOL" interpreter kernel (WOOL KERNEL). Each method is a function such as "Print". Thus, the "Print" function of an object will be adapted to the type of object processed. Classes consist of the matrix array columns shown in FIG. 1B and the array's line methods. The list of methods is embedded in the WOOL.LIB interpreter. In other words, it is released using the editor (refer to Appendix 6).
In the "WOOL.LIB" (11) interpreter, an atom can only have one value, while in traditional LISP languages, a variable and a function can be given the same name without conflict.
This interpreter uses a set of "Lisp" primitives that are easily expandable.
Finally, the "WOOL.LIB" interpreter is written in an object-orientated manner and the objects are classified or typed internally by the interpreter.
Another characteristic of the interpreter is that it is re-enterable. This means that a function that is activated by it can reactivate an interpretation that will have access to the same WOOL data stack.
A garbage collector, formed using the old reference counting method, required additional precaution when the auto-referencing structures were created. The "WOOL.LIB" interpreter includes a garbage collector (GC) that periodically and in a cyclic manner, scans the memory for unused objects whose space can be reused. This is accomplished without interrupting use of the interpreter. This garbage collector (GC) is incremental. The garbage collector uses reference counters which allow any size object to be allocated and a mechanism that sorts the objects by size in order to limit memory fragmentation.
The "WOOL.LIB" interpreter activates a garbage collector (GC) that allows unused memory to be automatically recuperated. Because of this, the programmer does not need to worry about assigning or unassigning objects that are used. This type of system makes more rapid programming possible because the programs do not have to contain code that can be laborious to create or to verify and which usually concerns memory management.
The "WOOL.LIB" garbage collector is incremental in that it operates continuously and on low data volumes. However, traditional garbage collectors are only called occasionally in order to recuperate a large volume of memory. In this case, the period during which the garbage collector (GC) is active translates into a perceptible pause in the program currently being interpreted. This can be very inconvenient for the user of an interactive program. An incremental garbage collector (GC) guarantees that interpretation takes places smoothly. The increase in speed is due to the fact that the garbage collector (GC) is uniformly divided by the execution set of the interpreted program.
The incrementation characteristic of the "WOOL.LIB" garbage collector (GC) is obtained by:
maintaining a reference counter for each object assigned. This object will not be released until this counter reaches zero.
considering that the majority of the assigned objects are, in fact, unassigned very rapidly after their creation. After all of the instructions contained in a sequence of expressions have been executed, a special area is scanned to find such objects at regular intervals.
The names that EGERIA gives to the "X/MOTIF" widgets are compatible with the conventions imposed by X/Windows and X/Motif. This allows the interface to be divided into parameters (default file X, option to run programs).
The coding in EGERIA contains references necessary for link editing.
When using EGERIA with the "X/MOTIF" (20) toolkit, the following items are usually included in the EGERIA (10) code:
the description of the base types ("widget", callback procedure, etc. . . . , for example XmTopLevelShell, (see (40) in Appendix 4)),
the interface object classes (push button, scrollbar, menubar, etc. . . . ) and the primitives (toolkit-init, create "widget", etc. . . . , for example:, on XmNinputCallback of the "widget" XmDrawingArea, (see (432) in Appendix 4)),
the different kinds of base types (enumerated, dimension, etc. . . . , for example: XmNwidth of XmTopLevelShell),
the attributes that are unique to each class.
High level functions that are written using primitives will be placed in the external file (14). This allows the user to add new interface object classes.
The EGERIA (10) structure is characterized by a main entry scanning loop that distributes the events (mouse click, keyboard entry) received by different program components. One example of such a loop (refer to 511 in Appendix 5) is used in the application example given in the continuation of Appendices 4 and 5.
The "WOOL.LIB" interpreter does not contain the main application loop. The application (5) maintains control of this loop.
This loop is designed to call the scanning function Motif and then distribute the entry received. This means that a level of programming exists in which the user can choose the entity responsible for processing each X/Windows event and therefore for each "Motif" event. "Motif" may call the callback procedure defined by the "widget" assigned to the event or by another component such as EGERIA.
When described by EGERIA, a callback such as "call-back dog:draw" written in LISP (see 435 in Appendix 4) or "call-back dog:step" (see 4412 in Appendix 4) is created by calling the main entry point (530 and 531 respectively, Appendix 5) of the "WOOL.LIB" interpreter that is going to execute the associated method (523 and 525 respectively, Appendix 5). This interpreter is written in the C language and processes as fast as possible.
Finally, using a hybrid system that operates in the LISP and C languages, causes certain conversion problems when converting C function parameters to LISP and from LISP to C. The solution is to use natural C structures for the LISP system whenever possible. But, these structures must be prefixed with a header in the "WOOL" language (for example 522, Appendix 5).
FIG. 1B represents the kernel structure (WOOL KERNEL) that is organized according to an array in which each column corresponds to one object type. An object is referenced by its type and this allows the user to access the message processing method that can process the object.
In the execution mode, the "WOOL.LIB" (11) interpreter is responsible for loading the interface description file (13) that includes annex 4, when this interface has been created. "WOOL.LIB" executes this interface description file (14) as a WOOL language program in order to reconstruct the application interface and then interpret all the events that arise from the MOTIF toolkit. Then, the system will react in a purely dynamic manner in the interface without restarting the application or it will send the event to the application using an entry point of the application as an intermediary.
The EGERIA editor (10) has essentially two operating modes: editing and execution.
In the editing mode, the application interface can easily be modified and the execution mode allows the user to test the behavior of the interface.
Finally, if the editor that is used causes link editing of the editor library (12) with the application (5), then the application functions are called.
In order to edit objects, the program uses the traditional functions: create, cut, copy, paste, edit, attributes such as undo, as well as other important new features such as the FORM EDITOR, the Attribute Editor and the object hierarchy. The "widget" objects can be organized into two categories, elementary objects and "container widgets" that can contain several objects. Some containers, such as interactive shell objects ("shell widgets"), have a container and are created at the first level (for example, "Top Level Shell" as listed in Appendix 4).
A MOTIF FORM widget is a "container" widget whose children are automatically positioned or resized when the FORM widget is resized. The interactive specification of the behavior of a child of such a widget is fulfilled using a special formula or "FORM EDITOR" that allows the user to easily define the set of behaviors provided by MOTIF.
In FIG. 3, the behavior of a child of the FORM widget, for example, XmPushButton (321), is specified by giving the attachment value for the edges of the widget. These are designated as top (322), right (323), left (324) and bottom (325) respectively.
An attachment can be NONE (no attachment (323)), FORM (attachment with respect to the edge corresponding to the FORM (322, 324)), POSITION (attachment proportional to the horizontal or vertical dimension of the FORM widget (3262)) or WIDGET (attachment corresponding to a child widget of the same FORM (325)).
It is possible to specify a supplementary offset distance (3261) with each attachment. This distance will correspond to the position specified in the editing area (3262).
FIG. 3 illustrates the "FORM EDITOR" in which four menus can be displayed in order to specify the attachment type of a given child widget. For each attachment, an interactive arrow (328) indicates which attachment is "current". The selection of any attachment will update the positioned attachment.
In order to edit a FORM child using this editor, the user selects the widget and uses the "FORM EDITOR" command (2022) which is activated from the "Edit" menu (202) as illustrated in FIG. 2. The widget's class, name and identifier appear in a text area (321) of the FORM EDITOR. This window will then display the characteristics of the widget that concern its behavior as a child of the FORM widget.
Two text areas describe the widget's offset (3261) and position (3262) (when the attachment is POSITION) corresponding to the current attachment. When the current attachment changes, these text areas are updated. When the attachment is not POSITION, the text areas labelled "position" are inactive and its title is shaded, as shown in FIG. 3.
It is possible to interactively move or resize the child widget with the mouse. In this event, the command is executed as if it had been sent from the FORM EDITOR and the text areas corresponding to the offset and/or to the position are updated.
The editor also allows the user to create elaborate objects ("widget" container) that are made up of several objects, but which are still considered to be simple objects. In other words, they can be cut and pasted in a single operation.
As illustrated in FIG. 2, all objects are created using the creation function "create" (203) in the main menu (200). This function allows the user to place an object inside an object container after selecting the object with a mouse click. This main menu (200) also includes the traditional functions "File" (201), "Help" (206) and the specific functions "EDIT", "CREATE", "GEOMETRY" and "TOOLS".
The appearance of the interface can be edited by using the mouse to change the size or the position of the "widgets" inside their container or by using formulas containing the different attributes of one or more objects. In other words, the "Edit" function (202) is used. This function allows the user to edit the attributes of parent objects of a selected object or to cut, paste, merge or copy a set of selected objects. Finally, this function allows the user to modify the geometry of the display by using the "geometry" function (204). This function allows the user to align a set of selected objects to the top, to the side or the base, or to vary the width or height of the set of objects.
As illustrated in FIG. 2, the "CREATE" menu (203) allows the user to choose between the different objects that are available in the X/MOTIF library. These objects are formed by a number of buttons (2030), a container (2032), an elaborate object (2033), a simple object (2031), a message type object (2034), a dialogue-type object (2035), a menu-type object (2036) and a container-type object ("Shell") (2037). When the Shell option is selected, a second menu appears in which the user can select the following attributes: maximum level (2371), shell (2372), override shell (2373), transient shell (2374), Top Level Shell (2375) or Application Shell (2376).
The attribute part is executed with a set of sub-editors. These sub-editors are automatically created by reading a description of the classes from the "X/MOTIF" library (11). There are three types of sub-editors: A sub-editor with a toggle button used to enter boolean attributes; a push button sub-editor that displays a menu for enumerated data; and a text area sub-editor for text and numerical values (such as those listed in Appendix 4, reference (436)).
By selecting the "Edit" function from the menu bar and then selecting the "Attribute Editor". (2021), the user can edit the attributes of a widget. This selection prompts the display of a cell-type window as illustrated in FIG. 4A.
The cell-type window (as illustrated in FIG. 4A) includes a menu consisting of several overlapping parallel menus (311, 312) accessible using buttons (3110 to 3114 and 3121 to 3124) that act as a tab. Each menu sorts the attributes corresponding to a "widget" category. The categories are the following: appearance, activated with button 3110, geometry, activated with button 3111, behavior, activated with button 3112, constraints, activated with button 3113 and callback procedures, activated with button 3114. This allows the user to easily access a particular attribute among the numerous attributes provided by the X/MOTIF software.
In FIG. 4A, the menu button that corresponds to the appearance (3110) is illustrated near the other buttons (3111, 3112, 3113, 3114) as being pressed, or in the background. The appearance attribute editor, corresponding to the button shown in the foreground, has been activated by a mouse click in the button area and displays the corresponding window (313) in order to allow the user to edit the attributes. For FIG. 4A, this will be the window in which part 313 includes attributes that allow the user to define the appearance of the "widget" while editing. These attributes include a text area that allows the user to define the background in zone 3130, the background of the point matrix in zone 3131, the shading thickness of the default button in zone 3132, the depth in zone 3133, the list of character fonts in zone 3135, the foreground in zone 3136, the matrix point label in zone 3137, the string label in zone 3138 (shown here in the XmPushButton event) the label type in zone 3139, and the default appearance in zone 31390.
The attributes that are displayed in a window section are visible attributes that appear when the button labeled "current" (3101) is pressed.
Attributes are described in the traditional manner, by clicking the mouse when the arrow is in the desired attribute text area and by entering the text and numerical values using the keyboard. Once each attribute is defined, the selection button (3123) will activate the (Apply) command that allows the user to initiate global validation of all attributes that were modified during an iteration with the attribute editing sheet. When button 3122 is selected, the "unmark" command is activated. This command allows the user to cancel all changes made before a global validation. When selection button 3121 is selected, the "mark" command is activated and the user can validate the modifications without initiating a global validation.
When button 3124 is selected, the "view" command is activated. This command allows the user to send an attribute name from the list of visible attributes to the list of invisible attributes and vice-versa.
When this button (3124) is pressed by clicking the mouse when the arrow in the button area, it activates a display function of window 3110 in the middle of the attribute editor that allows the user to view the visual attributes shown in zone 313 and the invisible attributes shown in zone 314 of window 3110 at the same time.
This window (3110) also includes function buttons that allow the user to validate the selection using the OK button, to invalidate the selection of the changes made using button 316, to move an attribute from the visible area to the invisible area or vice-versa using button 317, to load the attributes using button 318 and to save the selection or the modifications that have been made using button 319.
An additional command (310) provided in the form of a radio button is available for the "view all attributes" button in the attribute editing form. This button allows the user to ignore the visibility specifications and to display all the attributes in window 313. When the current radio button (310) is selected, only those attributes having the visible specification are displayed in window 313.
Selecting the "geometry" menu, using button 3111, will activate an editing function that allows the user to display selection and modification attributes of a widget's geometry. The "behavior" menu, activated using button 3112, allows the user to activate an editing function that will display the attribute that defines a widget's behavior and what its behavior will be when using the attributes selected.
When button 3113 is selected, the constraint editing form is activated and the user can display the constraint attributes attached to a given object.
According to the object type, the editors are inactive.
For example, for push buttons whose attributes are defined in window 31, the constraint editing function and the global validation function are inactive. In this case, the title appears shaded, as illustrated for buttons 3113, 3123.
Finally, when button 3114 is selected, the user can activate the editing function of callback procedures.
The callback procedure section is simply a text area in which the interactive "widget" callback procedures can be edited. This section is represented in a magnified view in FIG. 4B. Above the dialogue area for the callback procedures, there is a text box that allows the user to display information about the edited "widget", such as its name and reference number. One callback procedure is coded here in the WOOL language. A base model is given for each possible callback procedure of a "widget". For example, in order to edit the WOOL code that is executed when a push button is pressed, the base model is (on XmN activate callback (widget)). A pseudo callback (XmN create callback) has been added. This callback is called by EGERIA when an interface description (14) is loaded after all its child "widgets" that were created in the same description file have been created. Additional attributes can be created inside "XmN create callback".
When selecting parent objects (such as XmDrawingArea, which is the parent of XmFrame, XmLabel, XmScale and XmSeparator (ref. Appendix 4)) is not possible to directly edit the attributes of a "Shell" object or a "Top level widget" (XmTopLevelShell) general object. It is necessary to use the "Select parent" command and then activate the attribute editor.
Interactive objects ("widgets") that have been created, depend a lot on the current state of the X/defaults file. The names given to the objects can be used to set the default values of objects that are created, if the values have not been fixed by the editor. A minimum set of fixed default values that can be used by EGERIA may be those defined in the X/defaults file (13) (for example, see Appendix 1).
Using UNIX events, a translation table contained in the X/defaults file can also activate the internal EGERIA functions. Thus, one event, (see (21) in Appendix 2) allows the user to select and move the widget(s) selected using the left mouse button. The "EgSelect" button allows the user to select a "widget" under the pointer and the "EgMove" function allows the user to move the selected "widget". The left mouse button activates the "Shift" key at the same time and allows the user to add the designated object to the list of selected objects (see (22) in Appendix 2). In fact, the EgSelect or Unselect function allows the user to select or deselect an object designated by the pointer. This function works like a toggle. Finally, pressing the right mouse button, which activates the event (as indicated by (23) in Appendix 2), will activate (in UNIX) the EgSetSelect function that allows the user to draw an interactive rectangle and to select objects situated inside the rectangle. The rectangular zone is defined by two corners, the place where the button is pressed and the place where the button is released.
A second minimal translation (refer to Appendix 3), is also installed in the X/Defaults file in order to allow the user to activate the main editing functions using the keyboard. This table calls the Eg WOOL Exec function that activates an expression written in the WOOL language. This expression is the value of the atom given as an argument. The atoms are prefixed with the term custom:" and are defined in the Edcustom. G file. This is the standard method of personalizing the behavior of the base editor.
An example application of the interface editor is given below with reference to FIGS. 1 to 4. This example illustrates the edition of an interface that allows the user to display (as shown in FIG. 5) a dog (45) in the process of running. The dog can be moved one step by pressing the "one step" button (42). The dog is started by pressing the "Start" button (40) and the application can be terminated by pressing the "Quit" button (43). The speed of the dog can be selected using a sliding potentiometer (44) and the dog can be stopped using the "stop" button (41).
This application will include several stored images in the "Pixmap pdog" (refer to (52), Appendix 5) memory that will be displayed by moving them into the drawing area. In order to edit the interface, the "widgets" must first be created using the "create" menu. First, a "widget Shell" must be created. In our example this "widget Shell" will be a general "top level" widget or XmToplevelShell (see (40), Appendix 4) that has "@000001@" as an identifier, "eg:widget-root" as a parent and an additional object (see (41), Appendix 4) "DrawingArea". Next, the other "widgets" are created. All of these "widgets" will have an identifier, attributes, an eventual name in EGERIA "eg:name" (for example: "speed-widget" (4510) in Appendix 4) and an eventual script (for example, the script (470) for the "quit" push button (47), as indicated in Appendix 4).
Each time a "widget" is created, the editor will ask the user to indicate the parent and the position. We will create a "DrawingArea" containing scroll bars (see (47, 48), Appendix 4) where the application will draw the dog inside a scrolled window (46) that is defined by the "XmScrolledWindow" object (see (462), in Appendix 4). In order to create objects, the editor uses the customary functions--cut, paste and copy. The list of created or selected objects is manipulated using the left button which allows the user to select or to move the "widget(s)". The left button also allows the user to add the designated object to the list of selected objects when the "Shift" key is pressed. The right mouse button allows the user to select all "widgets" inside a rectangular zone. This zone is defined by two corners according to the place where the button is pressed and the place where it is released. By using the "select parent" operation from the "edit" menu, the "widget" that is selected becomes the parent of the "widget" that was selected. This operation is indispensable, since it allows the user to select a "widget" that is hidden by its child(ren), for example, a parent or a menu. When an object is selected, its class, identification number and eventually its name appear in EGERIA's main window as shown in FIG. 2.
The sizes and positions of "widgets" can be changed using the mouse. The left mouse button is used to select and move the selected "widget(s)". This causes the events to intervene as described above (see (21), Appendix 2.
The right mouse button is used to draw a rectangle in which the objects will be selected and causes the commands described above to intervene (see (23), Appendix 2). The middle mouse button is used to change the size of one or more "widgets" (see (24), Appendix 2).
It is also possible to change the position and the size of several objects at the same time using the operations in the "geometry" menu. This menu includes an "align" operation that allows the user to move selected objects so that they are aligned on the same vertical to the left, to the right, to the center or on the same horizontal to the top, to the bottom or to the center.
The "Resize" operation in the "Geometry" menu allows the user to give the same width and height to selected objects or a minimum or maximum size. The "Distribute" operation allows the user to distribute the selected objects at a regular interval. They can be distributed horizontally or vertically using the rectangle comprising them or inside of their parent.
The editing attributes are used by selected the "Attribute" operation (2021) from the "Edit" menu. This operation allows the user to open a data sheet containing all of the attributes illustrated in FIG. 4A.
Certain attributes cannot be modified after the "widget" has been created. This is the case for the XmscrollingPolicy and XmNscrollBarDisplayPolicy attributes.
We have used the word "script" to designate the code that describes the response to the set of callbacks. The scripts associated to each "widget" are written in WOOL and are described below.
The "Quit" push button allows the user to exit the application. In order for the button to react by calling the "exit" function, as a reaction to the "XmNactivateCallback" message, the following must be included in the script:
(on XmNactivateCallback(widget) (exit)).
Please note that the "widget" parameter is available. This parameter indicates the "widget" that is currently active (in this case, this is the "Quit" push button). The call-- data parameter is not available.
the "step" push button makes the dog advance one step. In order for the button to react to the message "XmNactivateCallback" by calling the "step" callback, defined in the application, the following must be included in the script:
(on XmNactivateCallback ("widget" (call-back dog:step 19))
Once number 19 has been reached, the program will be in the client-- data parameter of the C callback corresponding to the "StepCallback"step (see (525), Appendix 5). Using the C:intmovement=(int) client-data (see (526), Appendix 5) instruction it indicates how many pixels the dog should be moved. The C function corresponding to "DrawCallback" (see (523), Appendix 5) in order to draw the dog will be presented later.
The dog is drawn in the drawing area and is redrawn as many times as necessary by calling the draw callback defined in the application:
(On XmNexposeCallback (widget) (call-back draw))
(see (430), Appendix 4)
When this "widget" is created, the application can be initialized by calling the init function using the "call-back init" (see (4311), Appendix instruction. This instruction defines the application callbacks "draw" and "step" by calling the C code "InitCallback (widget,client-data,call-data") and "InitPixmaps" and loads the pixmaps corresponding to the different positions of the dog using the "InitPixmaps" procedure. Moreover, the size of the drawing area is defined in the window-width variable so that the step function makes the dog restart from the left side each time it leaves the right side of the drawing area.
(on XmNcreateCallback ("widget") (call-back init)
(setq window-width (attribute-get "widget" XmNwidth)))
(see (431), Appendix 4)
The window-width variable is updated each time the length of the "widget" is changed with the WOOL instruction:
(on XmNresizeCallback ("widget")
(setq window-width (attribute-get "widget" XmNwidth)))
(see (433), Appendix 4)
Finally, each widget drawing area (ref. (434), Appendix 4) is given a name in order to identify it in the C code where the pixmaps are created. This is accomplished using the EgVariableGetCValue ("drawing-area", . . . ) function (see (522), Appendix 5). It would have been easier to send the "widget" to the init parameter, but using this method the user will be able to see (later on) how a LISP variable is consulted from C.
The "Start" push button makes the dog run. This is accomplished using the work-proc (ref. (441), Appendix 4) function. This function stores an expression that is evaluated each time there is no processing event coming from X. This expression must be evaluated quickly. In our example, it increments a counter (ref. (441), Appendix 4) and advances the dog using the step function (ref. (4412) or (4413), Appendix 4) when a given value is reached. The increment is the value of a "widget" scale (see (451), Appendix 4) identified by a number that is controlled by EGERIA (here @000010@). A "widget's" identifier is displayed when it is selected. It can easily be copied and pasted and its class and eventually its name are displayed.
______________________________________(on XmNactivateCallback ("widget") (work-proc '(progn (setq count (+ count(attribute-get @000010@ XmNint-value))) (if (> count 100) (setq count (- count 100)) (call-back step 19)))))) (see(441), Appendix 4)______________________________________
It must be noted that the attribute consulted is XmNintvalue and not XmNvalue. This removes any ambiguity due to the fact that (in WOOL), XmNvalue (for MOTIF) designates an integer for a XmScale and a character string for XmText.
In this last case, XmNString-value must be used.
The counter is initialized when the "widget" is created:
(on XmNcreateCallback (widget) (setq count 0))
The "Stop" push button allows the user to stop the dog-track. This is also accomplished by calling the work-proc (see (442), Appendix 4).
(on XmNactivateCallback (widget) (work-proc()))
A backup of the interface is made using the "Save" command from the "File" menu. Afterwards, the saved file can be reloaded using the "Load" command. A few comments concerning the conventions of names must be noted:
Files belonging to EGERIA are prefixed with (eg-). It is advisable to give the file containing the application interface the name of this application with the par.eg suffix. In our example, we call the interface generated by EGERIA "dog.eg", where dog is the executable file.
If this is not convenient, the name of the file to be loaded in the application's C-source code must be indicated (in a parameter of the EgMain function).
The rest of the application is written in the C language. All the libraries that are used are also written in C (see Appendix 5). If this language is C++, then file modifications are required. For any other language, the description files of the different types, constants and functions must be generated.
The complete source code of the example dog.c is in Appendix 5. In the next few paragraphs we will present only the main elements of this example.
First of all, a description of the toolkit must be included. EGERIA provides the "eg-- toolkit.h" file that contains all the published declarations of the MOTIF "toolkit" (see (50), Appendix 5):
#include "eg-- toolkit.h".
Then the EGERIA declarations must be included. Thus, the available functions are described in the reference manual:
#include "egeria.h".
Execution control is given to EGERIA using the EgMain function (see (511), Appendix 5).
EgMain (layers, XtNumber(layers),
argc, argv, options, XtNumber(options),
Null, "EGPATH");
The most important parameter, InitCallback (ref. (5110), Appendix 5) records the callback that initializes the application and records the other callbacks. This callback is called from the interface using (callback init).
It is advisable to rework the sample code given in dog. C. Only the callbacks will be changed for other applications.
The EgMain function and its parameters allow the user to make the necessary initializations and then call "EgAppMainLoop", which loops after calling XtAppNextEvent and EgDispatchEvent.
The callback InitCallback has two roles: to initialize the application and record the links between the interface and the application.
For the application, in our example, pixmaps are created that correspond to the different steps of the dog track in the InitPixmaps function.
For links, the callbacks "DrawCallback" and "StepCallback" are recorded with the application under the names "draw" and "step" because of the EgCallbackDefine function. Also a somewhat unique window-width LISP variable is used because it will share the address with the C window-width variable.
______________________________________voidInitCallback(widget, client-- data, call-- data) Widget widget; /* UNUSED */ caddr-- t client-- data /* UNUSED */ caddr-- t call-- data /* UNUSED */ InitPixinaps ( ); EgCallbackDefine ("Draw", DrawCallback); EgCallbackDefine ("step", StepCallback); EgPointerDefine ("window-width", &windowWidth);}voidDrawCallback (widget, client-- data, call-- data) Widget widget; /* UNUSED */ caddr-- t client-- data /* UNUSED */ caddr-- t call-- data /* UNUSED */{ XCopyArea (DISPLAY,pdog current!,drawingAreaWindow, gc, 0, 0,wdog current!, Hdog current! xdog, ydog);}voidStepCallback(widget, client-- data, call-- data) Widget widget; /* UNUSED */ caddr-- t client-- data /* UNUSED */ caddr-- t call-- data /* UNUSED */{ int movement = (int) client-- data; XClearArea(DISPLAY, drawingAreaWindow), xdog, ydog, WIDTH, HEIGHT, False), xdog += movement; if (movement > 0) { if (xdog >= windowWidth) xdog =0; current++; if (current > 5) current = ; }else{ if (xdog < a) xdog = windowWidth; current--; if(current < 0) current = 5;} XCopyArea(DISPLAY,pdog current!, drawingAreaWindow, gc, 0, 0, wdog current!, hdog current!, xdog, ydog);______________________________________
The pixmaps are created in the InitPixmaps function. In order to do this, it is necessary to know in which widget they will be designed. Therefore, the LISP drawing-area variable is consulted.
______________________________________if (|EgvariableGetValue("drawing-area",egClassWidget,&drawingArea)) { fprintf (stderr, "drawing area must be specified\n"); exit (-1);______________________________________
The value of a LISP variable can also be changed in C. It must be noted that this method is found in other systems that are not necessarily based on a LISP interpreter. This means that an application that uses these functionalities is not dependant on EGERIA.
After the application has been compiled, link editing with the EGERIA library libEg.a and with the libraries required by OSF/MOTIF (libXm.a, libXt.a and libXll.a) must be completed.
The resulting program allows the user to edit the interface if it is executed before the -edit option:
EGPATH=.:/user/local/lib/Xll/eg dog -edit&.
All changes or modifications within reach of craftsmen are an integral part of the spirit of this invention. ##SPC1##
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
The Kardashians
Kim Kardashian: The Queen of Endorsements
Kim Kardashian is everywhere. Her name is on everything. Jewelry, shoes, diet products, candles, perfumes. Famous Cupcakes in Los Angeles even created a cupcake flavor for her ("Va-Va-Va-Nilla"), which she endorsed. (Wait — wha? QuickTrim and cupcakes? Mixed message alert!) Her own wedding day netted $18 million. On Kourtney & Kim Take New York Season 2, Kim complains about working "eighteen hour" days and being totally sleep deprived. Yes, it's hard to believe this girl gets paid just for being a reality TV star, but my, it's a lucrative gig.
Case(s) in point! Here's what's keeping Kim busy these days:
• Has a clothing line for Sears called Kardashian Kollection
• Has a nail polish line with her sisters for OPI
• Owns four DASH boutiques with her sisters
• Has an endorsement deal with QuickTrim, a weight-loss supplement
• Has an Armenian-inspired jewelry line with her sisters called Virgins, Angels, and Saints
• Has an endorsement deal with ShoeDazzle.com
• Has her own signature perfume
• Has an endorsement deal with Signature Series Couture Lollipops from The Sugar Factory Candy Store
• Endorses fast food for Carls Jr.
• Endorses Muscle Flex VATA athletic wear
• Endorses Midori Licquer
• Has a sunless tanner called Kardashian Glamour Tan
• Has a line of bathing suits called the Divinity Collection for Beach Bunny Swimwear
• Has an endorsement deal with her sisters with Perfect Skin
• Has an endorsement with Skechers (hence the super sexy Super Bowl ad)
• Has her own line of signature watches
• Has an endorsement deal with "For Every Body" candles, which created the Kardashian DASH signature candle
• Has an at-home laser hair removal product called Tria Beauty
• Endorsed Charmin for the grand opening of their public bathrooms in Times Square in November (yes, really!)
Whew! Have we left anything out?

subset: commoncrawl


text:
Leave it to Las Vegas to be a part of the biggest first-round upset in Golf Digest's tournament of the top 64 public courses in the country. In a sea of torn sports-book tickets, on a carpet soaked with spilled beer and empty dreams, Shadow Creek falls to Bulle Rock.
Earlier today, Sin City's No. 2 seed got beat by a scrappy 15 seed from Maryland (pictured above), which concluded the first-round matches in what we're calling the Fans' Choice. "Bulle Rock is by far the best course of those two," was a comment left by Mike Wheeler. And it's also a quarter the price, which might have had something to do with the outcome. (Here's a link to the updated bracket and a complete schedule of second-round matches.)
But as we start the second round, I'll play the role of Vegas, and based on the number of first-round votes acquired by each course, sort out the favorites to win it all.
No course received more first-round votes than Pacific Dunes (pictured above). The No. 1 seed in the C.B. Macdonald quadrant tallied 1,022 votes, which makes it the clear course to beat.
Chambers Bay, the 7 seed in the Donald Ross quadrant, was second with 691 votes. The Classic at Madden's Resort in Minnesota is a 14 seed that got 487 votes. The Prince Course in Kauai is a 5 seed that got 476 votes. And Bandon Trails, a 4 seed, got 473 votes. (Trails and the Prince are matched in round two.)
It has been fun to watch certain courses and resorts rally their fans late in the cycle to get enough votes to advance to the second round. Pinehurst No. 2, for example, got only 246 votes in round one, but it was enough to beat The Links at Spanish Bay's 221 votes. Like a good racehorse, No. 2, fresh off a Bill Coore and Ben Crenshaw restoration, did just enough to win.
No. 4, the other pride of Pinehurst, received 839 votes, the most by any course other than Pacific Dunes. Unfortunately it was matched up against Pacific Dunes, so like Shadow Creek, we tear up yet another Tom Fazio ticket.
All four No. 1 seeds--Pebble Beach, the Ocean Course at Kiawah Island, Pacific Dunes and Whistling Straits--advanced. Longaberger, a 14 seed, topped the Players Stadium Course at Sawgrass for a tie for the second-biggest upset of the first round, 222-102. Another 14 seed, The Classic at Madden's Resort, also beat a 3 seed in Karsten Creek, 487-71.
Here are the top-10 vote-getters in round one, and in parenthesis I've listed their second-round opponent, the number of votes it received, and the date of the match.
1,022: Pacific Dunes (Paa-Ko Ridge, 200, June 27.)
691: Chambers Bay (Pinehurst No. 2, 246, June 16.)
487: The Classic at Madden's Resort (Harbour Town, 87, June 23.)
476: Prince Course (Bandon Trails, 473, July 4.)
473: Bandon Trails (Prince Course, 476, July 4.)
421: True North (Pebble Beach, 394, June 13.)
394: Pebble Beach (True North, 421, June 13.)
250: Cog Hill No. 4 (Blackwolf Run-River, 248, July 27.)
248: Blackwolf Run-River (Cog Hill No. 4, 250, July 27.)
246: Pinehurst No. 2 (Chambers Bay, 691, June 16.)
Then there are the courses that need serious time on the voting range or they'll be joining the likes of Shadow Creek on that beer-marinated rug in Vegas. Here are the five lowest vote-getters that were (somehow) able to advance to the second round, with their upcoming opponents:
53: Pasatiempo (Whistling Straits, 85, July 4.)
56: Harvester (Bethpage Black, 225, June 30.)
85: Whistling Straits-Straits (Pasatiempo, 53, July 4.)
87: Harbour Town (The Classic at Madden's Resort, 487, June 23.)
97: Pronghorn-Nicklaus (Arcadia Bluffs, 162, June 30.)
So we're down to the field of 32 courses. As of noon today, Pebble Beach is taking on True North, and the Plantation course at Kapalua is up against the Quarry at Giants Ridge. All voting begins and ends every Monday and Thursday at noon.
I'll be delivering a plaque to the clubhouse of the winning course. Maybe you can join me. As long as I'm there, I should fill out a foursome.
--Matty G.
(Follow me and regular updates on Fans' Choice on Twitter: @Matt_Ginella.)


text:
INSPIRE UT Presents: SPEAK: A Multilingual Show
Fri, April 22, 2011 • 8:00 PM - 9:00 PM • CAL 100
We're here to say what we mean. We're here to speak. About ourselves. About our bodies. About our experiences. About love and relationships, sexuality, culture.
We're here to say things that aren't being said. Things we've been told we can't say, because our real feelings don't always translate or because what we have to say will make people uncomfortable. These words in your minds - from our lips.
SPEAK is a multilingual monologue show written by the performers. In conjunction with Sexual Assault Awareness Month, INSPIRE UT asked men and women to speak in their own languages about themselves - their experiences, their idea of love, their relationships, their bodies - because we believe that talking about these things - in the ways that people think about them, in all languages - has the power to tear down the mystery surrounding them and to help others find their voices and the power to SPEAK.
Read about this performanice in the Daily Texan: http://www.dailytexanonline.com/content/sexual-assault-survivor-speaks-out-performance
Friday, April 22nd - 8:00pm
Saturday, April 23rd - 8:00pm
All performances are in CAL 100.
Tickets: Suggested $5.00
Tickets will be available before the show. Proceeds will support INSPIRE UT and SafePlace.
Aurora Sanchez - Tagalog
Ariel Dang-Tran - English
Lynn Hou - American Sign Language
Chinyere Ugwuzor - English/Pidgin English
Ganiva Reyes - Spanish/English
Juan Portillo - Spanish
Tatiana Makhinova - Russian
Veronica Hernandez - Spanish/English
Bobbi Duncan - English
Erica Allseitz -Facilitator (English)
We hope to see you there


text:
Tag Archives: roundup
Easter Idea Roundup
- Easter Egg Prep – How to blow eggs!
- More Easter Crafty Links.. (more egg dying ideas)
- Easter wrapup, and Share your easter eggs! (more egg dying ideas)
- Easter Eggs & Baskets
- Spring cocktail recipes
originally published Mar 2011
Cakes Galore!
On the Foodwhirl.com blog today I have a post up highlighting some interesting and fun cakes I found on flickr.. Go check it out!
My own robot cake from a few years back, and a roundup of other robot cake ideas!
Tutorials, Downloadables and more!
First off, we had a fun, if hectic trip to Disney last week, and some lovely guest posters while I was away, so if you missed them, be sure to check these out!
Tutorial: Make a Bracelet from an old Record
Kelly from Tresijas shows us how to make a fun and easy bracelet! A great present that you can do yourself…
Fanie from Art vs Craft.net made a cute cat Christmas gift tag for you!… [ KEEP READING ]
Dabbled Halloween 09 Begins!
Halloween is the favorite holiday around here, so stay tuned for lots of fabulous halloween food, costumes, ideas and so much more. I'm trying to decide if we're doing a contest this year–it was great last year. You guys up for it!?
Here at Dabbled we'll have lots of new (and old) stuff, but here are a few other sources you should check out!… [ KEEP READING ]


text:
Created: 03/04/2013 4:30 PM KSTP.com By: Leslie Dyste
Timberwolves Kevin Love was at the IDS Center Monday for part of the team's new season ticket campaign called 'Get Closer.'
First, Love gave away a pair of season tickets that he bought with his own money.
Then, he and 'Crunch' signed autographs.
The Wolves will take on the Heat Monday night without Love.
He's still recovering form a hand injury.


text:
Eero Saarinen at exhibition, 1955 Nov.
Physical Details: Photographic print : 1 item : b&w ; 21 x 26 cm.
Creator: unidentified photographer
Description: Identification on attached note (typewritten): Opening of exhibition of post-war Finnish architecture at the American Institute of Architects' new galleries in The Octagon House, Washington, D.C., November 1955.
Left to right: Mrs. Nykopp, Johan A. Nykopp, the Finnish Ambassador, Mrs. Eliel Saarinen, Eero Saarinen
Forms part of: Aline and Eero Saarinen papers, 1906-1977
Rights Statement: Current copyright status is undetermined
Citation: Eero Saarinen at exhibition, 1955 Nov.
Digital ID: 4726
- American Institute of Architects. Philadelphia Chapter
- Exhibitions
- Saarinen, Eero
- Saarinen, Eliel
- Washington, D.C.
View all Image Gallery items from the Aline and Eero Saarinen papers


text:
By tully | "Boredom at Its Boredest" by Michael Tully October 5, 2004 at 12:06PM
What is it with film critics and complete and utter tactlessness? After today's NYFF screening of the fascinating Wiseman-like documentary "10th District Court," as the credits began to roll over silence, whaddya know, another LOUD FART snapped me out of my pleasant reverie. Are these people kidding me? And it's not as if this is the first time that has happened. I remember settling in one morning a few years ago as the curtains opened in preparation for the New Directors/New Films press screening of "Raising Victor Vargas," when the guy seated two seats away from me let out a MASSIVE HONKER. It was so obscene that I thought he had done it as some sort of "challenge" to me, but when I glanced over at him he was simply staring at the screen as if his ass hadn't just caused our row to quake. It was as if it hadn't happened at all. There are countless more examples (not just farts, lots and lots of burps as well) that I won't bother getting into right now. Suffice to say, I might start wearing a surgical mask to press screenings from now on.
Have critics simply become so detached from reality--forced to sit in a blackened, comatic state for hours and hours, then forced to sit alone and write about what they've just witnessed--that they have completely and totally lost their sense of self-awareness?
Note to friends/acquaintances/coworkers/strangers: If you ever overhear me FARTING LOUDLY in public and not shrinking in embarrassment or looking for the nearest body of water in which to drown myself, please suggest I devote myself to another line of work. Thank you.


text:
Group Name:
Asian Outcasts II
Anywhere 98105
This group is for Asians trying to lose weight. It's no fun to be overweight. It's especially no fun to be Asian and overweight, especially when society expects us to be dainty little geisha girls. Asian women are stereotyped as being "petite" but many of us are the "biggest" cousin in our family. Many of us have a critical family member who will feed our face one day, and criticize our chubby legs the next day. We experienced akward shopping trips in Asian boutique stores, only to be chastsized for not being a size zero. We try and watch what we eat, while we try to find room for our decadent soul food. Join us in supporting one another here on PEERtrainer. We are Asian Outcasts!
Last posted:
Sunday, November 05, 2006, 2:53 PM
Other Info:
Members profiles:
- our sponsor -


text:
Industries LNG
Cove Point, Maryland
« Back to Existing Terminals
|2 Records Found
|Project Name
|Cove Point LNG Expansion
Docket Nos.: CP05-130-000, CP05-132-000
Company Name: Dominion CP LNG
|Cove Point is an existing LNG import terminal located in Calvert County, Maryland, which was constructed in the mid 1970s. Deliveries were suspended in 1980 due to the high price of LNG imports. The Commission approved the resumption of LNG imports in October 2001, and Cove Point received its first commercial delivery in 23 years in August 2003.
On April 29, 2005, the Commission issued a notice of application for authorization to expand the existing Cove Point LNG terminal by: (1) adding two new storage tanks to increase send-out capability and storage; and (2) constructing five new pipelines totaling about 161 miles in length, to be located in Calvert, Prince Georges, and Charles Counties, Maryland, and Juniata, Mifflin, Huntingdon, Centre, Clinton, Green and Potter Counties, Pennsylvania, to deliver additional capacity to pipeline connections in Virginia and Pennsylvania.
|Notice of Intent to Prepare Environmental Impact Statement
Search eLibrary:
Cove Point, MD
|Cove Point LNG Reactivation/ Expansion
Docket Nos.: CP01-76-000, CP01-76-001, CP01-77-000, CP01-77-001, RP01-217-000, RP01-217-001, CP01-156-000, CP01-156-001
Company Name: Cove Point LNG Limited Partnership
|Application to reactivate and expand the liquefied natural gas (LNG) terminal located at Cove Point, Maryland.
|Order Approving Uncontested Amendment to Settlement and Settlement
|2 Records Found


text:
Music video for the song "Lullubies" by Tim Walker (2011)
Music by Tim Walker
Animated and Directed by Justo Cascante III
more info at
Timwalkermusic.com and Like5.co
Loading more stuff…
Hmm…it looks like things are taking a while to load. Try again?
TM + © 2015 Vimeo, LLC. All rights reserved.
Made with k in NYC.
Your content preferences apply to any Vimeo videos you view. Learn more about content preferences in our FAQ.


text:
Topic: Events
Print this Page Email & Share
This Week… starting January 10, 2011
The Festival of the City of Merida
January 5 through January 30
This festival will celebrate the 469th anniversary of the founding of the City of Merida. There will be approximately 1,000 events held in the city in a 3 ½ week period of time. Every year, this festival grows and the events become more spectacular. Guest nation this year is Colombia, so look for Colombian art and music throughout the month of January. We are beginning to get dates on some of the events and will enter them in our calendar, as well as presenting them – week-by-week – here in the Events column, so check back regularly to see our updated calendar.
Municipal Fiestas This Week
Santa Elena Fiesta: Jan. 10th through Jan. 24th
This fiesta is in honor of Santo Cristo del Amor. Many of our readers are familiar with Santa Elena that contains Uxmal. It is to the southeast of the city, and forms part of our border with the State of Campeche. There are loads of archaeological sites here, including: Uxmal, Kabah,Nohpat, Xcoh and Muchich.
Dzitas Fiesta: January 16 through January 22
This fiesta is in honor of Santa Inés. The Municipality of Dzitas is a small "county," located in the central-eastern part of the state, just south of Espita. There are fewer than 3,500 people who live in Dzitas, and their main artistic skills are turned mostly toward the making of hammocks. It is the population statistics that are interesting in this municipality. Almost half of the people work in agriculture, most of the rest work in manufacturing or go off to work in the oil industry. Over 90% have all the modern utilities coming to their homes and they have plenty of schools, including a college. Two-thirds of the people are indigenous, so the languages spoken in Dzitas are Spanish, Mayan, and Tzeltal. The food and health care are excellent because the birth rate is steady and the death rate is amazingly low. Take a trip out to this fiesta and let us know if you discover their secret to a long and healthy life.
In the City of Merida
Monday (Lunes) January 10, 2011
Inauguration of the Exposition: Arnaldo Cohen
"Espacio cuerpo, signo el pensamiento" is quite an intriguing title. This should be an interesting exposition.
Location: Salas 1, 2, and 3 in the Olimpo, Calle 62 x 61
Time: 9:00 PM Monday
Admission: Free.
Central College Musicians, from Pella, Iowa
There have been over 6,000 students from Central College, in Pella, Iowa, who have come to Yucatan since this relationship began. Today, Central College provides an academic scholarship for one Yucateco to attend their school. Now, 44 musicians from the Orchestra of Winds and the Jazz Band, both at Central College in Pella, will be playing 3 concerts in Merida between January 10 and 12. The first 2 concerts will be held at the same time, but in different locations, and are open to the public.
Concert by the Jazz Band of Central College, Pella, Iowa
Location: Auditorium of the Olimpo
Concert by the Wind Orchestra of Central College, Pella, Iowa
Location: Centro Marista de la Colonia Emiliano Zapata Sur
Time: 8:00 PM (these are at the same time)
Admission: Free
Tuesday (Martes) January 11, 2011
Presentation of the Piece of the Month: The Citadel of San Benito
Location: Museum of the City of Merida, Calle 65 x 56
Time: 9:00 AM Tuesday
Admission: Free
Choir of the City in Concert: Poetry and Song
This chorus is one of the best we have ever heard. Never miss an opportunity to come out and support them.
Location: Auditorium of the Olimpo, Calle 62 x 61
Time: 8:00 PM Tuesday
Admission: Free
Dance: The Rhythm of Swing
This is a performance by Compania "Dramatango." Winter is over and the beat is headed up and up and up! These are great performances that everyone will love. It might even inspire a few more folks to take tango lessons on Friday night.
Preview Compania Dramatango.
Location: Teatro Dr. Joaquin Jimenez Trava (Teatro del IMSS), Calle 41 # 439 x 34 Col. Industrial
Time: 9:00 PM Tuesday
Admission: Free
Concert: Un Loco Como Yo (A Freak Like Me)
This is a performance by Victor Martinez. What an interesting performance title for such a fine voice. But – check out the following clip. He was younger then, but certainly did have an interesting move or two!
Preview Victor Martinez.
Location: Central Patio of the Olimpo, Calle 62 x 61
Time: 9:30 PM Tuesday
Admission: Free
Wednesday (Miercoles) January 12, 2011
Bread and Yoga
You can now pick up some fresh baked ho bread (only sourdough this week, but usually sourdough and whole wheat) every Wednesday starting at 4 pm at Monique's bakery. In addition to nutrition for your body, you can also get some solace for your soul with a yoga class taught by Emily Navar at the bakery! Starting this week, Emily will teach a yoga class that begins promptly at 3 pm.
Location: Calle 31 #70 con Calle 12 in colonia Chuburna de Hidalgo on the brink of Colonia Malaga, kitty corner from the old store El Super Farahon.
Time: Arrive at 2:45 PM, class starts promptly at 3 PM
Admission: $50 pesos suggested donation
Maru Boeta in Concert
This performance is part of an ongoing program called the Revista Musical Yucateca and Maru Boeta is one of Yucatan's most treasured voices.
Location: Auditorium of the Olimpo, Calle 62 x 61
Time: 8:30 PM Wednesday
Admission: Free
Trova: Gracias Merida
This is a performance by Trio Trova Nova. It looks as if Merida is showcasing her best tonight!
Location: Central Patio of the Olimpo, Calle 62 x 61
Time: 9:30 PM Wednesday
Admission: Free
Yucatones in Concert
As always no cover, full bar and great food, so come early to get a good seat and stay as late as you can stand them. Be there or what?
Location: El Hoyo, Calle 62 x 57 y 59
Time: 9:00 pm
Admission: Free
Thursday (Jueves) January 13, 2011
Traditional Serenade: A Tribute to Luis Perez Sabido
This is the defining serenade in Merida. If you had to pick just one, this would be it. To actually have it be a tribute to poet, composer, researcher, and music promoter Luis Perez Sabido is icing on the cake. Read a wonderful biography of this artist and preview his work here.
Location: At the Serenata de Santa Lucia. The defining romantic trova of Merida, in Parque de Santa Lucia, Calle 60 x 55 y 53, Centro
Time: 9:00 PM Thursday
Admission: Free
Jazz / Swing: A Tribute to Frank Sinatra
This is a performance by the Merida Big Band. Quite a few of the members also play with the Yucatan Symphony Orchestra, including James Meador (who now sings as well).
Here is a Preview with a Band Member List and here's another Preview with Guest Cissy McCaa
Location: Central Patio of the Olimpo, Calle 62 x 61
Time: 9:30 PM Thursday
Admission: Free
Art Opening: What Do You See in Front of You?
Come see paintings from local artists, including some large format paintings by local expat artist Benjamin Ramirez.
Location: Galeria de Arte Municipal de Merida, Museo de la Ciudad, Calle 56 x 65 y 65A
Time: 9 PM, Thursday
Admission: Free
Check the MAAG for updates on this event
Location: LA 68, Calle 68 at Calle 55, Centro
Time: Thursday, 9:00 PM
Admission: $30 pesos, $15 pesos students.
Friday (Viernes) January 14, 2011
Milonga: Tango Dance Party
Yes – you CAN dance the Tango! Every Friday night, Carlos, Anny, and Carol (and maybe even Paola de Martino) will be on hand to help you with beginner's steps and with any other questions you might have. If you want to take formal classes, those can be arranged as well. The formal classes are taught by Paola de Martino, a tango professional from Uruguay.
Location: Calle 51 #501 A x 60 y 62 centro
Time: Dance Party: 7:00 PM to 9:00 PM, Formal Class: 9:00 PM
Admission: Dance Party: $50 pesos, Formal Class: TBA
Gill Gill in Concert: Among Bambucos and Boleros
This is a tribute to Yucatan's guest country, Colombia. It is an evening that is ripe with the flavor of the music of Colombia, performed by one of Yucatan's master guitarists.
Preview Gil Gil with Javier Alcala
Location: Central Patio of the Olimpo, Calle 62 x 61
Time: 9:30 PM Friday
Admission: Free
Check the MAAG for updates on this event
Location: LA 68, Calle 68 at Calle 55, Centro
Time: Friday, 9:00 PM
Admission: $30 pesos, $15 pesos students.
Y ucatones at Rosas & Xocolate
The LEGENDARY Yucatones are cleaning up their act, pressing off their only pairs of dressy slacks and going "Up Market" at Rosas & Xocolate Boutique Hotel. The boys will be performing in this lovely hotel's beautiful rooftop lounge and promise old favorites, new material and maybe even a couple of Christmas tunes to say goodbye to the Holiday Season. Also special guest Alfred Rordame will be joining for a few selections. There's no cover charge, and the food is of the highest gourmet quality, so come early, dig the band and stay for supper. Be there or what?
Location: Hotel Rosas & Xocolate, Av. Paseo de Montejo x 41
Time: 9:00 pm Friday
Admission: Free
Saturday (Sabado) January 15, 2011
The Region in Concert
This is a performance by Grupo Musical Colombiano / Vallenato
Location: Lower floor of the Municipal Palace, Calle 62 x 61
Time: 8:30 PM Saturday
Admission: Free
Check the MAAG for updates on this event
Location: LA 68, Calle 68 at Calle 55, Centro
Time: 9:00 PM Saturday
Admission: $30 pesos, $15 pesos students.
Open Your Ears: an Evening of Indian Music at Casa de Té
This is a performance by Alfred Rordame, sitar, and Lorenzo Maggs, percussion. Ragas and more to transport your aural ambiance from Merida to Mumbai. Come experience the music of India at the Casa de Té. This sister site to El Hoyo is the perfect location to enjoy the intimate nature of Indian music.
Location: Casa de Te (Calle 62 x 55 y 57)
Time: 9:00 PM Saturday
Admission: Free
Multidisciplinary Performance: "Travelin Corners" Migrant Dreams
Raul Morquech Ferrera-Balanquet. This performance will include music and theater.
Location: Parque de las Americas, in the Concha Acustica, Av. Colon x Calle 20, Garcia Gineres
Time: 8:00 PM Saturday
Admission: Free
Angelica Balado in Concert: Las Otras
Always a must see… always, always!
Preview Angelica Balado.
Location: Central Patio of the Olimpo, Calle 62 x 61
Time: 9:30 PM Saturday
Admission: Free
Noche Mexicana: Hourly Events
Tierra Mestiza in Concert. America Novia Mia. 8:00 PM
Dance: Kaambal: Where the Sun is Born. 9:00 PM
Dance: Colombians: Colombia, Waste of Joy and Folklore. 10:00 PM
Dance: Ballet Folclorico Raices / Adrian Cerda. 11:00 PM
Location: Remate Paseo de Montejo
Times: Listed above
Admission: Free
Los Caballeros del Zodiaco… the Concert
This is a performance by Grupo Kanaa
Location: Teatro Dr. Joaquin Jimenez Trava (Teatro del IMSS), Calle 41 # 439 x 34 Col. Industrial
Time: 8:30 PM Saturday
Admission: Free
Sunday (Domingo) January 16, 2011
Concert: Tower of Power
Remembering the music of the band.
Location: Parque de la Aleman, Calle 31-C x 20 y 22 Col. Aleman
Time: 8:00 PM
Admission: Free
Jose Elias Puc in Concert
Yucatan Sonoro. (Yucatan Sound)
Jose Elias Puc, who is from Merida, is currently in the Residency program with Centro Mexicano para la Musica y las Artes Sonoras, in Morelia. The residency is allowing him to complete his own original work.
Location: Parque de las Americas, Av. Colon x Calle 20, Garcia Gineres
Time: 7:00 PM Sunday
Admission: Free
Concepcion Garma in Concert
Lara in Yucatan.
Concepcion Garma is one of the premier song writers in Yucatan today. We couldn't find a clip of her singing one of her songs, but listen as Jesus Armando sings Concepcion Garma's Regresa.
Location: Garden of the Composers behind the Municipal Palace. Calle 62 x 61
Time: 12:00 PM Sunday
Admission: Free
Karim Rahme in Concert
This performance is a tribute to Timbiriche, so it will be for the teen and young adult audience.
Location: Francisco de Montejo Parque la Capilla, Calle 53-B #367 x 54 y 56
Time: 8:00 PM Sunday
Admission: Free
Andres Tinoco in Concert: I Am
Preview Andres Tinoco and his guitar.
Location: Central Patio of the Olimpo, Calle 62 x 61
Time: 8:30 PM Sunday
Admission: Free
Los Mendez, Grupo los Askis in Concert
What a Sunday evening !!!
Preview Grupo los Askis and now you know why this concert will be outside. …and here is a Preview of Los Mendez.
Location: Centro (Plaza Grande), Calle 62 x 61
Time: 6:00 PM to 8:00 PM Sunday
Admission: Free
Coming Soon
Hotel Zamna: A Night of Pan Pipe Magic: Saturday, January 22
Four talented musicians playing live under a canopy of stars.
Location: Hotel Zamna, Calle 53 # 547, Barrio de Santiago, Merida
Time: 7:30 PM, Dinner served at 8:00 PM, Concert: 9:00 PM
Admission: $125 pesos Make reservations & pick up tickets early
Hotel Zamna: St. Valentine's Massacre Day Quiz: Monday, February 14
First Prize: 4 Bottles Contraband. Are you ready to be shot at with questions and have a night full of laughter?
Location: Hotel Zamna, Calle 53 # 547, Barrio de Santiago, Merida
Time: 7:30 PM, Dinner served at 8:00 PM
Admission: $50 pesos Make reservations & pick up tickets early
Hotel Zamna: An Evening of Sheer Elegance: Saturday, February TBA
The return of the Fenix Quartet.
Location: Hotel Zamna, Calle 53 # 547, Barrio de Santiago, Merida
Time: 7:30 PM, Dinner served at 8:00 PM, Concert: 9:00 PM
Admission: $125 pesos Make reservations & pick up tickets early. Limit 38 guests
Cats n Kids Bazaar and Bake Sale: February 12, 2011
Location: TBA
Time: 9:00 AM to 4:00 PM
Please mark your calendars and plan to support what we hope will be a huge garage sale. You can start now to put things you would like to donate aside, and you can ask your friends to do so too! Half of the money from this event will go to La Casa de Los Malcriados (The House of the Brat Cats), operated by Lida and Diana, who are two of the nicest people we know. Together, they care for 55 cats and 3 dogs. The other half of the proceeds will go to Un Kilo de Auyuda, a program that seeks to end child hunger and malnutrition in Yucatan. To learn more about this important event and to contact the sponsors, Visit the YAPA Website.
Carnival 2011 (More as we hear additional information)
Mark your calendars now for the following parade dates:
March 2, 2011: Quema del Mal Humor
March 3, 2011: Preschoolers Parade
March 4, 2011: Corsican Parade
March 5, 2011: Fantasia Parade
March 6, 2011: Bachata Parade (Loads of fun with a Caribbean flavor)
March 7, 2011: Regional Parade
March 8, 2011: Battle of the Flowers Parade
March 9, 2011: Entierro de Juan Carnival
Keep an eye on Zona de Palcos to plan where you will get the best view of the festivities. No word yet on seating prices, but there should be more information soon.
Carnival Map on the Carnival de Merida 2011 website.
Have an event you want us to publicize? Just email the information to: info [at] yucatanliving [dot] com. We publish every Monday night.
For Merida Month-at-a-glance Calendar, click here
For ongoing events and classes in Merida,
please click here for our Ongoing Events Calendar!


text:
Find hotels in Grover Beach using the list and search tools below. Search for the cheapest discounted hotel and motel rates in or near Grover Beach, CA for your personal leisure or group travel. We show the best Grover Beach, California hotel and motel rooms. Browse the Grover Beach area hotels to find the perfect lodging! Please use the provided map of the Grover Beach hotels. Booking 5+ Rooms? Find Grover Beach Group Hotel Discounts
Grover Beach Hotels, Motels & Accommodations
Next 20 Grover Beach Hotels > [1 - 20 of 50]
Next: See My Grover Beach Hotels with Pricing >


text:
Novell Home
Looking for Linux? See our new home at SUSE.com
Looking for Identity, Security & Governance or IT Operations Management? See our new home at NetIQ.com
+ Novell Services Overview
+ Novell Partners Overview
+ Communities
+ About Novell
+ How to Buy Overview
17 Oct 1999NDSPassAllow the HelpDesk to view users' network account information.


text:
Mitt Romney, bruised black and blue during a grueling three-month primary gauntlet, finally has a clear path to the Republican presidential nomination and a free pass to focus entirely on President Obama.
Rick Santorum's sudden decision Tuesday to exit the GOP race was a best-case scenario for the Republican Party and for Santorum personally. His chances of capturing the GOP nomination had already dwindled to nothing, and he was facing the prospect of losing to Romney in his home state of Pennsylvania in two weeks.
"This decision is the right one for the good of the team and frankly, for Rick Santorum personally," said Rick Wilson, a GOP strategist. "This is the right call."
An ongoing primary, while not fatal to Romney, would nonetheless have been a hindrance as he tries to focus on the general election. The former Massachusetts governor had already emerged as the party's inevitable nominee and had stopped attacking Santorum by name. But his campaign had its money and attention trained on Santorum, as evidenced by the nearly $3 million it was set to spend during the next two weeks in Pennsylvania. That's money the Romney campaign now can save for the fall offensive against Obama.
Romney's campaign already is facing a yawning financial and organizational disparity – not to mention a deficit in the polls – against Obama. Now the presumptive nominee can devote time to fundraising and start immediately to unite the party, particularly conservative evangelicals who have fueled Santorum's campaign. He can move to repair his image among women, who are fueling Obama's lead in national polls. And instead of waiting for the summer to build a robust ground game in key battleground states, an area in which the Obama campaign has already invested considerable resources, he can start now.
Romney becomes the party's official leader now – not later – and after facing the prospect of a primary race continuing through June, party elders can breathe a sigh of relief.
The timing is equally beneficial to Santorum. Romney eclipsed Santorum in a trio of contests last week in Wisconsin, Maryland and the District of Columbia – a sweep that underscored the near-impossible odds Santorum faced. And those primaries were just a preview of the dominance Romney is expected to demonstrate in five northeastern primaries on April 24.
In addition, influential conservative figures from Sen. Jim DeMint, R-S.C., to former Florida Gov. Jeb Bush have been urging Republicans to unite behind a candidate, and GOP voters were starting to believe that an extended primary was hurting the party. Even if Santorum had won a few remaining contests, the delegate math required to win the nomination had become all but impossible for the former Pennsylvania senator.
The political reality weighing heaviest on the Santorum campaign was the very real, if not likely, prospect he would lose his home-state Pennsylvania primary on April 24. Santorum promised that a Keystone State victory would resuscitate his campaign, but polls showed Romney was already neck-and-neck with him there. And that was before the Romney campaign launched a multimillion dollar ad buy against Santorum, potentially steamrolling him in a state where he served 12 years as a U.S. senator.
"Rick Santorum had two options," Wilson said. "The honorable surrender where he gets to keep his sidearm, or the smoking radioactive hole."
A defeat in Pennsylvania, where Santorum lost his Senate reelection campaign by 17 points in 2006, would have been humiliating and potentially damaged his political prospects permanently. Avoiding that loss preserves his political options – possibly even another run at the White House.
"Republican primary voters have tendency to look to the next person in line," said Keith Appell, a conservative GOP strategist. "And in order to help burnish your credentials as that next person in line, you have do what Romney did four years ago, which was exit with power and grace."
He added, "In the event Romney were to lose, Santorum would be well positioned to pick up the campaign ball again" in 2016.


text:
The Yale Teaching Center presents its annual teaching forum: "Are All Yale Students 'A' Students? A Forum on Grading."
What is the role of grading in higher education? In light of current debates about grading at Yale, we invite you to join us in a campus-wide conversation about the purpose and practice of grading. The forum will explore questions including:
- How has grading at Yale changed over time?
- Why do we grade?
- How does grading affect student learning?
- What can we learn from alternative grading systems at peer institutions?
- What does it mean to be an effective teacher and an effective grader?
The forum will bring together members of the Yale administration, faculty, graduate students, undergraduates, and other members of the teaching community with the goal of sharing our differing perspectives. We aim to test our assumptions about grading and to take a critical look at our current grading practices. Participants may also expect to come away with concrete strategies for grading effectively and efficiently in their own courses.
Location: Sterling Memorial Library (SML) Lecture Hall (Wall Street entrance)
Registration. Please register here.
For more information, please contact: Stacey Blase or Daniel Jones
Preliminary Agenda
8:30 a.m., Coffee & light breakfast
9:00 a.m., Introduction
- Risa Sodi, Interim Director, Yale Teaching Center; Director of Academic Advising, Yale College Dean's Office
9:15 a.m., The History of Grading at Yale
- Penelope Laurans, Special Assistant to the President, Master of Jonathan Edwards College and Lecturer in English
9:45 a.m., Grading and the STEM Fields
- Scott Strobel, Vice President, Yale West Campus Planning and Programming, and Professor of Molecular Biophysics and Biochemistry
10:30 a.m., Coffee break
10:45 a.m., Thinking Beyond the Conventions: Alternative Approaches to Grading
- Elizabeth Colagiuri, Associate Dean of the College and secretary to the Committee on Grading, Princeton University
Princeton's grading policy since 2004 has set a common grading standard, under which As — A+, A, A- — may only account for less than 35% of the grades given in undergraduate courses and less than 55% of the grades given in junior and senior independent work
Steven E. James, Interim Dean & Chief Academic Officer, Goddard College (Vermont)
- Julie B. Norman, Senior Associate Dean and Director of the Office of Undergraduate Advising and Academic Programming, Massachusetts Institute of Technology
MIT freshmen are graded Pass/No Record in the fall and in the January Independent Activities Period, and ABC/No Record in the spring
12:00 p.m., Lunch (provided with registration)
12:45 p.m., The Present of Grading at Yale
- Stuart Paul Duncan GRD '16, Music
- Douglas McKee, Associate Chair and Lecturer, Department of Economics
- Ramamurti Shankar, John Randolph Huffman Professor of Physics & Applied Physics
- Emily Ullmann YC '14, American Studies; Timothy Dwight College
2:00 Concluding Remarks
Related Links
- "Women Should Embrace the B's in College to Make More Later" (Catherine Rampell, Washington Post)
- First-year grading at M.I.T.
- Grading at Hampshire College
- Grading at Princeton University
- "Forums Revive Grading Policy Discussion" (Yuval Ben-David, Yale Daily News, February 2014)
- "Revised Report of the Ad Hoc Committee on Grading" (Yale University, April 2013)
- "How to Get a Job at Google" (Thomas Friendman, New York Times)
- On essay grading software (New York Times)
A history of grade inflation (New York Times "Economix" blog)
"Leaked! Harvard's Grading Rubric" (New York Times)
How to grade students' work online (Yale Center for Language Study blog post)
"Moving Beyond Disciplinary Boundaries: Transformative Aspects of Contract Grading and Pedagogy" (Stuart Paul Duncan, Yale Teaching Center Blog)
- "Yale the First School to Make the Grades" (Jim Willard, Loveland, CO, Reporter-Herald)
- "The Case Against Grades," Alfie Kohn (Educational Leadership, 2011)
- "The Dangerous Myth of Grade Inflation" (Alfie Kohn, Chronicle of High Education, 2002)