allow you to customize the procedure output by creating templates that you can use whenever you run the procedure.
ODS provides a flexible mechanism for procedures to produce output. Instead of writing to the listing file directly, the procedure creates an output object for each piece of output to be displayed. Every table, plot, and chart is thus a separate entity in the system. Each output object is composed of a data component (the collection of raw numbers and characters comprising the contents of the output) and a template component (the description of what the output is supposed to look like when the data is formatted and arranged on a page).
Output objects are created by the procedure, and they are rendered based on the output destinations that the user has requested. You can control which output destinations are in effect by using the ODS statement or by selecting output destinations in the SAS Explorer. The Results window retains a running record of the output directory hierarchy that is produced when a SAS job is executed. The items on the left-hand side of the RESULTS node are output directories. The items on the right-hand side of the RESULTS node are pieces of output.
ODS currently supports four destinations: the HTML destination (for output that is written in Hypertext Markup Language), the Output destination (for creating a SAS data set), the Printer destination (for output that is formatted for a high-resolution printer), and the Listing destination. ODS destinations can be open or closed. When a destination is open, ODS can send output objects to it. Multiple output destinations can be active at the same time. You open and close a destination with the appropriate ODS statement (ODS HTML, ODS LISTING, ODS PRINTER, or ODS OUTPUT). By default, the Listing destination is open, and all other destinations are closed. Consequently, if you do nothing, your SAS programs run and produce Listing output, just as they did in earlier releases of the SAS System.
By default, ODS output is formatted according to instructions in various definitions that the procedure or DATA step points to. However, ODS provides ways for you to customize the output. You can customize the output for an entire SAS job, or you can customize the output for a single output object. To customize the presentation aspects of the output at the level of the entire SAS job, use a style definition. To customize the output for a single output object, use a table definition. The TEMPLATE procedure creates and modifies these definitions, which the Output Delivery System then uses to create formatted output.
ODS styles govern the overall look and feel of SAS procedure output. Styles determine the colors, fonts, graphic images, and other visual aspects in effect when output is generated. SAS delivers several predefined styles, and you can customize them or create new ones.
Exactly one style is in effect at any time during a SAS session. It applies to all procedure output during the period it is in effect. This gives the output a uniform look and feel. Regardless of the procedure, row headers have the same background color, data cells have the same font, and so forth.
A style definition describes how to render the presentation aspects (color, font face, font size, and so forth) of an entire SAS job. Each style definition is composed of style elements, where a style element is a collection of style attributes that apply to a particular part of the output. For instance, a style element may contain instructions for the presentation of column headers or for the presentation of the data inside cells. Style elements may also specify default colors and fonts for output that uses the style definition. Each style attribute specifies a value for one aspect of the presentation. For instance, the BACKGROUND= attribute specifies the color for the background of an HTML table, and the FONT_STYLE= attribute specifies whether to use a Roman, a slant, or an italic font.
A table definition describes how to render the output for a tabular output object. (Almost all ODS output is tabular.) A table definition determines the order of table headers and footers, the order of columns, and the overall look of the output object that uses it. Each table definition contains or references table elements, where a table element is a collection of attributes that apply to a particular column, header, or footer. Typically, these attributes specify something about the data rather than about its presentation. For instance FORMAT= specifies the SAS format to use in a column. However, some attributes describe presentation aspects of the data.
Both style definitions and table definitions are contained in templates. SAS System templates are stored in the SASHELP library. When you run PROC TEMPLATE to modify or edit a template, the template is stored in the SASUSER library. You can modify the concatenation path that ODS uses to look up templates with the ODS PATH statement. This enables you to set up a default set of templates for your organization to give your SAS output a look and feel consistent with your organization's needs.
Although primarily created for procedure output, this new functionality is also available for DATA step programs, through the FILE and PUT statements. The FILE statement is used to define an ODS output object using the new ODS= option. With this new FILE statement option, the template is specified, and an ODS object is defined and created. Data columns for the data object are specified, and mapped to variables in the DATA step program data vector. The PUT statement can then be used to move data from these DATA step variables into the ODS output object. For a complete discussion of the DATA step interface to ODS, see the SUGI 23 paper "ODS: The DATA Step Knows".
For more information on the Output Delivery System, see The Complete Guide to the SAS Output Delivery System, Version 8.
With the CATALOG access method you can reference a SAS catalog or an entry within a SAS catalog as an external file. You can then use any SAS commands, statements or procedures that access external files to access catalogs. With the CATALOG access method you can read any type of catalog entry, but you can only write to entries of type LOG, OUTPUT, SOURCE, and CATAMS.
Writing code to a catalog SOURCE entry and then submitting it for processing with a %INCLUDE statement.
Using a DATA step to write data to a catalog entry (of type CATAMS), and another DATA step to read it back in.
Storing autocall macros as catalog entries (of type SOURCE) and directing the SAS macro facility to retrieve macros from the catalog where you stored them.
For more information about the CATALOG access method, including examples that illustrate the way it can be used, see SAS Language Reference: Dictionary, Version 8.
use the logic of the DATA step or SCL to subset e-mail distribution based on a large data set of e-mail addresses.
send e-mail automatically upon completion of a SAS program that you submitted for batch processing.
direct output through e-mail that is based on the results of processing.
The SAS System sends all e-mail over a socket to an SMTP server.
Note: You or your system administrator may have to specify the EMAILHOST and EMAILPORT SAS system options. The EMAILHOST option identifies the host that runs the SMTP server on your network. It defaults to localhost. The EMAILPORT option identifies the port number for the SMTP server. It defaults to 25.
PUT statements that contain special e-mail directives (of the form !EM_directive!) that can override the e-mail attributes (TO, CC, SUBJECT, TYPE, ATTACH) or perform actions (such as SEND, ABORT, and start a NEWMSG).
Options that you specify in the FILE statement override any corresponding options that you specified in the FILENAME statement.
In your DATA step, after using the FILE statement to define your e-mail fileref as the output destination, use PUT statements to define the body of the message.
You can also use PUT statements to specify e-mail directives that change the attributes of your electronic message or perform actions with it.
E-mail can also be used to send procedure output. Two of the ways you can use this feature are directing HTML procedure output generated using ODS and sending images generated by graphics procedures.
ODS HTML procedure output must be sent with the RECORD_SEPARATOR (RS) option set to NONE. For CMS, ODS produces an HTML stream with embedded record-separator characters, by default. When the RS option is set to NONE, ODS writes one line of HTML at a time to the file.
For more information abou the EMAIL Access Method, including examples that illustrate the way it can be used, see SAS Companion for the CMS Environment, Version 8.
With the FTP access method you can use file transfer protocol (FTP) to read or write to a file from any host machine that you can connect to on a network with an FTP server running. Use this access method when you want to connect to the host machine, log in to the FTP server, to make records in the specified file available for reading or writing, and then to disconnect from the host machine.
Retrieving a directory listing for a directory on a remote host.
Reading a file from a remote host.
Creating a file on a remote host.
Reading an S370V-format file on an OS/390 host.
Logging in to FRP anonymously, if the host accepts anonymous logins.
Importing a transport data set.
Transporting a SAS data library.
For more information about the FTP access method, including examples that illustrate the way it can be used, see SAS Language Reference: Dictionary, Version 8.
The PIPE access method allows you to pipe data between SAS and CMS Pipelines.
The pipe can be opened for input or output. When a pipe is opened for input by the INFILE statement, output from the pipe is available for input. When a pipe is opened for output by the FILE statement, any lines that are written to the pipe by the PUT statement are input to the pipe.
For more information about the PIPE access method, including examples that illustrate the way it can be used, see SAS Companion for the CMS Environment, Version 8.
The socket access method enables you to read from or write to a Transmission Control Protocol/Internet Protocol (TCP/IP) socket. A TCP/IP socket is a communication link between two applications. The server application creates the socket and waits for a connection. The client application connects to the socket. With the SOCKET access method, you can use SAS to communicate with another application over a socket in either client or server mode. The client and server applications can reside on the same machine or on different machines that are connected by a network.
You can use the SOCKET access method in either client mode or server mode. In client mode, a local SAS application can use the SOCKET access method to communicate with a remote application that acts as a server (and waits for a connection). When the local SAS application is in server mode, it remains in a wait state until a remote application connects to it. To use the SOCKET access method in server mode, you need to know only the port number that you want the server to listen to for a connection.
For more details about the SOCKET access method, including an example that illustrates the way it can be used, see SAS Language Reference: Dictionary, Version 8.
With the URL access method you can read a file from any host machine that you can connect to on a network with a URL server running.
Accessing a file at a web site.
Supplying userid and password to get access to a protected file at a web site.
Reading records from a URL file.
For more details about the URL access method, including examples that illustrate the features mentioned above, see SAS Language Reference: Dictionary, Version 8.
returns information about a directory.
returns the number of members in a directory.
returns the number of information items available for a directory.
returns the name of a directory member.
appends the current record to the end of an external file.
closes an external file, directory, or directory member.
returns the current column position in the File Data Buffer (FDB).
verifies the existence of an external file that is associated with a fileref.
copies data from the File Data Buffer (FDB) into a variable.
verifies the existence of an external file by its physical name.
assigns or deassigns a fileref for an external file, directory, or output device.
verifies that a fileref has been assigned for the current SAS session.
returns a file information item.
identifies the last record that was read.
returns the name of an item of information about a file.
returns the number of information items that are available about an external file.
positions the read pointer on the next record to be read.
sets the position of the column pointer in the File Data Buffer (FDB).
moves data to the File Data Buffer (FDB) of an external file starting at the FDB's current column position.
reads a record from an external file into the File Data Buffer (FDB).
positions the file pointer at the start of the file.
returns the size of the last record read, or, if the file is opened for output, returns the current record size.
sets the token delimiters for the FGET function.
writes a record to an external file.
opens a file by directory ID and member name.
returns the physical name of a SAS data library or an external file.
The FILE statement now has a FOOTNOTES option, which allows DATA step reports that are created with a PUT statement to use footnotes. Using the DELIMITER= option, you can write data that are delimited by a specified character other than a blank. Using the DSD option, you can write data that contain a delimiter.
The FILE statement contains new options that allow you to produce output in HTML format.
In the INFILE statement, you can now use the _INFILE_= option to assign the contents of the current input buffer to a variable.
In the FILE statement, you can now use the _FILE_= option to assign the contents of the current output buffer to a variable.
New host options are available for the INFILE and FILE statements. See the SAS documentation for your operating environment.
The rules for SAS names have been expanded to provide more functionality. Some SAS names, such as DATA step variables, members of SAS data libraries, and catalog entries, can be up to 32 bytes long. A variable name can be mixed case.
In a DATA step or a PROC SQL step, you can more easily use DBMS files. You can use a new name literal to express a DBMS column name that may contain characters that are not normally allowed in SAS names. The SAS system option VALIDVARNAME= enables you to specify what rules apply to the variable names that you can create and process in a SAS session.
You can now reference two or more SAS libraries with a single libref in all operating environments. To make your code easier to use in multiple operating environments, you can use a libref, rather than only the physical name as in Version 6, to specify the aggregate storage location that contains your SAS files.
You can now logically concatenate entries in two or more SAS catalogs. Use the LIBNAME statement to implicitly concatenate entries in SAS catalogs. Use the new CATNAME statement to explicitly concatenate entries in SAS catalogs.
Generation data sets enable you to keep multiple copies of a SAS data set. The copies represent versions of the same data set, which is archived each time it is replaced. To request generation data sets, use the GENMAX= data set option. To reference a specific version of a data set, use the GENNUM= data set option.
Integrity constraints enable you to specify rules that guarantee the consistency and correctness of stored data. The rules restrict the data that can be added, updated, or deleted from a data set, and they also link the data in one data set to data in another data set.
You can specify integrity constraints either when a data set is created or after it already contains data. To create and delete integrity constraints, you can use the DATASETS procedure, the SQL procedure, or SCL functions. To list integrity constraints, use the CONTENTS procedure.
When creating an index, no sort is performed if the data set is already in the correct order.
The system's ability to determine the more cost-efficient way to access the data (either by sequential reading or by using an index) is improved by storing statistics that represent the distribution of values.
WHERE processing for an indexed data set is enhanced for the pattern-matching operators LIKE and NOT LIKE.
The system makes greater use of composite indexes for compound optimization, which is the process of optimizing multiple WHERE conditions with a single composite index. WHERE expressions that contain the EQ or IN operator now support three new operators: directional inequalities, NOT operations, and truncated comparisons.
Two new data set options, IDXNAME= and IDXWHERE=, provide more control over index usage.
The MSGLEVEL= system option provides more information about index usage.
When you append to an indexed data set, SAS improves performance by not updating the index until all observations have been added.
Compressed data sets are more flexible to use. You can now access observations in a compressed SAS data set directly by using the POINT= or FIRSTOBS= option.
You can choose a compression algorithm that best fits your data. For compressing character data, specify CHAR to use the RLE (Run Length Encoding) algorithm. For compressing binary (for example, numeric) data, specify BINARY to use the RDC (Ross Data Compression) algorithm.
In Version 8, you can use the POINTOBS= data set option to control whether a compressed data set may be processed with random access rather than with sequential access only.
An audit trail enables you to log updates to a SAS data file in a separate audit file. Each time an observation is added, deleted, or updated, information is added to the audit file about who made the modification, what was modified, and when.
You can also define special variables that are stored in the audit file. The user can assign values to them just like regular data set variables. They are stored with each record written to the audit trail. For example, they could be used to log a "reason for modification."
The audit trail is initiated with the AUDIT statement in PROC DATASETS. See SAS Procedures Guide, Version 8 for more information.
verifies the existence of a SAS catalog or SAS catalog entry and returns a value.
assigns or deassigns a libref for a SAS data library and returns a value.
verifies that a libref has been assigned and returns a value.
links SAS data set variables to DATA step or macro variables of the same name and data type.
returns the value of a character attribute for a SAS data set.
returns the value of a numeric attribute for a SAS data set.
closes a SAS data set.
returns the observation number of the current observation.
deletes a note marker from a SAS data set or an external file.
returns the data set name that is associated with a data set identifier.
verifies the existence of a SAS data library member.
reads the next nondeleted observation from a SAS data set into the Data Set Data Vector (DDV).
reads a specified observation from a SAS data set into the Data Set Data Vector (DDV).
returns an observation ID for the current observation of a SAS data set.
opens a SAS data set.
locates an observation that is identified by the NOTE function.
positions the data set pointer at the beginning of a SAS data set.
returns the value of a SAS data set character variable.
returns the value of a SAS data set numeric variable.
returns the format that is assigned to a SAS data set variable.
returns the informat that is assigned to a SAS data set variable.
returns the label that is assigned to a SAS data set variable.
returns the length of a SAS data set variable.
returns the name of a SAS data set variable.
returns the number of a SAS data set variable's position in a SAS data set.
returns the data type of a SAS data set variable.
returns the name of the given variable.
returns the label associated with the given variable, or the variable name if there is no label.
returns the type of the given variable ('N' for numeric and 'C' for character).
returns the defined compile-time size of the given variable.
returns the format associated with the given.
returns the format name, excluding any lengths, associated with the given variable (for example, $CHAR).
returns the format width value (w) associated with the given variable.
returns the format decimal value (d) associated with the given variable.
returns the informat associated with the given variable (for example, $CHAR20.).
returns the informat name, excluding any lengths, associated with the given variable ($CHAR).
returns the informat width value (w) associated with the given variable.
returns the informat decimal value (d) associated with the given variable.
returns 1.0 if the given variable denotes an array name, and 0.0 if it does not.
returns 1.0 if the given variable is an element of any array, and 0.0 if it is not.
The CATNAME statement is new. It logically concatenates the contents of two or more SAS catalogs. It can also assign or deassign a catref or list all currently assigned catrefs.
The LIBNAME statement now has the REPEMPTY= option, which controls the replacement of like-named temporary or permanent SAS data sets when the new one is empty.
The LIBNAME statement provides SAS/ACCESS users with an easier way to access DBMS tables. Note: In order to use this new feature of the LIBNAME statement, you must license SAS/ACCESS software.
You can create or reference a permanent SAS data set without first assigning a libref. You can refer to a SAS data set directly by specifying in quotes the name by which the operating system refers to the file.
writes datetime values (ddmmmyy:hh:mm:ss.ss) with AM or PM.
writes date values in the form ddmmyy or ddmmyyyy and specifies separators or no separators between date values.
writes date values in the form mmddyy or mmddyyyy and specifies separators or no separators between date values.
writes packed Julian date values in the hexadecimal format yyyydddF for IBM.
writes packed Julian date values in the hexadecimal format ccyydddF for IBM.
writes hours, minutes, and seconds with AM or PM.
writes date values in the form yymmdd or yyyymmdd and specifies separators or no separators between date values.
The DATEJUL informat can be used to read Julian dates in either yyddd or yyyyddd format. If the date is in yyddd format, then SAS uses the value of the YEARCUTOFF= SAS system option to interpret yy.
Creation date and date last modified are stored in ISPF statistics in directory entry in 0CYYDDDF packed format, where C= 0 for 1900, 1 for 2000, etc. Consider, for example, x'0090045F'. The century is 0, corresponding to 1900. The year is 90. The day is 45, corresponding to 02/14. The resolved date in mm/dd/yyyy format is 02/14/1990.
reads Japanese Kanji date values in the form yymmdd.
reads packed Julian date values that are produced on IBM mainframe systems in the hex representation form of yyyydddF. and converts the values to SAS date values.
reads packed Julian date values that are produced on IBM mainframe systems in the form ccyyddF. and converts the values to SAS date values.
reads date and time values of SHR records.
reads date values that are in the form yymm or yyyymm and that contain no delimiters, then adds a date value of 01 so that these values become valid SAS date values.
returns a seven digit Julian date from a SAS date value.
returns the difference in years between two dates.
The maximum length for many SAS names has been increased to 32 (from 8 in earlier versions). In the DATA step, variable names (including array names), window names, and statement labels may now consist of up to 32 characters. A variable name can be mixed case.
There also has been an increase in length of value that could be contained in a character variable. In earlier releases the limit was 200, now it is 32,767.
You can use footnotes in addition to titles.
Reports can take advantage of the new Output Delivery System.
The ability to directly access input and output buffers has been enhanced.
Instead of just referencing the _INFILE_ pseudo-variable in a PUT statement, you may now use it almost anywhere a variable reference may occur, including as the source or target in an assignment statement, or as a function call argument.
A new pseudo-variable _FILE_ offers you access to the current output buffer, the last buffer formatted by the most recent PUT statement. You may access the _FILE_ pseudo-variable before or after the PUT statement executes. Before the PUT statement executes, the output buffer is empty. At this point, you may want to initialize the buffer with some data that would be reflected in the next PUT statement. You may also access the _FILE_ variable after a PUT statement executes, provided that the buffers are held in memory, either by using a trailing @ or N= and # line pointer controls.
In Version 8, SAS no longer requires that you recompile stored compiled DATA step programs or recreate DATA step views that were created in previous versions or releases of SAS. Stored programs and views created in Version 6 or Version 7 run as is in Version 8, provided that you run them on the same operating system on which they were created.
By default, SAS also saves the source statements when you create stored compiled programs and DATA step views in Version 8. You can retrieve and/or execute the statements by using the new DESCRIBE and EXECUTE statements within the DATA step.
retrieves source code from a stored compiled DATA step program or a DATA step view and writes it to the SAS log. It is used within a DATA step with the DATA statement's PGM= or VIEW= options.
executes a stored compiled DATA step program. It is used within a DATA step with the DATA statement's PGM= option.
The RENAME statement accepts variable lists.
In the SET statement, you can use the OPEN= option to open only the first data set that is listed in the SET statement during compilation. Some restrictions apply.
The PUT statement contains new options that allow you to produce output in HTML format.
Character formats can handle strings up to 32,767 characters (32K) long.
The DOLLARw.d, DOLLARXw.d, COMMAw.d, and COMMAXw.d formats no longer restrict d to 0 or 2.
writes integer binary (fixed-point) values in Intel and DEC format.
writes numeric values with a comma for the decimal point.
writes positive integer binary (fixed-point) values in Intel and DEC formats.
Character informats can handle strings up to 32,767 characters (32K) long.
reads integer binary (fixed-point) values in Intel and DEC format.
reads numeric values in which a comma marks the decimal place. in the hex representation form of yyyydddF. and converts the values to SAS date values.
In addition to the functions described below see also External I/O: Functions, SAS I/O: Functions, and Date and Time Processing: Functions.
computes the number of combinations of n elements taken r at a time and returns a value.
computes some machine and mathematical constants and returns a value.
computes the deviance and returns a value.
computes a factorial and returns a value.
computes the logarithm of a probability (mass) function.
computes the logarithm of a survival function.
computes probability density (mass) functions.
computes the number of permutations of n elements taken r at a time and returns a value.
computes a probability from the bivariate normal distribution and returns a value.
computes a probability or a quantile from various distributions for multiple comparisons of means and returns a value.
returns the convexity for an enumerated cashflow.
returns the convexity for a periodic cashflow stream, such as a bond.
returns the modified duration for an enumerated cashflow.
returns the modified duration for a periodic cashflow stream, such as a bond.
returns the present value for a periodic cashflow stream, such as a bond.
returns the yield-to-maturity for a periodic cashflow stream, such as a bond.
The following new functions and CALL routines provide character-string matching functionality. That is, they enable you to search for (and, optionally, to replace) patterns or characters in a string.
changes one or more substrings that match a pattern.
frees memory that is allocated by other regular expression (RX) functions and CALL routines.
finds the position, length, and score of a substring that matches a pattern.
finds the beginning of a substring that matches a pattern and returns a value.
parses a pattern and returns a value.
returns the likelihood of two words matching, expressed as the asymmetric spelling distance between two words.
decodes a string containing HTML numeric character references or HTML character entity references and returns the decoded string.
encodes characters using HTML character entity references and returns the encoded string.
returns a string that was decoded using the URL escape syntax.
returns a string that was encoded using the URL escape syntax.
returns the value of a SAS system option or graphics option.
returns a formatted error message for _IORC_.
returns a numeric result that indicates whether the argument contains a missing value.
returns the value of the specified operating environment variable.
returns the text of error messages or warning messages from the last data set or external file function execution.
returns a system error number.
creating new library members and catalog entries.
If you issue the CAT, DIR, LIB, or FILENAME commands, an Explorer window opens. For example, if you type CAT WORK.TEST, you will see the contents of your TEST catalog in a modified Explorer window.
install and uninstall registry files.
You can also use PROC REGISTRY to accomplish these tasks.
The Results window contains pointers to various locations in the Output window. When procedure code executes, pointers to specific output are generated and are listed in the Results window. You can click the navigation pointers to locate the desired output.
SAS/CONNECT now supports both synchronous and asynchronous remote processing. In Version 6, only synchronous processing was supported. With synchronous processing, the default behavior, you wait for the results of the remote processing before you are able to continue local processing. With asynchronous processing, you immediately regain control to continue local processing while the remote job executes, and results can be obtained at a later time.
The ability to execute remote submits asynchronously allows you to continue processing on your local host while the remote submit executes in the background. Asynchronous processing provides increased time effieiency by allowing you to perform multiple tasks simultaneously. Using this technique, you can start a long running task in the background on a remote host, and immediately be able to begin another task on another remote host or continue local processing, rather than wait until the first remote task is complete before regaining control of your local SAS session. This also provides you with flexibility as to when and where tasks are performed.
creates windows for the log and output from an asynchronous remote submit.
retrieves the log and output from an asynchronous remote submit and merges them with the local session.
identifies which remote session to connect to.
indicates whether the status window will be displayed during a file transfer.
specifies whether a remote submit is processed synchronously or asynchronously.
identifies the name of a macro variable to associate with a remote submit.
specifies a script file to use during SIGNON and SIGNOFF.
forces the macro variables for an asynchronous remote submit to be defined as soon as %SYSRPUT executes rather than at a synchronization point.
For more information refer to SAS/CONNECT User's Guide, Version 8 or "New V7 Client/Server Capabilities to Solve and Secure Your Distributed Processing Needs" by Cheryl Garner.
select and exclude output from the ODS object.
Encryption services protect data that is sent between hosts across a network. Encryption services use a reversible algorithm to convert plain-text data into an unintelligible form, thus protecting data from being used by unauthorized parties. A SAS proprietary form of data encryption is available on all platforms.
specifies the requirement to operate in encryption mode; for example, both the client and the server sessions must be operating in encryption mode.
specifies the key length, 40-bits or 128-bits, to be used by the encryption algorithm.
controls the use of Message Authentication Codes (MACs) on network communications. A MAC is the equivalent of a checksum that is used to ensure that the original message has not been modified.
For more information on data encryption, refer to the Appendix, "Encryption Services" in SAS/CONNECT User's Guide, Version 8, and "New V7 Client/Server Capabilities to Solve and Secure Your Distributed Processing Needs" by Cheryl Garner.
SAS/CONNECT offers the ability to design and develop distributed applications that communicate by using messages. Messaging services enable the programs that compose a distributed application to communicate by sending data in the form of a message. Two forms of messaging services are available: direct messaging and indirect messaging. Both direct and indirect messaging enable you to include attachments with messages that are sent between a client and a server portion of an application.
Messaging allows applications to communicate by sending each other data in messages. Any action can be taken upon receipt of a message and acknowledgements can be returned to the sender if and when appropriate. With direct messaging, both the client and the server must be active at the same time. With indirect messaging, this restriction is lifted.
Messaging enables application developers to deploy multi-tiered distributed applications. This multi-tiered design allows you to separate and centralize business and data access to the server portion of the application. You can then implement a thin client application that requires little or no maintenance. Not only is it easy to segment your logic into individual programs, but these programs can execute on the host that best meets your data and resource requirements.
The indirect messaging facility allows you to write applications that communicate asynchronously with each other. That is, one application could send messages to one or more target applications that may not be currently running and that may not run for several more hours or days. SAS indirect messaging (message queueing) enables programs to communicate indirectly by placing messages on queues in storage. Therefore, the pieces of your application can run independently of each other, can run at different speeds and times, and can run without a direct connection between them.
SAS/CONNECT User's Guide, Version 8 contains more information about messaging services.
SAS software introduces a new cross-environment data access (CEDA) facility. SAS recognizes that diverse and distributed computers have become more common than they were when Version 6 was introduced. It is no longer unusual to have a site where multiple CPUs share access to a single disk or to a single networked file system. With CEDA, SAS data sets are accessible across platforms. CEDA allows any SAS data set that is created on a directory-based host to be read by a SAS session that is running on another directory-based host. This means that from UNIX System Services on OS/390 you can access SAS data sets on Windows NT, Windows 95, Windows 98, OS/2, Macintosh, Solaris, HP-UX, RS/6000, AIX, Compaq Tru64 UNIX (formerly Compaq's DIGITAL UNIX), OpenVMS Alpha, and OpenVMS VAX.
The advantage of CEDA is that you can transfer your data sets from one host to another, or NFS mount a disk from another host and automatically be able to access your data without any extra steps. CEDA eliminates the need to execute any other procedure, maintain a running server, or even SIGNON to the remote host.
For more information about CEDA, see SAS/CONNECT User's Guide, Version 8 or "New V7 Client/Server Capabilities to Solve and Secure Your Distributed Processing Needs" by Cheryl Garner.
Version 8 and Version 6 SAS/SHARE client/server applications are compatible. This enables you to convert your applications incrementally rather than at one time. For example, you can convert your client from Version 6 to Version 8 and still communicate with a Version 6 server. After successfully converting the client, the server can then be converted. Another approach would be to convert the server first and then the client. Otherwise, both client and server would need to be converted simultaneously, which generally increases the cost and risk of the conversion.
Encryption services protect data that is sent between hosts across a network. Encryption services use a reversible algorithm to convert plain-text data into an unintelligible form, thus protecting data from being used by unauthorized parties. For the OS/390 platform, the purchase of a license for SAS/SECURE is necessary. SAS/SECURE provides access to the encryption services of the RSA BSAFE Crypto-C Toolkit.
specifies one or more encryption algorithms to use in a SAS/SHARE client/server session.
Other documentation explains options that are applicable to RSA BSAFE Crypto-J Toolkit Java clients.
This causes the HELP Browser window to display. Then select Help topics of interest at increasing levels of detail.
Underlined text in the Help Browser window represents links to additional information. You can use the Tab key to move the cursor from link to link in the current window. To display the linked topic, position the cursor on the underlined text for the desired link and press Enter or click the left mouse button.
displays the first help topic in the history sequence and clears the history list.
Searches for the character string most recently specified in a FIND command.
represents the character string that you want to find.
finds the next occurrence of the character string based on the current cursor position.
finds the first occurrence of the character string regardless of the cursor position.
finds the last occurrence of the character string regardless of the cursor position.
finds the previous occurrence of the character string based on the current cursor position.
finds all occurrences of the character string and reports the number as a note.
finds a character string within starting and ending delimiters.
finds a character string that is the prefix of a word within the constraints that are established for the WORD argument.
finds a character string that is the suffix of a word within the constraints that are established for the WORD argument.
repeats the previous FIND command.
To access CMS specific help directly, enter help host on the command line, then select host, or, using PMENUs, select Help->SAS System Help->Using SAS with your operating environment.
You can develop Help for your site or for your SAS programs that can be displayed in the standard SAS Help browser. To ensure that user-defined Help will be displayed as it is written, use only the subset of tags from HTML Version 3.2 that is supported on the SAS Help browser. Help information in tags that not supported by the SAS Help browser may be ignored.
The following HTML tags are supported by the SAS Help browser: H1, H2, H3, H4, H5, H6, P, UL, OL, DIR, MENU, DL, DT, DD, PRE, XMP, LISTING, I, B, U, EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, A, LINK, TITLE, BASE, HEAD, and HTML.
The TABLE tag is the only frequently used tag that is not supported at this time. To add tables to your Help, use the PRE tag and format the text manually by using blank spaces, vertical bars, dashes, and underscores as needed. For more details about developing and using user-defined Help, see Initializing and Configuring the SAS System in the SAS Companion for the CMS Environment, Version 8.
The CD-ROM that is supplied with SAS software contains most of the documentation for base SAS, including SAS Language Reference: Dictionary and other titles. If you encounter a problem that you cannot solve with the information that is provided in the SAS log or in SAS online Help, load the CD-ROM disk into a CD-ROM reader and browse through the contents of the books.
Contact your SAS Support Consultant for assistance with ordering hardcopy documentation.


text:
President Bush to Announce Four People to Serve in his Administration
President George W. Bush today announced his intention to nominate three individuals and his designation of one individual to serve in his administration.
The President intends to nominate Marie T. Huhtala to be Ambassador Extraordinary and Plenipotentiary of the United States of America to Malaysia. A career member of the Senior Foreign Service, she has been Deputy Chief of Mission in Thailand since 1998. From 1996 to 1998, she was Director of the Office of Burma, Cambodia, Laos, Thailand and Vietnamese Affairs, and she was Principal Officer in Quebec from 1992 to 1995. Huhtala has completed numerous assignments both abroad and in Washington, D.C. including Chief of the East Asian and Pacific Division for the Office of Career Development and Assignments in the Bureau of Human Resources and Political Officer in Hong Kong. Originally from California, she is a graduate of Santa Clara University and received a Master's degree from Laval University.
The President intends to nominate Mary Ann Solberg to be Deputy Director of National Drug Control Policy. She is currently the Executive Director of the Coalition of Health Communities and Executive Director of the Troy Community Coalition for the Prevention of Drug and Alcohol Abuse in Troy, Michigan. From 1977 to 1991, she held various positions with Troy Adult and Community Education including Director and Coordinator of Student Recruitment, Department Publicity and Women's Concerns. Solberg has served as a member of numerous Advisory, Civic and Community Organizations. She was a member of the Advisory Committee to Develop a National Prevention System at the National Center for Substance Abuse Prevention and the Advisory Committee for the National Ad Council's Community Anti-Drug Campaign. In 1998 she was named to the President's Commission on Drug-Free Communities and was elected Co-chairperson. A Michigan native, she is a graduate of Western Michigan University.
The President intends to nominate Scott M. Burns to be Deputy Director for State and Local Affairs in the Office of National Drug Control Policy. He is presently serving his fourth elected term as Iron County Attorney in Cedar City, Utah. Burns is a Member of the White House Committee on Illegal Narcotics Interdiction; he founded the Multi-County Narcotics Task Force and serves as Chairman of the Southern Utah Law Enforcement Agencies Board. He is an Adjunct Professor in the Criminal Justice Department at Southern Utah University and an Instructor as well as Member of the Board of Directors for the Utah Police Academy. He is a graduate of Southern Utah University and received his J.D. from California Western School of Law.
The President has designated David Curtis Williams to be Acting Inspector General of the Department of Housing and Urban Development. He has served as Inspector General for Tax Administration at the Department of Treasury since 1999.

redpajama_set_name: RedPajamaCommonCrawl


text:
In the Surgical Theatre
by Dana Levin
Publisher: Copper Canyon Press
A doctor contemplates Lenin's embalmed body; two angels flank an open chest during a heart transplant; a father's anger turns into a summer... Read more
thunderstorm... Each of Levin's poems is an astonishing investigation of human darkness, propelled by a sensuous syntax and a desire for healing."This is the language of a prophet: Levin's art, in this book certainly, takes place in a kind of mutating day of judgment: it means to wipe a film from our eyes. It is a dare, a challenge, and, for all its considerable beauty, the opposite of the seductive...Sensuous, compassionate, violent, extravagant: what an amazing debut this is, a book of terrors and marvels."-Louise Gluck, from the IntroductionDana Levin was raised in Lancaster, California, in the Mojave Desert. She has received fellowships, grants, and awards from the National Endowment for the Arts, the Academy of American Poets, the Vermont Arts Council, and New York University, where she received her M.F.A. She lives in New Mexico and teaches Creative Writing at the College of Santa Fe.
The Complete Persepolis
Publisher: Pantheon
They Say, I Say: The Moves That Matter in Academic Writing
Edition: Jan-45
Publisher: Vintage Books


text:
Part of Wellness. ©2019 Verizon Media. All rights reserved.
My Q and A With William Dement, a True Sleep Studies Pioneer
Dr. William C. Dement, a professor at the Stanford Center for Sleep Sciences and Medicine, is considered the father of sleep medicine. In answer to my questions, he spoke about his early interest in sleep studies, the scientists who inspired him and how the study of sleep has evolved over half a century. Here is a transcript of our conversation.
ByArianna Huffington, Contributor
Founder, The Huffington Post; Founder and CEO, Thrive Global
06/25/2015 11:42am EDT | Updated June 25, 2016
This post was published on the now-closed HuffPost Contributor platform. Contributors control their own work and posted freely to our site. If you need to flag this entry as abusive, send us an email.
What led you to found the Stanford Sleep Disorders Clinic?
Before I came to Stanford, I was a research fellow at Mount Sinai Hospital in New York City and worked with patients who had narcolepsy. After I went to Stanford, in 1963, I discovered that doctors were not recognizing this illness, so I put a little want ad in the San Francisco Chronicle asking people who had symptoms suggesting narcolepsy to contact me. I got about 100 responses, at least 50 of which were patients with undiagnosed narcolepsy. I started a narcolepsy clinic in 1964 to study and treat the illness, but I had to close it a year later as unpaid patient bills piled up.
It was gratifying to participate in patient care, so I had that lingering desire. When I first started researching, you could say all you had to do to get a grant from the National Institutes of Health was sneeze. But it had become quite difficult with peer review and everyone looking for a reason to reject a grant. I had a large staff and needed additional income to pay their salaries. I thought that a clinic would produce a major source of revenue, since I was aware of the high prevalence of complaints of insomnia among the population. I couldn't have been more wrong! Insomniacs were not referred to our clinics by their physicians.
Anyway, in the early days of the Stanford Sleep Clinic, we were lucky to get five referrals a week. I accepted any invitation to speak at medical or public lectures so that I could publicize the clinic. After about a year it began to take off.
I opened the Stanford Sleep Disorders Clinic in the summer of 1970 with a press conference --and only one reporter came! The reporter asked me, "Do you recommend children sleeping with their parents?" It was controversial at that time, but I said that if a child is upset at night, I see no harm in the child sleeping in bed with the parents. I got a call shortly after from ABC asking me if I was "the doctor who recommends communal sleeping." I said, "What are you talking about?" It was a big deal at the time.
How did the focus shift to sleep apnea?
Obstructive sleep apnea (OSA) is one of the most serious and one of the most prevalent sleep disorders, and it was described for the first time in 1965 in Europe. But it was completely ignored by American pulmonologists.
Rather than getting patient complaints of insomnia, we started getting patients who complained of excessive daytime sleepiness. Because we were aware of this European discovery, we were able to study patients' breathing, which had not been done prior to this. Lo and behold, they had sleep apnea.
One of our OSA patients who was a 5-year-old boy -- he was sleeping in school, totally failing in kindergarten, and snoring very loudly. My colleague Christian Guilleminault and I became aware of the boy's condition and presented the case to pediatricians. The only treatment at that time was a tracheotomy, when an incision is made in the windpipe. The pediatricians were very hesitant but finally agreed. After the boy received the tracheotomy, we saw tremendous benefits. He suddenly became a good student in school.
Sleep apnea is a major issue to take care of; it can't be neglected. Two 40-year-old men refused the tracheotomy treatment, and within months both had died of heart disease.
In 1981 Collin Sullivan, a physician in Sydney, Australia, invented the CPAP (continuous positive airway pressure) machine, a very effective treatment for OSA. It was miraculous. I have actually nominated him for a Nobel Prize twice, and I hope he gets it someday, because he deserves it.
What was the turning point when we started to pay attention to sleep on a large scale?
I made an enormous effort to get other people to start sleep clinics. My medical school classmate Elliot Weitzman was a professor of neurology at Albert Einstein Medical School. He visited us at Stanford and was impressed with what we were doing in the clinic. He went back to Montefiore and started the world's second sleep disorders clinic.
In 1975 there were five sleep disorder clinics in the U.S. I started the American Academy of Sleep Medicine, which was called the Association of Sleep Disorder Centers at the time. We tried to get more publicity and awareness.
After we all began diagnosing and treating patients, it became obvious that the most important sleep disorder would be OSA, which was very dangerous if allowed to go untreated. I did a telephone follow-up study 10 years later of patients who refused the early tracheostmy treatment, and every patient who refused treatment for OSA had died of OSA complications.
OSA eventually had an extremely high prevalence (24 percent of adult males, 9 percent of adult female) and that was what stimulated a lot of people to start clinics.
How did you become interested in studying sleep?
I chose the University of Chicago for medical school. At that time I was interested in aerospace medicine, but I had no solid idea of what I wanted to do for a career. Fatefully, the University of Chicago had on faculty the only man on the planet studying human sleep, Nathaniel Kleitman.
I developed an interest in the problem of consciousness, and I thought if we could know what stops functioning when we fall asleep, those functions might be the basis of consciousness and wakefulness. That is what made me interested in sleep. After a lecture from Professor Kleitman, I knocked on his door and asked if I could work with him. He put me to work helping a graduate student named Eugene Aserinsky.
How you were able to link REM sleep with dreaming?
The electroencephalogram (EEG) had just become widely available, and we had one of the very first devices. In the course of looking at brain waves, there would be strange artifacts in the recordings, and we didn't know where they came from.
My first assignment, which was extraordinarily tedious, was to sit by the bed of someone who was sleeping and see if the subject was making any movement when these artifacts appeared in the EEG tracing. At some point I looked at the face and noticed the eyes were moving and twitching. I thought it was a wink!
But the EEG said the subject was sleeping, so Aserinsky and I dug deeper: Whenever the artifacts were present, I would turn on a flashlight and determine whether the eyes were moving or not. We finally realized that the eyeball movements were causing these artifacts.
Professor Kleitman hypothesized that maybe these eye movements were related to dreaming. In our next study we awakened subjects when we observed eye movements and asked them, "Were you just dreaming then?" The dream recall was extremely significantly higher when eye movements were present than when they were not present.
One funny thing was that Professor Kleitman was a little prudish: He didn't allow me to study women. Finally I had to get a chaperone. He wasn't that keen about a woman spending the night with me in the laboratory!
What interesting things have you found about dreaming?
It is still a bit controversial, but I believe the eye movements are related to the content of the dream. In a dream about a tennis match, you would likely see the eyes moving back and forth as they would as if you were actually watching a tennis match. In a dream about something dropping from the sky, your eye movements would be vertical.
I believe that I was the first one to report REM sleep in animals. The first animal was a cat. After that, everyone around the world started studying animals -- zebras, elephants, mice. It is safe to say that every mammal experiences REM sleep, but only monkeys have some sign they might be dreaming.
My favorite analogy is that only after REM was discovered, it became obvious that sleep was much more complicated than previously realized. The thought was that sleep was like pulling the car in the garage and turning off the ignition: no activity, no energy. I like the analogy that sleep is more like you park the car in the garage and put in the clutch and the motor keeps running.
Finally, I have found it almost miraculous that the "dream world" we live in for approximately two hours every night is perceived as real. The miraculous part is that the brain creates this real world in the absence of all sensory input plus the absence of kinesthetic feedback. If the time we spend in REM sleep is able to be drastically extended, we would truly be spending our lives in two entirely different worlds.
healthy livingsleep researchobstructive sleep apneasleep-questionsDreams
Arianna Huffington, Contributor
MORE IN Wellness
Researchers Think They Know Why Weed Makes Some People Happy And Others Paranoid
Are Support Groups A Good Alternative To Therapy?
10 Useful Prime Day Purchases For Every Household
Subscribe to HuffPost's wellness email
The essential guide to taking care of your mind and body.


Honeyboy Carencro grew up in New Orleans, Louisiana, and vividly remembers, as a child, hanging out with his mother and listening to records on her old school home stereo where she would play artists that were heavy on the scene. She played that were rich in blues, soul and jazz history. "Most of the best music ever made came out of New Orleans," claims the singer, producer, and multi-instrumentalist, who counts Muddy Waters, Howlin Wolf, Bo Diddley, and Chuck Berry, along with New Orleans music pioneers like: The Meters, Fats Domino, Snooks Eaglin and Dr. John among his influences, but draws the most inspiration from the music of Otis Redding, Sam Cooke, and the legendary productions that were coming out of the Chess Records era and Stax Records era.
The "retro or throwback" tag is added to almost any contemporary work that sounds like it was originally recorded between 1950 and 1974, and Carencro, is among the new breed of artists to the genre, and he is aware of how trends come and go. After being signed to the upstart New Orleans based record label Rolling Fork Records by a&r rep Corbiss Humberger, the wheels were set in motion for him to record his upcoming album "The Widowmaker"." I have always been into doing music form the heart and I am giving you all I got with this album." says Carencro.


text:
SHOP NOW – $ 4995
Schiller was founded on the daring belief that a blue planet is meant for biking.
We want to give people of all athletic abilities the most exhilarating and dynamic cycling experience riding the world's most advanced water bike.
Our commitment to design, technology, safety and engineering, matched with a passion for all things aquatic, is what guides us each and every day.
With nearly one billion bikes around the globe built for land, our eyes are singularly focused on the trailblazing voyages, weekend expeditions and incredible sunset spins on a new aquatic terrain. Schiller Bikes is headquartered in Mill Valley, California.
The ride doesn't end at the water's edge.
Jessica Schiller
Founder CEO
In 2013, Jessica Schiller became the first person in history to bike across the San Francisco Bay and Hudson River. What started as a socially innovative statement to the biking community spurned the pioneering idea that water sport enthusiasts and cyclists alike could enjoy water biking purely for sport, recreation and fun. And so Schiller Sports, Inc was launched to design and manufacture the most advanced water bike ever created, giving people an entirely new way to enjoy oceans, seas, lakes, canals and rivers around the globe. A water sports enthusiast at heart, Jessica was a CEO and co-Founder of both Saatchi & Saatchi S and AIKO, a design & innovation agency based in San Francisco. In both roles, she has successfully helped major brands develop and launch new consumer products and build engaged communities. She lives in Mill Valley with her three kids.
Brad Knop
Brad has over 25 years of experience successfully managing the operations of a variety of technology, software, lifestyle and financial services companies. The early part of Brad's career was in marketing at First Deposit (which later became Providian), where he directed the main business units within the company over the course of 8 years including new account acquisition, customer retention and product development. At Providian (15,000 employees/ $30B Assets), Brad developed multiple product areas including several that became core business lines within the company – leading one from 0 to over 1,000 employees and over $1b in assets under management. Brad's ability to calmly manage chaos resulted in the successful development of Providian's international division – spending 2 years developing products/markets in Mumbai, India as well as other parts of Asia and Europe. Among many other leadership roles, Brad is the former CEO and current board member of the socially responsible, outdoor lifestyle/bicycle company, Xtracycle.
Annabelle Joy
VP, Operations
Annabelle has over 20 years of experience in managing global operations. She has been a principal advisor within the New Zealand Governments' Ministry of Justice as well as leading operations in numerous Bay Area companies focused on global product development, technology and lifestyle industries.
Bobby Frick
VP Design
Bobby was raised on the shores of San Francisco Bay. A lifelong mariner and water sports fanatic, Bobby was behind the tiller of an outboard motor almost before he could walk. An early innovator in the kite boarding industry, Bobby was one of the first designers of lightweight composite kite boards renowned for their light wind performance. Bobby brings to Schiller Bikes a passion for all things aquatic, an entrepreneurial spirit and natural gift of transforming product design challenges into opportunities. Bobby holds a BA in Industrial Design from the Academy of Art University and lives in Tiburon, CA.
We begin where the road ends
It's up to us to improve life on a blue planet
Community not membership
Designed by and for mavericks
Everyone is a natural
Building healthier bodies and awakening senses
There's more fun in freedom
You can propel yourself further
Schiller is a family business based on respect, freedom of expression, positivity, creativity and a love of water biking. Every person who works at Schiller shares a common aspiration – to inspire and excite people of all ages around the world with the joy and freedom of water biking. For us, it's much more than just creating the world's most advanced water bike. It's about building a global water biking community that everyone can be a part of.
Nothing matters more to us than the safety and well being of our customers. Every employee at Schiller is committed to engineering the safest water bike in production and educating our customers on best practices for enjoying and respecting the open water. Our simple mantra is: always wear a personal floatation device ("PFD") and understand water conditions before going out for a ride.
When we set out to create the world's most unique riding experience we simply weren't willing to compromise. Our obsession to innovate an entirely new form of cycling and water sport simultaneously has been a driving force since our doors first opened. And it will continue to carry us forward into the future as we develop new technology, products and features to make riding a Schiller bike an experience without comparison.
We are dedicated to sustainability and protecting the marine environment – oceans, seas, lakes, ponds, rivers, swamps and streams – and the marine life that inhabits them. Working with the broader Schiller community, we will support initiatives that aim to support these ecosystems and ensure future generations of water bikers can enjoy memorable rides across clean and vibrant aquatic playgrounds. At the same time, our long term vision is squarely fixed on leveraging our technology and engineering to improve the lives of people in the developing world living in water based communities.
And we are only just beginning….
Media: pr@schillerbikes.com
Sales: sales@schillerbikes.com
Sales Inquiries: 888-226-2348
HOME WATER BIKES ABOUT SHOP NOW FIND A DEALER


Lexus is250 fully loaded, in perfect condition, no any Complain in the vehicle, genuine mileage, RTA Technical passing guaranteed for engine, Transmission, chassis and Airbags.
Please avoid negotiation over the phone call, price can be discussed after viewing the vehicle.
Copy of passport/Visa page/ Emirates ID/Driving licence. Message on what's app for further details.


text:
The Litro Blog
Litro Live! Joins Lineup for the Latitude Festival
by Litro
• 20th June 2014 10th July 2014 • 1 Comment
July is turning into a musical month for Litro. Not only do we have our Music issue, guest edited by Kele Okereke of Bloc Party, but we're also heading to the Latitude Festival later in the month. Latitude takes place 17-20 July in Henham Park, Suffolk, showcasing a vast range of music, theatre, film, comedy and literature. Tickets are available here.
In partnership with Latitude, Litro will be hosting three exciting and enlightening talks at the Shed of Stories, one of the venues at this year's festival. Joining us in the shed will be editor-turned-writer Luke Brown in a conversation with his contemporary James Miller; Patrick Flanery – author of the dystopian novel Fallen Land – talking with historian and TV presenter Kate Williams; and finally the novelist, editor, publisher and translator Ben Fergusson in discussion with award winning actor and writer Ian Kelly. Topics discussed will range from the secrets of getting your first book published to the impact of social media on modern fiction.
(NOTE: This is a change from the original programme. Rebecca Swirsky will no longer be appearing at this year's Latitude Festival.)
We'll also be reporting live from the festival on some of this year's most exciting and innovative acts, as Litro goes to Latitude.
Here are the authors we'll be welcoming onto our stage at the Shed of Stories:
Luke Brown previously worked at Tindal Street publishers for over 10 years as an editor of literary fiction, an experience that informs his debut novel, My Biggest Lie. Luke grew up near Blackpool, Lancashire, and now lives in London.
James Miller is the author of the acclaimed novels Lost Boys (Little, Brown 2008) and Sunshine State (Little, Brown 2010) as well as numerous short stories. His essay 'Micro-Narratives of the Everyday' appeared in Litro #134. He is currently senior lecturer in English literature and Creative Writing at Kingston.
Patrick Flanery was born in California and raised in Omaha, Nebraska. After earning a B.F.A. in Film from NYU's Tisch School of the Arts he worked for three years in the film industry before moving to the UK, where he completed a doctorate in Twentieth-Century English Literature at the University of Oxford. He has written for the Washington Post, The Guardian, the Los Angeles Times, The Daily Telegraph, and The Times Literary Supplement. His first novel, Absolution, was published in 2012, and his second, Fallen Land, in 2013.
Kate Williams fell in love with the eighteenth century whilst studying for her BA at the University of Oxford. She has an MA from Queen Mary, University of London and a DPhil from the University of Oxford. She is also a lecturer and TV consultant, appearing regularly on BBC and Channel 4 programmes to discuss her work. She lives in London. Her fourth history book, Josephine Bonaparte: Desire, Ambition, Napoleon, was published by Hutchinson to much acclaim in late 2013.
Ben Fergusson is a writer, editor and translator and has worked for ten years as an editor and publisher in the art world. His short fiction has appeared in publications in both the UK and the US and has won and been shortlisted for a range of prizes. From 2009-2010 he edited the literary journal Chroma and since 2013 has been the editor of the short story magazine Oval Short Fiction. His story 'Ewan without Ruby' appeared in Litro #95. His debut novel The Spring of Kasper Meier is released in July 2014, and is our Summer Book Club read.
Ian Kelly is the author of this autumn's much anticipated Vivienne Westwood memoir, working with and on the subject of the international fashion icon, but he is also an award winning biographer of amongst others the infamous secret memoirist Casanova. He discusses the issue of unpicking the legend of the notorious lover, the lies that biographers and memoirists tell, and the new world of writing about, and with, a living subject.
UPDATE: We're excited to announce that the Patrick Flanery and Kate Williams event will be chaired by Anita Sethi.
Anita Sethi is an award-winning journalist, writer and critic who has written for several national and international newspapers and magazines including the Guardian, Observer, Daily Telegraph, Sunday Telegraph, Sunday Times, Independent, Independent on Sunday, Sydney Morning Herald, New Statesman, Granta, Harpers Bazaar, Times Literary Supplement and BBC Travel among others. In broadcasting she has appeared as a guest critic and commentator, panellist and presenter on several channels including BBC Radio 4, BBC Radio 5 Live, BBC World Service, and ABC Australia. She has been an International Writer in Residence in Melbourne, Australia, has been published in various anthologies and is currently completing a book. She has appeared as a speaker, presenter and chair at several festivals in the UK and around the world and has interviewed authors including Louis de Bernieres, Zadie Smith and Salman Rushdie. Her website is at www.anitasethi.co.uk and she tweets at www.twitter.com/anitasethi
About Litro Online
Ben Fergusson Editor's Pick Latitude Festival Litro Live! live events live reading
Previous: Book Review: Death Can't Take a Joke by Anya Lipska
Next:Drama Matters: What Do We Mean By Durational Performance?
free spider solitaire says:
Hey Thanks for this article. As you know that most of the people were in the search of some challenging game then from here you will play spider solitaire online without any pay and signup.


This diagram depicts how Type 2 diabetes develops at the cell level: The damaged insulin receptors ignore insulin and prevent glucose from entering your cells via the glucose transporters [1a]. So, the glucose stays in the blood, causing your blood glucose to rise [1b]. As a result, the cells can't produce energy or burn fat .
Also, the cells are unable to remove toxins and waste ; and, over time, the cells become further damaged and lose the ability to communicate with each other .


McClarrons' specialist Care & Social Welfare team understands the complexities involved in protecting your organisation against risks such as injury, allegations and investigations by regulatory bodies including CQC, residents and their families.
Through long-standing connections with specialist care insurance providers, we can arrange the right cover, creating a smoother, less stressful claims process at an already pressurised time.
We can arrange cover for a variety of organisations including residential/nursing homes, domiciliary care agencies, supported living, day centres, children's homes, fostering services and counselling services.
All quotes provided will meet insurance requirements set out by the CQC, as well as Local Authority Contracts.


Unfortunately, I see too many businesses focus on being the best at what they do and have not focused enough on creating effective marketing systems to get customers in the door.
STOP wasting Money!! Advertise to the RIGHT audience right now with our VERIFIED Online Advertisement Active Email Addresses DATABASE.
Try our fresh Active & Verified Nigerian Email Addresses Database List and you will see the difference. We are the proven best "opt-in leads" service provider. We provide some of the highest quality leads available in Nigeria.


Below is the total distance from 04212 Olula de Castro to 04860 Olula del Río in other units of length.
You drive from 04212 Olula de Castro, Almería, Spain and trip ends at 04860 Olula del Río, Almería, Spain.
Now that you know that the driving distances from 04212 Olula de Castro to 04860 Olula del Río is 70.5 km, would you like to view a more detailed map? Well there are a few different ones that you can view which provide a bird's eye view of the terrain on the road map from 04212 Olula de Castro to 04860 Olula del Río.
Of course travel time also has to be taken into consideration when preparing for a trip which is why you may want to view the travel time from 04212 Olula de Castro to 04860 Olula del Río.
Aside from time, the "cost" of the trip should be taken into consideration as well since it's just as important as time, and to do so you can calculate the fuel cost from 04212 Olula de Castro to 04860 Olula del Río.
Afterwards, you may want to start planning your road trip. Need directions? You can view turn by turn driving directions from 04212 Olula de Castro to 04860 Olula del Río.
Can your vehicle make the climb to 04860 Olula del Río? Check the route elevation from 04212 Olula de Castro to 04860 Olula del Río.
Is it too far to drive to 04860 Olula del Río? Then you may want to check the flight distance from 04212 Olula de Castro to 04860 Olula del Río.
A flight to 04860 Olula del Río is always going to take less time than driving. How much less? See flight time from 04212 Olula de Castro to 04860 Olula del Río.


When you start to search for a new car insurance policy, you will soon realize that there are a multitude of companies in Almena, KS to choose from. Many people believe that they can only get good rates from well-known national companies, but there are actually many other businesses that do not do have a national advertising that can actually offer exceptional rates. Of course, you do need to verify the authenticity of each company that you find as they may not have the best overall rating. However, if you are able to use websites that can connect you with different companies that have already been verified, you simply need to choose one of them that will offer you the lowest price. Here are a few of the cheap car insurance online tips that you can use when searching for your coverage in Kansas, regardless of the type of vehicle that you drive or how much coverage you actually need.
Most people will start their research on the Internet, searching for individual car insurance providers, helping to get one that will offer them a much lower rate. There search could be prompted by an increase in their car insurance premiums from their existing company as a result of a claim that they filed recently. If this is the case, you can begin to get individual quotes from each of the businesses that you find to see which one can save you the most money. However, this could be a very time-consuming process, so the following discount vehicle insurance rates tips will help you streamline your search for the best coverage the lowest possible price in Norton county.
The following cheap car insurance online tips are probably ones that you have heard of before, but you may not have used. These strategies are not secret. They have been utilized by people for decades in order to get the best premiums on their auto insurance policies. The Internet has changed many things when it comes to finding cheaper rates for any type of insurance in Almena, Kansas that you may have. It gives you instant access to a multitude of companies that you may not have known about, businesses that can literally save you hundreds of dollars in premiums every month. The goal is to take your time and make sure that you are looking at every possible option. You can actually use multiple tips simultaneously. The goal is to do everything that you can to lower your premiums, especially if they have recently gone up, so that you can have more money to spend on yourself or your family.
These are just a few of the many strategies that you can use when you are looking for cheap car insurance online. Your best bet is to utilize online services that can submit your request for a quote to multiple companies, and use one of the many that send their quote to you. As mentioned earlier, some of these businesses may not advertise heavily so you may not have heard of them before. You can always verify the authenticity of an insurance company by checking the Better Business Bureau, and if they check out, this is a great way to save hundreds or thousands of dollars every year on your auto insurance premiums. Hopefully these low cost car insurance tips will lead you to the best possible insurance provider that can give you the best coverage at the lowest possible rates in Almena, KS.
Car insurance policy is required by point out law for all drivers to have. This is privileged for drivers, as vehicle insurance policy supplies coverage for any fees that may end result from car mishaps. There are a lot of suppliers for vehicle insurance coverage and if you would like suggestions that will help you select the right a single, then read through this report.
It is constantly attainable to purchase extra protection in extra of what the law requires. Making positive you have the correct sum of protection, even if the expense is a small far more, is crucial in the function of an incident. Uninsured motorist defense is a signifies to defend oneself from motorists who do not have insurance policy.
A single of the best ways to get wonderful offers on vehicle insurance policy is to communicate to an individual in man or woman or at minimum on the phone. Insurance is automatic and quite simple to get on-line, but truly speaking with someone makes it possible for for the back again-and-forth Q "�n' A session that might introduce you to some discount rates you did not earlier know about.
You need to constantly make certain to tweak your car insurance plan in get to preserve income. When you acquire a quotation, you are getting the insurer's recommended deal. If you go through this deal with a fine-tooth comb, eliminating what you will not want, you can walk absent preserving hundreds of bucks every year.
If at all achievable, you ought to limit your insurance promises if you want to conserve funds on your plan in the extended operate. If you have a little fender-bender with a person, the two of you can choose to manage it with out involving the insurance policy business. Acquiring insurance involved for every single scratch on your automobile will ship your rates via the roof.
Use the tips and the details that you learned from this article to get the assurance that you are lined for anything that can take place on the street. They are heading to be quite beneficial when the time arrives all around to renew your auto insurance coverage policy every single six months or yearly.


Jean-Jacques Taylor and Matt McClearin take their singing talents LIVE to Atlanta as they perform karake on radio row ahead of Super Bowl LIII. Allen Faul, DJ Ringgenberg, Tyler Sloan and Harrison Graham perform as well.
You can listen to JaM Session with Jean-Jacques Taylor and Matt McClearin every Monday-Friday from 9am-1pm on 103.3 FM ESPN in DFW. You can also stream the show on kesn1033.com and the ESPN Dallas Radio app.


text:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager

# import app configurations
from config import *

## App initiallization
app = Flask(__name__)
app.secret_key = SECRET_KEY

# Database initiallization
app.config['SQLALCHEMY_DATABASE_URI'] = SQLALCHEMY_DATABASE_URI
db = SQLAlchemy(app)

# Login manager initiallization
login_manager = LoginManager()
login_manager.init_app(app)

# import app views and models
from views import *
from models import *

## Create the database and commit the changes
db.create_all()
db.session.commit()

if __name__ == '__main__':
    app.run(debug=True)

redpajama_set_name: RedPajamaGithub


text:
Go now, dog-faced Stargate aliens tell Mubarak
HOSNI Mubarak has been urged to resign by the dog-faced space aliens who founded Egypt more than 8,000 years ago.
The warning came as the Egyptian leader insisted he would stay in office until September as he still has six months left on his presidential O2 iPhone contract and he was not about to pay £24.99 a month for something he couldn't even use.
But Mubarak's defiance was met with a stark warning from Ra, the transgender alien superbeing who built the pyramids but accidentally left behind a large circular stone gateway that could yet prove to be his or her undoing.
In a message beamed simultaneously through the Stargate and Twitter, Ra said: "You have displeased me son of Osiris. Make way for a new son of Ra. Or the army. Or some other corrupt, tinpot Pharaoh. Or maybe even those crazy Muslim guys. Whatever."
Ra said that if Mubarak did not resign by Saturday 50 million inter-galactic soldiers wearing scary metal dog heads would storm through the Stargate and start fucking things up in scenes that would make Roland Emmerich look like Woody Allen.
A massive spaceship shaped like a pyramid would then land on top of a pyramid, crushing it like a paper cup, before Ra himself steps forth in all her majesty and starts firing deadly lasers from his white-hot eyes.
Sources close to the god-like extra terrestrial say she is furious at being distracted by events in Egypt as he wants to devote more time to Stargate Atlantis and that new one with the nutter from Trainspotting.
But Mubarak dismissed the threats in a televised address and explained how he had signed up for a new phone contract without realising it was 18 months instead of 12.
He added: "Unfortunately these contracts are not transferable. I can't just give the phone to Omar Suleiman. He will have to get his own phone. And what's the point of paying two lots of £24.99 when I could just hang on until September?
"I spoke to the girl at Carphone Warehouse and she said there was no way round it. Ra or no Ra."
Dr Julian Cook's science laboratory
The science world is celebrating this week at the discovery of the oldest known galaxy.
At 13.2 billion light years away, the distances are mind boggling and you may be panicking because you don't know what it all means. But you'll find everything slips into place when you just sing these words: 'Everybody, summertime love!'.
If you're anything like me, you're now thinking of the glamorous 80s pop sensation, Sabrina and her massive hit record Boys, Boys, Boys. Sabrina couldn't hold a note, owned cheaply made swimwear and facially was rather like a butch Christopher Dean. But somehow she managed to become a star – men and women alike swooned because of her huge stage presence and the lyrics of her song. Like me, they saw she had an inner beauty, even after all the disadvantages life had thrust upon her.
And where is Sabrina now? Well, there's no point looking for her: she's gone forever and there's no way anyone will ever get to go shopping with her again. And it is this that she has in common with UDFj-39546284, Hubble's latest big discovery.
Like Sabrina, all that is truly fabulous about this ancient galaxy existed far away in the distant past of the universe and the only reason we know about it today is because of a magnificent image which was broadcast 13 billion years ago. It really was the most amazing spectacle, but if we were to go there now, there would be nothing but a black hole, sucking in and devouring all kinds of flotsam from the immediate vicinity and interring it in its ever expanding core. It's the tragic fate of our own Milky Way system and, sadly, of every young bronzed poultry buff who smiles playfully from behind the bar in Nandos. It's easy to get depressed about this cruel fact of life but the best course of action is simply not to think about it too much and order another Blue Margarita.
However there is a school of thought who subscribe to the theory whereby UDFj-39546284 is not gone. In fact, intelligent life could have formed there which might be studying us back. I find it a rather unnerving prospect. If such evolution had occurred on Sabrina, I dread to think what manner of terrible brilliance might be at work. She could have entered the world of championship darts or even the Knights Templar – it's not uncommon.
There may be some who feel a stirring in their trousers at the notion of Sabrina surreptitiously watching us with her one eye bigger than the other; perhaps Professor Cox is one of them – I couldn't speculate. But the fact of the matter is: galaxies, like all fabulous Latinas, don't get to be iridescent and glorious forever. Sabrina never thought the black hole would happen to her but it did, and one day soon it'll happen to the young pretender, Ricky Martin. And after we've been through the gruelling horror of that, it will happen to us.


Many, many years ago lived an emperor, who thought so much of new clothes that he spent all his money in order to obtain them; his only ambition was to be always well dressed. He did not care for his soldiers, and the theatre did not amuse him; the only thing, in fact, he thought anything of was to drive out and show a new suit of clothes. He had a coat for every hour of the day; and as one would say of a king "He is in his cabinet," so one could say of him, "The emperor is in his dressing-room."
The great city where he resided was very gay; every day many strangers from all parts of the globe arrived. One day two swindlers came to this city; they made people believe that they were weavers, and declared they could manufacture the finest cloth to be imagined. Their colours and patterns, they said, were not only exceptionally beautiful, but the clothes made of their material possessed the wonderful quality of being invisible to any man who was unfit for his office or unpardonably stupid.
"That must be wonderful cloth," thought the emperor. "If I were to be dressed in a suit made of this cloth I should be able to find out which men in my empire were unfit for their places, and I could distinguish the clever from the stupid. I must have this cloth woven for me without delay." And he gave a large sum of money to the swindlers, in advance, that they should set to work without any loss of time. They set up two looms, and pretended to be very hard at work, but they did nothing whatever on the looms. They asked for the finest silk and the most precious gold-cloth; all they got they did away with, and worked at the empty looms till late at night.
"I should very much like to know how they are getting on with the cloth," thought the emperor. But he felt rather uneasy when he remembered that he who was not fit for his office could not see it. Personally, he was of opinion that he had nothing to fear, yet he thought it advisable to send somebody else first to see how matters stood. Everybody in the town knew what a remarkable quality the stuff possessed, and all were anxious to see how bad or stupid their neighbours were.
"I shall send my honest old minister to the weavers," thought the emperor. "He can judge best how the stuff looks, for he is intelligent, and nobody understands his office better than he."
The good old minister went into the room where the swindlers sat before the empty looms. "Heaven preserve us!" he thought, and opened his eyes wide, "I cannot see anything at all," but he did not say so. Both swindlers requested him to come near, and asked him if he did not admire the exquisite pattern and the beautiful colours, pointing to the empty looms. The poor old minister tried his very best, but he could see nothing, for there was nothing to be seen. "Oh dear," he thought, "can I be so stupid? I should never have thought so, and nobody must know it! Is it possible that I am not fit for my office? No, no, I cannot say that I was unable to see the cloth."
"Now, have you got nothing to say?" said one of the swindlers, while he pretended to be busily weaving.
"Oh, it is very pretty, exceedingly beautiful," replied the old minister looking through his glasses. "What a beautiful pattern, what brilliant colours! I shall tell the emperor that I like the cloth very much."
"We are pleased to hear that," said the two weavers, and described to him the colours and explained the curious pattern. The old minister listened attentively, that he might relate to the emperor what they said; and so he did.
Now the swindlers asked for more money, silk and gold-cloth, which they required for weaving. They kept everything for themselves, and not a thread came near the loom, but they continued, as hitherto, to work at the empty looms.
Soon afterwards the emperor sent another honest courtier to the weavers to see how they were getting on, and if the cloth was nearly finished. Like the old minister, he looked and looked but could see nothing, as there was nothing to be seen.
"Is it not a beautiful piece of cloth?" asked the two swindlers, showing and explaining the magnificent pattern, which, however, did not exist.
"I am not stupid," said the man. "It is therefore my good appointment for which I am not fit. It is very strange, but I must not let any one know it;" and he praised the cloth, which he did not see, and expressed his joy at the beautiful colours and the fine pattern. "It is very excellent," he said to the emperor.
Everybody in the whole town talked about the precious cloth. At last the emperor wished to see it himself, while it was still on the loom. With a number of courtiers, including the two who had already been there, he went to the two clever swindlers, who now worked as hard as they could, but without using any thread.
"Is it not magnificent?" said the two old statesmen who had been there before. "Your Majesty must admire the colours and the pattern." And then they pointed to the empty looms, for they imagined the others could see the cloth.
"What is this?" thought the emperor, "I do not see anything at all. That is terrible! Am I stupid? Am I unfit to be emperor? That would indeed be the most dreadful thing that could happen to me."
"Really," he said, turning to the weavers, "your cloth has our most gracious approval;" and nodding contentedly he looked at the empty loom, for he did not like to say that he saw nothing. All his attendants, who were with him, looked and looked, and although they could not see anything more than the others, they said, like the emperor, "It is very beautiful." And all advised him to wear the new magnificent clothes at a great procession which was soon to take place. "It is magnificent, beautiful, excellent," one heard them say; everybody seemed to be delighted, and the emperor appointed the two swindlers "Imperial Court weavers."
The whole night previous to the day on which the procession was to take place, the swindlers pretended to work, and burned more than sixteen candles. People should see that they were busy to finish the emperor's new suit. They pretended to take the cloth from the loom, and worked about in the air with big scissors, and sewed with needles without thread, and said at last: "The emperor's new suit is ready now."
The emperor and all his barons then came to the hall; the swindlers held their arms up as if they held something in their hands and said: "These are the trousers!" - "This is the coat!" and "Here is the cloak!" and so on. "They are all as light as a cobweb, and one must feel as if one had nothing at all upon the body; but that is just the beauty of them."
"Indeed!" said all the courtiers; but they could not see anything, for there was nothing to be seen.
"Does it please your Majesty now to graciously undress," said the swindlers, "that we may assist your Majesty in putting on the new suit before the large looking-glass?"
The emperor undressed, and the swindlers pretended to put the new suit upon him, one piece after another; and the emperor looked at himself in the glass from every side.
"How well they look! How well they fit!" said all. "What a beautiful pattern! What fine colours! That is a magnificent suit of clothes!"
The master of the ceremonies announced that the bearers of the canopy, which was to be carried in the procession, were ready.
"I am ready," said the emperor. "Does not my suit fit me marvellously?" Then he turned once more to the looking-glass, that people should think he admired his garments.
The chamberlains, who were to carry the train, stretched their hands to the ground as if they lifted up a train, and pretended to hold something in their hands; they did not like people to know that they could not see anything.
The emperor marched in the procession under the beautiful canopy, and all who saw him in the street and out of the windows exclaimed: "Indeed, the emperor's new suit is incomparable! What a long train he has! How well it fits him!" Nobody wished to let others know he saw nothing, for then he would have been unfit for his office or too stupid. Never emperor's clothes were more admired.
"But he has nothing on at all," said a little child at last. "Good heavens! listen to the voice of an innocent child," said the father, and one whispered to the other what the child had said.
"But he has nothing on at all," cried at last the whole people. That made a deep impression upon the emperor, for it seemed to him that they were right; but he thought to himself, "Now I must bear up to the end." And the chamberlains walked with still greater dignity, as if they carried the train which did not exist.
Hace de esto muchos años, había un Emperador tan aficionado a los trajes nuevos, que gastaba todas sus rentas en vestir con la máxima elegancia. No se interesaba por sus soldados ni por el teatro, ni le gustaba salir de paseo por el campo, a menos que fuera para lucir sus trajes nuevos. Tenía un vestido distinto para cada hora del día, y de la misma manera que se dice de un rey: "Está en el Consejo," de nuestro hombre se decía: "El Emperador está en el vestuario." La ciudad en que vivía el Emperador era muy alegre y bulliciosa. Todos los días llegaban a ella muchísimos extranjeros, y una vez se presentaron dos truhanes que se hacían pasar por tejedores, asegurando que sabían tejer las más maravillosas telas. No solamente los colores y los dibujos eran hermosísimos, sino que las prendas con ellas confeccionadas poseían la milagrosa virtud de ser invisibles a toda persona que no fuera apta para su cargo o que fuera irremediablemente estúpida.
- ¡Deben ser vestidos magníficos! -pensó el Emperador-. Si los tuviese, podría averiguar qué funcionarios del reino son ineptos para el cargo que ocupan. Podría distinguir entre los inteligentes y los tontos. Nada, que se pongan enseguida a tejer la tela-. Y mandó abonar a los dos pícaros un buen adelanto en metálico, para que pusieran manos a la obra cuanto antes.
Ellos montaron un telar y simularon que trabajaban; pero no tenían nada en la máquina. A pesar de ello, se hicieron suministrar las sedas más finas y el oro de mejor calidad, que se embolsaron bonitamente, mientras seguían haciendo como que trabajaban en los telares vacíos hasta muy entrada la noche.
«Me gustaría saber si avanzan con la tela»-, pensó el Emperador. Pero habla una cuestión que lo tenía un tanto cohibido, a saber, que un hombre que fuera estúpido o inepto para su cargo no podría ver lo que estaban tejiendo. No es que temiera por sí mismo; sobre este punto estaba tranquilo; pero, por si acaso, prefería enviar primero a otro, para cerciorarse de cómo andaban las cosas. Todos los habitantes de la ciudad estaban informados de la particular virtud de aquella tela, y todos estaban impacientes por ver hasta qué punto su vecino era estúpido o incapaz.
«Enviaré a mi viejo ministro a que visite a los tejedores -pensó el Emperador-. Es un hombre honrado y el más indicado para juzgar de las cualidades de la tela, pues tiene talento, y no hay quien desempeñe el cargo como él».
El viejo y digno ministro se presentó, pues, en la sala ocupada por los dos embaucadores, los cuales seguían trabajando en los telares vacíos. «¡Dios nos ampare! -pensó el ministro para sus adentros, abriendo unos ojos como naranjas-. ¡Pero si no veo nada!». Sin embargo, no soltó palabra.
Los dos fulleros le rogaron que se acercase le preguntaron si no encontraba magníficos el color y el dibujo. Le señalaban el telar vacío, y el pobre hombre seguía con los ojos desencajados, pero sin ver nada, puesto que nada había. «¡Dios santo! -pensó-. ¿Seré tonto acaso? Jamás lo hubiera creído, y nadie tiene que saberlo. ¿Es posible que sea inútil para el cargo? No, desde luego no puedo decir que no he visto la tela».
- ¿Qué? ¿No dice Vuecencia nada del tejido? -preguntó uno de los tejedores.
- ¡Oh, precioso, maravilloso! -respondió el viejo ministro mirando a través de los lentes-. ¡Qué dibujo y qué colores! Desde luego, diré al Emperador que me ha gustado extraordinariamente.
- Nos da una buena alegría -respondieron los dos tejedores, dándole los nombres de los colores y describiéndole el raro dibujo. El viejo tuvo buen cuidado de quedarse las explicaciones en la memoria para poder repetirlas al Emperador; y así lo hizo.
Los estafadores pidieron entonces más dinero, seda y oro, ya que lo necesitaban para seguir tejiendo. Todo fue a parar a su bolsillo, pues ni una hebra se empleó en el telar, y ellos continuaron, como antes, trabajando en las máquinas vacías.
Poco después el Emperador envió a otro funcionario de su confianza a inspeccionar el estado de la tela e informarse de si quedaría pronto lista. Al segundo le ocurrió lo que al primero; miró y miró, pero como en el telar no había nada, nada pudo ver.
- ¿Verdad que es una tela bonita? -preguntaron los dos tramposos, señalando y explicando el precioso dibujo que no existía.
«Yo no soy tonto -pensó el hombre-, y el empleo que tengo no lo suelto. Sería muy fastidioso. Es preciso que nadie se dé cuenta». Y se deshizo en alabanzas de la tela que no veía, y ponderó su entusiasmo por aquellos hermosos colores y aquel soberbio dibujo.
- ¡Es digno de admiración! -dijo al Emperador.
encaminó a la casa donde paraban los pícaros, los cuales continuaban tejiendo con todas sus fuerzas, aunque sin hebras ni hilados.
- ¿Verdad que es admirable? -preguntaron los dos honrados dignatarios-. Fíjese Vuestra Majestad en estos colores y estos dibujos - y señalaban el telar vacío, creyendo que los demás veían la tela.
«¡Cómo! -pensó el Emperador-. ¡Yo no veo nada! ¡Esto es terrible! ¿Seré tonto? ¿Acaso no sirvo para emperador? Sería espantoso».
- ¡Oh, sí, es muy bonita! -dijo-. Me gusta, la apruebo-. Y con un gesto de agrado miraba el telar vacío; no quería confesar que no veía nada. Todos los componentes de su séquito miraban y remiraban, pero ninguno sacaba nada en limpio; no obstante, todo era exclamar, como el Emperador: - ¡oh, qué bonito! -, y le aconsejaron que estrenase los vestidos confeccionados con aquella tela, en la procesión que debía celebrarse próximamente. - ¡Es preciosa, elegantísima, estupenda! - corría de boca en boca, y todo el mundo parecía extasiado con ella. El Emperador concedió una condecoración a cada uno de los dos bellacos para que se la prendieran en el ojal, y los nombró tejedores imperiales.
Durante toda la noche que precedió al día de la fiesta, los dos embaucadores estuvieron levantados, con dieciséis lámparas encendidas, para que la gente viese que trabajaban activamente en la confección de los nuevos vestidos del Soberano. Simularon quitar la tela del telar, cortarla con grandes tijeras y coserla con agujas sin hebra; finalmente, dijeron: - ¡Por fin, el vestido está listo!
- Esto son los pantalones. Ahí está la casaca. - Aquí tenéis el manto... Las prendas son ligeras como si fuesen de telaraña; uno creería no llevar nada sobre el cuerpo, mas precisamente esto es lo bueno de la tela.
- ¡Sí! - asintieron todos los cortesanos, a pesar de que no veían nada, pues nada había.
- ¿Quiere dignarse Vuestra Majestad quitarse el traje que lleva -dijeron los dos bribones- para que podamos vestiros el nuevo delante del espejo?
Quitóse el Emperador sus prendas, y los dos simularon ponerle las diversas piezas del vestido nuevo, que pretendían haber terminado poco antes. Y cogiendo al Emperador por la cintura, hicieron como si le atasen algo, la cola seguramente; y el Monarca todo era dar vueltas ante el espejo.
- ¡Dios, y qué bien le sienta, le va estupendamente! -exclamaban todos-. ¡Vaya dibujo y vaya colores! ¡Es un traje precioso! - El palio bajo el cual irá Vuestra Majestad durante la procesión, aguarda ya en la calle - anunció el maestro de Ceremonias.
- Muy bien, estoy a punto -dijo el Emperador-. ¿Verdad que me sienta bien? - y volvióse una vez más de cara al espejo, para que todos creyeran que veía el vestido.
- ¡Qué preciosos son los vestidos nuevos del Emperador! ¡Qué magnífica cola! ¡Qué hermoso es todo!-. Nadie permitía que los demás se diesen cuenta de que nada veía, para no ser tenido por incapaz en su cargo o por estúpido. Ningún traje del Monarca había tenido tanto éxito como aquél.
¡Pero si no lleva nada! -exclamó de pronto un niño. - ¡Dios bendito, escuchad la voz de la inocencia! - dijo su padre; y todo el mundo se fue repitiendo al oído lo que acababa de decir el pequeño.
- ¡No lleva nada; es un chiquillo el que dice que no lleva nada!
- ¡Pero si no lleva nada! -gritó, al fin, el pueblo entero.