As the community forms, we need to formalize these guidelines, especially to differentiate
'requirements' from suggested 'guidelines'.
Shane's starting proposals:
xml-commons is an unusual project in several ways.
First, it encompasses two kinds of code: external and apache.
Secondly,
xml-commons mainly focuses on providing code and services to other
xml.apache.org projects instead of shipping it's own 'standalone' project.
Third, it will also tend to be more focused on smaller, interoperable modules of
code and a very high degree of stability.
In some ways, the forming of
xml-commons is the seed of a catalyst to improve cross-project coordination
throughout xml.apache.org. One potential goal is to get all xml.apache.org
projects to take their xml standards oriented code - like DOM, SAX and JAXP -
from specific marked builds of xml-commons, instead of each project
using different versions of these files.
External code: xml-commons will serve as an Apache-controlled
copy of externally-defined standards-based files. This way, we can try
to manage common versions of these important xml standards-based files
and interfaces. Read more here.
Apache code: xml-commons will serve as a shared repository for
common xml-oriented utilities or building blocks that several other
xml.apache.org projects wish to use. The first example is org.apache.env.Which,
and environment checking utility that scans your environment and reports common
versions of xml-related files. The next likely submission is an entity resolver
that could be plugged into any xml parsing, transforming, or processing
project. Read more here.
Directory tree (proposed)
xml-commons/
README.html - this file
build.xml - overall build file for top-level items
xdocs/ - top-level xml format docs about this project itself and our guidelines
(in whatever format xml.apache.org uses for site)
docs/ - (not checked in) html format docs created by 'build docs' from xdocs
java/ - root of all java-related files
external/ - src root of all source files in java that come from external sources
for example: the DOM, SAX, and JAXP files
org/xml/sax/*
org/w3c/dom/*
javax/xml/*
external/build.xml - Ant build file for all external sources
xdocs/ - xml format docs describing any java files, as needed
{name}.xml - Ant build file for Apache-defined subproject(s)
future: resolver.xml: for Norm Walsh's entity resolver submission, when done
src/ - root of Apache-defined Java code
src/org/apache/... etc
which.xml - Ant build file for org.apache.env.Which utility
c/ - root of all C/C++ related files
external/ - root of all externally-owned C/C++ sources
perl/ - root of all Perl related files
etc.
- We should consider adopting those guidelines from the jakarta-commons
project that make sense for our xml projects - keeping in mind that both the kind of
projects we build are different than jakarta, and some of our goals are a
little bit different.
- Dicsussion and buy-in should happen on the project mailing list
before checking in new modules.
- New modules generally shouldn't go in until at least two separate
other projects express interest in using the module. I think this is an
important difference from jakarta-commons that makes sense in our world.
I.e. I'd rather not just throw something in because it seems like it might
be useful, I'd rather only put things in that we know will be shared among
multiple projects.
- The xml-commons community should come up with guidelines for other
xml.apache.org subprojects to use the code that commons has. I.e. suggestions
and ways to package this code vis-a-vis the other project's code in a common way.
- Other shared xml.apache.org guidelines? Like documentation format, testing techniques/policies, etc.


AWS::DevOpsGuru::NotificationChannel
Adds a notification channel to DevOps Guru. A notification channel is used to notify you about important DevOps Guru events, such as when an insight is generated.
If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see Permissions for Amazon SNS topics.
If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see Permissions for AWS KMS–encrypted Amazon SNS topics.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::DevOpsGuru::NotificationChannel", "Properties" : { "Config" :
NotificationChannelConfig
} }
YAML
Type: AWS::DevOpsGuru::NotificationChannel Properties: Config:
NotificationChannelConfig
Properties
Config
-
A
NotificationChannelConfig
object that contains information about configured notification channels.Required: Yes
Type: NotificationChannelConfig
Update requires: Replacement
Return values
Ref
When the logical ID of this resource is provided to the Ref
intrinsic function,
Ref
returns Amazon Resource Name (ARN) of the NotificationChannel
.
For more information about using the Ref
function, see
Ref.
Fn::GetAtt
Fn::GetAtt
returns a value for a specified attribute of this type. The following are the available
attributes and sample return values. For more information about using Fn::GetAtt
, see
Fn::GetAtt.
Examples
Create one notification channel with filters
JSON
{ "Resources": { "MyNotificationChannel": { "Type": "AWS::DevOpsGuru::NotificationChannel", "Properties": { "Config": { "Filters": { "MessageTypes": ["NEW_INSIGHT", "CLOSED_INSIGHT", "SEVERITY_UPGRADED"], "Severities": ["MEDIUM", "HIGH"] } "Sns": { "TopicArn": "arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel" } } } } } }
YAML
Resources: MyNotificationChannel: Type: AWS::DevOpsGuru::NotificationChannel Properties: Config: Filters: MessageTypes: - NEW_INSIGHT - CLOSED_INSIGHT - SEVERITY_UPGRADED Severities: - MEDIUM - HIGH Sns: TopicArn: arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel
Create two notification channels
JSON
{ "Resources": { "MyNotificationChannel1": { "Type": "AWS::DevOpsGuru::NotificationChannel", "Properties": { "Config": { "Sns": { "TopicArn": "arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel" } } } }, "MyNotificationChannel2": { "Type": "AWS::DevOpsGuru::NotificationChannel", "Properties": { "Config": { "Sns": { "TopicArn": "arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel2" } } } } } }
YAML
Resources: MyNotificationChannel1: Type: AWS::DevOpsGuru::NotificationChannel Properties: Config: Sns: TopicArn: arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel MyNotificationChannel2: Type: AWS::DevOpsGuru::NotificationChannel Properties: Config: Sns: TopicArn: arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel2


SHORT BOOTS
Soft and small boots. We have 4 different colors with different styles.
- Color types: Black color, Gray color, White color, Brown color
- Size: Small, Medium, and Large
- Price: 150bht
Soft and small boots. We have 4 different colors with different styles.
Soft and long boots. We have 3 different colors for this one boot-style.


The Limey (1999) Reviewed by Eugene Novikov http://www.ultimate-movie.com/ Member: Online Film Critics Society
Starring Terrence Stamp, Peter Fonda. Directed by Steven Soderbergh. Rated R.
Out of Sight director Steven Sorderbergh baffles the hell out of us all in The Limey, a cold, uninvolving, confusing new thriller. Though the plot description may at first seem like it came from the pen of Elmore Leonard (author of Out of Sight, as well as Jackie Brown, Get Shorty and Pulp Fiction), after you watch it, you realize that it's not nearly good enough.
In an aggressively non-linear fashion, The Limey (li*mey, noun: an English gentleman) tells the story of Wilson (Terrence Stamp), a British ex-con just released from a 9 year stint in prison for armed robbery. He has come to the US to seek vengeance for the death of his daughter Jenny. He doesn't know much about the circumstances of her demise, all he has is a name: Terry Valentine. Valentine was Jenny's former boyfriend, a wealthy and corrupt record executive. He's played by Peter Fonda, in his first major role since the terrific Ulee's Gold in 1997.
Seeking Valentine's reclusive place of residence turns out to be no easy task for Wilson. He finally finds the impressive abode high in the mountains and sneaks in just as Valentine is having a big party. He winds up breaking his cover eventually, setting off Valentine's head of security and Valentine himself, who decides to run for it.
What a mess. I have no problem when films refuse to be constricted by the linearity of time -- Pulp Fiction, which twisted time every which way, was a masterpiece -- but I do take exception to movies that decide to play around with it for no reason other than to confuse the viewer. The Limey does exactly that. The plot is permeated with flashbacks, flash-forwards and what can only be described as random time-travel, without any evident purpose. There is no method to this movie's madness. It uses a fancy way to tell a story that would be better off told more conventionally and more comprehendably.
The plot isn't particularly interesting in the first place: traditional, mildly hackneyed and not very involving. This is a sort of brooding film -- our protagonist doesn't speak much and the action sequences are done with an annoyingly perfunctory attitude. I felt like the director wasn't very interested in the proceedings himself, almost like he made this film for a paycheck. Ditto for the editing, which seems to be deliberately sloppy and unpleasant.
Sixties icon Terrence Stamp manages to at least be menacing as the aging criminal. He's not much in the way of stature but he has a surprisingly imposing physical presence that works to his advantage here. Peter Fonda is an unbelievably underrated actor: he's shy, quiet but always effective. He's adept at conveying emotions through speech rather than expression: his feelings don't always show on his face by you can always tell what they are.
This is basically a conventional thriller told in a pretentiously bizarre fashion. Why Soderbergh couldn't just parrot down and tell a story, I don't know, but what he does do certainly doesn't work. The result is a wild cornucopia of images that amount to precisely nil -- even the action scenes don't work. 1999 may have signified the death of the traditional act one - act two - act three storyline, but obviously some movies have not yet transcended it. Shall we go back to basics?
Grade: C-
©1999 Eugene Novikov
Sent via Deja.com http://www.deja.com/ Before you buy.
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


"""
HTTP
----
Functions for reading data from URLs via streaming HTTP requests and either
reading it into memory or writing it directly to disk.
"""
import io
import logging
import pathlib
from contextlib import closing
from typing import Iterable, Optional, Tuple, Union
import requests
from tqdm import tqdm
from .. import utils
from . import utils as io_utils
LOGGER = logging.getLogger(__name__)
[docs]def read_http_stream(
url: str,
*,
lines: bool = False,
decode_unicode: bool = False,
chunk_size: int = 1024,
auth: Optional[Tuple[str, str]] = None,
) -> Union[Iterable[str], Iterable[bytes]]:
"""
Read data from ``url`` in a stream, either all at once or line-by-line.
Args:
url: URL to which a GET request is made for data.
lines: If False, yield all of the data at once; otherwise, yield data line-by-line.
decode_unicode: If True, yield data as unicode, where the encoding
is taken from the HTTP response headers; otherwise, yield bytes.
chunk_size: Number of bytes read into memory per chunk.
Because decoding may occur, this is not necessarily the length of each chunk.
auth: (username, password) pair for simple HTTP authentication required (if at all)
to access the data at ``url``.
.. seealso:: http://docs.python-requests.org/en/master/user/authentication/
Yields:
If ``lines`` is True, the next line in the response data,
which is bytes if ``decode_unicode`` is False or unicode otherwise.
If ``lines`` is False, yields the full response content, either as bytes
or unicode.
"""
# always close the connection
with closing(requests.get(url, stream=True, auth=auth)) as r:
# set fallback encoding if unable to infer from headers
if r.encoding is None:
r.encoding = "utf-8"
if lines is False:
if decode_unicode is True:
yield r.text
else:
yield r.content
else:
lines_ = r.iter_lines(chunk_size=chunk_size, decode_unicode=decode_unicode)
for line in lines_:
if line:
yield line
[docs]def write_http_stream(
url: str,
filepath: Union[str, pathlib.Path],
*,
mode: str = "wt",
encoding: Optional[str] = None,
make_dirs: bool = False,
chunk_size: int = 1024,
auth: Optional[Tuple[str, str]] = None,
) -> None:
"""
Download data from ``url`` in a stream, and write successive chunks
to disk at ``filepath``.
Args:
url: URL to which a GET request is made for data.
filepath: Path to file on disk to which data will be written.
mode: Mode with which ``filepath`` is opened.
encoding: Name of the encoding used to decode or encode the data
in ``filepath``. Only applicable in text mode.
.. note:: The encoding on the HTTP response is inferred from its
headers, or set to 'utf-8' as a fall-back in the case that no
encoding is detected. It is *not* set by ``encoding``.
make_dirs: If True, automatically create (sub)directories if
not already present in order to write ``filepath``.
chunk_size: Number of bytes read into memory per chunk.
Because decoding may occur, this is not necessarily the length of each chunk.
auth: (username, password) pair for simple HTTP authentication required (if at all)
to access the data at ``url``.
.. seealso:: http://docs.python-requests.org/en/master/user/authentication/
"""
decode_unicode = True if "t" in mode else False
filepath = utils.to_path(filepath).resolve()
if make_dirs is True:
io_utils._make_dirs(filepath, mode)
# use `closing` to ensure connection and progress bar *always* close
with closing(requests.get(url, stream=True, auth=auth)) as r:
LOGGER.info("downloading data from %s ...", url)
# set fallback encoding if unable to infer from headers
if r.encoding is None:
r.encoding = "utf-8"
total = int(r.headers.get("content-length", 0))
with closing(tqdm(unit="B", unit_scale=True, total=total)) as pbar:
with filepath.open(mode=mode, encoding=encoding) as f:
chunks = r.iter_content(
chunk_size=chunk_size, decode_unicode=decode_unicode
)
for chunk in chunks:
# needed (?) to filter out "keep-alive" new chunks
if chunk:
pbar.update(len(chunk))
f.write(chunk)


| I l@ve RuBoard |
Iterators are objects that can iterate over elements of a sequence. They do this via a common interface that is adapted from ordinary pointers (see the introduction in Section 5.3). Iterators follow the concept of pure abstraction: Anything that behaves like an iterator is an iterator. However, iterators have different abilities. These abilities are important because some algorithms require special iterator abilities. For example, sorting algorithms require iterators that can perform random access because otherwise the runtime would be poor. For this reasen, iterators have different categories (Figure 7.1). The abilities of these categories are listed in Table 7.1, and discussed in the following subsections.
| Iterator Category | Ability | Providers |
|---|---|---|
| Input iterator | Reads forward | istream |
| Output iterator | Writes forward | ostream, inserter |
| Forward iterator | Reads and writes forward | |
| Bidirectional iterator | Reads and writes forward and backward | list, set, multiset, map, multimap |
| Random access iterator | Reads and writes with random access | vector, deque string, array |
Input iterators can only step forward element-by-element with read access. Thus, they return values elementwise. Table 7.2 lists the operations of input iterators.
Note that input iterators can read elements only once. Thus, if you copy an input iterator and let the original and the copy read forward, they might iterate over different values.
Almost all iterators have the abilities of input iterators. However, usually they can have more. A typical example of a pure input iterator is an iterator that reads from the standard input (typically the keyboard). The same value can't be read twice. After a word is read from an input stream (out of the input buffer), the next read access returns another word.
Two input iterators are equal if they occupy the same position. However, as stated previously, this does not mean that they return the same value on element access.
| Expression | Effect |
|---|---|
| *iter | Provides read access to the actual element |
| iter ->member | Provides read access to a member (if any) of the actual element |
| ++iter | Steps forward (returns new position) |
| iter++ | Steps forward (returns old position) |
| Iter1 == iter2 | Returns whether two iterators are equal |
| Iter1 != iter2 | Returns whether two iterators are not equal |
| TYPE(iter) | Copies iterator (copy constructor) |
You should always prefer the preincrement operator over the postincrement operator because it might perform better. This is because the preincrement operator does not have to return an old value that must be stored in a temporary object. So, for any iterator pos (and any abstract data type), you should prefer
++pos //OK and fast
rather than
pos++ //OK, but not so fast
The same applies to decrement operators, as long as they are defined (they aren't for input iterators).
Output iterators are the counterparts of input iterators. They can only step forward with write access. Thus, you can assign new values only element-by-element. You can't use an output iterator to iterate twice over the same range. The goal is to write a value into a "black hole" (whatever that means). So, if you write something for the second time at the same position into the same black hole, it is not guaranteed that you will overwrite a previous value. Table 7.3 lists the valid operations for output iterators. The only valid use of operator * is on the left side of an assignment statement.
| Expression | Effect |
|---|---|
| *iter = value | Writes value to where the iterator refers |
| ++iter | Steps forward (returns new position) |
| iter++ | Steps forward (returns old position) |
| TYPE (iter) | Copies iterator (copy constructor) |
Note that no comparison operations are required for output iterators. You can't check whether an output iterator is valid or whether a "writing" was successful. The only thing you can do is to write, and write, and write values.
Usually iterators can read and write values. So, as for input iterators, almost all iterators also have the abilities of output iterators. A typical example of a pure output iterator is an iterator that writes to the standard output (for example, to the screen or a printer). If you use two output iterators to write to the screen, the second word follows the first rather than overwriting it. Another typical example of output iterators are inserters. Inserters are iterators that insert values into containers. If you assign a value, you insert it. If you then write a second value, you don't overwrite the first value; you just also insert it. Inserters are discussed in Section 7.4.2.
Forward iterators are combinations of input and output iterators. They have all the abilities of input iterators and most of those of output iterators. Table 7.4 summarizes the operations of forward iterators.
| Expression | Effect |
|---|---|
| *iter | Provides access to the actual element |
| iter-> member | Provides access to a member of the actual element |
| ++iter | Steps forward (returns new position) |
| iter++ | Steps forward (returns old position) |
| iter1 == iter2 | Returns whether two iterators are equal |
| iter1 != iter2 | Returns whether two iterators are not equal |
| TYPE() | Creates iterator (default constructor) |
| TYPE(iter) | Copies iterator (copy constructor) |
| iter1 = iter2 | Assigns an iterator |
Unlike input iterators and output iterators, forward iterators can refer to the same element in the same collection and process the same element more than once.
You might wonder why a forward iterator does not have all of the abilities of an output iterator. One restriction applies that prohibits valid code for output iterators from being valid for forward iterators:
For output iterators, writing data without checking for the end of a sequence is correct. In fact, you can't compare an output iterator with an end iterator because output iterators do not have to provide a comparison operation. Thus, the following loop is correct for output iterator pos:
//OK for output iterators //ERROR for forward iterators while (true) { *pos = foo(); ++pos; }
For forward iterators, you must ensure that it is correct to dereference (access the data) before you do this. Thus, the previous loop is not correct for forward iterators. This is because it would result in dereferencing the end() of a collection, which results in undefined behavior. For forward iterators, the loop must be changed in the following manner:
//OK for forward iterators //IMPOSSIBLE for output iterators while (pos != coll.end()) { *pos = foo(); ++pos; }
This loop does not compile for output iterators because operator ! = is not defined for them.
Bidirectional iterators are forward iterators that provide the additional ability to iterate backward over the elements. Thus, they provide the decrement operator to step backward (Table 7.5).
| Expression | Effect |
|---|---|
| -- iter | Steps backward (returns new position) |
| iter-- | Steps backward (returns old position) |
Random access iterators are bidirectional iterators that can perform random access. Thus, they provide operators for "iterator arithmetic" (in accordance with the "pointer arithmetic" of ordinary pointers). That is, they can add and subtract offsets, process differences, and compare iterators with relational operators such as < and >. Table 7.6 lists the additional operations of random access iterators.
Random access iterators are provided by the following objects and types:
Containers with random access (vector, deque)
Strings (string, wstring)
Ordinary arrays (pointers)
| Expression | Effect |
|---|---|
| iter[n] | Provides access to the element that has index n |
| iter+=n | Steps n elements forward (or backward, if n is negative) |
| iter-=n | Steps n elements backward (or forward, if n is negative) |
| iter+n | Returns the iterator of the nth next element |
| n+iter | Returns the iterator of the nth next element |
| iter-n | Returns the iterator of the nth previous element |
| iter1-iter2 | Returns the distance between iter1 and iter2 |
| iter1<iter2 | Returns whether iter1 is before iter2 |
| iter1>iter2 | Returns whether iter1 is after iter2 |
| iter1<=iter2 | Returns whether iter1 is not after iter2 |
| iter1>=iter2 | Returns whether iter1 is not before iter2 |
The following program demonstrates the special abilities of random access iterators:
// iter/itercat.cpp #include <vector> #include <iostream> using namespace std; int main() { vector<int> coll; //insert elements from -3 to 9 for (int i=-3; i<=9; ++i) { coll.push_back (i); } /* print number of elements by processing the distance between beginning and end * - NOTE: uses operator -for iterators */ cout << "number/distance: " << coll.end()-coll.begin() << endl; /* print all elements * - NOTE: uses operator < instead of operator ! = */ vector<int>::iterator pos; for (pos=coll.begin(); pos<coll.end(); ++pos) { cout << *pos << ' '; } cout << endl; /* print all elements * - NOTE: uses operator [ ] instead of operator * */ for (int i=0; i<coll.size(); ++i) { cout << coll.begin() [i] << ' '; } cout << endl; /* print every second element * - NOTE: uses operator += */ for (pos = coll.begin(); pos < coll.end()-1; pos += 2) { cout << *pos << ' '; } cout << endl; }
The output of the program is as follows:
number/distance: 13 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 -3 -1 1 3 5 7
This example won't work with lists, sets, and maps because all operations that are marked with NOTE: are provided only for random access iterators. In particular, keep in mind that you can use operator < as an end criterion in loops for random access iterators only.
Note that in the last loop the expression
pos < coll.end()-1
requires that coll contains at least one element. If the collection was empty, coll.end() -1 would be the position before coll.begin(). The comparison might still work; but, strictly speaking, moving an iterator to before the beginning results in undefined behavior. Similarly, the expression pos += 2 might result in undefined behavior if it moves the iterator beyond the end() of the collection. Therefore, changing the final loop to the following is very dangerous because it results in undefined behavior if the collection contains an even number of elements (Figure 7.2):
for (pos = coll.begin(); pos < coll.end(); pos += 2) { cout << *pos << ' '; }
The use of the increment and decrement operators of iterators includes a strange problem. In general, you can increment and decrement temporary iterators. However, for vectors and strings, you typically can't. Consider the following vector example:
std::vector<int> coll; ... //sort, starting with the second element // - NONPORTABLE version if (coll.size() > 1) { coll.sort (++coll.begin(), coll.end()); }
Typically, the compilation of sort() fails. However, if you use, for example, a deque rather than a vector, it will compile. It might compile even with vectors, depending on the implementation of class vector.
The reason for this strange problem lies in the fact that vector iterators are typically implemented as ordinary pointers. And for all fundamental data types, such as pointers, you are not allowed to modify temporary values. For structures and classes, however, it is allowed. Thus, if the iterator is implemented as an ordinary pointer, the compilation fails; if implemented as a class, it succeeds. It always works with deques, lists, sets, and maps because you can't implement iterators as ordinary pointers for them. But for vectors, whether it works depends on the implementation. Usually, ordinary pointers are used. But if, for example, you use a "safe version" of the STL, the iterators are implemented as classes. To make your code portable you should not code as the previous example, using vectors. Instead, you should use an auxiliary object:
std::vector<int> coll; ... //sort, starting with the second element // - PORTABLE version if (coll.size() > 1) { std::vector<int>::iterator beg = coll.begin(); coll.sort (++beg, coll.end()); }
The problem is not as bad as it sounds. You can't get unexpected behavior because it is detected at compile time. But it is tricky enough to spend time solving it. This problem also applies to strings. String iterators are usually also implemented as ordinary character pointers, although this is not required.
| I l@ve RuBoard |


Maharashtra surprise: Inside details of Phir Ek Baar Devendra Fadnavis moment
A early morning swearing-in. A stunned nation. Flying recriminations. Cries of betrayal. In Maharashtra, it is politics at its most feverish pitch. Here's how it unfolded, from the hours before the oath-taking ceremony to the chorus of astonishment afterwards.
HIGHLIGHTS
- Fadnavis's appointment as Maha CM stuns nation, opposition
- NCP leaders say clueless about Ajit Pawar jumping ship
- Party and family split, says Supriya Sule
Abhishek Manu Singhvi thought it was fake news. Ahmed Patel fulminated against an "evil" manouevre carried out "in the secrecy of midnight". Sanjay Raut spoke of betrayal and backstabbing.
Until this morning, Congress, Shiv Sena and Nationalist Congress Party (NCP) leaders probably felt they had it in the bag: An unlikely governing alliance and a chance to share power in one of India's largest states. It would require compromises, sure, but it would keep the BJP out of government.
And then it happened. A made-for-TV scene that must have slackened jaw after jaw in Maharashtra and elsewhere.
It wasn't just that a swearing-in ceremony was taking place in Raj Bhavan when few Indians had been awake long enough to worry about breakfast.
And it wasn't just that the man promising to bear true faith and allegiance to the Consitution was Devendra Fadnavis, a BJP man.
The unkindest cut of all, for the BJP's rivals, came from one of their own. For the man who took oath as Fadnavis's deputy was NCP leader Ajit Pawar, the nephew of Sharad Pawar.
It's been an extraordinary morning -- one during which the practised melodrama of political utterances matched the pace and emotion of real events -- and now, India Today TV has learned how it went for Devendra Fadnavis and Ajit Pawar, before they were swore in.
PODIUM, MIKES WERE READY
It was 7:30 am when Devendra Fadnavis left the official home of the Maharashtra chief minister, Varsha. His family was with him, but not Ajit Pawar. The NCP leader reached Raj Bhavan separately, also accompanied by family.
The duo met the governor, Bhagat Singh Koshyari, and claimed the right to form a government.
A podium with microphones was already ready.
Sources think Ajit Pawar used letters of support signed by NCP MLAs -- letters that didn't say whom to support -- to offer support to Fadnavis.
 Defended him, loved him."- NCP leader Supriya Sule's WhatsApp status
As well, at least two Opposition leaders have said Pawar misused the letters.
BODY LANGUAGE
At a press conference held after the swearing-in, an angry Shiv Sena leader described behaviour by Ajit Pawar that he seemed to think was suspicious.
Sanjay Raut said that on Friday night, Pawar left suddenly, "didn't look into our eyes" and was "trying not to face us".
Meanwhile Sharad Pawar, Ajit's uncle, said the NCP had nothing to do with this morning's developments.
"Ajit Pawar's decision to support the BJP to form the Maharashtra government is his personal decision and not that of the Nationalist Congress Party," he tweeted.
"We place on record that we do not support or endorse this decision of his."
WhatsApp statues posted by Supriya Sule, Sharad Pawar's daughter, spoke volumes.
"Party and family split."
 Defended him, loved him."
"Look what I get in return."
Inputs from Rahul Shrivastava, Sahil Joshi and Divyesh Singh.


Accommodation
Mountain lodge camp
{% tinycontent_simple 'winter_accomodation_description' %}
Dorms
{% tinycontent_simple 'winter_accomodation_dorms' %}Upgrade
{% tinycontent_simple 'winter_accomodation_upgrade' %}Address
{% tinycontent_simple 'winter_accomodation_address' %} Google Maps CLICK HERESome other extra infos:
{% tinycontent_simple 'winter_accomodation_extra' %}Transportation
By train:
The wonderful destination of Lenk lays at the end of a beautiful and varied train ride from either Bern or Montreux. There's only one train change from Bern to Lenk. The Lötschberger train takes you hourly from Bern directly to Zweisimmen, where you’ll change trains to catch the 20 minute regional train to Lenk.
Approximate travel times by train
- Zurich – Berne – Lenk: 2h 30 min
- Basel – Berne – Lenk: 2h 15 min
- Geneva – Lausanne – Montreux – Lenk: 3h 30 min
- Berne/Belp – Lenk: 1h 45 min
Tickets
Tickets can be bought in the Swiss Main Trains system SBB Prices are very relative to how soon you buy the tickets and time of train. As a obvious general recommendation book with time!
By car:
Traveling on the A6 motorway Bern-Thun, take the Wimmis/Zweisimmen exit through the Simmenfluh Tunnel, on the other side of which begins your journey up the Simme River Valley. The main road in the valley, the Simmentalstrasse. Coming from Bulle and the Canton of Freiburg, one can reach Lenk via Charmey by traveling over the Jaunpass into the Simmental (Boltigen) or by traveling via Château d’Oex-Saanen-Zweisimmen.
Approximate travel times by car
- Berne – Lenk: 1h 15min
- Basel – Lenk: 2h
- Geneva – Lenk: 2h 15min
- Zurich – Lenk: 2h 30min


Equivalent to copying cells or automatically filling a selection by dragging the fill selection handle with the mouse (the AutoFill feature).
Syntax
FILL.AUTO(destination_ref, copy_only)
Destination_ref is the range of cells into which you want to fill data. The top, bottom, left, or right end of destination_ref must include all of the cells in the source reference (the current selection).
Copy_only is a number specifying whether to copy cells or perform an AutoFill operation.
| Value | Result |
| 0 or omitted | Normal AutoFill |
| 1 or TRUE | Copy cells |
| 2 | Copy formats |
| 3 | Fill values |
| 4 | Increment |
| 5 | Increment by day |
| 6 | Increment by weekday |
| 7 | Increment by month |
| 8 | Increment by year |
| 9 | Linear trend |
| 10 | Growth trend |
Related Functions
COPY Copies and pastes data or objects
DATA.SERIES Fills a range of cells with a series of numbers or dates
Return to index


I am Guilherme Silva Gomes, a passionate GENERALIST GAME DESIGNER with a willingness to make meaningful games. I design Mobile and Desktop games for broader audiences.
I'm currently Freelancing at Pandora Game Studio.
Pandora Game Studio
• From Ideation to Global Launch.
• 1M+ Downloads.
• From Hyper-Casual to Hybrid-Casual scope.
Pandora Game Studio
• Overall Improvements.
• 250K+ Downloads.
• Hyper-Casual.
• Live-Ops.
Pandora Game Studio
• PC/Steam Porting.
• Mid-Core.
• Improvements and Balancing.
Pandora Game Studio
• Was creatively involved from Ideating to Publishing along with teams of Coders, Artists and other Designers.
Read More


Map: {{game_state.settings.Map}}, Status: {{game_state.game_state}}
Lobby Time: {{game_state.lobby_time}}, Game Time: {{game_state.game_time}}


{% extends "api.html" %} {% block api_content %}
All configuration takes place in boss.config
in your project directory. Valid configuration options are:
assume_locale
- The presumed locale of translatable strings. Defaults to "en".cache_adapter
- The cache adapter to use. Currently the only valid value is memcached_bin
.cache_servers
- A list of cache servers ({Host, Port, PoolSize}
). Defaults to [{"localhost", 11211, 1}]
.
cache_exp_time
- The maximum time to keep a cache entry, in seconds. Defaults to 60.db_host
- The hostname of the database. Defaults to "localhost".db_port
- The port of the database. Defaults to 1978.db_username
- The username used for connecting to the database (if needed).db_password
- The password used for connecting to the database (if needed).db_database
- The name of the database to connect to (if needed).db_adapter
- The database adapter to use. Valid values are:
mock
- In-memory (non-persistent) database, useful for testingmnesia
- Mnesiamysql
- MySQLpgsql
- PostgreSQLtyrant
- Tokyo Tyrantdb_shards
- A list of proplists with per-shard database configuration. The proplists override the above options, and should contain an additional option:
db_shard_models
- A list of models (atoms) which are stored on the shard.log_dir
- Directory in which to keep log files. Location is relative to the project directory. Defaults to "log".mail_driver
- The email delivery driver to use. Valid values are:
boss_mail_driver_smtp
- SMTP delivery. If mail_relay
is present, it is used as a relay, otherwise direct delivery is attempted.boss_mail_driver_mock
- A black hole, useful for testing.mail_relay_host
- The relay server for SMTP mail deliveries.mail_relay_username
- The username used for connecting to the SMTP relay (if needed).mail_relay_password
- The password used for connecting to the SMTP relay (if needed).master_node
- For distributed configurations, the name of the master node. The master node runs global services (incoming mail, message queue, events, sessions). Should be an atom, e.g. somenode@somehost
. The node name is specified in the -sname
or -name
argument in the startup script.model_manager
- The model manager adapter to use. Useful for situations where we need to use an alternative ActiveRecord compiler rather than boss_db. Defaults to boss_db
.port
- The port to run the HTTP server on, or a tuple of the format {env, "PORTVAR"} (where PORTVAR is the name of an environment variable containing the port number). Defaults to 8001.server
- The HTTP server to use. Valid values are:
base_url
Sets the base_url passed to the views (for deployments on suburl's)session_adapter
Selects the session driver to use. Valid values:cache
- Store sessions in the configured cache servers. Requires cache_enable
to be set to true
.mnesia
- Mnesia sessions. Note that old sessions are not deleted.mock
- In-memory sessions (default)session_enable
- Whether to enable sessions. Defaults to true
.session_key
- Cookie key for sessions. Defaults to "_boss_session"session_exp_time
- Expiration time for the session cookie. Defaults to 1440session_mnesia_nodes
(optional, Mnesia sessions only) - List of Mnesia nodes, defaults to node()smtp_server_enable
- Enable the SMTP server for incoming mailsmtp_server_address
- The address that the SMTP server should bind to. Defaults to {0, 0, 0, 0}
(all interfaces).smtp_server_domain
- The domain name of the SMTP serversmtp_server_port
- The port that the SMTP server should listen on. Defaults to 25.smtp_server_protocol
- The protocol that the SMTP server should use. Valid values are:tcp
(default)ssl
ssl_enable
- Enable HTTP over SSLssl_options
- SSL options; see ssl(3erl)Warning: From 0.5.2, the frontpage, default_action and default_actions configuration options has been moved to the new routing system
{% endblock %}


{% from "modules/_form_fields.html" import render_field_with_errors, render_field %} {% extends 'layout.html' %} {% block content %} {% include "modules/_messages.html" %} {% include "modules/_navigation.html" %}
4120 Brooklyn AVE, APT 305
Seattle, 98105
{{ _('By selecting \'confirm and continue\' you affirm that the information above is correct and accurate. Additionally you affirm that you have read and agree to the Gradient Terms of Use, and give Gradient permission to contact you about your Gradient account or the information provided above via your primary email.') }}


Make WiFi QR Code - a shortcut to help you quickly generate WiFi QR codes that can be shared or exported
Images, more details and older versions (if available) coming soon, but for now only a download link is available for the first public beta.
Make WiFi QR Code vPB1 "Public Beta 1" - Import to your device by using this link!


Mission: Impossible II ***
Rated on a 4-star scale Screening venue: Warner Village (Birkenhead) Released in the UK by UIP on July 7, 2000; certificate 15; 124 minutes; country of origin USA; aspect ratio 2.35:1
Directed by John Woo; produced by Tom Cruise, Paula Wagner. Written by Robert Towne; based on a story by Ramon Braga, Ronald D. Moore; from the television series created by Bruce Geller. Photographed by Jeffrey L. Kimball; edited by Christian Wagner.
CAST..... Tom Cruise..... Ethan Hunt Dougray Scott..... Sean Ambrose Thandie Newton..... Nyah Hall Richard Roxburgh..... Hugh Stamp John Polson..... Billy Baird Brendan Gleeson..... McCloy Rade Sherbedgia..... Dr. Nekhorvich Ving Rhames..... Luther Stickell
"Mission: Impossible II" is not quite the equal of its predecessor -- Brian De Palma's 1996 adaptation of the hit TV show was a modern classic in action cinema -- but it is an effective spectacle of violence. It could have been better. It could also have been worse. Since we get to see Tom Cruise looking firm and strong, wearing cool clothes, fighting hard, working out genius plans and blowing stuff up, it's good enough for me.
And make no mistake about it, "Mission: Impossible II" is all about Cruise. Gone is the teamwork that figured so prominently both on television and in the original film: Cruise's character, Ethan Hunt, is now the centre of attention. Even though he's aided by two other secret agents who come out of retirement to help him, a woman who injects herself with poison to assist his cause, and a boss played by Anthony Hopkins, these people are pushed into the background to make the main man look that little bit more heroic.
As pretty much every review of the film has mentioned, this can't help but resemble James Bond. De Palma's cool white visuals and playfully complex plot have been replaced by exotic locations and a predictable tale of a turncoat agent hijacking a deadly chemical virus. Taut structure has been forgone in favour of long scenes with a love interest, and a big showdown in the bad guy's lair. Set-pieces have been lifted from "Mission: Impossible" such as Cruise's dangling from a ceiling to steal information, as well as trademarks like the rubber-mask disguises, but nothing that stops "Mission: Impossible II" from being a one-man show.
It's a good one, though. The director, John Woo, is a god among action filmmakers. His techniques in movies like "Hard-Boiled" influenced Hollywood, then Woo himself moved to the States and started making pictures in which the style was a mixture of originality, ripping himself off, and ripping off America. You're assured an efficient summer thrill ride when a guy like that gets a project like this -- it has a great star, groundbreaking stunts, expensive effects, slow-motion, fast motion, repetition... so much showiness has been crammed into "Mission: Impossible II" that future film students will use it as a reference for action genre trends of the late 1990s.
Where can the "M: I" franchise go from here? I have a clear idea, although I'm not so sure that the same can be said for the studio. They have assigned Woo to direct a third picture, but I'm not keen on that idea, because it probably means we'll get a retread of this one. James Bond is allowed to repeat himself, but repeating his repetitions sounds boring as hell. The best thing to do is get a different established director to tackle each sequel. We've had De Palma and Woo -- wouldn't you like to see the attempts of Quentin Tarantino, Steven Spielberg, Martin Scorsese, George Lucas and Ron Howard? Keep the series going by making each new instalment a showcase for a great artist -- don't let it self-destruct in three movies.
COPYRIGHT(c) 2000 Ian Waldron-Mantgani http://members.aol.com/ukcritic
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


We are a youth startup based in Winnipeg, MB, operating with the goal of educating the next generation of Winnipeg entrepreneurs.
Back to TopFounder and CEO. Adriana is a Grade 11 Student at Collège Jeanne-Sauvé in the LRSD School Division. Her passions include astronomy, biology, and youth education. Through her experience with such programs as CareerTrek, SHAD, and Duke of Edinburgh, she has learned about the importance of human connections and education. She hopes to use SYMB to pass these values along to the next generation of Winnipeg Youth.
Executive Director and CFO Elijah Dietrich is a 16 year old junior in the International Baccalaureate program at Kelvin High School in Winnipeg, Manitoba. Elijah is passionate about various fields, especially finance, the environment, entrepreneurship and physics. Elijah has exercised his interest in these fields through internships, SHAD, blogging, starting his school's Environmental Action Committee, and many activities and achievements therein. Elijah aspires to one day become a venture capitalist and business magnate with a social and environmental imperative. Elijah is driven to realize his generation's ability to enact societal progress and social innovation through Startup Youth Manitoba.


PRE:-Whitespace is preserved by the browser. Text will only wrap on line breaks.
NOWRAP:-Sequences of whitespace will collapse into a single whitespace. Text will never wrap to the next line. The text continues on the same line until a <br> tag is encountered
eg:
T he q uick brown fox jumps over to the lazy dog tit for tat AAA BBB CCC DDD EEE FFF GGGG HHH III JJJ KKK LLL MMM NNN OOO PPP QQQ RRR SSS TTT UUUU VVV WWW XXX YYY ZZZ .now br tag
hello world .....
PRE-LINE:-Sequences of whitespace will collapse into a single whitespace.
PRE-WRAP:-Whitespace is preserved by the browser.


Before Change
v + tf.random_normal(tf.shape(v), stddev=self._stddev),
global_state.denominator)
return (tf.contrib.framework.nest.map_structure(noised_average,
sample_state), global_state)
After Change
A tuple (estimate, new_global_state) where "estimate" is the estimated
average of the records and "new_global_state" is the updated global state.
noised_sum, new_sum_global_state = self._sum_query.get_noised_sum(
sample_state, global_state.sum_state)
new_global_state = self._GlobalState(
new_sum_global_state, global_state.denominator)


Convert existing font icon sets (like FontAwesome) to an SVG image.
Drag and drop files here
Follow the steps above to generate the SVG icons, and then use the code below to add icons. You’ll want to swap the #fa-check for the icon you actually want to use—it’s just the css class name.
<svg width="12" height="12"><use xlink:href="/icons.svg#fa-check" /></svg>
It’s also possible to use this via the JavaScript API.


FUSERMOUNT(1) Filesystem in Userspace (FUSE) FUSERMOUNT(1) NAME fusermount - mount and unmount FUSE filesystems SYNOPSIS fusermount [OPTIONS] MOUNTPOINT DESCRIPTION Filesystem in Userspace (FUSE) is a simple interface for userspace pro‐ grams to export a virtual filesystem to the Linux kernel. It also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations. fusermount is a program to mount and unmount FUSE filesystems. OPTIONS -h print help. -V print version. -o OPTION[,OPTION...] mount options. -u unmount. -q quiet. -z lazy unmount. SEE ALSO mount(8), mount.fuse(8), ulockmgr_server(1). HOMEPAGE More information about fusermount and the FUSE project can be found at <http://fuse.sourceforge.net/>. AUTHOR FUSE was written by Miklos Szeredi<EMAIL_ADDRESS>This manual page was written by Daniel Baumann <daniel.bau‐<EMAIL_ADDRESS>2.8.6 2011-10-23 FUSERMOUNT(1)


--- layout: post title: Great Explanation of the Difference Between HST and PST/GST and Why You Should Love HST published: true ---
Hey British Columbia, you should read this.
Edit: Here's a spoiler:


MLS terminates contract of Timbers striker Brian Fernandez
PORTLAND, Ore. (AP) - Major League Soccer has terminated Portland Timbers forward Brian Fernandez’s contract.
The league announced the move Friday. Fernandez has also been removed from Portland’s roster.
The 25-year old Argentine voluntarily entered the MLS Substance Abuse and Behavioral Health Program last month and missed the team’s lone playoff game.
TOP STORIES
Nancy Pelosi goes for slam dunk -- and crashes to court
Franklin Graham calls on nation to pray for Trump as impeachment effort gains speed
Adam Schiff cracking under 'point of order' pressure
Fernandez joined the Timbers in May, and he went on to score 11 goals in 19 appearances with the team. He was sidelined at the end of the season with what the team characterized as a stomach virus.
More AP soccer https://apnews.com/Soccer and https://twitter.com/AP_Sports
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


{% load static %}
AI Recruiter
Recruting based on AI
Home
(current)
Profile
Upload Resume
Sign Out
AI based Job Search


| AVR Libc Home Page | AVR Libc Development Pages | ||||
| Main Page | User Manual | Library Reference | FAQ | Alphabetical Index | Example Projects |
For example the user can access memory-mapped IO registers as if they were globally defined variables like this:
PORTA = 0x33; unsigned char foo = PINA;
The compiler will choose the correct instruction sequence to generate based on the address of the register being accessed.
The advantage of using the memory-mapped registers in C programs is that it makes the programs more portable to other C compilers for the AVR platform.
Note that special care must be taken when accessing some of the 16-bit timer IO registers where access from both the main program and within an interrupt context can happen. See Why do some 16-bit timer registers sometimes get trashed?.
i.e.: sbi(PORTB, PB1); is now PORTB |= _BV(PB1);
This actually is more flexible than having sbi directly, as the optimizer will use a hardware sbi if appropriate, or a read/or/write operation if not appropriate. You do not need to keep track of which registers sbi/cbi will operate on.
Likewise, cbi (sfr,bit) is now sfr &= ~(_BV(bit));
Modules | |
| Additional notes from <avr/sfr_defs.h> | |
Bit manipulation | |
| #define | _BV(bit) (1 << (bit)) |
IO register bit manipulation | |
| #define | bit_is_set(sfr, bit) (_SFR_BYTE(sfr) & _BV(bit)) |
| #define | bit_is_clear(sfr, bit) (!(_SFR_BYTE(sfr) & _BV(bit))) |
| #define | loop_until_bit_is_set(sfr, bit) do { } while (bit_is_clear(sfr, bit)) |
| #define | loop_until_bit_is_clear(sfr, bit) do { } while (bit_is_set(sfr, bit)) |
| #define _BV | ( | bit | ) | (1 << (bit)) |
| #define bit_is_clear | ( | sfr, | |||
| bit | ) | (!(_SFR_BYTE(sfr) & _BV(bit))) |
#include <avr/io.h>
Test whether bit bit
in IO register sfr
is clear. This will return non-zero if the bit is clear, and a 0 if the bit is set.
| #define bit_is_set | ( | sfr, | |||
| bit | ) | (_SFR_BYTE(sfr) & _BV(bit)) |
#include <avr/io.h>
Test whether bit bit
in IO register sfr
is set. This will return a 0 if the bit is clear, and non-zero if the bit is set.
| #define loop_until_bit_is_clear | ( | sfr, | |||
| bit | ) | do { } while (bit_is_set(sfr, bit)) |
| #define loop_until_bit_is_set | ( | sfr, | |||
| bit | ) | do { } while (bit_is_clear(sfr, bit)) |