The Waterboy (1998) Adam Sandler, Kathy Bates, Henry Winkler, Fairuza Balk, Jerry Reed, Larry Gilliard Jr., Blake Clark, Peter Dante, Jonathan Loughran, Al Whiting, Clint Howard, Allen Covert, Rob Schneider, Todd Holland. Produced by Robert Simonds and Jack Giarraputo. Written by Tim Herlihy and Adam Sandler. Directed by Frank Coraci. Rated PG-13, 2.5 stars (out of five stars)
Review by Ed Johnson-Ott, NUVO Newsweekly www.nuvo-online.com Archive reviews at http://us.imdb.com/M/reviews_by?Edward+Johnson-ott To receive reviews by e-mail at no charge, send subscription requests to<EMAIL_ADDRESS>Call it "Happy Gilmore Meets the Bad News Bears" or "Billy Madison Opens Up a Big Ole Can of Whup Ass." Either way, you get the idea: Adam Sandler is back and he's up to his old tricks again, with yet another broad comedy starring a culturally-arrested adult with violent tendencies. Hard- core Sandler fans will cheer his antics and the up-with-people storyline, while everyone else will wonder why he keeps cranking out variations of the same movie.
Now Adam Sandler is no dummy (though he plays one onscreen) and he knows what elements are required to satisfy the target audience for a film like this. His story introduces a lovable loser, simple-minded Cajun Mama's boy, Bobby Boucher. Athletes love picking on the childlike waterboy until they discover his formidable skills as a tackle. Everybody loves an underdog, so the tale pits Bobby and a sad-sack football team with a neurotic coach against a bunch of overgrown, self-satisfied bullies, led by former "Smokey and The Bandit" second banana Jerry Reed. As if that wasn't enough, Sandler further loads the deck by making Bobby's home life equally oppressive, with the kid's ferociously smothering mother (Kathy Bates) deeming everything from young ladies to Dick Clark as tools of the devil.
 The only thing missing is even the vaguest hint of an original idea.
The explanation for Sandler's artistic rut may lie with his creative team. One of the film's producers is Jack Giarraputo, a college buddy of Sandler's. "Waterboy" director Frank Coraci was another college pal, and Sandler co-wrote the story with former college roomie Tim Herlihy. Sandler states that the group, also responsible for three of his other films, creates a comfortable environment, explaining "I like working with people I've seen in just a towel."
That's a good line, and "The Waterboy" has quite a few genuinely funny moments. The slapstick works more often than not, there are some great sight gags, and a number of strong one-liners (one crack-related joke works on two levels, due to the recent headline-making substance abuse problems of the man who delivers the line). But despite the laughs, this is a tired production. There is nothing wrong with low-brow humor, but Sandler and his frat-house friends have done the infant-in-an-adult-body shtick to death. To paraphrase Danny Glover (from all four "Lethal Weapon" movies), aren't they getting too old for this shit?
A film like this wouldn't be quite as frustrating were it not for Sandler's breakthrough performance in "The Wedding Singer." In that hit comedy, Sandler proved he could charm a wide audience, hold his own as a romantic lead and even play an actual adult, all without sacrificing his trademark style. After enjoying his winning turn in "The Wedding Singer," it's hard to watch him climb back into the playpen.
The cast of "The Waterboy" is varied, to say the least. Kathy Bates has a whale of a good time playing Bobby's Louisiana swamp mama and her performance, cartoonish as it may be, is one you won't soon forget. As a dangerous young woman smitten with Bobby, Fairuza Balk is terrific, projecting confidence, charisma and an edgy trailer-park sexuality. Henry Winkler has a certain odd charm as Bobby's whipped-puppy mentor, while Jerry Reed haplessly blusters as the chief villain of the movie.
As is his norm, Sandler peppers the story with some really strange minor players.  Other eccentrics include Robert Kokol as a Kentucky-Fried windbag professor and Blake Clark as assistant coach Farmer Fran, whose incomprehensible Cajun mutterings is a running gag that might have been funny, had we not seen the same joke 24 years ago in "Blazing Saddles."
But, of course, that brings us back to "The Waterboy's" central problem. We've seen this all before, at least twice by Sandler and his pals, and countless times by other "Saturday Night Live" graduates. Speaking of graduating, perhaps it's time for Adam Sandler to graduate; from the comforting sameness of his college roomie production team and from reworking the same movie over and over. Hopefully Sandler will look at "The Wedding Singer" as one small step, and his next movie as one giant leap to a new level of more sophisticated comedic filmmaking.
© 1998 Ed Johnson-Ott
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


CIDC Data Model
CIDC Data Model
Draft 0.1 of the CIDC Data Model.
| Entity | Description |
|---|---|
| Aliquot | Pertaining to a portion (volume or weight) of the whole. |
| Core Shipping Details | Core shipping details for a manifest. |
| User | Any user of the CIDC platform. |
| Sample | Any material sample taken from a biological entity for testing, diagnostic, propagation, treatment or research purposes, including a sample obtained from a living organism or taken from the biological object after halting of all its life functions. Biospecimen can contain one or more components including but not limited to cellular molecules, cells, tissues, organs, body fluids, embryos, and body excretory products. |
| Clinical Trial | Encapsulates information regarding a clinical trial. |
| Participant | The collection of all data related to a specific participant in the context of a specific clinical trial. |
Artifacts
| Entity | Description |
|---|---|
| FastQ Artifact | Information about a fastq file |
| Binary Artifact | Information about binary files. |
| Artifact | Any file artifact associated with a clinical trial. |
| Image Artifact | Information about images include height and width |
| CSV Artifact | Information about CSV files |
| Text Artifact | Information about text files |
Assays
| Entity | Description |
|---|---|
| MICSSS Assay | Multiplexed immunohistochemical consecutive staining on single slide |
| Whole Exome Sequencing Assay | Whole Exome Sequencing Assay |
| mIF Assay | Multiplex immunoflourescence |
| CYTOF Run | Base information about the aquisition and analysis CYTOF data |
| OLink Assay | High-throughput multiplexed assays for protein biomarker discovery |
| RNA Gene Expression Assay | Additional properties to describe a RNA assay for expression analysis. |
Assays > Components
| Entity | Description |
|---|---|
| Paired end sequencing file pairs | Paired end sequencing file pairs |
| Antibody | Common information about an antibody used in a number of immune-oncology assays |
| MICSSS antibody | Data specific to antibody prepration on the multiplex immunohistochemical platform |
| CYTOF Panel | Base information about the aquisition and analysis of a CYTOF data |
| Aliquot to assay | An object to store one assay associated with a given aliquot |
| CYTOF Acquisition | Data specific to the run of a CyTOF batch. |
| Composite Image | Regions of interest obtained from composite images. |
| Image Mapping | Regions of interest obtained from image mapping. |
| NGS Sequencing | Common properties for NGS Sequencing sxperiments. |
| CYTOF Conjugated Antibody | Data specific to antibody prepration on the CYTOF assay. |
| Assay Core | Main properties of the assay experiment template |
| Local file type | A type to store local file paths |
| Imaging Data | Shared schema for experiments involving the use of imaging data |
| Image | Base information about the aquisition and analysis of a quantitative pathology image |
| CYTOF Platform | Basic information about the instrumentation used in a CYTOF experiment |
| mIF antibody | Data specific to antibody prepration on the multiplex immunoflourescence platform. |
Assays > Components > Cytof
| Entity | Description |
|---|---|
| CyTOF assay record | A single data record from CyTOF assay batch |
| CyTOF Input Files | CyTOF Assay Input Files |
Assays > Components > Imaging
| Entity | Description |
|---|---|
| Multiplex Immunoflouresence Input Files | mIF Assay Input Files |
| mIF assay record | A single data record from mIF assay |
| Multiplexed Immunohistochemical Input Files | micsss Assay Input Files |
| micsss assay record | A single data record from micsss assay |
Assays > Components > Ngs
| Entity | Description |
|---|---|
| RNAseq assay record | A single data record from RNAseq assay |
| Whole Exome Sequencing Input Files | Whole Exome Sequencing Assay Input Files |
| WES assay record | A single data record from WES assay |
| Whole Exome Sequencing Input Files | Whole Exome Sequencing Assay Input Files |
| NGS assay record | A single data record from an NGS assay |
Assays > Components > Olink
| Entity | Description |
|---|---|
| Olink assay record | A single data record from Olink assay |
| Olink Input Files | Olink Assay Input Files |
Templates
| Entity | Description |
|---|---|
| Shipping manifest for H&E slides | Shipping / receiving manifest for transferring H&E slides. |
| Shipping manifest for Whole Blood | Shipping / receiving manifest for transferring Whole Blood. |
| Shipping manifest for PBMC samples | Shipping / receiving manifest for transferring PBMC samples. |
| Shipping manifest for Plasma samples | Shipping / receiving manifest for transferring Plasma samples. |
| Shipping manifest for Analyte | Shipping / receiving manifest for transferring Aanlyte. |
Templates > Metadata
| Entity | Description |
|---|---|
| Metadata file for micsss | Metadata information for multiplexed immunohistochemical consecutive staining on single slide. |
| Metadata file for olink | Metadata information for olink analysis. |
| Metadata file for WES | Metadata information for whole exome sequencing analysis. |
| Metadata file for CYTOF | Metadata information for mass-cytometry (CYTOF). |
| Metadata file for mIF | Metadata information for multiplex immunoflouresence(mIF). |
| Metadata file for RNA expression | Metadata information for rna expression analysis. |


The problem is that Win2000 has no Control Manager command line tool, so SVN does not register itself as a Windows Service (in case you choose this option).
I tried to use sc.exe with no success at all.
sc create svn binPath="c:\Path To\SVN\Service.exe" with all possible options just shows me the help screen.
Here's couple of options I've tried:
sc create svn binPath="""C:\Program Files\CollabNet Subversion Server\svnserve.exe"" --service -r c:\svn_repository --listen-port 3690" start=boot DisplayName="Subversion Server"
sc create svn binPath="C:\Program Files\CollabNet Subversion Server\svnserve.exe" start=boot
sc create svn binPath="wrongFile.exe"
All of them give the same help screen with the same info and no service is registered.
So I installed Win NT 4.0 Resource Kit Support Tools. The bad thing is that it asks me to restart the server. It contains the same sc.exe - nothing new to manage services.msc.
Next attempt was to try instsrv.exe from Windows Server 2003 Resource Kit. But it says that it really supports XP and 2003 (I expect I would be able to use only one utility from the package, but I can't even install it).
I hit Create your own user-defined services Windows NT/2000/XP/2003 article but still cannot find where to download the resource kit for Win2000.
Searching again... As a result I found Windows 2000 Resource Kit Tools for administrative tasks. But it has no instsrv.exe (thou it has delsrv.exe that deletes the service). Hrr!
Ok. Now let's try to take the instsvr.exe from Win2003 server. Maybe it will work on Win2000... I install the Win2003 Resource Kit. Take that file and copy it to Win2000's system32 folder. Now let's pray:
instsrv svn """C:\Program Files\CollabNet Subversion Server\svnserve.exe"" --service -r c:\svn_repository --listen-port 3690"
This gives me "- The fully qualified path to the .EXE must be given" which is much better.
instsrv svn "C:\Program Files\CollabNet Subversion Server\svnserve.exe"
This one worked well and the service was in the list. At last! It doesn't allow me to specify the parameters of the service itself, so I'm going to service Properties to change it. But then it just doesn't start (we need to add command line arguments as well).
So I remove the service from the list and start from scratch. I went back to sc.exe and installed SVN server to location where the path has no spaces (weird).
After couple of manipulations and a lot of Googling and fiting with troubles I found the exact command that registers the service and allow to start it. Please note: the service name should be the same as executable (one more weird thing), command line parameters must have space after = symbol. So here's the result:
sc create svnserve binpath= "C:\SVN\Server\svnserve.exe --service -r C:\SVN\repository --listen-port 3690" displayname= "Subversion Repository" depend= Tcpip
Hope it saves your time.
Huh. It's enough for me :) I don't really want struggle again with SVN, especially on Unix (which I'm not really familiar with) :)
It was painful enough for me to install it on Win2000.
Thanks for the info on Git. It looks good, but it is a distributed version control. I really need centrlised one.
Cheers.
This turns to be interesting experience, too.
Anyway - SVN rules, and I'm happy to see people using Subversion instead of MICRO$OFT source providers.
Btw - there is one more option for source control - GIT.
I know not much about it, but it seems to be times faster. And it is used for some opensource projects.


Overview
Authorization refers to the process that determines what a user is able to do. For example, an administrative user is allowed to create a document library, add documents, edit documents, and delete them. A non-administrative user working with the library is only authorized to read the documents. Authorization is orthogonal and independent from authentication. However, authorization requires an authentication mechanism. Authentication is the process of ascertaining who a user is. Authentication may create one or more identities for the current user.
* Authorization in Microsoft Orleans is mainly the same ASP.NET Core authorization. You can read more about ASP.NET Core authorization here.


A jQuery plugin for full screen backgrounds that stick and fade.
Add as many "bgpin-single" divs as you like, they will be the sections with the background images.
They must all be contained within the bgpin-group div.

another added like above (need at least two for the effect to work)

...

The container element (a generic div with the class .bgpin-group) is what will be targeted by the JavaScript.
The child elements (.bgpin-single) will need background images attached
.bgpin-group {
min-height: 100%;
position: relative;
width: 100%;
}
.bgpin-single{
background-size: cover;
height: 100vh;
position: relative;
width: 100%;
}
add your background images
.your-bgpin-single-first-background {
background-image: url('path-to-your-image');
}
.your-bgpin-single-second-background {
background-image: url('path-to-your-image');
}
Just add "bgpin()" to your parent holder element.
$('.bgpin-group').bgpin()


Geb leverages the WebDriver library for browser automation. This means that Geb works with any browser that WebDriver works with, and the list of browsers that WebDriver works with is growing all the time.
The core supported browsers are:
There is also experimental support for:
WebDriver also supports remote drivers. This allows you to automate a browser running on another machine! This means you can easily run your test suite against an IE browser from the comfort of your Mac or Linux machine (and vice versa).
You can also use the headless, in process, Java browser emulator HTMLUnit with WebDriver.
See the driver configuration section of the manual for information about setting up Geb to run with different drivers.


This document provides example use cases.
This is probably the froodiest document that you will read all year. It has been authored using new means of achieving consensus that have been made possible through nanoethanol implants.
GET /api/queries/results?fw_core.category=restaurant
returns a Query Result resource containing only POIs with "restaurant" as "category" value
POST /api/queries
returns the uri of this query as Location in the response header
GET /api/queries/aa714817-b7cb-4099-ba68-955dcfc99733/results
returns a Query Result resource containing only POIs with "restaurant" as "category" value
GET /api/queries/aa714817-b7cb-4099-ba68-955dcfc99733/results?spatial=radial(49.239553,6.997040,100)
returns a Query Result resource containing only POIs with "restaurant" as "category" value 100 meters around city center of Saarbrücken (lat: 49.239553 / lon: 6.997040).
GET /api/queries/aa714817-b7cb-4099-ba68-955dcfc99733/results?fw_core.name=Favourite%20Gourmet
returns a Query Result resource containing only POIs with "restaurant" as "category" value and the name "Favourite Gourmet".
GET /api/queries/results?fw_core.name=Hotel%20Paris
GET /api/queries/results?fw_core.name=contains(Hotel%20Paris)
Special function contains()
builds a simple
regular expression from the parameter, which allows trailing
characters in the POI property (e.g. "Hotel Paris 2000",
"Hotel Paris Deluxe", "My Hotel Paris")
GET /api/queries/results?fw_core.name=matches([Hh]otel%20[Pp]aris)
Special function matches()
uses the parameter as
regular expression to validate the POI property fw_core.name
POST /api/queries
returns the uri of this query as Location in the response header
GET /api/queries/08ee9195-69a8-4585-bc65-696be8731fbf/results
returns a Query Result resource containing all POIs with the exact name "Hotel Paris"
POST /api/queries
uses the pattern property of string-type properties to validate
against some regular expression. It has the same meaning as the
Special Function matches()
returns the uri of this query as Location in the response header
An extension of the json schema might make sense (i.e. allow special functions as part of the schema). Thus, we can ensure coherent results when switching from single-use queries to templates.
POST /api/queries
expects an url parameter "name" that contains the actual value for the placeholder
returns the uri of this query as Location in the response header
GET /api/queries/0a01f624-e2f8-40f8-bdd6-a66c1d3b261b/results?name=Hotel%20Paris
returns a Query Result resource containing all POIs with the name "Hotel Paris"
GET /api/queries/0a01f624-e2f8-40f8-bdd6-a66c1d3b261b/results?name=Hotel%20Paris&spatial=radial(49.239553,6.997040,2000)
returns a Query Result resource containing only POIs with the name "Hotel Paris" nearby the city center of Saarbrücken
POST /api/queries
expects an url parameter "q" of type string that the query is looking for in several POI properties
returns the uri of this query as Location in the response header
GET /api/queries/4f9cfea8-0c78-4e07-836f-0401a3b1169a/results?q=bar
returns a Query Result resource containing all POIs with the term "bar" in any of the properties (i.e. name, short name, label, description, visiting address, postal address)


Last events:
KeyDown
KeyUp
KeyPress
.
.
.
Dictionary of all key's state:
No key events captured yet.
Log of events:


|
|
| Each day brings increased
opportunity to increase business current as well as
new. We listen and effectively respond to your needs
and those of your clients. We are experts at translating
those needs into marketing solutions that work, look
great and communicate well. We listen and effectively
respond to. We are experts at translating those needs
into marketing solutions that work. |
|
|
|
|


If you’re not using case statements, you should be.
David Thomas, author of Programming Ruby, calls the case expression “a powerful beast: a multiway if on steroids”.
In less colorful words: anytime you have a long, messy if/else statement you might want to consider using a case expression instead.
Take the following three code snippets.
1) Messy If/Else Statement
2) Refactored with Case Statement
3) Refactored to One-Line Expressions
Simple but Powerful
The code above is simple enough that quickly making sense of what’s happening in the multiway if isn’t all that difficult. However, in more complex use cases this same refactoring can be the difference between easy to read self-documenting code and an unclear mess that takes extra time to decipher.


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
C
D
E
F
G
I
L
M
O
P
R
S
T
U
V
T
tearDown()
- Method in class controller.
controllerTest
tearDown()
- Method in class entity.
levelTest
tearDown()
- Method in class entity.
spriteEntityTest
tearDown()
- Method in class model.
collisionHandlerTest
tearDown()
- Method in class model.
DAOLevelTest
tearDown()
- Method in class model.
ModelTest
tearDownAfterClass()
- Static method in class controller.
controllerTest
tearDownAfterClass()
- Static method in class entity.
levelTest
tearDownAfterClass()
- Static method in class entity.
spriteEntityTest
tearDownAfterClass()
- Static method in class model.
collisionHandlerTest
tearDownAfterClass()
- Static method in class model.
DAOLevelTest
tearDownAfterClass()
- Static method in class model.
ModelTest
test()
- Method in class controller.
controllerTest
testAboveSetLevelID()
- Method in class entity.
levelTest
testCheckCollisionForPlayerPositionMovementAndPush()
- Method in class model.
collisionHandlerTest
testDeath()
- Method in class model.
ModelTest
testFindInt()
- Method in class model.
DAOLevelTest
testGetBorderBottomLeft()
- Method in class entity.
spriteEntityTest
testGetBorderBottomRight()
- Method in class entity.
spriteEntityTest
testGetBorderLeft()
- Method in class entity.
spriteEntityTest
testGetBorderRight()
- Method in class entity.
spriteEntityTest
testGetBorderTopAndBottom()
- Method in class entity.
spriteEntityTest
testGetBorderTopLeft()
- Method in class entity.
spriteEntityTest
testGetBorderTopRight()
- Method in class entity.
spriteEntityTest
testGetDiamond()
- Method in class entity.
spriteEntityTest
testGetEarth()
- Method in class entity.
spriteEntityTest
testGetEnnemy()
- Method in class entity.
spriteEntityTest
testGetExit()
- Method in class entity.
spriteEntityTest
testGetHeroDown()
- Method in class entity.
spriteEntityTest
testGetHeroLeft()
- Method in class entity.
spriteEntityTest
testGetHeroRight()
- Method in class entity.
spriteEntityTest
testGetHeroUp()
- Method in class entity.
spriteEntityTest
testGetMyPicture()
- Method in class entity.
spriteEntityTest
testGetRock()
- Method in class entity.
spriteEntityTest
testGetWall()
- Method in class entity.
spriteEntityTest
testGetWay()
- Method in class entity.
spriteEntityTest
testLevelHigherLevelId()
- Method in class entity.
levelTest
testLevelHighScoreTooLow()
- Method in class entity.
levelTest
testLevelLowerLevelId()
- Method in class entity.
levelTest
testLevelMinDiamondTooLow()
- Method in class entity.
levelTest
testLevelTimerTooLow()
- Method in class entity.
levelTest
testLoadLevel()
- Method in class model.
ModelTest
testLoadNextLevelAtExit()
- Method in class model.
ModelTest
testMakeEverythingFallDownAndEnnemyMove()
- Method in class model.
collisionHandlerTest
testMovePlayer()
- Method in class model.
ModelTest
testPushRock()
- Method in class model.
ModelTest
testSetCorrepondingEntity()
- Method in class entity.
spriteEntityTest
testSetLastBehavior()
- Method in class entity.
spriteEntityTest
testUnderSetLevelID()
- Method in class entity.
levelTest
A
C
D
E
F
G
I
L
M
O
P
R
S
T
U
V
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


@inproceedings{thouvenin2019faceted, title={A Faceted Prior for Scalable Wideband Imaging: Application to Radio Astronomy}, author={Thouvenin, Pierre-Antoine and Abdulaziz, Abdullah and Jiang, Ming and Repetti, Audrey and Wiaux, Yves}, booktitle={2019 IEEE International Workshop on Computational Advances in Multi-Sensor Adaptive Processing (CAMSAP)}, year={2019} }


Electric Bugatti Sedan Could Happen for Under $1 Million
by Mircea PanaitFounded in 1909 as Automobiles Ettore Bugatti, the French hypercar manufacturer celebrated its centenary with a bite-the-back-of-your-hand beautiful and luxurious concept in 2009: the 16C Galibier Concept. 16C stands for sixteen cylinders, Galibier is a reference to the Type 57 and a mountain pass, and Concept means that series production didn’t get the green light from the higher-ups.
Following multiple reports in regard to what’s next alongside the Chiron, the Volkswagen Group-owned brand is reconsidering a four-seater model “for less than $1 million.” Chief executive officer Stephan Winkelmann is currently trying to convince the big shots on the board to fund the project, and as expected, Bugatti is making a case for all-electric drive.
“Hold on; doesn’t that mean Bugatti wants to get valuable know-how from the Porsche Taycan and that Audi What’s-Its-Name electric thingy?” In a nutshell, that appears to be the case. Bloomberg reports about the possibility of “a crossover,” yet Winkelmann told the motoring media time and again that no utility vehicle will happen under his watch.
As the pinnacle of the Volkswagen Group, the brand that’s known for engineering extravagances such as the quad-turbo W16 in the Veyron and Chiron needs to wow the public with the second model line. A re-bodied and re-badged Porsche Taycan will not suffice. Bugatti is “earning decent money” according to Winkelmann, yet the R&D funds are too low to support such a project without the help of the group by means of inter-brand synergies.
Another problem of going electric with a more mass-market product is output. The production plant in Molsheim currently produces approximately 100 cars every year, a volume that wouldn’t be enough for the yet-to-be-confirmed model in order for Bugatti to break even or profit.
“The industry is changing fundamentally, and we have to address what opportunities there are to develop Bugatti as a brand going forward,” added the head honcho. On that note, wanna bet a tenner that the electric four-door sedan will become the best-selling Bugatti ever?
For an automaker that’s always been specialized in limited runs of extremely special cars, this change would make Ettore turn in his grave. On the other hand, a cheaper product rolled out in greater numbers would work wonders for the company's financial situation and its stand in the EV landscape. 🏁


CARRIED AWAY A film review by James Berardinelli Copyright 1996 James Berardinelli
RATING (0 TO 10): 8.5 Alternative Scale: ***1/2 out of ****
United States, 1996 Release date: beginning 4/96 (limited) Running Length: 1:44 MPAA Classification: R (Nudity, sex, profanity) Theatrical Aspect Ratio: 1.85:1
Cast: Dennis Hopper, Amy Locane, Amy Irving, Gary Busey, Hal Holbrook,=20 Julie Harris Director: Bruno Barreto Producers: Lisa M. Hansen and Paul Hertzberg Screenplay: Ed Jones and Dale Herd based on the novel FARMER by=20 Jim Harrison Cinematography: Declan Quinn Music: Bruce Broughton U.S. Distributor: Fine Line Features
For the most part, Dennis Hopper is known as a psycho villain of=20 the first order. Consider this resume: the off-the-wall sleazeball in=20 BLUE VELVET, the mad bomber in SPEED, and the nutcase gang leader in=20 WATERWORLD. It seems that when you want a really over-the-top bad guy,=20 Hopper's the one to get. So it comes as something of a surprise to find=20 him playing completely against type in CARRIED AWAY. Here, he's Joseph=20 Svenden, a shy, insecure school teacher who probably couldn't kill=20 anyone if pushed into it. Most amazing is that Hopper not only succeeds=20 in the role, but thrives. Giving his best performance since 1991's=20 PARIS TROUT, Hopper immerses himself in Joseph so completely that the=20 actor's own personality, along with his considerable baggage, becomes=20 submerged. =20
It's difficult to say what CARRIED AWAY is primarily about, because=20 it deals with so many issues: how we view sexuality, how love compares=20 to lust, and how everyone -- men and women -- have a tendency to become=20 stale and complacent with the approach of late middle age. Joseph knows=20 about this latter issue first-hand. At age 47, he's dissatisfied with=20 his life, but doesn't know what to do about it. He's engaged to a=20 woman, Rosealee Henson (Amy Irving), whom he has loved since high=20 school, but something lifeless in their relationship keeps him from=20 actually tying the knot. He hasn't found anything that he's truly good=20 at -- he's a mediocre teacher and a worse farmer. He lives with his=20 dying mother (Julie Harris) in the house where he has spent his entire=20 life. Joseph is trapped, both in an infirm body (a childhood accident=20 caused serious damage to one foot), and in his village. =20
Relief -- or at least a modicum of excitement -- arrives in the=20 person of Catherine Wheeler (Amy Locane), a sexually precocious 17-year=20 old with a killer body. Her parents move into one of Joseph's=20 neighboring houses, and she becomes his student at the small two- classroom school where he teaches. In her own way, Catherine feels as=20 trapped as Joseph. Her mother is a drunk and her father is more=20 interested in shooting pheasants than caring for her. So, looking for=20 an escape, she discovers her teacher, whom she clumsily seduces.  Joseph is quite willing, and,=20 though he feels guilty at first, he gradually comes to view his=20 relationship with Catherine as a liberating experience=85 until she begins= =20 to fantasize about marrying him.
At its heart, CARRIED AWAY is a love story. It's about Joseph and=20 Rosealee, and how Catherine's presence in their lives invigorates their=20 relationship. Through his affair with Catherine, Joseph discovers what=20 it means to be alive. He wakes up. In his own words, he is "carried=20 away", and, in a poignant, touching scene with Rosealee, he shows her=20 the joys of letting go. "I want us to change," he says, "before we get=20 too old and die."
In addition to Hopper's fine job, the principal supporting players=20 are solid. Amy Irving (CROSSING DELANCEY) bears all (literally and=20 figuratively) in a performance of surprising emotional depth. Rosealee=20 is a sad figure who, like Joseph, wants something that she doesn't=20 understand and can't put into words. As Catherine, Amy Locane (BLUE=20 SKY) exudes not only sexuality, but vulnerability. Despite frequently=20 appearing as the vixen temptress (like when she's imitating Lady=20 Godiva), Locane offers us glimpses of the hurt, confused child carefully=20 concealed beneath the brazen exterior. Gary Busey, as Catherine's=20 father, is uncharacteristically restrained, and Hal Holbrook provides=20 most of the comic relief as a small town doctor.
One of the things I found most refreshing about CARRIED AWAY is how=20 little melodrama there is for such a potentially-controversial issue. =20 When Joseph's relationship with Catherine comes into the open, as it=20 surely must, we're not treated to histrionic displays by distraught=20 parents and neighbors. In fact, director Bruno Barreto has a little fun=20 with the audience concerning the reaction of Catherine's father. But,=20 ultimately, the one who has the most difficulty coping with the thought=20 of a 47-year old man sleeping with a 17-year old student is Joseph=20 himself. =20
Although Catherine is developed as a real character with real=20 problems, CARRIED AWAY isn't as much about her as it is about Joseph's=20 reaction to her. This is, after all, his story. Although these two=20 profess to love one another, they are both lying, perhaps as much to=20 themselves as to each other. Their reasons for having sex are far more=20 complex than simple "love", and Barreto's film has the courage to=20 examine those reasons. CARRIED AWAY is erotic, but it's also thoughtful=20 and intelligent, and, coupled with Hopper's extraordinary performance,=20 that's reason enough to be carried away by this motion picture.
- James Berardinelli e-mail<EMAIL_ADDRESS>ReelViews web site: http://www.cybernex.net/~berardin
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


Restaurants Operating during Covid
Seattle Area
new opens
u-district restaurants
support small business
dine in
search in database
| longtitude | laltitude | objectid | globalid | business_name | address_help_your customer_find | phone_number_to_place_order | business_website | are_you_open_for | provide_details_for_you_busines | CreationDate | EditDate |
|---|---|---|---|---|---|---|---|---|---|---|---|
| longtitude | laltitude | objectid | globalid | business_name | address_help_your customer_find | phone_number_to_place_order | business_website | are_you_open_for | provide_details_for_you_busines | CreationDate | EditDate |
| -122.3144254 | 47.6147756" | 4 | 4b271d79-3283-4e16-bd59-cfadca726051 | Nue | 1519 14th Ave |<PHONE_NUMBER> | https://www.nueseattle.com/ | takeout,delivery,third_party_delivery_service | Open 7 days a week | 2020/03/27 01:38:15.543+00 | 2020/03/27 01:38:15.543+00" |
| -122.3280836 | 47.61443553" | 5 | f4928649-888c-41be-9726-4eb86ae05a08 | Terra Plata | 1501 Melrose Ave Seattle, WA 98122 |<PHONE_NUMBER> | http://www.terraplata.com/ | takeout,curbside,third_party_delivery_service | 2020/03/27 01:38:15.543+00 | 2020/03/27 01:38:15.543+00 | |
| -122.3267947 | 47.59859928 | 6 | 0745b48d-87a3-4c4e-9910-24340784a738 | A+ Hong Kong Kitchen | 419 6th Ave S, Seattle, WA 98104 |<PHONE_NUMBER> | https://www.facebook.com/aplushkkitchen/ | takeout,third_party_delivery_service | Hours 11 am- 10 pm everyday except closed Tuesdays | 2020/03/27 01:38:15.543+00 | 2020/06/04 14:54:49.922+00 |


What NFF Told FG About Nigerian Teams Performances
by Emmanuel EgobiambuThe Nigeria Football Federation (NFF) has said they have nothing to hide by a request by the Minister of Youths and Sports Sunday Dare to provide an explanation over the poor performances of Nigerian teams.
Concise News understands that the Minister of Sports Dare had met with the NFF where he expressed dismay over the poor showing of Nigerian teams in major international competitions lately.
According to the NFF President Amaju Pinnick, however, “It was a good move by the Honourable Minister to request for the report.
“As he said, there has to be stock-taking and after that, accountability. The NFF is enamoured by the move and we have submitted the requested report.
“For us, there is nothing to hide. We have detailed all the issues and the forces at play, and explained that in so much as these tournaments are important; they are mainly and strategically developmental.
“Even at that, we approach every match/tournament with the intention of winning, but it is practically and absolutely impossible based on indices, records and scientific laws of probability.”
Concise News understands that in a 15 –page letter signed by Pinnick, the NFF detailed funding (inadequacy and late release of same), the toxic and disruptive environment in which it has had to operate for the past 18 months (with the Federation’s leadership and brand falsely and maliciously dragged from one investigative agency to the other and from one court to the other on same baseless allegations) as major reasons for the poor outings of the Super Falcons, CHAN Eagles, Golden Eaglets and Olympic Eagles in recent matches.


Selenium is a suite of tools specifically for testing web applications.
You can find the latest Selenium news posted in the Selenium blog. Please subscribe to the RSS feed to keep up-to-date with all Selenium development and community activity!
Get a high-level overview of how the various Selenium tools work together.
Selenium works with many browsers, operating systems, programming languages, and testing frameworks.
Get to know the people behind the projects.
Look back on Selenium's past.
Read our plans for Selenium's future.
Find out how you can contribute to selenium.


Python
Today we used the Jupyter program from Anaconda to create lists and tables with datasets from grouplens.org. We learned how to select rows and columns, filtering them, grouping them, and printing them out. During this time, we also learned about new functions and the difference between normal arguments and keyword arguments.
Graphic Design
We created our logo using Adobe Illustrator. The colors used were selected from the Paletton palette generator. We chose the colors because they looked professional.
How to Create a Logo - 10 step tutorial
- 1. Learn logo basics.
- A good logo must be simple, memorable, enduring, versatile, and finally, appropriate.
- 2. Sketch concepts.
- Be original! Keep your design simple, and avoid things like clipart and generic shapes. If your logo has more than 3 colors, you're doing it wrong.
- 3. Analyze your best sketches.
- Choose the top 3 designs and share them with other people. Absorb feedback and use them to finalize the idea.
- 4. Configure logo layout.
- Make sure everything is spaced out equally. Remember that it doesn't have to be symmetrical, only spacing matters.
- 5. Select flexible color options.
- Sometimes logos don't "work" on certain backgrounds. Be sure to have color choices for light and dark backgrounds.
- 6. Choose a good, memorable font.
- Choose a good font that defines your company. For instance, serif fonts symbolize "old" whereas sans serif fonts symbolize "new." Be sure to avoid a generic font like Times New Roman or Comic Sans.
- 7. Maintain font flexibility.
- Your logo needs to be able to be scaled into any size, large enough for billboards and small enough for business cards. Remember that the logo needs to be legible in any size.


Home | Papers
| Program | Register
Online
PSA'98 commences on Thursday, October 22 at 9:00am with registration and the opening of the book exhibit. Attendees are advised that it is worthwhile to arrive at the hotel on Wednesday if they wish, since there will be a block of rooms available for Wednesday night.
Session times are as follows:
Thur 1:00 - 3:30; 4:00 - 6:30
Fri 9:00 - 11:30; 1:00 - 3:30; 4:00 - 6:30
Sat 9:00 - 11:30; 1:00 - 3:30
The meeting will end when the last session of Saturday ends, or when the last glass is emptied at the reception Saturday evening.
The complete program for PSA'98 will be posted here soon.
Fees and Hotel Rates
The hotel rate for PSA'98 will be $112 single/double. TO RESERVE YOUR ROOM AT THE HYATT REGENCY CROWN CENTER AT THIS SPECIAL RATE ($112), CALL 1-800-233-1234 or<PHONE_NUMBER> (FAX<PHONE_NUMBER>).
If there are no available rooms at the Hyatt, contact Melissa at the numbers below, and she will help you to make other arrangements.
206
543-9366
206 685-9544 (FAX)
To register for the conference online, click here.


A free, fully responsive HTML5 site template by HTML5 UP
Hello! You're looking at Striped, a fully responsive HTML5 site template designed by AJ for HTML5 UP It features a clean, minimalistic design, styling for all basic page elements (including blockquotes, tables and lists), a repositionable sidebar (left or right), and HTML5/CSS3 code designed for quick and easy customization (see code comments for details).
Striped is released for free under the Creative Commons Attribution license so feel free to use it for personal projects or even commercial ones – just be sure to credit HTML5 UP for the design. If you like what you see here, be sure to check out HTML5 UP for more cool designs or follow me on Twitter for new releases and updates.


public abstract class AbstractRegistrationSupport
extends java.lang.Object
AbstractRegistrationSupport
class is the base class for
registration purposes of embedded repositories.
This base class cares for synchronization issues of the
activate(ComponentContext)
, deactivate(ComponentContext)
,
bindRepository(ServiceReference)
and
unbindRepository(ServiceReference)
methods. Implementations of the
abstract API may safely assume to run thread-safe.
To ensure this thread-safeness, said methods should not be overwritten.
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Object |
registryLock
A lock to serialize access to the registry management in this class.
|
static java.lang.String |
REPOSITORY_REGISTRATION_NAME
The JCR Repository service registration property used to create
the registration name.
|
| Constructor and Description |
|---|
AbstractRegistrationSupport() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
activate(org.osgi.service.component.ComponentContext componentContext)
Activates this component thread-safely as follows:
Set the OSGi ComponentContext field
Call
doActivate()
Register repositores bound before activation calling
bindRepository(String, Repository) for each such repository. |
protected void |
bindLog(org.osgi.service.log.LogService log)
Binds the LogService
|
protected void |
bindRepository(org.osgi.framework.ServiceReference reference)
Registers the repository identified by the OSGi service reference under
the name set as service property.
|
protected abstract java.lang.Object |
bindRepository(java.lang.String name,
javax.jcr.Repository repository)
Called to actually register a repository with the registry.
|
protected void |
deactivate(org.osgi.service.component.ComponentContext context)
Deactivates this component thread-safely as follows:
Unregister repositores still bound calling
unbindRepository(String, Object) for each such repository. |
protected abstract boolean |
doActivate()
Performs additional activation tasks.
|
protected abstract void |
doDeactivate()
Performs additional deactivation tasks.
|
protected org.osgi.service.component.ComponentContext |
getComponentContext()
Returns the OSGi
ComponentContext of this component. |
protected java.lang.String |
getName(org.osgi.framework.ServiceReference reference)
Returns the
name property from the service properties or
null if no such property exists or the property is an
empty string. |
protected void |
log(int level,
java.lang.String message,
java.lang.Throwable t)
Logs a message with optional
Throwable stack trace to the
log service or stderr if no log service is available. |
protected void |
unbindLog(org.osgi.service.log.LogService log)
Unbinds the LogService
|
protected void |
unbindRepository(org.osgi.framework.ServiceReference reference)
Unregisters the repository identified by the OSGi service reference under
the name set as service property.
|
protected abstract void |
unbindRepository(java.lang.String name,
java.lang.Object data)
Called to actually unregister a repository with the registry.
|
public static final java.lang.String REPOSITORY_REGISTRATION_NAME
protected final java.lang.Object registryLock
protected abstract boolean doActivate()
activate(ComponentContext)
method and is intended for internal
setup, such as acquiring the registry.true
is returned, activation succeeded and any repositories which have
been bound before the component was activated are now actually
registered. If false
is returned, activation
failed and this component is disabled and receives no further
repository bind and unbound events (apart for unbind events for
repositories which have already been bound).protected abstract void doDeactivate()
deactivate(ComponentContext)
method and is intended for internal
cleanup of setup done by the doActivate()
method.
This method is always called, regardless of whether doActivate()
succeeded or not.
protected abstract java.lang.Object bindRepository(java.lang.String name, javax.jcr.Repository repository)
activate(ComponentContext)
for any repositories
bound before the component was activated and by
bindRepository(ServiceReference)
for any repositories bound
after the component was activated.
If actual registration fails, this method is expected to return
null
to indicate this fact. In this case, the
unbindRepository(String, Object)
will NOT be called for the
named repository.
This method may safely assume that it is only called on or after activation of this component on or before the component deactivation.
name
- The name under which the repository is to be registered.repository
- The javax.jcr.Repository
to register.data
parameter to the unbindRepository(String, Object)
method
to unregister the repository of the given name. This may be
null
if actual registration failed.protected abstract void unbindRepository(java.lang.String name, java.lang.Object data)
unbindRepository(ServiceReference)
for any
repositories unbound before the component is deactivated and by
deactivate(ComponentContext)
for any repositories not unbound
before the component is deactivated.
If the bindRepository(String, Repository)
returned
null
for when the named repository was registered, this
method is not called.
This method may safely assume that it is only called on or after activation of this component on or before the component deactivation.
name
- The name under which the repository is to be registered.data
- The data object returned by the
bindRepositoryInternal(String, ServiceReference)
method.protected org.osgi.service.component.ComponentContext getComponentContext()
ComponentContext
of this component. This
method returns null
before the doActivate()
method is called and after the doDeactivate()
method has been
called. That is, this method does not return null
if it is
fully operational.protected void log(int level, java.lang.String message, java.lang.Throwable t)
Throwable
stack trace to the
log service or stderr
if no log service is available.level
- The LogService
level at which to log the
message.message
- The message to log, this should of course not be
null
.t
- The Throwable
to log along with the message. This
may be null
.protected java.lang.String getName(org.osgi.framework.ServiceReference reference)
name
property from the service properties or
null
if no such property exists or the property is an
empty string.reference
- The ServiceReference
whose
name
property is to be returned.null
.protected void activate(org.osgi.service.component.ComponentContext componentContext)
doActivate()
bindRepository(String, Repository)
for each such repository.
If doActivate()
returns false
, the repositories
already bound are not actually registered, but this component is
disabled.
componentContext
- The OSGi ComponentContext
of this
component.protected void deactivate(org.osgi.service.component.ComponentContext context)
unbindRepository(String, Object)
for each such repository.
doDeactivate()
context
- The OSGi ComponentContext
of this
component.protected void bindRepository(org.osgi.framework.ServiceReference reference)
reference
- The ServiceReference
representing the
repository to register.protected void unbindRepository(org.osgi.framework.ServiceReference reference)
reference
- The ServiceReference
representing the
repository to unregister.protected void bindLog(org.osgi.service.log.LogService log)
protected void unbindLog(org.osgi.service.log.LogService log)
Copyright © 2018 The Apache Software Foundation. All rights reserved.


The Shetland Sheepdog, often known as the Sheltie, is a breed of herding dog. Less favored nicknames
are the Toy Collie and the Miniature Collie. They are small dogs, and come in a variety of colors,
such as sable, tri-color, and blue merle. They are very intelligent, vocal, excitable, energetic dogs
who are always willing to please and work hard.
The Hovawart is a medium to large size German dog breed. The name of the breed means "an estate guard
dog", which is the original use for the breed. The breed originated in the Black Forest region and was
first described in text and paintings in medieval times.


Click the question mark icon on the Jupyter notebook toolbar to quickly access the list of the available shortcuts for basic operations with Jupyter notebook.


Variable Scopes in Ruby
Or, Who's on First?
This week at DBC we have been diving into Ruby, playing with variable scope as part of the week's challenges. Let me see if I can explain what is going on with this.
First, here is a list of the various variable scopes in Ruby:
- $global_variables are available to the entire program, and can be changed, and do not throw a warning if you try to change them
- CONSTANTS are available to the entire program, and can be changed, but they do throw a warning if you try to change them
- @@class_variables are available only to the class they are in, and instances of that class (and also sub-classes and instances of sub-classes). These variables are initialized when the class is initialized; there is only one of each of them. (More on this below.)
- @instance_variables are available only to the class they are in, and the methods of that class (and also all sub-classes and instances of sub-classes), but they are initialized for each instance of the class. We will get into this more below.
- local_variables are available only to the method that calls them, during the current call.
Ok, so what does this look like in practice? Let's see if this helps.
$global_variable = 2 CONSTANT = 3 class Class_scope @@class_variable = 4 def initialize @instance_variable1 = 5 end def method_scope @instance_variable2 = 6 local_variable = 7 end end p $global_variable #will return 2 p CONSTANT #will return 3 p @@class_variable #will throw an error: "uninitialized class variable" p @instance_variable1 #will return nil p @instance_variable2 #will return nil p local_variable #will throw an error: "undefined local variable or method"
The above code shows that $global_variable can be accessed, and so can the CONSTANT variable, but our @@class_variable and both instance variables (@instance_variable_) and our local_variable are not accessible. (Oddly, the instance variables do return something: nil -- even though we have not initiated an object for the class yet!
Let's see what happens if I create a class object and try to access the class, instance, and local variables from several different places. Here is the code with a bunch of p calls in specific places. All of the p calls succeed except the ones commented #CANT SEE FROM HERE:
$global_variable_top_level = "$global_top_level" CONSTANT_TOP_LEVEL = "CONSTANT_TOP_LEVEL" class Class_scope $global_variable_in_class = "$global_in_class" CONSTANT_IN_CLASS = "CONSTANT_IN_CLASS" @@class_variable = "@@class variable" def initialize(instance_argument) @instance_argument = instance_argument @instance_variable_init = "@instance_variable_init" local_variable_init = "local_variable_init" puts "These are called from initialize method:" p $global_variable_top_level p $global_variable_in_class p CONSTANT_TOP_LEVEL p CONSTANT_IN_CLASS p @@class_variable p instance_argument #THIS WILL BE DIFFERENT FOR EACH OBJECT INSTANCE p @instance_variable_init p local_variable_init p local_variable_method_scope #CAN'T SEE THIS FROM HERE end def method_scope @instance_variable_in_method = "@instance_variable_in_method" local_variable_method_scope = "local_variable_method_scope" puts "These are called from method_scope method:" p $global_variable_top_level p $global_variable_in_class p CONSTANT_TOP_LEVEL p CONSTANT_IN_CLASS p @@class_variable p @instance_variable_init p @instance_variable_in_method p local_variable_init #CANT SEE THIS FROM HERE p local_variable_method_scope end end first_object = Class_scope.new("number_1").method_scope #THIS RUNS BOTH CLASS METHODS second_object = Class_scope.new("number_2").method_scope #THIS RUNS BOTH CLASS METHODS puts "These are called from outside the class (top_level):" p $global_variable_top_level p $global_variable_in_class p CONSTANT_TOP_LEVEL p CONSTANT_IN_CLASS #CANT SEE THIS FROM HERE p @@class_variable #CANT SEE THIS FROM HERE p @instance_variable_init #CANT SEE THIS FROM HERE p @instance_variable_in_method #CANT SEE THIS FROM HERE p local_variable_init #CANT SEE THIS FROM HERE p local_variable_method_scope #CANT SEE THIS FROM HERE
As you can see, the calls to the top-level global variable and constant always succeed from anywhere; the calls to the class-level global variable always succed from anywhere also; the calls to the constant in the class only work from within the class, they do not work from top-level; and none of the class variables or instance variables or local variables can be accessed from outside the class. Notice also the local variables can only be accessed by the specific method they are in; the other method cannot access them.
Also, the instance variables are different for our two different class objects. The object first_object has an @instance_argument value of "number_1" while the second_object has an @instance_argument value of "number_2". The instance variable values are unique to each class object instance.
That was a lot! I hope that helps to explain variable scope in Ruby!


Welcome!
Log in to use the Amore App.
Todays date is:
Remember Me
LOGIN
Register now |
Forgot password? |
SEE ALL USERS


--- subject: Ulster University Alumni and Supporters --- Arts & Culture Events Other University Events


Missouri man sentenced for illegal hunts in Nebraska
OMAHA, Neb. (AP) - A Missouri man has been fined $25,000 and ordered to pay $25,000 in restitution for hunting illegally in Nebraska.
Federal prosecutors say 57-year-old Rodney Owen, of Blue Springs, Missouri, also was sentenced Friday in Omaha to serve five years of probation for trafficking wildlife in violation of federal law.
Authorities say Owen traveled to Broken Bow in the fall of 2015, 2016 and 2017 and conducted illegal hunting activities. Owen and employees of Hidden Hills Outfitters went on hunts that killed deer near bait locations - violations of Nebraska law. Prosecutors say the wildlife illegally killed by Owen in Nebraska subsequently was taken to Missouri.
A spokesman for Hidden Hills didn’t immediately return a message Monday from The Associated Press.
Authorities say Owen submitted hunt videos to Drury Outdoors, the video production company behind the “Dream Season” outdoors series.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


I've had the opportunity and good fortune to work in a number of different industries, and have come to understand that learning and humility go hand in hand; you can't have one without the other. In order to drive innovation, it seems necessary to keep an open mind and humble heart.
I'm a self-taught software developer, and while I've built some things on my own, I very much look forward to becoming part of a team of like-minded individuals. I do my best work in an environment that requires me to extend; to rise to the occasion.
I'd love to connect, and would appreciate the opportunity to show you how I could be a valuable asset to your team and its goals.
Cheers!
Full stack, single-page application utilizing machine learning API to identify faces within an image. Front-end built using React.js, back-end using RESTful API and Express.js. Stored user information and hashed passwords securely in PostgreSQL database. Deployed to Heroku.
Fully responsive web application built with React.js and CSS, utilizing Robohash image generator API.
Let's connect!
Message


CURLOPT_COOKIELIST explained
NAME
CURLOPT_COOKIELIST - add to or manipulate cookies held in memory
SYNOPSIS
#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIELIST, char *cookie);
DESCRIPTION
Pass a char * to a cookie string.
Such a cookie can be either a single line in Netscape / Mozilla format or just regular HTTP-style header (Set-Cookie: ...) format. This will also enable the cookie engine. This adds that single cookie to the internal cookie store.
Exercise caution if you are using this option and multiple transfers may occur. If you use the Set-Cookie format and don't specify a domain then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If a server sets a cookie of the same name (or maybe you've imported one) then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format as shown in EXAMPLE.
Additionally, there are commands available that perform actions if you pass in these exact strings:
erases all cookies held in memory
erases all session cookies held in memory
writes all known cookies to the file specified by CURLOPT_COOKIEJAR
loads all cookies from the files specified by CURLOPT_COOKIEFILE
DEFAULT
PROTOCOLS
EXAMPLE
/* This example shows an inline import of a cookie in Netscape format. You can set the cookie as HttpOnly to prevent XSS attacks by prepending #HttpOnly_ to the hostname. That may be useful if the cookie will later be imported by a browser. */ #define SEP "\t" /* Tab separates the fields */ char *my_cookie = "example.com" /* Hostname */ SEP "FALSE" /* Include subdomains */ SEP "/" /* Path */ SEP "FALSE" /* Secure */ SEP "0" /* Expiry in epoch time format. 0 == Session */ SEP "foo" /* Name */ SEP "bar"; /* Value */ /* my_cookie is imported immediately via CURLOPT_COOKIELIST. */ curl_easy_setopt(curl, CURLOPT_COOKIELIST, my_cookie); /* The list of cookies in cookies.txt will not be imported until right before a transfer is performed. Cookies in the list that have the same hostname, path and name as in my_cookie are skipped. That is because libcurl has already imported my_cookie and it's considered a "live" cookie. A live cookie won't be replaced by one read from a file. */ curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "cookies.txt"); /* import */ /* Cookies are exported after curl_easy_cleanup is called. The server may have added, deleted or modified cookies by then. The cookies that were skipped on import are not exported. */ curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookies.txt"); /* export */ curl_easy_perform(curl); /* cookies imported from cookies.txt */ curl_easy_cleanup(curl); /* cookies exported to cookies.txt */
AVAILABILITY
ALL was added in 7.14.1
SESS was added in 7.15.4
FLUSH was added in 7.17.1
RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.
SEE ALSO
CURLOPT_COOKIEFILE, CURLOPT_COOKIEJAR, CURLOPT_COOKIE, CURLINFO_COOKIELIST
This HTML page was made with roffit.


| name | value | description |
| dfs.namenode.logging.level | info | The logging level for dfs namenode. Other values are "dir"(trac
e namespace mutations), "block"(trace block under/over replications and block
creations/deletions), or "all". |
| dfs.namenode.rpc-address | |
RPC address that handles all clients requests. If empty then we'll get the
value from fs.default.name.
The value of this property will take the form of hdfs://nn-host1:rpc-port.
|
| dfs.secondary.http.address | <IP_ADDRESS>:50090 |
The secondary namenode http server address and port.
If the port is 0 then the server will start on a free port.
|
| dfs.datanode.address | <IP_ADDRESS>:50010 |
The datanode server address and port for data transfer.
If the port is 0 then the server will start on a free port.
|
| dfs.datanode.http.address | <IP_ADDRESS>:50075 |
The datanode http server address and port.
If the port is 0 then the server will start on a free port.
|
| dfs.datanode.ipc.address | <IP_ADDRESS>:50020 |
The datanode ipc server address and port.
If the port is 0 then the server will start on a free port.
|
| dfs.datanode.handler.count | 3 | The number of server threads for the datanode. |
| dfs.http.address | <IP_ADDRESS>:50070 |
The address and the base port where the dfs namenode web ui will listen on.
If the port is 0 then the server will start on a free port.
|
| dfs.https.enable | false | Decide if HTTPS(SSL) is supported on HDFS
|
| dfs.https.need.client.auth | false | Whether SSL client certificate authentication is required
|
| dfs.https.server.keystore.resource | ssl-server.xml | Resource file from which ssl server keystore
information will be extracted
|
| dfs.https.client.keystore.resource | ssl-client.xml | Resource file from which ssl client keystore
information will be extracted
|
| dfs.datanode.https.address | <IP_ADDRESS>:50475 | |
| dfs.https.address | <IP_ADDRESS>:50470 | |
| dfs.datanode.dns.interface | default | The name of the Network Interface from which a data node should
report its IP address.
|
| dfs.datanode.dns.nameserver | default | The host name or IP address of the name server (DNS)
which a DataNode should use to determine the host name used by the
NameNode for communication and display purposes.
|
| dfs.replication.considerLoad | true | Decide if chooseTarget considers the target's load or not
|
| dfs.default.chunk.view.size | 32768 | The number of bytes to view for a file on the browser.
|
| dfs.datanode.du.reserved | 0 | Reserved space in bytes per volume. Always leave this much space free for non dfs use.
|
| dfs.name.dir | ${hadoop.tmp.dir}/dfs/name | Determines where on the local filesystem the DFS name node
should store the name table(fsimage). If this is a comma-delimited list
of directories then the name table is replicated in all of the
directories, for redundancy. |
| dfs.name.edits.dir | ${dfs.name.dir} | Determines where on the local filesystem the DFS name node
should store the transaction (edits) file. If this is a comma-delimited list
of directories then the transaction file is replicated in all of the
directories, for redundancy. Default value is same as dfs.name.dir
|
| dfs.namenode.edits.toleration.length | 0 |
The length in bytes that namenode is willing to tolerate when the edit log
is corrupted. The edit log toleration feature checks the entire edit log.
It computes read length (the length of valid data), corruption length and
padding length. In case that corruption length is non-zero, the corruption
will be tolerated only if the corruption length is less than or equal to
the toleration length.
For disabling edit log toleration feature, set this property to -1. When
the feature is disabled, the end of edit log will not be checked. In this
case, namenode will startup normally even if the end of edit log is
corrupted.
|
| dfs.web.ugi | webuser,webgroup | The user account used by the web interface.
Syntax: USERNAME,GROUP1,GROUP2, ...
|
| dfs.permissions | true |
If "true", enable permission checking in HDFS.
If "false", permission checking is turned off,
but all other behavior is unchanged.
Switching from one parameter value to the other does not change the mode,
owner or group of files or directories.
|
| dfs.permissions.supergroup | supergroup | The name of the group of super-users. |
| dfs.block.access.token.enable | false |
If "true", access tokens are used as capabilities for accessing datanodes.
If "false", no access tokens are checked on accessing datanodes.
|
| dfs.block.access.key.update.interval | 600 |
Interval in minutes at which namenode updates its access keys.
|
| dfs.block.access.token.lifetime | 600 | The lifetime of access tokens in minutes. |
| dfs.data.dir | ${hadoop.tmp.dir}/dfs/data | Determines where on the local filesystem an DFS data node
should store its blocks. If this is a comma-delimited
list of directories, then data will be stored in all named
directories, typically on different devices.
Directories that do not exist are ignored.
|
| dfs.datanode.data.dir.perm | 755 | Permissions for the directories on on the local filesystem where
the DFS data node store its blocks. The permissions can either be octal or
symbolic. |
| dfs.replication | 3 | Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
|
| dfs.replication.max | 512 | Maximal block replication.
|
| dfs.replication.min | 1 | Minimal block replication.
|
| dfs.block.size | 67108864 | The default block size for new files. |
| dfs.df.interval | 60000 | Disk usage statistics refresh interval in msec. |
| dfs.client.block.write.retries | 3 | The number of retries for writing blocks to the data nodes,
before we signal failure to the application.
|
| dfs.blockreport.intervalMsec | 3600000 | Determines block reporting interval in milliseconds. |
| dfs.blockreport.initialDelay | 0 | Delay for first block report in seconds. |
| dfs.heartbeat.interval | 3 | Determines datanode heartbeat interval in seconds. |
| dfs.namenode.handler.count | 10 | The number of server threads for the namenode. |
| dfs.safemode.threshold.pct | 0.999f |
Specifies the percentage of blocks that should satisfy
the minimal replication requirement defined by dfs.replication.min.
Values less than or equal to 0 mean not to wait for any particular
percentage of blocks before exiting safemode.
Values greater than 1 will make safe mode permanent.
|
| dfs.namenode.safemode.min.datanodes | 0 |
Specifies the number of datanodes that must be considered alive
before the name node exits safemode.
Values less than or equal to 0 mean not to take the number of live
datanodes into account when deciding whether to remain in safe mode
during startup.
Values greater than the number of datanodes in the cluster
will make safe mode permanent.
|
| dfs.safemode.extension | 30000 |
Determines extension of safe mode in milliseconds
after the threshold level is reached.
|
| dfs.balance.bandwidthPerSec | 1048576 |
Specifies the maximum amount of bandwidth that each datanode
can utilize for the balancing purpose in term of
the number of bytes per second.
|
| dfs.hosts | | Names a file that contains a list of hosts that are
permitted to connect to the namenode. The full pathname of the file
must be specified. If the value is empty, all hosts are
permitted. |
| dfs.hosts.exclude | | Names a file that contains a list of hosts that are
not permitted to connect to the namenode. The full pathname of the
file must be specified. If the value is empty, no hosts are
excluded. |
| dfs.max.objects | 0 | The maximum number of files, directories and blocks
dfs supports. A value of zero indicates no limit to the number
of objects that dfs supports.
|
| dfs.namenode.decommission.interval | 30 | Namenode periodicity in seconds to check if decommission is
complete. |
| dfs.namenode.decommission.nodes.per.interval | 5 | The number of nodes namenode checks if decommission is complete
in each dfs.namenode.decommission.interval. |
| dfs.replication.interval | 3 | The periodicity in seconds with which the namenode computes
repliaction work for datanodes. |
| dfs.access.time.precision | 3600000 | The access time for HDFS file is precise upto this value.
The default value is 1 hour. Setting a value of 0 disables
access times for HDFS.
|
| dfs.support.append | |
This option is no longer supported. HBase no longer requires that
this option be enabled as sync is now enabled by default. See
HADOOP-8230 for additional information.
|
| dfs.namenode.delegation.key.update-interval | 86400000 | The update interval for master key for delegation tokens
in the namenode in milliseconds.
|
| dfs.namenode.delegation.token.max-lifetime | 604800000 | The maximum lifetime in milliseconds for which a delegation
token is valid.
|
| dfs.namenode.delegation.token.renew-interval | 86400000 | The renewal interval for delegation token in milliseconds.
|
| dfs.datanode.failed.volumes.tolerated | 0 | The number of volumes that are allowed to
fail before a datanode stops offering service. By default
any volume failure will cause a datanode to shutdown.
|
| dfs.datanode.max.xcievers | 4096 | Specifies the maximum number of threads to use for transferring data
in and out of the DN.
|
| dfs.datanode.readahead.bytes | 4193404 |
While reading block files, if the Hadoop native libraries are available,
the datanode can use the posix_fadvise system call to explicitly
page data into the operating system buffer cache ahead of the current
reader's position. This can improve performance especially when
disks are highly contended.
This configuration specifies the number of bytes ahead of the current
read position which the datanode will attempt to read ahead. This
feature may be disabled by configuring this property to 0.
If the native libraries are not available, this configuration has no
effect.
|
| dfs.datanode.drop.cache.behind.reads | false |
In some workloads, the data read from HDFS is known to be significantly
large enough that it is unlikely to be useful to cache it in the
operating system buffer cache. In this case, the DataNode may be
configured to automatically purge all data from the buffer cache
after it is delivered to the client. This behavior is automatically
disabled for workloads which read only short sections of a block
(e.g HBase random-IO workloads).
This may improve performance for some workloads by freeing buffer
cache spage usage for more cacheable data.
If the Hadoop native libraries are not available, this configuration
has no effect.
|
| dfs.datanode.drop.cache.behind.writes | false |
In some workloads, the data written to HDFS is known to be significantly
large enough that it is unlikely to be useful to cache it in the
operating system buffer cache. In this case, the DataNode may be
configured to automatically purge all data from the buffer cache
after it is written to disk.
This may improve performance for some workloads by freeing buffer
cache spage usage for more cacheable data.
If the Hadoop native libraries are not available, this configuration
has no effect.
|
| dfs.datanode.sync.behind.writes | false |
If this configuration is enabled, the datanode will instruct the
operating system to enqueue all written data to the disk immediately
after it is written. This differs from the usual OS policy which
may wait for up to 30 seconds before triggering writeback.
This may improve performance for some workloads by smoothing the
IO profile for data written to disk.
If the Hadoop native libraries are not available, this configuration
has no effect.
|
| dfs.client.use.datanode.hostname | false | Whether clients should use datanode hostnames when
connecting to datanodes.
|
| dfs.datanode.use.datanode.hostname | false | Whether datanodes should use datanode hostnames when
connecting to other datanodes for data transfer.
|
| dfs.client.local.interfaces | | A comma separated list of network interface names to use
for data transfer between the client and datanodes. When creating
a connection to read from or write to a datanode, the client
chooses one of the specified interfaces at random and binds its
socket to the IP of that interface. Individual names may be
specified as either an interface name (eg "eth0"), a subinterface
name (eg "eth0:0"), or an IP address (which may be specified using
CIDR notation to match a range of IPs).
|
| dfs.image.transfer.bandwidthPerSec | 0 |
Specifies the maximum amount of bandwidth that can be utilized
for image transfer in term of the number of bytes per second.
A default value of 0 indicates that throttling is disabled.
|
| dfs.webhdfs.enabled | false |
Enable WebHDFS (REST API) in Namenodes and Datanodes.
|
| dfs.namenode.kerberos.internal.spnego.principal | ${dfs.web.authentication.kerberos.principal} | |
| dfs.secondary.namenode.kerberos.internal.spnego.principal | ${dfs.web.authentication.kerberos.principal} | |
| dfs.namenode.invalidate.work.pct.per.iteration | 0.32f |
*Note*: Advanced property. Change with caution.
This determines the percentage amount of block
invalidations (deletes) to do over a single DN heartbeat
deletion command. The final deletion count is determined by applying this
percentage to the number of live nodes in the system.
The resultant number is the number of blocks from the deletion list
chosen for proper invalidation over a single heartbeat of a single DN.
Value should be a positive, non-zero percentage in float notation (X.Yf),
with 1.0f meaning 100%.
|
| dfs.namenode.replication.work.multiplier.per.iteration | 2 |
*Note*: Advanced property. Change with caution.
This determines the total amount of block transfers to begin in
parallel at a DN, for replication, when such a command list is being
sent over a DN heartbeat by the NN. The actual number is obtained by
multiplying this multiplier with the total number of live nodes in the
cluster. The result number is the number of blocks to begin transfers
immediately for, per DN heartbeat. This number can be any positive,
non-zero integer.
|
| dfs.namenode.avoid.read.stale.datanode | false |
Indicate whether or not to avoid reading from "stale" datanodes whose
heartbeat messages have not been received by the namenode
for more than a specified time interval. Stale datanodes will be
moved to the end of the node list returned for reading. See
dfs.namenode.avoid.write.stale.datanode for a similar setting for writes.
|
| dfs.namenode.avoid.write.stale.datanode | false |
Indicate whether or not to avoid writing to "stale" datanodes whose
heartbeat messages have not been received by the namenode
for more than a specified time interval. Writes will avoid using
stale datanodes unless more than a configured ratio
(dfs.namenode.write.stale.datanode.ratio) of datanodes are marked as
stale. See dfs.namenode.avoid.read.stale.datanode for a similar setting
for reads.
|
| dfs.namenode.stale.datanode.interval | 30000 |
Default time interval for marking a datanode as "stale", i.e., if
the namenode has not received heartbeat msg from a datanode for
more than this time interval, the datanode will be marked and treated
as "stale" by default. The stale interval cannot be too small since
otherwise this may cause too frequent change of stale states.
We thus set a minimum stale interval value (the default value is 3 times
of heartbeat interval) and guarantee that the stale interval cannot be less
than the minimum value.
|
| dfs.namenode.write.stale.datanode.ratio | 0.5f |
When the ratio of number stale datanodes to total datanodes marked
is greater than this ratio, stop avoiding writing to stale nodes so
as to prevent causing hotspots.
|
| dfs.datanode.plugins | | Comma-separated list of datanode plug-ins to be activated.
|
| dfs.namenode.plugins | | Comma-separated list of namenode plug-ins to be activated.
|


import logging from collections import OrderedDict from typing import Dict, Iterable, List, Optional, Tuple from pip._vendor.packaging.utils import canonicalize_name from pip._internal.exceptions import InstallationError from pip._internal.models.wheel import Wheel from pip._internal.req.req_install import InstallRequirement from pip._internal.utils import compatibility_tags logger = logging.getLogger(__name__) class RequirementSet: def __init__(self, check_supported_wheels=True): # type: (bool) -> None """Create a RequirementSet. """ self.requirements = OrderedDict() # type: Dict[str, InstallRequirement] self.check_supported_wheels = check_supported_wheels self.unnamed_requirements = [] # type: List[InstallRequirement] def __str__(self): # type: () -> str requirements = sorted( (req for req in self.requirements.values() if not req.comes_from), key=lambda req: canonicalize_name(req.name or ""), ) return ' '.join(str(req.req) for req in requirements) def __repr__(self): # type: () -> str requirements = sorted( self.requirements.values(), key=lambda req: canonicalize_name(req.name or ""), ) format_string = '<{classname} object; {count} requirement(s): {reqs}>' return format_string.format( classname=self.__class__.__name__, count=len(requirements), reqs=', '.join(str(req.req) for req in requirements), ) def add_unnamed_requirement(self, install_req): # type: (InstallRequirement) -> None assert not install_req.name self.unnamed_requirements.append(install_req) def add_named_requirement(self, install_req): # type: (InstallRequirement) -> None assert install_req.name project_name = canonicalize_name(install_req.name) self.requirements[project_name] = install_req def add_requirement( self, install_req, # type: InstallRequirement parent_req_name=None, # type: Optional[str] extras_requested=None # type: Optional[Iterable[str]] ): # type: (...) -> Tuple[List[InstallRequirement], Optional[InstallRequirement]] """Add install_req as a requirement to install. :param parent_req_name: The name of the requirement that needed this added. The name is used because when multiple unnamed requirements resolve to the same name, we could otherwise end up with dependency links that point outside the Requirements set. parent_req must already be added. Note that None implies that this is a user supplied requirement, vs an inferred one. :param extras_requested: an iterable of extras used to evaluate the environment markers. :return: Additional requirements to scan. That is either [] if the requirement is not applicable, or [install_req] if the requirement is applicable and has just been added. """ # If the markers do not match, ignore this requirement. if not install_req.match_markers(extras_requested): logger.info( "Ignoring %s: markers '%s' don't match your environment", install_req.name, install_req.markers, ) return [], None # If the wheel is not supported, raise an error. # Should check this after filtering out based on environment markers to # allow specifying different wheels based on the environment/OS, in a # single requirements file. if install_req.link and install_req.link.is_wheel: wheel = Wheel(install_req.link.filename) tags = compatibility_tags.get_supported() if (self.check_supported_wheels and not wheel.supported(tags)): raise InstallationError( "{} is not a supported wheel on this platform.".format( wheel.filename) ) # This next bit is really a sanity check. assert not install_req.user_supplied or parent_req_name is None, ( "a user supplied req shouldn't have a parent" ) # Unnamed requirements are scanned again and the requirement won't be # added as a dependency until after scanning. if not install_req.name: self.add_unnamed_requirement(install_req) return [install_req], None try: existing_req = self.get_requirement( install_req.name) # type: Optional[InstallRequirement] except KeyError: existing_req = None has_conflicting_requirement = ( parent_req_name is None and existing_req and not existing_req.constraint and existing_req.extras == install_req.extras and existing_req.req and install_req.req and existing_req.req.specifier != install_req.req.specifier ) if has_conflicting_requirement: raise InstallationError( "Double requirement given: {} (already in {}, name={!r})" .format(install_req, existing_req, install_req.name) ) # When no existing requirement exists, add the requirement as a # dependency and it will be scanned again after. if not existing_req: self.add_named_requirement(install_req) # We'd want to rescan this requirement later return [install_req], install_req # Assume there's no need to scan, and that we've already # encountered this for scanning. if install_req.constraint or not existing_req.constraint: return [], existing_req does_not_satisfy_constraint = ( install_req.link and not ( existing_req.link and install_req.link.path == existing_req.link.path ) ) if does_not_satisfy_constraint: raise InstallationError( "Could not satisfy constraints for '{}': " "installation from path or url cannot be " "constrained to a version".format(install_req.name) ) # If we're now installing a constraint, mark the existing # object for real installation. existing_req.constraint = False # If we're now installing a user supplied requirement, # mark the existing object as such. if install_req.user_supplied: existing_req.user_supplied = True existing_req.extras = tuple(sorted( set(existing_req.extras) | set(install_req.extras) )) logger.debug( "Setting %s extras to: %s", existing_req, existing_req.extras, ) # Return the existing requirement for addition to the parent and # scanning again. return [existing_req], existing_req def has_requirement(self, name): # type: (str) -> bool project_name = canonicalize_name(name) return ( project_name in self.requirements and not self.requirements[project_name].constraint ) def get_requirement(self, name): # type: (str) -> InstallRequirement project_name = canonicalize_name(name) if project_name in self.requirements: return self.requirements[project_name] raise KeyError(f"No project with the name {name!r}") @property def all_requirements(self): # type: () -> List[InstallRequirement] return self.unnamed_requirements + list(self.requirements.values())


If you can not see this image click here.
Word verification technology developed in collaboration with the Captcha Project at Carnegie Mellon University.


Reports the forward (/) or backward (\) slash in a string or
character literal. These characters are commonly used as file separators, and portability may suffer if their use is hardcoded.
This will not report a forward slash immediately following a '<' character,
or immediately preceding a '>' character, as those often indicate XML or HTML tags rather than file names,
strings representing a java.util.TimeZone ID, strings that are a valid regular expression or strings that equal an IANA-registered MIME media type.
Normally, usage of the example/* MIME media type outside of an example (e.g. in a Content-Type
header) is an error. Use the checkbox below to include example/* in the set of recognized media types.
Powered by InspectionGadgets


Some easy questions here
try fade out to fade out the paragraph
Click the button to start the quiz.
Click here to slide up the quizboard
Is Javascript a language
Which one is not a loop in Javascript
Inside which HTML element do we put the JavaScript?
Where is the correct place to insert a JavaScript?
How to write an IF statement for executing some code if "i" is NOT equal to 5?


Last updated: 2020-08-12
Checks: 7 0
Knit directory: 2019-feature-selection/
This reproducible R Markdown analysis was created with workflowr (version 1.6.1). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(20190522)
was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.
The results in this page were generated with repository version 073e62a. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.
Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish
or wflow_git_commit
). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: .Rhistory
Ignored: .Rproj.user/
Ignored: .Ruserdata/
Ignored: .drake/
Ignored: .vscode/
Ignored: analysis/rosm.cache/
Ignored: data/
Ignored: inst/Benchmark for Filter Methods for Feature Selection in High-Dimensional Classification Data.pdf
Ignored: inst/study-area-map/._study-area.qgs
Ignored: inst/study-area-map/study-area.qgs~
Ignored: log/
Ignored: renv/library/
Ignored: renv/staging/
Ignored: reviews/
Ignored: rosm.cache/
Unstaged changes:
Modified: analysis/report-defoliation.Rmd
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
These are the previous versions of the repository in which changes were made to the R Markdown (analysis/response-normality.Rmd
) and HTML (docs/response-normality.html
) files. If you’ve configured a remote Git repository (see ?wflow_git_remote
), click on the hyperlinks in the table below to view the files as they were in that past version.
| File | Version | Author | Date | Message |
|---|---|---|---|---|
| html | 8b5e422 | pat-s | 2020-08-05 | Build site. |
| html | 7c7c7d9 | pat-s | 2020-02-25 | Build site. |
| Rmd | 6d8c0be | pat-s | 2020-02-25 | wflow_publish(knitr_in(“analysis/response-normality.Rmd”), view = |
| Rmd | bbd422a | pat-s | 2020-02-24 | update reports |
| html | 8d84438 | pat-s | 2020-01-08 | Build site. |
| html | 4edabc0 | pat-s | 2019-12-21 | Build site. |
| html | 3e8e33d | pat-s | 2019-11-06 | Build site. |
| html | 9241b85 | pat-s | 2019-10-05 | Build site. |
| html | fdc8064 | pat-s | 2019-09-28 | Build site. |
| html | 0b18307 | pat-s | 2019-09-21 | Build site. |
| html | aa0486b | pat-s | 2019-09-15 | Build site. |
| Rmd | bfd9ac1 | pat-s | 2019-09-15 | wflow_publish(knitr_in(“analysis/response-normality.Rmd”), view = |
| Rmd | 4b59fe9 | pat-s | 2019-09-12 | wflow_publish(knitr_in(“analysis/response-normality.Rmd”), view = |
| Rmd | 518d0cb | pat-s | 2019-09-01 | style files using tidyverse style |
| Rmd | 7582c67 | pat-s | 2019-08-31 | Build site. |
| Rmd | a5308c2 | pat-s | 2019-08-31 | add response-normality Rmd |
Last update:
[1] "Wed Aug 12 11:05:32 2020"
This document originated from the fear of having a response variable which is not normally distributed “enough”.
The response variable looks as follows:
When applying the Shapiro-Wilk test we get
Shapiro-Wilk normality test
data: vi_data_corrected_buffer2$defoliation
W = 0.86069, p-value < 2.2e-16
Visualizing model residuals of LASSO and RF to see how they differ. The LASSO “predicted vs. fitted” plot shows limited model power.
The following transformations of the response variable were done to check if it they have an effect on the “residuals vs. fitted” and “QQ-Plot” shown above.
One option to enforce more normality of a variable is by applying a power transformation. The Box-Cox power transformation estimates a lambda value from the variable. Next, the transformation can be applied via
\[(y^lambda - 1) / lambda\]
There is a Stackoverflow question that shows how to do this.
Applying it on the response of the data.
| Version | Author | Date |
|---|---|---|
| 7c7c7d9 | pat-s | 2020-02-25 |
[1] 0.7878788
Shapiro-Wilk normality test
data: y_new1
W = 0.84181, p-value < 2.2e-16
The “W” value is a little less than before.
There is another way to do this via package car.
Shapiro-Wilk normality test
data: y_new2
W = 0.8433, p-value < 2.2e-16
Exploring the residuals of a Lasso model with no transformation of the response variable.
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS: /opt/spack/opt/spack/linux-centos7-x86_64/gcc-9.2.0/r-3.6.1-j25wr6zcofibs2zfjwg37357rjj26lqb/rlib/R/lib/libRblas.so
LAPACK: /opt/spack/opt/spack/linux-centos7-x86_64/gcc-9.2.0/r-3.6.1-j25wr6zcofibs2zfjwg37357rjj26lqb/rlib/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] tidyselect_0.2.5 MASS_7.3-51.4 ggplot2_3.3.0 drake_7.12.0
loaded via a namespace (and not attached):
[1] fs_1.4.1 filelock_1.0.2 RColorBrewer_1.1-2
[4] progress_1.2.0 httr_1.4.0 rprojroot_1.3-2
[7] tools_3.6.1 backports_1.1.5 R6_2.4.1
[10] lazyeval_0.2.1 colorspace_1.4-0 withr_2.1.2
[13] prettyunits_1.0.2 mco_1.0-15.1 curl_3.3
[16] compiler_3.6.1 git2r_0.26.1 parallelMap_1.4
[19] glmnet_3.0-2 cli_2.0.2 DiceKriging_1.5.6
[22] plotly_4.8.0 labeling_0.3 scales_1.1.0
[25] checkmate_2.0.0 plot3D_1.1.1 stringr_1.4.0
[28] digest_0.6.25 foreign_0.8-72 txtq_0.1.4
[31] rmarkdown_1.13 rio_0.5.16 smoof_1.5.1
[34] pkgconfig_2.0.3 htmltools_0.3.6 lhs_1.0.1
[37] readxl_1.3.0 htmlwidgets_1.3 rlang_0.4.5
[40] BBmisc_1.11 shape_1.4.4 farver_2.0.3
[43] mlrMBO_1.1.2 jsonlite_1.6 zip_2.0.4
[46] dplyr_0.8.3 car_3.0-3 magrittr_1.5
[49] Matrix_1.2-15 Rcpp_1.0.3 munsell_0.5.0
[52] fansi_0.4.1 abind_1.4-5 lifecycle_0.1.0
[55] stringi_1.3.1 whisker_0.3-2 yaml_2.2.0
[58] carData_3.0-2 storr_1.2.1 RJSONIO_1.3-1.1
[61] grid_3.6.1 misc3d_0.8-4 parallel_3.6.1
[64] promises_1.0.1 forcats_0.4.0 crayon_1.3.4
[67] lattice_0.20-38 haven_2.1.0 splines_3.6.1
[70] hms_0.5.3 knitr_1.23 mlr_<IP_ADDRESS>01
[73] pillar_1.4.3 igraph_<IP_ADDRESS> base64url_1.4
[76] codetools_0.2-16 fastmatch_1.1-0 glue_1.4.0
[79] evaluate_0.13 ParamHelpers_1.12 data.table_1.12.8
[82] vctrs_0.2.4 httpuv_<IP_ADDRESS> foreach_1.4.4
[85] cellranger_1.1.0 gtable_0.3.0 purrr_0.3.4
[88] tidyr_1.0.0 kernlab_0.9-27 assertthat_0.2.1
[91] openxlsx_4.1.0 xfun_0.5 later_1.0.0
[94] survival_2.43-3 viridisLite_0.3.0 tibble_2.1.3
[97] iterators_1.0.10 workflowr_1.6.1