text:
The Cthulhu Mythos MEGAPACK ®
40 Modern and Classic Lovecraftian Stories
by H.P. Lovecraft, T.E.D. Klein, Clark Ashton Smith, Robert E. Howard, Brian Stableford, Brian McNaughton, Robert Bloch, Stephen Mark Rainey, Lin Carter, Lawrence Watt-Evans, Adrian Cole, John Gregory Betancourt, Colin Azariah-Kribbs
- #205 in Fiction & Literature, Horror
- #268 in Science Fiction & Fantasy, Horror
Get eBook
- Your price$0.99
You'll see how many points you'll earn before checking out. We'll award them after completing your purchase.
Or, get it for 2400 Kobo Super Points!
See if you have enough points for this eBook. Sign in
This volume assembles no less than 40 stories set in H.P. Lovecraft's Cthulhu Mythos. Ranging from Lovecraft's own tales (including classics such as the novel At the Mountains of Madness, "The Shadow Over Innsmouth," and "The Colour Out of Space") to works by his friends and contemporaries (Clark Ashton Smith, Robert E. Howard, Frank Belknap Long, and Robert Bloch), to later followers (Henry Kuttner, Lin Carter, Brian McNaughton), and contemporary afficianados (Brian Stableford, Mark McLaughlin, Adrian Cole) -- and many more. This is one collection no Lovecraft fan can afford to miss!
Included are:
"At the Mountains of Madness," by H. P. Lovecraft
"The Events at Poroth Farm," by T.E.D. Klein
"The Return of the Sorcerer," by Clark Ashton Smith
"Worms of the Earth," by Robert E. Howard
"Envy, the Gardens of Ynath, and the Sin of Cain," by Darrell Schweitzer
"Drawn from Life," by John Glasby
"In the Haunted Darkness," by Michael R. Collings
"The Innsmouth Heritage," by Brian Stableford
"The Doom That Came to Innsmouth," by Brian McNaughton
"The Shadow Over Innsmouth," by H. P. Lovecraft
"The Nameless Offspring," by Clark Ashton Smith
"The Hounds of Tindalos," by Frank Belknap Long
"The Faceless God," by Robert Bloch
"The Children of Burma," by Stephen Mark Rainey
"The Call of Cthulhu," by H.P. Lovecraft
"The Old One," by John Glasby
"The Holiness of Azédarac," by Clark Ashton Smith
"Those of the Air," by Darrell Schweitzer and Jason Van Hollander
"The Graveyard Rats," by Henry Kuttner
"Toadface," by Mark McLaughlin
"The Whisperer in Darkness," by H. P. Lovecraft
"The Eater of Hours," by Darrell Schweitzer
"Ubbo-Sathla," by Clark Ashton Smith
"The Space-Eaters," by Frank Belknap Long
"The Fire of Asshurbanipal," by Robert E. Howard
"Beyond the Wall of Sleep," by H.P. Lovecraft
"Something in the Moonlight," by Lin Carter
"The Salem Horror," by Henry Kuttner
"Down in Limbo," by Robert M. Price
"The Dweller in the Gulf," by Clark Ashton Smith
"Azathoth," by H.P. Lovecraft
"Pickman's Modem," by Lawrence Watt-Evans
"The Hunters from Beyond," by Clark Ashton Smith
"Ghoulmaster," by Brian McNaughton
"The Spawn of Dagon," by Henry Kuttner
"Dark Destroyer," by Adrian Cole
"The Dunwich Horror," by H. P. Lovecraft
"The Dark Boatman," by John Glasby
"Dagon and Jill," by John P. McCann
And don't forget to search this ebook store for more entries in the Megapack series -- collections covering Fantasy, Horror, Science Fiction, Mystery, Adventure ... and many more!
People who read this also enjoyed
eBook Details
- Wildside Press LLC, April 2012
- Imprint:
Wildside Press
- 9781434448903
- Language:
- English
- Download options:
- EPUB 2 (Adobe DRM)
You can read this item using any of the following Kobo apps and devices:


text: kentucky supreme court Kentucky Supreme Court Justice Weighs In on Same Sex Marriage Ruling By Stu Johnson WEKU News • Sep 7, 2015 courts.ky.gov There's been much attention over the past week given to Rowan County clerk Kim Davis and her refusal to issue marriage licenses to gay couples. Other related issues could come before state lawmakers. Barber Sworn in as Kentucky Supreme Court Justice at Capitol By Associated Press • Mar 24, 2015 surfky.com The newest member of the Kentucky Supreme Court has been sworn in as a justice. Judge Set To Take Up Instant Racing By Associated Press • Oct 31, 2014 Joel Imel/Bowling Green Daily News A judge in Frankfort is set to take up when to set a trial over the issue of Instant Racing at racetracks. A hearing is scheduled for 9:30 a.m. Monday in Franklin Circuit Court after Kentucky officials requested a hearing to move the case toward a resolution. History Made in High Court By Tony McVeigh, Kentucky Public Radio • Jun 8, 2011 Deputy Chief Justice Mary Noble of Lexington has become the first woman to preside over oral arguments in the Kentucky Supreme Court. The issue before the Supreme Court was ineffective assistance of counsel in a criminal case. It's a fairly routine issue of appeal, but the proceedings were unique because, for the first time, a woman was sitting in the chief justice's chair.

subset: commoncrawl


text:
It's not uncommon for smaller animals to make homes inside of a dormant car's airbox or wiring harness, but we've never before seen a dog – and a large one, at that – stuck under the hood.; A California man opened the hood of his 1980s Ford F-150 to find a pit bull wedged between the truck's firewall and the back of the engine block.
There's no good reason as to how – or why – the dog got under the hood, but it was stuck for some time.; After a fair amount of wiggling and some chewed hose and wire, the dog managed to free himself from the truck.
The dog was then taken by animal control to a nearby shelter, while the owner – with already $1000 invested in repairing the truck – was left to repair the dog's damage.
Source: KNBC


text:
Definition of perfect game in English:
perfect game
Baseball A game in which all the batters from one team are retired in order, with no one reaching base.
Example sentences
- My friend thinks this qualifies as a perfect game since no runners reached base.
- It was the 10th perfect game in baseball history and only the second in National League regular season play since 1900.
- In the end, he came out on top, pitching his fourth career no-hitter and the eighth perfect game in baseball history.
For editors and proofreaders
Syllabification: per·fect game
What do you find interesting about this word or phrase?
Comments that don't adhere to our Community Guidelines may be moderated or removed.
= trending


text:
|Publication number
|Publication type
|Application number
|Publication date
|Sep 20, 2011
|Priority date
|Oct 18, 2001
|Fee status
|Also published as
|Publication number
|Jacobo Bibliowicz, Carolyn E. Kreisel, Robert Lipari, Ryan P. Rogers
|Original Assignee
|Autodesk, Inc.
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (7), Non-Patent Citations (2), Referenced by (6), Classifications (5), Legal Events (2)
|External Links: USPTO, USPTO Assignment, Espacenet
This application claims the benefit under 35 U.S.C. Section 120 of the following co-pending and commonly-assigned U.S. utility patent application(s), which is/are incorporated by reference herein:
Utility application Ser. No. 09/982,224, filed Oct. 18, 2001, by Jacobo Bibliowicz, Carolyn E. Kreisel, Robert Lipari, and Ryan P. Rogers, entitled COLLABORATION FRAMEWORK.
This application is related to the following co-pending and commonly-assigned patent applications, which applications are incorporated by reference herein:
Patent Cooperation Treaty Patent Application Serial No. PCT/US01/02310, entitled "METHOD AND APPARATUS FOR PROVIDING ACCESS TO AND WORKING WITH ARCHITECTURAL DRAWINGS ON THE INTERNET", by Douglas G. Look, et. al., filed on Jan. 24, 2001, which application claims priority to U.S. Provisional Patent Application Ser. No. 60/177,988, entitled "METHOD AND APPARATUS FOR PROVIDING ACCESS TO AND WORKING WITH ARCHITECTURAL DRAWINGS ON THE INTERNET," filed on Jan. 25, 2000, by Douglas G. Look, et. al.
1. Field of the Invention
The present invention relates generally to computer-implemented drawing programs, and in particular, to a method, apparatus, and article of manufacture for multiple collaborators to simultaneously work on a drawing.
2. Description of the Related Art
The use of Computer Aided Design (CAD) application programs is well known in the art. CAD application programs are often expensive, complex, and difficult to learn how to use. Additionally, architects, contractors, engineers, owners, and other parties involved with a project (referred to as project participants or collaborators) are often mobile or at different locations. With new technology and the increased use of the Internet, project participants often have computers, Internet access, and personal digital assistants (PDAs). Further, the coordination and exchange of information between project participants can be increasingly complex.
Existing prior art applications allow a user to download a drawing, edit the drawing, and upload the drawing after completing the edits. Alternatively, prior art applications/features may allow the creation of a two-dimensional in-memory document where graphic information is transmitted from one client to another client during a session. However, in such prior art applications, to refer to a document in the future (i.e., to store the document), the document must be saved locally by a client and then uploaded later. Further, since only an in-memory document is used, there is no capability to undo a modification or to restore the document in the event of a network or computer failure. Further, only a primitive set of two-dimensional graphic manipulation tools is often provided.
Accordingly, existing prior art applications do not provide the ability for multiple users to collaborate on an actual stored document with a full set of modeling tools (in two and three dimensions).
One or more embodiments of the invention provide a method, apparatus, and article of manufacture for a collaboration framework that permits multiple users to simultaneously modify a document/workspace that is stored on a server across a network. Collaboration applications on multiple clients/collaborators communicate with a server application on a server.
The collaboration application provides a full set of three-dimensional drawing tools to manipulate a drawing and transmit such manipulations to the server application. The server application maintains a history of the manipulations and the collaborators in a session. Once a manipulation command is received by the server application from one collaborator, the server distributes the command to the remaining collaborators. Thereafter, the collaboration applications modify the local version of the drawing space in accordance with the command. The history maintained by the server may then be used by any one of the collaborators to rollback a modification (e.g., a modification made by another collaborator or themselves) or to rebuild a drawing space in the event of a network failure.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
In the following description, reference is made to the accompanying drawings which form a part hereof, and which is shown, by way of illustration, several embodiments of the present invention. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
A collaboration framework provides the ability for multiple users to simultaneously modify a document across a network using a full set of tools. Client based applications generate specific messages (e.g., XML messages) which are communicated across a network to a server (e.g., via TCP/IP [transmission control protocol/internet protocol]). Once received by the server, the server manages the collaboration session by storing document changes and distributing the command to other collaborators. The server maintains a history of document changes so these can be recommunicated in the event of a network failure or temporary Internet outage. Additionally, the server may manage a record of the collaboration session including the name, number and status of collaborators, and similar information for the workspace being collaborated on.
Hardware Environment
In accordance with one or more embodiments of the invention, the network 102 connects collaborators 104 executing a collaboration application 108 to server computers 106 executing server applications 110. The collaboration application 108 enables collaborators 104 to communicate with other collaborators 104 and work on a document stored on/by server 106. The server application 110 may be a server 106 collaboration application that provides for storage of a commonly used document and enables the ability for multiple collaborators 104 to simultaneously work on the same document. Server application 110 may also be configured to manipulate data (e.g., a document) in database 114 through a database management system (DBMS) 112.
Generally, these components 108, 110, 112, and 114 all comprise logic and/or data that is embodied in or retrievable from device, medium, signal, or carrier, e.g., a data storage device, a data communications device, a remote computer or device coupled to the computer across a network or via another data communications device, etc. Moreover, this logic and/or data, when read, executed, and/or interpreted, results in the steps necessary to implement and/or use the present invention being performed.
Thus, embodiments of the invention may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term "article of manufacture" (or alternatively, "computer program product") as used herein is intended to encompass logic and/or data accessible from any computer-readable device, carrier, or media.
Those skilled in the art will recognize many modifications may be made to this exemplary environment without departing from the scope of the present invention. For example, those skilled in the art will recognize that any combination of the above components, or any number of different components, including different logic, data, different peripherals, and different devices, may be used to implement the present invention, so long as similar functions are performed thereby.
Collaboration Framework
Collaboration application 108 and server application 110 executing on client 104 and server 106 respectively, provide a collaboration framework that enables modifications to drawings to be shared in real time among a set of collaborators 104 (i.e., two or more users working simultaneously on the same document from different computers or other network 102 devices).
The collaboration framework provides the ability for all collaborators 104 to modify a document at the same time, with no need for permission to modify to be passed around among the collaborators 104. Once a collaborator 104 has joined a session, the collaborator 104 is likely on equal footing with all other collaborators 104. Thus, by default, anyone may join a collaboration session and begin collaborating with others that may already be working in the session. Alternatively, while multiple collaborators 104 may edit the document, another collaborator 104 may not have write access and may only have read capability to watch the modifications of other collaborators 104.
Collaboration Process
The initial user in a collaboration session opens a workspace or document to work on. Once opened, a collaboration palette may be displayed on the computer 104 by collaboration application 108. For example, the palette may be placed in the lower-right corner of the window representing collaboration application 108. Alternatively, when not in use, the palette may roll-up or be hidden from the user.
The collaboration palette provides information on the current collaborators/users 104 in the collaboration session. Thus, when a document is opened by a user, the user's name is added to the collaboration palette. Further, an access level may be assigned to the user. For example, a user's access level may default to "write-access". Beyond this general information, the palette may not open or show any additional feedback when the initial user opens a workspace.
In addition, the top line 204 of a data area of palette 200 may contain the user's name. Further, the second line 206 of the data area may contain the user's status. Each status type 206 may have an associated color. For example, the status types 206 and colors a user may have are joining (green), write-access (black), accidental disconnect (red), intentional disconnect (yellow), and working offline (blue). In order to show a status change, all of the status labels, except "joining," may blink then disappear after a short duration. The joining status may remain until the user either connects or cannot connect to the workspace.
A user's status 206 may also reflect a controlled environment wherein a single user may be a moderator that has the ability to grant or deny access to new and existing users.
A scroll bar may be activated on the palette if necessary to display additional information. Further, a palette titlebar 208 includes the title of the palette 200 and may flash for a short duration when the status of any collaborator 104 changes. The color the titlebar 208 flashes may depend on the new status of the collaborator.
When a second user opens a document or workspace, the workspace opens as usual on the user's computer 104, along with opening the collaboration palette 200 to signal the beginning of a collaboration session. However, the collaboration palette 200 automatically indicates that another user has the workspace open already.
The palette 200 also provides a mechanism for displaying the status 206 of the second user's connection to the workspace. When initially opened, the second user's status 206 likely reads "joining." When the second user successfully joins the collaboration session, the status line 206 changes to "write-access." Thereafter, if current users of the workspace have closed the collaboration palette 200, the titlebar 208 may flash to signify the addition of a user to the workspace.
As the workspace is being opened for a second user, a "glass plane" may be placed over the workspace, palettes 200, and menu. Further, in some embodiments, a user may not be able to cancel the open, or start to open another workspace until the current one is fully opened. As illustrated in
Accordingly, as users join the session, each user's collaboration palette 200 indicates the addition of a user, with a status 206 of "joining." When a user leaves the workspace on purpose, the user's status 206 (e.g., "left workspace") may be shown in a specific color (e.g., yellow), and after some amount of time, the user's name 204 will be removed from the palette 200. Similarly, if a user leaves the workspace accidentally, the user's status 206 (e.g., "disconnected") may be shown in a different color (e.g., red), and after some amount of time, the user's name 204 will be removed from the palette 200.
Once a session has begun, modifications to the drawing may be seen by any users in the session. For example, a pan or zoom operation performed on the workspace by a user will be reflected in other users' view of the workspace. Accordingly, the pan and zoom state of the workspace may be stored with the document. Thereafter, the next time the workspace is opened, the view will be the same as when it was last closed. Similarly, if the view of a 3D model is changed by a user, the other users' view of the model will be changed. Additionally, any action that causes data to be saved to the workspace will be seen by all of the users in the collaboration session. For example, creating new documents, moving documents, minimizing documents, and using tools on documents, are all actions that will be seen by everyone.
Additionally, the collaboration framework may provide communication capabilities such as chat and instant messaging to collaborators 104 in the session.
However, to preserve individual user's preferences, certain actions performed by a user may not be seen by other users in the session. For example, a user's palette 200 may not be part of the collaboration session. Thus, if a user moves his or her palette 200 or drawing tools from the upper left to the lower right, the collaborators 104 will not see a change in their view of the workspace. Further, any object selected by a collaborator 104 may not be seen in the other collaborator's 104 view of the workspace. However, any action done to the object that changes its data (e.g., color or size change) will be seen by the other users. Additionally, the activation of documents may not be seen by collaboration users. For example, if a user has "Drawing 1" active, and is actively placing strokes into it (which is seen by the other users), he or she will not see that another user may have a model document active. However, if the second user begins to rotate the model in the document, the result will be seen by all of the collaborators 104.
The loss of a network 102 connection by a user affects the way the user continues. When a single user of a workspace (i.e., no other collaborators 104 are members of the session) loses his or her network 102 connection, the user may be automatically switched to an offline mode during which the user may keep write-access while offline, and the server 106 marks the workspace as offline so it may not be edited by online users. When a user in a collaborative environment loses a connection, the remaining users will be notified that the user has timed-out with the disconnected status in the data field 106 of the palette. The disconnected user may also receive a dialog notice that the connection to the workspace has been lost, and the user has therefore been switched to read-only mode.
Collaboration Details
As described above, collaborators 104 participating in a session may all modify a drawing document that is stored in the server 106 wherein the drawing modifications are then reflected in the other collaborators' 104 views. To enable such capabilities, the collaboration framework provides for the transmission of commands to the client 104 and server 106 sides of the framework. The description below provides information regarding some of the commands that may be used including background information, implementation information, and formatting information. It should be noted that while the formatting information is described in terms of extensible markup language (XML), any acceptable format or formatting language may be used and the invention is not intended to be limited to XML formatted messages.
There are two types of command communication between clients 104 and server 106 in the framework 100: synchronous and asynchronous.
Synchronous commands are sent from the client 104 to the server 106, and processed immediately. The server's 106 response is a command response containing the processing results.
Asynchronous commands are sent from the client 104 to the server 106, but are not necessarily processed immediately. The server 106 response to the client 104 may contain multiple command responses to earlier client 104 requests, collaboration state changes, collaboration user information, and other data waiting in the client's 104 outgoing message queue. As described below, a command referred to herein as "heartbeat" is an example of such an asynchronous command.
While strictly speaking, there may only be a single command type, there are three distinct types of command messages: Commands, Responses, and Heartbeats.
Commands initiate a request or an action. Commands may typically contain one or more <param\> sub-nodes. Usually, commands are a request from the client 104 to the server 106 to initiate an action or request data.
Responses are commands containing processing results and return data from previously issued commands. There is typically a one to one correspondence for a response to a specific command. For example, a "Version" command likely has a corresponding "Version" response command which is returned to the client 104 and contains data pertaining to the current version of the framework. Responses typically contain a <success \> sub-node, a <rspMsg\> sub-node, and one or more <return\> sub-nodes.
Heartbeats are asynchronous commands that can contain other commands, responses, or collaboration data.
As described above, messages may be implemented in any format. In one or more embodiments of the invention, messages are simple XML structures. Using a login command message from the client 104 as an example, the basic structure is shown below:
<msg msgID="1" sessID="1" resID="23058" retry="0">
<cmd name="Login">
<param name="username" val="joe smith" />
<param name="password" val="JoesPswd" />
The outermost node, <msg\>, wraps the entire message. A message tag may be required to contain the following attributes in Table 1.
Any positive integer.
Client 104 generated numeric identifier
of the message. When the message is sent
from the server 106 to the client 104, the
server 106 echoes the msgID number it is
responding to. This pairs the client
104 request and server 106 response
message with the same ID.
A valid session ID.
the sessionID.
A valid resource ID.
the resourceID.
A positive integer,
number of times client has sent
or zero.
this message.
The first and only sub-node, <cmd\>, contains a single command. This single command may be a heartbeat command, which itself may contain sub-commands. The command node may contain multiple attributes including a name that specifies a unique command name for the command being sent.
Additionally, each <cmd\> node may contain one or more of the sub nodes described in Table 2, depending on it's type:
Sub Node
A parameter for the
Name - the parameter name.
Val - the parameter's value.
An XML file of a non-
specific type. Currently used
for user data, workspace files
and Workspace Trees.
Found only in response
Val - return value. The constant names and values:
commands, this contains a
= 0x0
flag indicating whether the
= 0x1
command was executed
= 0x2
successfully. If it was not,
= 0x3
the attribute contains a
= 0x4
constant indicating the
= 0x5
nature of the failure.
= 0x6
= 0x7
= 0x80
Found only in response
Name - the return parameter's name.
commands, this contains
Val - the value of the return parameter.
return values for the previous
commands. There may be
more than one return node
per response message.
Found only in response
Val - the text of the response message.
commands, this contains text
corresponding to the result.
It may be used for providing
error description text to be
displayed to the user, for
Accordingly, for each command, whether issued by a client 104 or a server 106, the command name is specified along with optional parameters. The following XML illustrates an example of a version command in accordance with one or more embodiments of the invention:
<!-- Client request command -->
<cmd name="Version">
<param name="major" val="1" />
<param name="minor" val="1" />
<param name="revision" val="2" />
<!-- Server response command -->
<cmd name="VersionResp">
<success val="1" />
<rspMsg val="a resp mesage" />
<return name="VersionResp">
<param name="major" val="1" />
<param name="minor" val="1" />
<param name="revision" val="1" />
As illustrated, the client 104 request command name is "Version" and various parameters are specified. In response, the server 106 specifies the command name along with information described in Table 2 (i.e., a success with a value of 1, a response message with a value of "a resp message", a return name with a value of "VersionResp", and various parameters with values).
Synchronous Commands: Client Sent, Server Processed
Various synchronous commands may be processed in the framework 100 of the invention. The synchronous commands described below are commands sent by a client 104 and processed by a server 106.
Version Command
The "version" command results in a return of the current version number of the framework. The syntax for the command is:
The "version" command is sent by the client 104 at startup, before attempting a login or displaying the main application window. Even if the client 104 has a stored session id, it should issue this command first.
The upgradeFlag indicates the result of the version check and can be VersionsIdentical (0), ServerUpgraded (1), ClientUpgradeAvailable (2), ClientUpgradeRequired (4). If the upgradeFlag has a VersionsIdentical value, no code in the framework 100 has been updated since the last time the client 104 collaboration application 108 was run. If the upgradeFlag has a ServerUpgraded value, the server 106 has new code that may affect the clients 104 perception of how the framework 100 works (faster save times, fixes, etc.), but there are no client 104 binary changes.
A value of ClientUpgradeAvailable means that there is a newer version of the client 104 available, but the client 104 is not required to get the newer version in order to work with the current version of the server 106 (i.e. no file formats or interfaces have changed). A value of ClientUpgradeRequired means that significant changes have occurred in the client 104 and file formats or interfaces with the server 106 have changed. Accordingly, the client 104 must upgrade before the client 104 can go online. Note that this does not necessarily mean the client 104 is forced to upgrade immediately. Instead, the client 104 may be able to work offline using the local cache until the user is ready to upgrade. However, if the client 104 desires to obtain data from the site/server 106, the client 104 must upgrade.
Also, any new features and/or noteworthy fixes that have been implemented since the version of the client 104 passed in will be returned in the ChangesXML parameters, and these changes can be displayed in the client 104. It may be possible to have some updates and not require an upgrade. For example, there may have been server-only changes that would be nice to let the user know about (e.g., a bug fix or improved performance). The ChangesXML may be useful to users when the value of upgradeFlag is ClientUpgradeAvailable, since the ChangesXML content is what provides the basis upon which the client 104 decides if the upgrade should be made (new features and fixes vs. risk assessment). Further, the ChangesXML value does not need to be overly verbose. For example, the ChangesXML value may comprise a short bulleted list containing only changes that the average user would care about, or possibly a hyperlink pointing to a page on a web site that may be accessed for more detailed information.
In response to the version command, an object is returned with the current version numbers that may be read from a local versions XML file. Alternatively, a data cache product may be used such that the version numbers are stored in a database 114 and read from the cache. Thereafter, collaboration application stores the returned major/minor/revision numbers and ensures that the returned numbers are used in the next version command.
The versions XML file may contain all changes over time (occasionally pruned manually) and will be read by the application server 110 at start time and stored globally into an efficiently searched data structure that may be keyed by major.minor.revision. Each one of the database 114 entries may have an upgradeFlag that will be set to one of the levels defined above. The upgradeFlag's values may be binary to ease in the use of a bitwise OR operation. Each entry may also contain any number of new feature/fix nodes, and each node might specify an attribute classifying the type (new feature vs. enhancement vs. fix, etc). When processing a version command, if the major/minor/revision passed in is lower than the current maximum parsed from the file, then an update has occurred and an upgrade may be required.
The upgradeFlag is determined by a simple bitwise OR operation of all upgradeFlags of the versions greater than the version passed in. The ChangesXML is built in a similar way, by combining all of the change nodes for the versions greater than the one passed in. If the provided version is not found, then the version has been pruned, and the earliest version in the data structure is used to determine the upgradeFlag and the ChangesXML.
The version command likely executes quickly and efficiently and avoids a Denial of Service attack, since no login is required. Accordingly, the version command does not perform any database 114 read operations, database 114 write operations, and only performs a single remote method invocation (RMI) call.
Login Command
The login command is executed by the client 104 at startup to logon to a session. In one or more embodiments, the login command is used when the user does not have a session id, or when the user determines that the sessionid that the user has is invalid. Such a login may be required in when the server 106 requires the client 104 to logon (e.g., during the processing of a loginrequired command from the server 106 [see below]). The syntax for the login command is:
In response to a login command, the server 106 returns a new sessionID and the userID to the client 104. The same user can be logged on multiple times and have multiple active sessionID's.
Open User Data Command
Once logged in pursuant to the login command, the client 104 will next transmit the Open User Data command. More particularly, if the client 104 has a cached sessionID from a previous instance, the client 104 will first try this sessionID. If the prior sessionID fails, the client 104 will receive a loginrequired command from the server 106 in response. The subsequent login (i.e., using the login command) provides a sessionid to be used with the Open User Data command. The Open User Data command opens specified user data for the client 104.
New Workspace Command
This command is used by a client 104 whenever the user selects an option to create a new workspace/document. The newworkspace command is executed before the closeworkspace command of an open workspace (if there is one open) is executed. If the newworkspace command is successful, the resourceID of the new workspace is returned, and the workspace should be considered to be in a SoloPending state for the specified user.
Copy Workspace Command
The copy workspace command is issued by the client 104 whenever the user selects an option to copy a workspace.
Delete Workspace Command
The delete workspace command is issued by the client 104 whenever the user tries to delete a workspace that the user has opened. The delete workspace command is executed before the closing an open workspace. If successful, the deleted workspace will be gone and the user will have to select a workspace to work on or create a new workspace. The use of the delete workspace command may be restricted. For example, the delete workspace command may not execute if the workspace is in CollabPending or Collab state. Accordingly, in order to delete a workspace, the user must be the only person in the workspace. The syntax for the delete workspace command is:
To enable the delete workspace command, the server 106 may ensure that the workspace is either open by nobody, or open by exactly the user trying to delete it. The user must also have the appropriate permissions. If all of these conditions have been complied with, then the delete workspace command will delete the workspace and remove the workspace from a ResourceSession. Once deleted, the workspace cannot be opened at a later time.
Open Workspace Command
The open workspace command is the backbone of collaboration, and occurs whenever the client 104 opens a new workspace. The command is issued by the client 104 before the closeworkspace command when switching workspaces. If the workspace is already open by two or more users (i.e., the workspace is in Collab state), then this user joins the collaboration session. If the workspace is open by only one person (i.e., the workspace is in Solo state), then a collaboration session is started (CollabPending state) and both clients 104 are synchronized. Once synchronized, the state changes to Collab. If the workspace is not open, the user (that is in SoloPending state) marks the workspace as open.
A workspace session and user's workspace session may be in one of the following states: 0—Solo Pending; 1—Solo; 2—Collab Pending; 3—Collab; or 4—Disconnected. When a workspace is not open, the workspace has no state. When the workspace is opened, the workspace transitions into Solo Pending, as does the workspace's user.
Upon the new user's/client's 104 heartbeat, the state is transitioned from Solo Pending to Solo. If another user opens the document, the state is transitioned to Collab Pending. Once the original client 104 confirms synchronization of the document, the state is transitioned to Collab. If another user joins, the workspace remains in Collab state, but the user is in Collab Pending until the first heartbeat is received, at which time the client 104 is transitioned into full Collab.
If at any point enough users close the workspace such that there is only one client 104 left, the state is transitioned into Solo Pending for that user and the workspace. Once this client 104 confirms synchronization of the document and started creating deltas, the state is transitioned into Solo for the workspace and the user. If at anytime a user is determined to have gone link dead, the user's state is changed to Disconnected. If at any time all users left in a workspace session are Disconnected, then the state of the document is changed to Disconnected. Once users have been disconnected for a sufficient time without returning, the disconnected users are removed from the session. If all users are removed from a session, the session is closed.
Close Workspace Command
The close workspace command is executed when a user closes a workspace. If the user is closing the workspace due to opening an existing or creating a new workspace, then the open or create commands are executed first, and the close executing after their success. If the user closes the application, closeworkspace is sent after the final save.
While processing this command, if the state is Collab then a collabuserinfo command may be placed in the CommandOut queues of the remaining workspace session users. If there is only one other workspace session user, then the state of the workspace session may be changed from Collab to Solo Pending.
Get Object IDs Command
The Get Object IDs command is issued by a client 104 to obtain a range of unique Object IDs the client 104 can use when creating application objects. A GetObjectIDs command with no parameters is requesting a default number of IDs. The default should be sufficient for typical online work, yet large enough to allow for sufficient IDs in the case of subsequent connection failures so the client 104 can keep working. A "quantity" parameter may be specified to request a specific quantity of Object ID's. Clients 104 can use numeric constants for typical quantities or simply specify a number for the quantity. The syntax for the Get Object IDs command is:
In response to the command, the server 106 returns a range of object IDs that can be used by the client 104. In other words, a first/start object ID and a last/end object ID are returned by the server 106 for use by the client 104.
The GetObjectIDs command may or may not be utilized depending on the implementation. For example, if the GetObjectIDs command is not utilized, the server 106 may map object IDs as using a Mapped Objects command described in detail below.
Synchronous Responses Server Sent, Client Processed
The commands described below are synchronous commands/responses that are transmitted by a server 106 and processed by a client 104.
Login Required Response
The server 106 generates the login required command whenever processing a message or command and it is determined that the specified sessionID is missing or invalid (timed out). Upon receipt and execution, the client 104 sends a login command to the server 106 (see above).
System Failure Response
The server 106 generates the system failure response/command whenever an internal system failure occurs processing a message or command. Upon receipt of the system failure command, the client 104 takes appropriate measures to retry the command it received the system failure response message for.
Heartbeat Commands
Heartbeat messages are different from other commands, as they may contain sub commands and collaboration data. The heartbeat message uses two sub-nodes to contain the different types of data. These are the <transientcmd\> node, which contains zero or more commands and responses, and the <persistentcmd\> node, which contains actual collaboration data, i.e., the actions performed in the client 104 by the collaborators 104.
As an example, a heartbeat command demonstrating the full structure is shown below, although any individual heartbeat command may or may not have all the components shown below the <cmd\> node. The example shows a heartbeat command with a single SaveUserData sub-command, and a comment in the <persistentcmds\> section where a real message would have one or more client 104 collaboration commands:
<cmd name="Heartbeat" deltalevel="45" beat="1"
<cmd name="SaveUserData">
<param name="file"
val="woof_tools .xml">
<!-- user data file xml -->
<persistentcmds deltalevel="45>
<!-- client collaboration commands -->
The heartbeat </cmd> node may be required to contain the attributes identified in Table 3.
The current delta level. In solo
See text.
mode, this value is determined
by the client 104 and echoed by
the server 106 in the response.
In collaboration mode, these
are temporary IDs when sent
from the client 104, and actual
IDs when sent from the server
A collaboration or solo beat.
The server 106 updates
the client 104
last contacted time on
Strong beats, whether or
not any other data is sent.
The heartbeat command is executed by the client 104 with a delay between heartbeats of N seconds, where N varies depending if the client 104 is collaborating or not. Tentatively heartbeats may beat execute every 10 seconds when solo and every 2 seconds when collaborating. Occasionally heartbeats will be strong. A strong heartbeat signifies that even if no data modification commands (referred to as delta commands) are sent in the heartbeat, the users' workspace session should be marked as active so that it does not timeout. For example, if a client 104 does not perform any modifications or is away from the keyboard for 20 minutes while in a collaborative session, the client 104 won't be generating any data but the strong heartbeats will keep the client's 104 workspace session alive.
The syntax for the heartbeat command is:
The heartbeat may contain either transient commands, persistent commands (i.e., delta commands), or both. Transient commands are executed immediately and persistent commands are stored for asynchronous processing by a separate server-side process. Some transient heartbeat commands are described below.
If the heartbeat comes from a solo user of the workspace, then the DeltaID's will already be present, and the specified DeltaLevel will represent the new DeltaLevel of the workspace. If the heartbeat comes from a collaborator 104, then none of the delta commands will have a DeltaID, and the server 106 is responsible for numbering them. In either case, the DeltaLevel of the workspace session needs to be updated. If the heartbeat comes from a collaborator 104, then the heartbeat response will contain any delta commands that the server 106 has received that are higher than the clients 104 specified DeltaLevel, and this will include new delta commands that the client 104 just sent. Accordingly, the heartbeat command enables the client 104 to receive the work done by another client 104 during a session.
If the client 104 is collaborating, then any new ObjectID's specified in the delta commands will be temporary and will be marked as such. Temporary ObjectIDs are mapped to real server-generated ObjectID's, and a persistent map is maintained for each user mapping the user's temporary ObjectID to the real ObjectID. When collaborating, the response to a user's heartbeat command will contain the same persistent commands that came up in the command, but with DeltaID's and real ObjectID's set in them, so that the client 104 can update itself.
Part of the persistent commands node is the delta level that the client 104 is currently at. In the collaborative case, there may be delta commands that a client 104 has received from other users that have been given DeltaID's that this client 104 may not yet have. Therefore, the response message may contain not only the updated DeltaID's that this client 104 generated, but it may also contain those DeltaIDs specified by other clients 104, all in the correct DeltaID order.
Depending on the implementation, the heartbeat processing may utilize a beat flag for the status of a particular client 104. The beat flag is utilized to maintain the appropriate state between clients 104 and to facilitate the collaboration between clients 104. Such heartbeat processing utilizing a beat flag is described in detail below.
Alternatively, instead of using a flag to maintain the state of a client 104, the heartbeat processing may result in the generation of several different collaboration transient commands that are sent to the client 104. If the client's 104 state is Solo but the sessions state is Collab Pending, then the client 104 may receive a collabstart command. If the client's 104 state is Collab but the sessions state is Solo Pending, then the client 104 may receive a collabstop command. If the client's 104 state is Joining but the sessions state is Collab, then the client 104 may receive a collabjoined command.
The user may also have other transient commands that have been queued up in a queue of outgoing commands for a particular user (referred to as a user's CommandOut queue) waiting for this heartbeat (for example, somebody may have joined the collaborative session, left the collaborative session, etc). These transient commands in the CommandOut queue are sent from the server 106 to the client 104 in the response message, and marked in a record of the session as having been sent in this particular message ID.
A retry count for each message may also be maintained. During heartbeat processing, the retry count of the message may be checked. When the message is not a retry, message responses to all previous messages have been received and processed by the client. Therefore, if there are any transient commands in the CommandOut queue which are marked as sent in a previous message, such transient commands can be removed from the queue.
The following transient heartbeat commands are transmitted by a client 104 and processed by the server 106.
Save User Data
The save user data command is executed by the client 104 when a session is closed and optionally during sessions as user preferences/options change. The save user data command may execute based on an interval and a dirty flag. If the time interval has passed and the flag/preferences are dirty, then the preferences are saved.
The save user data command uses a user ID, filename, and file data as parameters. The filename should be a valid system file type, otherwise the operation to store/save the data may fail. If a failure occurs, a saveuserdatafailed command will likely be generated and returned in the response message.
Save Workspace Command
The save workspace command is generated by any client 104 that has a non-read-only workspace open. When solo, the client 104 is responsible for sending up all delta commands in the persistent section of a heartbeat command that will update the server 106 from the previous delta level to the new delta level specified. If any of the delta commands are missing, the save will fail.
In collaborative mode, the detalLevel is the latest server-approved delta level of the workspace that the client 104 is aware of. Therefore, the client 104 does not need to transmit persistent commands to update the workspace, since the server already has the delta levels. All clients 104 in a collaboration session may issue the saveworkspace command. Further, saves may occur at a regular interval (e.g., every 1 minute). Accordingly, solo saveworkspace commands come up pursuant to regular heartbeat intervals (e.g., 6 heartbeats), and when collaborating saveworkspace commands are likely issued at greater heartbeat intervals (e.g., every 30 heartbeats).
Collaboration Start Confirmation Command
As described above, various transient collaboration commands may or may not be utilized depending on the implementation. The collaboration start confirmation command may be generated by a client 104 upon receiving and executing a collabstart command. The command occurs only when going from the solo to collaborative mode (i.e., from 1 document viewer to 2). When the server 106 receives this command, the client 104 is signaling that the client 104 has stopped generating delta commands that have DeltaID's, and that it is now the servers 106 responsibility to generate the delta commands. The collaboration start confirmation command typically arrives in the same message as the clients 104 final solo saveworkspace. Subsequent to execution, heartbeats contain delta commands without DeltaID's, and all new ObjectID's are temporary.
Once the server 106 receives the start collaboration confirmation command, the user or users that are in the Joining state can be migrated to the Joined state (they are issued collabjoined commands), as well as placing collabuserinfo commands into the CommandOut queues of all users in the workspace session for all of the users that just Joined. The workspace session state may also be updated from CollabPending to Collab.
Collaboration Stop Confirmation Command
The collaboration stop confirmation command is generated by a client 104 upon receiving and executing a collabstop command from the server 106. This command is only executed when going from the collaborative mode to the solo mode (i.e., from 2 or more document viewers to 1). When the server 106 receives this command, the client 104 is signaling that the client 104 has started generating delta commands that have DeltaID's, and that it is no longer the servers' 106 responsibility to generate delta commands. Subsequently, heartbeats executed by the client 104 contain delta commands with client 104 generated DeltaID's, and all new ObjectID's are real and not temporary.
Once the server 106 receives the collaboration stop confirmation command, the user or user may be migrated from the Pending Solo state to the Solo state. Additionally, the workspace session state may be updated from SoloPending to Solo.
Collaboration Joined Formation Command
The collaboration joined formation command (referred to as collabjoinedconfirm) is generated by a client 104 upon receiving and executing a collabjoined command. A collabjoined command is only received when the user's state transitions from the collaborative pending state to the collaborative mode state. When the server 106 receives the collaboration joined formation command, the client 104 is signaling that the client 104 has received the collabjoined command and is now generating delta commands (unnumbered).
Once the server 106 receives the collaboration joined formation command, the user is likely migrated from the Pending Collab state to the Collab state.
Mapped Objects Command
Depending on the implementation, a mapped objects command may or may not be provided. For example, if a Get Object IDs command (as described above) are implemented, the Mapped Objects Command may not be utilized. As described above, the GetObjectIDs provides the client 104 with a pool of valid IDs which are guaranteed unique. Accordingly, there is no need for the server 106 to map the objects to IDs. However, without the GetObjectIDs command, such mapping may be necessary.
The purpose of the mapped objects command is so that the server 106 can truncate the real-to-temp ObjectID maps for each client's 104 workspace session once the client 104 has acknowledged that the real ID's have been received. Accordingly, the mapped objects command may only be used when in a collaborative mode. Further, the command is originally server 106 generated and simply forwarded back up to the server 106 by the client 104. By making a trip through the clients' 104 queues, once received by the server 106, any temporary ObjectID's in the command are no longer in use by the client 104. Accordingly, temporary ObjectIDs may be removed from a state map of the server 106.
The removal of a temporary ObjectIDs causes object mapping to run considerably faster when processing commands from active clients 104 who are generating numerous delta commands. Without the mapped objects command, the mapping table may continue to grow unchecked.
The execution of the mapped objects command may contain a series of elements, with a tempID and realID attribute/value pair. The elements are parsed and the tempID's are placed into a string. The string may then be transmitted to a single server 106 processor (along with the userID and resourceID) that can efficiently delete all of the temporary objects efficiently.
In addition to transient commands sent by a client 104 and processed by a server 106, the following transient commands are transmitted by the server 106 and processed by a client 104.
Collaboration Start Command
The server 106 generates the collaboration start command while processing a heartbeat if the heartbeat originated from a solo client 104 and the state of the workspace session has been changed to Pending Collab. The collaboration start command signals that a collaborative session is beginning so that the client 104 can begin the transition from the solo state to the pending collaboration state. Once the client 104 has finished this transition, the client 104 will issue a collabstartconfirm command to the server 106 as described above.
Collaboration User Information Command
The server 106 generates the collaboration user information command in response to every heartbeat for a user in a collaborative session. This command contains all of the data regarding users currently in the session including disconnected (link dead) users. It is the client's 104 responsibility to compare the data structure to previously received data structures to figure out what users are new, what users are gone, what users had state changes, what users had icon changes, etc., and then render appropriately.
Collaboration Joined Command
The server 106 generates the collaboration joined command while processing a heartbeat command. If the heartbeat comes from a joining client 104 and the state of the workspace session is Collaborating, then this command is generated and returned on the heartbeat.
Collaboration Stop Command
The server 106 generates the collaboration stop command while processing a heartbeat command if the specified userID is the only user left in the workspace session. The command signals that the collaborative mode should stop, and that the client 104 should enter the pending solo mode and signal to the server 106 that the client 104 has sent up all of the client's 104 un-numbered delta commands.
Beat Flag
The various transient collaboration commands described above (e.g., Collaboration Start Confirmation Command, Collaboration Stop Confirmation Command, Collaboration Joined Formation Command, Collaboration Start Command, Collaboration User Information Command, Collaboration Joined Command, and Collaboration Stop Command) may not be utilized in one or more embodiments of the invention. Instead, a flag may be used in the Heartbeat command that maintains state information for clients 104.
At the server 106 level, the state of the workspace itself as well as the state of the client 104 may be considered. However, each client 104 only needs to keep track of their own state. The state may be described using the following values: 0=closed, 1=disconnected, 2=solo pending, 3=solo, 4=collab pending, and 5=collab.
Upon executing an open workspace command, the client 104 is placed in one of two states: solo pending or collab pending. The heartbeat command always echoes this state to the server 106. In turn, the server 106 will update the value of this flag after examining the state of the workspace and the state of the users in the session.
An example of three clients collaborating using the various flags are illustrated in Table 4.
1. Client1 executes
open workspace
2. Client1
3. Client2 executes
open workspace
4. Client1
5. Client2
6. Client1
7. Client2
8. Client3 executes
open workspace
9. Client3
10. Client2
close workspace
11. Client3
close workspace
12. Client1
13. Client1
As illustrated in Table 4, the values in each row are the final values after successful execution of each command indicated. The first user in a workspace session must confirm (e.g., by issuing a heartbeat command with a collab pending flag) to synchronize all deltas and start a collaboration session. The client 104 always checks the flag returned from the server to determine whether it should change its current state or not.
The command executed in Table 4 and the actions taken may resemble the transient collaboration commands described above in the following manner:
By using the beat flag in this manner, transient collaboration commands are not needed between a client 104 and a server 106. Further, the beat flag provides a mechanism to maintain state information for each client 104 in a collaboration session without the use of extraneous communications between the client 104 and server 106.
Save User Data Failed Command
The server 106 generates the save user data failed command when the processing of a saveuserdata command fails for reasons other than system failure (system failures are handled separately and consistently for all commands/messages). For example, some causes for the saveuserdata command failing may include invalid filename specified or invalid userID specified.
Save Workspace Failed Command
The server 106 generates the save workspace command when the processing of a saveworkspace command fails for reasons other than system failure. Failed commands due to system failures are handled separately and consistently for all commands/messages. For example, some of the causes for the failure of the saveworkspace command may include: invalid userID specified, invalid resourceID specified, no access, and possibly workspace not open.
Collaboration Flow
As described above, numerous commands may be used as part of the collaboration framework to enable multiple users to simultaneously access and modify an actual document that is stored on a server 106. Further, the collaboration application 108 and server application 110 enable the use of a full set of three-dimensional tools to modify a drawing while in a collaboration session.
The server 106 also maintains a history of all modifications to the document. Using the history, a client 104 may undo any client's 104 modification to a drawing document/workspace. Further, in the event of a network or system failure, the history can be used to rebuild/regenerate a document including all modifications on any client 104 by recommunicating commands received from a client 104 to collaborators 104 in a session. To provide such functionality, in addition to the history, the server 106 may maintain a record of the collaboration session including the name, numbers, and statuses of collaborators 104 in the session.
At step 406, the server 106 receives a command (e.g., an XML formatted command) to modify the drawing document from a collaborator 104 in the session. Such a command may be invoked pursuant to the collaborator's 104 use of a tool selected from a full set of drawing modification tools. The command may identify an object in the drawing document that the collaborator 104 has modified.
At step 408, the server 106 distributes the command to modify the drawing document to the other collaborators 104 in the session. Such a distribution may be pursuant to regularly transmitted commands (e.g., heartbeat commands as described above) received from collaborators 104 in the session. Further, as part of the command's distribution, an identifier may be assigned to the command and distributed with the command to the collaborators 104. The client 104 then uses the identifier to determine whether the command has already been reflected in its display or not.
This concludes the description of the preferred embodiment of the invention. The following describes some alternative embodiments for accomplishing the present invention. For example, any type of computer, such as a mainframe, minicomputer, or personal computer, or computer configuration, such as a timesharing mainframe, local area network, or standalone personal computer, could be used with the present invention.
The foregoing description of one or more embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.
|Cited Patent
|Filing date
|Publication date
|Oct 14, 1993
|Apr 18, 1995
|Intel Corporation
|Deferred synchronization of distributed objects
|Apr 2, 1997
|Aug 17, 1999
|Ncr Corporation
|Remote collaboration system that stores annotations to the image at a separate location from the image
|Jul 28, 1997
|May 2, 2000
|Micrografx, Inc.
|System and method of providing interactive vector graphics over a network
|Nov 14, 1997
|May 23, 2000
|Microsoft Corporation
|Computer implemented method for simultaneous multi-user editing of a document
|Apr 24, 1998
|Feb 27, 2001
|Sun Microsystems, Inc.
|Efficient, secure multicasting with minimal knowledge
|Feb 2, 1999
|Jan 29, 2002
|International Business Machines Corporation
|Annotation layer for synchronous collaboration
|Nov 5, 1999
|Aug 19, 2003
|The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration (Nasa)
|Method and apparatus for virtual interactive medical imaging by multiple remotely-located users
|Whiteboard, Microsoft Windows Technologies, 1999-http://microsoft.com/windows/NetMeeting/Features/Whiteboard/default.ASP, pp. 1.
|Whiteboard, Microsoft Windows Technologies, 1999—http://microsoft.com/windows/NetMeeting/Features/Whiteboard/default.ASP, pp. 1.
|Citing Patent
|Filing date
|Publication date
|Feb 17, 2011
|Mar 4, 2014
|Vbrick Systems, Inc.
|Methods and apparatus for collaboration
|Sep 16, 2010
|Mar 31, 2011
|Sungkyunkwan University Foundation For Corporate Collaboration
|Method of networking multiple clients
|Nov 3, 2011
|American Teleconferencing Services Ltd.
|Location-Aware Conferencing With Entertainment Options
|Feb 17, 2011
|Aug 23, 2012
|Erik Herz
|Methods and apparatus for collaboration
|Jan 28, 2008
|Jan 30, 2014
|Adobe Systems Incorporated
|Rights application within document-based conferencing
|Sep 30, 2013
|Mar 19, 2015
|Box, Inc.
|Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
|U.S. Classification
|715/751, 715/753
|International Classification
|Cooperative Classification
|European Classification
|Apr 1, 2015
|Surcharge for late payment
|Apr 1, 2015
|Fee payment
Year of fee payment: 4


text:
Save the date for next year!
CUNA GAC 2017 will be held February 26 - March 2, 2017 in Washington, D.C.
Request to be notified when more information is available.
Advocate for America's credit unions
Unite with thousands of credit union leaders at the year's biggest credit union advocacy event: CUNA Governmental Affairs Conference. CUNA GAC brings together advocates on behalf of America's credit unions and our more than 100 million members. We'll represent all 50 states at our GAC Hill Hikes, meeting face-to-face with representatives about important issues and show them our positive impact we make on their constituents' financial lives.
CUNA GAC unites the largest group of credit union advocates to:
- Engage with legislators and regulators on key issues
- Hear from world-class business and political speakers
- Discuss industry challenges and opportunities
- Network with progressive credit union leaders
- Learn about the latest tools and technology to improve member service
Learn more about Credit Union National Association.
For more information, call 800-356-9655, ext. 5700, or e-mail email@example.com


text:
Online and Blended Learning at Brown University
The Online Team at Brown's School of Professional Studies (SPS) is responsible for the design, development, delivery, and facilitation of online and blended courses within three program areas at SPS: Executive and Professional, Undergraduate, and Pre-College. The team also collaborates with colleagues across Brown's campus and at other peer institutions to advance online teaching and learning initiatives. Meet the Online Team »
We believe that effective learning depends on high-quality instructional design – no matter whether in a traditional face-to-face classroom or in an online environment. Brown's online instructors are enthusiastic, imaginative educators working at the forefront of online teaching and learning. They work closely with the University's instructional designers to develop and facilitate courses that exemplify best practices of student-centered design and inquiry-based learning. Our courses foster exciting, dynamic learning communities that encourage one-on-one interaction, teamwork, and networking. Designing & Teaching with SPS Online »
Blended Executive Programs
SPS's Executive Master programs offer advanced study to mid-career professionals in diverse fields, in alignment with Brown's mission to develop reflective leaders, to effect change in the world, and to improve human welfare. These timely, relevant interdisciplinary programs prepare leaders to meet their most pressing professional challenges, to transform their organizations, and to have a significant impact in their fields.
The blended 15- or 16-month programs combine online coursework with short, intensive residential sessions held on Brown's campus or in locations around the world related to the program's course of study. Current programs include:
IE Brown Executive MBA »
Offered in partnership with internationally top-ranked IE Business School in Madrid, Spain.
Executive Master in Cybersecurity »
Cultivates industry leaders prepared to address the global, technical, and policy challenges of cybersecurity.
Executive Master of Healthcare Leadership »
For clinicians, executives, senior administrators, and others with significant responsibility in the health industry.
Executive Master in Science and Technology Leadership »
Transforms experts in technology, science, and engineering into strategic industry leaders prepared to drive innovation in today's rapidly changing, global economy.
Undergraduate Summer Session for Credit »
SPS partners with Brown faculty to develop fully online for-credit courses for Brown University undergraduates; the courses take place over seven weeks during Summer Session.
Brown launched its first fully online for-credit course for undergraduates in the summer of 2013. Building on that and the subsequent summer's success and positive response from both student and faculty participants, Brown is continuing to grow this online offering for undergraduates.
Pre-College Online Courses »
Pre-college online courses are rigorous, active learning experiences designed specifically for high school students and led by Brown instructors. Students engage in intellectual discussion and complete assignments designed to inspire curiosity and discovery, working closely with their instructors and with talented, motivated students from around the world.
Since 2013, Brown has offered Exploring Engineering, a free, open, online course designed for pre-college students, hosted by Canvas Network. To date, almost 7,500 students have participated.


text:
I wanted to see if anyone had experience with pregnancy after a vasectomy. The reason I ask is Df and I were not trying to get pregnant, we had twin girls Oct 2010, he had a vasectomy in Nov 2010, and I have been on birth control pills ever since for issues related to frequent Af (every 2 weeks).
Recently 4 days ago my bb's have become horribly sore, a few days later they are swollen and have appeared to increase in size, I have been getting dizzy spells, racing heart beat, feeling as if I'm having hot flashes, peeing a lot more, and have a bloating/fullness feeling in my lower abdomen.
I do not know when my last AF was other than I can pinpoint sometime between 9/7-9/12. I do remember that it wasn't as long as normal only around 3-4 days. I have taken 2 pregnancy test both looked negative, but appeared to have a faint line (really faint) with that being said could be my mind playing tricks.
He never did go back to have his sperm tested to see if he was in fact sterile, so we have no idea on that, other than it's been almost 2 years without any issues until now.
We have 7 kids between the two of us so we already have a large family, which was the reason for the vasectomy. Right now we are just in freak out mode, and wondering what is going on. We have heard of those having children after a vasectomy due to tubes growing back, so we think it's possible. All my symptoms tell me I am, but again I don't know. Any advice?


text:
It shifts, but winds out much too long. No codes detected that I know of. I suspect the shift solenoid. Any other suggestions? Thanks!
Where is the shift solenoid located? Is it the one at the back of the trans? on 1992 Chevrolet S10
1 answer
I don't think this is new enough to actually have a code for this. so yes I do believe this is the location.


text:
sponsored by
Mark Rivera
FBI-CJIS Security Policy Compliance Officer
Mark Rivera, Customer Retention Manager and CJIS Security Compliance Officer with Vigilant Solutions, served for sixteen years with the Maryland State Police, retiring at the rank of First Sergeant with thirteen of those years at the supervisory and command level. He holds a Master of Science Degree in Management from The Johns Hopkins University and Secret clearance through the FBI, Baltimore.
Adam Eisenberg tells the story of female law enforcement pioneers in "A Different Shade of Blue." The stories of 50 women on the Seattle Police Department provide insights into the sexism, size differences, harassment and other challenges of breaking through the blue ceiling. Seattle was one of the first cities to hire female officers in 1912, and one of the first to put women on the street as equal beat cops in 1975. The book arrived in July 2009.


text:
Username or Email Address
(forgot?) Register
Use simple short codes to display auto-populating dropdowns for vehicle Year, Make, Model, and trim on your site from CarQuery API database.
Download Version 1.2
No reviews yet! Be the first to review this plugin!
RSS link for this plugin's reviews.
You must log in to submit a review. You can also log in or register using the form near the top of this page.


text:
In Internet Explorer, my news tag & sidebar tag keeps the main wrapper extended and the sidebar tag never goes over the border. But in different explorers, the sidebar goes over the main wrapper tag everytime unless the news tag extends farther then my sidebar.
I'm designing it for http://www.ksidivisions.com; it's some bumps, anyone know what code I am missing?


text:
JFK Website (0)
Digital Archives (1)
Title: KN-C20729. President John F. Kennedy Meets Crew Members at Vandenberg Air Force Base, California
President John F. Kennedy (at right in background) speaks with members of Warren Air Force Base's 389th Strategic Missile Wing, following the launch of the Atlas 134D missile. Crew member, Major Clifford W. Simonson, stands in center (back to camera). Director of Research and Development for the Department of Defense, Dr. Harold Brown, stands at ri...
Search powered by Oracle Endeca ®.
JOHN F. KENNEDY PRESIDENTIAL LIBRARY AND MUSEUMColumbia Point, Boston MA 02125 (617) 514-1600


text:
Welcome to Audiko.net! Simply download a free Childish Gambino ringtones for your iPhone or mobile. Elect your favorite passage from your favorite masterpiece - Childish Gambino - 3005 (2AM Club Cover live in studio at No, Childish Gambino - 3005 (2AM Club Cover live in studio at No, Every Little Gambino She Does Is Childish, or any other track. Here you can download your ringtone both in the MP3 and m4a formats, supported by both mobile phones and iPhones. Just select a track, and choose free Childish Gambino ringtones download option.
Download Childish Gambino Ringtones
Similar Artists
Top artists
Top ringtones
- Idiotek - Crash Bandpass
- Local Natives - Colombia Drum Samples:tambourine Stem
- Groove Cereal - We Could Drive All Night
- Local Natives - Three Months Keys Stem
- Local Natives - Heavy Feet Kelcey Vocal Reverb Stem
- Marshmellow - What Do You Mean
- Local Natives - Wooly Mammoth Vocal Stem
- A Tribe Called Red - A Tribe Called Red - Burn Your Village To The Ground
- Local Natives - Bowery Synth Bass Stem
- Local Natives - Ceilings Sub Bass Stem


text:
You are a fan of transfer weight ? Come to discover the best forums transfer weight on the internet and share your experience with a community fan of transfer weight . You can also build a forum transfer weight and create your online discussion.
Free forum : For the ~Hetalia RP~ group to transfer to from Tinierme
Free forum : Health, nutrition, weight loss
hCG support group for the weight loss cure protocol.


text:
It's one thing to win a city election. It's another thing to know how to do the job.
Newly elected officials from cities and towns across Mississippi will get a one-day crash course in how to handle their long list of responsibilities.
The Mississippi Municipal League is holding an orientation session Thursday at the Old Capitol Inn in downtown Jackson.
More than 200 aldermen, city council members and mayors are expected to attend. They will hear from several state officials, including Lt. Gov. Phil Bryant.
Most Mississippi cities and towns held elections this month. Officials' new terms begin on July 6.


text:
|Women, Girls, Infant/Baby
This hat was named for Annabelle Joy, a sweet little baby who was born too soon and unable to stay with her loving family. A donation of $0.50 from the sale of each pattern sold will be made to the Make-A-Wish foundation in Annabelle's memory.
The open weave makes this a perfect hat for spring, summer or fall. Pattern includes instructions for interchangeable flowers to mix and match with different outfits.
This is a quick and easy project and makes a wonderful wardrobe accessory. Permission is granted upon purchase of pattern to sell finished hats made by the purchaser.
Please "like" my page on facebook at http://www.facebook.com/ElishaCramDesigns for updates on new patterns, testing opportunities, sales and discounts.
3.5 inches = 10 single crochet
120 yards of Worsted weight


text:
Hunter Kids' Original Gloss Wellington
These fun bright red wellies will make all the kids jealous in the playground. Bright and fun, they will never want to take them off.
Hunter has created an adorable range of children's wellies featuring many of the popular styles from the adult range.
Just like the adult styles these kids' wellies are from the signature Hunter mould but have now gained a stunning glossy finish, making them more alluring for kids.
Featuring the signature aspects from the adult range including comfort, fit and expert design, now available for the little ones to run around in. The design especially takes into account how active kids can be; the orthopaedic support is tailored to smaller feet, promoting natural growth, making sure ankles are supported and even the knee heights are designed to cater to the variety of heights amongst kids.
With reflective strips for added visibility and a high gloss finish, the safety and style of your child is in good hands.
Designed to keep feet dry
Made from natural rubber compounds to achieve greater strength
Hardwearing linings with the ability to allow the foot to slip in and out easily
Multi-layer cushioned sponge insoles adding extra comfort
Reflective strips on the back and front aiding safety and visibility
Also available in Fuchsia
|Footwear Style:
Please remember to add postal time (2-3 working days) to obtain a complete estimate of delivery to your door.
You will receive an email to confirm when your item has been sent.
You can also check the status of your order and individual items by accessing My Account details and following the prompts.
Please allow 10 working days from dispatch of your order before notifying us of any late deliveries.
It may be advisable to check with your neighbours to see if a parcel has been left with them, check any outhouses you might have where it may be left if it cannot fit through your letterbox and contact your local sorting office to see if the item has been returned to the depot as undelivered and awaiting collection.
Please see our returns policy.
There are currently no reviews.


text:
There was a discussion about two years ago regarding external image hosting and using nextgen gallery: http://wordpress.org/support/topic/plugin-nextgen-gallery-storing-images-outside-wp-contentgallery
The plugin author wrote: "currently it's not possible to store the galleries outside , because I used the ABSPATH & blogurl as base for the complete path. I planned some rework for a next version, but it will takes some time"
I haven't found any further info on the subject.
Is it now possible to use external image hosting?


text:
A shirtless farmer trudges up to a semi-circle of singing volunteers.
The National League for Democracy's economic strategy will focus on five "pillars" according to a document seen by The Myanmar Times.
Informal talks to take place in Chiang Mai this week ahead of proposed meeting in Yangon in early August.
Lack of trust between the Tatmadaw and armed ethnic groups remains a key factor preventing NGOs from starting de-mining operations.
Last month the National Minimum Wage Committee announced a provisional base wage of K3600 a day, due to take effect at the end of August, but factory workers and owners continue to debate the figure, and some foreign owners say they will shut their factories if the wage is enacted.
With as little as six weeks left to finalise a nationwide ceasefire before election campaigning begins, government and ethnic leaders have resumed talks but remain divided on key issues, particularly who can sign the agreement.
Residents have started returning to Laukkai, but they say martial law is hurting business as fighting continues in southern parts of the region.
Proposed amendments would reduce the military role in national politics by ensuring a civilian president, while also devolving more power to states.
Fighting in Kokang and controversial investments such as the Myitsone dam are likely to dominate discussions.
More people in Myanmar have mobile phones than use electricity to light their homes, many more rely on bullock carts than possess cars or vans, and there is still a serious deficit of toilets and potable water.


text:
Thomas L. Barr
Position: Guard ▪ Shoots: Right
Height: 6-4 ▪ Weight: 195 lbs.
Born: June 19, 1944
High School: Penn Hills in Penn Hills, Pennsylvania
College: Duquesne University
NBA Debut: October 14, 1970
Promote your website or business by sponsoring this page for $5 on Basketball-Reference.com. Your message will replace this ad.
October 5, 1970: Signed as a free agent with the Cincinnati Royals.
|Google Search


text:
Recent News
Mon, Aug 29, 2016
WEDNESDAY is the LAST DAY to get this month's donation pin!
Thu, Aug 25, 2016
Fri, Aug 19, 2016
Misfile auction ends early Monday:
Fri, Aug 19, 2016
Looking for a new place to live this weekend, the first of what will likely be many trips. Hopefully we find something we like.
Comic Comments
No comments for this comic.
All comics, artwork, characters copyright © 2016 by the creator(s). All rights reserved.
Roll Over for Privacy Policy
Google, as a third party vendor, uses cookies to serve ads on your site. Google's use of the DART cookie enables it to serve ads to your users based on their visit to your sites and other sites on the Internet. Users may opt out of the use of the DART cookie by visiting the Google ad and content network privacy policy. We allow third-party companies to serve ads and/or collect certain anonymous information when you visit our web site. These companies may use non-personally identifiable information (e.g., click stream information, browser type, time and date, subject of advertisements clicked or scrolled over) during your visits to this and other Web sites in order to provide advertisements about goods and services likely to be of greater interest to you. These companies typically use a cookie or third party web beacon to collect this information. To learn more about this behavioral advertising practice or to opt-out of this type of advertising, you can visit


text:
Religious Celebrations
Wedding Celebrations
Milestone Celebrations
Upcoming Holidays
Corporate Party
Party Ideas & Inspiration
Please upload a photo that has a resolution of at least 250 dpi at its print size and is in one of the following file formats: jpg,pdf. The file must not exceed 10MB. Beau-coup will not crop or retouch your photo and is not responsible for the quality of uploaded files. By uploading an image, you agree to our terms and conditions.
1. Customer is responsible for owning the copyright or having permission from the copyright holder for all images uploaded to this website. Customer agrees to hold Beau-coup harmless from any claim arising out of the use of copyrighted material.
2. Beau-coup may choose not to publish any images found to be offensive.
Sweeten up your office party or corporate event with these corporate logo marshmallows. The perfect bite-sized treat, each marshmallow features a 100% edible printed logo, custom text, or other high-resolution photo of your choice. Marshmallows are hand-dipped in white chocolate and coated in your own custom combination of colored sprinkles.
Upload a custom image or logo from your computer. Please ensure the photo has a resolution of at least 250 dpi and is in either .JPG or .PDF format. The file must not exceed 10MB. Beau-coup cannot crop or retouch your photo and is not responsible for the quality of uploaded files.
Looking for more great corporate favor ideas? Fill clear favor boxes with corporate logo Hershey's Kisses for a sweet treat they'll love.
Processing time is the time from when the order is placed to when it leaves our warehouse. This varies by product.
Shipping time is the time from when the package leaves our warehouse to when it arrives at your door. This varies by shipping method.
Shipping internationally? Read our International Orders FAQ for information on custom duties, export restrictions and more.
* Shipping options and estimated delivery dates apply to orders shipping within the 48 contiguous United States only.
Shipping Charges
Rules & Exceptions
This item has one or more options that are currently out of stock. If you would like to be notified by email when it becomes available, please enter your email address below.


text:
I've searched every post I could find, but still haven't found a definitive answer on how to have one image (around 600 px height) on the front page and all the others default to a standard header image.
My goal is to have a static front page image that links to the blog page when clicked. I am working in Twentyeleven, and a child theme. I know how to create the static front page. What I don't know is how to call the header images and if I have to define the different heights somewhere. I have tried an if/else, and I have tried creating header-home.php but I'm not sure how to doing either correctly.
Can someone provide guidance please?


text:
Get Funagain Points by submitting media! Full details, including content license, are available here.
You must be logged in to your account to submit media. Please click here to log in or create a free account.
Passe-Trappe Micro
Your Price: $49.95
(Worth 4,995 Funagain Points!)
Notify me if/when this item becomes available:
(you will be asked to log in first)
Please Login to use shopping lists.
Product Description
At the start of the game, both players place their disks anywhere they like on their side as long as they are not blocking the central passageway. The players simultaneously use the elastic band to flick the disks through the passageway to the opponent's side. Whoever has fewer pieces on their side when time runs out wins the game.
The board measures approximately 13 x 8 inches.
Product Information
Jean-Marie Albert
Year: 2007
Players: 2
Time: 15 minutes
Ages: 5 and up
Weight: 721 grams
Language Requirements: Game components are language-independent. Manufacturer's rules are printed in multiple languages (including English).
- 1 beech gameboard
- 10 wooden disks
- 2 rubber bands
Product Reviews
Other Resources for Passe-Trappe Micro:
Board Game Geek is an incredible compilation of information about board and card games with many descriptions, photographs, reviews, session reports, and other commentary.


text:
- Report: #352141
Report - Rebuttal - Arbitrate
Complaint Review: International Award Advisors
International Award AdvisorsNo Physical Address Given, Only PO Box Hunting Station, New York U.S.A.
International Award Advisors My mother of 75 years of age recieved an official appearing letter dated July 8, 2008, 4pm. It instructed her to mail to International Award Advisors an amount of $20.00. She would then recieve an award amount of $2,500,000.00 if she responded no later than July 22, 2008. This company and the "Corporate Compliance Officer named June Aguiar", that signed the actual letter need to be stopped. Hunting Station New York
Ripoff Report
About you?
Ripoff Report
A business' first
line of defense
on the Internet.
If your business is
willing to make a
commitment to
customer satisfaction
Click here now..
Does your business have a bad reputation?
Fix it the right way.
Corporate Advocacy Program™
Pisgah, Alabama
This report was posted on Ripoff Report on 07/16/2008 07:26 PM and is a permanent record located here: http://www.ripoffreport.com/r/International-Award-Advisors/Hunting-Station-New-York-11746-9050/International-Award-Advisors-My-mother-of-75-years-of-age-recieved-an-official-appearing-l-352141. The posting time indicated is Arizona local time. Arizona does not observe daylight savings so the post time may be Mountain or Pacific depending on the time of year.
Ripoff Report has an exclusive license to this report. It may not be copied without the written permission of Ripoff Report.
Click Here to read other Ripoff Reports on International Award Advisors
If you would like to see more Rip-off Reports on this company/individual, search here:Search Tips
In order to assure the best results in your search:
- Keep the name short & simple, and try different variations of the name.
- Do not include ".com", "S", "Inc.", "Corp", or "LLC" at the end of the Company name.
- Use only the first/main part of a name to get best results.
- Only search one name at a time if Company has many AKA's.
Advertisers above have met our
strict standards for business conduct.


text:
Estée Lauder Pencil Sharpener
Item No.1230085465
Item No.1230085465
Multi-sharpening tool fits all Estee Lauder lip and eye pencils. Precision sharpener catches shavings for easy disposal. Different size openings fit any pencil-just a quick twist and your pencil is perfectly sharp.
Sunday to Friday - order by 9pm
Saturday - order by 6pm
Monday to Sunday - order by midnight
Show full delivery details
Subject to exceptions, Debenhams is happy to exchange or refund your purchase within 28 days of delivery. Please check here for more details on our returns policy and exceptions.
Open a Debenhams Credit Card today and receive:
Please note: if the amount you pay on your card is less than £500 after the 10% discount is applied, the offer will not be available.
Credit available from NewDay Ltd to over 18's only. *Terms &Conditions applyFind out more & apply now


text:
When you become a member of Monasteries of the Heart you receive free weekly practices that can help you develop a monastic spirituality—prayer, lectio (reflective reading), good works, study and community. You also receive free inspirational words each week from three monastic blogs, including one by Sister Joan Chittister. And you join a worldwide community whose members discuss meaningful issues and are intent on impacting the times.
In addition to new weekly content, Monasteries of the Heart offers regular online courses, retreats and book discussions. While some of this curriculum content is free, many of the courses and retreats have a small fee. Courses and retreats usually include several emails a week, exclusive video or audio content and a facilitated discussion.
Course or Retreat in session now
Instruction on monastic spirituality and way of life is essential if members of Monasteries of the Heart are to carry forward and keep alive the ancient Benedictine tradition.
Initial Monastic Formation for New Members
Study based on the book
The Monastery of the Heart by Joan Chittister
I did not want to stop the conversation which is why I let Mutuality (one of my favorite chapters, by the way) stand for a while.
Each of you engaged in the...
Next Course or Retreat to be offered
Four to six courses and retreats are offered each year at Monasteries of the Heart. This is our next online offering.
Is the vocation of peacemaker reserved for a chosen few or is it your call too? The late Trappist monk Thomas Merton believed peacemaking and nonviolence were Gospel imperatives. In this four-week eCourse, best-selling author and peace activist John Dear explores how the writings and mentoring of Merton profoundly influenced the peace landscape of the institutional church and continues to shape it still. More importantly it forces all of us who claim to be followers of Jesus to grapple with the demanding invitation of the Sermon on the Mount.
"People get the leaders they deserve" is an old adage. But is it true?
Join Joan Chittister for "Women and Moral Leadership," a live- streamed webinar, as she articulates why church and society are locked in a leadership crisis in an era when we have never needed vision more. Joan Chittister will address impacting questions such as:


text:
Freedom With Responsibility
Skip to Section Subnavigation Skip to Page Content
Skip to Page Content
Bart Robertson is easily recognizable by his wireless glasses and tweed sports coats! He will help you through the admissions process for middle and upper school in his role as assistant director of admissions - Ward Parkway campus.
Read more...
The admissions process at Pembroke Hill involves several important steps. Applications are accepted beginning September 1 for the following school year.
Meeting the costs of a private school education is a major investment. Families should not be discouraged from applying to Pembroke Hill because of financial concerns.
In order to be considered for admission, applicants must complete all steps of the application process and meet the stated deadlines.


text:
Large Desserts
Very Berry Blackberry Pie
95% recommend this product.
You'll love this pie—bursting with plump, ripe blackberries picked at the height of the season, in a golden, made-from-scratch crust.Where to Buy Nutrition Information
Customer Reviews
Better than homemade!!
My whole family loves this pie. But it is very hard to find at the grocery stores. When I do see them, I stock up (I now have five in the freezer) When the kids and grandkids know I'm coming to visit, they always ask me to bring a few pies with me. They live up north and are unable to find any in their stores. My husband and I just finished a Marie Callender's Verry Berry Blackberry Cobbler we found at our local Publix store. The cobbler is just as good as the pie!!
We're so happy to hear how much you and your family love this pie! Thanks for giving the cobbler a try, we're glad you liked it as well. Here is a link to our store locator, http://www.conagrafoods.com/our-food/brands/where-to-buy, that can be used to find any other stores in your area that should carry both of these desserts. If they don't, please talk to the store manger and ask if they can order some for you. Sometimes they just need to know the favorites our consumers like so they continue to keep them in stock! Thank you for loving our food!
Yes, I recommend this product.
The Best Blackberry pie!!
Better than any homemade I have ever had. Its my husband and my favorite.
Yes, I recommend this product.
The best pie in the world!
I am currently travelling around the world with my family, we have been travelling west from New Zealand and been through many countries along our travels so far - all the while I have been sampling the wonderful foods on offer - and I can honestly say, this pie is the best pie (if not best food) I have ever eaten (and I have eaten a lot of very good pies). From the perfectly balanced pastry (not to heavy, nor too flaky) to the high-filled contents just bursting with flavour, and again the right texture and sweetness. Just perfect! Thank you so much for bringing this wonderfully delicious product to market! You have raised the bar for my tastebuds.
Yes, I recommend this product.
I just stopped trying to make the perfect pie and perfect pastry. I decided to try Marie Calendar's berry pie. It really was incredible! I will never attempt to make the perfect pie again after trying Marie Calendar's frozen pie. The Marie Calendar's restaurant closed and it never occurred to to by a frozen one at the supermarket!
Yes, I recommend this product.
Excellent Pie
The Blackberry pie was excellent. Definitely our favorite.
Yes, I recommend this product.
better than gramma's
This is the best blackberry pie I've ever had I cannot afford to buy this vary often . If I won the LOTTO I would have Blackberry pie everyday. Is there anyway I could get a PIE sent to me please help I need more pie
Yes, I recommend this product.
Write a Review
Success! Your Review Has Been Submitted.
Please note that your review may take up to 48 hours to appear.Back to Reviews


text:
Tuesday, 22 January 2013
And now for something completely different. How to promote the Year of Natural Scotland using some of those things for which the Shetland Isles are noted. Things like sheep, Fair Isle knitting, the Shetland pony . . .
Jo Tonkinson, co-owner of Thordale Shetland Driving Centre, which provided the ponies, said: 'It was quite simple – we sent the ponies' measurements to the knitter, who sent back two jumpers. We just had to put their two front legs in and they buttoned under the stomach. It was perhaps an odd request, to get the ponies in Fair Isle, and a bit silly, but they were perfectly happy. Hopefully these pictures will make people smile.'
The jumpers were made by Shetland designer Doreen Brown – a little longer in length and shorter in the arm than she is used to. They are hand-knitted using wool from native Shetland sheep.
The ponies, named Fivla of Finnister and Millhouse Vitamin . . . got their jumpers rather a lot more muddy and had to take them off for washing. Fivla and Millhouse are used to wearing harnesses so were completely comfortable in their new clothes.
Posted on 01/22/2013 1:13 PM by Esmerelda Weatherwax
23 Jan 2013
That Vitamin Is The Size Of An Effing 'Orse Pill
Or: They Still Needed Horses After Hastings, Didn't They?
I suppose that "Fivla of Finnester" and "Millhouse Vitamin" sound better than "Hengist of Finnester" and "Horsa Vitamin."
Mr. Ed*
cc Wilbur, Richard
Hengist and Horsa were very dull people. Now, as you know, they colonised Kent; consequently the people of Kent have ever since been very slightly – well, you know . .**
Your Prime Minister of Finnester,
Mr. Ted Heath,
Cute horses, Esme; they'd go well with some Hollande- Hollandaise sauce.
c/o Calais
Tags: treason of the Clarks, feeling Clark Kentish
24 Jan 2013
Bend Finnister
Or: Losing The Spring In His (Mis)Step
The old gray matter ain't what she used to be; Mr. Ed has misspelled "Finnister" as "Finnester" as in das Fenster or "defenestrate."
Through The Window Pane,
Like Salami Slain,
Jan Masaryk,
Tags: Arab Spring, slow jihad salaam tactics, Prague Spring, Soviet Salami Tactics, Secret Song of the Mongols, secret tomb of Genghis Khan, losing the Spring chicken in his steppe, Kublai Khan, For the Jew did Herman Kahn an Iron Dome decree, arms control treaty had a ragged clause, annoying person from Prufrock, Pakistan is queer for or on Abdul Qadeer Khan, Sarah Palin Fire, Putin says, "She got her just desserts and I can see baked alaska from here."