Git is Good
Version Control wants your data
Version Control is a friendly electronic path to code management. This easy-to-use system builds bridges betweens programmers enabling a concise and consistent exchange of ideas and work. Connected by the internet one can create, modify, improve, share, and distribute information anywhere without the constraints of time or location. .Version control elevates learning through computer connectivity to a faster and expansive level. The aspect that I find exciting is the ability for many to collaborate on a particular project and accelerate creativity and productivity to impact science, medicine, politics, the economy, etc...
Version control is like several chefs taking a recipe for one of the dishes for a Thanksgiving feast and deciding how they can improve it. So they each cook, and season, and taste in their own kitchens. Then they exchange the modified recipes and contribute them as the improved whole from the sum of the parts.
To contribute new code or review existing code you need a githb account, a repository that you name and fill with code on your own computer. Input some code, save the data to a file, link your location to a server via a url.  Fantastic! Just be open-minded and willing to share information.
Through the enormous power of servers, git tracks changes made to code or portions of a program by maintaining a chronology of carefully and systematically arranged computer input which is converted to binary, recorded and stored in logically related data files. These files are available (open source) for immediate or future reference.
While git is the where the action takes place Github is the socially oriented storage host that houses all the currently final versions of code and programs until someone decides to see if they can make it better or abstract it a little to see what happens. This universal receptacle is a great system because it makes limitless the potential substantive contributions programmers can make to our worldwide community.


Thiss a medieval Catholic cathedral on the Île de la Cité in the 4th arrondissement of Paris. The cathedral was consecrated to the Virgin Mary and considered to be one of the finest examples of French Gothic architecture.
The Eiffel Tower is a wrought-iron lattice tower on the Champ de Mars in Paris, France. It is named after the engineer Gustave Eiffel, whose company designed and built the tower.
A port city in southern France, has been a crossroads of immigration and trade since its founding by the Greeks circa 600 B.C. At its heart is the Vieux-Port (Old Port), where fishmongers sell their catch along the boat-lined quay and is coupled with amny more activities.
Prices start from 7000 USD
Click here to book your spot


THE REPLACEMENTS (2000) / **
Directed by Howard Deutch. Screenplay by Vince McKewin. Starring Keanu Reeves, Gene Hackman, Brooke Langton. Running time: 119 minutes. Rated AA by the MFCB. Reviewed on August 26th, 2000.
BY SHANNON PATRICK SULLIVAN
There is a scene in "The Replacements" (actually, two scenes, since the film has a tendency to repeat itself for the benefit of those with short memories) where a dim-witted stripper-turned-cheerleader enthusiastically joins in one of those "Give me an 'E'!" cheers, only to forget the letter she's supposed to announce. Fortunately, though, she's so happy and so dim that she just keeps going along with the others as if her gaffe had never happened in the first place.
This sequence is perfectly representative of "The Replacements" as a whole.  It's got an embarrassingly recycled plot, tepid character development, and mostly lame humor. But Hollywood has produced far poorer movies, and maybe that's the best way to think about "The Replacements" -- not great, but think of how it could have turned out!
I can almost guarantee that you've seen the story before; it's the same old underdog-team-makes-good template, just recast in a new setting. "The Replacements" takes place during the 1987 professional football players' strike, albeit in a parallel universe where the NFL teams have been replaced by squads with different nicknames. Edward O'Neil (Jack Warden), owner of perpetual also-rans the Washington Sentinels, is determined to see his team finally make it into the playoffs after seven years. Washington just needs to win three of their last four games, and they're in. O'Neil decides to finish off the season using replacement players, and hires coach Jimmy McGinty (Gene Hackman) to assemble them.
Instead of bringing in a semi-pro team like some other franchises have done, McGinty seeks out a group of has-beens and never-weres. This motley group includes such notables as a sumo wrestler, a pair of gangsta brothers, and a lightning-fast receiver with permanent butterfingers. The quarterback is Shane Falco (Keanu Reeves), a college star who has never recovered mentally from a crushing Sugar Bowl defeat. The movie proceeds in typical fashion from there. We experience the trials and tribulations of the scab Sentinels as they try to bond as a team, deal with the resentful striking players they've replaced, and find themselves on a collision course with the inevitable Big Game which will decide the season. No points for guessing how it all pans out.
There is, of course, an obligatory romantic subplot, between Falco and the head cheerleader (Brooke Langton). This scenes are excruciating in their contrivance. It is painfully obvious that the romance has been added to the movie because the filmmakers felt it was a necessity of the genre, rather than a natural outgrowth of the story. It is telling that the camera and film editor do more work to establish the relationship than Reeves and Langton. The scene where they first meet is particularly embarrassing -- just count the number of times we cut back and forth between their wistful glances at one another. It would be hilarious if it wasn't played so straight. Langton's is the most superfluous character in "The Replacements", and the fact that she never develops any semblance of an interesting personality doesn't help matters.
And this is unfortunate, because the other subplot involving the cheerleaders -- namely, the fact that the hastily-assembled squad is mostly made up of exotic dancers -- is surprisingly well-handled. It's a very funny notion, and is not carried too far. The only thing that doesn't make much sense is just why a new group of cheerleaders would have been required in the first place; why in the world would a players' strike affect them? (Of course, the same could be said about the need for O'Neil to hire McGinty.)
Neither Reeves nor Hackman turn in particularly memorable work here. It seems obvious that the part of their brain normally devoted to acting is instead being put to work figuring out just why they agreed to appear in a such a run-of-the-mill movie. Some of the supporting players are more effective, simply because they seem to be have a lot more fun. Rhys Ifans, as the Welsh kicker Nigel "The Leg" Gruff, is a delight. Jon Favreau as SWAT-team-member-turned-blocker Daniel Bateman, who seems to share a few branches of the family tree with Animal from "The Muppet Show", is enjoyable as well.
But perhaps the most curious aspect of "The Replacements" is its treatment of the whole strike scenario. If it had just been left in the background as an excuse for a group of sadsack football players to wind up in a major game, that would have been fine. But instead, the striking players are presented as the movie's villains, particularly Eddie Martel (Brett Cullen), the Sentinels' regular quarterback. Cullen portrays him as arrogant, seedy, and thoroughly obnoxious. No thought is ever given to the players' side in the labor dispute. Right from the start they're painted as lazy and greedy: a player gives up a possible touchdown in the dying seconds of the last game before the strike, rather than risk injury.
Certainly, it seems absurd that people already making millions of dollars should go on strike to protest their wages. But what must be borne in mind is that the owners rake in significantly more money and -- most importantly of all -- the fans are willing to pay inflated ticket prices to watch the games. Player salaries have attained these exorbitant levels not through some artifice on the part of their union, but essentially because this is what the market has determined they can and should earn.
Unfortunately, "The Replacements" is so eager to have a group of characters that can be labelled as the bad guys that none of this is so much as considered. And that is as good an indicator as any of the complacency which grips this project. The result is a movie which is good for an occasional laugh but, before long, will be mercifully forgotten. Reeves and Hackman deserve better.
Copyright © 2000 Shannon Patrick Sullivan. Archived at The Popcorn Gallery, http://www.physics.mun.ca/~sps/movies/TheReplacements.html
_______________________________________________________________________ / Shannon Patrick Sullivan | "We are all in the gutter, but some of us \ |<EMAIL_ADDRESS>| are looking at the stars." - Oscar Wilde | \___________________________|__________________________________________/ | Popcorn Gallery Movie Reviews www.physics.mun.ca/~sps/movies.html | | Doctor Who: A Brief History of Time (Travel) /drwho.html |
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


|
Conflux HDMI
0.0.2
Hardware abstraction layer for internal HDMI kits for original Xbox
|
Public Member Functions | |
| bool | IsFirmwareUpdateAvailable (UpdateSource updateSource, const char *firmwareFilePath="") |
| Checks to see if a firmware update is available via the provided update source. More... | |
| bool | UpdateFirmware (UpdateSource updateSource, void(*currentProcess)(const char *currentProcess), void(*percentComplete)(int percentageComplete), void(*errorMessage)(const char *errorMessage), void(*updateComplete)(bool flashSuccessful), const char *pathToFirmware="") |
| Calling this function with a valid update source will begin the process of updating the firmware. This is an async process and updates to the process are provided via callbacks. More... | |
| bool | IsFeatureSupported (SupportedFeatures feature) |
| Check to see if this HDMI device supports a specific feature. More... | |
| bool | GetFirmwareVersion (VersionCode *versionCode) |
| Fills out the provided Conflux::VersionCode object with the firmware of the installed HDMI hardware. More... | |
| const char * | GetName () |
| Gets the name of the installed HDMI hardware. More... | |
| bool | LoadConfig () |
| Loads persistent configuration data for the currently installed HDMI hardware. More... | |
| bool | UpdateConfigValues () |
| Update the current configuration of the hardware in a way that they are applied in the current session. More... | |
| bool | SaveConfig () |
| Write configuration data to persistent storage. (EEPROM or config file) More... | |
| Public Member Functions inherited from Conflux::HdmiInterface | |
| HdmiHardwareId | GetHardwareId () |
| Gets the ID of the current hardware. More... | |
| bool | GetFeatureCurrentValue (SupportedFeatures feature, int *currentValue) |
| Fills out the int* provided with the current value of the feature specified. More... | |
| bool | GetFeatureValueRange (SupportedFeatures feature, int *minValue, int *maxValue) |
| Fills out the minValue and maxValue params with the minimum and maximum range of the feature specified. More... | |
| bool | SetFeatureCurrentValue (SupportedFeatures feature, int currentValue) |
| Sets the new current value of the feature specified. More... | |
| const char * | GetFeatureName (SupportedFeatures feature) |
| Gets the name of the feature specified. More... | |
| const std::map< SupportedFeatures, RangedIntValue * > & | GetConstFeatureMap () |
| Gets a const reference to the map of features supported by the currently installed HDMI hardware, and the feature values. More... | |
Additional Inherited Members | |
| Protected Member Functions inherited from Conflux::HdmiInterface | |
| void | SetHardwareId (HdmiHardwareId iD) |
| bool | IsFeatureSupportedAndValuesPopulated (SupportedFeatures feature) |
| void | ClearFeatureMap () |
| Protected Attributes inherited from Conflux::HdmiInterface | |
| short | m_supportedFeatures |
| HdmiHardwareId | m_hardwareId |
| std::map< SupportedFeatures, RangedIntValue * > | m_featureValues |
Definition at line 37 of file XboxHdmi.h.
|
virtual |
Fills out the provided Conflux::VersionCode object with the firmware of the installed HDMI hardware.
| versionCode | class object that contains the version information for HDMI devices. Conflux::VersionCode. |
Implements Conflux::HdmiInterface.
Definition at line 117 of file XboxHdmi.cpp.
|
virtual |
Gets the name of the installed HDMI hardware.
Implements Conflux::HdmiInterface.
Definition at line 142 of file XboxHdmi.cpp.
|
virtual |
Check to see if this HDMI device supports a specific feature.
| feature | enumeration of possible supported features. Indexed by Conflux::SupportedFeatures. |
Implements Conflux::HdmiInterface.
Definition at line 112 of file XboxHdmi.cpp.
|
virtual |
Checks to see if a firmware update is available via the provided update source.
| updateSource | Enumeration of possible update sources. Indexed by Conflux::UpdateSource. |
| firmwareFilePath | absolution path to where the firmware file should be located. |
Implements Conflux::HdmiInterface.
Definition at line 51 of file XboxHdmi.cpp.
|
virtual |
Loads persistent configuration data for the currently installed HDMI hardware.
Implements Conflux::HdmiInterface.
Definition at line 147 of file XboxHdmi.cpp.
|
virtual |
Write configuration data to persistent storage. (EEPROM or config file)
Implements Conflux::HdmiInterface.
Definition at line 240 of file XboxHdmi.cpp.
|
virtual |
Update the current configuration of the hardware in a way that they are applied in the current session.
Implements Conflux::HdmiInterface.
Definition at line 209 of file XboxHdmi.cpp.
|
virtual |
Calling this function with a valid update source will begin the process of updating the firmware. This is an async process and updates to the process are provided via callbacks.
| updateSource | Enumeration of possible update sources. Indexed by Conflux::UpdateSource. |
| currentProcess | Callback that provides updates on the current update process. |
| percentComplete | Callback that provides the current percentage complete. |
| errorMessage | Callback that provides any errors encountered during the process. |
| updateComplete | Callback that notifies that the update has completed successfully, or otherwise. |
| pathToFirmware | Allows the location of the update to be provided by absolute path, if the update source is Conflux::UpdateSource::WORKING_DIRECTORY. |
Implements Conflux::HdmiInterface.
Definition at line 91 of file XboxHdmi.cpp.


Wednesday the 6th of December there will be the introduction to the project specifications and rules
In addition to that, the same day (the 6th of December) there will be also the official assessment of the course run by the University
As already announced in the mailing list, we will have a lecture on Thursday the 7th of December, from 15:30 to 17:30
He was a computer scientist
The first programmer of the Harvard Mark I - another general purpose electromechanical computer used during the WWII
Main developer of COBOL, one of the first high-level programming languages
COBOL adopted English for commands: x IS GREATER THAN y
t h y m o p a n i
5 6 4 2 7 3 1 8 0
i a m p y t h o n
It is an high-level programming language for general-purpose programming
It is currently one of the most used languages for programming in the Web, for Data Science and Natural Language Processing tasks
It will be introduced with more details during the laboratory sessions
Play with Python: https://repl.it/
Definition of algorithms:def <algorithm>(<param_1>, ...)
Actually it is the mechanism for implementing functions in Python, i.e. a mechanism for listing a sequence of instructions under a particular name
Built-in functions: made available by the programming language itself, e.g. len
or list
User-defined functions: written by a user of the language for addressing some specific requirements or tasks that are not addressable by means of one built-in function directly, like the algorithm implemented
def add_one(n):
return n + 1
result = add_one(41)
print(result)
def print(<object_1>, <object_2>, ...)
allows one to print to the screen a particular value (that can be referred by a variable)
Class: extensible template for creating objects having a certain type (e.g. the class for strings, for integers, for lists)
Object: a value of a certain kind (e.g. "a string"
, 42
, list([1,2,3])
)
Method: a function that can be run only if directly called via an object (e.g. <list>.append(<item>)
)
| type | immutable | mutable |
|---|---|---|
| string | x | |
| integer | x | |
| float | x | |
| boolean | x | |
None | x | |
| set | x | |
| dictionary | x | |
| tuple | x | |
| list | x | |
| deque | x |
def add_one(n):
n = n + 1
return n
my_num = 41
print(my_num) # 41
result = add_one(my_num)
print(my_num) # 41
print(result) # 42
def append_one(l):
l.append(1)
return l
my_list = list()
my_list.append(2)
print(my_list) # list([2])
result = append_one(my_list)
print(my_list) # list([2, 1])
print(result) # list([2, 1])
Module: a Python file (extension .py) that contains the definition of variables, functions, and even runnable code
Package: a mechanism to expose one or more Python modules
from collections import deque
my_stack = deque()
my_stack.append(1)
my_stack.append(2)
pop_el = my_stack.pop()
my_queue = deque()
my_queue.append(pop_el)
my_queue.append(3)
print(my_queue.popleft()) # 2


- Year
- County
- All counties
- Select a county
- Faciltity Type
- Rural two lane
- Rural Interstate
- Rural multilane divided
- Rural multilane undivided
- Rural others
- Severity
Decision Support Tool
App link: https://ldwhite.shinyapps.io/RuralSpdSafety_Demo/
Answer to Questions
- Q1: Do different speed measures contribute to crash outcomes?
- Yes!
- Developed a prototype of Decision Support Tool to illustrate number of expected crashes on segments
- Q2: Is there more variability in speeds just prior to a crash?
- Yes!
- Developed models that use travel speed to classify crash and non-crash event
Next Steps
- Decision Support Tool
- Refine the models for data structure 2
- Apply daily/hourly level models in the prototype
- Crash/ No Crash
- Apply machine learning models (for example, support vector machine) to reduce classification errors


No. 96-511
IN THE
SUPREME COURT OF THE UNITED STATES
OCTOBER TERM, 1996
JANET RENO, ATTORNEY GENERAL
OF THE UNITED STATES, ET AL.,
Appellants,
v.
AMERICAN CIVIL LIBERTIES UNION, ET AL.,
Appellees.
On Appeal from the United States District Court
For the Eastern District of Pennsylvania
_________________________
RESPONSE OF APPELLEES
AMERICAN LIBRARY ASSOCIATION, ET AL.,
TO APPELLANTS' JURISDICTIONAL STATEMENT
________________________
Bruce J. Ennis, Jr.*
Ann M. Kappler
Donald B. Verrilli, Jr.
John B. Morris, Jr.
JENNER & BLOCK
601 13th Street, N.W.
Washington, D.C. 20005
(202) 639-6000
Counsel for American
Library Assocation, et al.
Appellees
* Counsel of Record
Pursuant to Rule 18.6 of the Rules of this Court,
appellees American Library Association, et al., respectfully
submit this response to the government's jurisdictional
statement.
INTRODUCTION
During much of this century, the mass media has
been characterized by a limited number of speakers
transmitting programming and information to essentially
passive audiences. The communications medium of the twenty-
first century -- the Internet and cyberspace generally -- is
changing that, and will allow hundreds of millions of
individuals to engage in interactive communication, on a
national and global scale never before possible. The public
square of the past -- with pamphleteering, soap boxes, and
vigorous debate -- is being replaced by the Internet, which
enables average citizens to participate in national
discourse, publish a newspaper, distribute an electronic
pamphlet to the world, and generally to communicate to and
with a broader audience than ever before possible. It also
enables average citizens to gain access to a vast and
literally world-wide range of information.
The Communications Decency Act ("CDA" or the
"Act")[1] represents Congress' first attempt to regulate
speech content in this promising new medium. Unfortunately,
Congress undertook this task without holding any hearings
regarding the likely impact of the CDA on that medium. In
the name of protecting children from inappropriate material
they might encounter online, Congress clumsily attempted to
graft regulations developed in the "dial-a-porn" context onto
this very different, indeed unique, mode of communication.
After making precisely the kind of inquiry Congress
failed to make -- that is, undertaking five days of
evidentiary hearings and considering massive amounts of
documentary evidence, including extensive stipulated facts --
the three-judge district court below preliminarily enjoined
enforcement of provisions of the CDA that effectively ban
"indecent" and "patently offensive" communications between
adults. Appendix to Jurisdictional Statement ("J.S. App.")
148a-149a.[2] The district court unanimously held that
appellees are likely to succeed in their claim that this ban
violates the First Amendment.[3]
That judgment was clearly correct. Nevertheless,
appellees appreciate that this case raises important
constitutional questions regarding the application of
traditional First Amendment principles to a new and
increasingly important medium of communication, and therefore
recognize that the Court is likely to grant plenary review
regardless of the strength of the district court's decision.
Although we believe the judgment below could be summarily
affirmed, we understand that in this case of first
impression, the Court may prefer to engage in a more
comprehensive examination of this new medium, and of the
extensive record compiled below. We agree that in the
circumstances of this case, plenary review may be
appropriate, even if, as we believe, the judgment below is
plainly correct. Accordingly, we do not oppose the
government's request for plenary review.[4]
However, we do believe it is particularly important
in this case of first impression that the Court have a clear
understanding of precisely what was argued and decided below.
For example, the government did not argue below, as it
apparently does here, that Sections 223(a)(1)(B) and
223(d)(1)(A) of the CDA criminalize "indecent" or "patently
offensive" speech only when the speaker knows that the only
recipients of the speech are all under 18 years of age.
Moreover, the government's jurisdictional statement
frequently ignores dispositive findings of fact the
government does not argue are erroneous. Accordingly, we
submit this response in order to present a more complete
picture of what was, and was not, decided below.
COUNTERSTATEMENT OF THE CASE
A. Plaintiffs/Appellees in These Actions.
Appellees in these two consolidated cases represent
a broad and very diverse spectrum of content providers,
service providers, and users of content on the Internet.[5]
The appellee content providers include individuals, small
non-profit organizations, libraries, book stores, and other
speakers on the Internet. The appellee access providers
include small or non-commercial "Internet service providers"
("ISPs") as well as the world's leading ISPs and commercial
online services.
Collectively, appellees engage in or provide access
to an enormous variety of speech on the Internet, e.g.,
information about AIDS awareness, classical and modern
literature, political commentary, and interactive discussions
on an array of topics. All of this speech is appropriate and
constitutionally protected for adults, and the vast majority
of this speech is appropriate and constitutionally protected
for most minors as well. Nevertheless, appellees engage in
or provide access to some speech that, in some communities,
could be considered "indecent" or "patently offensive." Such
speech includes communications that contain the "seven dirty
words" found patently offensive in FCC v. Pacifica
Foundation, 438 U.S. 726 (1978), information about sexual
issues and problems, and images that depict sexually oriented
subjects.
Among this diverse group of appellee content-
providers, most do not charge money for the speech they make
available over the Internet (some appellees provide and
charge for access to the Internet or to an online service).
Thus, users around the world generally can access appellees'
speech on the Internet free of charge. Like other online
speakers, appellees generally seek to make their speech
available to the broadest possible audience, including
listeners within and outside of the United States.
B. The Three-Judge District Court's Decision.
Appellants' statement of the case entirely omits
any reference to or discussion of the extensive and unusually
detailed factual findings of the three-judge district court
that formed the foundation for the decision on appeal. See
J.S. App. 11a-61a. The Jurisdictional Statement fails to
acknowledge the district court's critical factual findings
that (1) it is impossible or infeasible for most Internet
speakers to comply with the CDA's affirmative defenses; (2)
because of the global nature of the Internet, the CDA will
not effectively shield minors from indecent or patently
offensive speech since a very substantial percentage of such
speech is posted abroad, and will not be deterred by the CDA;
and (3) parents can use currently available software and
access provider options to control what Internet sites their
children may access. These findings undergird the district
court's legal conclusions that the Act effectively bans
constitutionally protected speech among adults, would not
substantially further the government's stated interest in
shielding minors from indecent online speech, and is not the
least restrictive means available to serve the government's
interest.
1. Impossibility and infeasibility of compliance.
The district court received extensive evidence from numerous
experts and other witnesses, and carefully considered the
different methods of communication over the Internet. Based
on this body of evidence, the court made its general factual
finding that "[o]nce a provider posts content on the
Internet, it is available to all other Internet users
worldwide." J.S. App. 47a. For most methods of
communication over the Internet, the court concluded that it
simply is not possible for a speaker to restrict the
availability of his or her speech to adults.
For example, the district court specifically
considered the ability of a speaker posting a message to a
USENET newsgroup to comply with the CDA. The court found
that messages on newsgroups are "disseminated using ad hoc,
peer to peer connections between approximately 200,000
computers (called USENET 'servers') around the world," J.S.
App. 23a, and that the "dissemination of messages to USENET
servers around the world is an automated process that does
not require direct human intervention or review," id. at 23a-
24a. Because of this structure, the court found as a fact
that "once a user posts a message to a newsgroup . . . , that
message becomes available to all subscribers to that
newsgroup or bulletin board." Id. at 47a. As the court
below found, content posted to newsgroups is "available not
just in Philadelphia, but also in Provo and Prague." Id. at
48a. The court specifically further found that "individuals
posting a message to a newsgroup . . . cannot ensure that all
readers are adults." Id. at 50a (emphasis added) (noting
that even the government's expert agreed with that factual
conclusion).
The district court reached the same conclusions
about e-mail, mail exploders (also known as listservs), chat
rooms, and MUDs and MUSEs. The court found as a fact that
there is "no effective way to determine the identity or age
of a user who is accessing material through e-mail, mail
exploders, newsgroups, or chat rooms." J.S. App. 49a. With
regard to mail exploders, the district court specifically
noted that even the government's expert witness "agreed that
no current technology could give a speaker assurance that
only adults were listed in a particular mail exploder's
mailing list." Id. at 50a. As with newsgroups and mail
exploders, the court based its finding that individuals
"engaging in chat room discussions cannot ensure that all
readers are adults" in part on the fact that the government's
expert agreed. Id. Similarly, with MUDs and MUSEs, the
court found as a fact that "participants . . . do not know
whether the other participants are adults or minors." Id. at
51a.
With respect to the World Wide Web (which is one
method of communication on the Internet), the court found
that "[u]nlike other forms of communication on the Internet,"
J.S. App. 51a, there does exist "technology by which an
operator of a World Wide Web server may interrogate a user of
a Web site" using a computer program called a "cgi script,"
id. The court found as a fact, however, that content
providers who publish on the World Wide Web via the large
commercial online services cannot use cgi scripts. Id. For
those speakers on the Web, there "is no method currently
available . . . to screen recipients online for age." Id.
The court concluded that all of the "defenses"
advanced by the government below "are effectively unavailable
for non-commercial, not-for-profit entities," J.S. App. 61a,
and these entities constitute the majority of speakers on the
Internet. See id. at 43a-44a. For example, the distinct
court found, as a fact, that "credit card verification is
effectively unavailable to a substantial number of Internet
content providers as a potential defense to the CDA." Id. at
54a. The district court similarly considered the "adult
verification" defense and found as a fact that the "burdens
imposed by credit card verification and adult password
verification systems make them effectively unavailable to a
substantial number of Internet content providers." Id. at
56a. Finally, the district court found as a fact that the
government's "tagging" proposal would not allow a speaker to
ensure that a listener is not a minor. Id. at 57a-58a.
Chief Judge Sloviter summarized the court's factual
conclusions as follows:
we have found that no technology exists which allows
those posting [protected but indecent material] on the
category of newsgroups, mail exploders or chat rooms to
screen for age. Speakers using those forms of
communication cannot control who receives the
communication, and in most instances are not aware of
the identity of the recipients. If it is not feasible
for speakers who communicate via these forms of
communication to conduct age screening, they would have
to reduce the level of communication to that which is
appropriate for children in order to be protected under
the statute.
Even as to content providers in the other broad
category, such as the World Wide Web, where efforts at
age verification are technically feasible through the
use of Common Gateway Interface (cgi) scripts . . . ,
the Findings of Fact show that as a practical matter,
non-commercial organizations and even many commercial
organizations using the Web would find it prohibitively
expensive and burdensome to engage in the methods of
age verification proposed by the government, and that
even if they could attempt to age verify, there is
little assurance that they could successfully filter
out minors.
J.S. App. 74a. In their Findings of Fact, the three judges
below found as facts that:
Many speakers who display arguably indecent content on
the Internet must choose between silence and the risk
of prosecution. The CDA's defenses -- credit card
verification, adult access codes, and adult personal
identification numbers -- are effectively unavailable
for non-commercial, not-for-profit entities.
J.S. App. 61a (emphasis added).
2. Ineffectiveness of the CDA. The district court
also made specific factual findings demonstrating that,
because a substantial percentage of all of the indecent or
patently offensive speech that is available on the Internet
is posted abroad, the CDA will not be effective in its
claimed goal of preventing children from accessing that
material. The court found that a "large percentage, perhaps
40% or more," of content on the Internet "originates outside
of the United States," J.S. App. 59a, and some of that
foreign speech is sexually explicit, id. As the court found,
"[f]oreign content is otherwise indistinguishable from
domestic content (as long as it is in English), since foreign
speech is created, named, and posted in the same manner as
domestic speech." Id. Minors would have unfettered access
to all indecent or patently offensive speech posted abroad,
and thus, as Judge Dalzell concluded, "the CDA will almost
certainly fail to accomplish the Government's interest in
shielding children from pornography on the Internet." Id. at
145a.
3. Availability of user software to block or
screen material on the Internet. Finally, the government's
Jurisdictional Statement entirely omits any mention of the
extensive factual findings of the district court concerning
the variety of methods by which parents can easily and
inexpensively prevent their children from accessing indecent
or patently offensive online content even if posted
overseas.[6] The court identified many different and
currently available software programs that allow parents to
limit the Internet access of their children. J.S. App. 35a-
41a. Similarly, the court found that the major online
services all offer extensive options to allow parents to
control what their children can access. Id. at 41a-42a.
Given these factual findings, which the government
has not contested, it is clear that the three-judge district
court correctly held that plaintiffs had demonstrated a
likelihood of success on their claim that the challenged
provisions of the CDA violate the First Amendment.[7]

As noted, the government does not argue that the
district court's findings of fact are arbitrary or otherwise
erroneous. Nor does the government question the First
Amendment principles invoked by the district court.
Accordingly, the government is simply challenging the
application of settled First Amendment principles to
undisputed findings of fact.
A. The Government Does Not Question the District
Court's Conclusion That the CDA Must Be Subjected
to Strict Scrutiny.
The government does not dispute that the district
court appropriately subjected the CDA's content-based
restrictions to strict scrutiny. See Jurisdictional
Statement ("J.S.") 15. Its sole argument is that the Act can
be upheld under strict scrutiny because the Act "directly and
materially" serves a "compelling" government interest in the
"least restrictive" way. Id., citing Sable Communications of
Cal., Inc. v. FCC, 492 U.S. 115, 126 (1989). Accord Turner
Broadcasting System v. FCC, 114 S.Ct. 2445, 2470 (1994).[8]
The government relies, as it did below, on its interest in
protecting children from "patently offensive" and "indecent"
sexually oriented online material. See J.S. App. 65a
(Sloviter, J.); 143a (Dalzell, J.).
But the government also invents a new interest,
never advanced below -- "furthering the First Amendment
interests of all parents and children in using what has
become an unparalleled tool for communicating and retrieving
information." J.S. 16.[9] Without citation to the record,
the government now asserts (as if it were a matter of fact)
that unless "patently offensive" and "indecent" material is
suppressed at the speaker end, "many parents will be deterred
from permitting their children to use the Internet; indeed,
many parents will be deterred from bringing the Internet into
their homes at all." Id. The government introduced no
evidence to support these assertions of fact. And, not
surprisingly, the district court was not asked to, and did
not, make any such findings.[10] Thus, nothing in the record
supports the assertion that the Act directly and
substantially furthers this newly coined interest.[11]
In any event, it makes little difference what
interest the government now asserts in attempting to justify
the Act's ban on protected speech. The district court
correctly concluded that the Act cannot survive the strict
scrutiny to which it must be subjected.
B. The District Court Correctly Concluded That
Appellees Had Established a Likelihood of Success
on Their Claim That the Challenged CDA Provisions
Are Facially Unconstitutional.
Although the government now attempts to separate
out and defend individually the three substantive provisions
of the CDA preliminarily enjoined by the district court, this
is not how the case was argued and tried below. To the
contrary, the government made no attempt to distinguish
between the three provisions, essentially conceding the same
First Amendment analysis applies to all three.[12] The entire
focus of the case -- from the perspective of not only the
court, but the parties as well -- was the feasibility of the
CDA's defenses and the Act's patent overbreadth. To the
extent any one provision received attention, it was the
"display" provision, 47 U.S.C. § 223(d)(1)(B). That
provision criminalizes the online display of patently
offensive material "in a manner available" to minors. The
vast majority of the speech criminalized by the CDA, perhaps
99% of the speech at issue in this litigation, is
criminalized by that provision. That provision
unquestionably violates the First Amendment, as both the
three-judge court below and the Shea court unanimously
held.[13]
1. The Display Provision Imposes a Criminal Ban on
Constitutionally Protected Speech Contrary to Well-
settled First Amendment Precedent.
As the government essentially concedes, the
challenged provisions of the CDA are clearly unconstitutional
unless the Act's defenses effectively enable online speakers
to communicate indecent or patently offensive speech to
adults. See J.S. 16-17. That is so because this Court has
repeatedly held that government may not ban indecent speech
between adults in order to advance its interest in protecting
minors from that speech. To the contrary, "government may
not `reduce the adult population . . . to . . . only what is
fit for children.'"[14] "The level of discourse reaching a
mailbox simply cannot be limited to that which would be
suitable for a sandbox," and this is so "regardless of the
strength of the government's interest" in protecting
children. Bolger v. Youngs Drug Products Corp., 463 U.S. 60,
74-75 (1983) (emphasis added). Government may not
constitutionally "quarantin[e] the general reading public
against books not too rugged for grown men and women in order
to shield juvenile innocence . . . . Surely this is to burn
the house to roast the pig." Butler v. Michigan, 352 U.S.
380, 383 (1957). In Sable, the Court cited Butler to
"reiterate" that point, and stressed that a federal statute
is unconstitutional if it has the "effect of limiting the
content of adult [communications] to that which is suitable
for children . . . ." 492 U.S. at 131 (emphasis added).[15]
See also Denver Area Educ. Telecomm. Consortium v. FCC, 116
S.Ct. 2374, 2393 (1996) (noting that "[n]o provision, we
concede, short of an absolute ban, can offer certain
protection against assault by a determined child," and
affirming that the Court has "not, however, generally allowed
this fact alone to justify reduc[ing] the adult population .
. . to . . . only what is fit for children.") (internal
quotations omitted); id. at 2416-17 (Kennedy & Ginsburg,
J.J., concurring in part and dissenting in part) (same).
For this reason, the government's entire case
hinges on the availability of the Act's defenses. But as the
district court unanimously concluded, based on its extensive
findings of fact, which the government has not contested, the
defenses simply are not available to the vast majority of
online speakers. As a result, the Act does effect a ban on
constitutionally protected speech between adults. The
government's arguments to the contrary are based on factual
assertions that find no support in the record.
a. First, the government argues that the Act's
credit card and adult ID defense is available to the small
subset of online speakers who charge for access to their Web
sites -- so-called "commercial" providers. J.S. 22. The
government introduced limited evidence that certain
commercial "pornographers" already use credit cards or adult
ID verification systems. But, as Judge Dalzell explained,
these providers will be largely unaffected by the Act
precisely because they already require credit cards to obtain
access to virtually all of their posted content. Even if the
Act were struck down, commercial pornographers would continue
to require credit cards, as they did before the CDA was
enacted, because they do not want to provide their speech for
free. To the extent they offer advertising "teasers" free of
charge, the Act would require them to charge for those images
as well, but the Act's vast burden on protected speech cannot
be upheld based on this minuscule subset of applications in
which the credit card defense could arguably be invoked. See
J.S. App. 135a (Dalzell, J.). Far from advancing the
government's interest "in a direct and material way," Turner,
114 S.Ct. at 2470, such narrow application "provides only the
most limited incremental support for the interest asserted."
Bolger, 463 U.S. at 73.[16]
The government's suggestion that the district court
should have rewritten Section 223(d)(1)(B) so that it would
apply only to these "commercial pornographers," see J.S. 26,
contradicts the statutory text and clearly expressed
congressional intent. As Judge Sloviter concluded below,
"[i]t is clear from the face of the CDA and from its
legislative history that Congress did not intend to limit its
application to commercial purveyors of pornography." J.S.
App. 75a. Accord Shea, 930 F. Supp. at 949-50. Unlike the
dial-a-porn restrictions upon which the CDA is purportedly
modeled, the CDA is not by its terms limited to "commercial"
speakers. And the Conference Report confirms that Congress
intended "content regulation of both commercial and non-
commercial providers." H.R. Conf. Rep. No. 458, 104th Cong.,
2d Sess. 191 (1996). Indeed, the Act is expressly made
applicable to "libraries and educational institutions." 47
U.S.C. § 230(e)(2). And Senator Exon, the main sponsor of
the Act, referred to newsgroups (which contain primarily non-
commercial speech) as the principal target of the
legislation. See 141 Cong. Rec. S8089 (daily ed. June 9,
1995). The district court thus correctly declined to perform
the "radical surgery" on the CDA the government suggests.
Further, the government ignores the district
court's factual finding that the credit card defense "would
impose a significant economic cost on non-commercial
entities." J.S. App. 54a. Forcing speakers to require
credit card verification before providing access to their
speech would cause many speakers, including many appellees,
to "shut down" their Web sites. Id. Credit card
verification, the court found, also "would significantly
delay the retrieval of information on the Internet," which,
as the government's expert acknowledged, would deter many
listeners from seeking access at all. Id. And it "would
completely bar adults who do not have a credit card and lack
the resources to obtain one from accessing any blocked
material." Id. Based on the evidence, the court concluded
that "[a]t this time, credit card verification is effectively
unavailable to a substantial number of Internet content
providers as a potential defense to the CDA." Id. The
government has not challenged these critical findings.
b. Ignoring the district court's express findings
to the contrary, the government contends that noncommercial
Web sites can take advantage of the Act's defenses, and
complains that the court did not adequately discuss the
availability of "adult verification services," such as
"AdultCheck." J.S. 23. The reason is simple. The
government offered "very limited evidence" regarding age
verification systems, and even that limited evidence "was not
based on personal knowledge." J.S. App. 55a. There was no
evidence how many persons are registered with such systems,
or how reliable they are in screening by age. Id. There was
evidence, however, that adult verification systems are used,
to the extent they are used at all, only "for accessing
commercial pornographic sites [which] charge users for their
services." Id. Appellees and their potential listeners
obviously would not want to be associated with verification
systems that are used primarily, if not exclusively, to
access "pornographic" sites. See Denver Area, 116 S.Ct. at
2391 ("written notice" requirement will restrict cable
viewing by subscribers who "fear for their reputations" if it
were disclosed they view "patently offensive" material).
There are no such verification systems for the vast majority
of speech on the Internet, including the speech of the
appellees in these consolidated cases. The government's
contention now that such systems may be available as a
defense for commercial speakers who are not "pornographers,"
and for the huge number of noncommercial speakers, is thus
entirely unsupported by the record.
To the contrary, the district court found as fact
that "[i]t would not be feasible for many non-commercial
organizations to design their own adult access code screening
systems because the administrative burden of creating and
maintaining a screening system and the ongoing costs involved
is beyond their reach." J.S. App. 55a. Indeed, even some
"commercial" entities could not afford to do so. Id.
Moreover, there was evidence that some Web users would not
retrieve information requiring credit cards or adult IDs.
Id. Most importantly, as the court found, "the [g]overnment
presented no testimony as to how such systems could ensure
that the user of the password or credit card is in fact over
18." Id. at 56a. The government has not directly
challenged, and has certainly offered no basis for
overturning, the district court's factual finding that "[t]he
burdens imposed by credit card verification and adult
password verification systems make them effectively
unavailable to a substantial number of Internet content
providers." Id.
c. Finally, with not a single citation to the
record or to the district court's findings, the government
baldly contends that mail exploder, chat room and newsgroup
users who want to disseminate patently offensive material to
adults can comply with the Act. J.S. 23-25. This contention
is fatally undermined by the district court's factual
findings. The court concluded, based on the record evidence,
that "[t]here is no effective way to determine the identity
or the age of a user who is accessing material through e-
mail, mail exploders, newsgroups or chat rooms." J.S. App.
49a. Indeed, as the district court noted, the government's
own expert agreed with those findings. Id. at 50a.
Despite its current speculation, in the district
court "[t]he government offered no evidence that there is a
reliable way to ensure that recipients and participants in
such fora can be screened for age." Id. (emphasis added).
It is thus not surprising that the government ultimately
concedes that users of mail exploders, newsgroups, and chat
rooms who want to disseminate their constitutionally
protected speech will be forced by the CDA to "switch to an
alternative method of communicating that material, over the
Internet or otherwise." J.S. 24. But requiring speakers to
switch to an alternative method is patently unconstitutional,
particularly since there is no realistic alternative, in
terms of cost or audience reach, to communication over the
Internet. The government can no more single out a mode of
Internet communication for special bans (or burdens) than it
can single out one mode of the press. See Arkansas Writers
Project, Inc. v. Ragland, 481 U.S. 221, 231-32 (1987). And,
in any event, the fact that speech can occur elsewhere cannot
justify a content-based restriction. Southeastern Promotions
v. Conrad, 420 U.S. 546, 556 (1975); Schneider v. State, 308
U.S. 147, 163 (1939).
Even more offensive to the First Amendment, the
government suggests that "users of all three forms of
communication always have the option to tone down their
communication so that it does not contain material"
criminalized by the Act. J.S. 24. In other words, they can
self-censor their speech in order to avoid federal
prosecution. There could be no clearer admission that the
CDA's "display" provision imposes a ban on the dissemination
of constitutionally protected speech.
2. All Three Challenged Provisions Fail Strict
Scrutiny Because They Do Not Directly and
Substantially Advance Any Compelling Government
Interest.
In any event, even if the majority of Internet
speakers could utilize the CDA's defenses, and they cannot,
the Act would still fail strict scrutiny for the independent
reason -- not addressed by the government here -- that
because of the global nature of the Internet, the Act cannot
and will not directly and substantially further the
government's stated interest. The district court found as
fact that "[a] large percentage, perhaps 40% or more, of
content on the Internet originates outside the United
States." J.S. App. 59a; accord Shea, 930 F. Supp. at 931.
The government conceded below that some of the speech posted
abroad would violate the CDA, J.S. App. 59a, and it is likely
that at least 40% of all speech criminalized by the Act
originates outside the United States.[17]
Moreover, the subset of indecent and patently
offensive speech the government found most troubling (and
asserted is the focus of the CDA) -- namely, sexually
oriented visual images -- is generic and largely fungible.
Its country of origin is irrelevant. From the perspective of
its potential interest to and/or effect on minors, a photo of
a nude woman posted in Denmark is no different from a photo
of a nude woman posted in the United States. And both are
equally available to every American home connected to the
Internet. As the district court concluded, "[p]ornography
from, say, Amsterdam will be no less appealing to a child on
the Internet than pornography from New York City." J.S. App.
145a (Dalzell, J.). Because foreign speakers will have
little or no incentive to comply with the Act, "the CDA will
almost certainly fail to accomplish the Government's interest
in shielding children from pornography on the Internet." Id.
See also Shea, 930 F. Supp. at 941 (concluding that the CDA
"will not reach a significant percentage of the sexually
explicit material currently available").[18]
In fact, if the Act were upheld, thus criminalizing
domestic speech, that would simply "encourage American
pornographers to relocate in foreign countries or at least
use anonymous remailers from foreign servers." J.S. App.
145a n.22 (Dalzell, J.).
Under strict scrutiny (and even under intermediate
scrutiny), the government must demonstrate that the Act "will
in fact alleviate the[] harms [it is meant to prevent] in a
direct and material way." Turner, 114 S.Ct. at 2470. The
CDA's inability to regulate foreign speakers precludes any
such showing. See, e.g., Denver Area, 116 S.Ct. at 2416
("Partial service of a compelling interest is not narrow
tailoring.") (Kennedy & Ginsburg, J.J., concurring in part
and dissenting in part); Florida Star v. BJF, 491 U.S. 524,
540-41 (1989) (holding that Florida law prohibiting
disclosure of rape victims' names in "any instrument of mass
communication" but not by other means did not directly and
substantially further the law's stated purpose); Smith v.
Daily Mail Publishing Co., 443 U.S. 97, 104-05 (1979)
(invalidating law making it a crime for newspaper, but not
electronic media, to publish the names of juvenile
offenders); see also Bolger, 463 U.S. at 73 (restriction that
"provides only the most limited incremental support for the
interest asserted" cannot pass muster under commercial speech
standards). As Justice Scalia explained in Florida Star, "a
law cannot be regarded as . . . justifying a restriction upon
truthful speech, when it leaves appreciable damage to th[e
government's] supposedly vital interest unprohibited." 491
U.S. at 541-42 (Scalia, J., concurring).
This fundamental shortcoming of the Act exists
regardless of whether the online communication is
specifically and intentionally directed to minors or is
simply displayed in a manner available to them; in either
event, the CDA will not shield minors from foreign-
originating material. The Act's ineffectiveness is therefore
a separate and independent reason for affirming the district
court's preliminary injunction as to all three of the CDA's
substantive restrictions, regardless of how broadly or
narrowly they are construed. See pp 24-26, infra.
3. The Act Fails Strict Scrutiny Because There Are
Less Restrictive Means to Achieve the Government's
Stated Goals.
Underlying the government's argument is a single
premise -- that without the Act, minors would be left "wholly
unprotected." J.S. 27. See also id. at 24 (arguing that
there is "no other effective way to vindicate the
government's compelling interests"). But that premise is
simply not true. Indeed, it is completely undermined by the
district court's findings of fact, based largely on
government stipulations.
The district court concluded that "market forces
exist to limit the availability of material on-line that
parents consider inappropriate for their children." J.S.
App. 32a n.12. The district court made extensive factual
findings regarding the availability of "software that is
intended to enable parents and other adults to limit the
Internet access of children." Id. at 35a. The court noted
that "[t]he market for this type of software is growing, and
there is increasing competition among software providers to
provide products." Id. The court went on to make specific
findings regarding two such products: Cyber Patrol and
SurfWatch. Id. at 35a-41a. The court also found that all of
the major commercial Internet access providers -- America
Online (AOL), Microsoft Network, CompuServe and Prodigy --
"offer parental control options free of charge to their
members," and made specific findings regarding those parental
control mechanisms. Id. at 41a-42a. Each of these findings
was based on facts stipulated by the government.
The court also discussed PICS (the "Platform for
Internet Content Selection"), which has developed "technical
standards that would support parents' ability to filter and
screen material that their children see on the Web." Id. at
33a. PICS provides the ability for third parties, as well as
individual content providers, to rate material. Parents can
then screen their children's Internet access based on the
rating system they choose. Indeed, they can screen out all
speech that has not been affirmatively identified as
appropriate for children by a rating bureau the parents
trust. Id. These findings too were stipulated by the
government.
Based on these stipulated facts and the additional
evidence it heard at trial, the court concluded that
"currently available user-based software suggests that a
reasonably effective method by which parents can prevent
their children from accessing sexually explicit and other
material which parents may believe is inappropriate for their
children will soon be widely available." J.S. App. 42a.
As Judge Dalzell explained, these software tools
afford parents options to protect their children from online
material they deem inappropriate. J.S. App. 146a. But even
without such software, "parents can supervise their
children's use of the Internet or deny their children the
opportunity to participate in the medium until they reach an
appropriate age." Id. The government can support parents by
educating the public about the "benefits and dangers of this
new medium." Id. See Denver Area, 116 S.Ct. at 2393
(concluding that "informational requirements" together with
support for user based blocking is a more narrowly tailored
means of limiting minors' access to patently offensive
material on cable than is speaker based blocking).
In other sections of the CDA, Congress determined
that user based blocking mechanisms are the most appropriate
means of regulating content, including indecency, on
broadcast television. In Section 551 of the Act, Congress
directed television manufacturers to equip their products
"with a feature designed to enable viewers to block display
of all programs with a common rating" -- the so-called "V-
chip." Sec. 551(c). Congress then encouraged the broadcast
industry to develop a rating system, Sec. 551(b), and
expressly stated federal policy to encourage the
establishment of a "technology fund" to support the
development of user-based blocking technology and public
education, Sec. 552. The fact that Congress has chosen these
significantly less restrictive means to protect minors from
indecent material in broadcast television further supports
the district court's holding that the Act is not narrowly
tailored. See Denver Area, 116 S.Ct. at 2392 (unexplained
decision to use "significantly less restrictive" means to
shield minors from "patently offensive" material on regular
cable channels demonstrated that restrictions applicable to
leased channels is neither the "least restrictive
alternative" nor "narrowly tailored").
C. The Non-Display Provisions of the CDA Preliminarily
Enjoined by the District Court May Pose Different
Questions If They Are Construed As the Government
Now Apparently Construes Them on Appeal.
The government did not argue below that Sections
223(a)(1)(B) and 223(d)(1)(A) only criminalize the
transmission of "indecent" or "patently offensive material"
when the speaker knows that the only recipient of the
communication is under 18 years of age. The government now
contends, for the first time, that Section 223(a)(1)(B)
"applies only in situations in which a person transmits
indecent material to another person, knowing that person is
under 18." J.S. 20 (emphasis added). If we understand the
government correctly, it is now interpreting Section
223(a)(1)(B) to apply only when the only recipient of a
communication is known to be a minor.[19]
Below, all parties assumed that Section
223(a)(1)(B) could, and would, be interpreted to criminalize
any indecent communications using a telecommunications device
when the speaker, knew, or had reason to believe, that any
recipient of the communication would be a minor. Since every
content provider on the World Wide Web, for example, knows --
in the sense of being virtually certain -- that some
recipient of the message will be a minor, Section
223(a)(1)(B) creates the same constitutional problems
(barring speech between adults in order to shield minors from
the same speech) as the display provision. Accordingly, it
is not surprising that the district court applied the same
First Amendment analysis to the non-display provisions, and
unanimously concluded that the "[p]laintiffs have established
a reasonable probability of eventual success in the
litigation by demonstrating that §§ 223(a)(1)(B) and
223(a)(2) of the CDA are unconstitutional on their face to
the extent that they reach indecency." J.S. App. 62a.
Although the government now asserts that the display
provision and the other provisions "require[] separate
analysis," J.S. 19, it did not urge any separate analysis
below. See note 12, supra. Based on the arguments that were
made to the district court, its conclusion regarding
§ 223(a) was clearly correct.
The government also now, for the first time,
interprets Section 223(d)(1)(A) as applying only to
"situations in which a person sends indecent material to
someone he knows to be under 18." J.S. 21. It is not at all
clear that this is a tenable interpretation of Section
223(d)(1)(A), which, unlike Section 223(a)(1)(B), does not
expressly impose a scienter requirement regarding age. If we
understand the government correctly, it is now interpreting
Section 223(d)(1)(A) to apply to a communication with
specific persons where the speaker knows that the only
persons receiving the message are minors.
Below, all parties assumed that Section
223(d)(1)(A) could, and would, be interpreted to reach any
"patently offensive" communication knowingly made using an
interactive computer service where the speaker sent the
message to specific persons -- such as by e-mail or mail
exploders -- as opposed to methods of online communication in
which the speaker merely makes his speech available to anyone
who wants to access it, such as through the World Wide Web.
Under this interpretation, Section 223(d)(1)(A) imposes
virtually the same restrictions on adult-to-adult
communications as does the display provision, and presents
the same constitutional problems. Not surprisingly, the
district court unanimously concluded that "Sections 223(d)(1)
and 223(d)(2) of the CDA are unconstitutional on their face."
J.S. App. 62a. Based on the arguments made to the district
court, this conclusion was clearly correct.
In summary, the display provision clearly violates
the First Amendment because it bans "patently offensive" but
constitutionally protected speech between adults. As
understood and argued below, the other provisions suffer from
the same infirmity. If the government is now definitively
and officially construing those other provisions to apply
only when the speaker knows that the only recipients of the
speech are minors, this Court should not itself undertake to
review, ab initio, the constitutionality of these newly
coined provisions. Instead, it should allow the district
court to reassess those provisions on remand in light of the
government's new position.
CONCLUSION
Although the judgment below was plainly correct,
and would warrant summary affirmance, because this is a case
of first impression involving application of First Amendment
principles to an important new medium of communication,
appellees do not oppose the government's request for plenary
review.
Respectfully submitted,
Bruce J. Ennis, Jr.*
Ann M. Kappler
Donald B. Verrilli, Jr.
John B. Morris, Jr.
JENNER & BLOCK
601 13th Street, N.W.
Washington, D.C. 20005
(202) 639-6000
Counsel for American
Library Assocation, et al.
Appellees
* Counsel of Record
October 1996
1. The CDA was enacted as Title V of the Telecommunications
Act of 1996, Pub. L. No. 104-104, § 502, 110 Stat. 56, 133-
35, and will be codified at 47 U.S.C. §§ 223(a)-(h).
2. Appellees did not challenge the application of the CDA to
obscenity, child pornography, and unlawful child
solicitation, and the court's order does not reach those
applications. See J.S. App. 150a-151a.
3. Subsequently, another three-judge district court,
addressing a separate, and somewhat narrower challenge to the
CDA, unanimously reached the same conclusion. See Shea v.
Reno, 930 F. Supp. 916 (S.D.N.Y. 1996). The government has
filed a jurisdictional statement in Shea, No. 96-595, urging
this Court to hold Shea pending resolution of this case.
Appellees agree that is the proper approach.
4. We note that the government has not urged summary
reversal. We note also that the plaintiffs/appellees ACLU et
al. in the consolidated case have moved for summary
affirmance. Obviously, appellees in this case would welcome
that resolution, and our belief that the Court would probably
prefer plenary review should not be understood as casting any
doubt on the strength of that motion.
5. The plaintiffs/appellees in this case, American Library
Association, Inc., et al. v. United States Department of
Justice, et al., are the American Library Association,
Freedom to Read Foundation, America Online, Inc., Society of
Professional Journalists, The Microsoft Network LLC,
Newspaper Association of America, Association of Publishers,
Editors and Writers, Association of American Publishers,
Inc., CompuServe Inc., Commercial Internet Exchange
Association, Netcom Online Communications Services, Inc.,
Prodigy Services Corp., American Society of Newspaper
Editors, Interactive Services Association, Microsoft Corp.,
American Booksellers Association, American Booksellers
Foundation for Free Expression, Wired Ventures, Inc., OpNet
Inc., Hotwired, Inc., The Health Sciences Libraries
Consortium, Apple Computer, Inc., Citizens Internet
Empowerment Coalition, Families Against Internet Censorship,
Interactive Digital Software Association, Magazine Publishers
of America, and National Press Photographers Ass'n.
6. Thus, user based blocking is far more effective than the
speaker based blocking required by the CDA, because only user
based blocking will prevent minors from accessing the
substantial percentage of all indecent speech that is posted
abroad. And unlike speaker based blocking, which effectively
prohibits adults from gaining access to the blocked speech,
user based blocking enables parents to gain access to the
speech themselves, while denying access to their children.
7. Two judges also concluded that the CDA is
unconstitutionally vague. In particular, Judges Sloviter and
Buckwalter agreed that the terms "indecent" and "patently
offensive" "in context" are so vague as to violate the First
and Fifth Amendments. J.S. App. 80a (Sloviter, J.); 84a-85a
(Buckwalter, J.). These judges were clearly correct,
notwithstanding this Court's distinguishable decision in
Denver Area Educ. Telecomm. Consortium, Inc. v. FCC, 116
S.Ct. 2374 (1996); however, because the district court's
decision can and should be affirmed on the basis of its First
Amendment holding, there is no need for the Court to reach
the vagueness issue.
8. The government wisely has not resurrected its argument,
suggested but not seriously urged below, that an
"intermediate scrutiny" standard, drawn from FCC v. Pacifica
Found., 438 U.S. 726 (1978), might be appropriate instead.
Clearly such a standard is not applicable here where there is
no plausible analogy to the spectrum scarcity of broadcast:
the Internet's characteristics are the antithesis of the
scarcity that underlies the Pacifica standard. See Turner,
114 S.Ct. at 2457 (refusing to extend Pacifica standard to
cable television); Sable, 492 U.S. at 127-28 (same regarding
dial-a-porn services). Nor is the Internet characterized by
the pervasiveness and intrusiveness the Pacifica Court found
noteworthy about broadcast. As the district court found,
accessing online content requires several affirmative steps;
"[c]ommunications over the Internet do not 'invade' an
individual's home or appear on one's computer screen
unbidden." J.S. App. 49a. Moreover, "[a]lmost all sexually
explicit images are preceded by warnings as to the content."
Id. Thus, as the government's witness admitted, "the 'odds
are slim' that a user would come across a sexually explicit
site by accident." Id.
9. In the context of strict scrutiny, the Court should
consider only the precise interests the government identified
and urged below as the justification for the law; it should
not credit new interests advanced only on appeal and as to
which the court below had no opportunity to take evidence or
pass upon. Cf. Edenfield v. Fane, 113 S.Ct. 1792, 1798
(1993). In any event, the government cites no legal support,
and there is none, for the proposition that assisting parents
or children to use the Internet is a "compelling" government
interest.
10. Indeed, as the government itself notes, J.S. 6-7, the
evidence shows that the number of minors gaining access to
the Internet is rapidly increasing. And to the extent
parents are concerned about their children's access to
inappropriate materials, the district court found that user
based technological tools are available to assist them in
imposing restrictions. J.S. App. 42a.
11. See note 18, infra, and accompanying text.
12. Below, the government's only specific argument regarding
47 U.S.C. § 223(a) was relegated to a footnote: "The
specific basis for plaintiffs' challenge to section 223(a) is
unclear. In the absence of a specific showing as to how this
provision is applicable and might be in violation of the
Constitution, it should not be enjoined." Defendant's
Opposition to Plaintiffs' Motion for a Temporary Restraining
Order (Feb. 14, 1996) at 13 n.8. The government made no
specific arguments below regarding 47 U.S.C. § 223(d)(1)(A),
and otherwise referred to 47 U.S.C. §§ 223(a) and 223(d)
together throughout its papers.
13. The government tacitly acknowledges the weakness of its
argument that Section 223(d)(1)(B) can survive strict
scrutiny when it states that the constitutional issues posed
by that provision are "more difficult" than those posed by
Sections 223(a) and 223(d)(1)(A). J.S. 14.
14. Sable Communications v. FCC, 492 U.S. at 128 (quoting
from Bolger v. Youngs Drug Products Corp. 463 U.S. 60, 73
(1983), which in turn quoted from Butler v. Michigan, 352
U.S. 380, 383 (1957)).
15. Thus, this bedrock principle has already been applied in
the context of sale or distribution of immoral books and
other printed materials (Butler), use of the postal service
to mail unsolicited commercial advertisements about
contraceptives to homes (Bolger), and use of the telephone to
sell sexually explicit communications (Sable).
16. If, as the government has suggested, the CDA was
principally aimed at commercial providers of online
"pornography," Congress could have passed a statute aimed
specifically at that activity. Cf. Zauderer v. Office of
Disciplinary Counsel, 471 U.S. 626, 645-46 (1985) (government
may not enact a broad prophylactic rule "simply to spare
itself the trouble" of distinguishing speech that is the
subject of legitimate regulatory concern from speech that is
not).
17. There was no evidence that the amount of indecent and
patently offensive speech, as a percentage of the whole,
varies depending on its country of origin.
18. For the same reason, the CDA will not directly and
substantially further the government's newly found interest
in expanding access to the Internet. Because foreign
"patently offensive" and "indecent" online material will
remain available to their children, parents (under the
government's theory) will continue to be deterred from
permitting their children to use the Internet.
19. Of course, even under this interpretation, the provision
could still senselessly, and indeed unconstitutionally,
outlaw a college professor's communications concerning Lady
Chatterly's Lover or Moll Flanders, for example, to a student
known to be under 18.
Back to the Citizens Internet Empowerment Coalition Page
Posted on October 31, 1996


[
Home
][
Debug Menu
]
Query Sloop's Badger DB Directly
Table Name:
watch
ressum
eventcount
watchactivity
internal
all
Query by Regex
Query by Time
Key RegEx Filter:
Look Back Range:
1 Hour
3 Hours
6 Hours
12 Hours
1 Day
1 Week
2 Weeks
Key Search:{Kind/Namespace/Name}
Max Rows:
Total Keys Matched
{{.KeysMatched}}
Total Size of Matched Keys
{{.TotalSize}}
Total Keys Searched
{{.TotalKeys}}
Key List
:
{{range $key, $value := .Keys}}
{{.}}
{{end}}


A sample application that demonstrates how to use the Facebook JavaScript SDK and the Graph API.
View My Profile Login with Facebook


updatePassword
nix.track-api-client.nixTrackApiClient.auth
Reset password related endpoints
requests a password reset link to be sent to email or phone number
Email or mobile number of the user
updates a password
{ "link_hash": "string", "password": "string" }


NINA TAKES A LOVER A film review by Scott Renshaw Copyright 1995 Scott Renshaw
Starring: Laura San Giacomo, Paul Rhys, Michael O'Keefe, Cristi Conway, Fisher Stevens. Screenplay/Director: Alan Jacobs.
I have this idea for a screenplay, and so do about a million other people in the Los Angeles area alone. The form seems so accessible--three acts, 120 pages and a couple of meaty characters--that the allure is easy to see. Every once in a while, one of these ideas will end up on the screen, and every once in an even greater while, the writer will get the chance to direct his own story. This can be both a good thing and a bad thing for a novice; a single vision can be unifying or it can be self-indulgent. Alan Jacobs' NINA TAKES A LOVER is an extremely intriguing concept, and a handsomely made film. I just kept thinking that it needed another hand in the production to point out some major distractions.
The story of NINA TAKES A LOVER unfolds in flashback, as the principles describe the events to a reporter (Michael O'Keefe) doing a story on infidelity. Laura San Giacomo plays Nina, a married San Francisco woman whose husband is away on one of his many business trips, this one for three weeks. A close friend of Nina's (Cristi Conway) is having an affair with a sleazy cafe' owner (Fisher Stevens), but Nina doesn't seem to be the type. One day, however, she begins flirting with a photographer (Paul Rhys) that she meets in a park, and the flirtation turns into a romance. As the relationship develops, Nina begins to realize that she is getting much more out of her affair than out of her marriage. She also makes some discoveries about both her husband and her lover which force her to decide which she wants more.
On one level, NINA TAKES A LOVER works wonderfully, and that is in the examination of Nina's character. As the film opens, she is something of a mystery, a shoe store owner given to lying around her bed in a neglige. Gradually, however, this somewhat bland Nina makes sense. She is a woman seeking, as her never-named lover describes it, an "experience:" something, anything different from her marriage. Her thrilling experimentation with her lover is sometimes uncomfortably to watch; she asks him challenging questions and expects answers, something that apparently is not possible with her husband, and she feels more adventurous, more sexy. NINA TAKES A LOVER considers what it is that makes people stray, and succeeds in showing people finding out that they were missing things that they never realized they were missing before.
The problem with this very affecting story is that it is trapped in an awkward structure. NINA TAKES A LOVER has the confessional feel of a stage play, and it might have worked better in that medium. The segments involving the discussions with the reporter heighten the staginess, pull the audience away from the more interesting events of Nina's affair, and, perhaps worst of all, suggest a rookie director resorting to telling you what he couldn't figure out how to show visually. The sub-plot involving the affair between Nina's friend and her annoying lover is similarly unnecessary, adding only some silly comic relief. NINA TAKES A LOVER seems best suited to being a two-character piece, since it is the relationship between Nina and her lover which really works.
Even that adjustment would not have addressed Jacobs' sometimes distracting over-direction. There are moments when scenes are spliced together in a manner which is too self-consciously artsy and draws too much attention to the strange cutaways, as though Jacobs didn't trust the ability of his narrative to hold an audience's attention. The editing is also quite clumsy on occasion, the choice of who is in a shot somewhat arbitrary in appearance, and many of the performances pitched at a level of hyper-seriousness which veers dangerously close to melodrama. Jacobs' might have been well-advised to have another voice around to tell him when he needed to lighten up, or to let the story tell itself. Still, NINA TAKES A LOVER is a thoughtful, atmospheric film which tells a great story. If Alan Jacobs the director could serve Alan Jacobs the writer better, he could have a bright future.
On the Renshaw scale of 0 to 10 lovers: 6.
-- Scott Renshaw Stanford University Office of the General Counsel
.
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


Main Concepts
Router - Configuration And Usage
Things to see in the previous example
-
The import of RouterModule from @angular/router
-
The routeDefs array which defines our routes, where each
route is defined by a path, and associated either to a component, either
to a redirection to an other route
-
The forRoot method which allows to configure our app
-
Finally we use our directives:
-
the routerLink to go to a view
by giving it the path to use
-
the router-outlet to specify where our view
will be loaded
-
You can see that our routing definitions are in a specific file, named
app.routing.ts, this is not mandatory, but is a convention suggested
by Angular


Module pl.utils
Generally useful routines
See the Guide.
Functions
| quit (code, msg, ...) | end this program gracefully |
| printf (fmt, ...) | print an arbitrary number of arguments using a format |
| fprintf (f, fmt, ...) | write an arbitrary number of arguments to a file using a format |
| import (t, T) | take a table and 'inject' it into the local namespace |
| escape (s) | escape any 'magic' characters in a string |
| choose (cond, value1, value2) | return either of two values, depending on a condition |
| readfile (filename, is_bin) | return the contents of a file as a string |
| writefile (filename, str) | write a string to a file |
| readlines (filename) | return the contents of a file as a list of lines |
| split (s, re) | split a string into a list of strings separated by a delimiter |
| splitv (s, re) | split a string into a number of values |
| memoize (func) | 'memoize' a function (cache returned value for next call) |
| is_callable (obj) | is the object either a function or a callable object? |
| is_type (obj, tp) | is the object of the specified type? |
| function_arg (idx, f, msg) | process a function argument |
| bind1 (fn, p) | bind the first argument of the function to a value |
| assert_arg (n, val, tp, verify, msg, lev) | assert that the given argument is in fact of the correct type |
| assert_string (n, val) | assert the common case that the argument is a string |
| on_error (mode) | control the error strategy used by Penlight |
| raise (err) | used by Penlight functions to return errors |
Functions
- quit (code, msg, ...)
-
end this program gracefully
Parameters:
code
: The exit codemsg
: A message to be printed...
: extra arguments for message's format'
see also:
- printf (fmt, ...)
-
print an arbitrary number of arguments using a format
Parameters:
fmt
: The format (see string.format)...
: Extra arguments for format
- fprintf (f, fmt, ...)
-
write an arbitrary number of arguments to a file using a format
Parameters:
f
: File handle to write to.fmt
: The format (see string.format)....
: Extra arguments for format
- import (t, T)
-
take a table and 'inject' it into the local namespace
Parameters:
t
: The TableT
: An optional destination table (defaults to callers environment)
- escape (s)
-
escape any 'magic' characters in a string
Parameters:
s
: The input string
- choose (cond, value1, value2)
-
return either of two values, depending on a condition
Parameters:
cond
: A conditionvalue1
: Value returned if cond is truevalue2
: Value returned if cond is false (can be optional)
- readfile (filename, is_bin)
-
return the contents of a file as a string
Parameters:
filename
: The file pathis_bin
: open in binary mode
Returns:
-
file contents
- writefile (filename, str)
-
write a string to a file
Parameters:
filename
: The file pathstr
: The string
- readlines (filename)
-
return the contents of a file as a list of lines
Parameters:
filename
: The file path
Returns:
-
file contents as a table
- split (s, re)
-
split a string into a list of strings separated by a delimiter
Parameters:
s
: The input stringre
: A regular expression; defaults to spaces
Returns:
-
a list-like table
- splitv (s, re)
-
split a string into a number of values
Parameters:
s
: the stringre
: the delimiter, default space
Usage:
first,next = splitv('jane:doe',':')
Returns:
-
n values
see also:
- memoize (func)
-
'memoize' a function (cache returned value for next call)
This is useful if you have a function which is relatively expensive,
but you don't know in advance what values will be required, so
building a table upfront is wasteful/impossible.
Parameters:
func
: a function of at least one argument
Returns:
-
a function with at least one argument, which is used as the key.
- is_callable (obj)
-
is the object either a function or a callable object?
Parameters:
obj
: Object to check.
- is_type (obj, tp)
-
is the object of the specified type?
If the type is a string, then use type, otherwise compare with metatable
Parameters:
obj
: An object to checktp
: String of what type it should be
- function_arg (idx, f, msg)
-
process a function argument
This is used throughout Penlight and defines what is meant by a function:
Something that is callable, or an operator string as defined by
pl.operator
, such as '>' or '#'.Parameters:
idx
: argument indexf
: a function, operator string, or callable objectmsg
: optional error message
Returns:
-
a callable
see also:
- bind1 (fn, p)
-
bind the first argument of the function to a value
Parameters:
fn
: a function of at least two values (may be an operator string)p
: a value
Returns:
-
a function such that f(x) is fn(p,x)
see also:
- assert_arg (n, val, tp, verify, msg, lev)
-
assert that the given argument is in fact of the correct type
Parameters:
n
: argument indexval
: the valuetp
: the typeverify
: an optional verfication functionmsg
: an optional custom messagelev
: optional stack position for trace, default 2
Usage:
assert_arg(1,t,'table')
assert_arg(n,val,'string',path.isdir,'not a directory')
- assert_string (n, val)
-
assert the common case that the argument is a string
Parameters:
n
: argument indexval
: a value that must be a string
- on_error (mode)
-
control the error strategy used by Penlight
Controls how
utils.raise
works; the default is for it to return nil and the error string, but if the mode is 'error' then it will throw an error. If mode is 'quit' it will immediately terminate the program.Parameters:
mode
: - either 'default', 'quit' or 'error'
see also:
- raise (err)
-
used by Penlight functions to return errors
Its global behaviour is controlled
by
utils.on_error
Parameters:
err
: the error string.
see also:


public class ServletRequestWrapper extends java.lang.Object implements ServletRequest
ServletRequest
| Constructor and Description |
|---|
ServletRequestWrapper(ServletRequest request)
Creates a ServletRequest adaptor wrapping the given request object.
|
| Modifier and Type | Method and Description |
|---|---|
AsyncContext |
getAsyncContext()
Gets the AsyncContext that was created or reinitialized by the most recent invocation of
startAsync() or
startAsync(ServletRequest,ServletResponse) on the wrapped request. |
java.lang.Object |
getAttribute(java.lang.String name)
The default behavior of this method is to call getAttribute(String name) on the wrapped request object.
|
java.util.Enumeration<java.lang.String> |
getAttributeNames()
The default behavior of this method is to return getAttributeNames() on the wrapped request object.
|
java.lang.String |
getCharacterEncoding()
The default behavior of this method is to return getCharacterEncoding() on the wrapped request object.
|
int |
getContentLength()
The default behavior of this method is to return getContentLength() on the wrapped request object.
|
long |
getContentLengthLong()
The default behavior of this method is to return getContentLengthLong() on the wrapped request object.
|
java.lang.String |
getContentType()
The default behavior of this method is to return getContentType() on the wrapped request object.
|
DispatcherType |
getDispatcherType()
Gets the dispatcher type of the wrapped request.
|
ServletInputStream |
getInputStream()
The default behavior of this method is to return getInputStream() on the wrapped request object.
|
java.lang.String |
getLocalAddr()
The default behavior of this method is to return getLocalAddr() on the wrapped request object.
|
java.util.Locale |
getLocale()
The default behavior of this method is to return getLocale() on the wrapped request object.
|
java.util.Enumeration<java.util.Locale> |
getLocales()
The default behavior of this method is to return getLocales() on the wrapped request object.
|
java.lang.String |
getLocalName()
The default behavior of this method is to return getLocalName() on the wrapped request object.
|
int |
getLocalPort()
The default behavior of this method is to return getLocalPort() on the wrapped request object.
|
java.lang.String |
getParameter(java.lang.String name)
The default behavior of this method is to return getParameter(String name) on the wrapped request object.
|
java.util.Map<java.lang.String,java.lang.String[]> |
getParameterMap()
The default behavior of this method is to return getParameterMap() on the wrapped request object.
|
java.util.Enumeration<java.lang.String> |
getParameterNames()
The default behavior of this method is to return getParameterNames() on the wrapped request object.
|
java.lang.String[] |
getParameterValues(java.lang.String name)
The default behavior of this method is to return getParameterValues(String name) on the wrapped request object.
|
java.lang.String |
getProtocol()
The default behavior of this method is to return getProtocol() on the wrapped request object.
|
java.io.BufferedReader |
getReader()
The default behavior of this method is to return getReader() on the wrapped request object.
|
java.lang.String |
getRealPath(java.lang.String path)
Deprecated.
As of Version 2.1 of the Java Servlet API, use
ServletContext.getRealPath(java.lang.String) instead |
java.lang.String |
getRemoteAddr()
The default behavior of this method is to return getRemoteAddr() on the wrapped request object.
|
java.lang.String |
getRemoteHost()
The default behavior of this method is to return getRemoteHost() on the wrapped request object.
|
int |
getRemotePort()
The default behavior of this method is to return getRemotePort() on the wrapped request object.
|
ServletRequest |
getRequest()
Return the wrapped request object.
|
RequestDispatcher |
getRequestDispatcher(java.lang.String path)
The default behavior of this method is to return getRequestDispatcher(String path) on the wrapped request object.
|
java.lang.String |
getScheme()
The default behavior of this method is to return getScheme() on the wrapped request object.
|
java.lang.String |
getServerName()
The default behavior of this method is to return getServerName() on the wrapped request object.
|
int |
getServerPort()
The default behavior of this method is to return getServerPort() on the wrapped request object.
|
ServletContext |
getServletContext()
Gets the servlet context to which the wrapped servlet request was last dispatched.
|
boolean |
isAsyncStarted()
Checks if the wrapped request has been put into asynchronous mode.
|
boolean |
isAsyncSupported()
Checks if the wrapped request supports asynchronous operation.
|
boolean |
isSecure()
The default behavior of this method is to return isSecure() on the wrapped request object.
|
boolean |
isWrapperFor(java.lang.Class<?> wrappedType)
Checks (recursively) if this ServletRequestWrapper wraps a
ServletRequest of the given class type. |
boolean |
isWrapperFor(ServletRequest wrapped)
Checks (recursively) if this ServletRequestWrapper wraps the given
ServletRequest instance. |
void |
removeAttribute(java.lang.String name)
The default behavior of this method is to call removeAttribute(String name) on the wrapped request object.
|
void |
setAttribute(java.lang.String name,
java.lang.Object o)
The default behavior of this method is to return setAttribute(String name, Object o) on the wrapped request
object.
|
void |
setCharacterEncoding(java.lang.String enc)
The default behavior of this method is to set the character encoding on the wrapped request object.
|
void |
setRequest(ServletRequest request)
Sets the request object being wrapped.
|
AsyncContext |
startAsync()
The default behavior of this method is to invoke
ServletRequest.startAsync() on the wrapped request object. |
AsyncContext |
startAsync(ServletRequest servletRequest,
ServletResponse servletResponse)
The default behavior of this method is to invoke
ServletRequest.startAsync(ServletRequest, ServletResponse) on the wrapped request object. |
public ServletRequestWrapper(ServletRequest request)
request
- the ServletRequest
to be wrappedjava.lang.IllegalArgumentException
- if the request is nullpublic ServletRequest getRequest()
ServletRequest
public void setRequest(ServletRequest request)
request
- the ServletRequest
to be installedjava.lang.IllegalArgumentException
- if the request is null.public java.lang.Object getAttribute(java.lang.String name)
getAttribute
in interface ServletRequest
name
- a String
specifying the name of the attributeObject
containing the value of the attribute, or null
if the attribute does
not existpublic java.util.Enumeration<java.lang.String> getAttributeNames()
getAttributeNames
in interface ServletRequest
Enumeration
of strings containing the names of the request's attributespublic java.lang.String getCharacterEncoding()
getCharacterEncoding
in interface ServletRequest
String
containing the name of the character encoding, or null
if the request
does not specify a character encodingpublic void setCharacterEncoding(java.lang.String enc) throws java.io.UnsupportedEncodingException
setCharacterEncoding
in interface ServletRequest
enc
- String
containing the name of the character encoding.java.io.UnsupportedEncodingException
- if this ServletRequest is still in a state where a character encoding may be
set, but the specified encoding is invalidpublic int getContentLength()
getContentLength
in interface ServletRequest
public long getContentLengthLong()
getContentLengthLong
in interface ServletRequest
public java.lang.String getContentType()
getContentType
in interface ServletRequest
String
containing the name of the MIME type of the request, or null if the type is not
knownpublic ServletInputStream getInputStream() throws java.io.IOException
getInputStream
in interface ServletRequest
ServletInputStream
object containing the body of the requestjava.io.IOException
- if an input or output exception occurredpublic java.lang.String getParameter(java.lang.String name)
getParameter
in interface ServletRequest
name
- a String
specifying the name of the parameterString
representing the single value of the parameterServletRequest.getParameterValues(java.lang.String)
public java.util.Map<java.lang.String,java.lang.String[]> getParameterMap()
getParameterMap
in interface ServletRequest
public java.util.Enumeration<java.lang.String> getParameterNames()
getParameterNames
in interface ServletRequest
Enumeration
of String
objects, each String
containing the name
of a request parameter; or an empty Enumeration
if the request has no parameterspublic java.lang.String[] getParameterValues(java.lang.String name)
getParameterValues
in interface ServletRequest
name
- a String
containing the name of the parameter whose value is requestedString
objects containing the parameter's valuesServletRequest.getParameter(java.lang.String)
public java.lang.String getProtocol()
getProtocol
in interface ServletRequest
String
containing the protocol name and version numberpublic java.lang.String getScheme()
getScheme
in interface ServletRequest
String
containing the name of the scheme used to make this requestpublic java.lang.String getServerName()
getServerName
in interface ServletRequest
String
containing the name of the serverpublic int getServerPort()
getServerPort
in interface ServletRequest
public java.io.BufferedReader getReader() throws java.io.IOException
getReader
in interface ServletRequest
BufferedReader
containing the body of the requestjava.io.UnsupportedEncodingException
- if the character set encoding used is not supported and the text cannot
be decodedjava.io.IOException
- if an input or output exception occurredServletRequest.getInputStream()
public java.lang.String getRemoteAddr()
getRemoteAddr
in interface ServletRequest
String
containing the IP address of the client that sent the requestpublic java.lang.String getRemoteHost()
getRemoteHost
in interface ServletRequest
String
containing the fully qualified name of the clientpublic void setAttribute(java.lang.String name, java.lang.Object o)
setAttribute
in interface ServletRequest
name
- a String
specifying the name of the attributeo
- the Object
to be storedpublic void removeAttribute(java.lang.String name)
removeAttribute
in interface ServletRequest
name
- a String
specifying the name of the attribute to removepublic java.util.Locale getLocale()
getLocale
in interface ServletRequest
Locale
for the clientpublic java.util.Enumeration<java.util.Locale> getLocales()
getLocales
in interface ServletRequest
Enumeration
of preferred Locale
objects for the clientpublic boolean isSecure()
isSecure
in interface ServletRequest
public RequestDispatcher getRequestDispatcher(java.lang.String path)
getRequestDispatcher
in interface ServletRequest
path
- a String
specifying the pathname to the resource. If it is relative, it must be relative
against the current servlet.RequestDispatcher
object that acts as a wrapper for the resource at the specified path, or
null
if the servlet container cannot return a RequestDispatcher
RequestDispatcher
,
ServletContext.getRequestDispatcher(java.lang.String)
@Deprecated public java.lang.String getRealPath(java.lang.String path)
ServletContext.getRealPath(java.lang.String)
insteadgetRealPath
in interface ServletRequest
path
- the path for which the real path is to be returned.public int getRemotePort()
getRemotePort
in interface ServletRequest
public java.lang.String getLocalName()
getLocalName
in interface ServletRequest
String
containing the host name of the IP on which the request was received.public java.lang.String getLocalAddr()
getLocalAddr
in interface ServletRequest
String
containing the IP address on which the request was received.public int getLocalPort()
getLocalPort
in interface ServletRequest
public ServletContext getServletContext()
getServletContext
in interface ServletRequest
public AsyncContext startAsync() throws java.lang.IllegalStateException
ServletRequest.startAsync()
on the wrapped request object.startAsync
in interface ServletRequest
java.lang.IllegalStateException
- if the request is within the scope of a filter or servlet that does not support
asynchronous operations (that is, isAsyncSupported()
returns false), or if
this method is called again without any asynchronous dispatch (resulting from one
of the AsyncContext.dispatch()
methods), is called outside the scope of any
such dispatch, or is called again within the scope of the same dispatch, or if the
response has already been closedServletRequest.startAsync()
public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws java.lang.IllegalStateException
ServletRequest.startAsync(ServletRequest, ServletResponse)
on the wrapped request object.startAsync
in interface ServletRequest
servletRequest
- the ServletRequest used to initialize the AsyncContextservletResponse
- the ServletResponse used to initialize the AsyncContextjava.lang.IllegalStateException
- if the request is within the scope of a filter or servlet that does not support
asynchronous operations (that is, isAsyncSupported()
returns false), or if
this method is called again without any asynchronous dispatch (resulting from one
of the AsyncContext.dispatch()
methods), is called outside the scope of any
such dispatch, or is called again within the scope of the same dispatch, or if the
response has already been closedServletRequest.startAsync(ServletRequest, ServletResponse)
public boolean isAsyncStarted()
isAsyncStarted
in interface ServletRequest
ServletRequest.isAsyncStarted()
public boolean isAsyncSupported()
isAsyncSupported
in interface ServletRequest
ServletRequest.isAsyncSupported()
public AsyncContext getAsyncContext()
startAsync()
or
startAsync(ServletRequest,ServletResponse)
on the wrapped request.getAsyncContext
in interface ServletRequest
startAsync()
or startAsync(ServletRequest,ServletResponse)
on the wrapped requestjava.lang.IllegalStateException
- if this request has not been put into asynchronous mode, i.e., if neither
startAsync()
nor startAsync(ServletRequest,ServletResponse)
has
been calledServletRequest.getAsyncContext()
public boolean isWrapperFor(ServletRequest wrapped)
ServletRequest
instance.wrapped
- the ServletRequest instance to search forpublic boolean isWrapperFor(java.lang.Class<?> wrappedType)
ServletRequest
of the given class type.wrappedType
- the ServletRequest class type to search forjava.lang.IllegalArgumentException
- if the given class does not implement ServletRequest
public DispatcherType getDispatcherType()
getDispatcherType
in interface ServletRequest
ServletRequest.getDispatcherType()