2003-08-12 Assigned to CHORDIANT SOFTWARE, INC. reassignment CHORDIANT SOFTWARE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWSON, DARREN M., MYLES, J. MICHAEL, RUGGIERI, MICHAEL J., JR., ST. JEAN, JAMES D.
2011-01-19 Assigned to PEGASYSTEMS INC. reassignment PEGASYSTEMS INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: CHORDIANT SOFTWARE, INC.
A user interface for viewing reference data associated with a conceptual entity and for execution of one or more complex processes for manipulating the data includes a process panel having one or more on-screen objects for the execution of the complex processes and a process work area for displaying a state of selected complex processes. A data viewer includes a content pane for the display of the reference data and one or more on-screen objects for selectively displaying at least a portion of the reference data and the process panel and data viewer are framed within a common window. The process panel and data viewer are selectably viewable and occupy overlapping positions within the common window.
The present invention relates generally to a graphical user interface and, more particularly, to a combined process interface and data viewer interface ("process/viewer interface" or "PVI") that allows users, in a single window, to (1) execute and display one or more complex processes against some conceptual object or entity represented in software, and (2) to view reference data related to that conceptual object in an data viewer mechanism.
Unless indicated otherwise, the term "conceptual object" as used herein refers not to a data object, but to a conceptual entity that can be represented in a software model and has properties or characteristics that may need to be interrogated, and has associated processes that may be run against it. In a preferred aspect, the present invention finds particular application for use in connection with software for customer call centers or other points of customer contact such as retail branch outlets, mobile settings such as field agent environments, shipping, delivery, sales, service, route settings, e.g., wherein the conceptual objects represented in software are the customers. The present invention may also be employed with customer self-service sites, such as web-based or other remotely accessible sites. However, the present invention is not limited to any particular application type and the conceptual entities or objects are not limited to customers, but may be any items that can be managed by a software application, such as individual vehicles in a rental fleet, individual departments within a business enterprise, buildings under common management, and the like.
Typically, software applications tend to use either a single document interface (SDI) or multiple document interface (MDI) approach. Under the SDI approach, an application allows for the display of only one document at a time. An application employing an SDI requires additional instances of the application be opened to work with additional documents. Under an MDI approach, an application allows for the display of more than one document at once.
A significant disadvantage of MDI or dialog window dependent systems resides in the inconsistency of control and data location. A given dialog or sub window is unlikely to consistently open in the same location relative to the calling window. There are too many variables around parent window location, size, screen resolution, and the like. Even if the location of the related windows were relatively consistent when first open, the user may move, resize, or reorder them in the z axis at anytime, potentially making them more difficult to locate later. When multiple MDI windows must be referenced repeatedly, as in viewing reference data in one while working in another, it becomes awkward for the user to work efficiently and can be confusing.
Both the SDI and MDI approaches often additionally make use of dialogs to encapsulate complex processes, such as configuring the work environment, editing formulas, and editing style settings to name but a few. Such dialogs are generally modal, i.e., they lock out interaction with the calling window. In contrast, a non-modal dialog is a separate window launched from an application window that does not limit access to the parent window, and is generally used to run a related process. Modal dialogs have generally been used because of the difficulties inherent in management of non-modal dialogs that impact the calling parent window.
Accordingly, the present invention provides a user interface for a computer or other information handling system that provides for simultaneous execution of complex processes and viewing of reference data in a single window which overcomes the above problems and others.
In a first aspect, a user interface for viewing reference data associated with a conceptual entity and for execution of one or more complex processes for manipulating the data includes a process panel having one or more on-screen objects for the execution of the complex processes and a process work area for displaying a state of selected complex processes. A data viewer includes a content pane for the display of the reference data and one or more on-screen objects for selectively displaying at least a portion of the reference data and the process panel and data viewer are framed within a common window. The process panel and data viewer are selectably viewable and occupy overlapping positions within the common window.
In a second aspect, a combined data viewer and data processing system for use with a computer-based information handling system is provided. The information handling system includes a display device that displays on a screen of the display device a user interface for viewing and acting upon a single conceptual entity. The combined data viewer and data processing system includes a process panel comprising a first region including a list of available and/or currently running processes for the manipulation of data associated with the conceptual entity, and a second region comprising a process work area for the display of the state of a selected process and/or receiving user input. A data viewer comprises a content pane for the display of data associated with the conceptual entity.
In a third aspect, a computer-based information handling system for the display of one or more complex processes and reference data in a single window for a conceptual entity represented in software is provided. The system includes a processor for executing a program of instructions on the information handling system, a memory coupled to the processor for storing the program of instructions executable by the processor, and a display system is coupled to the processor. The program of instructions configures the information handling system to display a user interface comprising a process panel and a data viewer. The process panel includes one or more on-screen objects for the execution of the complex processes and a process work area for displaying a state of selected complex processes. The data viewer comprising a content pane for the display of the reference data and one or more on-screen objects for selectively displaying at least a portion of the reference data. A common window frames the process panel and data viewer and the process panel and data viewer are selectably viewable and occupy overlapping positions within the common window.
In a fourth aspect, a user interface (UI) for viewing reference data associated with a conceptual entity and for execution of one or more complex processes for manipulating the data comprises a process panel for executing one or more complex processes and displaying a state of the one or more complex processes. The UI also includes a data viewer for the display of reference data and a common window containing the process panel and the data viewer. The process panel and data viewer are arranged in an overlapping and individually selectable manner within the common window.
In a fifth aspect, a system for generating a combined process and data viewer interface is provide, comprising a client computer system connected to a network and a server computer system connected to the network, the network interconnecting the client computer system and the server computer system. A program of instructions comprising a user interface running on at least one of the server computer system and the client computer system, the user interface comprises a process panel for executing one or more complex processes and displaying a state of the one or more complex processes and a data viewer for the display of reference data. A common window contains the process panel and data viewer. The process panel and data viewer being arranged in an overlapping and individually selectable manner within the common window.
In a sixth aspect, a method for the display of one or more complex processes and reference data in a single window is provided. The one or more complex processes and reference data are associated with a conceptual entity represented in software. The method comprises opening a common window and displaying a process panel within the common window. The process panel includes one or more on-screen objects for the execution of the complex processes and a process work area for displaying a state of selected complex processes. A data viewer is displayed, comprising a content pane for the display of the reference data and one or more on-screen objects for selectively displaying at least a portion of the reference data. The process panel and data viewer are selectably viewable and occupying overlapping positions within the common window.
In a seventh aspect, a computer readable medium is provided whose contents cause a computer to perform method steps for the display of one or more complex processes and reference data in a single window. The one or more complex processes and reference data are associated with a conceptual entity represented in software. The method steps comprise opening a common window and displaying a process panel within the common window. The process panel comprises one or more on-screen objects for the execution of the complex processes and a process work area for displaying a state of selected complex processes. A data viewer is displayed comprising a content pane for the display of the reference data and one or more on-screen objects for selectively displaying at least a portion of the reference data. The process panel and data viewer are selectably viewable and occupy overlapping positions within the common window.
One advantage of the present invention is that it organizes all the reference data and processes for a conceptual object in a single window, thereby greatly reducing screen clutter as compared with both MDI and SDI applications. MDI applications require multiple documents and dialog windows to achieve the same result and SDI applications require multiple application instances and dialog windows. However, it will be recognized that that the PVI windows of the present invention may themselves appear in SDI or MDI style container applications.
Another advantage of the present invention resides in its simplified window management. The PVI design of the present invention organizes all the data and features, requiring multiple windows in most applications, into a single window, thus simplifying window management.
The present invention also elegantly manages the complexities inherent in viewing and managing nuances of intricate conceptual objects. Since it does so in a way that only requires a single application or document window, the present invention also lends itself to thin client web applications, where window and state management are significantly more difficult than in the traditional client/server environment.
Yet another advantage of the present invention is that it provides for a consistent location of on-screen controls and data. With the present PVI design the relative location of all controls and screens remains constant. Even if resized, the location of each item positions itself in a manner consistent with the change in window resolution. Thus, once a user learns the location of an item within the PVI he or she can safely habituate on that location since it will always be reinforced. In a multi-window approach the user must consciously search for items every time. This reduces productivity and creates greater potential for error. Control location consistency is a major usability and productivity advantage to the PVI design.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate presently preferred embodiments of the invention and, together with the general description given above, and the description of the preferred embodiments given below, serve to explain the principles of the invention.
FIG. 9 is a block diagram illustrating a web browser-based embodiment of the present invention.
Referring now to FIG. 1, an information handling system operable to embody the present invention is shown. The hardware system 100 shown in FIG. 1 is generally representative of the hardware architecture of a computer-based information handling system of the present invention, such as the client computer system 912 or the server computer system 940 of the networked system 900 shown in FIG. 9. The hardware system 100 is controlled by a central processing system 102. The central processing system 102 includes a central processing unit such as a microprocessor or microcontroller for executing programs, performing data manipulations and controlling the tasks of the hardware system 100. Communication with the central processor 102 is implemented through a system bus 110 for transferring information among the components of the hardware system 100. The bus 110 may include a data channel for facilitating information transfer between storage and other peripheral components of the hardware system. The bus 110 further provides the set of signals required for communication with the central processing system 102 including a data bus, address bus, and control bus. The bus 110 may comprise any state of the art bus architecture according to promulgated standards, for example industry standard architecture (ISA), extended industry standard architecture (EISA), Micro Channel Architecture (MCA), peripheral component interconnect (PCI) local bus, standards promulgated by the Institute of Electrical and Electronics Engineers (IEEE) including IEEE 488 general-purpose interface bus (GPIB), IEEE 696/S-100, and so on. Other components of the hardware system 100 include main memory 104, and auxiliary memory 106. The hardware system 100 may further include an auxiliary processing system 108 as required. The main memory 104 provides storage of instructions and data for programs executing on the central processing system 102. The main memory 104 is typically semiconductor-based memory such as dynamic random access memory (DRAM) and/or static random access memory (SRAM). Other semi-conductor-based memory types include, for example, synchronous dynamic random access memory (SDRAM), double data rate (DDR) SDRAM, Rambus dynamic random access memory (RDRAM), ferroelectric random access memory (FRAM), and so on. The auxiliary memory 106 provides storage of instructions and data that are loaded into the main memory 104 before execution. The auxiliary memory 106 may include semiconductor based memory such as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory (block oriented memory similar to EEPROM). The auxiliary memory 106 may also include a variety of nonsemiconductor-based memories, including, but not limited to, magnetic tape, drum, floppy disk, hard disk, optical laser disk, compact disc read-only memory (CD-ROM), write once compact disc (CD-R), rewritable compact disc (CD-RW), digital versatile disc read-only memory (DVD-ROM), write once DVD (DVD-R), rewritable digital versatile disc (DVD-RAM), etc. Other varieties of memory devices are contemplated as well. The hardware system 100 may optionally include an auxiliary processing system 108 which may include one or more auxiliary processors to manage input/output, an auxiliary processor to perform floating point mathematical operations, a digital signal processor (a special-purpose microprocessor having an architecture suitable for fast execution of signal processing algorithms), a back-end processor (a slave processor subordinate to the main processing system), an additional microprocessor or controller for dual or multiple processor systems, or a coprocessor. It will be recognized that such auxiliary processors may be discrete processors or may be built in to the main processor.
The hardware system 100 further includes a display system 112 for connecting to a display device 114, and an input/output (I/O) system 116 for connecting to one or more I/O devices 118, 120, up to N number of I/O devices 122. The display system 112 may comprise a video display adapter having all of the components for driving the display device, including video memory, buffer, and graphics engine as desired. Video memory may be, for example, video random access memory (VRAM), synchronous graphics random access memory (SGRAM), windows random access memory (WRAM), and the like.
The display device 114 may comprise a cathode ray-tube (CRT) type display such as a monitor or television, or may comprise an alternative type of display technology such as a projection-type display, liquid-crystal display (LCD), light-emitting diode (LED) display, gas or plasma display, electroluminescent display, vacuum fluorescent display, cathodoluminescent (field emission) display, plasma-addressed liquid crystal (PALC) display, high-gain emissive display (HGED), and so forth.
The input/output system 116 may comprise one or more controllers or adapters for providing interface functions between the one or more I/O devices 118-122. For example, the input/output system 116 may comprise a serial port, parallel port, integrated device electronics (IDE) interfaces including AT attachment (ATA) IDE, enhanced IDE (EIDE), and the like, small computer system interface (SCSI) including SCSI-1, SCSI-2, SCSI-3, ultra SCSI, fiber channel SCSI, and the like, universal serial bus (USB) port, IEEE 1394 serial bus port, infrared port, network adapter, printer adapter, radio-frequency (RF) communications adapter, universal asynchronous receiver-transmitter (UART) port, etc., for interfacing between corresponding I/O devices such as a keyboard, mouse, track ball, touch pad, joystick, track stick, infrared transducers, printer, modem, RF modem, bar code reader, charge-coupled device (CCD) reader, scanner, compact disc (CD), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), video capture device, TV tuner card, touch screen, stylus, electroacoustic transducer, microphone, speaker, audio amplifier, etc. The input/output system 116 and I/O devices 118-122 may provide or receive analog or digital signals for communication between the hardware system 100 of the present invention and external devices, networks, or information sources. The input/output system 116 and I/O devices 118-122 preferably implement industry promulgated architecture standards, including Ethernet IEEE 802 standards (e.g., IEEE 802.3 for broadband and baseband networks, IEEE 802.3z for Gigabit Ethernet, IEEE 802.4 for token passing bus networks, IEEE 802.5 for token ring networks, IEEE 802.6 for metropolitan area networks, and so on), Fibre Channel, digital subscriber line (DSL), asymmetric digital subscriber line (ASDL), frame relay, asynchronous transfer mode (ATM), integrated digital services network (ISDN), personal communications services (PCS), transmission control protocol/Internet protocol (TCP/IP), serial line Internet protocol/point to point protocol (SLIP/PPP), and so on. It should be appreciated that modification or reconfiguration of the hardware system 100 of FIG. 1 by one having ordinary skill in the art would not depart from the scope or the spirit of the present invention.
With reference now to FIG. 2, there is shown an exemplary screen layout of an application interface in accordance with the present invention. A common window 200 is dedicated to a single conceptual entity that is represented in software.
Although the PVI in accordance with this teaching is generally used to view and act upon a single conceptual object or entity, it will be recognized that this is not to say that it acts only on a single data object in the UML/programming sense, but rather a single entity from the perspective of an application's conceptual model. For example, in the case of customer call center software, the conceptual entity or object represented and acted upon is a single customer. In the data model, the information displayed in the PVI or conceptual customer may actually come from a host of data objects in the application, not just the customer data object. However, from the perspective of the user interface, customer is a single entity type. Thus, the PVI is tailored to be used to view and process conceptually related information, regardless of how that information may be represented in the application's data model.
The window 200 may be a single, stand alone application window, for example, wherein multiple conceptual objects would be displayed in a separate window 200, each representing a separate instance of the application. That is, the window 200 can be the application window itself, managed by the host desktop. Alternatively, the window 200 could be handled as a window residing within a containing application window 202 (shown in broken lines) and may be managed through standard window management paradigms (min, max, close, tile, etc.).
Multiple common windows 200 may be provided for multiple objects. In the case of a common window 200 which is a main application window, the simultaneous display of multiple conceptual objects can be handled as multiple instances of the application. In the case where the common window 200 resides within a single main application window 202, multiple conceptual objects are handled as multiple windows 200 displayed within the single containing application window 202.
The common window 200 contains a process panel 204 and data viewer 208. The common window 200, process panel 204, and data viewer 208 are shown in exploded view for ease of exposition, although in operation the process panel 204 and data viewer 208 are contained within the window 200 in overlapping manner, e.g., in fixed relative position therein. Each may selectively be brought into a viewable or forefront position by a user (i.e., by moving or shifting focus along a z-axis extending in the direction normal to the plane of the display), e.g., using an on-screen pointing device, keyboard command, etc.
The essential purpose of the common window framework 200 is to contain the process panel 204 and data viewer 208 elements. As the outer window frame, it may host all window management related features (minimize, maximize, close, etc.). Additionally, it may host global features that affect the entire PVI. Such features may include, for example, menus, toolbars, static text, inputs, controls, or any other component that conceptually needs to work on a global level to the PVI, and not solely in the context of the process panel or data viewer components alone.
The present invention combines, in the single common window 200, the process panel 204, which provides an interface which allows complex, multi-step processes to be executed, and an independent viewer mechanism 208. In addition to the process panel 204 and data viewer 208, the common window 200 and the main application window 202 (if present) may additionally contain various title and status bars, pull down menus, tool bars, scroll bars, and various other control buttons or switches, e.g., for window closing or resizing, or performing other functions, or other text, information, indicia, components, or controls that are desired to be available and visible at all times, regardless of the particular process or data item in focus.
The present invention essentially blends aspects of SDI, MDI, and non-modal dialogs into a single component. The PVI encapsulates process features generally associated with dialogs into a single window 204, which greatly simplifies window management for processes and reduces screen clutter. The management of processes in the process panel 204 has many features exhibited by the use of non-modal dialogs. The non-modal dialogs of the present invention run complex processes, however, their non-modal nature allows the user to return to the parent window and continue to work there, if desired. By combining the process viewer 204 and the data viewer 208, the present invention overcomes the problems associated with the asynchronous use of document interfaces and dialogs and the difficulty of keeping track of the resulting windows and correctly transferring control of and properly updating object data. The present invention also allows navigation between and sorting of non-modal dialogs related to a given parent document window.
The use of a single window in accordance with this teaching is particularly advantageous with regard to usability, since it maintains a relative location of controls within an object. This is analogous to an SDI approach in that there is a single PVI window. However, as noted above, the PVI design can alternatively be implemented as a document window within an application. In such an implementation each PVI instance 200 would be a document interface within an MDI window 202.
With reference now to FIG. 3, there is shown a common window 200 wherein the process panel 204 is focus, and wherein the data viewer 208 is in the background. The process panel 204 is the primary point of contact for editing (creating, updating, or deleting) data for the object that requires a complex process.
In the depicted embodiment, the process panel 204 includes a first region 212 containing a list or series of available processes 214 which may be run against the conceptual object represented by the common window 200. Such processes may be multi-step processes that may be passed on to others for further input. The process panel 204 also includes a second region 216 containing a list of currently running processes 218. The process panel 204 further includes a third region 220, which is a process work area. The process work area 220 will change in accordance with the particular process selected and may provide a means for the entry of user input, for example, via windows or text boxes, on-screen buttons, one or more interactive prompts or dialog boxes, on-screen questionnaires, software wizards, or the like, to guide the user through the selected process.
The process panel 204 and data viewer 208 occupy the workspace of the common window framework 200 in such a way that the available and current process lists 212 and 216 are visible when the data viewer 208 is selected or brought to fore, so as to afford immediate access to the processes 214 and 218 at any point.
In operation, the selection of an available process 214, e.g., with an on-screen pointer, within the available process region 212 will begin execution of the selected process 214 within the window 220. Upon selection of a currently running process 218 within the window 216 (or, in the event a selected process 214 is also a currently running process), the contents of the process work area 220 will be updated to reflect current state of execution of the selected process 214.
The conceptual arrangement of the process window 220 as a plurality of selectable process pages or screens is illustrated in FIG. 5. Multiple processes may reside in the work area 220 of the process panel. Navigation between processes if afforded by selecting (e.g., by clicking with an on-screen pointing device) a process from the current process list to bring it into focus in the process panel work area 220.
The process panel 204 is used to run complex processes against the conceptual object or entity represented by the PVI. These are potentially multi-step processes that may be passed on to others for further input. For example, where the PVI is used to represent a customer in the system, a user may choose to run a process such as "Apply for Loan." This process may be started by a phone representative who gathers all the pertinent information over the course of one or more input pages. Upon completion, that process would then be routed to other users in the system with authorization to review and approve loan applications.
Alternatively, a process may be fully completed by the user who initiates it, but the complexity and dependencies of the process may require that it be run as a process, and not simply handled through inline editing. Returning to the above example, a process such as "Open New Account" could be run by an agent on behalf of a customer, but since opening a new account (e.g., with a financial institution) requires several steps (e.g., selecting the type of account, account number generation, opening balance, ATM card ordering, setting of PIN, to name a few). Since each step may be dependent on those run previously, such processes do not lend themselves to direct data manipulation, as would adding a note about a transaction.
As seen, the process panel 204 is well-suited to handling complex input and data processing procedures. Thus, the PVI of the present invention is designed to address the problems inherent in viewing and managing data related to an object that may require complex processes to be run against it.
The available process list portion 212 of the process panel 204 lists all the processes that may be run for the entity represented by the PVI. Selecting a process 214 to run in the available process list will add that process to the current process list 216. Controls used to facilitate selection of processes from the available list, though not mandated by the PVI architecture, may be provided, e.g., in the form of link text or buttons in most applications, allowing for quick (e.g., single-click) selection.
It may often be the case that the available processes need to vary depending on a given users access rights, system configuration, or other parameter. Thus, the available process list 212 may be implemented in a manner that affords dynamic definition of processes.
The current process list 216 of the process panel lists all processes 218 run or currently running in a given session. Preferably, the current process list 216 provides the run or running processes 218 in chronological order. As processes 214 are selected from the available process list 212 they are added to an end of the current process list. Preferably, selected processes are added to the bottom or end of the list, such that the first or top process in the current list region 216 is the first one that was selected from the available list; the second process in the current list 216 is the second available process selected; and so on. In this way they user can see the order in which processes where started at a glance. However, alternative orderings of the list items 218, such as reverse chronological listing, are also contemplated.
In a further aspect, the current process panel 216 may also include indicia which shows the process state for each of the list items 218. Such states may includes, for example, active, completed, saved, and so forth. The indicia indicating process state may be any associated visual indicator of state. This may be done, for example, through the use of icons, color changes, special characters, font or font style, or similar methods, used alone or in combination.
Processes 218 in the current process panel 216, like those in the available process list are not limited in the selection controls they may use, but both the available and current process lists preferably employ generally the same, or similar controls (such as link text or buttons). Selecting a process 218 in the current process list 216 has the effect of bringing focus to the selected process in the process pane 204. Thus, if the data viewer 208 is in focus when a given current process list item 218 is selected, the data viewer loses focus and the process pane 204 comes to the fore with the selected process in the process work area 220. If the process panel is already in focus, the current contents of the process panel work area 220 are replaced with the selected process.
In addition to allowing for selection, items 218 in the current process list should preferably employ a mechanism to show selection. For instance, if there is a list of four processes 218 in the current list and one is actively in focus, that in-focus process list item should be highlighted or emphasized in some manner or provides with an associated icon or other on-screen indicia. In operation, the current process list 218 is very similar to a tab control serving to bring to the fore a selected one of a number of pages in the process work area 220. This conceptualization of the current process list items 218 as pages which are individually selectable is illustrated in FIG. 5. Thus it is desirable to provide some visual representation of the selected versus unselected processes 218 in the current process list area 216.
If at any point a user chooses to switch focus from the data viewer 208 to the process panel 204 directly (i.e., not selecting a specific process 218 in the list 216, but simply selecting the top level process panel 204) the current process indicated as selected in the list will preferably be brought into focus and appear in the process panel work area 220 when the process panel 204 is brought to the forefront. In keeping with that behavior, if a given process 218 is shown as selected in the current process list 216, switching focus to the data viewer 208 will preferably not cause the process list item to become deselected and change to an unselected appearance in the list.
When a process is selected from the available process list 212, it is preferably added to the end of the current process list in region 216. However, the resultant appearance of the process work area 220 as a result of the selection, i.e., whether the process work area 220 is immediately to show the selected process, may be handled in a number of ways.
For example, in the simplest case where no processes have yet been selected and the current process list is empty, selecting a process 214 from the available list 212 will add it to the current list 216 and bring focus to the process panel with the process visible in the process work area 220.
In another situation, where an active process is not in focus, the behavior will be the same, namely, selecting a process 214 from the available list 212 will add it to the current list 216 and bring that selected process into view in the work area 220. This may occur, for example, in situations where a process 214 is selected from the available list 212 when the data viewer 208 or an inactive process (e.g., a process in completed state) is in focus.
If an active process is in focus and another process is selected from the available list 214, the new process is likewise added to the current list. In certain embodiments, the process work area 220 may be updated to reflect the selected process in all cases. However, preferred embodiments, in such cases where an active process is in focus and another process is selected, it is preferable that focus not be immediately switched away from the active process to the newly selected one. This preference is based on the presumption that while actively engaged in a complex task, a user generally will not want focus shifted from that task unless they explicitly instruct the system to shift focus. Rather than lose context of the current process, the PVI will preferably queue up the newly selected process for execution at some later time of the users choosing, e.g., by subsequent selection from the list 216 after it has been added thereto.
In many situations it may be desirable that all current processes be in a non-active state (i.e. complete, canceled, differed, saved, etc.) before the PVI is closed. Thus, in certain embodiments, the PVI system of the present invention can handle moving processes from an active state to a non-active state, e.g., automatically under preprogrammed control, or, by forcing the user to do so manually prior to shutdown or closing of a PVI common window 200, for example, through the use of on-screen prompts or the like.
The process work area 220 of the process panel is where the user interfaces of the individual processes are displayed. The process work area 220 occupies the same screen real estate in the PVI common window 200 as does the data viewer 208. Thus, the user may switch between viewing reference data or a process.
While the process work area 220 provides the area where current process user interfaces are displayed, there may be cases where there are no current processes, i.e., there are no processes 218 listed in the current process list 216. Thus, the case where no processes have yet been selected and the current process list is empty can be handled in a number of ways. For example, the system could display the data viewer 208 and disable the ability to shift focus to the process panel 204 until such time as a process is selected. Alternatively, a process panel default or base page could be displayed in the process panel 204 in the absence of any current processes. For example, if there is global data for the process panel 204 that is desired to be displayed or made available for display, a process panel base page may be a logical place for such information to reside. For example, when the conceptual entity is a customer, a process panel base page may be provided to display process history information about the customer.
In embodiments wherein a process panel base page is provided, it is desirable that such page also be made available and viewable even after processes are selected from the available process list 212 and appear on the current process list. Thus, an icon, button, text link, or the like may be provided in either or both of the regions 212 and 216 for navigating to the process panel base page. Alternatively, clicking in region 212 or 216 without clicking directly on an available process or current process list item, i.e., in the background of such regions, could bring up such a process panel base page. Of course, such a page could also or alternatively be made accessible through a keyboard command, pull down menu, context menu, or the like.
The data viewer 208 includes one or more data pages having user-selectable regions 222 extending beyond the bounds of the process viewer panel 204 that, when selected (e.g., using an on-screen pointing device), brings the data viewer 208 into focus, as shown in FIG. 4. In the depicted embodiment, the user-selectable regions 222 are selectable tabs, which are particularly advantageous where data is contained on multiple pages in that each of the pages is readily selectable by the user.
In reference to FIG. 4, the display viewer 208 is shown in the viewable, forefront position, with the process viewer 204 behind the viewer 208. It will be noted, however, that the available and current list regions 212 and 214 extend outside the bounds of the data viewer 208. Thus, the process panel 204, as well as a particular available process 214 or currently running process 218, may be selected at any time, even when the data viewer 208 is in focus.
The data viewer 208 is the prime point of contact for viewing information on an object. The viewer 208 may advantageously be broken down into logical categories of information organized via the tab interface. The data viewer 208 includes multiple tabs 222 for providing access for multiple pages 224 of data. The tabs 222 may further include indicia thereon indicating a logical category of data. A preferred arrangement of the data viewer 208 as a plurality of tabbed pages of data is illustrated in FIG. 6.
Although the user-selectable on-screen objects are depicted as multiple tabs 222 in the illustrated embodiment, it will be recognized that on-screen objects are contemplated as well, such as buttons, radio buttons, lists, check boxes, and so forth. Also, it is preferred that the tabs 222 (or other on-screen object) provide some indicia for visually differentiating between the currently selected page of data and the non-selected page(s) of data. Likewise, it is preferred that the on-screen indication of the selected data page be retained when the process panel is selected and brought to the forefront.
The data pages 224 may serve as a place holder for any mechanism desired to view reference data. The data to be viewed is generally static in nature, although direct editing or manipulation of data displayed in the data viewer is also contemplated, e.g., via inline editing of the data in the viewer, particularly for changes not requiring a complex process.
The data viewer component of the PVI is what a user may interrogate reference information on the represented object. The exact nature of the data viewer will depend greatly on the application requirements and data set being viewed. The depicted embodiment makes use of a multi-tabbed data viewer. In the case of the conceptual entity being a customer, as shown in FIG. 8, each tab represents a category of information for the customer, such as summary, history, accounts, and so forth. Thus, each tab may vary in its features and presentation based on the needs of the data it organizes. For example, history and accounts may be equipped with powerful search, sort, and filter controls, whereas the summary tab contains simple tables of data that require no search or sort capabilities.
FIGS. 7 and 8 show specific embodiments of the PVI in accordance with the present invention in the context of a customer call center application wherein the process panel 204 and data viewer 208, respectively, are shown in the foreground.
Referring now to FIG. 9, a block diagram depicting an exemplary networked information handling system 900 in accordance with a preferred, web browser-based embodiment of the present invention is shown. The information handling system 900 includes one or more network servers 910 interconnected with one or more remotely located client computer systems 912 configured to allow a user to use a browser over a network 940. The client computer system 912 and server computer system 910 may be, for example, a computer-based information handling system as described above by way of reference to FIG. 1. The network 940 interconnecting server 910 and the remote client system 912 can include, for example, a local area network (LAN), metropolitan area network (MAN), wide area network (WAN), and the like, and interconnections thereof. Network connection 940 can be an Internet connection made using the World Wide Web, an intranet connection, or the like. Since the PVI of the present invention requires only a single application or document window, it particularly lends itself to thin client web applications.
To retrieve data for a selected object for display and/or processing, the server system 910 operates web server software 916. The server computer system 910 further includes a database or data store 918, which may be a single database or a plurality of separate but linked databases, or alternately, can be one or more database elements, such as tables, data stores, repositories within one or more larger databases, and so forth.
The database 918 contains information for the conceptual objects represented in software. The database 918 may be DBMS-based storage system or the data may come from a non-DBMS based storage system such as object databases, XML files, or data obtained through calls to web services or other persistent or real-time data source. For example, in the case of software for use in connection with a customer call center, data may include, for example, customer name, shipping information, account information, address or other location information, e-mail address, phone numbers, customer profile data, and so forth.
The server computer system 910 and client computer system 912 interact by exchanging information via communications link 940, which may include transmission over the Internet. In the depicted, web browser-based embodiment, the server engine receives hypertext transfer protocol (HTTP) requests to access web pages identified by uniform resource locators (URLs) and provides the requested web pages to the client computer systems for display using the browser 914, as is generally known in the art.
To execute processes and/or view data for a conceptual object represented in software, a user operates client computer system 912. The client computer system 912 operates web browser software 914 that allows the user to download and display one or more web pages 920 contained on the server computer system 910.
Each of the web pages 920 includes a process panel or region 204 and data panel or region 208, arranged in overlapping manner within a common window 200 (see FIG. 2) on the web page 920, and each of which may be selectively brought into view or focus as described above. The process panel includes one or more, and preferably two, process list regions 212 and 216 for display of available and/or currently running processes. The process panel also includes a process display region 220 for the display of one or more process pages 226. The data panel 208 displays one or more data pages 228, displaying data retrieved from the database 918.
In certain embodiments, the PVI of the present invention may be employed in connection with a web application targeted to run in Microsoft's Internet Explorer browser (e.g., version 5.5 or higher), and may be implemented through a combination of web pages and iframes, with JSP and XML used to handle dynamic content.
The PVI could alternately be implemented through the use of standard tables and other W3C HTML 4.0 standard approaches to provide compatibility with web browsers other than IE5.5 and higher. Additionally, the PVI could be implemented in a host of other programming languages (such as Java and C++) and run as a stand alone application or client/server application. Although the PVI architecture is particularly suited for web applications, the PVI design features may also be advantageously used for non-web based applications.
Although the invention has been described with a certain degree of particularity, it should be recognized that elements thereof may be altered by persons skilled in the art without departing from the spirit and scope of the invention. One of the embodiments of the invention can be implemented as sets of instructions resident in the main memory 104 of one or more computer systems configured generally as described in FIG. 1. Until required by the computer system, the set of instructions may be stored in another computer readable memory such as the auxiliary memory of FIG. 1, for example in a hard disk drive or in a removable memory such as an optical disk for utilization in a DVD-ROM or CD-ROM drive, a magnetic media for utilization in a magnetic media drive, a magneto-optical disk for utilization in a magneto-optical drive, a floptical disk for utilization in a floptical drive, or a memory card for utilization in a card slot. Further, the set of instructions can be stored in the memory of another computer and transmitted over a local area network or a wide area network, such as the Internet, when desired by the user. Additionally, the instructions may be transmitted over a network in the form of an applet that is interpreted after transmission to the computer system rather than prior to transmission. One skilled in the art would appreciate that the physical storage of the sets of instructions or applets physically changes the medium upon which it is stored electrically, magnetically, chemically, physically, optically, or holographically, so that the medium carries computer readable information.
The description above should not be construed as limiting the scope of the invention, but as merely providing illustrations to some of the presently preferred embodiments of this invention. In light of the above description and examples, various other modifications and variations will now become apparent to those skilled in the art without departing from the spirit and scope of the present invention as defined by the appended claims. Accordingly, the scope of the invention should be determined solely by the appended claims and their legal equivalents.
said process panel and data viewer being selectably viewable and occupying overlapping positions within said common window, said user interface arranged to display the first display region, the second display region, and the data viewer in contemporaneous and non-overlapping manner when the data viewer is selected, and to display the first display region, the second display region, and the process work area in contemporaneous and non-overlapping manner when the process panel is selected.
2. The user interface of claim 1, wherein the process work area is coextensive with said content pane.
queuing of a selected complex process for later execution.
execution of a selected complex process.
5. The user interface of claim 1, wherein said first region and said second region are located adjacent to each other in the process panel.
6. The user interface of claim 1, wherein the process work area is coextensive with said content pane, and further wherein the data viewer includes multiple pages of data, each of said multiple pages selectively displayable within said content pane.
a tab associated with each of said multiple pages of data for displaying a selected one of said multiple pages of data.
an on-screen object for the selective display of a default process page in said process work area.
9. The user interface of claim 1, wherein the conceptual entity is a customer.
said first, second, and third regions being mutually non-overlapping.
11. The combined data viewer and data processing system of claim 10, wherein the process work area and content pane are coextensive.
said process panel and data viewer being arranged in an overlapping and individually selectable manner within said common window, said user interface arranged to display the first display region, the second display region, and the data viewer in contemporaneous and non-overlapping manner when the data viewer is selected, and to display the first display region, the second display region, and the process work area in contemporaneous and non-overlapping manner when the process panel is selected.
17. The system of claim 16, wherein the user interface comprises one or more interface elements defined using HTML.
18. The system of claim 16, wherein the client computer system comprises a web browser for accessing the network and communicating with the server over the network.
19. The system of claim 16, wherein the server computer system comprises a database containing the reference data.
20. The system of claim 19, wherein said conceptual entity is a customer and said information comprises one or more prestored items associated with the customer.
21. The system of claim 16, wherein the client computer system and the server computer system communicate via the Internet.
said process panel and data viewer being selectably viewable and occupying overlapping positions within said common window, said process panel and data viewer arranged to display the first display region, the second display region, and the data viewer in contemporaneous and non-overlapping manner when the data viewer is selected, and to display the first display region, the second display region, and the process work area in contemporaneous and non-overlapping manner when the process panel is selected.
23. The method of claim 22, wherein the process work area is coextensive with said content pane.
configuring the process panel to allow execution of only complex processes that are associated with an identified level of user access.
27. The method of claim 22, wherein said first region and said second region are located adjacent to each other in the process panel.
28. The method of claim 22, wherein the process work area is coextensive with said content pane, and further wherein the data viewer includes multiple pages of data, each of said multiple pages selectively displayable within said content pane.
31. The method of claim 22, wherein the conceptual entity is a customer.
displaying a representation of said set of available complex processes in said process panel.


text:
Q: Discord.js does not recognise the description of an embed I've been making a custom bot for a server I'm in, and all was going well until I encountered this runtime error in code that was seemingly working fine. Any tips?
Error:
throw new DiscordAPIError(data, res.status, request);
            ^

DiscordAPIError: Invalid Form Body
embeds[0].description: This field is required
    at RequestHandler.execute (C:\Users\arinb\node_modules\discord.js\src\rest\RequestHandler.js:350:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async RequestHandler.push (C:\Users\arinb\node_modules\discord.js\src\rest\RequestHandler.js:51:14)
    at async TextChannel.send (C:\Users\arinb\node_modules\discord.js\src\structures\interfaces\TextBasedChannel.js:175:15) {
  method: 'post',
  path: '/channels/949653134551154718/messages',
  code: 50035,
  httpStatus: 400,
  requestData: {
    json: {
      content: undefined,
      tts: false,
      nonce: undefined,
      embeds: [
        {
          title: null,
          type: 'rich',
          description: null,
          url: null,
          timestamp: null,
          color: null,
          fields: [],
          thumbnail: null,
          image: null,
          author: null,
          footer: null
        }
      ],
      components: undefined,
      username: undefined,
      avatar_url: undefined,
      allowed_mentions: undefined,
      flags: undefined,
      message_reference: undefined,
      attachments: undefined,
      sticker_ids: undefined
    },
    files: []
  }
}

code:
client.on('interactionCreate', (interaction) => {
    let target = client.channels.cache.get(baseChannel) // gets channel 'general'
    let waitTrue = setWaitTime()
    if (!waitTrue) {
        console.log("sending success message")
        await interaction.reply({embeds: [
            new MessageEmbed()
                .setColor("DARK_BUT_NOT_BLACK")
                .setTitle("Current Status")
                .setDescription("OFF")
        ]})
        target.send({components: [defaultMessage(serverState)] })
    } else {
        interaction.reply({embeds : [waitTrue]})
    }
}

function setWaitTime() {
    state = serverState
    let retValue = false
    if (state.minecraft.players + state.hlServer.players != 0 ){
        retValue = {embeds: [
            new MessageEmbed()
                .setColor("LUMINOUS_VIVID_PINK")
                .setDescription(`People are currently using the ${(state.minecraft.on) ? "minecraft": (state.hlServer.on) ? "TF2" : "ERROR"} server, try again later`)
                .setTitle("Queued your selection")
            ]
        }
    }
    console.log(retValue)
    return retValue

I'm not sure why discord.js has not recognised the .setDescription(...) that has been applied to the embed, especially as this function was not changed since it worked...

A: After executing the setWaitTime() function, the value of the retValue variable is an object with an embed key and the value being the MessageEmbed so when you try to send retValue, what is actually happening is something like this:
interaction.reply({
    embeds: {
        embeds: {
            new MessageEmbed()
            // ...
        }
    }
})

which is why this particular error is happening. So to fix it, instead of sending retValue as the embed property, just send it by itself like this:
interaction.reply(retValue)

redpajama_set_name: RedPajamaStackExchange


Click the button below to add the Air Vent Screw with cut thread for Cobra Boards inox 316 (Α4) to your wish list.
Quality stainless bolt machined for generic board pressure valves.
No need for screwdriver. A coin is recommended to prevent 0-Ring and plastic thread damage from over-tightening.
Machined recess to protect washer from metal thread. Thread machined so excess air can escape with just a few turns.
Material: inox AISI316 (A4 Marine Grade).


text:
import growler
import pytest
from unittest import mock

from mock_classes import (                                               # noqa
    mock_protocol,
    request_uri,
)

@pytest.fixture
def auth():
    return growler.middleware.auth.Auth()

def test_constructor(auth):
    assert isinstance(auth, growler.middleware.auth.Auth)

def test_docstring(auth):
    doc = auth.__doc__
    assert isinstance(doc, str)

def test_call(auth):
    do_auth = auth()
    assert callable(do_auth)
    with pytest.raises(NotImplementedError):
        do_auth(mock.Mock(), mock.Mock())

def test_do_authentication(auth):
    with pytest.raises(NotImplementedError):
        auth.do_authentication(mock.Mock(), mock.Mock())

redpajama_set_name: RedPajamaGithub


text:
struct citymap_dat_chunk
{
	uint16_t unknown1[8];
	uint8_t voxelIdx[16];
	uint8_t unknown[20];
};
static_assert(sizeof(struct citymap_dat_chunk) == 52, "citymap data chunk wrong size");

namespace OpenApoc
{
namespace
{
bool LoadCityMap(Framework &fw, Vec3<int> size, tinyxml2::XMLElement *root,
                 std::vector<UString> &tileIDs)
{
	std::ignore = fw;
	size_t tileCount = size.x * size.y * size.z;

	tileIDs.resize(tileCount);
	for (tinyxml2::XMLElement *e = root->FirstChildElement(); e != nullptr;
	     e = e->NextSiblingElement())
	{
		UString name = e->Name();
		if (name != "tile")
		{
			LogError("Unexpected node \"%s\" - expected \"tile\"", name.c_str());
			return false;
		}
		int x, y, z;
		auto err = e->QueryIntAttribute("x", &x);
		if (err != tinyxml2::XML_SUCCESS)
		{
			LogError("City map tile missing \"x\" attribute");
			return false;
		}
		if (x >= size.x || x < 0)
		{
			LogError("City map tile has invalid x %d - city size {%d,%d,%d}", x, size.x, size.y,
			         size.z);
			return false;
		}
		err = e->QueryIntAttribute("y", &y);
		if (err != tinyxml2::XML_SUCCESS)
		{
			LogError("City map tile missing \"y\" attribute");
			return false;
		}
		if (y >= size.y || y < 0)
		{
			LogError("City map tile has invalid y %d - city size {%d,%d,%d}", y, size.x, size.y,
			         size.z);
			return false;
		}
		err = e->QueryIntAttribute("z", &z);
		if (err != tinyxml2::XML_SUCCESS)
		{
			LogError("City map tile missing \"z\" attribute");
			return false;
		}
		if (z >= size.z || z < 0)
		{
			LogError("City map tile has invalid y %d - city size {%d,%d,%d}", z, size.x, size.y,
			         size.z);
			return false;
		}

		UString tileID = e->GetText();
		if (tileID == "")
		{
			LogError("Tile at {%d,%d,%d} missing tile ID", x, y, z);
			return false;
		}
		unsigned offset = (size.y * size.x) * z + (size.x) * y + x;
		if (tileIDs[offset] != "")
		{
			LogError("Multiple city tiles defined at {%d,%d,%d}", x, y, z);
			return false;
		}
		tileIDs[offset] = tileID;
	}

	LogInfo("Loaded city of size {%d,%d,%d}", size.x, size.y, size.z);

	return true;
}

bool LoadCityTile(Framework &fw, tinyxml2::XMLElement *root, UString &tileID, sp<Image> &sprite,
                  sp<Image> &stratmapSprite, sp<VoxelMap> &voxelMap, bool &isLandingPad,
                  std::vector<UString> &landingPadList, UString &damagedTileID,
                  sp<Image> &overlaySprite)
{
	sp<Image> readSprite = nullptr;
	sp<Image> readStratmapSprite = nullptr;
	sp<VoxelMap> readVoxelMap = nullptr;
	isLandingPad = false;

	int numVoxelLayers = 0;

	if (UString(root->Name()) != "tile")
	{
		LogError("Called on unexpected node \"%s\"", root->Name());
		return false;
	}

	tileID = root->Attribute("id");
	if (tileID == "")
	{
		LogError("Tile with no ID");
		return false;
	}
	UString spriteString = root->Attribute("sprite");

	if (spriteString == "")
	{
		LogError("No sprite in tile");
		return false;
	}

	UString stratmapString = root->Attribute("stratmap");

	if (stratmapString != "")
	{
		readStratmapSprite = fw.data->load_image(stratmapString);
		if (!readStratmapSprite)
		{
			LogInfo("Failed to load stratmap image \"%s\"", stratmapString.c_str());
			return false;
		}
	}

	// Optional damaged tile ID
	ReadAttribute(root, "damaged_id", damagedTileID, UString(""));

	UString landingPad = root->Attribute("landingpad");
	if (landingPad != "")
	{
		LogInfo("Tile \"%s\" is a landing pad", tileID.c_str());
		landingPadList.push_back(tileID);
		isLandingPad = true;
	}

	readSprite = fw.data->load_image(spriteString);
	if (!readSprite)
	{
		LogError("Failed to load sprite image \"%s\"", spriteString.c_str());
		return false;
	}

	UString overlayPath;
	// Optional overlay sprite
	if (ReadAttribute(root, "overlay", overlayPath))
	{
		sp<Image> overlay = fw.data->load_image(overlayPath);
		if (!overlay)
		{
			LogError("Failed to load overlay image \"%s\"", overlayPath.c_str());
			return false;
		}
		overlaySprite = overlay;
	}

	for (tinyxml2::XMLElement *e = root->FirstChildElement(); e != nullptr;
	     e = e->NextSiblingElement())
	{
		UString name = e->Name();
		if (name == "lof")
		{
			int voxelSizeX = 0, voxelSizeY = 0, voxelSizeZ = 0;
			auto err = e->QueryIntAttribute("sizeX", &voxelSizeX);
			if (err != tinyxml2::XML_SUCCESS)
			{
				LogError("Failed to load voxel \"sizeX\" attribute");
				return false;
			}
			err = e->QueryIntAttribute("sizeY", &voxelSizeY);
			if (err != tinyxml2::XML_SUCCESS)
			{
				LogError("Failed to load voxel \"sizeY\" attribute");
				return false;
			}
			err = e->QueryIntAttribute("sizeZ", &voxelSizeZ);
			if (err != tinyxml2::XML_SUCCESS)
			{
				LogError("Failed to load voxel \"sizeZ\" attribute");
				return false;
			}
			// FIXME: Support non-32x32x16 tile voxels?
			// Would that then be 'scaled' into a single tile, or allow larger/smaller tiles?
			// Would cause a lot of effort for little obvious use
			if (voxelSizeX != 32 || voxelSizeY != 32 || voxelSizeZ != 16)
			{
				LogError("Unexpected LOF voxel size {%d,%d,%d} - expected {32,32,16}", voxelSizeX,
				         voxelSizeY, voxelSizeZ);
				return false;
			}

			readVoxelMap.reset(new VoxelMap(Vec3<int>{voxelSizeX, voxelSizeY, voxelSizeZ}));

			for (tinyxml2::XMLElement *layer = e->FirstChildElement(); layer != nullptr;
			     layer = layer->NextSiblingElement())
			{
				UString layerName = layer->Name();
				if (layerName != "loflayer")
				{
					LogError("Unexpected node \"%s\" - expected \"loflayer\"", name.c_str());
					return false;
				}
				if (numVoxelLayers >= voxelSizeZ)
				{
					LogError("Too many lof layers specified (sizeZ %d)", voxelSizeZ);
					return false;
				}
				UString voxelSliceString = layer->GetText();
				if (voxelSliceString == "")
				{
					LogError("No loflayer specified");
					return false;
				}
				auto lofSlice = fw.data->load_voxel_slice(voxelSliceString);
				if (!lofSlice)
				{
					LogError("Failed to load loflayer \"%s\"", voxelSliceString.c_str());
					return false;
				}
				if (lofSlice->getSize().x != voxelSizeX || lofSlice->getSize().y != voxelSizeY)
				{
					LogError("Voxel slice size {%d,%d} in {%d,%d} tile", lofSlice->getSize().x,
					         lofSlice->getSize().y, voxelSizeX, voxelSizeY);
					return false;
				}
				readVoxelMap->setSlice(numVoxelLayers, lofSlice);
				numVoxelLayers++;
			}
		}
		else
		{
			LogError("Unexpected node \"%s\" - expected \"lof\"", name.c_str());
			return false;
		}
	}

	if (!readSprite)
	{
		LogError("Tile with no sprite");
		return false;
	}
	if (!readVoxelMap)
	{
		LogError("Tile with no voxel map");
		return false;
	}

	sprite = readSprite;
	stratmapSprite = readStratmapSprite;
	voxelMap = readVoxelMap;

	return true;
}

}; // anonymous namespace
bool RulesLoader::ParseCityDefinition(Framework &fw, Rules &rules, tinyxml2::XMLElement *root)
{
	TRACE_FN;
	if (UString(root->Name()) != "city")
	{
		LogError("Called on unexpected node \"%s\"", root->Name());
		return false;
	}

	for (tinyxml2::XMLElement *e = root->FirstChildElement(); e != nullptr;
	     e = e->NextSiblingElement())
	{
		UString name = e->Name();
		if (name == "map")
		{
			int sizeX, sizeY, sizeZ;
			auto error = e->QueryIntAttribute("sizeX", &sizeX);
			if (error != tinyxml2::XML_SUCCESS)
			{
				LogError("Map has no sizeX");
				return false;
			}
			error = e->QueryIntAttribute("sizeY", &sizeY);
			if (error != tinyxml2::XML_SUCCESS)
			{
				LogError("Map has no sizeY");
				return false;
			}
			error = e->QueryIntAttribute("sizeZ", &sizeZ);
			if (error != tinyxml2::XML_SUCCESS)
			{
				LogError("Map has no sizeZ");
				return false;
			}
			Vec3<int> size{sizeX, sizeY, sizeZ};
			// FIXME: Allow sizes greater than 100x100x10
			if (size.x < 0 || size.x > 100 || size.y < 0 || size.y > 100 || size.z < 0 ||
			    size.z > 10)
			{
				LogError("Invalid map size {%d,%d,%d}", size.x, size.y, size.z);
				return false;
			}
			if (!LoadCityMap(fw, size, e, rules.tileIDs))
			{
				LogError("Error parsing map \"%s\"", e->GetText());
				return false;
			}
			rules.citySize = size;
		}
		else if (name == "buildings")
		{
			for (tinyxml2::XMLElement *bld = e->FirstChildElement(); bld != nullptr;
			     bld = bld->NextSiblingElement())
			{
				BuildingDef def;
				UString bldNodeName = bld->Name();
				if (bldNodeName != "building")
				{
					LogError("Unexpected node \"%s\" - expected \"building\"", bldNodeName.c_str());
					return false;
				}
				UString bldName = bld->Attribute("name");
				if (bldName == "")
				{
					LogError("Building has no name");
					return false;
				}
				UString owner = bld->Attribute("owner");
				if (owner == "")
				{
					LogError("Building \"%s\" has no owner", bldName.c_str());
					return false;
				}
				int x0, x1, y0, y1;
				auto err = bld->QueryIntAttribute("x0", &x0);
				if (err != tinyxml2::XML_SUCCESS)
				{
					LogError("Building \"%s\" has invalid x0 bound", bldName.c_str());
					return false;
				}
				err = bld->QueryIntAttribute("x1", &x1);
				if (err != tinyxml2::XML_SUCCESS)
				{
					LogError("Building \"%s\" has invalid x1 bound", bldName.c_str());
					return false;
				}
				err = bld->QueryIntAttribute("y0", &y0);
				if (err != tinyxml2::XML_SUCCESS)
				{
					LogError("Building \"%s\" has invalid y0 bound", bldName.c_str());
					return false;
				}
				err = bld->QueryIntAttribute("y1", &y1);
				if (err != tinyxml2::XML_SUCCESS)
				{
					LogError("Building \"%s\" has invalid y1 bound", bldName.c_str());
					return false;
				}
				def.name = bldName;
				def.ownerName = owner;
				def.bounds = {x0, y0, x1, y1};
				for (tinyxml2::XMLElement *base = bld->FirstChildElement(); base != nullptr;
				     base = base->NextSiblingElement())
				{
					UString baseNodeName = base->Name();
					if (baseNodeName != "base")
					{
						LogError("Unexpected node \"%s\" - expected \"base\"",
						         baseNodeName.c_str());
						return false;
					}
					err = base->QueryIntAttribute("x", &x0);
					if (err != tinyxml2::XML_SUCCESS)
					{
						LogError("Building \"%s\" has invalid base x bound", bldName.c_str());
						return false;
					}
					err = base->QueryIntAttribute("y", &y0);
					if (err != tinyxml2::XML_SUCCESS)
					{
						LogError("Building \"%s\" has invalid base y bound", bldName.c_str());
						return false;
					}
					def.baseLift = {x0, y0};
					for (tinyxml2::XMLElement *b = base->FirstChildElement(); b != nullptr;
					     b = b->NextSiblingElement())
					{
						UString bNodeName = b->Name();
						if (bNodeName != "corridor")
						{
							LogError("Unexpected node \"%s\" - expected \"corridor\"",
							         bNodeName.c_str());
							return false;
						}
						err = b->QueryIntAttribute("x0", &x0);
						if (err != tinyxml2::XML_SUCCESS)
						{
							LogError("Building \"%s\" has invalid corridor x0 bound",
							         bldName.c_str());
							return false;
						}
						err = b->QueryIntAttribute("x1", &x1);
						if (err != tinyxml2::XML_SUCCESS)
						{
							LogError("Building \"%s\" has invalid corridor x1 bound",
							         bldName.c_str());
							return false;
						}
						err = b->QueryIntAttribute("y0", &y0);
						if (err != tinyxml2::XML_SUCCESS)
						{
							LogError("Building \"%s\" has invalid corridor y0 bound",
							         bldName.c_str());
							return false;
						}
						err = b->QueryIntAttribute("y1", &y1);
						if (err != tinyxml2::XML_SUCCESS)
						{
							LogError("Building \"%s\" has invalid corridor y1 bound",
							         bldName.c_str());
							return false;
						}
						def.baseCorridors.push_back({x0, y0, x1, y1});
					}
				}
				rules.buildings.emplace_back(def);
			}
		}
		else if (name == "tiles")
		{
			int count;
			int numRead = 0;
			auto error = e->QueryIntAttribute("count", &count);
			if (error != tinyxml2::XML_SUCCESS)
			{
				LogError("Tile list has no count");
				return false;
			}
			if (count < 0)
			{
				LogError("Invalid tile count %d", count);
				return false;
			}
			for (tinyxml2::XMLElement *tile = e->FirstChildElement(); tile != nullptr;
			     tile = tile->NextSiblingElement())
			{
				UString tileNodeName = tile->Name();
				if (tileNodeName == "tile")
				{
					UString tileID = "";
					numRead++;
					if (numRead > count)
					{
						LogError("Skipping tile %d (%d listed in count)", numRead, count);
						continue;
					}
					SceneryTileDef def;
					// FIXME: I /think/ all scenery tiles have an offset of {32,32} to the center
					// (0.5,0.5,0) point
					def.imageOffset = {32, 32};

					if (!LoadCityTile(fw, tile, tileID, def.sprite, def.strategySprite,
					                  def.voxelMap, def.isLandingPad, rules.landingPadTiles,
					                  def.damagedTileID, def.overlaySprite))
					{
						LogError("Error loading tile %d", numRead);
						return false;
					}
					if (rules.buildingTiles.find(tileID) != rules.buildingTiles.end())
					{
						LogError("Multiple tiles with ID \"%s\"", tileID.c_str());
						return false;
					}
					rules.buildingTiles.emplace(tileID, def);
				}
				else
				{
					LogError("Unexpected node \"%s\" (expected \"tile\")", tileNodeName.c_str());
					return false;
				}
			}
			if (numRead != count)
			{
				LogError("Tile list count is %d but only read %d", count, numRead);
			}
			else
			{
				LogInfo("Loaded %d tiles", count);
			}
		}
		else
		{
			LogError("Unexpected node \"%s\"", name.c_str());
			return false;
		}
	}
	return true;
}
}; // namespace OpenApoc


Nokia phoenix service software tool is update to the latest and new version is on the go to download directly. This service is quite simple to use and fruit-full for all Nokia support centers. You can easily flash Nokia include Asha devices with the help of this tool. Factory reset can easy using this amazing tool without any risk and difficulty. Upgrade your mobile software so you can solve the facing problems with this latest version.
Remember to get your complete DATA backup, because after flashing the device all stored data will be deleted. Your data include images, saved contacts, Audio-video songs and other media with apk files.
Nokia phoenix service software is popular between 2011- 2016. When it is initially launched and become popular with update version 2017. you can download updated cracked version of Nokia phoenix service software from (Mediafire) here.


text:
Sturgis Motorcycle Rally vendors sell merchandise with Nazi imagery
By Joseph R. Rodriguez on	 August 9, 2021 Bike Rally
Nazi images are sold at this year's Sturgis Motorcycle Rally in South Dakota.
It is the largest motorcycle rally in the world, attracting dozens of bikers and revelers.
Dr Anthony Fauci warned that this year's festivities could once again become a big-ticket event.
As hundreds of thousands of bikers travel to Sturgis, South Dakota for its annual motorcycle rally – the world's largest – vendors selling merchandise featuring racist images are in the spotlight.
According to South Dakota ABC affiliate KOTA, some vendors in attendance at this year's rally, which runs August 6-15, are selling merchandise bearing Nazi images and Confederate flags.
One hat bore the stylized initials "SS" of the Schutzstaffel, a Nazi military unit. Under the hat lid, the text read "support your local white boy". Another was marked with a swastika.
KOTA interviewed a salesperson, Jenny Alonso, who defended the sale of merchandise with offensive images.
"A lot of bikers, you know, it's about the freedom," Alonso told KOTA. "A lot of bikers want to be free and express their opinion and I like to respond to whatever they want. It doesn't mean that I necessarily believe in everything but, you know, I like to please everyone."
Alonso described the Nazi wares as a way to honor American soldiers who brought back Nazi memorabilia as trophies after World War II.
"So we kind of honor the fact that not necessarily, you know, we believe in the Nazis and Hitler, but it's just a special thing that the US military was able to go and win the war and bring back things as memories. and they put them on their bikes, "Alonso said.
According to the KOTA report, many vendors also sold Confederate-inspired memorabilia, intended for customers who view the Confederate Battle Flag as a symbol of "heritage."
On its website, the organizers say the rally is a place for people from "all walks of life who share a common love for motorcycles". Insider has reached out to organizers for comment on the merchandise sold at the rally.
Last week, when it was reported that the rally had drawn some of its biggest crowds in years, Dr Anthony Fauci, director of the National Institute of Allergy and Infectious Diseases, said he was concerned let it become a COVID-19 super-spreader event amid a wave of the Delta coronavirus variant in the United States.
Cycling rally to promote tourism reported in Jammu
Kolhapur Tourism Festival has something to offer for all kinds of visitors
With the installation of protected cycle paths comes a quick problem for the board race
Wow! Indian Army organizes from Baramulla to Kaman Post to J&K
SP chief sentenced for breaking Covid protocol

redpajama_set_name: RedPajamaCommonCrawl


This course teaches performance engineering approaches on the compute node level. "Performance engineering" as we define it is more than employing tools to identify hotspots and bottlenecks. It is about developing a thorough understanding of the interactions between software and hardware. This process must start at the core, socket, and node level, where the code gets executed that does the actual computational work. Once the architectural requirements of a code are understood and correlated with performance measurements, the potential benefit of optimizations can often be predicted. We introduce a "holistic" node-level performance engineering strategy and apply it to different algorithms from computational science.


Apr. 9 6:33 PM PT7:33 PM MT8:33 PM CT9:33 PM ET1:33 GMT9:33 6:33 PM MST7:33 PM CST8:33 PM EST5:33 UAE (+1)03:3321:33 ET8:33 PM CT0:33 - Solomon Hill scored five points Tuesday, going 2 of 7 from the field, as the New Orleans Pelicans fell to the Golden State Warriors 112-103. Hill grabbed three rebounds and dished out four assists, accumulating a plus-minus of -11 in his 21:06 of playing time. He tacked on one steal. Hill went 1 of 4 from 3-point range.
Apr. 7 7:40 PM PT8:40 PM MT9:40 PM CT10:40 PM ET2:40 GMT10:40 7:40 PM MST8:40 PM CST9:40 PM EST6:40 UAE (+1)04:4022:40 ET9:40 PM CT1:40 - Solomon Hill scored 13 points Sunday, going 5 of 12 from the field, as the New Orleans Pelicans topped the Sacramento Kings 133-129. Hill grabbed six rebounds and added an assist, accumulating a plus-minus of -20 in his 26:52 on the floor. He added one block. Hill went 3 of 7 from 3-point range.
Apr. 5 8:52 PM PT9:52 PM MT10:52 PM CT11:52 PM ET3:52 GMT11:52 8:52 PM MST9:52 PM CST10:52 PM EST7:52 UAE (+1)05:5223:52 ET10:52 PM CT2:52 - Solomon Hill scored five points Friday on 2-of-8 shooting as the New Orleans Pelicans fell to the Phoenix Suns 133-126 in overtime. Hill pulled down three rebounds and did not have an assist, accumulating a plus-minus of +8 in his 29:10 of playing time.
Apr. 3 6:47 PM PT7:47 PM MT8:47 PM CT9:47 PM ET1:47 GMT9:47 6:47 PM MST7:47 PM CST8:47 PM EST5:47 UAE (+1)03:4721:47 ET8:47 PM CT0:47 - Solomon Hill scored six points Wednesday, going 2 of 6 from the field, as the New Orleans Pelicans lost to the Charlotte Hornets 115-109. Hill pulled down three rebounds and added an assist, accumulating a plus-minus of -11 in his 24:19 on the floor. Hill went 2 of 6 from 3-point range.
Mar. 31 4:30 PM PT5:30 PM MT6:30 PM CT7:30 PM ET23:30 GMT7:30 4:30 PM MST5:30 PM CST6:30 PM EST3:30 UAE (+1)01:3019:30 ET6:30 PM CT22:30 - Solomon Hill scored 14 points Sunday, going 4 of 7 from the field, as the New Orleans Pelicans lost to the Los Angeles Lakers 130-102. Hill pulled down four rebounds and had three assists, accumulating a plus-minus of -20 in his 24:38 of playing time. Hill went 3 of 5 from 3-point range.
Mar. 24 5:07 PM PT6:07 PM MT7:07 PM CT8:07 PM ET0:07 GMT8:07 5:07 PM MST6:07 PM CST7:07 PM EST4:07 UAE (+1)01:0720:07 ET6:07 PM CT23:07 - Solomon Hill scored three points Sunday, going 1 of 1 from the field, as the New Orleans Pelicans lost to the Houston Rockets 113-90. Hill did not grab a rebound nor have an assist, tallying a plus-minus of -5 in his 6:09 on the floor. Hill went 1 of 1 from behind the arc.
Mar. 12 6:44 PM PT7:44 PM MT8:44 PM CT9:44 PM ET1:44 GMT9:44 6:44 PM MST7:44 PM CST8:44 PM EST5:44 UAE (+1)02:4421:44 ET7:44 PM CT0:44 - Solomon Hill did not score Tuesday as the New Orleans Pelicans lost to the Milwaukee Bucks 130-113. Hill grabbed one rebound and did not have an assist, tallying a plus-minus of -6 in his 6:56 of playing time. He tacked on one steal.
Mar. 10 4:34 PM PT5:34 PM MT6:34 PM CT7:34 PM ET23:34 GMT7:34 4:34 PM MST5:34 PM CST6:34 PM EST3:34 UAE (+1)00:3419:34 ET5:34 PM CT22:34 - Solomon Hill scored three points Sunday, going 1 of 4 from the field, as the New Orleans Pelicans lost to the Atlanta Hawks 128-116. Hill pulled down three rebounds and added an assist, accumulating a plus-minus of -6 in his 15:20 of playing time. He added one block and two steals. Hill went 1 of 2 from behind the arc.
Mar. 8 6:25 PM PT7:25 PM MT8:25 PM CT9:25 PM ET2:25 GMT10:25 7:25 PM MST8:25 PM CST9:25 PM EST6:25 UAE (+1)03:2521:25 ET8:25 PM CT1:25 - Solomon Hill scored three points Friday, going 1 of 4 from the field, as the New Orleans Pelicans lost to the Toronto Raptors 127-104. Hill pulled down two rebounds and added an assist, tallying a plus-minus of -9 in his 12:06 of playing time. He added one steal. Hill went 1 of 3 from 3-point range.
Feb. 4 6:49 PM PT7:49 PM MT8:49 PM CT9:49 PM ET2:49 GMT10:49 7:49 PM MST8:49 PM CST9:49 PM EST6:49 UAE (+1)03:4921:49 ET8:49 PM CT0:49 - Solomon Hill scored two points Monday as the New Orleans Pelicans fell to the Indiana Pacers 109-107. Hill pulled down one rebound and did not have an assist, tallying a plus-minus of +5 in his 5:28 on the floor.
Feb. 2 6:56 PM PT7:56 PM MT8:56 PM CT9:56 PM ET2:56 GMT10:56 7:56 PM MST8:56 PM CST9:56 PM EST6:56 UAE (+1)03:5621:56 ET8:56 PM CT0:56 - Solomon Hill scored two points Saturday, going 0 of 5 from the field, as the New Orleans Pelicans fell to the San Antonio Spurs 113-108. Hill pulled down three rebounds and did not have an assist, accumulating a plus-minus of -13 in his 11:24 of playing time.
Jan. 30 6:33 PM PT7:33 PM MT8:33 PM CT9:33 PM ET2:33 GMT10:33 7:33 PM MST8:33 PM CST9:33 PM EST6:33 UAE (+1)03:3321:33 ET8:33 PM CT0:33 - Solomon Hill scored two points Wednesday, going 1 of 5 from the field, as the New Orleans Pelicans fell to the Denver Nuggets 105-99. Hill pulled down two rebounds and had two assists, tallying a plus-minus of -8 in his 18:04 on the floor.
Jan. 29 6:43 PM PT7:43 PM MT8:43 PM CT9:43 PM ET2:43 GMT10:43 7:43 PM MST8:43 PM CST9:43 PM EST6:43 UAE (+1)03:4321:43 ET8:43 PM CT0:43 - Solomon Hill scored nine points Tuesday on 3-of-5 shooting as the New Orleans Pelicans defeated the Houston Rockets 121-116. Hill grabbed two rebounds and added an assist, tallying a plus-minus of 0 in his 18:26 on the floor. He added one steal. Hill went 1 of 2 from 3-point range.
Jan. 26 4:47 PM PT5:47 PM MT6:47 PM CT7:47 PM ET0:47 GMT8:47 5:47 PM MST6:47 PM CST7:47 PM EST4:47 UAE (+1)01:4719:47 ET6:47 PM CT22:47 - Solomon Hill scored seven points Saturday on 3-of-6 shooting as the New Orleans Pelicans fell to the San Antonio Spurs 126-114. Hill pulled down five rebounds and had four assists, accumulating a plus-minus of -17 in his 30:06 on the floor. Hill went 1 of 3 from 3-point range.
Jan. 24 6:26 PM PT7:26 PM MT8:26 PM CT9:26 PM ET2:26 GMT10:26 7:26 PM MST8:26 PM CST9:26 PM EST6:26 UAE (+1)03:2621:26 ET8:26 PM CT0:26 - Solomon Hill scored seven points Thursday, going 3 of 7 from the field, as the New Orleans Pelicans lost to the Oklahoma City Thunder 122-116. Hill grabbed five rebounds and had three assists, tallying a plus-minus of -2 in his 37:04 on the floor. He added one block and one steal.
Jan. 23 7:53 PM PT8:53 PM MT9:53 PM CT10:53 PM ET3:53 GMT11:53 8:53 PM MST9:53 PM CST10:53 PM EST7:53 UAE (+1)04:5322:53 ET9:53 PM CT1:53 - Solomon Hill did not score Wednesday as the New Orleans Pelicans lost to the Detroit Pistons 98-94. Hill did not grab a rebound nor have an assist, tallying a plus-minus of +7 in his 5:25 of playing time.
Jan. 5 6:31 PM PT7:31 PM MT8:31 PM CT9:31 PM ET2:31 GMT10:31 7:31 PM MST8:31 PM CST9:31 PM EST6:31 UAE (+1)03:3121:31 ET8:31 PM CT0:31 - Solomon Hill went scoreless Saturday as the New Orleans Pelicans defeated the Cleveland Cavaliers 133-98. Hill did not grab a rebound nor have an assist, tallying a plus-minus of +4 in his 4:03 of playing time.
Jan. 2 6:09 PM PT7:09 PM MT8:09 PM CT9:09 PM ET2:09 GMT10:09 7:09 PM MST8:09 PM CST9:09 PM EST6:09 UAE (+1)03:0921:09 ET8:09 PM CT0:09 - Solomon Hill did not score Wednesday as the New Orleans Pelicans fell to the Brooklyn Nets 126-121. Hill did not grab a rebound nor have an assist, tallying a plus-minus of -15 in his 6:35 on the floor.
Dec. 31 6:46 PM PT7:46 PM MT8:46 PM CT9:46 PM ET2:46 GMT10:46 7:46 PM MST8:46 PM CST9:46 PM EST6:46 UAE (+1)03:4621:46 ET8:46 PM CT0:46 - Solomon Hill scored four points Monday, going 2 of 3 from the field, as the New Orleans Pelicans topped the Minnesota Timberwolves 123-114. Hill grabbed four rebounds and had two assists, tallying a plus-minus of +20 in his 29:09 on the floor. He added one steal.
Dec. 29 5:46 PM PT6:46 PM MT7:46 PM CT8:46 PM ET1:46 GMT9:46 6:46 PM MST7:46 PM CST8:46 PM EST5:46 UAE (+1)02:4620:46 ET7:46 PM CT23:46 - Solomon Hill scored two points Saturday on 1-of-3 shooting as the New Orleans Pelicans fell to the Houston Rockets 108-104. Hill grabbed one rebound and had two assists, tallying a plus-minus of -8 in his 18:54 on the floor.
Dec. 28 7:03 PM PT8:03 PM MT9:03 PM CT10:03 PM ET3:03 GMT11:03 8:03 PM MST9:03 PM CST10:03 PM EST7:03 UAE (+1)04:0322:03 ET9:03 PM CT1:03 - Solomon Hill scored seven points Friday on 2-of-7 shooting as the New Orleans Pelicans defeated the Dallas Mavericks 114-112. Hill pulled down five rebounds and added an assist, tallying a plus-minus of +13 in his 32:29 of playing time. He added one block and one steal. Hill went 1 of 5 from 3-point range.
Dec. 26 7:26 PM PT8:26 PM MT9:26 PM CT10:26 PM ET3:26 GMT11:26 8:26 PM MST9:26 PM CST10:26 PM EST7:26 UAE (+1)04:2622:26 ET9:26 PM CT1:26 - Solomon Hill scored three points Wednesday on 1-of-3 shooting as the New Orleans Pelicans fell to the Dallas Mavericks 122-119. Hill grabbed four rebounds and did not have an assist, accumulating a plus-minus of -3 in his 19:14 on the floor. Hill went 1 of 3 from behind the arc.
Dec. 23 4:43 PM PT5:43 PM MT6:43 PM CT7:43 PM ET0:43 GMT8:43 5:43 PM MST6:43 PM CST7:43 PM EST4:43 UAE (+1)01:4319:43 ET6:43 PM CT22:43 - Solomon Hill scored six points Sunday, going 2 of 4 from the field, as the New Orleans Pelicans lost to the Sacramento Kings 122-117. Hill pulled down five rebounds and added an assist, tallying a plus-minus of -11 in his 12:52 on the floor. Hill went 1 of 2 from 3-point range.
Dec. 22 9:18 PM PT10:18 PM MT11:18 PM CT12:18 AM ET5:18 GMT13:18 10:18 PM MST11:18 PM CST12:18 AM EST9:18 UAE06:180:18 ET11:18 PM CT3:18 - Solomon Hill scored two points Friday on 1-of-3 shooting as the New Orleans Pelicans fell to the Los Angeles Lakers 112-104. Hill pulled down one rebound and did not have an assist, accumulating a plus-minus of -12 in his 14:35 of playing time. He added one block and two steals.
Dec. 19 6:49 PM PT7:49 PM MT8:49 PM CT9:49 PM ET2:49 GMT10:49 7:49 PM MST8:49 PM CST9:49 PM EST6:49 UAE (+1)03:4921:49 ET8:49 PM CT0:49 - Solomon Hill scored three points Wednesday on 1-of-4 shooting as the New Orleans Pelicans fell to the Milwaukee Bucks 123-115. Hill grabbed five rebounds and dished out three assists, accumulating a plus-minus of -2 in his 31:55 on the floor. Hill went 1 of 2 from behind the arc.
Dec. 16 5:34 PM PT6:34 PM MT7:34 PM CT8:34 PM ET1:34 GMT9:34 6:34 PM MST7:34 PM CST8:34 PM EST5:34 UAE (+1)02:3420:34 ET7:34 PM CT23:34 - Solomon Hill scored 10 points Sunday on 4-of-6 shooting as the New Orleans Pelicans lost to the Miami Heat 102-96. Hill grabbed seven rebounds and added an assist, tallying a plus-minus of -12 in his 26:28 on the floor. He added one steal. Hill went 1 of 2 from 3-point range.
Dec. 12 6:58 PM PT7:58 PM MT8:58 PM CT9:58 PM ET2:58 GMT10:58 7:58 PM MST8:58 PM CST9:58 PM EST6:58 UAE (+1)03:5821:58 ET8:58 PM CT0:58 - Solomon Hill scored eight points Wednesday, going 2 of 7 from the field, as the New Orleans Pelicans defeated the Oklahoma City Thunder 118-114. Hill pulled down seven rebounds and dished out two assists, tallying a plus-minus of -2 in his 33:45 of playing time. He added one block and three steals.
Dec. 10 5:52 PM PT6:52 PM MT7:52 PM CT8:52 PM ET1:52 GMT9:52 6:52 PM MST7:52 PM CST8:52 PM EST5:52 UAE (+1)02:5220:52 ET7:52 PM CT23:52 - Solomon Hill scored three points Monday on 1-of-3 shooting as the New Orleans Pelicans lost to the Boston Celtics 113-100. Hill pulled down six rebounds and dished out two assists, accumulating a plus-minus of -11 in his 20:01 of playing time. He added one steal. Hill went 1 of 3 from behind the arc.
Dec. 9 2:14 PM PT3:14 PM MT4:14 PM CT5:14 PM ET22:14 GMT6:14 3:14 PM MST4:14 PM CST5:14 PM EST2:14 UAE (+1)23:1417:14 ET4:14 PM CT20:14 - Solomon Hill scored five points Sunday, going 2 of 2 from the field, as the New Orleans Pelicans topped the Detroit Pistons 116-108. Hill pulled down eight rebounds and did not have an assist, accumulating a plus-minus of +15 in his 27:18 on the floor. Hill went 1 of 1 from behind the arc.
Dec. 7 6:46 PM PT7:46 PM MT8:46 PM CT9:46 PM ET2:46 GMT10:46 7:46 PM MST8:46 PM CST9:46 PM EST6:46 UAE (+1)03:4621:46 ET8:46 PM CT0:46 - Solomon Hill scored 14 points Friday, going 5 of 8 from the field, as the New Orleans Pelicans fell to the Memphis Grizzlies 107-103. Hill grabbed one rebound and did not have an assist, accumulating a plus-minus of +1 in his 30:15 of playing time. Hill went 4 of 6 from behind the arc.
Dec. 5 6:44 PM PT7:44 PM MT8:44 PM CT9:44 PM ET2:44 GMT10:44 7:44 PM MST8:44 PM CST9:44 PM EST6:44 UAE (+1)03:4421:44 ET8:44 PM CT0:44 - Solomon Hill scored three points Wednesday on 1-of-4 shooting as the New Orleans Pelicans topped the Dallas Mavericks 132-106. Hill did not grab a rebound but dished out two assists, accumulating a plus-minus of +21 in his 22:46 of playing time. Hill went 1 of 4 from 3-point range.
Dec. 4 10:31 AM PT11:31 AM MT12:31 PM CT1:31 PM ET18:31 GMT2:31 11:31 AM MST12:31 PM CST1:31 PM EST22:31 UAE19:3113:31 ET12:31 PM CT16:31 - Solomon Hill scored six points Monday on 2-of-5 shooting as the New Orleans Pelicans lost to the Los Angeles Clippers 129-126. Hill pulled down two rebounds and added an assist, tallying a plus-minus of -2 in his 29:08 of playing time. Hill went 2 of 4 from behind the arc.
Dec. 2 3:49 PM PT4:49 PM MT5:49 PM CT6:49 PM ET23:49 GMT7:49 4:49 PM MST5:49 PM CST6:49 PM EST3:49 UAE (+1)00:4918:49 ET5:49 PM CT21:49 - Solomon Hill scored six points Sunday on 2-of-5 shooting as the New Orleans Pelicans defeated the Charlotte Hornets 119-109. Hill pulled down four rebounds and added an assist, tallying a plus-minus of +1 in his 28:21 of playing time. He added one block and one steal. Hill went 1 of 3 from behind the arc.
Nov. 30 6:46 PM PT7:46 PM MT8:46 PM CT9:46 PM ET2:46 GMT10:46 7:46 PM MST8:46 PM CST9:46 PM EST6:46 UAE (+1)03:4621:46 ET8:46 PM CT0:46 - Solomon Hill scored two points Friday on 1-of-2 shooting as the New Orleans Pelicans lost to the Miami Heat 106-101. Hill grabbed six rebounds and added an assist, accumulating a plus-minus of -14 in his 19:02 of playing time.
Nov. 28 6:49 PM PT7:49 PM MT8:49 PM CT9:49 PM ET2:49 GMT10:49 7:49 PM MST8:49 PM CST9:49 PM EST6:49 UAE (+1)03:4921:49 ET8:49 PM CT0:49 - Solomon Hill scored two points Wednesday, going 1 of 1 from the field, as the New Orleans Pelicans topped the Washington Wizards 125-104. Hill pulled down four rebounds and did not have an assist, tallying a plus-minus of +10 in his 17:09 on the floor.
Nov. 26 6:35 PM PT7:35 PM MT8:35 PM CT9:35 PM ET2:35 GMT10:35 7:35 PM MST8:35 PM CST9:35 PM EST6:35 UAE (+1)03:3521:35 ET8:35 PM CT0:35 - Solomon Hill scored two points Monday on 1-of-2 shooting as the New Orleans Pelicans lost to the Boston Celtics 124-107. Hill pulled down four rebounds and added an assist, tallying a plus-minus of 0 in his 20:07 of playing time.
Nov. 2 9:30 PM PT10:30 PM MT11:30 PM CT12:30 AM ET4:30 GMT12:30 9:30 PM MST10:30 PM CST11:30 PM EST8:30 UAE05:300:30 ET10:30 PM CT3:30 - Solomon Hill went scoreless Thursday on 0-of-1 shooting as the New Orleans Pelicans lost to the Portland Trail Blazers 132-119. Hill grabbed two rebounds and did not have an assist, accumulating a plus-minus of -2 in his 9:33 on the floor.
Nov. 1 9:34 PM PT10:34 PM MT11:34 PM CT12:34 AM ET4:34 GMT12:34 9:34 PM MST10:34 PM CST11:34 PM EST8:34 UAE05:340:34 ET10:34 PM CT3:34 - Solomon Hill scored two points Wednesday, going 1 of 3 from the field, as the New Orleans Pelicans fell to the Golden State Warriors 131-121. Hill did not grab a rebound but dished out two assists, tallying a plus-minus of -1 in his 12:23 of playing time.
Oct. 29 7:33 PM PT8:33 PM MT9:33 PM CT10:33 PM ET2:33 GMT10:33 7:33 PM MST8:33 PM CST9:33 PM EST6:33 UAE (+1)03:3322:33 ET8:33 PM CT1:33 - Solomon Hill scored four points Monday, going 1 of 5 from the field, as the New Orleans Pelicans lost to the Denver Nuggets 116-111. Hill pulled down two rebounds and dished out two assists, tallying a plus-minus of -8 in his 19:46 of playing time.
Oct. 27 5:45 PM PT6:45 PM MT7:45 PM CT8:45 PM ET0:45 GMT8:45 5:45 PM MST6:45 PM CST7:45 PM EST4:45 UAE (+1)02:4520:45 ET7:45 PM CT23:45 - Solomon Hill scored six points Saturday, going 2 of 8 from the field, as the New Orleans Pelicans fell to the Utah Jazz 132-111. Hill grabbed five rebounds and had three assists, accumulating a plus-minus of -1 in his 20:08 of playing time. He added one block and one steal. Hill went 1 of 3 from behind the arc.
Oct. 26 6:46 PM PT7:46 PM MT8:46 PM CT9:46 PM ET1:46 GMT9:46 6:46 PM MST7:46 PM CST8:46 PM EST5:46 UAE (+1)03:4621:46 ET8:46 PM CT0:46 - Solomon Hill scored two points Friday, going 1 of 3 from the field, as the New Orleans Pelicans topped the Brooklyn Nets 117-115. Hill pulled down two rebounds and dished out two assists, accumulating a plus-minus of +3 in his 24:32 of playing time. He added one block and one steal.
Oct. 23 6:47 PM PT7:47 PM MT8:47 PM CT9:47 PM ET1:47 GMT9:47 6:47 PM MST7:47 PM CST8:47 PM EST5:47 UAE (+1)03:4721:47 ET8:47 PM CT0:47 - Solomon Hill scored two points Tuesday on 1-of-4 shooting as the New Orleans Pelicans defeated the Los Angeles Clippers 116-109. Hill grabbed three rebounds and dished out two assists, tallying a plus-minus of +3 in his 23:05 on the floor. He added two blocks and four steals.
Oct. 19 6:47 PM PT7:47 PM MT8:47 PM CT9:47 PM ET1:47 GMT9:47 6:47 PM MST7:47 PM CST8:47 PM EST5:47 UAE (+1)03:4721:47 ET8:47 PM CT0:47 - Solomon Hill scored three points Friday, going 1 of 2 from the field, as the New Orleans Pelicans defeated the Sacramento Kings 149-129. Hill pulled down one rebound and dished out two assists, accumulating a plus-minus of +7 in his 20:21 on the floor. Hill went 1 of 2 from behind the arc.
Oct. 17 6:48 PM PT7:48 PM MT8:48 PM CT9:48 PM ET1:48 GMT9:48 6:48 PM MST7:48 PM CST8:48 PM EST5:48 UAE (+1)03:4821:48 ET8:48 PM CT0:48 - Solomon Hill scored three points Wednesday, going 1 of 3 from the field, as the New Orleans Pelicans topped the Houston Rockets 131-112. Hill grabbed two rebounds and added an assist, tallying a plus-minus of -13 in his 12:02 of playing time. Hill went 1 of 1 from behind the arc.
Oct. 11 6:58 PM PT7:58 PM MT8:58 PM CT9:58 PM ET1:58 GMT9:58 6:58 PM MST7:58 PM CST8:58 PM EST5:58 UAE (+1)03:5821:58 ET8:58 PM CT0:58 - Solomon Hill scored two points Thursday on 1-of-1 shooting as the New Orleans Pelicans fell to the Toronto Raptors 134-119. Hill pulled down two rebounds and did not have an assist, accumulating a plus-minus of -8 in his 14:41 on the floor.
Oct. 10 6:17 PM PT7:17 PM MT8:17 PM CT9:17 PM ET1:17 GMT9:17 6:17 PM MST7:17 PM CST8:17 PM EST5:17 UAE (+1)03:1721:17 ET8:17 PM CT0:17 - Solomon Hill scored three points Wednesday, going 1 of 3 from the field, as the New Orleans Pelicans lost to the Miami Heat 140-128. Hill pulled down four rebounds and dished out two assists, accumulating a plus-minus of -13 in his 22:04 on the floor. He added one block. Hill went 1 of 2 from behind the arc.
Oct. 5 6:32 PM PT7:32 PM MT8:32 PM CT9:32 PM ET1:32 GMT9:32 6:32 PM MST7:32 PM CST8:32 PM EST5:32 UAE (+1)03:3221:32 ET8:32 PM CT0:32 - Solomon Hill scored eight points Friday on 2-of-2 shooting as the New Orleans Pelicans lost to the New York Knicks 106-100. Hill pulled down five rebounds and added an assist, accumulating a plus-minus of +5 in his 18:20 of playing time. He added one block and one steal.
Oct. 1 6:24 PM PT7:24 PM MT8:24 PM CT9:24 PM ET1:24 GMT9:24 6:24 PM MST7:24 PM CST8:24 PM EST5:24 UAE (+1)03:2421:24 ET8:24 PM CT0:24 - Solomon Hill scored four points Monday, going 0 of 4 from the field, as the New Orleans Pelicans fell to the Atlanta Hawks 116-102. Hill grabbed four rebounds and added an assist, accumulating a plus-minus of -14 in his 17:15 of playing time.
Sep. 30 5:39 PM PT6:39 PM MT7:39 PM CT8:39 PM ET0:39 GMT8:39 5:39 PM MST6:39 PM CST7:39 PM EST4:39 UAE (+1)02:3920:39 ET7:39 PM CT23:39 - Solomon Hill scored three points Sunday, going 1 of 5 from the field, as the New Orleans Pelicans lost to the Chicago Bulls 128-116. Hill pulled down three rebounds and had three assists, tallying a plus-minus of -8 in his 19:59 of playing time. He added one block. Hill went 1 of 5 from 3-point range.


The program will run Aug. 6-10.
GARDINER — Vacation Bible School will be offered from 5:30 to 8 p.m. Monday-Friday, Aug. 6-10, at Free Methodist Church, 134 Highland Ave., Gardiner.
A free supper will be provided to families who bring children each day at 5 p.m.
The program is for those in preschool age 4 through fifth grade. Middle and high school-age children can be helpers.
For more information, call 582-1543.


text:
Q: Google App Engine (Flex) use express sever alongside separate socket.io server I'm feeling really stupid about that, but here's my problem.
I'm using Socket-Controller and routing-controller in the same NodeTS App. Therefore i needed to create two express servers. One is listening to port 3000 or whatever the env is, and the other on port 65080. Locally, this works perfect. Now on GAE, my HTTP Server for the normal requests is working, while my SocketServer always times out.
If it helps, here is my app.yaml:
runtime: nodejs
env: flex

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
manual_scaling:
    instances: 1
resources:
    cpu: .5
    memory_gb: 0.5
    disk_size_gb: 10

network:
    session_affinity: true
    forwarded_ports:
        - 65080

env_variables:
    APP_NAME: Backend
    APP_SCHEMA: https
    APP_HOST: localhost
    APP_PORT: 3000
    APP_ROUTE_PREFIX: /api
    APP_BANNER: true
    TYPEORM_CONNECTION: postgres
    TYPEORM_USERNAME: postgres
    TYPEORM_DATABASE: db
    TYPEORM_SYNCHRONIZE: true
    TYPEORM_LOGGING: error
    TYPEORM_LOGGER: advanced-console

And i am creating the SocketServer with that:
import {MicroframeworkLoader, MicroframeworkSettings} from 'microframework-w3tec';

import {createSocketServer} from 'socket-controllers';

import {env} from '../env';

export const socketLoader: MicroframeworkLoader = (settings: MicroframeworkSettings | undefined) => {
    if (!settings) {
        return;
    }
    const io = createSocketServer(65080, {
        controllers: env.app.dirs.controllers,
        middlewares: env.app.dirs.middlewares,
    });
    settings.setData('socket_io', io);
};

By the way, i am using this boilerplate.
Help is appreciated, since this is getting me frustrated. :)
EDIT: Creating an second microservice is not really an option, since they are sharing too much to be isolated from each other. (Services, DB Models, Settings).
EDIT: I configured the firewall with this:
    --allow tcp:65080 \
    --target-tags websocket \
    --description "Allow websocket traffic on port 65080"

A: Well, the solution was rather easy.
I needed to bind the Socket Server to the same HTTP Server instance, which express is using. Below are my changes.
socketLoader.ts
const io = require('socket.io')(settings.getData('express_server'));

    useSocketServer(io, {
        controllers: env.app.dirs.controllers,
        middlewares: env.app.dirs.middlewares,
    });

Where express_server is the server instance returned by expressApp.listen(env.app.port).


Where do the support funds come from? - Creative Supports, Inc.
You are here: Home / FAQs / Where do the support funds come from?
Where do the support funds come from?
The support services offered at Creative Supports Inc are provided under a federal Medicaid waiver as an alternative to placement in an institution or Intermediate Care Facility for Persons with Intellectual or Developmental Disabilities. You can read more about it by clicking Here.
We'd love to hear from you. Please just leave your message below and we'll get back to you on the next business day.