CLEANUP
Section: Maintenance Commands (8)Index Return to Main Contents
NAME
cleanup - canonicalize and enqueue Postfix messageSYNOPSIS
cleanup [generic Postfix daemon options]
DESCRIPTION
The cleanup(8) daemon processes inbound mail, inserts it into the incoming mail queue, and informs the queue manager of its arrival.The cleanup(8) daemon always performs the following transformations:
- *
- Insert missing message headers: (Resent-) From:, To:, Message-Id:, and Date:.
- *
- Transform envelope and header addresses to the standard user@fully-qualified-domain form that is expected by other Postfix programs. This task is delegated to the trivial-rewrite(8) daemon.
- *
- Eliminate duplicate envelope recipient addresses.
The following address transformations are optional:
- *
- Optionally, rewrite all envelope and header addresses according to the mappings specified in the canonical(5) lookup tables.
- *
- Optionally, masquerade envelope sender addresses and message header addresses (i.e. strip host or domain information below all domains listed in the masquerade_domains parameter, except for user names listed in masquerade_exceptions). By default, address masquerading does not affect envelope recipients.
- *
- Optionally, expand envelope recipients according to information found in the virtual(5) lookup tables.
The cleanup(8) daemon performs sanity checks on the content of each message. When it finds a problem, by default it returns a diagnostic status to the client, and leaves it up to the client to deal with the problem. Alternatively, the client can request the cleanup(8) daemon to bounce the message back to the sender in case of trouble.
STANDARDS
RFC 822 (ARPA Internet Text Messages) RFC 2045 (MIME: Format of Internet Message Bodies) RFC 2046 (MIME: Media Types) RFC 3463 (Enhanced Status Codes) RFC 3464 (Delivery status notifications)
DIAGNOSTICS
Problems and transactions are logged to syslogd(8).BUGS
Table-driven rewriting rules make it hard to express if then else and other logical relationships.CONFIGURATION PARAMETERS
Changes to main.cf are picked up automatically, as cleanup(8) processes run for only a limited amount of time. Use the command "postfix reload" to speed up a change.
The text below provides only a parameter summary. See postconf(5) for more details including examples.
COMPATIBILITY CONTROLS
- undisclosed_recipients_header (To: undisclosed-recipients:;)
- Message header that the Postfix cleanup(8) server inserts when a message contains no To: or Cc: message header.
Available in Postfix version 2.1 only:
- enable_errors_to (no)
- Report mail delivery errors to the address specified with the non-standard Errors-To: message header, instead of the envelope sender address (this feature is removed with Postfix version 2.2, is turned off by default with Postfix version 2.1, and is always turned on with older Postfix versions).
Available in Postfix version 2.6 and later:
- always_add_missing_headers (no)
- Always add (Resent-) From:, To:, Date: or Message-ID: headers when not present.
BUILT-IN CONTENT FILTERING CONTROLS
Postfix built-in content filtering is meant to stop a flood of worms or viruses. It is not a general content filter.
- body_checks (empty)
- Optional lookup tables for content inspection as specified in the body_checks(5) manual page.
- header_checks (empty)
- Optional lookup tables for content inspection of primary non-MIME message headers, as specified in the header_checks(5) manual page.
Available in Postfix version 2.0 and later:
- body_checks_size_limit (51200)
- How much text in a message body segment (or attachment, if you prefer to use that term) is subjected to body_checks inspection.
- mime_header_checks ($header_checks)
- Optional lookup tables for content inspection of MIME related message headers, as described in the header_checks(5) manual page.
- nested_header_checks ($header_checks)
- Optional lookup tables for content inspection of non-MIME message headers in attached messages, as described in the header_checks(5) manual page.
Available in Postfix version 2.3 and later:
- message_reject_characters (empty)
- The set of characters that Postfix will reject in message content.
- message_strip_characters (empty)
- The set of characters that Postfix will remove from message content.
BEFORE QUEUE MILTER CONTROLS
As of version 2.3, Postfix supports the Sendmail version 8 Milter (mail filter) protocol. When mail is not received via the smtpd(8) server, the cleanup(8) server will simulate SMTP events to the extent that this is possible. For details see the MILTER_README document.
- non_smtpd_milters (empty)
- A list of Milter (mail filter) applications for new mail that does not arrive via the Postfix smtpd(8) server.
- milter_protocol (6)
- The mail filter protocol version and optional protocol extensions for communication with a Milter application; prior to Postfix 2.6 the default protocol is 2.
- milter_default_action (tempfail)
- The default action when a Milter (mail filter) application is unavailable or mis-configured.
- milter_macro_daemon_name ($myhostname)
- The {daemon_name} macro value for Milter (mail filter) applications.
- milter_macro_v ($mail_name $mail_version)
- The {v} macro value for Milter (mail filter) applications.
- milter_connect_timeout (30s)
- The time limit for connecting to a Milter (mail filter) application, and for negotiating protocol options.
- milter_command_timeout (30s)
- The time limit for sending an SMTP command to a Milter (mail filter) application, and for receiving the response.
- milter_content_timeout (300s)
- The time limit for sending message content to a Milter (mail filter) application, and for receiving the response.
- milter_connect_macros (see 'postconf -d' output)
- The macros that are sent to Milter (mail filter) applications after completion of an SMTP connection.
- milter_helo_macros (see 'postconf -d' output)
- The macros that are sent to Milter (mail filter) applications after the SMTP HELO or EHLO command.
- milter_mail_macros (see 'postconf -d' output)
- The macros that are sent to Milter (mail filter) applications after the SMTP MAIL FROM command.
- milter_rcpt_macros (see 'postconf -d' output)
- The macros that are sent to Milter (mail filter) applications after the SMTP RCPT TO command.
- milter_data_macros (see 'postconf -d' output)
- The macros that are sent to version 4 or higher Milter (mail filter) applications after the SMTP DATA command.
- milter_unknown_command_macros (see 'postconf -d' output)
- The macros that are sent to version 3 or higher Milter (mail filter) applications after an unknown SMTP command.
- milter_end_of_data_macros (see 'postconf -d' output)
- The macros that are sent to Milter (mail filter) applications after the message end-of-data.
Available in Postfix version 2.5 and later:
- milter_end_of_header_macros (see 'postconf -d' output)
- The macros that are sent to Milter (mail filter) applications after the end of the message header.
MIME PROCESSING CONTROLS
Available in Postfix version 2.0 and later:
- disable_mime_input_processing (no)
- Turn off MIME processing while receiving mail.
- mime_boundary_length_limit (2048)
- The maximal length of MIME multipart boundary strings.
- mime_nesting_limit (100)
- The maximal recursion level that the MIME processor will handle.
- strict_8bitmime (no)
- Enable both strict_7bit_headers and strict_8bitmime_body.
- strict_7bit_headers (no)
- Reject mail with 8-bit text in message headers.
- strict_8bitmime_body (no)
- Reject 8-bit message body text without 8-bit MIME content encoding information.
- strict_mime_encoding_domain (no)
- Reject mail with invalid Content-Transfer-Encoding: information for the message/* or multipart/* MIME content types.
Available in Postfix version 2.5 and later:
- detect_8bit_encoding_header (yes)
- Automatically detect 8BITMIME body content by looking at Content-Transfer-Encoding: message headers; historically, this behavior was hard-coded to be "always on".
AUTOMATIC BCC RECIPIENT CONTROLS
Postfix can automatically add BCC (blind carbon copy) when mail enters the mail system:
- always_bcc (empty)
- Optional address that receives a "blind carbon copy" of each message that is received by the Postfix mail system.
Available in Postfix version 2.1 and later:
- sender_bcc_maps (empty)
- Optional BCC (blind carbon-copy) address lookup tables, indexed by sender address.
- recipient_bcc_maps (empty)
- Optional BCC (blind carbon-copy) address lookup tables, indexed by recipient address.
ADDRESS TRANSFORMATION CONTROLS
Address rewriting is delegated to the trivial-rewrite(8) daemon. The cleanup(8) server implements table driven address mapping.
- empty_address_recipient (MAILER-DAEMON)
- The recipient of mail addressed to the null address.
- canonical_maps (empty)
- Optional address mapping lookup tables for message headers and envelopes.
- recipient_canonical_maps (empty)
- Optional address mapping lookup tables for envelope and header recipient addresses.
- sender_canonical_maps (empty)
- Optional address mapping lookup tables for envelope and header sender addresses.
- masquerade_classes (envelope_sender, header_sender, header_recipient)
- What addresses are subject to address masquerading.
- masquerade_domains (empty)
- Optional list of domains whose subdomain structure will be stripped off in email addresses.
- masquerade_exceptions (empty)
- Optional list of user names that are not subjected to address masquerading, even when their address matches $masquerade_domains.
- propagate_unmatched_extensions (canonical, virtual)
- What address lookup tables copy an address extension from the lookup key to the lookup result.
Available before Postfix version 2.0:
- virtual_maps (empty)
- Optional lookup tables with a) names of domains for which all addresses are aliased to addresses in other local or remote domains, and b) addresses that are aliased to addresses in other local or remote domains.
Available in Postfix version 2.0 and later:
- virtual_alias_maps ($virtual_maps)
- Optional lookup tables that alias specific mail addresses or domains to other local or remote address.
Available in Postfix version 2.2 and later:
- canonical_classes (envelope_sender, envelope_recipient, header_sender, header_recipient)
- What addresses are subject to canonical_maps address mapping.
- recipient_canonical_classes (envelope_recipient, header_recipient)
- What addresses are subject to recipient_canonical_maps address mapping.
- sender_canonical_classes (envelope_sender, header_sender)
- What addresses are subject to sender_canonical_maps address mapping.
- remote_header_rewrite_domain (empty)
- Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, rewrite message headers and append the specified domain name to incomplete addresses.
RESOURCE AND RATE CONTROLS
- duplicate_filter_limit (1000)
- The maximal number of addresses remembered by the address duplicate filter for aliases(5) or virtual(5) alias expansion, or for showq(8) queue displays.
- header_size_limit (102400)
- The maximal amount of memory in bytes for storing a message header.
- hopcount_limit (50)
- The maximal number of Received: message headers that is allowed in the primary message headers.
- in_flow_delay (1s)
- Time to pause before accepting a new message, when the message arrival rate exceeds the message delivery rate.
- message_size_limit (10240000)
- The maximal size in bytes of a message, including envelope information.
Available in Postfix version 2.0 and later:
- header_address_token_limit (10240)
- The maximal number of address tokens are allowed in an address message header.
- mime_boundary_length_limit (2048)
- The maximal length of MIME multipart boundary strings.
- mime_nesting_limit (100)
- The maximal recursion level that the MIME processor will handle.
- queue_file_attribute_count_limit (100)
- The maximal number of (name=value) attributes that may be stored in a Postfix queue file.
Available in Postfix version 2.1 and later:
- virtual_alias_expansion_limit (1000)
- The maximal number of addresses that virtual alias expansion produces from each original recipient.
- virtual_alias_recursion_limit (1000)
- The maximal nesting depth of virtual alias expansion.
MISCELLANEOUS CONTROLS
- config_directory (see 'postconf -d' output)
- The default location of the Postfix main.cf and master.cf configuration files.
- daemon_timeout (18000s)
- How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer.
- delay_logging_resolution_limit (2)
- The maximal number of digits after the decimal point when logging sub-second delay values.
- delay_warning_time (0h)
- The time after which the sender receives the message headers of mail that is still queued.
- ipc_timeout (3600s)
- The time limit for sending or receiving information over an internal communication channel.
- max_idle (100s)
- The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily.
- max_use (100)
- The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily.
- myhostname (see 'postconf -d' output)
- The internet hostname of this mail system.
- myorigin ($myhostname)
- The domain name that locally-posted mail appears to come from, and that locally posted mail is delivered to.
- process_id (read-only)
- The process ID of a Postfix command or daemon process.
- process_name (read-only)
- The process name of a Postfix command or daemon process.
- queue_directory (see 'postconf -d' output)
- The location of the Postfix top-level queue directory.
- soft_bounce (no)
- Safety net to keep mail queued that would otherwise be returned to the sender.
- syslog_facility (mail)
- The syslog facility of Postfix logging.
- syslog_name (see 'postconf -d' output)
- The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd".
Available in Postfix version 2.1 and later:
- enable_original_recipient (yes)
- Enable support for the X-Original-To message header.
FILES
/etc/postfix/canonical*, canonical mapping table /etc/postfix/virtual*, virtual mapping table
SEE ALSO
trivial-rewrite(8), address rewriting qmgr(8), queue manager header_checks(5), message header content inspection body_checks(5), body parts content inspection canonical(5), canonical address lookup table format virtual(5), virtual alias lookup table format postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging
README FILES
Use "postconf readme_directory" or "postconf html_directory" to locate this information.
ADDRESS_REWRITING_README Postfix address manipulation CONTENT_INSPECTION_README content inspection
LICENSE
The Secure Mailer license must be distributed with this software.
AUTHOR(S)
Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- STANDARDS
- DIAGNOSTICS
- BUGS
- CONFIGURATION PARAMETERS
- COMPATIBILITY CONTROLS
- BUILT-IN CONTENT FILTERING CONTROLS
- BEFORE QUEUE MILTER CONTROLS
- MIME PROCESSING CONTROLS
- AUTOMATIC BCC RECIPIENT CONTROLS
- ADDRESS TRANSFORMATION CONTROLS
- RESOURCE AND RATE CONTROLS
- MISCELLANEOUS CONTROLS
- FILES
- SEE ALSO
- README FILES
- LICENSE
- AUTHOR(S)
This document was created by man2html, using the manual pages.
Time: 05:34:25 GMT, December 24, 2015


|
C++ Actor Framework 0.19
|
A stream capable of both reading and writing. More...
#include <stream.hpp>
Public Types | |
| using | manager_ptr = intrusive_ptr< stream_manager > |
| A smart pointer to a stream manager. | |
Public Member Functions | |
| stream (default_multiplexer &backend_ref, native_socket sockfd) | |
| void | start (stream_manager *mgr) |
Starts reading data from the socket, forwarding incoming data to mgr . | |
| void | activate (stream_manager *mgr) |
| Activates the stream. | |
| void | configure_read (receive_policy::config config) |
Configures how much data will be provided for the next consume callback. | |
| void | write (const void *buf, size_t num_bytes) |
| Copies data to the write buffer. | |
| byte_buffer & | wr_buf () |
| Returns the write buffer of this stream. | |
| byte_buffer & | rd_buf () |
| Returns the read buffer of this stream. | |
| void | flush (const manager_ptr &mgr) |
Sends the content of the write buffer, calling the io_failure member function of mgr in case of an error. | |
| void | removed_from_loop (operation op) override |
Callback to signalize that this handler has been removed from the event loop for operations of type op . | |
| void | graceful_shutdown () override |
| Shuts down communication on the managed socket, eventually removing this event handler from the I/O loop. | |
| void | force_empty_write (const manager_ptr &mgr) |
| Forces this stream to subscribe to write events if no data is in the write buffer. | |
| Public Member Functions inherited from caf::io::network::event_handler | |
| event_handler (default_multiplexer &dm, native_socket sockfd) | |
| virtual void | handle_event (operation op)=0 |
| Returns true once the requested operation is done, i.e., to signalize the multiplexer to remove this handler. | |
| virtual void | removed_from_loop (operation op)=0 |
Callback to signalize that this handler has been removed from the event loop for operations of type op . | |
| virtual void | graceful_shutdown ()=0 |
| Shuts down communication on the managed socket, eventually removing this event handler from the I/O loop. | |
| native_socket | fd () const |
| Returns the native socket handle for this handler. | |
| default_multiplexer & | backend () |
Returns the multiplexer this acceptor belongs to. | |
| int | eventbf () const |
| Returns the bit field storing the subscribed events. | |
| void | eventbf (int value) |
| Sets the bit field storing the subscribed events. | |
| bool | read_channel_closed () const |
Checks whether close_read_channel has been called. | |
| void | passivate () |
| Removes the file descriptor from the event loop of the parent. | |
| bool | ack_writes () |
| Returns whether this event handlers signals successful writes to its parent actor. | |
| void | ack_writes (bool x) |
| Sets whether this event handlers signals successful writes to its parent actor. | |
Protected Member Functions | |
| template<class Policy > | |
| void | handle_event_impl (io::network::operation op, Policy &policy) |
| Protected Member Functions inherited from caf::io::network::event_handler | |
| void | activate () |
| Adds the file descriptor to the event loop of the parent. | |
| void | set_fd_flags () |
| Sets flags for asynchronous event handling on the socket handle. | |
Additional Inherited Members | |
| Protected Attributes inherited from caf::io::network::event_handler | |
| native_socket | fd_ |
| state | state_ |
| int | eventbf_ |
| default_multiplexer & | backend_ |
A stream capable of both reading and writing.
The stream's input data is forwarded to its manager
.
| void caf::io::network::stream::configure_read | ( | receive_policy::config | config | ) |
Configures how much data will be provided for the next consume
callback.
| void caf::io::network::stream::flush | ( | const manager_ptr & | mgr | ) |
Sends the content of the write buffer, calling the io_failure
member function of mgr
in case of an error.
|
overridevirtual |
Shuts down communication on the managed socket, eventually removing this event handler from the I/O loop.
Implements caf::io::network::event_handler.
| byte_buffer & caf::io::network::stream::rd_buf | ( | ) |
Returns the read buffer of this stream.
|
overridevirtual |
Callback to signalize that this handler has been removed from the event loop for operations of type op
.
Implements caf::io::network::event_handler.
| byte_buffer & caf::io::network::stream::wr_buf | ( | ) |
Returns the write buffer of this stream.
| void caf::io::network::stream::write | ( | const void * | buf, |
| size_t | num_bytes | ||
| ) |
Copies data to the write buffer.


|
Standard Reference Data Program |
Data Gateway |
Chemistry WebBook |
|
Go To: Top, Constants of diatomic molecules, References, Notes / Error Report
Data compilation copyright by the U.S. Secretary of Commerce on behalf of the U.S.A. All rights reserved.
Data evaluated as indicated in comments:
L - S.G. Lias
Data compiled as indicated in comments:
LL - S.G. Lias and J.F. Liebman
LBLHLM - S.G. Lias, J.E. Bartmess, J.F. Liebman, J.L. Holmes, R.D. Levin, and W.G. Mallard
LLK - S.G. Lias, R.D. Levin, and S.A. Kafafi
RDSH - H.M. Rosenstock, K. Draxl, B.W. Steiner, and J.T. Herron
B - J.E. Bartmess
View reactions leading to FS+ (ion structure unspecified)
| Quantity | Value | Units | Method | Reference | Comment |
|---|---|---|---|---|---|
| IE (evaluated) | 10.1 ± 0.2 | eV | N/A | N/A | L |
| EA (eV) | Method | Reference | Comment |
|---|---|---|---|
| 2.2850 ± 0.0060 | LPES | Polak, Gilles, et al., 1992 | B |
| >4.10 ± 0.50 | Endo | Langford, Almeida, et al., 1990 | B |
| 2.00 ± 0.50 | N/A | Chase Jr., Curnutt, et al., 1982 | From trends in EA SFx; B |
| IE (eV) | Method | Reference | Comment |
|---|---|---|---|
| 10.16 ± 0.17 | END | Fischer, Kickel, et al., 1992 | LL |
| 10.09 | PI | Losking and Willner, 1985 | LBLHLM |
| 10.2 ± 0.3 | EI | Hildenbrand, 1976 | LLK |
| 10.0 | EI | Hildenbrand, 1975 | LLK |
| 10.0 ± 0.3 | EI | Hildenbrand, 1975, 2 | LLK |
| 10.09 ± 0.10 | EI | Hildenbrand, 1973 | LLK |
| ~14. | EI | DiLonardo and Trombetti, 1970 | RDSH |
Go To: Top, Gas phase ion energetics data, References, Notes / Error Report
Data compilation copyright by the U.S. Secretary of Commerce on behalf of the U.S.A. All rights reserved.
Data compiled by: K.P. Huber and G. Herzberg
| State | Te | ωe | ωexe | ωeye | Be | αe | γe | De | βe | re | Trans. | ν00 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A2 2Π1/2 | 483 1 H | 2.6 1 | A2 ← X2 R | 25205 H | ||||||||
| DiLonardo and Trombetti, 1970 | ||||||||||||
| 483 1 H | 2.6 1 | A2 ← X1 R | 25606 H | |||||||||
| DiLonardo and Trombetti, 1970 | ||||||||||||
| A1 2Π3/2 | 488 H | 3.1 | (0.554) 2 | 0.004 | (1.598) | A1 ← X1 R | ||||||
| missing citation | ||||||||||||
| X2 2Π1/2 | (401) 3 | |||||||||||
| State | Te | ωe | ωexe | ωeye | Be | αe | γe | De | βe | re | Trans. | ν00 |
| X1 2Π3/2 | 0 | [0.5521740] | 1.600574 4 | |||||||||
| Amano and Hirota, 1973 | ||||||||||||
| ESR sp. | ||||||||||||
| Carrington, Currie, et al., 1969; Byfleet, Carrington, et al., 1971 |
| 1 | From the A2 ← X2 progression; slightly different numbers are obtained from A2 ← X1. The assignements of both progressions are tentative. |
| 2 | Only B3 = 0.540 and B5 = 0.532 have been measured. Individual rotational lines are diffuse for v'≥ 3. Bands with v' ≥ 7 are very diffuse. |
| 3 | Based on the assignments of progressions A2 ← X2 and A2 ← X1; from the ESR spectrum Carrington, Currie, et al., 1969 derive A0 = -387 ± 25 Carrington, Currie, et al., 1969. |
| 4 | Microwave sp. 6 |
| 5 | From the predissociation in the A1 ← X1 bands; see 2. |
| 6 | μel(v=0) = 0.794 D Amano and Hirota, 1973; Byfleet, Carrington, et al., 1971 obtain μel(v=0)= 0.87 D Byfleet, Carrington, et al., 1971. Hfs parameter a + 1/2(b+c) = 428.60 MHz Carrington, Currie, et al., 1969, Amano and Hirota, 1973. |
Go To: Top, Gas phase ion energetics data, Constants of diatomic molecules, Notes / Error Report
Data compilation copyright by the U.S. Secretary of Commerce on behalf of the U.S.A. All rights reserved.
Polak, Gilles, et al., 1992
Polak, M.L.; Gilles, M.K.; Lineberger, W.C.,
Photoelectron Spectroscopy of SF-,
J. Chem. Phys., 1992, 96, 7191. [all data]
Langford, Almeida, et al., 1990
Langford, M.L.; Almeida, D.P.; Harris, F.M.,
Measurements of single ionization energies or electron affinities of SFn molecules (n = 1-5) using double-charge-transfer spectroscopy,
Int. J. Mass Spectrom. Ion Processes, 1990, 98, 147. [all data]
Chase Jr., Curnutt, et al., 1982
Chase Jr.; Curnutt, J.L.; Downy Jr.; McDonald, R.A.; Syverrud, A.N.; Valenzuela, E.A.,
JANAF Thermochemical Tables 1982 Supplement,
J. Phys. Chem. Ref. Data, 1982, 11, 695. [all data]
Fischer, Kickel, et al., 1992
Fischer, E.R.; Kickel, B.L.; Armentrout, P.B.,
Collision-induced dissociation and charge transfer reactions of SFx+ (x = 1-5_): Thermochemistry of sulfur fluoride ions and neutrals,
J. Chem. Phys., 1992, 97, 4859. [all data]
Losking and Willner, 1985
Losking, O.; Willner, H.,
Thermochemische daten und photoionisation-massenspektren von SSF2, FSSF, SF3SF und SF3SSF,
Z. Anorg. Allg. Chem., 1985, 530, 169. [all data]
Hildenbrand, 1976
Hildenbrand, D.L.,
Thermochemical studies of the gaseous lower valent fluorides of molybdenum,
J. Chem. Phys., 1976, 65, 614. [all data]
Hildenbrand, 1975
Hildenbrand, D.L.,
Dissociation energy and ionization potential of the molecule CF,
Chem. Phys. Lett., 1975, 32, 523. [all data]
Hildenbrand, 1975, 2
Hildenbrand, D.L.,
Thermochemistry of the gaseous tungsten fluorides,
Chem. Phys. Lett., 1975, 62, 3074. [all data]
Hildenbrand, 1973
Hildenbrand, D.L.,
Mass spectrometric studies of some gaseous sulfur fluorides,
J. Phys. Chem., 1973, 77, 897. [all data]
DiLonardo and Trombetti, 1970
DiLonardo, G.; Trombetti, A.,
Spectrum of SF,
J. Chem. Soc. Faraday Trans., 1970, 66, 2694. [all data]
Amano and Hirota, 1973
Amano, T.; Hirota, E.,
Microwave spectrum of the SF radical,
J. Mol. Spectrosc., 1973, 45, 417. [all data]
Carrington, Currie, et al., 1969
Carrington, A.; Currie, G.N.; Miller, T.A.,
Gas-phase electron resonance spectra of SF and SeF,
J. Chem. Phys., 1969, 50, 2726. [all data]
Byfleet, Carrington, et al., 1971
Byfleet, C.R.; Carrington, A.; Russell, D.K.,
Electric dipole moments of open-shell diatomic molecules,
Mol. Phys., 1971, 20, 271. [all data]
Go To: Top, Gas phase ion energetics data, Constants of diatomic molecules, References
| EA | Electron affinity |
| IE (evaluated) | Recommended ionization energy |
Copyright for NIST Standard Reference Data is governed by the Standard Reference Data Act.
|
Standard Reference Data Program |
Data Gateway |
Chemistry WebBook |
If you have comments or questions about this site, please contact us.


A bridge between comfort & food.
We have specialized the Asian, American & the Italian cuisine to bring you the best from around the world. Our menu is designed to help you, navigate and make every selection worth a try. Take break at our patio for some fresh air & a cup of tea, set a meeting at our benches to change things up, enjoy some quite reading at our lounge, bring your family to explore our diverse cuisine with some home entertainment or treat yourself to a tall shake after a long hard day.
To use our catering services, please click here.
To deliver food straight to your doorstep, call:
01844-160444
We are proud to say we are one of the few places in Dhaka that has board and card games for our lovely customers!
Snakes and Ladders
Ludo
Chess
Uno
Scrabble
Jenga
Another thing you can't find elsewhere, our book exchange program allows customers to take a book from our collection and in exchange give a book of their own(with conditions)!
One-sided for BDT 2/-.
Double-sided for BDT 3/-.
Please contact us if you have any comments or suggestions!


# File bin/experimental-filter.rb, line 132 def process_queue files = Dir[File.join($queue, 'new') + '/*'].sort { |a, b| queue_file_time(a) <=> queue_file_time(b) } files.each { |queue_file_name| begin File.open(queue_file_name) { |queue_file| RFilter::DeliveryAgent.process(queue_file, $log) { |agent| Deliver.new(agent).main } } rescue RFilter::DeliveryAgent::DeliverySuccess File::unlink(queue_file_name) rescue RFilter::DeliveryAgent::DeliveryReject # FIXME: for now, reject just drops the message on the floor File::unlink(queue_file_name) rescue RFilter::DeliveryAgent::DeliveryComplete # FIXME: truly defer somehow end } end


{% extends '_base.html' %} {% block content %}
Looking for party passes? Check the Smokey Feet Shop.
See the Smokey Feet website for more information.


Photo credit: Deepak Bhatia cc
In this code, spot the comment, variables, and operators.
var billPreTip = 10;
var tipPercent = 0.15; // Can be changed
var billTip = billPreTip * tipPercent;
var receipt = 'Meal: ' + billPreTip + ' Tip: ' + billTip +
' Total: ' + (billPreTip + billTip);
console.log(receipt);
Functions are separable, reusable pieces of code.
Photo credit: Rick Payette cc
To declare (create) a function, you can give it a name, then include all the code for the function inside curly brackets {}
function parrotFacts() {
console.log('Some parrot species can live for over 80 years');
console.log('Kakapos are a critically endangered flightless parrot');
}
Functions can have multiple lines.
To invoke (use) a function, you type its name, followed by parenthesis ()
parrotFacts();
We'll talk about what can go inside those parenthesis in a minute! For now, leave them empty.
A function is a group of code you can reuse many times. Whenever you invoke a function by using it's name, you tell the browser to run the code inside the function.
You must declare a function before you can use it.
Write a function that outputs a sentence. Then invoke that function later in your code.
Functions can accept input values, called arguments
.
function callKitten(kittenName){
console.log('Come here, ' + kittenName + '!');
}
callKitten('Fluffy'); // outputs 'Come here, Fluffy!'
function addNumbers(a, b){
console.log(a + b);
}
addNumbers(5, 7); // outputs 12
addNumbers(9, 12); // outputs 21
You can also pass variables
into functions. These variables do not need to have the same name as the function arguments.
function addOne(num){
var newNumber = num + 1;
console.log('You now have ' + newNumber);
}
// Declare variables
var numberOfKittens = 5;
var numberOfPuppies = 4;
// Use them in functions
addOne(numberOfKittens);
addOne(numberOfPuppies);
Write a simple program to combine a first name and a last name inside a function. Then update the function to accept a first and last name as arguments.
You can have a function give you back a value, to use later.
function square(num) {
return num * num;
}
console.log(square(4)); // outputs '16'
var squareOfFive = square(5); // squareOfFive equals '25'
return
will immediately end a function.
Add a return statement to your 'name' function. Use that function to set the value of a variable.
The scope of a variable determines where it's value is accessible throughout your program.
A variable declared outside of a function has a global scope
and can be accessed anywhere, even inside of functions.
var awesomeGroup = 'Girl Develop It'; // Global scope
function whatIsAwesome() {
console.log(awesomeGroup + ' is pretty awesome.'); // Will work
}
whatIsAwesome();
A variable declared inside a function has a local scope
and can only be accessed within that function.
function whatIsAwesome() {
var awesomeGroup = 'Girl Develop It'; // Local scope
console.log(awesomeGroup + ' is pretty awesome.'); // Will work
}
whatIsAwesome();
console.log(awesomeGroup + ' is pretty awesome.'); // Won't work
Photo credit: elycefeliz cc
Boolean variables represent the logical values true
and false
var catsAreBest = true;
var dogsRule = false;
Some values are considered falsy
and will evaluate to false
in a Boolean context.
// the following variables will evaluate as false
var myName = '';
var numOfKids = 0;
var isMarried; // remember a variable with no value is undefined
null
and NaN
will also evaluate as false
.
Everything else evaluates as true
.
Use if
statements to decide which lines of code to execute, based on a condition.
if (condition) {
// statements to execute
}
var age = 30;
if (age > 18) {
console.log('You are an adult');
}
| Example | Name | Result |
|---|---|---|
a == b |
Equal | TRUE if a is equal to b (can be different types). |
a === b |
Identical |
TRUE if a is equal to b , and the same type. |
a != b |
Not equal | TRUE if a is not equal to b (can be different types). |
a !== b |
Not identical | TRUE if a is not equal to b , or they are not the same type. |
a < b |
Less than | TRUE if a is strictly less than b . |
a > b |
Greater than | TRUE if a is strictly greater than b . |
a <= b |
Less than or equal to | TRUE if a is less than or equal to b . |
a >= b |
Greater than or equal to | TRUE if a is greater than or equal to b . |
Don't mix up =
and ==
and ===
Photo credit: Eugene Zemlyanskiy cc
Make a variable called "temperature". Write some code that tells you to put on a coat if it is below 50 degrees.
Photo credit: Thomas Hawk cc
Use else
to provide an alternate set of instructions.
var age = 30;
if (age >= 16) {
console.log('Yay, you can drive!');
} else {
console.log('Sorry, you have ' + (16 - age) +
' years until you can drive.');
}
If you have multiple conditions, you can use else if
.
var age = 30;
if (age >= 35) {
console.log('You can vote AND run for President!');
} else if (age >= 30) {
console.log('You can vote AND run for the Senate!');
} else if (age >= 18) {
console.log('You can vote!');
} else {
console.log('You can\'t vote, but you can write your representatives.');
}
Modify your "wear a coat" code for these conditions:
| Example | Name | Result |
|---|---|---|
a && b |
And | TRUE if both a and b are TRUE . |
a || b |
Or | TRUE if either a or b is TRUE . |
!a |
Not | TRUE if a is not TRUE . |
You can use these operators to combine conditions.
var age = 30;
var yearsAsCitizen = 30;
if (age >=30 && yearsAsCitizen > 9) {
console.log('You can run for the Senate!');
} else {
console.log('You are not eligible to run for the Senate');
}
Add a logical operator to your "what to wear" program.
Photo credit: OnceAndFutureLaura cc


Standing Orders
| Account ID | Standing Order Id | Frequency | Reference | First Payment Date Time | First Payment Amount | Next Payment Date Time | Next Payment Amount | Final Payment Date Time | Final Payment Amount | Servicer | Creditor Account |
| No standing order | |||||||||||
|
|
|
|
|
|
| Account ID | Standing Order Id | Frequency | Reference | First Payment Date Time | First Payment Amount | Next Payment Date Time | Next Payment Amount | Final Payment Date Time | Final Payment Amount | Servicer | Creditor Account |
| No standing order | |||||||||||
|
|
|
|
|
|


POW and X Colormaps
POW allows some interactive manipulation of the Colortable used
to display grayscale images. POW has detailed X Colormap
handling options. There are four different
ways of dealing with colormaps. The powColormap options are
available in fv by using the "-cmap" command line argument to
fv. The different options are:
- 0 - let POW attempt to determine the optimum colormap
setup for you. This is the default.
- 1 - Force POW to setup a private colormap. POW will setup
this colormap to minimize (but not eliminate) flashing.
- 2 - Force POW to use truecolor. If you have a 16 or
24 bit truecolor visual available, this looks very nice,
and allows different colortables for different images,
but interactive changes to the image colortable are slow.
If you only have 8 bit truecolor, this will look pretty
bad.
- 3 - Force POW to use the screen default colormap. This
guarantees no flashing, but may force truecolor
image mode to be used with an 8-bit visual
which looks really awful.
Generally, if you experience colormap problems, mode 1 is
probably the most robust unless you don't have any pseudocolor
visuals (e.g. a Linux machine running in 16 or 24 bit mode).
The POW Color Menu
The POW Color menu has four parts:
- The top section contains three hierarchical menus listing
a bunch of colortables from which to choose. They are
divided into Continuous (colors vary in a smooth manner),
Ramps (colormap is divided into separate colors within
which the intensity varies from dark to bright), and Steps
(colormap is divided into blocks of a constant color/intensity).
- You can reverse the "dark to light" direction of your
colortable by checking the Invert Colortable button.
- There are four scalings of the colortable available in the
next section. The first three linear, sqrt, and
log apply the indicated function to the color table. The next
item -- Histo Equalize -- will compute a histogram of an image (within
a user-configurable range) and attempt to distribute colors equally
amongst the pixels. The Rescale Image command allows the user
to define what intensity range over which to apply the color table. The
window which comes up contains the original and current intensity range and
a histogram of the current image.
A new range can be either typed in directly or selected using
the histogram.
- The final item -- Create Colorbar -- will create a new graph containing
a colorbar for the current image.
You can interactively change the contrast and brightness of the
current image's colortable by dragging the left mouse button across
the image.


What's Jakarta?
This is Where i grew up. My family lived in Jakarta since 2001. Before moving to Jakarta, we lived in Tangerang, Banten. We moved here because it gives us opportunity, like the others. I never bored living in Jakarta. There's alot of unique place, full of diveresity, and alots and lots of good food! So what's Jakarta for new people?
Jakarta (/dʒəˈkɑːrtə/; Indonesian pronunciation: [dʒaˈkarta], officially the Special Capital Region of Jakarta (Indonesian: Daerah Khusus Ibukota Jakarta), is the capital and largest city of Indonesia. On the northwest coast of the world's most-populous island of Java, it is the centre of economy, culture and politics of Indonesia with a population of 10,770,487 in the city as of 2020. Although Jakarta only covers 699.5 square kilometres (270.1 sq mi), the smallest among any Indonesian provinces, its metropolitan area covers 6,392 square kilometres (2,468 sq mi), and is the world's second-most populous urban area after Tokyo, with a population of about 35.934 million as of 2020. Jakarta's business opportunities, as well as its potential to offer a higher standard of living, have attracted migrants from across the Indonesian archipelago, making it a melting pot of numerous cultures.Jakarta is nicknamed the "Big Durian", the thorny strongly-odored fruit native to the region, seen as the Indonesian equivalent of the "Big Apple" (New York City).
The location of DKI Jakarta
Established in the fourth century as Sunda Kelapa, the city became an important trading port for the Sunda Kingdom. It was the de facto capital of the Dutch East Indies when it was known as Batavia. Jakarta is officially a province with special capital region status, though it is commonly referred to as a city. Its provincial government consists of five administrative cities and one administrative regency. Jakarta is an alpha world city and is the seat of the ASEAN secretariat, making it an important city for international diplomacy. Financial institutions such as the Bank of Indonesia, Indonesia Stock Exchange, and corporate headquarters of numerous Indonesian companies and multinational corporations are located in the city. Jakarta has grown more rapidly than Kuala Lumpur, Bangkok and Beijing.In 2017, the city's GRP PPP was estimated at US$483.4 billion.
Jakarta's prime challenges include rapid urban growth, ecological breakdown, gridlocked traffic, congestion, and flooding. Additionally, Jakarta is sinking up to 17 cm (6.7 inches) per year, which, coupled with the rising of sea levels, has made the city more prone to flooding. It is also one of the fastest-sinking capitals in the world. In August 2019, President Joko Widodo announced a move of the capital to the province of East Kalimantan on the island of Borneo. But right now, Jakarta still the capital of Indonesia and more to come from Jakarta
Overview of Jakarta
Source: wikipedia


The DevExpress recommended method of writing functional tests is to use the EasyTest functionality of the expressAppFramework. This has several advantages over other functional testing approaches.
It uses a domain specific language tailored for XAF making it easy to test views and actions
It makes it easy to interact with the DevExpress controls that are used within XAF
A single EasyTest can be run against both the ASP.NET and WinForms applications
EasyTests work against both the debug webserver and IIS
However, one feature which is not (yet) available is the ability to use EasyTests for load testing.
UPDATE: See my more recent post on how run multiple simultaneous EasyTests.
Modifications to the MainDemo
The sample script I have written assumes the MainDemo is running with Horizontal Navigation rather than vertical. You can modify the script to add support for vertical navigation or you can change Global.asax.cs Application_Start as follows:
12345678
protected void Application_Start(object sender, EventArgs e)
{
RenderHelper.RenderMode = DevExpress.Web.ASPxClasses.ControlRenderMode.Lightweight;
ASPxWebControl.CallbackError += new EventHandler(Application_Error);
+ // Add the following line to default to horizontal layout+ WebWindowTemplateHttpHandler.PreferredApplicationWindowTemplateType = DevExpress.ExpressApp.Web.Templates.TemplateType.Horizontal;}
The Selenium script
Selenium is a powerful tool for automating browsers. It supports all of the major browsers and a Selenium test can be written in many different programming languages (C#, Java, Javascript, HTML, etc.) The load testing tool (which we will come to in part 3 of this series) uses Selenium scripts written in Javascript.
We will now create and verify a simple Selenium test. The test will open the browser, login to the MainDemo and cycle through all of the tabs before logging out. The script is extremely basic. For a more realistic load test, you want a combination of scripts running, some entering data, some triggering reports, etc.
Create a \scripts subdirectory and populate it with the following code:
/* global test */// Settings for Neustar:// replace the following with the public address of the application server,vartargetHost="http://zerosharp-maindemo.elasticbeanstalk.com/";varvirtualShare="MainDemo.Web_deploy";// Settings for debug webserver:// (local script validator doesn't always work against localhost,// so we use the excellent localtest.me instead.)//var targetHost = "http://localtest.me:58404";//var virtualShare = "";// Settings for the build server or IIS://var targetHost = "http://localtest.me/";//var virtualShare = "MainDemo.Web";// Test parametersvarthinkTimeInSeconds=3;vartimeout=60000;varstep=0;// You an optionally set the simulated bandwidth for the script// (max of 100KB/sec). A value of -1 means do not limit.// E.g., // var bandwidthLimit = 50 * 1024 * 8; // 50KB/secvarbandwidthLimit=-1;vardriver=test.openBrowser();varselenium=driver.getSelenium();// Support functionsfunctionthink(){if(thinkTimeInSeconds>0){if(!test.isValidation()){test.pause(thinkTimeInSeconds*1000);}}}functionwaitForCallbacks(){selenium.waitForCondition("(typeof selenium.browserbot.getUserWindow().xafHasPendingCallbacks === 'function') && (selenium.browserbot.getUserWindow().xafHasPendingCallbacks() === false);",timeout);}functionstepLogin(username){step=step+1;test.beginStep("Step "+step.toString()+" - Login");selenium.open(targetHost+virtualShare+"/Default.aspx");think();selenium.type("xpath=//input[contains(@id,'_xaf_dviUserName_Edit_I')]",username);selenium.type("xpath=//input[contains(@id,'_xaf_dviPassword_Edit_I')]","");selenium.click("Logon_PopupActions_Menu_DXI0_T");selenium.waitForPageToLoad(timeout);waitForCallbacks();selenium.assertElementPresent("Horizontal_VCC_VSL");selenium.waitForText("Horizontal_VCC_VSL","Contact");test.endStep();think();}functionstepLogoff(){varexpectedSubstring;step=step+1;test.beginStep("Step "+step.toString()+" - Logoff");selenium.click("//li[@class='dxm-item']/div[@class='dxm-content dxm-hasText']//a[@class='dx dxalink' and text()='Log Off']/..");selenium.waitForPageToLoad(timeout);expectedSubstring="Logout.html";test.endStep();}functionstepNavigateToTab(maintabCaption,tabCaption,viewCaption){// viewCaption is optionalviewCaption=(typeofviewCaption==="undefined")?tabCaption:viewCaption;step=step+1;test.beginStep("Step "+step.toString()+" - "+tabCaption);selenium.waitForElementPresent("//td[@class='dxtc' and text()='"+maintabCaption+"']");if(selenium.isVisible("//td[@class='dxtc' and text()='"+maintabCaption+"']")){selenium.click("//td[@class='dxtc' and text()='"+maintabCaption+"']");}selenium.waitForElementPresent("//div[@class='dxm-content dxm-hasText' and starts-with(@id, 'Horizontal_NTAC_PC_M')]//a[@class='dx dxalink' and contains(text(), '"+tabCaption+"')]/..");selenium.click("//div[@class='dxm-content dxm-hasText' and starts-with(@id, 'Horizontal_NTAC_PC_M')]//a[@class='dx dxalink' and contains(text(), '"+tabCaption+"')]/..");waitForCallbacks();selenium.assertElementPresent("Horizontal_VCC_VSL");selenium.assertText("Horizontal_VCC_VSL",viewCaption);test.endStep();think();}functioninitializetest(){selenium.setTimeout(timeout);if(bandwidthLimit>0){test.setSimulatedBps(bandwidthLimit);}}(functionmain(){initializetest();test.beginTransaction();stepLogin("Sam");//stepNavigateToTab("Default", "Contact");stepNavigateToTab("Default","Task");stepNavigateToTab("Default","Department");stepNavigateToTab("Default","Scheduler Event");stepNavigateToTab("Default","My Details","User - Sam");stepNavigateToTab("Default","Note");stepNavigateToTab("Default","Payment");stepNavigateToTab("Default","Position");stepNavigateToTab("Default","Resume");stepNavigateToTab("Default","Role");stepNavigateToTab("Default","User");stepNavigateToTab("Reports","Analysis");stepNavigateToTab("Reports","Reports");stepLogoff();test.closeBrowser();test.endTransaction();}());
Neustar
In a future post we will create multiple test runners in the Amazon cloud using the Neustar web performance tool (formerly BrowserMob). Neustar will gather statistics about each scripts reponse times and provide a load test report including details of any test failures.
For now we will verify locally that the Selenium script above works as expected.
Installing the Neustar local script validator
In order to verify that our script is supported by the Neustar framework, we need to install their local script validator. Download it and unzip it to a subdirectory of the MainDemo.
I had some problems getting the NeuStar script validator to work in 64-bit Windows 8. The script validator instructions recommend FireFox 12 but I am using version 19. For the record I am using:
DevExpress MainDemo 12.2.7
NeuStar localscriptvalidator 4.8.81
Mozilla FireFox 19
Java 7.0.90
You need to modify your C:\Users\<Username>\.wpm\config.properties file as follows:
This is the first part of a tutorial about load testing XAF applications. See the overview for a bit of background. In this post we set up the target webserver.
You can target any machine which has a publicly available web address, but for this tutorial, I’m’ deploying the MainDemo to the Amazon cloud, by following the instructions in Part 1 and Part 2 of my previous series about Amazon Web Services.
I am using version 12.2.7 of the DevExpress XAF MainDemo. There are a couple of extra changes to make to the web.config.
Set debug to false <compilation targetFramework="4.0" debug="false"> in the <compilation> section of <system.web>
Switch to Release mode before deploying.
There are a couple of differences compared to the tutorial:
I chose a Medium instance instead of a Micro instance for EC2 (the web server) and deployed it against IIS 8.
For RDS (the database), I stuck with a Micro instance.
For the load test, it is also important to disable the automatic health checks performed by the load balancer.
The reason for this is that we are trying to determine the breaking point of our application. If the elastic load balancer detects that a system is struggling, it might automatically flag it as unhealthy and replace it with a newly launched instance. While this behaviour might be desirable for a production system, it doesn’t make sense for a load test.
Make sure you can connect to your installation from a web browser before continuing. I chose to deploy to a Windows 2012 instance running IIS 8.0 (which was not available when I wrote my previous XAF AWS tutorial) and I had a little trouble with the URL. If I navigate to the application’s base URL (http://zerosharp-maindemo.elasticbeanstalk.com/ in my case), then I get forwarding problems after logging in. Instead, I navigate to the full address http://zerosharp-maindemo.elasticbeanstalk.com/MainDemo.Web_deploy/Default.aspx and everything works. I’ll try to look into it later, but it’s not important for the load testing.
Over the next few posts, I will demonstrate how to load test XAF web applications.
History
Performance testing has traditionally been difficult and expensive. A few years ago, to do it well required a powerful piece of dedicated load testing software such as HP LoadRunner (typical cost back in 2007: USD 50,000-100,000 or more per year!). This software was capable of simulating multiple virtual users via the use of recorded scripts and providing detailed performance statistics. Usually the cost was increased further increased by the need for powerful hardware to be able to run the application.
In 2007 we were required by a big customer (a global bank) to provide load testing statistics for our expressApp Framework application. We could not afford anything as sophisticated as LoadRunner so we went with a cheaper alternative (NeoLoad, which was still several thousand per year). It was extremely painstaking work to produce a test. The approach was to record the http requests (as a stream of text values) and write a script to check the http response. Since there was no real browser involved, it was very difficult to determine if our test was really representative. Several machines in the office had to be dedicated to simulating virtual users. Nobody was allowed to use the internet for fear of skewing the results during a test. If an error occurred, it was almost impossible to determine what went wrong. We wrestled with it and managed to fulfill our requirements, but it was all a lot of effort for no real return.
Part of the problem was certainly that XAF is complex to test. The user interface is rich and makes use of complex controls. Most of these load testing tools work better when targetting a simple <INPUT type="button"> rather than an image of a button that sometimes is not even clickable until the mouse has hovered over it. DevExpress have made it easy to run tests via their EasyTests, but no load testing tool supports them yet. (They have informed me it’s in their plans…)
Enter the cloud
The basic idea is this: instead of simulating users with specialised software, why not fire up a virtual machine and test with a real browser instance which is ‘remote controlled’ via a script.
The increased availability of cheap cloud-based virtualised machines has revolutionised load testing. The rental of the virtualised machines is not free, but it is very cheap. In about 2008, I started using the Amazon cloud to perform load tests. Our basic test costs us about USD 10.00 per run. We probably run this a dozen times a year, so our total cost is about USD 120.00 per year.
We get better statistics than we ever got out of NeoLoad. We are confident that the test is realistic and we can compare with the actual performance of our production environments. We have been able to find and solve memory leak problems and various tricky multi-user problems with these tests.
Load testing is still a complex business. There are a lot of pieces to put together, but with the cloud, each piece is relatively simple and cheap.
The solution
In Part 1, we install the DevExpress MainDemo on an Amazon EC2 instance.
In Part 2, we use Selenium to write a script which will run on the client machines to control a real browser instance.
In Part 3, we create a NeuStar Web Performance test and validate the script.
In Part 4, we launch a performance test and monitor the server.
In a bonus part, we learn how to run multiple simultaneous EasyTests as an alternative method of isolating performance and concurrency problems.
If you follow all the steps, expect to pay a handful of dollars in Amazon EC2 costs and a few more in Neustar costs. You could alternatively skip step 1 and target one of your own development machines instead.
I recently ran into some file ownership trouble after cloning a bitbucket repository.
The following script saved my bacon.
FixOwnership.ps1
123456789
# This script recursively fixes the ownership on the files in the # current and subdirectories.$acct1=New-ObjectSystem.Security.Principal.NTAccount('Administrators')$profilefolder=Get-Item.$acl1=$profilefolder.GetAccessControl()$acl1.SetOwner($acct1)dir-r.|set-acl-aclobject$acl1pause
This is the second post in a series about iOS development from the perspective of a C# developer.
In the previous post in the series we got started with MonoTouch and installed MonoDevelop and XCode. In this post, we’ll look at how to set up version control for an existing MonoTouch solution.
Version Control
I didn’t have enough time at the hackathon to learn how to set up version control for MonoDevelop on a Mac. So let’s fix that straight away.
Git
I’m much more familiar with Mercurial, and while it’s possible to get TortoiseHg to run on a Mac, it seems that the Mac world prefers Git. MonoDevelop has Git integrated which I like very much so I’ll go with Git for now. I can always switch later.
Ignore files
Open a terminal and navigate to the root of your existing source code folder.
$ cd Projects/Babingo # replace with /path/to/your/repo
You need a .gitignore file to avoid version controlling compiled sources and user settings unnecessarily.
Create a new file .gitignore as follows. You can type nano .gitignore if you don’t have a favourite text editor.
.gitignore
12345678910111213141516171819
# OSX specific
.DS_Store
*.lock
*.swp
*.lock
# Build folders
[Bb]in/
[Oo]bj/
# User specific
*.userprefs
*.usertasks
# Mono project files
*~
*.pidb
*.resources
test-results/
Initial commit
Now initialise a repository for your existing source code and commit it.
Open your solution in MonoDevelop and select the Checkout... option from the Version Control menu.
Select Git as the type of repository and put the address to your git repository in the Url field. The rest of the fields are populated automatically. You need to set the Target Directory to the location of your local repository including the trailing slash.
When you click Ok, you will be prompted for your BitBucket credentials.
That’s it. Now Git is integrated into your MonoDevelop environment. For instance, you can right-click in the editor to view the diff or the log of the current file, push changes, commit messages locally, etc.
Note that instead of BitBucket, it would have been just as straightforward to host the repository on GitHub instead.
This post covers how recreate a local repository of your Octopress blog. Perhaps you’ve accidentally lost it, or perhaps you would like to be able to blog from two different places. Recently I bought a new computer and I wanted to be able to blog from both my desktop and my laptop.
How Octopress works
Octopress repositories have two branches, source and master. The source branch contains the files that are used to generate the blog and the master contains the blog itself.
When the local folders are initially configured according to the Octopress Setup Guide, the master branch is stored in a subfolder named ‘_deploy’. Since the folder name begins with an underscore, it is ignored when you git push origin source.
Recreating a local Octopress repository
To recreate the local directory structure of an existing Octopress blog, follow these instructions.
Clone your blog to the new machine
First you need to clone the source branch to the local octopress folder.
Then clone the master branch to the _deploy subfolder.
$ cd octopress
$ git clone git@github.com:username/username.github.com.git _deploy
Then run the rake installation to configure everything
$ gem install bundler
$ rbenv rehash # If you use rbenv, rehash to be able to run the bundle command
$ bundle install
$ rake setup_github_pages
It will prompt you for your repository URL.
Enter the read/write url for your repository
(For example, 'git@github.com:your_username/your_username.github.com)
That’s you setup with a new local copy of your Octopress blog.
Pushing changes from two different machines
If you want to blog from more than one computer, you need to make sure that you push everything before switching computers. From the first machine do the following whenever you’ve made changes:
Once the installation is successful, you can run the following command to check your environment.
$ brew doctor
Apparently, you should see:
Your system is raring to brew
But instead I had 3 warnings.
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:
gcov-4.2
Consider amending your PATH so that /usr/local/bin
occurs before /usr/bin in your PATH.
This one can be fixed by modifying your .profile file. Create it if it doesn’t already exist. Use nano ~/.profile if you don’t have a preferred editor.
.profile
123
# Fix $PATH for homebrewhomebrew=/usr/local/bin:/usr/local/sbin
export PATH=$homebrew:$PATH
Google tells me the other two warnings are related to Mono being installed and can be ignored.
Warning: /Library/Frameworks/Mono.framework detected
This can be picked up by CMake's build system and likely cause the build to
fail. You may need to move this file out of the way to compile CMake.
Warning: You have a non-Homebrew 'pkg-config' in your PATH:
/usr/bin/pkg-config => /Library/Frameworks/Mono.framework/Versions/2.10.9/bin/pkg-config
This was most likely created by the Mono installer. `./configure` may
have problems finding brew-installed packages using this other pkg-config.
Ploughing on…
Install rbenv
Rbenv handles the installation of multiple Ruby environments.
ERROR: This package must be compiled with GCC, but ruby-build
couldn't find a suitable `gcc` executable on your system.
Please install GCC and try again.
...
XCode used to ship with a compatible gcc, but no longer does. We can install it with Homebrew.
This is the first in a series of posts about developing an iOS application from the perspective of a Windows C# developer.
Startup Weekend
On a recent month-long trip to South America, I took part in the Buenos Aires Startup Weekend hackathon and my team came second!](/how-i-went-from-c-number-developer-to-iphone-developer-in-a-weekend). The application we built is a treasure hunt game for tourists which helps them discover Buenos Aires. At the beginning of the weekend I knew nothing about mobile development. It was the first time I developed software using a Mac.
First, let’s look at the basic requirements for the environment.
Xamarin MonoTouch
MonoTouch is the easiest approach for C# developers. It allowed me to write a basic native iPhone app in a weekend with no prior mobile development experience. I’d never used MonoDevelop or XCode either.
MonoTouch is a software development kit for MacOS that cleverly enables you to use C# and the common .NET libraries (via Mono) along with bindings for the Apple Cocoa Touch framework to create native applications for iPhone, iPad and iPod. A lot of the tools are the same as for Objective-C developers: you use the iPhone Simulator and the XCode Interface Builder.
If you are a C# developer still wondering whether to learn Objective-C, there is a magnificent StackOverflow answer comparing MonoTouch and Objective-C.
Costs
There are some costs associated with becoming a MonoTouch iOS developer.
You need a Mac. I’m using a 15” MacBook Pro. I have it configured for dual boot, but I’m using the MacOS side for this project.
You will need Xamarin MonoTouch which currently costs $399 for a one year single seat license for a single developer. More information on pricing at the Xamarin store.
I was trying to upgrade to the latest Octopress version but it seems I did something with the atom.xml file and some of you got every single post as ‘new’ in your RSS readers. Not sure what I did, but sorry for any extra mouse clicks. All working now.


- checkAchievement(String, Achievement) - Static method in class nl.tudelft.jpacman.FileChecker
-
Checks whether an achievement has already been earned by the player.
- checkLoginInfo(String, char...) - Static method in class nl.tudelft.jpacman.FileChecker
-
Checks whether the player correctly identified himself.
- checkUsername(String) - Static method in class nl.tudelft.jpacman.FileChecker
-
Checks whether a user already exists with the username desired by the player.
- chosenStrategyDialogTest() - Method in class nl.tudelft.jpacman.strategy.MyJDialogStrategyTest
-
Test the creation of the dialog.
- ChosenStrategyTest - Class in nl.tudelft.jpacman.strategy
-
Class to test the choice of the strategy for the game mode.
- ChosenStrategyTest() - Constructor for class nl.tudelft.jpacman.strategy.ChosenStrategyTest
-
- cleanup() - Method in class nl.tudelft.jpacman.game.AchievementTest
-
Deletes the test player's profile file.
- cleanup() - Method in class nl.tudelft.jpacman.HallOfFameTest
-
Closes the HoF file after a test.
- cleanup() - Method in class nl.tudelft.jpacman.level.IdentifiedPlayerTest
-
Deletes the file used to test profiles after all tests have run.
- Clyde - Class in nl.tudelft.jpacman.npc.ghost
-
An implementation of the classic Pac-Man ghost Pokey.
- Clyde(Map<Direction, Sprite>) - Constructor for class nl.tudelft.jpacman.npc.ghost.Clyde
-
Creates a new "Clyde", a.k.a.
- collide(C1, C2) - Method in class nl.tudelft.jpacman.level.CollisionInteractionMap
-
Handles the collision between two colliding parties, if a suitable
collision handler is listed.
- collide(C1, C2) - Method in interface nl.tudelft.jpacman.level.CollisionMap
-
Collides the two units and handles the result of the collision, which may
be nothing at all.
- collide(Unit, Unit) - Method in class nl.tudelft.jpacman.level.PlayerCollisions
-
- CollisionInteractionMap - Class in nl.tudelft.jpacman.level
-
A map of possible collisions and their handlers.
- CollisionInteractionMap() - Constructor for class nl.tudelft.jpacman.level.CollisionInteractionMap
-
Creates a new, empty collision map.
- CollisionInteractionMap.CollisionHandler<C1 extends Unit,C2 extends Unit> - Interface in nl.tudelft.jpacman.level
-
Handles the collision between two colliding parties.
- CollisionMap - Interface in nl.tudelft.jpacman.level
-
A table containing all (relevant) collisions between different types of
units.
- compute(T) - Method in class nl.tudelft.jpacman.strategy.AStar
-
Find the shortest path to a goal starting from
start
.
- connectedEast() - Method in class nl.tudelft.jpacman.board.BoardFactoryTest
-
Verifies a chain of cells is connected to the east.
- connectedNorth() - Method in class nl.tudelft.jpacman.board.BoardFactoryTest
-
Verifies a chain of cells is connected to the north.
- connectedSouth() - Method in class nl.tudelft.jpacman.board.BoardFactoryTest
-
Verifies a chain of cells is connected to the south.
- connectedWest() - Method in class nl.tudelft.jpacman.board.BoardFactoryTest
-
Verifies a chain of cells is connected to the west.
- constantTest() - Method in class nl.tudelft.jpacman.strategy.AStarPathTest
-
Test to the initialisation of constants in the game.
- constructorTest() - Method in class nl.tudelft.jpacman.strategy.AStarPathTest
-
Test for the constructor of a astarPath object.
- continousMovement(IdentifiedPlayer, Direction) - Method in class nl.tudelft.jpacman.game.Game
-
Moves the specified player until the next cross in the given direction.
- ContinuousMovementTest - Class in nl.tudelft.jpacman.strategy
-
Class to test the continuousMovement method
for the continuous movement of the player.
- ContinuousMovementTest() - Constructor for class nl.tudelft.jpacman.strategy.ContinuousMovementTest
-
- continuousMovementTest1() - Method in class nl.tudelft.jpacman.strategy.ContinuousMovementTest
-
Launch the game, and imitate what would happen in a typical game.
- continuousMovementTest2() - Method in class nl.tudelft.jpacman.strategy.ContinuousMovementTest
-
A continuous movement test.
- continuousMovementTest3() - Method in class nl.tudelft.jpacman.strategy.ContinuousMovementTest
-
A continuous movement test.
- continuousMovementTest4() - Method in class nl.tudelft.jpacman.strategy.ContinuousMovementTest
-
A continuous move test.
- continuousMovementTest5() - Method in class nl.tudelft.jpacman.strategy.ContinuousMovementTest
-
A continuous move test.
- convertImageToTxt(BufferedImage) - Method in class nl.tudelft.jpacman.board.BoardFactory
-
Converts a given image to a list of "pacman level" lines (Strings).
- convertLevel1ImgToTxt() - Method in class nl.tudelft.jpacman.board.BoardFactoryTest
-
Verifies that generating Level 1 from the image
produces the same content as the original file.
- convertPathToDirection(List<Square>) - Method in class nl.tudelft.jpacman.strategy.PacManhattanAI
-
Convert a square's list to know which direction the player must follow
to get the nearest safe square.
- convertPathToDirectionTest() - Method in class nl.tudelft.jpacman.strategy.PacManhattanAITest
-
Test to get the direction about a path.
- convertPathToDirectionTest2() - Method in class nl.tudelft.jpacman.strategy.PacManhattanAITest
-
Test to get the direction about a path.
- createAnimatedSprite(Sprite, int, int, boolean) - Method in class nl.tudelft.jpacman.sprite.SpriteStore
-
- createBlinky() - Method in class nl.tudelft.jpacman.npc.ghost.GhostFactory
-
Creates a new Blinky / Shadow, the red Ghost.
- createBoard(Square[][]) - Method in class nl.tudelft.jpacman.board.BoardFactory
-
Creates a new board from a grid of cells and connects it.
- createClyde() - Method in class nl.tudelft.jpacman.npc.ghost.GhostFactory
-
Creates a new Clyde / Pokey, the orange Ghost.
- createGround() - Method in class nl.tudelft.jpacman.board.BoardFactory
-
Creates a new square that can be occupied by any unit.
- createInky() - Method in class nl.tudelft.jpacman.npc.ghost.GhostFactory
-
Creates a new Inky / Bashful, the cyan Ghost.
- createLevel(Board, List<NPC>, List<Square>) - Method in class nl.tudelft.jpacman.level.LevelFactory
-
Creates a new level from the provided data.
- createNewPlayer() - Method in class nl.tudelft.jpacman.level.IdentifiedPlayer
-
Creates new player profile.
- createPacMan() - Method in class nl.tudelft.jpacman.level.PlayerFactory
-
Creates a new player with the classic Pac-Man sprites.
- createPellet() - Method in class nl.tudelft.jpacman.level.LevelFactory
-
Creates a new pellet.
- createPinky() - Method in class nl.tudelft.jpacman.npc.ghost.GhostFactory
-
Creates a new Pinky / Speedy, the pink Ghost.
- createRootPane() - Method in class nl.tudelft.jpacman.ui.MyJDialogStrategy
-
override the createRootPane inherited by the JDialog, to create the rootPane.
- createSinglePlayerGame() - Method in class nl.tudelft.jpacman.game.GameFactory
-
Creates a game for a single level with one player.
- createWall() - Method in class nl.tudelft.jpacman.board.BoardFactory
-
Creates a new square that cannot be occupied by any unit.


Man caught with cannabis at Shrewsbury property given community order
by Deborah HardimanA man caught with cannabis at a Shrewsbury property has been given a 12-month community order.
Nathan O’Brien, 25, arrived at the flat, in Aston Butts, Monkmoor, to find police outside at about 7.30pm on November 3 last year.
He admitted an offence of possession of cannabis with intent to supply and an offence of possessing criminal property valuing £1,229.50 in cash at a previous hearing.
Mr Harinderpal Dhami, prosecuting, told Shrewsbury Crown Court said: “The officers heard the sound of a bike coming down the road at speed.
“They saw this defendant. The lights were off and he had no helmet. He was riding it erratically.”
He said despite being asked to stop the defendant failed to pull over. He mounted the pavement, but the officer was able to unbalance him and he fell off. Mr Dhami said O’Brien, now of Field Close, Sundorne, smelt of alcohol and cannabis when he was stopped.
“As a result he was breathalysed and searched and a quantity of cash was found. He was put in custody and the property searched.
“Three mobile phones and a tablet were seized.”
He claimed the drugs worth an estimated £120 was for personal use. The court heard that following the incident he was given a road ban at Telford Magistrates Court on November 20, 2018 for motoring offences including failing to stop.
Miss Debra White, mitigating, said: “He appreciates he has brought shame on his family. He says he was glad he was caught. He had been foolish.”
In addition to the 12-month community order O’Brien must attend a drug activity programme for six months and pay the victims’ surcharge.
A proceeds of crime hearing relating to the cash will follow at a date to be fixed.


Whether You Need a Completely New Site, or Want to Improve the Condition of An Existing One We provide Your Existing Website or Application with Tailored Solutions., A Team of Designers, Developers, and Strategists Work Around the Clock to Make Your Online Prescence More Efficient and Effective. We Specialize In Content Management Systems, CRM, Blogs, Hybrid/Native/Web Applications, Ecommerce Platforms, SQL/Non-SQL Databases, and REST API Integrations. Best Practice combined with Up-to-Date knowledge of current trends we provide you the most effective approach every step of the way.
Firstly, our goal is to capture the essence of the business by learning the products/services, target audiences, brand principles, and any goals for the company . This allows our teams to get to know you and attain a better understanding of the direction you would like to take your business. After heavy analysis of that information, we go ahead and identify all initial requirements and strategically execute the most effective marketing campaign . We provide to SEO techniques increase traffic to your site and allow you to reach more people and find your target audience. These tools are used to develop a strategic plan to better market your brand digitally in front of potential customers. Built from the ground up, Intuitive user interfaces are designed around your business requirements and integrate seamlessly throughout the experience.
The design process begins with thorough analysis .Along with managing your online prescence, we also provide digital solutions structured to Improve the Identity of your brand. Designers work closely with you to produce high-quality Layouts, Banners, Widgets, Advertisements, Logos, and other content that will help drive business and keep customers coming back Google Web Font library, as well as icons from Font Awesome.


This was a truly fascinating talk. If you ever wanted to learn the entire history and landscape of dependency injection (DI), this was your opportunity. I really didn’t realize how deep of a topic DI really is.
According to Rod, DI had its beginnings in 2002, in the Interface 21 Framework that was born from his seminal work, Expert One-on-One J2EE Design and Development. In the beginning, DI was done solely through setter injection (SI), with external metadata (usually in XML). 2003 gave us Spring 0.9, which had the same DI model, but added FactoryBeans for indirection and proxy-based AOP (enabling among other things, declarative transaction management). With Spring, DI was always just one enabler of a complete enterprise solution. Contrast that with PicoContainer, also arriving on the scene in 2003, which was an ultra-lightweight DI-only container. PicoContainer brought us several innovations, including constructor injection, automatic resolution by type, and an attempt to dispense with external configuration.
Rod then discussed the Pros and Cons of Constructor Injection (CI). On the Pro side, we see that CI is great for immutable objects, can be used with existing code, enforces that the necessary dependencies are provided at object construction, and allows developers to dispense with methods like afterPropertiesSet(). On the Con side, there are no default arguments in Java, which forces us to ALWAYS provide all of the necessary dependencies, constructor overriding can be somewhat messy, and constructor argument names are not usually available through reflection, which forces us to depend on argument order for dependency resolution.
Spring 1.0, which arrived in late 2003, incorporated some of PicoContainer’s innovation: CI, “Autowiring” by type and by name, as well as the ability to mix CI and SI. Here Rod reflected on Spring’s pragmatic philosophy, whereby they are more than willing to incorporate the good ideas that others had first.
Spring 1.1 brought us method injection, a unique Spring feature, which solved the problem of long-lived managed objects which depend on short-lived objects. It also brought us Factory Methods. You now had the ability to create objects through invoking static factory methods or instance methods on other beans.
With the finalization of the EJB 3.0 standard in May 2006, several new ideas became available in the world of DI: annotation-based DI, annotations for callback methods (e.g. @PostConstruct), scanning for annotations without any external configuration needed for a deployment unit, and field injection (FI). These EJB standard brought with it a new philosophy - that annotations are a superior model and that externalization should be a second-class citizen. The Pros of this standard? One big one - no configuration is necessary for simple cases. The Cons? Rod listed several: resources could only be injected from JNDI, no CI, limited control over object lifecycle, unsuitability for fine-grained object graphs, effectively usable ONLY with annotations, as the XML configuration option is so verbose, and it isn’t just DI - it brings along with it enforcement of many obsolete EJB concepts (such as bean instance pooling).
Spring 2.0 arrived in late 2005 with its own share of innovations: integration with AspectJ, the ability to inject anything with an AspectJ aspect via @Configurable, namespaces to provide an XML-based DSL for external configuration, the @Required annotation, and pluggable scopes to manage the object lifecycle. About that same time, JBoss Seam introduced many strange ideas (that I didn’t quite grasp from Rod’s explanation): bijection, outjection, and subversion of control.
Some additional players on the field include Spring Java Config, which is a DSL for configuration in Java, Google Guice 1.0, and the JSR-299 Web Beans spec, which Rod described as “blogware” in that there is currently no available implementation.
Finally we got to Spring 2.5, released last month. Rod didn’t have his slides printed or available on the web (argh!), so about this time my hand was really hurting from taking furious notes, and I simply gave up. Fortunately, most of what Rod covered was redundant from some of the other sessions, so I’ll have or will blog about it later. About the only thing I really don’t have good notes on is Spring Java Config, which he discussed pretty extensively. If you want to learn more about it, check out http://www.springframework.org/javaconfig.


Notes on using Markdown.
Use one hashtag for an

, followed by the heading text.
# This will render as an
 heading.

, followed by the heading text.

, followed by the heading text, etc.Paragraphs must be separated by one blank line, otherwise they will be rendered on the same line.
This is the first paragraph.
This is the second paragraph.
Alternatively, text wrapped with two underscores on either side will also be bolded.
This will render **bold** text.
This will also render __bold__ text.
Alternatively, text wrapped with asterisks on either side will also be italicized.
This will render _italicized_ text.
This will also render *italicized* text.
Text wrapped with two tildes on either side will render as strikethrough text.
This will render as ~~strikethrough~~ text.
There are four ways to use links in Markdown.
<https://github.com>
Go to [GitHub.com](https://github.com) to learn more.
Go to [GitHub.com](https://github.com "Click to go the GitHub homepage") to learn more.
Note: The leading backslash on the last line is not required (it is included here to resolve a formatting issue).
Visit the world's [first website][first-website], created by Tim Berners-Lee.
...
(rest of document)
...
\[first-website]: http://info.cern.ch/hypertext/WWW/TheProject.html
Images are indicated with an exclamation mark, alternate text is placed in square brackets, the path/URL is placed in parentheses, and finally a title/tooltip can be included in quotes.
![Alternate text for the image](path/to/image.png "Title text for the image")
Alternatively, images can be used in a similar way to the "link/reference" method.
## Gallery
![Alternate text for the image][img-1]
...
(rest of document)
...
[img-1]: http://github.com/images/logo.png
Unordered lists are produced by using the asterisk, hyphen, or plus sign characters. All will be rendered as bullet points.
Asterisk bullet points
* Item 1
* Item 2
* Item 3
Hyphen bullet points
- Item 1
- Item 2
- Item 3
Plus Sign bullet points
+ Item 1
+ Item 2
+ Item 3
Each ordered list item should be preceded by 1.
(the list items will be numbered correctly when compiled).
For example, this input:
1. Number One
1. Number Two
1. Number Three
Will produce this output:
Add sub-items to list items using tab indentation.
1. Go to the store.
* Buy milk.
* Buy bread.
1. Come home.
Additional elements (paragraphs, images, links, etc.) can be included in list items by using line breaks and tab indentation.
1. Create a new HTML file.
* Include the following content:
Lorem ipsum dolor sit amet.
![Alternate text for the image](path/to/image.png)
[Link to full image](http://example.com/image.png)
* Save and close the file.
1. Create a new CSS file.
Ensure that there are blank line breaks above and beneath, otherwise Markdown will render a heading.
## First section
---
## Second section
---
## Third section
Create a single-line blockquote using the right-pointing chevron (>).
> A single-line blockquote. ~~ William Shakespeare
Create a multi-line blockquote by starting each line with the chevron.
> A multi-line blockquote.
>
> ~~ Socrates
There are three ways to indicate code, and a diff
feature for highlighting code changes.
Indent the code block.
var a = 1;
var b = a + 1;
Begin the code block with three backticks and the name of the language, write the lines of code, and then end with three more backticks.
Note: The name of the language is not required.
```js
var age = 25;
var name = "Past Dustin";
```
If writing inline code, wrap it in backticks.
This `<p>` will be formatted as code.
The diff
feature is used to visually indicate changes.
```diff
var x = 100;
* var y = 200;
- var y = 300;
```
Both tables and checkboxes are not included in the official Markdown specification, however many Markdown readers do support them.
The second line of the table controls the column's text alignment.
| Column 1 Heading | Column 2 Heading | Column 3 Heading |
|:-----------------|:----------------:|-----------------:|
| Left-aligned | Centered | Right-aligned |
To check off a list item, place an "x" inside of the square brackets.
* [ ] Task 1
* [x] Task 2
* [ ] Task 3


T.K.O.
| DOSE: |
|
oral |
DXM |
(powder / crystals) |
I've always been one of those people who feel totally invincable when it comes to the possible dangers of particular drugs, never really accepting the consideration of many evil side effects (and even death) that certain substances can cause. That is until this recent experience with DXM, the infamous 'over the counter' psychedelic (if you can even call it a psychedelic).
First of all, I bought about 15 grams of DXM through JLF. JLF sells DXM about as pure as you can get it, and it's fairly cheap!!! I'm not saying this is a good thing, you must make certain to be extra careful with extracted chemicals with a higher degree of purity.
Anyways, I didn't have a scale, so I figured I would measure out 'by eye.' Again, this is something else you NEVER do, especially with pure compounds, it's much easier to overdose, which is what I think I did. About an hour after ingesting the DXM on a Friday night, I started to feel the dissaociatives power engulf my entire body from head to toe. The next thing I can honestly tell you I remember is waking up Sunday afternoon, after getting 39 hours of uninterupted sleep!!!  I've heard of people going into temporary (or even perminant) comas because of this class of drugs, and I'm certain that must have been what happened to me. I'm just glad and thankful I woke up. Please take all I've said here with extreme caution when it comes to Dextromethorphan, it can be a VERY dangerous drug.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


"She So Lovely" (USA/France, 1997) A Film Review by James Kendrick
Director: Nick Cassavetes / Screenplay: John Cassavetes / Stars: Sean Penn (Eddie), Robin Wright Penn (Maureen), John Travolta (Joey), Harry Dean Stanton (Shorty), Debi Mazar (Georgie), James Gandolfini (Kiefer), Kelsey Mulrooney (Jeanie) / MPAA Rating: R / Review: ** (out of ****)
The only way to approach "She's So Lovely" is with the understanding that everyone in the film is crazy in one way or another. Their decisions are illogical and often infuriating, and the movie has no pretension of passing judgment on them or even understanding why they are the way they are. You must come to this film with the anticipation that little or nothing about these characters makes sense, because if you try to understand them, you will be completely frustrated.
  In movies like "She's So Lovely," the characters' weirdness is just taken for granted with no frame of reference, and it gives license for the filmmakers to do almost anything, because it can be explained away. Remember, they're crazy -- it doesn't have to make sense.
The film was directed by Nick Cassavetes, the son of legendary actor and pioneer independent writer/director John Cassavetes, who wrote the script. The elder Cassavetes had originally intended to direct and star in the film himself back in the 1970s, but he was never able to get the project off the ground before he died in 1989. While his son's directing style is much more controlled and refined than his father's, he respects the manic people which are so dear to his father. Alcoholism, insanity, and violence are all at the heart of "She's So Lovely," although at times it's intended to play as a comedy.
The film opens with Maureen (Robin Wright Penn), waking up in a drunken stupor to find that her husband, Eddie Quinn (Sean Penn) is still missing after three days. She's pregnant, and apparently Eddie is having trouble dealing with that fact, so he tends to disappear for days at a time. She goes down to the seedy, smoke-filled local bar where Eddie usually hangs out, but his best friend Shorty (Harry Dean Stanton) hasn't seen him.
Maureen is terrified that Eddie will find out Kiefer beat her up, because she knows Eddie is slightly imbalanced and has an intense violent streak. So, when she finally finds him, she lies and says she fell. It doesn't take Eddie long to figure out what happened, and he goes after Kiefer with a gun. Maureen calls the local mental institution to pick Eddie up, and when the orderlies arrive to take him away, Eddie shoots on of them in the stomach. He is eventually caught by the police, and locked up in the institution.
Fast forward ten years, and Maureen has cleaned herself up, gotten off drugs, divorced Eddie, stopped wearing heavy black eye make-up, and is now married to a rich contractor named Joey (John Travolta). She and Joey have three daughters, one of whom is actually Eddie's, and they live in comfortable suburban splendor. Unfortunately, that splendor is disrupted when Eddie is released from the institution, and comes looking for Maureen, sure that he still loves her and she still loves him. In fact, he's absolutely right. Maureen tells Joey to his face the morning Eddie is being released, "I love you, but I love him more."
"She's So Lovely" begins and ends very abruptly. Many people will be extremely baffled by it, especially because the previews made it look like a quirky romantic comedy. The movie seems to want to tell a simple story, but it has everything going against it. It comes at you in sudden bursts, and there is little explanation about characters or situations. For instance, Maureen-Eddie and Maureen-Joey is bridged with a black screen and the titles "Ten Years Later." There movie doesn't go into how and why Maureen and Joey got together and, more importantly, why their marriage seems so unhappy.
Although it's readily apparent that Maureen will most likely leave Joey for Eddie, you don't feel sorry for Joey because he's a loud-mouthed, obnoxious, boor of a man. Was he like this when Maureen first met him? If he was, is it because she's naturally attracted to crude, violent men?
The saving grace of "She's So Lovely" are the performances, especially Sean Penn's which won him top honors at the 1997 Cannes Film Festival. His Eddie is a constant enigma, ranging from fiercely violent to almost child-like passivity. Travolta plays strongly against type, and it is only his insensitive idiocy that adds any laughs to the film. Robin Wright Penn, who is married to Sean Penn in real life, gives an affecting performance as the woman caught in the middle (although her New York accent is a bit overbearing at times). She is the most confusing character because you keep wanting to believe that she is sane, when in fact, she may be the craziest person in the whole movie.
"She's So Lovely" is really more of a curiosity piece than anything else. It's not really satisfying as a well-told story or as a character study, so it can only be taken as an off-beat movie that defies all the typical rules of comedy and drama. Not for all tastes, but some will find it quite fascinating, although I wasn't one of them.
©1998 James Kendrick
Visit "Charlie Don't Surf!" an eclectic collection of film reviews by James Kendrick http://www.bigfoot.com/~jimkendrick E-mail<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Derived from: none
Declared in: HTMLFile.h
HTMLFile is the class used to represent an html text file, and to parse it. You can also add some beacons to retreive specific information from the page, and extract all the page's labels and links.
|
|
|
Adds a beacon at the end of the HTMLFile's beacons list. The order is very important, because it is in that order that the beacons will be searched. If a beacon isn't found, those after it won't be found either.
The beacon is now kept by the HTMLFile. You musn't delete it. HTMLFile will do so when destroyed. For this reason, the beacon musn't be allocated on the stack.
Always call AddBeacon() before Search().
|
Prints to the standard output all the beacons, labels and links found after a Search() call.
|
Gets the links and labels found in the html file. Call this function only after Search(). You can use the beacon parameters to only get the links and labels between two specific beacons. For this you can specify the beacon numbers, or the beacons themselves.
If you use the integer version, an unsigned int of 1 represents the first beacon, 2 is the second one etc... If you have n beacons, valid values are between 0 and n+1. That way you can also retreive labels and links before the first beacon, and after the last one. Use beacon1=0 and beacon2=n+1 to retreive all the links and labels. If you don't use any beacons, use beacon1=0 and beacon2=1.
The links and labels found will be put in the two given BLists: links and labels. If one of the lists is NULL, it won't be filled. (useful if you want only the labels or only the links). Both lists contain HTMLLabel pointers, that shouldn't be destroyed. They are owned by the HTMLFile.
|
Parses the html file. If you want to put some beacons, don't forget to call AddBeacons() before Search(). Use the GetLists() function to retreive the found links and labels.
|


Definition compose {A:Type} (g f:A -> A) (x:A) := g (f x). Definition thrice {A:Type} (f:A -> A) := compose f (compose f f).Use thrice for defining a function that adds 27 to any natural number, a function that multiplies any integer by 27 and a function that raises any integer to its 27-th power.


AdminLTE
Toggle navigation
Jane Doe
Jane Doe - Web Developer
Member since Nov. 2012
Followers
Sales
Friends
Profile
Sign out


{% extends "base.html" %} {% block title %}CoralNet - Feedback{% endblock %} {% block content %}
Here you can give a suggestion for a site feature or change, report a bug, or send us your feedback.
If you're reporting a bug, please try to explain what you did before the bug occurred, and how the behavior was buggy. This will help us find and fix the bug.
{% endblock %}


{{ $ctrl.report.acb.name }} Annual Surveillance Reporting
{{ $ctrl.report.year }}
Please list any obstacles encountered during surveillance, including those related to resources/technical capabilities, developers, and providers/end-users.


Function Chaining
Song Name
Song Artist
Movie/Album
Add to favorite
Add to Playlist
Song Name
Song Artist
Movie/Album
Add to favorite
Add to Playlist
Movie/Album
Song Name
Song Artist
Movie/Album
Add to favorite
Add to Playlist


Presidential Candidates: We Won’t Accept Election Result
The Council of Presidential Candidates said they no longer have trust or confidence in the IEC.
by Khalid NekzadThe Council of Presidential Candidates warned on Thursday that they will not accept the presidential election results based on fraud, and said they have lost confidence in the Independent Election Commission (IEC).
Ahmad Wali Massoud, presidential candidate, said: “If the election process continues like it is now, it is not acceptable, it is not legal, not democratic, not transparent, not valuable, and not humanitarian, and in this regard, we will not accept it.”
“Non-biometric votes are not acceptable for us, for people and for the international community,” Said Mohammad Hakim Torsan presidential candidate.
Even though the commissioners of the IEC were elected by the presidential candidates, the Council of Presidential Candidates said they no longer have trust nor confidence in the IEC.
Aurangzeb, a member of the IEC said, “We have started our work based on the election law and we are moving forward by the law and according to regulations. We work carefully, independently and Impartially.”
Rohullah Sakha Zada, a legal activist, said that no one can fire the IEC and Independent Electoral Complaints Commission members: “By law, no one can fire the IEC and (IECC) commissioners.”
This comes as the IEC completed the vote recount in 17 provinces, with only nine provinces remaining. The process was halted by members of election teams in some areas.
Nevertheless, the IEC says it will announce primary results after the recounting process.


Qolorizer demo
When you click the Colorize! button, colorized versions of the left-hand images will be requested from the server. The normal and recommended behavior of the app is to save colorized images in a designated directory, so that they don't need to constantly be regenerated. However, for purposes of this demo, the app is configured to generate new images for each request.


--- layout: post status: publish published: true title: Ron Santo Quote of the Day - 5/12/2009 author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 812 wordpress_url: http://ivyenvy.com/?p=812 date: '2009-05-12 07:39:19 +0000' date_gmt: '2009-05-12 13:39:19 +0000' categories: - Broadcasters/Networks tags: - Ron Santo - Ryan Freel comments: - id: 226 author: Kurt author_email<EMAIL_ADDRESS>author_url: http:// date: '2009-05-14 13:38:40 +0000' date_gmt: '2009-05-14 19:38:40 +0000' content: Ron can't say "Gaudin". Pat pronounces it "Godan" while Ron seems to prefer "Godad". Last year when he was with the Cubs I heard him say "Gonad". ---
"If it weren't for the injuries, he'd be an everyday player."
That's actually a quote from over the weekend, brought to my attention by my uncle. Ron was talking about Ryan Freel.


Ice Climbing & Hiking on Glaciers
As you can see, the views are breathtaking, and the sense of accomplishment is a thrill of it's own. However, this hike isn't for the faint of heart, and you are responsible for knowing your limits
Home
|
Hiking on Glaciers
|
NorthernLights
|
Contact Me
2019 @ Project 1 by Nathaniel A. Pinnock


Never leave... the beach!
home
|
accommodations
|
activities
|
contact information
|
pictures
|
travel arrangements
This website brought to you with the assistance of
Epicodus
, check them out!


| Opcode/Instruction | Op /En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
|---|---|---|---|---|
|
EVEX.NDS.LIG.66.0F38.W0 2D /r VSCALEFSS xmm1 {k1}{z}, xmm2, xmm3/m32{er} |
T1S | V/V | AVX512F | Scale the scalar single-precision floating-point value in xmm2 using floating-point value from xmm3/m32. Under writemask k1. |
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| T1S | ModRM:reg (w) | EVEX.vvvv (r) | ModRM:r/m (r) | NA |
Description
Performs a floating-point scale of the scalar single-precision floating-point value in the first source operand by multiplying it by 2 power of the float32 value in second source operand.
The equation of this operation is given by:
xmm1 := xmm2*2floor(xmm3). Floor(xmm3) means maximum integer value ≤ xmm3.
If the result cannot be represented in single precision, then the proper overflow response (for positive scaling operand), or the proper underflow response (for negative scaling operand) is issued. The overflow and underflow responses are dependent on the rounding mode (for IEEE-compliant rounding), as well as on other settings in MXCSR (exception mask bits, FTZ bit), and on the SAE bit.
EVEX encoded version: The first source operand is an XMM register. The second source operand is an XMM register or a memory location. The destination operand is an XMM register conditionally updated with writemask k1.
Handling of special-case input values are listed in Table 5-31 and Table 5-33.
Operation
SCALE(SRC1, SRC2)
{
; Check for denormal operands
TMP_SRC2 (cid:197) SRC2
TMP_SRC1 (cid:197) SRC1
IF (SRC2 is denormal AND MXCSR.DAZ) THEN TMP_SRC2=0
IF (SRC1 is denormal AND MXCSR.DAZ) THEN TMP_SRC1=0
/* SRC2 is a 32 bits floating-point value */
DEST[31:0] (cid:197) TMP_SRC1[31:0] * POW(2, Floor(TMP_SRC2[31:0]))
}
VSCALEFSS (EVEX encoded version)
IF (EVEX.b= 1) and SRC2 *is a register*
THEN
SET_RM(EVEX.RC);
ELSE
SET_RM(MXCSR.RM);
FI;
IF k1[0] OR *no writemask*
THEN DEST[31:0] (cid:197) SCALE(SRC1[31:0], SRC2[31:0])
ELSE
IF *merging-masking*
; merging-masking
THEN *DEST[31:0] remains unchanged*
ELSE
; zeroing-masking
DEST[31:0] (cid:197) 0
FI
FI;
DEST[127:32] (cid:197) SRC1[127:32]
DEST[MAX_VL-1:128] (cid:197) 0
Intel C/C++ Compiler Intrinsic Equivalent
VSCALEFSS __m128 _mm_scalef_round_ss(__m128 a, __m128 b, int);
VSCALEFSS __m128 _mm_mask_scalef_round_ss(__m128 s, __mmask8 k, __m128 a, __m128 b, int);
VSCALEFSS __m128 _mm_maskz_scalef_round_ss(__mmask8 k, __m128 a, __m128 b, int);
SIMD Floating-Point Exceptions
Overflow, Underflow, Invalid, Precision, Denormal (for Src1). Denormal is not reported for Src2.
Other Exceptions
See Exceptions Type E3.