text:
Difference between revisions of "EclipseLink/Examples/JPA/CacheCoordination"
(→Running the example)
(→Running the example)
|Line 29:
|Line 29:
* EclipseLink (WLS 10.3.4 includes EclipseLink 2.1, a 2.2 build or any >= 1.2 version could be used) - [http://www.eclipse.org/eclipselink/downloads/ download link]
* EclipseLink (WLS 10.3.4 includes EclipseLink 2.1, a 2.2 build or any >= 1.2 version could be used) - [http://www.eclipse.org/eclipselink/downloads/ download link]
* Cache coordination example - download link
* Cache coordination example - download link
==Running the example==
==Running the example==
Revision as of 15:41, 20 September 2010
EclipseLink supports a shared (L2) object cache that avoids database access for objects and their relationships. This cache is enabled by default which is normally not a problem, unless the database is modified directly by other applications, or by the same application on other servers in a clustered environment.
There are many solutions to caching in a clustered environment, including:
- disable the shared cache
- only cache read-only objects
- set a cache invalidation timeout
- use refreshing on objects/queries when fresh data is required
- use optimistic locking (writes on stale data will fail, and will automatically invalidate the cache)
- using a distributed cache (such as Oracle TopLink Grid with Oracle Coherence)
- using cache coordination (synchronizing the caches, as discussed in this example)
This example gives an overview of the cache coordination option.
EclipseLink provides a cache coordination feature that enables a set of EclipseLink sessions to synchronize their changes in a distributed network such as an application server cluster. Cache coordination works by each EclipseLink session (ServerSession/persistence unit) on each server in the cluster being able to broadcast notification of transactional object changes to the other EclipseLink sessions in the cluster. EclipseLink supports cache coordination over RMI and JMS. The cache coordination framework is also extensible so other options could be developed.
This example demonstrates enabling cache coordination using JMS or RMI for a JEE EJB 3.0 SessionBean application using JPA deployed to an Oracle Weblogic cluster. The example could be ported to other JEE application servers or environments. EclipseLink supports cache coordination in any Java environment, including Java SE, or Tomcat.
If you encounter any issues in running this example, or are running in another app server or version please discuss, here
The following software is required to run this example:
- Oracle Weblogic Server (10.3.3 was used, but any WLS version supporting EJB 3 should work, or any JEE application server with some work) - download link
- ant (1.7 was used, but other versions should also work) - download link
- Oracle database (or any other client/server database (embedded database will not work as cannot be accessed from all machines)) - download link
- EclipseLink (WLS 10.3.4 includes EclipseLink 2.1, a 2.2 build or any >= 1.2 version could be used) - download link
- Cache coordination example - download link
Configuring the example
Running the example
- Install Oracle WebLogic (or your desired JEE application server, or use existing application server)
- Configure paths to server in the <example>/build.xml (JEE_HOME, JEE_SERVER, JEE_HOST, JEE_USER, JEE_PASSWORD)
- Upgrade the eclipselink.jar in your application server to be the latest release (not required)
- In WebLogic the eclipselink.jar is in <weblogic-home>/modules/ directory named org.eclipse.persistence_18.104.22.168_x-x.jar, where x depends on the version of WebLogic.
- If using another application server you may need to add the eclipselink.jar to your application server's library path.
- You must also update the path in the <example>/build.xml to point to EclipseLink, JPA and EJB (JPA_LIB, EJB_LIB, ECLIPSELINK_LIB)
- Install Oracle database (or use existing database, ensure the database is not an embedded database)
- Configure database in <example>/build.xml (DB_DRIVER, DB_URL, DB_USER, DB_PASSWORD)
- or, you could create your own DataSource in your application server using your application server's tools or config,
- this example uses ant to automatically create a DataSource in the server.
- Install ant (or uses existing ant install)
- Ensure the prompt environment variables have been set to use the JVM provided in the WebLogic install (JRockit was used for this example)
- Create the WebLogic domain and cluster
- Run "ant create-cluster",
- this will create a new WebLogic domain, a cluster and three servers on the same machine but with different ports.
- An existing domain/cluster could also be used, or separate machines for each server in the cluster.
- If using an existing domain/cluster, you will need to manually configure and start each server.
- Start the cluster
- Run "ant start-cluster",
- this will start 4 weblogic servers, an admin server, and 3 servers in a cluster.
- Configure the cluster
- Run "ant setup-cluster"
- this will create a DataSource, ConnectionPool, JMSServer and deploy then to the cluster.
- Build the application
- Run "ant"
- this will compile the example code and build the employee.ear
- Deploy the application
- Run "ant deploy"
- this will deploy the ear to the cluster
- Run the example
- Run "ant example"
- This should give the following output,


text:
Severance Gallery
A group of British office workers find themselves being stalked by war-crazy maniacs in horror-comedy Severance. The film looks set to become a horror classic – check out our pictures to glimpse some of the gory fun….
Roll your mouse over the left and right-hand sides of the image and then click to view more pictures.
1 of 8
Read our review of Severance or read our interview with Danny Dyer or even buy it
Latest Galleries: The Sentinel l Severance l Volver l Miami Vice Gallery 1 l Miami Vice Gallery 2 l Pirates of the Caribbean l Pirates of the Caribbean: UK premiere l Lost – Season 2 l Casino Royale l Lady In The Water l Nacho Libre

subset: commoncrawl


text:
Data Transfer Architectural Overview
Windows Communication Foundation (WCF) can be thought of as a messaging infrastructure. It can receive messages, process them, and dispatch them to user code for further action, or it can construct messages from data given by user code and deliver them to a destination. This topic, which is intended for advanced developers, describes the architecture for handling messages and the contained data. For a simpler, task-oriented view of how to send and receive data, see Specifying Data Transfer in Service Contracts.
This topic discusses WCF implementation details that are not visible by examining the WCF object model. Two words of caution are in order with regard to documented implementation details. First, the descriptions are simplified; actual implementation may be more complex due to optimizations or other reasons. Second, you should never rely on specific implementation details, even documented ones, because these may change without notice from version to version or even in a servicing release.
Basic Architecture
At the core of WCF message-handling capabilities is the Message class, which is described in detail in Using the Message Class. The run-time components of WCF can be divided into two major parts: the channel stack and the service framework, with the Message class being the connection point.
The channel stack is responsible for converting between a valid Message instance and some action that corresponds to the sending or receiving of message data. On the sending side, the channel stack takes a valid Message instance and, after some processing, performs some action that logically corresponds to sending the message. The action may be sending TCP or HTTP packets, queuing the message in Message Queuing, writing the message to a database, saving it to a file share, or any other action, depending on the implementation. The most common action is sending the message over a network protocol. On the receive side, the opposite happens—an action is detected (which may be TCP or HTTP packets arriving or any other action), and, after processing, the channel stack converts this action into a valid Message instance.
You can use WCF by using the Message class and the channel stack directly. However, doing so is difficult and time-consuming. Additionally, the Message object provides no metadata support, so you cannot generate strongly typed WCF clients if you use WCF in this manner.
Therefore, WCF includes a service framework that provides an easy-to-use programming model that you can use to construct and receive
Message objects. The service framework maps services to .NET Framework types through the notion of service contracts, and dispatches messages to user operations that are simply .NET Framework methods marked with the OperationContractAttribute attribute (for more details, see Designing Service Contracts). These methods may have parameters and return values. On the service side, the service framework converts incoming Message instances into parameters and converts return values into outgoing Message instances. On the client side, it does the opposite. For example, consider the
FindAirfare operation below.
public interface IAirfareFinderService
int FindAirfare(string FromCity, string ToCity, out bool IsDirectFlight);
<ServiceContract()> _
Public Interface IAirfareFinderService
<OperationContract()> _
Function FindAirfare(ByVal FromCity As String, _
ByVal ToCity As String, ByRef IsDirectFlight As Boolean) As Integer
End Interface
FindAirfare is called on the client. The service framework on the client converts the
FromCity and
ToCity parameters into an outgoing Message instance and passes it to the channel stack to be sent.
On the service side, when a Message instance arrives from the channel stack, the service framework extracts the relevant data from the message to populate the
FromCity and
ToCity parameters and then calls the service-side
FindAirfare method. When the method returns, the service framework takes the returned integer value and the
IsDirectFlight output parameter and creates a Message object instance that contains this information. It then passes the
Message instance to the channel stack to be sent back to the client.
On the client side, a Message instance that contains the response message emerges from the channel stack. The service framework extracts the return value and the
IsDirectFlight value and returns these to the caller of the client.
Message Class
The Message class is intended to be an abstract representation of a message, but its design is strongly tied to the SOAP message. A Message contains three major pieces of information: a message body, message headers, and message properties.
Message Body
The message body is intended to represent the actual data payload of the message. The message body is always represented as an XML Infoset. This does not mean that all messages created or received in WCF must be in XML format. It is up to the channel stack to decide how to interpret the message body. It may emit it as XML, convert it to some other format, or even omit it entirely. Of course, with most of the bindings WCF supplies, the message body is represented as XML content in the body section of a SOAP envelope.
It is important to realize that the
Message class does not necessarily contain a buffer with XML data representing the body. Logically,
Message contains an XML Infoset, but this Infoset may be dynamically constructed and may never physically exist in memory.
Putting Data into the Message Body
There is no uniform mechanism to put data into a message body. The Message class has an abstract method, OnWriteBodyContents(XmlDictionaryWriter), which takes an XmlDictionaryWriter. Each subclass of the Message class is responsible for overriding this method and writing out its own contents. The message body logically contains the XML Infoset that
OnWriteBodyContent produces. For example, consider the following
Message subclass.
public class AirfareRequestMessage : Message
public string fromCity = "Tokyo";
public string toCity = "London";
//code omitted…
protected override void OnWriteBodyContents(XmlDictionaryWriter w)
w.WriteElementString("from", fromCity);
w.WriteElementString("to", toCity);
public override MessageVersion Version
get { throw new NotImplementedException("The method is not implemented.") ; }
public override MessageProperties Properties
get { throw new Exception("The method or operation is not implemented."); }
public override MessageHeaders Headers
get { throw new Exception("The method or operation is not implemented."); }
public override bool IsEmpty
return base.IsEmpty;
public override bool IsFault
return base.IsFault;
Public Class AirfareRequestMessage
Inherits Message
Public fromCity As String = "Tokyo"
Public toCity As String = "London"
' Code omitted…
Protected Overrides Sub OnWriteBodyContents(ByVal w As XmlDictionaryWriter)
w.WriteElementString("from", fromCity)
w.WriteElementString("to", toCity)
End Sub
Public Overrides ReadOnly Property Version() As MessageVersion
Throw New NotImplementedException("The method is not implemented.")
End Get
End Property
Public Overrides ReadOnly Property Properties() As MessageProperties
Throw New Exception("The method or operation is not implemented.")
End Get
End Property
Public Overrides ReadOnly Property Headers() As MessageHeaders
Throw New Exception("The method or operation is not implemented.")
End Get
End Property
Public Overrides ReadOnly Property IsEmpty() As Boolean
Return MyBase.IsEmpty
End Get
End Property
Public Overrides ReadOnly Property IsFault() As Boolean
Return MyBase.IsFault
End Get
End Property
End Class
Physically, an
AirfareRequestMessage instance contains only two strings ("fromCity" and "toCity"). However, logically the message contains the following XML infoset:
Of course, you would normally not create messages in this manner, because you can use the service framework to create a message like the preceding one from operation contract parameters. Additionally, the Message class has static
CreateMessage methods that you can use to create messages with common types of content: an empty message, a message that contains an object serialized to XML with the DataContractSerializer, a message that contains a SOAP fault, a message that contains XML represented by an XmlReader, and so on.
Getting Data from a Message Body
You can extract the data stored in a message body in two main ways:
You can get the entire message body at one time by calling the WriteBodyContents(XmlDictionaryWriter) method and passing in an XML writer. The complete message body is written out to this writer. Getting the entire message body at one time is also called writing a message. Writing is done primarily by the channel stack when sending messages—some part of the channel stack will usually get access to the entire message body, encode it, and send it.
Another way to get information out of the message body is to call GetReaderAtBodyContents() and get an XML reader. The message body can then be accessed sequentially as needed by calling methods on the reader. Getting the message body piece-by-piece is also called reading a message. Reading the message is primarily used by the service framework when receiving messages. For example, when the DataContractSerializer is in use, the service framework will get an XML reader over the body and pass it to the deserialization engine, which will then start reading the message element-by-element and constructing the corresponding object graph.
A message body can be retrieved only once. This makes it possible to work with forward-only streams. For example, you can write an OnWriteBodyContents(XmlDictionaryWriter) override that reads from a FileStream and returns the results as an XML Infoset. You will never need to "rewind" to the beginning of the file.
WriteBodyContents and
GetReaderAtBodyContents methods simply check that the message body has never been retrieved before, and then call
OnWriteBodyContents or
OnGetReaderAtBodyContents, respectively.
Message Usage in WCF
Most messages can be classified as either outgoing (those that are created by the service framework to be sent by the channel stack) or incoming (those that arrive from the channel stack and are interpreted by the service framework). Furthermore, the channel stack can operate in either buffered or streaming mode. The service framework may also expose a streamed or nonstreamed programming model. This leads to the cases listed in the following table, along with simplified details of their implementation.
|Message type
|Body data in message
|Write (OnWriteBodyContents) implementation
|Read (OnGetReaderAtBodyContents) Implementation
|Outgoing, created from nonstreamed programming model
|The data needed to write the message (for example, an object and the DataContractSerializer instance needed to serialize it)*
|Custom logic to write out the message based on the stored data (for example, call
WriteObject on the
DataContractSerializer if that is the serializer in use)*
OnWriteBodyContents, buffer the results, return an XML reader over the buffer
|Outgoing, created from streamed programming model
Stream with the data to be written*
|Write out data from the stored stream using the IStreamProvider mechanism*
OnWriteBodyContents, buffer the results, return an XML reader over the buffer
|Incoming from streaming channel stack
Stream object that represents the data coming in over the network with an XmlReader over it
|Write out the contents from the stored
XmlReader using
|Returns the stored
|Incoming from nonstreaming channel stack
|A buffer that contains body data with an
XmlReader over it
|Writes out the contents from the stored
XmlReader using
|Returns the stored lang
* These items are not implemented directly in
Message subclasses, but in subclasses of the BodyWriter class. For more information about the BodyWriter, see Using the Message Class.
Message Headers
A message may contain headers. A header logically consists of an XML Infoset that is associated with a name, a namespace, and a few other properties. Message headers are accessed using the
Headers property on Message. Each header is represented by a MessageHeader class. Normally, message headers are mapped to SOAP message headers when using a channel stack configured to work with SOAP messages.
Putting information into a message header and extracting information from it is similar to using the message body. The process is somewhat simplified because streaming is not supported. It is possible to access the contents of the same header more than once, and headers can be accessed in arbitrary order, forcing headers to always be buffered. There is no general-purpose mechanism available to get an XML reader over a header, but there is a
MessageHeader subclass internal to WCF that represents a readable header with such a capability. This type of
MessageHeader is created by the channel stack when a message with custom application headers comes in. This enables the service framework to use a deserialization engine, such as the DataContractSerializer, to interpret these headers.
For more information, see Using the Message Class.
Message Properties
A message may contain properties. A property is any .NET Framework object that is associated with a string name. Properties are accessed through the
Properties property on
Unlike the message body and message headers (which normally map to the SOAP body and SOAP headers, respectively), message properties are normally not sent or received along with the messages. Message properties exist primarily as a communication mechanism to pass data about the message between the various channels in the channel stack, and between the channel stack and the service model.
For example, the HTTP transport channel included as part of WCF is capable of producing various HTTP status codes, such as "404 (Not Found)" and "500 (Internal Server Error)," when it sends replies to clients. Before sending a reply message, it checks to see whether the
Properties of the
Message contain a property called "httpResponse" that contains an object of type HttpResponseMessageProperty. If such a property is found, it will look at the StatusCode property and use that status code. If it is not found, the default "200 (OK)" code is used.
For more information, see Using the Message Class.
The Message as a Whole
So far, we have discussed methods for accessing the various parts of the message in isolation. However, the Message class also provides methods to work with the entire message as a whole. For example, the
WriteMessage method writes out the entire message to an XML writer.
For this to be possible, a mapping must be defined between the entire
Message instance and an XML Infoset. Such a mapping, in fact, exists: WCF uses the SOAP standard to define this mapping. When a
Message instance is written out as an XML Infoset, the resulting Infoset is the valid SOAP envelope that contains the message. Thus,
WriteMessage would normally perform the following steps:
Write the SOAP envelope element opening tag.
Write the SOAP header element opening tag, write out all of the headers, and close the header element.
Write the SOAP body element opening tag.
WriteBodyContentsor an equivalent method to write out the body.
Close the body and envelope elements.
The preceding steps are closely tied to the SOAP standard. This is complicated by the fact that multiple versions of SOAP exist, for example, it is impossible to write out the SOAP envelope element correctly without knowing the SOAP version in use. Also, in some cases, it may be desirable to turn off this complex SOAP-specific mapping completely.
For these purposes, a
Version property is provided on
Message. It can be set to the SOAP version to use when writing out the message, or it can be set to
None to prevent any SOAP-specific mappings. If the
Version property is set to
None, methods that work with the entire message act as if the message consisted of its body only, for example,
WriteMessage would simply call
WriteBodyContents instead of performing the multiple steps listed above. It is expected that on incoming messages,
Version will be auto-detected and set correctly.
The Channel Stack
As stated before, the channel stack is responsible for converting outgoing Message instances into some action (such as sending packets over the network), or converting some action (such as receiving network packets) into incoming
Message instances.
The channel stack is composed of one or more channels ordered in a sequence. An outgoing
Message instance is passed to the first channel in the stack (also called the topmost channel), which passes it to the next channel down in stack, and so on. The message terminates in the last channel, which is called the transport channel. Incoming messages originate in the transport channel and are passed from channel to channel up the stack. From the topmost channel, the message is usually passed into the service framework. While this is the usual pattern for application messages, some channels may work slightly differently, for example, they may send their own infrastructure messages without being passed a message from a channel above.
Channels may operate on the message in various ways as it passes through the stack. The most common operation is adding a header to an outgoing message and reading headers on an incoming message. For example, a channel may compute the digital signature of a message and add it as a header. A channel may also inspect this digital signature header on incoming messages and block messages that do not have a valid signature from making their way up the channel stack. Channels also often set or inspect message properties. The message body is usually not modified, although this is allowed, for example, the WCF security channel can encrypt the message body.
Transport Channels and Message Encoders
The bottommost channel in the stack is responsible for actually transforming an outgoing Message, as modified by other channels, into some action. On the receive side, this is the channel that converts some action into a
Message that other channels process.
As stated previously, the actions may be varied: sending or receiving network packets over various protocols, reading or writing the message in a database, or queuing or dequeuing the message in a Message Queuing queue, to provide but a few examples. All these actions have one thing in common: they require a transformation between the WCF
Message instance and an actual group of bytes that can be sent, received, read, written, queued, or dequeued. The process of converting a
Message into a group of bytes is called encoding, and the reverse process of creating a
Message from a group of bytes is called decoding.
Most transport channels use components called message encoders to accomplish the encoding and decoding work. A message encoder is a subclass of the MessageEncoder class.
MessageEncoder includes various
ReadMessage and
WriteMessage method overloads to convert between
Message and groups of bytes.
On the sending side, a buffering transport channel passes the
Message object that it received from a channel above it to
WriteMessage. It gets back an array of bytes, which it then uses to perform its action (such as packaging these bytes as valid TCP packets and sending them to the correct destination). A streaming transport channel first creates a
Stream (for example, over the outgoing TCP connection), and then passes both the
Stream and the
Message it needs to send to the appropriate
WriteMessage overload, which writes out the message.
On the receiving side, a buffering transport channel extracts incoming bytes (for example, from incoming TCP packets) into an array and calls
ReadMessage to get a
Message object that it can pass further up the channel stack. A streaming transport channel creates a
Stream object (for example, a network stream over the incoming TCP connection) and passes that to
ReadMessage to get back a
Message object.
The separation between the transport channels and the message encoder is not mandatory; it is possible to write a transport channel that does not use a message encoder. However, the advantage of this separation is ease of composition. As long as a transport channel uses only the base MessageEncoder, it can work with any WCF or third-party message encoder. Likewise, the same encoder can normally be used in any transport channel.
Message Encoder Operation
To describe the typical operation of an encoder, it is useful to consider the following four cases.
|Encoding, Buffered
|In buffered mode, the encoder normally creates a variable-size buffer and then creates an XML writer over it. It then calls WriteMessage(XmlWriter) on the message being encoded, which writes out the headers and then the body using WriteBodyContents(XmlDictionaryWriter), as explained in the preceding section about
Message in this topic. The contents of the buffer (represented as an array of bytes) are then returned for the transport channel to use.
|Encoding, Streamed
|In streamed mode, the operation is similar to the above, but simpler. There is no need for a buffer. An XML writer is normally created over the stream and WriteMessage(XmlWriter) is called on the
Message to write it out to this writer.
|Decoding, Buffered
|When decoding in buffered mode, a special
Message subclass that contains the buffered data is normally created. The headers of the message are read, and an XML reader positioned on the message body is created. This is the reader that will be returned with GetReaderAtBodyContents().
|Decoding, Streamed
|When decoding in streamed mode, a special Message subclass is normally created. The stream is advanced just enough to read all the headers and position it on the message body. An XML reader is then created over the stream. This is the reader that will be returned with GetReaderAtBodyContents().
Encoders can perform other functions as well. For example, the encoders can pool XML readers and writers. It is expensive to create a new XML reader or writer every time one is needed. Therefore, encoders normally maintain a pool of readers and a pool of writers of configurable size. In the descriptions of encoder operation described previously, whenever the phrase "create an XML reader/writer" is used, it normally means "take one from the pool, or create one if one is not available." The encoder (and the
Message subclasses it creates while decoding) contain logic to return readers and writers to the pools once they are no longer needed (for example, when the
Message is closed).
WCF provides three message encoders, although it is possible to create additional custom types. The supplied types are Text, Binary, and Message Transmission Optimization Mechanism (MTOM). These are described in detail in Choosing a Message Encoder.
The IStreamProvider Interface
When writing an outgoing message that contains a streamed body to an XML writer, the Message uses a sequence of calls similar to the following in its OnWriteBodyContents(XmlDictionaryWriter) implementation:
Write any necessary information preceding the stream (for example, the opening XML tag).
Write the stream.
Write any information following the stream (for example, the closing XML tag).
This works well with encodings that are similar to the textual XML encoding. However, some encodings do not place XML Infoset information (for example, tags for starting and ending XML elements) together with the data contained within elements. For example, in the MTOM encoding, the message is split into multiple parts. One part contains the XML Infoset, which may contain references to other parts for actual element contents. The XML Infoset is normally small compared to the streamed contents, so it makes sense to buffer the Infoset, write it out, and then write the contents in a streamed way. This means that by the time the closing element tag is written, the stream should not have been written out yet.
For this purpose, the IStreamProvider interface is used. The interface has a GetStream() method that returns the stream to be written. The correct way to write out a streamed message body in OnWriteBodyContents(XmlDictionaryWriter) is as follows:
Write any necessary information preceding the stream (for example, the opening XML tag).
Call the
WriteValueoverload on the XmlDictionaryWriter that takes an IStreamProvider, with an
IStreamProviderimplementation that returns the stream to be written.
Write any information following the stream (for example, the closing XML tag).
With this approach, the XML writer has a choice of when to call GetStream() and write out the streamed data. For example, the textual and binary XML writers will call it immediately and write out the streamed contents in-between the start and end tags. The MTOM writer may decide to call GetStream() later, when it is ready to write the appropriate part of the message.
Representing Data in the Service Framework
As stated in the "Basic Architecture" section of this topic, the service framework is the part of WCF that, among other things, is responsible for converting between a user-friendly programming model for message data and actual
Message instances. Normally, a message exchange is represented in the service framework as a .NET Framework method marked with the OperationContractAttribute attribute. The method can take in some parameters and can return a return value or out parameters (or both). On the service side, the input parameters represent the incoming message, and the return value and out parameters represent the outgoing message. On the client side, the reverse is true. The programming model for describing messages using parameters and the return value is described in detail in Specifying Data Transfer in Service Contracts. However, this section will provide a brief overview.
Programming Models
The WCF service framework supports five different programming models for describing messages:
1. The Empty Message
This is the simplest case. To describe an empty incoming message, do not use any input parameters.
int GetCurrentTemperature();
<OperationContract()> Function GetCurrentTemperature() As Integer
To describe an empty outgoing message, use a void return value and do not use any out parameters:
void SetDesiredTemperature(int t);
<OperationContract()> Sub SetDesiredTemperature(ByVal t As Integer)
Note that this is different from a one-way operation contract:
[OperationContract(IsOneWay = true)]
void SetLightbulb(bool isOn);
<OperationContract(IsOneWay:=True)> Sub SetLightbulb(ByVal isOn As Boolean)
In the
SetDesiredTemperature example, a two-way message exchange pattern is described. A message is returned from the operation, but it is empty. It is possible to return a fault from the operation. In the "Set Lightbulb" example, the message exchange pattern is one-way, so there is no outgoing message to describe. The service cannot communicate any status back to the client in this case.
2. Using the Message Class Directly
It is possible to use the Message class (or one of its subclasses) directly in an operation contract. In this case, the service framework just passes the
Message from the operation to the channel stack and vice versa, with no further processing.
There are two main use cases for using
Message directly. You can use this for advanced scenarios, when none of the other programming models gives you enough flexibility to describe your message. For example, you might want to use files on disk to describe a message, with the file's properties becoming message headers and the file's contents becoming the message body. You can then create something similar to the following.
public class FileMessage : Message
// Code not shown.
Public Class FileMessage
Inherits Message
' Code not shown.
The second common use for
Message in an operation contract is when a service does not care about the particular message contents and acts on the message as on a black box. For example, you might have a service that forwards messages to multiple other recipients. The contract can be written as follows.
public FileMessage GetFile()
//code omitted…
FileMessage fm = new FileMessage("myFile.xml");
return fm;
<OperationContract()> Public Function GetFile() As FileMessage
'code omitted…
Dim fm As New FileMessage("myFile.xml")
Return fm
End Function
The Action="*" line effectively turns off message dispatching and ensures that all messages sent to the
IForwardingService contract make their way to the
ForwardMessage operation. (Normally, the dispatcher would examine the message's "Action" header to determine which operation it is intended for. Action="*" means "all possible values of the Action header".) The combination of Action="*" and using Message as a parameter is known as the "universal contract" because it is able to receive all possible messages. To be able to send all possible messages, use Message as the return value and set
ReplyAction to "*". This will prevent the service framework from adding its own Action header, enabling you to control this header using the
Message object you return.
3. Message Contracts
WCF provides a declarative programming model for describing messages, called message contracts. This model is described in detail in Using Message Contracts. Essentially, the entire message is represented by a single .NET Framework type that uses attributes like the MessageBodyMemberAttribute and MessageHeaderAttribute to describe which parts of the message contract class should map to which part of the message.
Message contracts provide a lot of control over the resulting
Message instances (although obviously not as much control as using the
Message class directly). For example, message bodies are often composed of multiple pieces of information, each represented by its own XML element. These elements can either occur directly in the body (bare mode) or can be wrapped in an encompassing XML element. Using the message contract programming model enables you to make the bare-versus-wrapped decision and control the name of the wrapper name and namespace.
The following code example of a message contract demonstrates these features.
[MessageContract(IsWrapped = true, WrapperName = "Order")]
public class SubmitOrderMessage
public string customerID;
public string item;
public int quantity;
<MessageContract(IsWrapped:=True, WrapperName:="Order")> _
Public Class SubmitOrderMessage
<MessageHeader()> Public customerID As String
<MessageBodyMember()> Public item As String
<MessageBodyMember()> Public quantity As Integer
End Class
Items marked to be serialized (with the MessageBodyMemberAttribute, MessageHeaderAttribute, or other related attributes) must be serializable to participate in a message contract. For more information, see the "Serialization" section later in this topic.
4. Parameters
Often, a developer who wants to describe an operation that acts on multiple pieces of data does not need the degree of control that message contracts provide. For example, when creating new services, one does not usually want to make the bare-versus-wrapped decision and decide on the wrapper element name. Making these decisions often requires deep knowledge of Web services and SOAP.
The WCF service framework can automatically pick the best and most interoperable SOAP representation for sending or receiving multiple related pieces of information, without forcing these choices on the user. This is accomplished by simply describing these pieces of information as parameters or return values of an operation contract. For example, consider the following operation contract.
void SubmitOrder(string customerID, string item, int quantity);
<OperationContract()> _
Sub SubmitOrder( _
ByVal customerID As String, _
ByVal item As String, _
ByVal quantity As Integer)
The service framework automatically decides to put all three pieces of information (
item, and
quantity) into the message body and wrap them in a wrapper element named
Describing the information to be sent or received as a simple list of operation contract parameters is the recommended approach, unless special reasons exist to move to the more-complex message contract or
Message-based programming models.
5. Stream
Stream or one of its subclasses in an operation contract or as a sole message body part in a message contract can be considered a separate programming model from the ones described above. Using
Stream in this way is the only way to guarantee that your contract will be usable in a streamed fashion, short of writing your own streaming-compatible
Message subclass. For more information, see Large Data and Streaming.
Stream or one of its subclasses is used in this way, the serializer is not invoked. For outgoing messages, a special streaming
Message subclass is created and the stream is written out as described in the section on the IStreamProvider interface. For incoming messages, the service framework creates a
Stream subclass over the incoming message and provides it to the operation.
Programming Model Restrictions
The programming models described above cannot be arbitrarily combined. For example, if an operation accepts a message contract type, the message contract must be its only input parameter. Furthermore, the operation must then either return an empty message (return type of void) or another message contract. These programming model restrictions are described in the topics for each specific programming model: Using Message Contracts, Using the Message Class, and Large Data and Streaming.
Message Formatters
The programming models described above are supported by plugging in components called message formatters into the service framework. Message formatters are types that implement the IClientMessageFormatter or IDispatchMessageFormatter interface, or both, for use in clients and service WCF clients, respectively.
Message formatters are normally plugged in by behaviors. For example, the DataContractSerializerOperationBehavior plugs in the data contract message formatter. This is done on the service side by setting Formatter to the correct formatter in the ApplyDispatchBehavior(OperationDescription, DispatchOperation) method, or on the client side by setting Formatter to the correct formatter in the ApplyClientBehavior(OperationDescription, ClientOperation) method.
The following tables lists the methods that a message formatter may implement.
|DeserializeRequest(Message, Object[])
|Converts an incoming
Message to operation parameters
|SerializeReply(MessageVersion, Object[], Object)
|Creates an outgoing
Message from operation return value/out parameters
|SerializeRequest(MessageVersion, Object[])
|Creates an outgoing
Message from operation parameters
|DeserializeReply(Message, Object[])
|Converts an incoming
Message to a return value/out parameters
Whenever you use message contracts or parameters to describe message contents, you must use serialization to convert between .NET Framework types and XML Infoset representation. Serialization is used in other places in WCF, for example, Message has a Generic GetBody method that you can use to read the entire body of the message deserialized into an object.
WCF supports two serialization technologies "out of the box" for serializing and deserializing parameters and message parts: the DataContractSerializer and the
XmlSerializer. Additionally, you can write custom serializers. However, other parts of WCF (such as the Generic
GetBody method or SOAP fault serialization) may be restricted to use only the XmlObjectSerializer subclasses (DataContractSerializer and NetDataContractSerializer, but not the XmlSerializer), or may even be hard-coded to use only the DataContractSerializer.
XmlSerializer is the serialization engine used in ASP.NET Web services. The
DataContractSerializer is the new serialization engine that understands the new data contract programming model.
DataContractSerializer is the default choice, and the choice to use the
XmlSerializer can be made on a per-operation basis using the DataContractFormatAttribute attribute.
DataContractSerializerOperationBehavior and XmlSerializerOperationBehavior are the operation behaviors responsible for plugging in the message formatters for the
DataContractSerializer and the
XmlSerializer, respectively. The DataContractSerializerOperationBehavior behavior can actually operate with any serializer that derives from XmlObjectSerializer, including the NetDataContractSerializer (described in detail in Using Stand-Alone Serialization). The behavior calls one of the
CreateSerializer virtual method overloads to obtain the serializer. To plug in a different serializer, create a new DataContractSerializerOperationBehavior subclass and override both
CreateSerializer overloads.


text:
The use of smartphones and tablets while watching TV has become a firmly established habit for a majority of mobile consumers, and much of this usage is second screen activity related to what's on TV.
But show-themed and second screen apps that ask audiences to open an app that will sync with TV in order to deliver content tie-ins will not be the big winners — they're asking too much of audiences.
Second screen will be about encouraging activity that's more natural, like commenting about a show on social media and forums, or viewing trailers and extensions to programming after the TV shows and the ads are over.
In a new report from BI Intelligence, we take stock of how far the second screen industry has come and explain why this new TV season will confirm its importance. We look at mobile-social behavior and how it overlaps with the second screen trend, and reveal the data behind consumer shopping on mobile for products they see advertised on TV. Finally, we discuss winning second screen strategies like that of TV series "Duck Dynasty," and explain why stand-alone second screen apps and show-focused apps probably won't take off. This report is an update to our best-selling February 2013 report on the second screen.
Gain instant access to both reports by signing up for a free trial of BI Intelligence >
Here are some highlights from our new report on the second screen trend:
- Buying products being advertised has become a surprisingly popular activity. Twenty percent of second screen audiences on tablets and 13% of those on smartphones reported doing so, according to Nielsen.
- In the first quarter of 2013, 46% of U.S. smartphone owners and 40% of tablet owners said they used their devices while watching TV on a daily basis. Nine months earlier, only 39% of smartphone owners had reported doing so.
- But are these mobile activities actually related to what's on TV? Yes, many of them are. Fifty-three percent of consumers with tablets or smartphones have engaged in mobile-based activity related to what they're watching on TV, according to an early 2013 NPD survey.
- The volume of TV-related social media comments in the U.S. surged 363% over the course of 2012.
- Broadly speaking, dedicated second screen apps that have built platforms around second screen activity seem to be trying different models in order to see what sticks. Overall, they've seen decent growth in audience size, but not dramatic growth. And lately it has looked flat.
- Twitter has an ambitious strategy for capitalizing on second screen behavior and tying it into the rest of its ad ecosystem, but it may be overstating tweets' impact on TV ratings. More interesting are Twitter's findings that certain genres — reality TV in particular — are more susceptible to ratings effects from tweets.
- A wave of consolidation will wash through the second screen ecosystem this year as big tech players wake up to its importance and its unique place bridging the digital-TV divide.
The full report provides in-depth analysis and detailed data on these trends, including a dozen charts with underlying data sets that subscribers can download and use in spreadsheet format.
In fill, the report:
- Explains why we believe the second screen industry will come to be dominated by non-specialized social media sites — Twitter, Facebook and Google+.
- Explain why social TV check in and sync apps have a "Foursquare problem," the mistaken belief that a critical mass of consumers need a separate stand-alone TV companion app.
- Break down the data and trends in usage for stand-alone social TV and and/or sync apps like Shazam, Viggle, Zeebox, and GetGlue
For full access to this report along with dozens of in-depth mobile industry reports and a library of hundreds of downloadable charts and data, sign up for a two-week free trial of BI Intelligence.


text:
Loudoun's "Super Zips"
Dr Charles Murray, in his excellent book "Coming Apart: The State of White America 1960-2010" talks about "super zips" where the "cognitive elite" are congregating. These zip codes have both the highest median incomes and the highest amount of college graduates. Earlier this week, the Washington Post published a map with every zip code in the nation, based on Dr. Murray's information, broken down by income and college education and is an excellent demonstration of our increasing bifurcating society. The DC area of course has the highest cluster of these "super zips". (We have previously discussed why on this website)
In short, a Zip ranking between 0 and 99 represents the average of a zip code's percentile ranks in college education and income. A ranking of 95 and higher qualifies the zip code as a "Super Zip".
For example, the ranking for 20148 (Brambleton area) is 99.
20197 (Waterford), 20152 (South Riding) ranked 98
20147 (Ashburn/Broadlands area) and 20165 (Cascades area of Sterling) both ranked 97
20105 (Aldie) ranked 96
20132 (Purcellville), 20158 (Hamilton) 20141 (Round Hill) 20166 (Dulles area of Sterling) all ranked 95 (yes, parts of Sterling are "super zips")
A few Loudoun zip codes just missed "super zip" status:
20175, 20176 (both Leesburg), 20177 (Middleburg) all ranked 94
Now, consider the fact that this is just Loudoun County that we are speaking of (Fairfax County for example has several as well) and that hundreds of other territories across the union don't even have ONE. Also consider that 20032 (South East DC's Anancostia area) scored a 13 and 21223 in West Baltimore (of 'The Wire' fame) scored a 4 (yes, Four). Some inner city areas in other states scored a flat ZERO.
Click here to see the map and enter a zip code to see how it is broken down.
This is from the Washington Post:
Yet many who live in these rapidly evolving communities do not think of themselves as rich or elite. The cost of living, particularly for housing, eats up a large chunk of the two incomes it typically takes to afford a comfortable home in a good school district.
Life surrounded by affluence can also breed worries that might seem absurd to people who do not live in Super Zips — such as whether to hire a professional tennis coach to help a child make the school team, or get an iPhone for a child in elementary school. Some question whether their children can achieve the same level of comfort as adults they know now.
So do the children themselves.
"My parents set me up with something great," said Heather Burns, 23, adding that she grew up hearing her Loudoun home town of Ashburn described as "Cashburn" — as in "cash to burn."
Burns said being raised in an area with good schools gave her a foundation to succeed. Even so, she said she may soon move away: "I can't afford to keep up their lifestyle."
Indeed, and when/if the gov't spigot gets turned down significantly, neither will a lot of other people…


text:
Staying Competitive Through High-Performance Computing
May 13-15, 2009
National Center for Supercomputing Applications
University of Illinois at Urbana-Champaign
Competitive advantageWhat does it take to achieve it today? Lower development costs? Reduced time to market? Targeted investment?
NCSA's annual meeting for industry will address these and other key issues in the pursuit of staying competitive through high-performance computing.
NCSA is leading the national dialogue about the potential that advanced computing holds for your organization. Innovate, discover and collaborate in ways that will make a differenceright now.
There is no fee to attend, but registration is requested by April 30.
Merle Giles, Director
Private Sector Program
Pam Joop
Administrative Assistant
Private Sector Program


text:
Vinegar is an incredibly versatile product and has become a household staple as it is cheap, widely available, and can be used for just about anything. One misconception about vinegar is that it is a good way to clean and descale coffee machines. While it may sound self-serving, here's why it is a bad idea to use vinegar:
1. The vinegar leaves a strong odor (as everyone knows) that can co-mingle with coffee oil, turning your fresh brew into a "fresh ew."
2. It does not clean! While vinegar might be able to gently break down some hard water deposits, it does not effectively clean your coffee machine or remove oils.
3. It takes forever to rinse: our tests show that vinegar takes 3.5 times longer to rinse out of a drip brewer or capsule machine than does Dezcal, Full Circle Descaler, or other Urnex Brands, Inc. products.
There you have it: vinegar is great for almost anything. Rather than waste water trying to rinse out your semi-cleaned and now-smelly coffee machine, use a professionally formulated coffee machine cleaner or descaler.
And to prove that we at Urnex do not hate vinegar, here are a few of our favorite places to use vinegar (just some of the 1,001 ways to use vinegar):
1. Wacky cake—quick rise cake made without yeast, eggs, butter, or milk
2. Easter eggs—vinegar is an important component for coloring!
3. Window cleaner—simply combine vinegar, water, and some elbow grease!
4. Salad dressing—it's as easy as olive oil and vinegar!
5. Pickling—come on, who doesn't love pickles?


text:
Okay... umm... so I was surfing youtube and I came across a bunch of videos made by various Christians claiming that the "Rapture" was to happen on May 21, 2011. I'm like WTH?!
First of all, I wondered how they came up with such a date, and second I wondered why they weren't following the crowd and saying that "the world will end on December 21, 2012?"
So I googled it... and came up with this...
Views: 69


text:
Hello all-
I am in the market for a pair of waterproof motorcycle boots. I want another zip pair. I have some Alspinstars that I love but are not waterproof...after getting wet feet several times...it's time to find another pair. The issue I am having is that I have very thick calfs and I've not been able to find anything that will fit my enormous calf. Anyone else with the issue that might have a suggestion on what has worked for them? I'm sure all you ladies have shapely calfs but me...not so much!
I also need riding pants and have issues finding a size that fits that isn't too long...so I'll take any help there too.


text:
Stars & Moon
Stars & Moon
Shine on!
Handmade, hand drawn and painted unique paper earrings. Some pairs are long, some pairs are short and one thing is for sure…… you will most definitely stand out at the party! These earrings have unbelievable SPARKLE POWER! Each pair is adorned lovingly with an array of different types glitter and protected with a clear glossy sealer.
Each earring back is gold, copper or silver leafed and signed by me, Amanda! Please feel free to contact me with any questions or if you would like a custom pair for yourself or a loved one!
light weight
great gift
one of a kind
wearable art
gift wrapped
sold out


text: Find this wine Find this wine Bethel Heights Christmas inn at Weston vt 2012 Pin It Tweet 6 years ago by Ny2bigsky More posts Bethel Heights Vineyard Estate 2012 Pinot Noir Lovely dinner with Linda H 5 years ago by Kathleen T. Bethel heights 2010 Pinot noir - Oregon Nice but a lil sweet for my taste. 5 years ago by Ojshanks Bethel Heights Pinot Noir 2011 Favorite of the two new pinots we had for Bri's birthday. Screw cap, but very clean/neat taste. 6 years ago by Dcmaymd Bethel Heights Vineyard Casteel Reserve Estate Pinot Noir 2010 Very nice. 6 years ago by Dmilnor Bethel Heights Vineyards Riesling 2011 tastes like a sauvignon blanc...not sweet 6 years ago by Bernicec


text:
Joslin Diabetes Center & Walgreens
First-in-Class Pharmacy-Based Resources for People With Diabetes and Those at Risk for Diabetes and Related Conditions
Walgreens, the nation's largest drugstore chain, and Joslin Diabetes Center, the global leader in diabetes research, care and education, have formed a sweeping alliance to improve health outcomes for Americans with diabetes.
Over the next five years, Walgreens and Joslin, an affiliate of Harvard Medical School, will develop and deliver awareness, wellness, prevention and education programs nationally to reach the estimated 21 million Americans with diabetes and the additional 41 million Americans at risk for the disease. Walgreens also will open a specialty pharmacy on the Joslin campus under a separate lease arrangement.
"Diabetes in America continues to grow at epidemic proportions, and there are too few endocrinologists to handle that many patients," said Ron Weinert, vice president of patient services for Walgreens Health Services, the managed care division of Walgreen Co. "The burden of care is falling to primary care physicians and ultimately the patients, many of whom are our customers. We know the Joslin approach to education, outreach and disease management improves outcomes for people with diabetes, and our alliance is specifically designed to increase access to Joslin's model for everyone we reach."
The alliance will leverage all of Joslin's expertise in diabetes awareness, prevention and management. This expertise will be applied across Walgreens consumer channels, including its nationwide network of pharmacies, Walgreens.com and Walgreens Health Initiatives (a pharmacy benefit manager).
"This alliance represents a new model of care, powered by Joslin's deep research and extensive clinical knowledge, and distributed 'from bench to bedside' to the community through Walgreens pharmacies," said C. Ronald Kahn, M.D., President of Joslin and the Mary K. Iacocca Professor of Medicine at Harvard Medical School. "The incomparable reach of Walgreens and its deep commitment to the health of its customers make it our ideal alliance partner as Joslin strives to deliver our model of patient empowerment and the aggressive identification and prevention of complications across the country."
Pharmacy-Based Resources for People with Diabetes
A cornerstone of the program will be the creation of pharmacy-based resources for diabetes prevention and care. Working together, Walgreens and Joslin will design and build enhanced training curricula, continuing education programs and practical support tools that pharmacists can use to address the most important needs of patients, from managing medication regimens to understanding key individual health measures like blood pressure and A1C scores.
"Our joint vision is for the Walgreens pharmacist to be a true partner for customers with diabetes and their physicians, and to enable them to work together toward demonstrable and measurable changes in behavior and health outcomes," said Alan M. Jacobson, M.D., former Senior Vice President, Joslin Strategic Initiatives Division. "Joslin will design approaches and then assess and report on their impact on Walgreens customers, and we will continually enhance and add to the program over time."
In the first months of the alliance, Walgreens and Joslin will launch initial patient education campaigns delivered through the Walgreens pharmacy that carefully target critical aspects of day-to-day diabetes management and the prevention of complications. The campaigns will include education handouts, tips and tools tailored to specific patient audiences, including the elderly and different ethnic groups disproportionately affected by diabetes. Aspects of the campaign will be visible on pharmacy prescription inserts, Walgreens.com, Walgreens Diabetes & You Magazine and other communication vehicles.
Joslin and Walgreens are also jointly committed to developing breakthrough approaches over the long term that increase access to innovative health services for people with diabetes. The alliance will explore the possibility of installing the Joslin Vision Network (JVN) in select locations across the Walgreens chain. The JVN is the most thoroughly validated diagnostic retinal imaging service offering patients a pain-free and non-dilated diabetic eye evaluation that facilitates further examination by eye care specialists to treat diabetic retinopathy and other pathologies. The JVN is already in use at more than 50 clinical sites in 15 states.
"Diabetes is the leading cause of vision loss and blindness among working age adults in the United States, and yet most patients do not receive recommended care," continued Jacobson, who also directs Joslin's Behavioral Research Program and Clinic and is Professor of Psychiatry at Harvard Medical School. "Our Walgreens alliance may allow us to bring Joslin's proven techniques in managing eye disease to the millions of Americans across the country at risk of losing their vision from diabetic retinopathy."
Additional Joslin Resources
- Visit the Joslin Store to order Joslin books, videos and more
- Give to the High Hopes Fund
- Learn about Diabetes
- Visit the Research Learning Center
- Get involved in Joslin's Clinical Research
You can now find diabetes resources from Joslin on www.walgreens.com/joslin
You can now find diabetes resources from Joslin on www.walgreens.com/joslin
Page last updated: October 14, 2019


text:
Orlando Figes was born in London on November 20, 1959. Orlando Figes is one of three writers in the Figes family. His mother Eva Figes and his sister Kate Figes are both writers too.
Eva Figes is the author of thirteen novels and several works of non-fiction, including Patriarchal Attitudes, a seminal feminist work of the early 1970s. Orlando Figes was brought up in Hampstead, north London, in a feminist environment. It was a single-parent family, his father, John Figes, having left the family when Orlando was just three.
Orlando Figes went to William Ellis School in north London. It was a grammar school when he started there, though it became a comprehensive when he was in the sixth form. At William Ellis Orlando Figes was in the year below the notable historians Mark Mazower and Toby Abse.
In 1979, Orlando Figes went up to Cambridge to study history at Gonville and Caius College. Under the direction of Neil McKendrick and Vic Gatrell, Gonville and Caius was the leading history college in Cambridge at that time. Among the European historians at Cambridge, Figes studied with Peter Burke and Norman Stone. His undergraduate dissertation on 'Ludwig Börne and the Formation of a Radical Critique of Judaism' was published in the Leo Baeck Institute Yearbook in 1984. In 1982, Orlando Figes graduated with a double-starred First from Cambridge and began a Ph.D. on Russian history under the direction of Norman Stone.
Figes's dissertation was on the peasantry of the Volga region during the Russian Revolution and the Civil War. It became his first book, Peasant Russian, Civil War: The Volga Countryside in Revolution (1917-1921), which was published in 1989.
A major influence on the early work of Orlando Figes was Teodor Shanin, then the Professor of Sociology at Manchester University, who developed the ideas of Alexander Chayanov as an alternative to Marxist notions of capitalist development in the Russian countryside. Through Shanin, Orlando Figes worked in Moscow with Viktor Danilov, the leading historian of the Soviet peasantry, who helped Figes gain unprecedented access to the Soviet archives for his first book. One of Danilov's books (Rural Russia Under the New Regime) was translated into English by Orlando Figes.
In Peasant Russia Orlando Figes emphasized the autonomous nature of the agrarian revolution during 1917-18, showing how it developed according to traditional peasant notions of social justice independently of the Provisional Government, the Bolsheviks or other urban-based parties. Using village Soviet records, Figes also demonstrated how the function of the rural Soviets was transformed in the course of the Civil War as they were taken over by younger and more literate peasants and migrant townsmen, many of them veterans of the First World War or Red Army soldiers, who became the rural bureaucrats of the emerging Bolshevik regime. Figes' Peasant Russia was described by Peter Kenez as 'one of the most important books ever written on the Russian Revolution'.
While he was researching his first book in Moscow, Orlando Figes was elected a Research Fellow at Trinity College, Cambridge. In 1987, Figes was appoined a University Lecturer in the History Faculty, a post he held until 1999, when Orlando Figes took up the Chair of History at Birkbeck, London University. At Cambridge Figes taught the historians Andrew Roberts and Tristram Hunt, the writer Bee Wilson, James Harding, the editor of The Times, and the film producer, Tanya Seghatchian.
In 1996, Orlando Figes published A People's Tragedy: The Russian Revolution, 1891-1924. Translated into over twenty languages, A People's Tragedy is a panoramic history of the Revolution from the famine of 1891 to the death of Lenin in 1924. It combines social and political history and interweaves through the public narrative the personal stories of several representative figures, including the writer Maxim Gorky, as well as unknown peasants and workers. Figes wrote that he had 'tried to present the revolution not as a march of abstract social forces and ideologies but as a human event of complicated individual tragedies'. For A People's Tragedy Orlando Figes won the Wolfson History Prize, the W.H. Smith Literary Award, the NCR Book Award, The Longman/History Today Book of the Year Award, and the Los Angeles Times Book Prize.
Orlando Figes dedicated A People's Tragedy to his wife Stephanie Palmer, an Australian-born, Harvard educated human rights lawyer. Figes wrote his 923-page book when their twin daughters, Lydia and Alice, born in 1993, were still very small.
Orlando Figes published a third book on the Russian Revolution in 1999. Co-written by Orlando Figes with the Russian historian Boris Kolonitskii, Interpreting the Russian Revolution analyses the political language, revolutionary songs, visual symbols and historical ideas that animated the revolutionary crowds of 1917.
From the Russian Revolution, Orlando Figes turned to Russian culture in Natasha's Dance (2002), his best-selling book, which has been translated into more than a dozen languages. "I wanted to write something positive, something beautiful and enjoyable that would express my passion for Russia," Orlando Figes said in an interview.
Short-listed for the Samuel Johnson Prize, Natasha's Dance is a broad cultural history of Russia from the building of St Petersburg during the reign of Peter the Great in the early eighteenth century. Taking his title from a scene in Tolstoy's War and Peace, where the young countess Natasha Rostova intuitively dances a peasant dance, Figes explores the tensions between the European and folk elements of Russian culture, and examines how the myth of the 'Russian soul' and the idea of 'Russianness' itself have been expressed by Russian writers, artists, composers and philosophers.
Orlando Figes has written on a broad range of Russian literary and cultural subjects in a series of essays for the New York Review. In 2003, Orlando Figes wrote and presented a film for the BBC on the pioneer of colour photography in pre-revolutionary Russia, Sergei Prokudin-Gorsky.
Next, Orlando Figes turned to oral history with The Whisperers (2007), his study of private life in Stalin's Russia. Working in part with the human rights organization Memorial, and in part on his own, Figes interviewed more than 400 people who had lived through the Stalin years. Funded by the Arts and Humanities Research Council and the Leverhulme Trust, the interviewing process was accompanied by the collection of family archives from private homes across Russia. The work took four years. During this time Orlando Figes was travelling frequently between the UK and Russia.
In The Whisperers Orlando Figes deals mainly with the impact of repression on internal life. It examines the influence of the Soviet regime and its campaigns of Terror on family relationships, emotions and beliefs, moral choices, issues of personal and social identity, and collective memory. Orlando Figes says that 'the real power and lasting legacy of the Stalinist system were neither in structures of the state, nor in the cult of the leader, but, as the Russian historian Mikhail Gefter once remarked, "in the Stalinism that entered into all of us".'
Shortlisted for the Samuel Johnson Prize, the Ondaatje Prize and the Médicis Prize in France, The Whisperers has been translated into more than twenty languages. It has been described by Andrey Kurkov as "one of the best literary monuments to the Soviet people, on a par with The Gulag Archipelago and the prose of Varlam Shalamov."
Orlando Figes's next book, Crimea: The Last Crusade, was a new departure, taking Figes outside Russian history. Drawing extensively from Russian, French and Ottoman as well as British archives, Orlando Figes combines military, diplomatic, political and cultural history in his book, examining how the Crimean War left a lasting mark on the national consciousness of Britain, France, Russia and Turkey.
Orlando Figes sets the war in the context of the Eastern Question, and emphasizes the role of religion in the conflict. Figes frames the war within a longer history of religious conflict between Christians and Muslims in the Balkans, southern Russia and the Caucasus that continues to this day. Figes stresses the religious motive of the Tsar Nicholas I in his bold decision to go to war. Figes also demonstrates how France and Britain were drawn into the war by popular ideas of Russophobia that swept across Europe in the wake of the Revolutions of 1830 and 1848. According to one reviewer, Orlando Figes shows "how the cold war of the Soviet era froze over fundamental fault lines that had opened up in the 19th century."
Orlando Figes's latest book is Just Send Me Word: A True Story of Love and Survival in the Gulag. It is based on a remarkable cache of 1,246 letters smuggled in and out of the Pechora labour camp between 1946 and 1955. The letters were exchanged between Lev Mishchenko, a prisoner in Pechora, and Svetlana Ivanova, his girlfriend in Moscow.
Orlando Figes's next book, a concise history of the Russian Revolution, will appear in 2013.
© 2011 Orlando Figes | All Rights Reserved


text:
A U.S. congressman says the air traffic control tower at Chicago's Midway International Airport no longer faces possible overnight closure under federal budget cuts.
Midway's tower had been on a list of 72 air traffic control facilities where overnight shifts could be scrapped as a result of budget cuts forced upon the Federal Aviation Administration under sequestration.
U.S. Rep. Dan Lipinski, a Democrat representing parts of Chicago, has urged the FAA for months to pull Midway off the list.
He said in a statement Tuesday night that the agency will now keep Midway tower open.
An FAA spokeswoman did not immediately respond to a request for comment Wednesday.
Last month, Congress approved legislation freeing up funds that could help keep control towers open. The legislation also ended FAA staff furloughs.


text:
Egyptian forces clash ahead of vote
ALEXANDRIA, Egypt -- Violence erupted between Egypt's divided camps on Friday, the eve of the final round of a referendum on a constitution that has polarized the nation, as Islamists and their opponents pelted each other with stones while police fired tear gas in the streets of the Mediterranean city of Alexandria.
The contentious referendum, which would bring a greater implementation of Islamic law to Egypt, is expected to be approved in today's voting.
The new clashes -- in which opponents of Islamists set fire to cars and dozens of people were hurt -- illustrated how the new charter is unlikely to ease the violent conflict over the country's future. For a month, Egypt has been torn between Islamists and their opponents, who accuse President Mohammed Morsi and his Muslim Brotherhood of trying to unilaterally impose their will on the country.
Meanwhile, Morsi was already gearing up for the next steps after the constitution's passage, making a last-minute appointment of 90 new members to the parliament's upper house, a third of its total membership. Current rules allow him to do so, but if he waited until the charter was passed he could only appoint 10.
The body is normally so toothless and ignored that few Egyptians bothered to vote in elections for it earlier this year, allowing an almost total sweep by the Brotherhood and other Islamists. But once the charter is passed, it will hold lawmaking powers until elections for a new lower house are held -- not expected for several months.
Friday's appointments added to the tiny ranks of non-Islamists in the upper house, known as the Shura Council, but preserved the Islamists' overwhelming hold.
A spokesman for the main opposition umbrella National Salvation Front dismissed the appointments, accusing Morsi of setting up a token opposition much like ousted autocrat Hosni Mubarak did.
"This council and this constitution will also fail as long as there is no real opposition and no real dialogue, and as long as Morsi is only serving his clan and taking orders from the head office of the Muslim Brotherhood," Hussein Abdel-Razek said.
For the past month, both sides have been bringing their supporters into the street for mass rallies sometimes numbering in the tens of thousands -- and repeatedly erupting into clashes.
In part, Egypt's split has been over who will shape the country's path two years after Mubarak's ouster. An opposition made up of liberals, leftists, secular Egyptians and a swath of the public angered over Morsi's 6-month-old rule fear Islamists are creating a new Mubarak-style autocracy. They accuse the Brotherhood of monopolizing the levers of power and point to the draft charter, which Islamists on the Constituent Assembly rammed through.
despite a boycott by liberal and secular members.
Morsi's allies say the opposition is trying to use the streets to overturn their victories at the ballot box over the past two years. They also accuse the opposition of carrying out a conspiracy by former members of Mubarak's regime to regain power.
Intertwined with that is a fight over Islam's role in the state. Many Islamists vow to defend God's law, and clerics have depicted opponents as infidels. The constitution would give broad leeway for hard-liners to implement Islamic Shariah law, making civil liberties and rights of women subordinate to a more literal version of Islamic law. It also gives clerics a say in legislation for the first time to ensure parliament adheres to Shariah.
Passage of the charter will do little to resolve the confrontation -- particularly if it is approved by a low margin with little turnout. The first round of voting took place Dec. 15 in 10 of Egypt's 27 provinces, and preliminary results showed a meager 32 percent turnout, leading to a 56 percent "yes" vote.
Voting Saturday will take place in the remaining 17 provinces. Preliminary results are likely to be known late Saturday or early Sunday.
Top opposition figure Mohamed ElBaradei urged the public to vote "no," saying, "We know if this constitution is passed, there will be no stability."
"This is not the road for stability or democracy," he said in a speech aired Thursday night. "When 45 percent of people say 'no,' it is a strong indication. Some don't read or write, but they are conscious that they should not be tricked."
The violence in Alexandria was a sign of how the conflict has moved beyond the issue of the constitution, to the deep resentments between the two camps.
Riot police swung batons and fired volleys of tear gas to separate stone-throwing Brotherhood members and ultraconservative Salafis on one side, and youthful secular protesters on the other.
The clashes started when the two groups met just after Friday prayers at the city's main Qaed Ibrahim mosque, by the coastal promenade. Throngs of Salafi Islamists, most wearing the long beards favored by the movement, had gathered there for what they called "a rally to defend clerics and mosques." Waving black Islamic banners, some chanted "God is Great!" and warned opponents: "With blood and soul, we redeem Islam."
It was unclear who started the fight. During the battles, secular youths set fire to two buses and two cars belonging to Islamists, sending thick black smoke through the upscale city center. Under a heavy cloud of tear gas, the two sides pulled back, but then continued fighting for hours past dusk along the corniche, near the famed Alexandria Library.
At least 42 people were treated for injuries, with some rushed to the hospital, a city health official said.
The Islamists' rally was called in response to violence last week, when a well-known Salafi cleric in Alexandria, Sheik Ahmed el-Mahalawi, was trapped inside a mosque for 12 hours while his supporters battled stone-throwing opponents outside with swords and firebombs.
El-Mahalawi, 87, had stirred anger with a sermon in which he denounced opponents of the draft charter as "followers of heretics."
In a further sign of the tensions opened up by the crisis, the Brotherhood in Alexandria accused the security forces of conspiring with "thugs" loyal to ElBaradei's Dustour Party and other liberal groups that it claimed attacked the Islamists in Alexandria.
"There was clear collusion by the security forces, which did nothing (to stop the attackers)," said Anas al-Qadi, a Brotherhood spokesman in Alexandria, according to the website of the Brotherhood's political party.
"In whose interest are the Interior Ministry and the governorate's security director working?"
Egypt's security forces have been divided by the country's turmoil, with some police in the streets showing support for anti-Morsi protesters, while others are believed to be backing the president. The crisis' worst violence came on Dec. 5, when Brotherhood supporters attacked an opposition sit-in outside the presidential palace in Cairo, and the ensuing violence left at least 10 dead and hundreds injured on both sides.


text:
If for some reason, an Astrophysics graduate decides to shift to Finance will he/she be in a better position (given his/her overspecialization) to make a transition compared to his/her counterparts who've been doing Analytical/Observational Astrophysics?
closed as off topic by Manishearth Dec 15 '12 at 9:12
Questions on Physics Stack Exchange are expected to relate to physics within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.
1$\begingroup$ I'm sorry, but this question is off topic for Physics.SE. Please read the faq before posting :) $\endgroup$ – Manishearth Dec 15 '12 at 9:13
I've not made the transition myself, and it certainly depends on what aspect of finance you go into, but the answer is likely "absolutely." If you were to end up doing computational finance, I assume some of the techniques are similar.
In computational astrophysics, we often simulate a physical problem by breaking it up into discrete chunks and evolving some partial differential equations in each of those chunks. This usually done in a multidimensional framework of up to ~7 (3 space + 3 momentum + time) dimensions if you are doing radiation hydrodynamics solving the Boltzmann transport equation.
I'm a bit unfamiliar with computational finance, but I imagine you have a similar problem in that you have some differential equations telling you how each of the important variables changes with respect to your dependent variables. The problem here is likely to be similar to wanting to minimize some "energy" (read: maximize some profit) function in some very high-dimensional phase space - certainly greater than 7.
Nevertheless, their certainly exists an overlap in techniques. More importantly, the ability to think about and solve problems in the discrete manner used in computational astrophysics will certainly be applicable in areas outside of astronomy, such as finance.


text:
"Torchwood: Miracle Day"
a review by Darby O'Gill
Gwen Cooper (Eve Myles) & Captain Jack Harkness (John Barrowman) are back! After the disbandment of Torchwood, following the events of Children of Earth, Jack Harkness found himself wondering the galaxy looking for answers, if not forgiveness, and Gwen and her husband Rhys moved to an isolated cottage in Whales to raise their daughter away from the madness of the world. It was only a matter of time until an unforeseen event would undoubtedly bring these two together again, and that event came to be known as "Miracle Day." It's the day where no one died. Not a single person. All across the globe, the sick and injured continued to live. And the next day, and the next, and the next, it's as if the entire planet had become immortal over night. Well, not the entire planet. The earth's one immortal man from the future, Captain Jack Harkness, finds that he is once again just a mere mortal man, and that whoever, or whatever is behind the miracle wants Torchwood out of the picture once and for all.
The concept behind Torchwood: Miracle Day is great! It really makes you realize just how fast our systems and governments would start to fall apart if an event like this were to ever actually happen. The camps and the treatment of the undead, or "Category Ones" as they're called on the show, would be unreal! It's funny to think about just how quickly the rich and powerful can adapt to creating a system that would benefit their needs and interests. Did I say funny? I meant sad.
As great as the story is, one might say, and when I say "one" I mean a Doctor Who fan, that the story is far too big of an event for the Torchwood team to handle alone, and I agree. I think something of this scale would warrant the Doctor's attention, but that's just merely a nerd's gripe. My biggest problem with the show is that that it took ten episodes to tell this story. It really only should have been about six. I understand that creator Russell T. Davies wanted to have the story unfold in a very true and believable manner, but this series was introducing the Torchwood franchise to a much wider U.S. audience, and I think it ultimately hurt them in the long run. With that being said, I really like that they didn't just reboot the show in America the same way they did with Being Human or Skins. I'm really glad that they just simply created a story that would bring the surviving Torchwood team members to the States. The new American cast members were also outstanding! Bill Pullman's portrayal of the murdering pedophile Oswald Danes is amazing! The show truly captures the way the media today can turn a disgusting monster into a media poster child. Speaking of the media, Lauren Ambrose's portrayal of the public relations consultant, Jilly Kitzinger or is it Lucy Statten Meredith now (a little inside joke for those of you that have already seen Miracle Day), makes you realize just how soulless the profession can be at times, and yet she's still somehow likeable. Mekhi Phifer and Alexa Havins effortlessly gel their way into the team dynamic of Torchwood. And Barrowmen and Myles are as strong as ever! It's really great to see just how far Gwen Cooper has developed as a character over the last few years. Torchwood: Miracle Day might not be the strongest of the series' ventures, but it's definitely worth checking out!


text:
New Zealand v France, Rugby World Cup, September 24
All Blacks face RWC demons
September 18, 2011
France winger Philippe Bernat-Salles celebrates victory over New Zealand in 1999 © Getty Images
New Zealand's aspirations of lifting the Webb Ellis trophy for a second time will come under severe scrutiny against chief World Cup tormentors France in Auckland on Saturday . After beating Les Blues 29-9 in Auckland to win the inaugural World Cup final in 1987, the All Blacks have twice lost to France in dramatic circumstances at the global showpiece.
In one of the greatest Rugby World Cup matches France shocked overwhelming favourites New Zealand in the semi-final of the 1999 World Cup. The All Blacks were leading 24-10 early in the second-half but France somehow found an inspired display to come from behind and eventually win 43-31 at Twickenham.
Eight years later New Zealand were again overwhelming favourites when the two sides met in the quarter-final showdown in Cardiff. But again the French ambushed the tournament favourites with a controversial later try from Yannick Jauzion - referee Wayne Barnes failing to spot a forward pass in the build-up to the try - giving France a 20-18 victory.
During the 2003 tournament New Zealand recorded a convincing 40-13 victory over the French in the Pool stages of the tournament, which means the teams head into Saturday's fixture level on two wins each at World Cups. However, history has taught New Zealand to fear the French, and their unpredictable nature.
New Zealand v France
All-time record: Played 49; France won 12; New Zealand won 36; One drawn match
Biggest winning margins: NZ: 51, (Wellington, 2007) Fra: 14 (Christchurch, 1994)
Highest score: NZ: 61 (61-10, Wellington, 2007) Fra: 43 (43-31, Cardiff, 1999)
Most tries: NZ: 9 (61-10, Wellington, 2007); Fra: 4 (43-31, Cardiff, 1999)
Most points (individual): NZ: 106 Dan Carter; Fra: 71 Christophe Lamaison
Most tries (individual): NZ: 8 Joe Rokocoko ; Fra: 3 Serge Blanco and Philippe Saint-Andre
Previous World Cup meetings: Four
Click Here for France's full Test record courtesy of Statsguru
Click Here for New Zealand's full Test record courtesy of Statsguru
Click Here for a full record of all France v New Zealand matches courtesy of Statsguru
© Scrum.com
Communication error please reload the page.


text:
Kee Marketing necesitaba un nuevo diseño de página web y lanzó un concurso de diseño en 99designs.
Un ganador ha sido elegido entre 35 diseños de 13 diseñadores freelance.
Portavin Integrated Wine Services
Portavin specialises in:
* Wine Bottling - reds & whites, all varieties, all bottle sizes, shapes & colours
* Mobile Wine Bottling - our mobile bottling trucks bottle, label and package onsite at the customers winery or vineyard
* Wine Packaging - bottling, capping, corking, labeling, palletising etc.
* Wine Dry Goods Supply - we use our national buying power to obtain the best price for our customers bottles, caps, corks, labels, cartons, dividers etc.
* Technical & Oenological Laboratory Services - our purpose built wine labs ensure our customers wine meets standard requirements. We can help fix and stablise wine if required.
* Wine Warehousing - once bottled we provide storage facilities until product is required in the market
* Wine Distribution & Logistics - we can send our customers wine anywhere in the world!
* Bulk Wine Storage - our sites have tank farms for bulk wine storage.
Portavin is located throughout the major wine regions of South Australia, Victoria, Western Australia and has a new facility just opened in Auckland in New Zealand.
Portavin is privately owned and run by a team of experienced wine makers who have a solid reputation in the industry as delivering superior quality and service with personality.
It is not a big corporate (faceless) company, the Portavin owners & team are passionate about the wine industry including enjoying a drop or two!
Anyone who produces wine:
* small boutique vineyards/wineries
* large commercial vineyards/wineries
* contract wine makers (people who make wine for companies)
* wine produces who use their own bottling machines but want to buy best priced wine dry goods eg. bottles, caps, cartons etc.
* Australian, New Zealand Wineries
* International Wineries who distribute wine into the Australian or New Zealand Market and want to save money by sending their wine in bulk containers to Australia or NZ for the wine to be bottled here for the Australian or NZ market. (Much cheaper to freight bulk wine than packages wine!)
Please feel free to be creative!
Very open to new ideas and looks but need to have the same/similar information/menus as existing website.
This site is functional but old fashioned looking and a bit daggy.
Looking for new look with clean lines, easy to follow, professional but not too much of a big corporate look and feel.
The actual images of bottles, caps, machines etc are practical (AND NECESSARY) but particularly boring, I think the use of SOME images which shows more of the enjoyment side of the industry could work. Vineyards, glasses etc. Main pics needs to show technology and state of the art equipment.
Animation of the process of picking grapes, making wine, bottling, packaging, sending to market, enjoying a drink would be super but possibly a big call for this forum?
Images on current site are all different sizes and shapes, it would be good to have designated image areas so they are in same space and size on each page of the site.
Open to new font, colours scheme etc. But tending towards blues to match logo.
Looking forward to seeing some designs and giving feedback!


text:
Tokyo, Japan, October 30, 2010 - Costa Rica rebounded from a first-day loss to Serbia with a straight-sets (25-18, 25-21, 25-10) win over Algeria in Saturday's opening Pool A match at Yoyogi Stadium. It was the first meeting between the two countries in an FIVB competition and produced Algeria's second loss of the tournament from as many matches. The north African side must now regroup ahead of a tough-looking fixture against hosts Japan on Sunday.Costa Rica's Angela Willis led her team's scoring with 15 points, supported by younger sister and captain Verania Willis who notched 13. Algeria's Faiza Tsabet was the top scorer for her team for the second straight day chalking up 11 points.FIVB Women's World Championship Japan 2010 official pageAlgeria's Safia Boukhima started off well with a drive down the middle to make it 6-4 for the African champions. She would falter later with two errant attacks that gave Costa Rica the lead, but then a solid serve from the 19-year-old, which defender Karen Cope could not handle, kept Algeria ahead at 8-7 at the First Technical Timeout (FTT). Just as she did yesterday, Tsabet continued to pound away at the net for Algeria, including an incredible spike that hit two Costa Rica defenders to tie the set at 11. Spikes from Mariela Quesada and Dionisia Thompson gave Costa Rica a 16-14 lead, before a flurry of unforced errors by Tsabet and Zohra Bensalem effectively gave Braulio Godinez's side the set at 23-17. Yet another error by Boukhima confirmed the inevitable.
The second set started even, but Algeria seemed to shake off the first-set cobwebs edging ahead 7-5 with Tassadit Aissou – or Sassa as her shirt has it – and Lydia Oulmou targeting Quesada who had difficulty returning. Bensalem was a one-woman wrecking crew mid-set, with three successful spikes putting her team on top 12-9. Costa Rica would catch up, though, and eventually took the lead when Angela Willis finally put a block on Bensalem at the net to win a point. Bensalem might have still been rattled as her drive on the following point sailed wide, giving Costa Rica an 18-16 edge. They kept the momentum going with more trademark power-shots at the net from Verania Willis and some strong serving by Quesada. A stunning Cope block on Algeria's Tsabet gave the Costa Ricans set-point and it summed up the way unforced errors were plaguing Algeria that a net serve by their captain, Narimene Madani, handed the set to the opposition, 25-21.
Costa Rica took charge of the third set early on by opening an 8-1 lead. Angela Willis repeatedly shut down Boukhima at the net, causing Algeria coach Ikhedji Mouloud to make a change, pulling the spiker out. Yet, when another Costa Rican block made it 14-3, he was forced to put his star spiker back in, visibly perplexed by the impressive opposition defence. Algeria were simply overpowered in the final set, and Angela Willis fittingly provided set-point with a block, followed up by a laser spike by sister Verania to wrap up a convincing victory.


text:
"If climate change drives temperature up a degree or two," goes the common dismissal, "how bad could that be?"
Here's an example: Higher temperatures draw moisture out of live and dead trees and brush, making them more flammable. The heat also can alter precipitation, as well as shift spring thaw earlier, lengthening the fire season. A one degree Celsius climb in average global temperature could cause the median area burned annually by wildfires in parts of the American West to increase up to sixfold. "A one-degree rise could occur well before 2050," notes Jeremy Littell, a climate and fire researcher at the University of Washington, who created the projections with the U.S. Forest Service and other institutions.
Scientists in Canada have reached similar conclusions about their western region. The U.S. prediction applies to area burned during median fire years; extreme fire years would consume still more area. Unfortunately, as temperature goes up, Littell predicts, "what were historically big fire years may become more frequent."
— Mark Fischetti


text:
Developer Mistwalker, the folks behind Lost Odyssey and Blue Dragon, are hard at work on a new game. Mistwalker head and Final Fantasy creator Hironobu Sakaguchi blogs about it.
Sakaguchi is having meetings in Tokyo about the game, and the title's game system is "almost done". According to the designer, "It makes tactical use of 'confusion and order on the battlefield" in real time."
The designer goes on to say he's pouring 120 percent of his energy into the title. He sounds optimistic about the game and working with the development team. Wonder what his 'stache thinks.
上方向への斜光 [Mistwalker]


text:
The Bentley Mulsanne is the reigning king of the ultimate luxo-barges, at least until Rolls-Royce decides to replace the Phantom. Part of being the king is being exclusive, and how can you ensure you keep your crown? That's right – you make it exclusiver.
Only 22 Bentley Birkin Mulsannes will be made, and even then, only for European customers (though don't color me surprised if one finds its way to Dubai, and another to China). Named after "Bentley Boy" Sir Henry "Tiger" Ralph Stanley "Tim" Birkin, 3rd Baronet, the Birkin Mulsanne will feature special wheels, special colors, TVs in the back, iPads in the back, a DVD player in the back, WiFi in the back, and many other things in the back besides, the "Bentley Mulsanne embodies the essence of Birkin's beliefs as a motoring connoisseur," according to Bentley.
And yes, Sir Henry "Tiger" Ralph Stanley "Tim" Birkin, 3rd Baronet, is the guy's real name. He died after the Tripoli Grand Prix from burns that led to sepsis or from malaria or from both, nobody's really sure, because it was the 1930s and people just died back then.
The Birkin Mulsanne comes in Ghost White, a lovely shade of blue, and "Damson," which I had to look up, but apparently it's this gorgeous shade of purple.
So. First Europe gets awesome beer, then it gets awesome food, and now it's got awesome Bentleys. If anybody's got an EU passport they're willing to throw me, just give a holler.
Photo credit: Bentley


text:
Review: Elemental Compliance System 1.1 innovative, solid
Information Security magazine says this tool is cool when it comes to helping enterprises meet regulatory security components.
Compliance is all the buzz, but the real challenge is leveraging tools that give organizations a firm grip on their enterprise security posture and do more than simply earn an auditor's signature. Elemental's Elemental Compliance System (ECS) unites enterprise-wide host configuration, policy management and network access control into one easy-to-use package.
ECS employs agent technology to monitor hosts and align them with policy, polling the server for current policies, assessing host status and reporting back to the server for correlation. If a host or group is out of compliance, network access may be restricted or stopped. Hosts that don't have an agent can be given restricted network access.
The server supports 4,000 managed clients, and multiple ECS servers can share a common master database. Policies can be created from a wide range of rules, including usage of most common antivirus software packages, up-to-date patches, password confirmations and unauthorized program detection. Hosts or groups of hosts are graded by their conformance with these policies.
Groups can be based on attributes such as OS, server role or specific processes running, and dynamically generated from details gathered on the hosts. Hosts can be automatically added to existing groups based on group attributes (e.g., Windows Server 2003). ECS includes policy templates for regulatory compliance (SOX) and best practices.
The server runs on Red Hat Enterprise with an Oracle back end. The Py-thon-based agent runs on Red Hat, Solaris and Win-dows 2000/XP/2003.
The installation of a prerelease of the 1.1 version server, aided by an Elemental engineer, was a little rough around the edges, and re-quired manual editing of configuration files and manual deployment of the Oracle server. Clients were installed and connected to the server. From this point on, the server and clients worked flawlessly.
Almost immediately, ECS began receiving information, starting with vital data points such as IP addresses, MAC addresses and the host OS. After several minutes, the host compliance was rated.
The SSL Web-based interface is clean and well-designed; our tests were a breeze thanks to the simplicity and effective, logical placement of controls.
Each user can have multiple report pages that are completely configurable. Users can view compliance at a high level or can drill down to individual hosts. Reports can be generated for overall compliance, trending over time, group membership, host attributes and packet filter data.
ECS is a very innovative system and a solid, albeit young product that can go a long way in helping any organization meet its policy guidelines.
Brent Huston is a technical editor for Information Security magazine, where this review first appeared in the August 2005 issue.


text:
I had forgotten about Zoroastrianism.
I guess you would have to call it mono-theistic though.
(Maybe more so than "mainstream" Christianity with the wide spread adoption of the Trinity Doctrine.)
I agree with you on the need in general for "bad guys."
What I am thinking about is like in the classic Greek and Roman religions where there were disagreements between individual gods but no organized good guys vs. bad guys,


text: Orthopedics is the branch of medicine concerned with conditions involving the musculoskeletal system. Orthopedic doctors specialize in diagnosis and treatment of problems of the musculoskeletal system. This would mean that they are primarily concerned with pathology of bones, joints, ligaments, tendons, muscles, and nerves. There are a number of professions that offer non-surgical treatment options for many orthopedic problems, such as physiotherapy, chiropractic, occupational therapy, podiatry, and kinesiology. Conditions requiring medication or surgical intervention are managed by orthopedic surgeons in Bowling Green.Many orthopedic surgeons in Bowling Green opt for further training or fellowship, after completing their residency training.