{% extends "master/base.html" %} {% block body_block %} {% if user.is_authenticated %}
In traditional IoT systems, every device communicates via a WiFi connection, placing a significant load on your local network and creating an unnecessarily large cyber attack surface. Our solution is different.
Why should creating a “smart home” involve buying brand-new, “smart” devices? Many TVs, light switches, fans, AC units, and more already contain IR sensors. By placing one of our hubs on the ceiling of every room in your home, you will be able to control all of these devices from one, simple web app.
Amazon provides our project with a robust, secure Internet of Things backbone. Loaded with air-tight features, you should never have to worry about unwanted intruders in your network.
{% endif %} {% endblock %} {% block head_block %} {% endblock %}


In this assignment you will develop the frontend design of your web application. (In a following assignment you will implement the full functionality of the frontend.)
Our social networking web application will consist of three main views. When an un-logged-in user navigates to our site they will be greeted with the "landing" page, where they can log in or register a new account. This page we partially developed in the first assignment. After a user has logged in, they will be taken to the "main" page which contains the user's feed (consisting of the most recent articles by the user and the users the current user is following), a list of the users the current user is following, and a link to the "profile" page which allows a user to change their profile picture and other pertinent information. These last two pages we began developing in the second assignment.
In this assignment we integrate the three views into a single page application (SPA) using React and Redux for navigation.
Using raw CSS or a CSS Framework such as Bootrap, Foundation, SemanticUI, or others, beautify your web app. Your three pages should have a unified look and feel. You most certainly will want a navigation area common to your pages which will contain, for example, the currently logged in user's displayName and allow for the user to access their profile page from the main page, as well as a log out button.
We also add more features to our main page. We started with the user's feed, which is a collection of cards, each of text or both text and an image. For this assignment we no longer require the images to change and therefore do not want the pause/resume buttons. We need a button to log the user out of our application. We should be displaying the user's profile picture somewhere on the page, and in addition to this, each user will have a "status" headline. The status headline for the current user should be prominently displayed. The headline is a short one line message, such as "I'm learning JavaScript!" as opposed to an "article" which can be longer in length and include posted images. As mentioned above we will have a list of users being followed. This list will have user profile pictures, the display names (or account names) of the followed users, and the status headlines of the followed users. For now these should all be hard coded, and we only need a few examples of each (i.e., 3 or more). The goal is to get an idea of what the final working page will look like.
Using React for the views, refactor your three separate html files, index.html, main.html, and profile.html, into a SPA. This means index.html will contain a div for the application to mount and a script tag for the JavaScript application bundle. For navigating between the three views you may use React Router but a more simple approach is to have a "location" state variable and then selectively display a Component based on the value. For example,
if (location == MAIN_PAGE) { <Main .../> } else if (location == PROFILE_PAGE) { <Profile .../> } else { <Landing .../> }and "links" in your app will dispatch updates to the location state variable.
The file structure of your web app should have separate directories for each "section" of your application, see below for an example file structure. Remember to make your files small, ideally with only a single Component within, or at least a single concern.
As you being transforming your three pages into a React site, focus on the navigation
of your site from page to page before implementing the details of each page.
To help with the transition to pulling data from the future backend server,
put your dummy data in json files that are loaded into your application.
For example, suppose we create a file initialItems.json
for the initial todo items
in the todo app:
{ "todoItems": [ {"id": 0, "text": "This is an item", "done": false}, {"id": 1, "text": "Another item", "done": false}, {"id": 2, "text": "A third item?", "done": true} ] }Then in our
reducers.js
file we would load
that data:
const initialItems = require('./initialItems.json') const Reducer = (state = { nextId: 2, todoItems: initialItems.todoItems, visibilityFilter: 'SHOW_ALL' }, action) => {
In this way we separate our concerns between business logic and data. You can grab sample articles from here.
The "landing" view is the first view users will see when they navigate to your site. It should have the following
The "main" view contains a collection of cards. These cards will be referred to as "articles." For now we continue to use hard coded text and images for each article as we did in the previous assignment. Each card should have text or both an image and text.
In addition to a collection of cards displayed on the main view as the feed (which can be single or multi-column), there are the following requirements
The "profile" view is where a user can update their profile picture and account information.
All of the views should be styled and "look good" -- your site will be visited and commented on by members of the class.
Here's a wireframe for a site that satisfies the above requirements. Remember this is just an example, your solution does not need to look like this one.
In adition to submitting your repo for grading, for your site to be reviewed by other members of the class you will need to publish it. We will be using Surge for hosting our web applications (it's free).
We will use npm tooling for accessing surge (although you can upload directly as well). Here’s an example package: surge-example.zip which is hosted at http://chivalrous-credit.surge.sh/.
If surge is not already in your package you will need to install it npm install -S surge
To deploy to surge:
# deploy to surge npm run deploy
Verify the look and feel and functionality of your site as hosted on Surge. Be sure to update your site on Surge as the final step of your submission. You should not further update your Surge deployment after you have submitted your assignment. Note that if your site is not available when students go to review it then you will not receive any feedback.
Again, the purpose of this assignment is to consolidate the layout, look, and feel of the three pages of our web application. Other than simple navigation and some validation which was mostly completed previously, there is no actual functionality to much of the site.
Include in your hw{{vm.hwid}} submission a file named README.json that has the following contents (replaced with *your* values of course)
{ "netid": "sep1", "frontend": "https://ricebook.surge.sh" }
Be sure that you submit a correct json file with these keys.
Your submission directory should look something like this (note that there is no .git directory and no node_modules directory)
hw{{vm.hwid}} |-- .babelrc |-- .eslintrc |-- .gitignore |--- dist | |-- index.html | `-- images | `-- ... |-- package.json |-- README.json |-- src | |-- actions.js | |-- components | | |-- app.js | | |-- article | | | |-- articleActions.js | | | |-- article.js | | | |-- articlesView.js | | | |-- comment.js | | | `-- newArticle.js | | |-- auth | | | |-- authActions.js | | | |-- landing.js | | | |-- login.js | | | `-- register.js | | |-- main | | | |-- followingActions.js | | | |-- following.js | | | |-- headline.js | | | |-- main.js | | | `-- nav.js | | `-- profile | | |-- avatar.js | | |-- profileActions.js | | |-- profileForm.js | | `-- profile.js | |-- index.js | |-- reducers.js | |-- data | | |-- articles.json | | |-- followers.json | | `-- profile.json | `-- styles.css `-- webpack.config.js
The important thing about the above structure is that each portion of the web app has it's own directory. We try to be modular in our design patterns. You are not required to follow this directory structure exactly, but you are required to have a modular layout. What is important is that there is structure and that the structure makes good extensible and maintainable sense.
Here is my example solution site https://ricebook.surge.sh
you can log on to this site using{ username: "guest", password: "visitor" }
Note that if you begin to have a lot of styles then you are welcome
to split your CSS up into separate files: main.css
, etc. Remember
that all three of your pages should have the same "look and feel" which is why one stylesheet makes sense.


ORGANISATIONS WORKING ON SWACHH BHARAT ABHIYAN
NHAI(National Highway Authority Of India)
Edugreen
Clean India
Union Ministry For Urban Development
Clean Green


| Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
|
{{days.date}} {{days.startDate}}
{{days.leftText}}
{{days.rightText}}
|


Expanding textareas have the same functionality as regular textareas however with the additional feature that they can grow in height as more content is added to them.
To set a limit on how large the textarea can grow add a max-height
using CSS.
If the content becomes larger than the max height a vertical scrollbar will appear.
To create an expanding textarea use the uxAutoGrow
directive.


The scripting language specification which is implemented by JavaScript. It is standardized by the organization Ecma International.
All new proposals are considered by the Ecma TC39 committee. They go through the following process (stages) before they are included in the Ecma Standard
Use Cases: merge, copy/clone, concat
try { ... } catch (unusedException) { ... }
try { ... } catch { ... } // syntactic sugar
feature-detection, (de)serialization, date/time-parsing, regex
import('./url/to/this/module.js') // regular function call
.then(loadedModule => { ... })
.catch(error => { ... })
Implemented by various frameworks(e.g Angular 2+, jQuery, ...)
const massOfEarthInKg = 6_000_000_000_000_000_000_000_000n;
let bigInt = typeof 123n;
console.log(bigInt == 'bitInt');
let result = BigInt('9007199254740993', 10);
console.log(result ==<PHONE_NUMBER>740993n);
console.log(0 == 0n); // false :(
Already supported by most browsers ('safeNumber')
Implemented by various frameworks(e.g Big)
private
class elements
class SomeClass {
#xValue = 0; // private instance field
get #x() { // private getter
return #xValue;
}
set #x(value) { // private setter
this.#xValue = value;
}
#someMethod(args) { // private method
...
};
}
prefix any class element using '#' to make it private
Compatibility issues between backend and frontend JS
var getGlobal = function () {
if (typeof self !== 'undefined') { return self; }
if (typeof window !== 'undefined') { return window; }
if (typeof global !== 'undefined') { return global; }
throw new Error('unable to locate global object');
};
var global = getGlobal();
More compatible solution:
var global = globalThis; // syntactic sugar
API proposal looks very similar to the new Java Date/Time API:
let dateTime = new CivilDateTime(2019, 3, 20, 10, 00);
let instant = dateTime.withZone('Switzerland/Bern');
instant.plus({ days: 1, hours: 1, minutes: 1, seconds: 1 });
1 === 0 ? return true : throw new Error("not true");
var x = 1 || throw new Error("not a valid value");
() => throw new Error("an error occured");
instead of ...
if (1 === 0) {
return true;
} else {
throw new Error("not true");
}
observable.observe(fnObserver)
Implemented by various frameworks(e.g Angular 2+, RxJS, rx-lite, ...)
let user = { address: { street: "", }, };
let street = null;
// chaining property access (today)
street = user && user.address && user.address.street;
// with optional chaining operator (proposal)
street = user?.address?.street;
street = contacts?.getUser(123)?.address?.street;
delete user?.address?.street;
Optional Chaining Operator ".?" for properties, expressions and function-calls
let result = null;
// pipelining functions (today)
result = doFn4(doFn3(doFn2(doFn1(string)));
// with pipline operator (proposal)
result = string |> doFn1 |> doFn2 |> doFn3 |> doFn4;
Pipeline Operator for expressions, array functions, (async) function-calls
// or, and with assigments (today)
a || (a = b); // if (!a) { a = b; }
a && (a = b); // if (a) { a = b; }
// or, and assigment operators (proposal)
a ||= b;
a &&= b;
Inspired by Ruby. Works exactly as in Ruby
const arr = ['a', 'b', 'c', 'd'];
console.log(arr[1:3] == arr.slice(1,3)); // ['b', 'c']
console.log(arr[:2] == arr.slice(0,2)); // ['a', 'b']
console.log(arr[2:] == arr.slice(2,4)); // ['c', 'd']
console.log(arr[2:] == arr.slice(2)); // ['c', 'd']
console.log(arr[-1:] == arr.slice(3,4)); // ['d']
console.log(arr[:-2] == arr.slice(0,3)); // ['a', 'b']
Slice Notation for arrays and objects
Inspired by Python. Works exactly as in Python
const inhabitantsOfMunich = 1_464_301;
const distanceEarthSunInKm = 149_600_000;
const massOfElectronInKg = 9.109_383_56e-31;
const words = 0xFAB_F00D;
let result = Number.parseInt('123_345');
console.log(result == 123456);
let result = Number.parseFloat('0.123_456');
console.log(result == 0.123456);
identical specification & restrictions as in Java 8
// for loop
for (let item in items) {
arr.add(item);
}
arr.addAll(items);
arr.addAll(...items);
arr.addAll(item1, item2, ..., itemN);
Convenient add/remove of multiple elements
// float (today)
let float = 0.1 + 0.2;
console.log(float); // 0.30000000000000004 :(
console.log(float == 0.3); // false :(
// decimal (proposal)
let decimal = 0.1m + 0.2m;
console.log(decimal); // 0.3m
console.log(decimal == 0.3m); // true
identical usage as in all other major languages
let arr = [1, 2, 3, 4, 5, 6, 7];
console.log(arr.last == arr[arr.length - 1]);
console.log(arr.first == arr[0]);
Convenient access to special elements


| Top |
| GdkColor * | gdk_color_copy () |
| void | gdk_color_free () |
| gboolean | gdk_color_parse () |
| gboolean | gdk_color_equal () |
| guint | gdk_color_hash () |
| gchar * | gdk_color_to_string () |
A GdkColor represents a color.
When working with cairo, it is often more convenient to use a GdkRGBA instead, and GdkColor has been deprecated in favor of GdkRGBA.
GdkColor *
gdk_color_copy (const GdkColor *color
);
gdk_color_copy
has been deprecated since version 3.14 and should not be used in newly-written code.
Use GdkRGBA
Makes a copy of a GdkColor.
The result must be freed using gdk_color_free()
.
void
gdk_color_free (GdkColor *color
);
gdk_color_free
has been deprecated since version 3.14 and should not be used in newly-written code.
Use GdkRGBA
Frees a GdkColor created with gdk_color_copy()
.
gboolean gdk_color_parse (const gchar *spec
,GdkColor *color
);
gdk_color_parse
has been deprecated since version 3.14 and should not be used in newly-written code.
Use GdkRGBA
Parses a textual specification of a color and fill in the
red
, green
, and blue
fields of a GdkColor.
The string can either one of a large set of standard names
(taken from the X11 rgb.txt
file), or it can be a hexadecimal
value in the form “#rgb” “#rrggbb”, “#rrrgggbbb” or
“#rrrrggggbbbb” where “r”, “g” and “b” are hex digits of
the red, green, and blue components of the color, respectively.
(White in the four forms is “#fff”, “#ffffff”, “#fffffffff”
and “#ffffffffffff”).
gboolean gdk_color_equal (const GdkColor *colora
,const GdkColor *colorb
);
gdk_color_equal
has been deprecated since version 3.14 and should not be used in newly-written code.
Use GdkRGBA
Compares two colors.
guint
gdk_color_hash (const GdkColor *color
);
gdk_color_hash
has been deprecated since version 3.14 and should not be used in newly-written code.
Use GdkRGBA
A hash function suitable for using for a hash table that stores GdkColors.
gchar *
gdk_color_to_string (const GdkColor *color
);
gdk_color_to_string
has been deprecated since version 3.14 and should not be used in newly-written code.
Use GdkRGBA
Returns a textual specification of color
in the hexadecimal
form “#rrrrggggbbbb” where “r”, “g” and “b” are hex digits
representing the red, green and blue components respectively.
The returned string can be parsed by gdk_color_parse()
.
Since: 2.12
typedef struct { guint32 pixel; guint16 red; guint16 green; guint16 blue; } GdkColor;
GdkColor
has been deprecated since version 3.14 and should not be used in newly-written code.
Use GdkRGBA
A GdkColor is used to describe a color, similar to the XColor struct used in the X11 drawing API.
guint32 |
For allocated colors, the pixel value used to draw this color on the screen. Not used anymore. |
|
guint16 |
The red component of the color. This is a value between 0 and 65535, with 65535 indicating full intensity |
|
guint16 |
The green component of the color |
|
guint16 |
The blue component of the color |


JEREMIAH
1
1 The words of Jeremiah, the son of Hilkiah, one of the priests who were in Anathoth in the land of Benjamin,
2 to whom the word of the LORD came in the days of Josiah the son of Amon, king of Judah, in the thirteenth year of his reign.
3 It came also in the days of Jehoiakim the son of Josiah, king of Judah, and until the end of the eleventh year of Zedekiah, the son of Josiah, king of Judah, until the captivity of Jerusalem in the fifth month.
The Call of Jeremiah
4 Now the word of the LORD came to me, saying,
5 “Before I formed you in the womb I knew you,
and before you were born I consecrated you;
I appointed you a prophet to the nations.”
6 Then I said, “Ah, Lord GOD! Behold, I do not know how to speak, for I am only a youth.”
7 But the LORD said to me,
“Do not say, ‘I am only a youth’;
for to all to whom I send you, you shall go,
and whatever I command you, you shall speak.
8 Do not be afraid of them,
for I am with you to deliver you,
declares the LORD.”
9 Then the LORD put out his hand and touched my mouth. And the LORD said to me,
“Behold, I have put my words in your mouth.
10 See, I have set you this day over nations and over kingdoms,
to pluck up and to break down,
to destroy and to overthrow,
to build and to plant.”
11 And the word of the LORD came to me, saying, “Jeremiah, what do you see?” And I said, “I see an almond branch.”
12 Then the LORD said to me, “You have seen well, for I am watching over my word to perform it.”
13 The word of the LORD came to me a second time, saying, “What do you see?” And I said, “I see a boiling pot, facing away from the north.”
14 Then the LORD said to me, “Out of the north disaster shall be let loose upon all the inhabitants of the land.
15 For behold, I am calling all the tribes of the kingdoms of the north, declares the LORD, and they shall come, and every one shall set his throne at the entrance of the gates of Jerusalem, against all its walls all around and against all the cities of Judah.
16 And I will declare my judgments against them, for all their evil in forsaking me. They have made offerings to other gods and worshiped the works of their own hands.
17 But you, dress yourself for work; arise, and say to them everything that I command you. Do not be dismayed by them, lest I dismay you before them.
18 And I, behold, I make you this day a fortified city, an iron pillar, and bronze walls, against the whole land, against the kings of Judah, its officials, its priests, and the people of the land.
19 They will fight against you, but they shall not prevail against you, for I am with you, declares the LORD, to deliver you.”


Static Public Member Functions | |
| static ColumnsEntity | createFromXml (string xml) |
Protected Attributes | |
| bool | s_registered = BaseEntity.registerChildType(typeof(ColumnsEntity)) |
| List< Column > | m_columns = new List<Column>() |
| string | m_dataSourceId = null |
Properties | |
| List< Column > | Columns [get] |
| string | DataSourceId [get] |
| string | Xml [get] |
| string | ColumnNames [get] |
| string | KeyColumnNames [get] |
| KeyColumn | KeyColumns [get] |
Private Member Functions | |
| virtual internal void | setColumnsCollection (List< Column > columns) |
This class goes beyond being a simple list of columns by providing properties that help the control manage the way the client html is rendered to the browser. For example, there are several places where it is necesary to get a string that has the names of the columns concatenated by the | symbol.
This class also manages the generation of XML to represent itself and its columns as well as to be able to created by the simpler XML it can generate from itself. This allow applications to provide the control a simple string for the columns to use and their property values. This is valuable in situations where the specific columns to shown at the moment are not static, such as different users having different columns shown based on their security level.
Use the static ColumnsEntity.createFromXml method to create an instance of this class from an appropriately formatted XML string.
| static ColumnsEntity Nitobi.ColumnsEntity.createFromXml | ( | string | xml | ) | [static] |
| virtual internal void Nitobi.ColumnsEntity.setColumnsCollection | ( | List< Column > | columns | ) | [private, virtual] |
bool Nitobi.ColumnsEntity.s_registered = BaseEntity.registerChildType(typeof(ColumnsEntity)) [protected] |
List<Column> Nitobi.ColumnsEntity.m_columns = new List<Column>() [protected] |
string Nitobi.ColumnsEntity.m_dataSourceId = null [protected] |
List<Column> Nitobi.ColumnsEntity.Columns [get] |
Implements Nitobi.IColumnCollection.
string Nitobi.ColumnsEntity.DataSourceId [get] |
Implements Nitobi.IColumnCollection.
string Nitobi.ColumnsEntity.Xml [get] |
string Nitobi.ColumnsEntity.ColumnNames [get] |
Implements Nitobi.IColumnCollection.
string Nitobi.ColumnsEntity.KeyColumnNames [get] |
KeyColumn Nitobi.ColumnsEntity.KeyColumns [get] |
Implements Nitobi.IColumnCollection.


ENDSTRUCT - End a structure declaration
Marks the end of a segment previously begun with
STRUCT
.
See also:
STRUCT
Compatibility:
KASM
X
CCASM
X
OS-9 RMA
Edt/Asm III
Edtasm6309
Disk Edtasm+
Edtasm+
Macro-80C


| inline_text.tbl_cross {gtsummary} | R Documentation |
Extracts and returns statistics from a tbl_cross
object for
inline reporting in an R markdown document. Detailed examples in the
inline_text vignette
## S3 method for class 'tbl_cross' inline_text(x, col_level = NULL, row_level = NULL, pvalue_fun = NULL, ...)
x |
a |
col_level |
Level of the column variable to display. Default is |
row_level |
Level of the row variable to display.
Can also specify the 'Unknown' row. Default is |
pvalue_fun |
Function to round and format p-values.
Default is style_pvalue.
The function must have a numeric vector input (the numeric, exact p-value),
and return a string that is the rounded/formatted p-value (e.g.
|
... |
Not used |
A string reporting results from a gtsummary table
Other tbl_cross tools:
add_p.tbl_cross()
,
tbl_cross()
tbl_cross <- tbl_cross(trial, row = trt, col = response) %>% add_p() inline_text(tbl_cross, row_level = "Drug A", col_level = "1") inline_text(tbl_cross, row_level = "Total", col_level = "1") inline_text(tbl_cross, col_level = "p.value")


Yii 2 REST server + AngularJS client
Check me out @ Github
Status: {{ vm.message }}
Refresh Token: {{ vm.refreshToken.substr(-23) }}
Note: Refresh tokens are PERMANENT and typically used for mobile apps - NOT web apps.
Get refresh token
Remove refresh token
Use refresh token to get regular token


You are viewing an historical archive of past issues. Please
report new issues to the appropriate project issue tracker on
GitHub.
Comments
-
Greg Hurrell
Summary changed:
- From: Synergy crash com.apple.ImageIO.framework
- To: Synergy crash in com.apple.ImageIO.framework
-
Greg Hurrell
At first glance doesn't look like a bug in Synergy. It may be that a corrupt image is causing something in the com.apple.ImageIO.framework API to choke.
You could try ruling out some other possible sources of corruption by clearing your preferences file etc.
-
Greg Hurrell
Going to mark this as closed for now but if I get any other reports will re-open.
-
Greg Hurrell
Status changed:
- From: new
- To: closed
Add a comment
Comments are now closed for this issue.


---
layout: post
title: looks good albeit a bit flat crust is better
date: '2011-05-24T09:02:00+02:00'
tags:
- kitchen
- bread
tumblr_url: http://dotmr.tumblr.com/post/5799487387/looks-good-albeit-a-bit-flat-crust-is-better
---
Looks good albeit a bit flat, crust is better, flavor is bland. This was the last of a batch of dough. To avoid the excessive crustiness of last time I baked a little cooler and shorter.


FPS QR Code Generator
CAUTION: This is NOT official generator. For more information, please visit
here
.
Select an account
FPS ID
Mobile number
Email
Generate


Great Expectations (1998) 3 1/2 stars out of 4. Starring Ethan Hawke, Gwyenth Paltrow, Robert De Niro and Anne Bancroft.
What sets a classic above the rest is its timelessness and universality.
No matter how you bend or twist it, its themes transcend age and culture.
Thus it is with Great Expectations.
Screenwriter Mitch Glazer's loose adaptation of the Charles Dickens novel transports the tale of a poor orphan boy's rise to riches from 19th-century England to contemporary Gulf Coast Florida and New York City.
Glazer simplifies Dickens' complex tale, jettisoning some characters and subplots, while retaining the essence of the story.
Director Alfonso Cuaron, Glazer and cinematographer Emmanuel Lubezki have given the picture a fairy tale-like look, painting scenes - literally and figuratively - in broad strokes.
The once-majestic mansion of Miss Dinsmoor (the modern Miss Haversham) is a colorful collage of decay and neglect.
Dinsmoor herself, a courageous, eccentric interpretation by Anne Bancroft, mirrors her surroundings. Her clothes look as though they were shoveled upon her, while her garish makeup gives her the appearance of a walking cadaver.
Contrasting the outrageousness of Bancroft's performance is the intense, smoldering interplay between Ethan Hawke's Pip (now called Finn) and Gwyneth Paltrow's Estella.
When onscreen together, the two exude sensuality. Paltrow's feline air, her ice-princess persona as Estella is a fine counterpoint to Hawke's passionate, but somewhat innocent, Finn.
Paltrow's remoteness makes her a fitting Muse for Hawke's budding artist.
Their love scenes, a Glazer addition definitely not found in Dickens, are erotic and shimmering.
Helping the story along are the two young actors who portray Finn and Estella as youngsters. Jeremy James Kissner and Raquel Beaudene are dead ringers for their older counterparts.
Robert De Niro adds an air of menace as the escaped convict who turns Finn's life around, while Chris Cooper brings a decency and humanity to the role of Joe, Finn's uncle.
Purists may complain about Glazer's treatment, but, overall, this Great Expectations should hold the interest of young viewers and, perhaps, rekindle an interest in one of Dickens' better works.
Bob Bloom is the film critic at the Journal and Courier in Lafayette, Ind. He can be reached by e-mail at<EMAIL_ADDRESS>or<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews