Have you ever write a file with more 500 lines of code? I think the answer is YES. Me too, even more 1000 lines. How can you maintain your code? And what do you think when fix a bug, add a function with a 1000-line-of-code file?
I’m sure your feeling same to mine. It’s horrible to find something there.
Take a look at this photo and list what we have to do.
Sign In
with a round corner.Sign In
.With a simple log in screen, there are 10+ small tasks to do. I don’t want to mention to log in and sign up in the same screen. And the view controller will contain a lot of codes. It’s horrible.
Thank God, Extension is here. Extension in Swift is awesome. If you don’t know about Extension, read more here. I split up to 3 extension files:
setupView()
in viewDidLoad()
to format the UI. I usually do that: set title, run animation, set text color, background, implement delegate in setupView
.And this is my ViewController.swift.
Now I want to add animation, find FormattingUIExtension.swift
and code, service changes, do it in ServiceCommunicationExtension.swift
You can download my complete project here. Don’t add everything in view controller, split it up, manage it easily and forgot the 1000-line-of-code nightmare.
This article is not a tutorial, it’s only a note for friends and myself.


The AnkhSVN Roadmap is maintained in the wiki. Here is a direct link: http://ankhsvn.open.collab.net/wiki/Roadmap
Discuss the roadmap in the AnkhSVN discussion forum/mailing list.
We welcome anybody developing one of the below features and submitting a patch. Before you do, we'd appreciate it if you get in touch with us first to discuss the implementation. Send an email to<EMAIL_ADDRESS>.


Meta Database Specification v1.4.3
Overview
The Cinema Unity Viewer allows for viewing multiple spec-A Cinema databases at the
same time in a single 3D space. To do this, the Unity Viewer requires a specially
formatted json file, called a meta database, describing which databases are to
be used and how they are to be arranged in the 3D space. This document describes
the formatting of the meta database file and the function of the various properties
that can be defined in it.
Note: While it is possible to load a single database into the Unity Viewer
directly from its info.json file, for viewing a single database, it is recommended
to create a meta database containing only the single database as it will allow
for using some of the special properties which may be necessary for the
database to display correctly.
An example of a meta database file can be found here.
A complete json schema for the meta database can be found here.
Properties
Root
metadata: An object containing properties outside of a specific
database (e.g. The boundaries of the viewing area). See "metadata" for more
information.
runs: An array of objects representing the databases to be used.
See "databases" for more information.
metadata
minBounds: An array of three numbers representing the smallest
values on the x, y, and z axes, respectively, that the camera can move to.
In the viewer, walls will appear to block the user as the camera approaches
these values.
maxBounds: An array of three numbers representing the largest
values on the x, y, and z axes, respectively, that the camera can move to.
It is recommended to leave a space of at least ten units around the
outermost databases before the boundaries so that the user will have room to
easily navigate around them.
maxCacheSize: The maximum number of images each database can
store in its cache. The higher this is, the better the performance, but the
greater the memory cost.
scale: (optional) Multiplies the positions of all
runs by this amount. This will not affect the positions of the
boundaries defined in minBounds and maxBounds.
runs
Any of the properties here can also be placed under "metadata" to act as a default.
All runs will use the value in "metadata" unless overriden here.
path: The path (relative to the meta database file, unless it
is an online URL) to the directory containing the database. The database's
info.json file must be in this directory. NOTE: It may be necessary to
alter the direction of the slash in the path according to your system.
position: An array of three numbers representing the position
on the x, y, and z axes, respectively where the databases should be in
the 3D space. For reference, the camera begins at [0,0,-5] facing
the positive Z axis.
size: The size (in pixels per Unity unit) at which the
images of the database will be displayed. A smaller value will make
the database appear larger.
online: (optional) Whether or not the given path
is an online URL.
alphaColor: (optional) An array of three numbers
representing the rgb values of the background color to be removed from
the image. Rgb values are floats ranging from 0 to 1.0.
alphaThreshold: (optional) The threshold around
the alphaColor for removing the background color. A value of 0 means that
only pixels exactly matching the alphaColor will be removed. A higher value
will remove more similar colors.
alphaSoftness: (optional) Allows for some softness
on removing the background. The greater the value,
the more colors around the threshold will be given a partial alpha value.
Realigning and Rescaling Phi and Theta Values
Because different Cinema databases have different ways of interpreting the
phi and theta values representing the angles at which the database can be viewed,
a number of other properties may be needed to re-interpret these
values so that all databases behave properly when put into the 3D space.
The properties invertPhi, invertTheta, phiAlignment, thetaAlignment,
minPhi, maxPhi, minTheta and maxTheta are used to do this.
It is easiest to think to of this process as a pipeline beginning with
the phi and theta values of the database in Unity world space. These values are
adjusted and, at the end, are matched to the closest values in the ‘phi’ and
‘theta’ arguments of the Cinema database to determine which image to display.
The steps of that pipeline are outlined below. Like the properties under "runs",
these values can also be set under "metadata" to act as a default.
Beginning
At first, the phi and theta variables represent the rotation of the database
in Unity world space necessary to face directly at the camera. Phi,
the horizontal rotation, starts with 0° facing down the negative Z axis and
rotates clockwise up to 360°. Theta, the vertical rotation starts with 0°
facing directly downwards (negative Y axis) and 180° facing directly upwards
(positive Y axis). For reference, a database placed at [0,0,0] will start
with a phi of 0° and theta of 90° as it is directly in front of the camera
which starts at [0,0,-5].
Inverting Phi/Theta
If you find that a database seems to rotate in the wrong direction when moving
the camera around it, you may want to invert either the phi or theta values.
Setting invertPhi to ‘true’ in the json file will cause the phi value to
rotate counter-clockwise instead. For example, a value of 315° will
change to 45° when inverted. Likewise, theta will be inverted so that 0°
is straight up and 180° is straight down.
Phi and Theta Alignment
The phiAlignment and thetaAlignment values are added to the phi and theta
values respectively. (Both also have a modulo 360, so values above 360°
will automatically wrap around). This can be used to effectively rotate
an entire database by some amount.
Note: These values are applied after invertPhi and invertTheta,
so a phiAlignment with a value of 90 will rotate in the opposite direction if
invertPhi is also true.
Rescaling Phi and Theta
Sometimes a Cinema database will have phi or theta values that are scaled
incorrectly (for example, phi changing by 60° shows a rotation of only 30°).
The minPhi, maxPhi, minTheta and maxTheta values can be used to correct scaling
problems. minPhi and minTheta define the Unity world space
(after inverting and alignment) equivalents of the first value listed in the
database’s phi and theta arguments respectively. Likewise, maxPhi and maxTheta
represent the equivalents of the last value listed in the database’s phi and theta
arguments. The phi and theta values are then interpolated linearly between
these values to ensure they align with what is defined in the database’s arguments.
End
After the phi and theta values have been inverted, re-aligned and/or rescaled,
they are matched to the nearest values defined in the database’s phi and
theta arguments. It is these values that are used to determine which image
should be displayed.


| testFuns {unitizer} | R Documentation |
testFuns
contains the functions used to compare the results and side
effects of running test expressions. “testFuns” objects can be used
as the compare
argument for unitizer_sect
, thereby
allowing you to specify different comparison functions for different aspects
of test evaluation.
The default comparison functions are as follows:
value: all_eq
conditions: all_eq
output: function(x, y) TRUE
, i.e. not compared
message: function(x, y) TRUE
, i.e. not compared as conditions
should be capturing warnings/errors
aborted: function(x, y) TRUE
, i.e. not compared as conditions
should also be capturing this implicitly
unitizer_sect
for more relevant usage examples,
all_eq
# use `identical` instead of `all.equal` to compare values testFuns(value=identical)


--- layout: post title: "What I learned from Steve Jobs" date: 2011-10-06 04:19:23 +0000 permalink: /2011/10/06/what-i-learned-from-steve-jobs/ category: Computer tags: - Apple - Steve Jobs redirect_from: - /blog/what-i-learned-from-steve-jobs/ ---
Unless you've just awoken from a coma, you're probably well aware that Steve Jobs passed away a few hours ago. It might be the very first time that the death of a "celebrity" has saddned me. Steve was more than a celebrity, he was visionary like none other.
Steve had a vision that was unmatched by anyone else, even his Apple cofounder Steve Wozniak. The Woz and I are much more on the same wavelength -- fascinated by the technology, fascinated by doing things just to see them done. Jobs, on the other hand, saw the bigger picture instantly. He saw how the technology would change the world, and he got there first (most of the time). Lesson one: See the big picture. Even if you don't control the big picture, see how your part fits into the big picture, and make it better.
Steve had many successes, but he wasn't infallible. He worked a number of menial jobs in college, and got fired from several of them. The Apple Lisa left a lot to be desired, both in technology and in sales. He was fired from the company he cofounded. Did he give up, or decide he shouldn't be in the business? No. Steve picked himself up, and showed people that they were wrong about him. Lesson two: Fail. Learn from failure. Repeat until you succeed. (A corollary lesson: being told you can't do something should make you want to do it even more.)
The biggest thing I've learned from the life of Steve Jobs came about just tonight.  Steve didn't wait for things to come to him, he made things happen for himself. Time and time again, he did things. Lesson three: We all die, and for many it's entirely too soon.  Make your obituary interesting.
RIP, Steve. You were a pillar of the technology industry. You will be missed.


List Maker Betterer Instructions
Paste some existing doc state into the box
Navigate to some doc
Hey presto! Bullet Lists Made Betterer!
To edit, just click the browser action icon
Save


Kajal Aggarwal (born 19 June 1985) is an Indian film actress and model. She has been nominated for four Filmfare Awards South.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Get special offers on the latest developments from Bootcatch.
We are driven to deliver results for all your businesses.
© Bootcatch. 2019 Copyright All rights reserved.


About
How to works
FAQ
Blog
Contact
<EMAIL_ADDRESS>0909090909
Home
Categories
Stores
Brands
Services
Register your store
Categories
Search
The Most Popular
Top Brands
Pre
Next
Top Categories
Pre
Next
Clothing
Dell Latitude E6410 (Intel Core i5-520M 2.4GHz, 4GB RAM
Clothing
Dell Latitude E6410 (Intel Core i5-520M 2.4GHz, 4GB RAM
Clothing
Dell Latitude E6410 (Intel Core i5-520M 2.4GHz, 4GB RAM
Tags
prices
compare prices
mp3
compare
phone
apple iphones
Top Stores
Pre
Next
Top Categories
Pre
Next
It’s built on Bootstrap Grid and it is well
It’s built on Bootstrap Grid and it is well organised and layered It’s built on Bootstrap Grid and it is well organised and layered
It’s built on Bootstrap Grid and it is well
It’s built on Bootstrap Grid and it is well organised and layered It’s built on Bootstrap Grid and it is well organised and layered
It’s built on Bootstrap Grid and it is well
It’s built on Bootstrap Grid and it is well organised and layered It’s built on Bootstrap Grid and it is well organised and layered


The company logo is an important and valued graphic element and must be used consistently and appropriately, even minor variations will undermine and compromise the image of the branding. The space available should dictate whether the horizontal or stacked logo should be used, otherwise they can be used interchangeably.
Secondary color options should be used on colored backgrounds or on top of imagery. Maintain clear space and make sure logo is legible. In order to maintain brand consistency always be sure to use official logo files.
In order to ensure legibility, a “safe area” must exist around the logo. This area is equal to the x-height of the letters in the logo. No other elements should intrude into the safe area – this includes placement too close to a cut or folded edge.
The logo must always maintain its proportions – never distort, rotate, or cover the logo in any way. Never change the alignment or color.
Never create your own logo. If you have a specialized logo need or request, contact Marketing at<EMAIL_ADDRESS>In order to maintain brand hierarchy and show deference to our partners, the Health Catalyst logo should always be second when co-branding. Only use the full primary color or reverse white logos. Use double the safe are rules for co-branding applications.
The Cashmere navbar provides the ability to co-brand with a customer's logo. For web apps, refer to the Navbar Co-brand example on the navbar component. For analytic acclerators, refer to the Analytics tab. Specifically the Customer Branding description in the Foundations section of the BI platform you are working.
Blue background for illustrative purposes only
Blue background for illustrative purposes only
The Health Catalyst ‘Flame’ icon represents the spark of change that Catalyst’s services and solutions provides to clients. Icons should be thought of as a complementary asset, typically used in conjunction with the primary logo. You can also use the 'Flame' on a background color from the brand palette.
The Vitalware logo set linked below includes full-color, grayscale, and white versions.
The Twistle logo set linked below includes full-color, grayscale, and white versions.
The KPI Ninja logo set linked below includes full-color, grayscale, and white versions.
The ARMUS logo set linked below includes full-color, grayscale, and white versions.


Working with WRF CHEM part61 WRF KatrinaSingleDomain
2014-08-12
##Trail for WRF-CHEM, working with WRF simulation with Katrina single domain case## 1. It is based on this to run compiled WRF in serial mode to execute the Katrina case with a single domain. 2. As per this page, the WPS ungrib stage was carried out
###WPS: Ungrib###
3. The tar file provided with the tutorial was unzipped and compiled WPS folder was copied and bothe these folders were kept under a folder named katrina.
4. The vtable was linked inside WPS folder by ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
.
5. The avn/GFS files inside the tar folder is linked with WPS folder by ./link_grib.csh /home/swl-sacon-dst/wrf/WRF341/katrina/GFS_data/
, follwoing file with links were created by this step
GRIBFILE.AAA -> ../DATA/Katrina/avn_050828_00_00
GRIBFILE.AAB -> ../DATA/Katrina/avn_050828_00_06
GRIBFILE.AAC -> ../DATA/Katrina/avn_050828_00_12
GRIBFILE.AAD -> ../DATA/Katrina/avn_050828_00_18
GRIBFILE.AAE -> ../DATA/Katrina/avn_050828_00_24
GRIBFILE.AAF -> ../DATA/Katrina/avn_050828_00_30
GRIBFILE.AAG -> ../DATA/Katrina/avn_050828_00_36
GRIBFILE.AAH -> ../DATA/Katrina/avn_050828_00_42
GRIBFILE.AAI -> ../DATA/Katrina/avn_050828_00_48
- For ungrib part of WPS a minimal namlist.wps suggestby this page as part of the tutorial is used. By this the namelist.wps in WPS folder was edited as ``` &share startdate = ‘2005-08-2800:00:00’,‘2007-08-1500:00:00’, enddate = ‘2005-08-3000:00:00’,‘2007-08-1600:00:00’, interval_seconds = 21600 /
&ungrib out_format = ‘WPS’, prefix = FILE, /
7. With this setup ungrib was run using this command ```./ungrib.exe >& ungrib_data.log```, the log file says successful completion of the ungrib. In tutorial the remaining steps such as of SSt data, after point 7 is not carried out.
###WPS:Geogrid###
8. This part of tutorial is based on the [page](http://www2.mmm.ucar.edu/wrf/OnLineTutorial/CASES/SingleDomain/geogrid.htm)
9. For the geogrid part of WPS, following namelist.wps was used based on [this](http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Basics/GEOGRID/geogrid_namelist.htm) and namelist.wps becomes
&share wrfcore = ‘ARW’, maxdom = 1, ioformgeogrid = 2, /
&geogrid parentid = 1, 1, parentgridratio = 1, 3, iparentstart = 1, 31, jparentstart = 1, 17, ewe = 74, 112, esn = 61, 97, geogdatares = ‘10m’,‘2m’, dx = 30000, dy = 30000, mapproj = ‘lambert’, reflat = 34.83, reflon = -81.03, truelat1 = 30.0, truelat2 = 60.0, standlon = -98.0, geogdata_path = ‘/home/hoopoe/ems/wrfems/data/geog/’ /
9. In namelist.wps, the line ```geog_data_path``` was edited with geog folder as per the EMS namlist.wps to refer the huge file required for this purpose.
10. There is a step stating the requirement of ncl language to visualize the domain, since no ncl language was installed it was omitted.
11. With this the geogrid was executed by ```./geogrid.exe``` and ended with successful completion as follows and a ```geo_em.d01.nc``` was created.
./geogrid.exe Parsed 22 entries in GEOGRID.TBL Processing domain 1 of 1 Processing XLAT and XLONG Processing MAPFAC Processing F and E Processing ROTANG Processing LANDUSEF Calculating landmask from LANDUSEF ( WATER = 16 ) Processing HGTM Processing HGTU Processing HGTV Processing SOILTEMP Processing SOILCTOP Processing SCTDOM Processing SOILCBOT Processing SCBDOM Processing ALBEDO12M Processing GREENFRAC Processing SNOALB Processing SLOPECAT Processing SLOPECAT Processing CON Processing VAR Processing OA1 Processing OA2 Processing OA3 Processing OA4 Processing OL1 Processing OL2 Processing OL3 Processing OL4 Processing VARSSO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Successful completion of geogrid. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
###WPS:Metgrid###
12. This part of tutorial is based on the [page](http://www2.mmm.ucar.edu/wrf/OnLineTutorial/CASES/SingleDomain/metgrid.htm)
13. For the metgrid part of WPS, following namelist.wps was used based on [this](http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Basics/METGRID/metgrid_namelist.htm) and namelist.wps becomes
&share maxdom = 2, startdate = ‘2005-08-2800:00:00’,‘2005-08-2800:00:00’, enddate = ‘2005-08-3000:00:00’,‘2005-08-2800:00:00’, intervalseconds = 21600, ioformgeogrid = 2, /
&metgrid fgname = ‘FILE’ ioform_metgrid = 2, /
14. The metgrid was executed by ```./metgrid.exe``` and it gives error
Processing domain 2 of 2 WRFDEBUG: NetCDF error: No such file or directory WRFDEBUG: NetCDF error in wrfio.F90, line 1059 ERROR: Couldn’t open file ./geoem.d02.nc for input. application called MPIAbort(MPICOMM_WORLD, 0) - process 0
it seems the namelist.wps is wrong by specifying ```max_dom =2``` so the namelist.wps was edited with ```max_dom =1```
15. By above edit metgrid.exe ended successful completion with creation of nc files
###WRF:real.exe and wrf.exe###
16. This part of tutorial is based on the [page](http://www2.mmm.ucar.edu/wrf/OnLineTutorial/CASES/SingleDomain/wrf.htm)
17. For making WRF run the folder content from ```WRFV3_serial/test/em_real ``` was used as such and all the met files are linked inside the em_real folder using the command ```
ln -sf /home/swl-sacon-dst/wrf/WRF341/katrina/kWPS/met_em.d01.2005* .
- For the real.exe and wrf.exe part of WRF, following namelist.input was used based on [this]http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Basics/WRF/namelist.input.htm) and edited to suit the katrina case and the namelsit.input becomes ``` &timecontrol rundays = 0, runhours = 12, runminutes = 0, runseconds = 0, startyear = 2005, startmonth = 08, startday = 28, starthour = 00, startminute = 00, startsecond = 00, endyear = 2005, endmonth = 08, endday = 30, endhour = 00, endminute = 00, endsecond = 00, intervalseconds = 21600 inputfromfile = .true., historyinterval = 180, framesperoutfile = 1000, restart = .false., restartinterval = 720, ioformhistory = 2 ioformrestart = 2 ioforminput = 2 ioformboundary = 2 debug_level = 0 /
&domains timestep = 180, maxdom = 1, swe = 1, ewe = 74, ssn = 1, esn = 61, svert = 1, evert = 30, nummetgridlevels = 27 dx = 30000, dy = 30000, gridid = 1, parentid = 1, iparentstart = 1, jparentstart = 1, parentgridratio = 1, parenttimestep_ratio = 1, feedback = 1, /
&physics mpphysics = 3, ralwphysics = 1, raswphysics = 1, radt = 30, sfsfclayphysics = 1, sfsurfacephysics = 1, numsoillayers = 5, blpblphysics = 1, bldt = 0, cuphysics = 1, cudt = 5, /
&dynamics wdamping = 0, diffopt = 1, kmopt = 4, diff6thopt = 0, diff6thfactor = 0.12, basetemp = 290. dampopt = 0, zdamp = 5000., dampcoef = 0.2, khdif = 0, kvdif = 0, nonhydrostatic = .true., moistadvopt = 1, scalaradvopt = 1, /
&bdycontrol specbdywidth = 5, speczone = 1, relax_zone = 4, specified = .true., nested = .false., /
19. With this setup, the real.exe executed by ```./real.exe ``` and error was bought about missing a met file, then it is found that the above namelist content was wrongly mentioning start day date. So edited namelist.input and in subsequent real.exe ends with successful completion with the creation of two files ```wrfinput_d01 and wrfbdy_d01``` each around 9.0 MB and 21 MB respectively.
20. Then real.exe was executed by ```./wrf.exe```, completed without any error and successfully ends with the creation of two files as per the tutorial
wrfoutd012005-08-2800:00:00 wrfrstd012005-08-2812:00:00 ``` Wondering how EMS making the WRF Coimbatore with one-hour interval, have to study about namelist more. This way ends the Katrina case WRF running with a single domain. The em_real folder in serial compile WRF cleaned by removing the created file left alone the namelist.input


Hospital Management
Log Out
Home
About
Admin
Admin Login
account_circle
User Id
vpn_key
Password
Log In
send
Please Enter User Id!
Please Enter Password
Please Enter a correct set of userid and password
You Have Successfully Logged In!!


Write a recursive function that
returns the sum of the values for all of the nodes of the
binary tree with root "root".
If the root is null, return 0.
Otherwise, just return the sum of the root value plus the result of the recursive calls on the children.


| s/n | Name | Department | Title | Onboard date | Actions |
|---|---|---|---|---|---|
| 1 | John | HR | CEO | 2020-04-17 | Adjust |
| 2 | Juna | Sales | Sales | 2020-04-17 | Adjust |
| 3 | Jojo | Engineering | Engineer | 2020-04-17 | Adjust |
| 4 | Joan | Engineering | Senior engineer | 2020-04-17 | Adjust |
| 5 | Jane | HR | HR Officer | 2020-04-17 | Adjust |
| Title | Managed by |
|---|---|
| Sales | HR |
| Engineering | HR |
| HR | — |
| Title | Reports to |
|---|---|
| CEO | — |
| Sales | CEO |
| Engineer | Senior engineer |
| Senior engineer | CEO |
| HR Officer | CEO |


Kindly take two minutes to give us some feedback
Please rate our services (5 highest):
1
2
3
4
5
Please provide comments/complaints in the box below
submit


| public none Enemy(int str, int craft, string type, string name, int special) |
DescriptionThis is a constructor for the Enemy class.Parametersint str - The enemy's strength.int craft - The enemy's craft. string type - The type of enemy. (monster,animal,spirit) string name - The enemy's name. int special - If the enemy has a unique function, it has a number. Returnsnone - Doesn't return anything. |
| public void Run(Character character) |
DescriptionThis function executes the Enemy card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Bandit(Character character) |
DescriptionThis function implements the special needs for the Bandit card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void BandOfZombies(Character character) |
DescriptionThis function implements the special needs for the Band Of Zombies card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Berserker(Character character) |
DescriptionThis function implements the special needs for the Berserker card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void CaveTroll(Character character) |
DescriptionThis function implements the special needs for the Cave Troll card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void ChineseDragon(Character character) |
DescriptionThis function implements the special needs for the Chinese Dragon card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void CraftFight(Character character) |
DescriptionThis function lets the Character and the Enemy fight using their craft stats.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Doppleganger(Character character) |
DescriptionThis function implements the special needs for the Doppleganger card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Ghast(Character character) |
DescriptionThis function implements the special needs for the Ghast card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Ghost(Character character) |
DescriptionThis function implements the special needs for the Ghost card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Golem(Character character) |
DescriptionThis function implements the special needs for the Golem card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Harpy(Character character) |
DescriptionThis function implements the special needs for the Harpy card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Lich(Character character) |
DescriptionThis function implements the special needs for the Lich card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Shadow(Character character) |
DescriptionThis function implements the special needs for the Shadow card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void StrFight(Character character) |
DescriptionThis function lets the Character and the Enemy fight using their strength stats.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void Vampire(Character character) |
DescriptionThis function implements the special needs for the Vampire card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
| private void VampireBats(Character character) |
DescriptionThis function implements the special needs for the Vampire Bats card.ParametersCharacter character - Pointer to the current character.ReturnsNothing |
Member Data |
| private int _craft - Enemy's craft. private string _name - The name of the enemy. private int _str - Enemy's Strength. private int _special - If the enemy requires a special function it is assigned a number. private string _type - The type of enemy (animal, monster, spirit). |


I spent a week in a Canyon in Utah with some friends. Three of us get together in the Southwest every few years and clear our souls with a nice shroom trip…
My friend grows them in his house in Phoenix just for these trips.
We consumed right as the hot sun went down over the canyon walls - just around 6PM. As relaxed as I felt - I still had some anxiety relating the attacks on New York on 9/11/01. I live near the disaster site and lived with the foul stench until I left for this trip.
The shrooms kicked in at about 20 minutes. Amazing swirling visuals in the rocks and some rock faces with vertical lines appeared to be dancing. As I entered deeper into the experience, I began to distrust the place we were in. It seemed almost TOO trippy - the walls were sculpted by ancient waters and had looked like wailing souls - the heat still penetrated form these rocks even though the temperature was cool. I climbed out of this evil canyon and found a rock that overlooked the entire site. As my friends explored and tripped, I watched and danced. I danced for my friends still in New York and I danced to protect myself from evil. I kept repeating 'one two three' over and over again while I danced. The visuals still strong after a hour and a half.
My tension grew and my friends noticed it. As far gone as we were - they were able to talk to me - even though I could not communicate what I was exactly feeling. I wasn't feeling bad - as long as I stayed on my rock. I was worried - I saw planes in the sky and began to worry for the passengers. I started to think that when I smelled the World Trade Center smoke at home, I was actually inhaling burnt remains of humans!
Then a huge shooting star streaked across the sky and for a second I though it was a plane crashing. I was terrified - and then I though to myself - 'Sometimes a shooting star is just a shooting star'. Then all of the sudden I noticed a few bats flying over head - they calmed me down as they flew around catching bugs. They made me feel safe. I was convinced they were guiding me. My friends came back to the rock I was on and we talked and smoked while we were coming down. I felt like I went through a year of therapy that night. I love my friends…
It was a great night!
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Find a buyer
Create your free trade profile and get promoted on an international level to businesses around the world.
Service: Find a buyerAnswer some simple questions about your sector, experience and business ambitions to get:
Whether you’re new to exporting or just want to improve - we can help you. Start learning how to export successfully, based on your level of experience.
Our exporting tools help to connect UK businesses with international buyers every single day.
Create your free trade profile and get promoted on an international level to businesses around the world.
Service: Find a buyerReach over 2 billion consumers online around the world. Get exclusive deals negotiated on behalf of UK businesses.
Service: Find online marketplacesFind and apply for overseas opportunities from businesses looking for products or services like yours.
Service: Find export opportunities


MessageVersionQuery
class MessageVersionQuery extends ModelCriteria
Base class that represents a query for the 'message_version' table.
Methods
Initializes internal state of \Thelia\Model\Base\MessageVersionQuery object.
Returns a new ChildMessageVersionQuery object.
Find object by primary key.
Find objects by primary key
$objs = $c->findPks(array(array(12, 56), array(832, 123), array(123, 456)), $con);
Filter the query by primary key
Filter the query by a list of primary keys
Filter the query on the id column
Filter the query on the name column
Filter the query on the secured column
Filter the query on the textlayoutfile_name column
Filter the query on the texttemplatefile_name column
Filter the query on the htmllayoutfile_name column
Filter the query on the htmltemplatefile_name column
Filter the query on the created_at column
Filter the query on the updated_at column
Filter the query on the version column
Filter the query on the versioncreatedat column
Filter the query on the versioncreatedby column
Filter the query by a related \Thelia\Model\Message object
Adds a JOIN clause to the query using the Message relation
Use the Message relation Message object
Deletes all rows from the message_version table.
Performs a DELETE on the database, given a ChildMessageVersion or Criteria object OR a primary key value.
Order by the id column
Order by the name column
Order by the secured column
Order by the textlayoutfile_name column
Order by the texttemplatefile_name column
Order by the htmllayoutfile_name column
Order by the htmltemplatefile_name column
Order by the created_at column
Order by the updated_at column
Order by the version column
Order by the versioncreatedat column
Order by the versioncreatedby column
Group by the id column
Group by the name column
Group by the secured column
Group by the textlayoutfile_name column
Group by the texttemplatefile_name column
Group by the htmllayoutfile_name column
Group by the htmltemplatefile_name column
Group by the created_at column
Group by the updated_at column
Group by the version column
Group by the versioncreatedat column
Group by the versioncreatedby column
Adds a LEFT JOIN clause to the query
Adds a RIGHT JOIN clause to the query
Adds a INNER JOIN clause to the query
Adds a LEFT JOIN clause to the query using the Message relation
Adds a RIGHT JOIN clause to the query using the Message relation
Adds a INNER JOIN clause to the query using the Message relation
Return the first ChildMessageVersion matching the query
Return the first ChildMessageVersion matching the query, or a new ChildMessageVersion object populated from the query conditions when no match is found
Return the first ChildMessageVersion filtered by the id column
Return the first ChildMessageVersion filtered by the name column
Return the first ChildMessageVersion filtered by the secured column
Return the first ChildMessageVersion filtered by the textlayoutfile_name column
Return the first ChildMessageVersion filtered by the texttemplatefile_name column
Return the first ChildMessageVersion filtered by the htmllayoutfile_name column
Return the first ChildMessageVersion filtered by the htmltemplatefile_name column
Return the first ChildMessageVersion filtered by the created_at column
Return the first ChildMessageVersion filtered by the updated_at column
Return the first ChildMessageVersion filtered by the version column
Return the first ChildMessageVersion filtered by the versioncreatedat column
Return the first ChildMessageVersion filtered by the versioncreatedby column
Return ChildMessageVersion objects filtered by the id column
Return ChildMessageVersion objects filtered by the name column
Return ChildMessageVersion objects filtered by the secured column
Return ChildMessageVersion objects filtered by the textlayoutfile_name column
Return ChildMessageVersion objects filtered by the texttemplatefile_name column
Return ChildMessageVersion objects filtered by the htmllayoutfile_name column
Return ChildMessageVersion objects filtered by the htmltemplatefile_name column
Return ChildMessageVersion objects filtered by the created_at column
Return ChildMessageVersion objects filtered by the updated_at column
Return ChildMessageVersion objects filtered by the version column
Return ChildMessageVersion objects filtered by the versioncreatedat column
Return ChildMessageVersion objects filtered by the versioncreatedby column
Details
at line 98
__construct(
string $dbName = 'thelia',
string $modelName = '\\Thelia\\Model\\MessageVersion',
string $modelAlias = null)
Initializes internal state of \Thelia\Model\Base\MessageVersionQuery object.
at line 111
static
MessageVersionQuery
create(
string $modelAlias = null,
Criteria $criteria = null)
Returns a new ChildMessageVersionQuery object.
at line 141
MessageVersion|array|mixed
findPk($key, $con = null)
Find object by primary key.
Propel uses the instance pool to skip the database if the object exists. Go fast if the query is untouched.
$obj = $c->findPk(array(12, 34), $con);
at line 224
ObjectCollection|array|mixed
findPks(
array $keys,
ConnectionInterface $con = null)
Find objects by primary key
$objs = $c->findPks(array(array(12, 56), array(832, 123), array(123, 456)), $con);
at line 245
MessageVersionQuery
filterByPrimaryKey(
mixed $key)
Filter the query by primary key
at line 260
MessageVersionQuery
filterByPrimaryKeys(
array $keys)
Filter the query by a list of primary keys
at line 295
MessageVersionQuery
filterById(
mixed $id = null,
string $comparison = null)
Filter the query on the id column
Example usage:
$query->filterById(1234); // WHERE id = 1234
$query->filterById(array(12, 34)); // WHERE id IN (12, 34)
$query->filterById(array('min' => 12)); // WHERE id > 12
at line 333
MessageVersionQuery
filterByName(
string $name = null,
string $comparison = null)
Filter the query on the name column
Example usage:
$query->filterByName('fooValue'); // WHERE name = 'fooValue'
$query->filterByName('%fooValue%'); // WHERE name LIKE '%fooValue%'
at line 365
MessageVersionQuery
filterBySecured(
mixed $secured = null,
string $comparison = null)
Filter the query on the secured column
Example usage:
$query->filterBySecured(1234); // WHERE secured = 1234
$query->filterBySecured(array(12, 34)); // WHERE secured IN (12, 34)
$query->filterBySecured(array('min' => 12)); // WHERE secured > 12
at line 403
MessageVersionQuery
filterByTextLayoutFileName(
string $textLayoutFileName = null,
string $comparison = null)
Filter the query on the textlayoutfile_name column
Example usage:
$query->filterByTextLayoutFileName('fooValue'); // WHERE textlayoutfilename = 'fooValue'
$query->filterByTextLayoutFileName('%fooValue%'); // WHERE textlayoutfilename LIKE '%fooValue%'
at line 432
MessageVersionQuery
filterByTextTemplateFileName(
string $textTemplateFileName = null,
string $comparison = null)
Filter the query on the texttemplatefile_name column
Example usage:
$query->filterByTextTemplateFileName('fooValue'); // WHERE texttemplatefilename = 'fooValue'
$query->filterByTextTemplateFileName('%fooValue%'); // WHERE texttemplatefilename LIKE '%fooValue%'
at line 461
MessageVersionQuery
filterByHtmlLayoutFileName(
string $htmlLayoutFileName = null,
string $comparison = null)
Filter the query on the htmllayoutfile_name column
Example usage:
$query->filterByHtmlLayoutFileName('fooValue'); // WHERE htmllayoutfilename = 'fooValue'
$query->filterByHtmlLayoutFileName('%fooValue%'); // WHERE htmllayoutfilename LIKE '%fooValue%'
at line 490
MessageVersionQuery
filterByHtmlTemplateFileName(
string $htmlTemplateFileName = null,
string $comparison = null)
Filter the query on the htmltemplatefile_name column
Example usage:
$query->filterByHtmlTemplateFileName('fooValue'); // WHERE htmltemplatefilename = 'fooValue'
$query->filterByHtmlTemplateFileName('%fooValue%'); // WHERE htmltemplatefilename LIKE '%fooValue%'
at line 524
MessageVersionQuery
filterByCreatedAt(
mixed $createdAt = null,
string $comparison = null)
Filter the query on the created_at column
Example usage:
$query->filterByCreatedAt('2011-03-14'); // WHERE createdat = '2011-03-14'
$query->filterByCreatedAt('now'); // WHERE createdat = '2011-03-14'
$query->filterByCreatedAt(array('max' => 'yesterday')); // WHERE created_at > '2011-03-13'
at line 567
MessageVersionQuery
filterByUpdatedAt(
mixed $updatedAt = null,
string $comparison = null)
Filter the query on the updated_at column
Example usage:
$query->filterByUpdatedAt('2011-03-14'); // WHERE updatedat = '2011-03-14'
$query->filterByUpdatedAt('now'); // WHERE updatedat = '2011-03-14'
$query->filterByUpdatedAt(array('max' => 'yesterday')); // WHERE updated_at > '2011-03-13'
at line 608
MessageVersionQuery
filterByVersion(
mixed $version = null,
string $comparison = null)
Filter the query on the version column
Example usage:
$query->filterByVersion(1234); // WHERE version = 1234
$query->filterByVersion(array(12, 34)); // WHERE version IN (12, 34)
$query->filterByVersion(array('min' => 12)); // WHERE version > 12
at line 651
MessageVersionQuery
filterByVersionCreatedAt(
mixed $versionCreatedAt = null,
string $comparison = null)
Filter the query on the versioncreatedat column
Example usage:
$query->filterByVersionCreatedAt('2011-03-14'); // WHERE versioncreatedat = '2011-03-14'
$query->filterByVersionCreatedAt('now'); // WHERE versioncreatedat = '2011-03-14'
$query->filterByVersionCreatedAt(array('max' => 'yesterday')); // WHERE versioncreatedat > '2011-03-13'
at line 689
MessageVersionQuery
filterByVersionCreatedBy(
string $versionCreatedBy = null,
string $comparison = null)
Filter the query on the versioncreatedby column
Example usage:
$query->filterByVersionCreatedBy('fooValue'); // WHERE versioncreatedby = 'fooValue'
$query->filterByVersionCreatedBy('%fooValue%'); // WHERE versioncreatedby LIKE '%fooValue%'
at line 711
MessageVersionQuery
filterByMessage(
Message|ObjectCollection $message,
string $comparison = null)
Filter the query by a related \Thelia\Model\Message object
at line 736
MessageVersionQuery
joinMessage(
string $relationAlias = null,
string $joinType = Criteria::INNER_JOIN)
Adds a JOIN clause to the query using the Message relation
at line 771
MessageQuery
useMessageQuery(
string $relationAlias = null,
string $joinType = Criteria::INNER_JOIN)
Use the Message relation Message object
at line 785
MessageVersionQuery
prune(
MessageVersion $messageVersion = null)
Exclude object from result
at line 802
int
doDeleteAll(
ConnectionInterface $con = null)
Deletes all rows from the message_version table.
at line 839
int
delete(
ConnectionInterface $con = null)
Performs a DELETE on the database, given a ChildMessageVersion or Criteria object OR a primary key value.
at line 88
ChildMessageVersionQuery
orderById($order = Criteria::ASC)
Order by the id column
at line 88
ChildMessageVersionQuery
orderByName($order = Criteria::ASC)
Order by the name column
at line 88
ChildMessageVersionQuery
orderBySecured($order = Criteria::ASC)
Order by the secured column
at line 88
ChildMessageVersionQuery
orderByTextLayoutFileName($order = Criteria::ASC)
Order by the textlayoutfile_name column
at line 88
ChildMessageVersionQuery
orderByTextTemplateFileName($order = Criteria::ASC)
Order by the texttemplatefile_name column
at line 88
ChildMessageVersionQuery
orderByHtmlLayoutFileName($order = Criteria::ASC)
Order by the htmllayoutfile_name column
at line 88
ChildMessageVersionQuery
orderByHtmlTemplateFileName($order = Criteria::ASC)
Order by the htmltemplatefile_name column
at line 88
ChildMessageVersionQuery
orderByCreatedAt($order = Criteria::ASC)
Order by the created_at column
at line 88
ChildMessageVersionQuery
orderByUpdatedAt($order = Criteria::ASC)
Order by the updated_at column
at line 88
ChildMessageVersionQuery
orderByVersion($order = Criteria::ASC)
Order by the version column
at line 88
ChildMessageVersionQuery
orderByVersionCreatedAt($order = Criteria::ASC)
Order by the versioncreatedat column
at line 88
ChildMessageVersionQuery
orderByVersionCreatedBy($order = Criteria::ASC)
Order by the versioncreatedby column
at line 88
ChildMessageVersionQuery
groupById()
Group by the id column
at line 88
ChildMessageVersionQuery
groupByName()
Group by the name column
at line 88
ChildMessageVersionQuery
groupBySecured()
Group by the secured column
at line 88
ChildMessageVersionQuery
groupByTextLayoutFileName()
Group by the textlayoutfile_name column
at line 88
ChildMessageVersionQuery
groupByTextTemplateFileName()
Group by the texttemplatefile_name column
at line 88
ChildMessageVersionQuery
groupByHtmlLayoutFileName()
Group by the htmllayoutfile_name column
at line 88
ChildMessageVersionQuery
groupByHtmlTemplateFileName()
Group by the htmltemplatefile_name column
at line 88
ChildMessageVersionQuery
groupByCreatedAt()
Group by the created_at column
at line 88
ChildMessageVersionQuery
groupByUpdatedAt()
Group by the updated_at column
at line 88
ChildMessageVersionQuery
groupByVersion()
Group by the version column
at line 88
ChildMessageVersionQuery
groupByVersionCreatedAt()
Group by the versioncreatedat column
at line 88
ChildMessageVersionQuery
groupByVersionCreatedBy()
Group by the versioncreatedby column
at line 88
ChildMessageVersionQuery
leftJoin($relation)
Adds a LEFT JOIN clause to the query
at line 88
ChildMessageVersionQuery
rightJoin($relation)
Adds a RIGHT JOIN clause to the query
at line 88
ChildMessageVersionQuery
innerJoin($relation)
Adds a INNER JOIN clause to the query
at line 88
ChildMessageVersionQuery
leftJoinMessage($relationAlias = null)
Adds a LEFT JOIN clause to the query using the Message relation
at line 88
ChildMessageVersionQuery
rightJoinMessage($relationAlias = null)
Adds a RIGHT JOIN clause to the query using the Message relation
at line 88
ChildMessageVersionQuery
innerJoinMessage($relationAlias = null)
Adds a INNER JOIN clause to the query using the Message relation
at line 88
ChildMessageVersion
findOne(
ConnectionInterface $con = null)
Return the first ChildMessageVersion matching the query
at line 88
ChildMessageVersion
findOneOrCreate(
ConnectionInterface $con = null)
Return the first ChildMessageVersion matching the query, or a new ChildMessageVersion object populated from the query conditions when no match is found
at line 88
ChildMessageVersion
findOneById(
int $id)
Return the first ChildMessageVersion filtered by the id column
at line 88
ChildMessageVersion
findOneByName(
string $name)
Return the first ChildMessageVersion filtered by the name column
at line 88
ChildMessageVersion
findOneBySecured(
int $secured)
Return the first ChildMessageVersion filtered by the secured column
at line 88
ChildMessageVersion
findOneByTextLayoutFileName(
string $text_layout_file_name)
Return the first ChildMessageVersion filtered by the textlayoutfile_name column
at line 88
ChildMessageVersion
findOneByTextTemplateFileName(
string $text_template_file_name)
Return the first ChildMessageVersion filtered by the texttemplatefile_name column
at line 88
ChildMessageVersion
findOneByHtmlLayoutFileName(
string $html_layout_file_name)
Return the first ChildMessageVersion filtered by the htmllayoutfile_name column
at line 88
ChildMessageVersion
findOneByHtmlTemplateFileName(
string $html_template_file_name)
Return the first ChildMessageVersion filtered by the htmltemplatefile_name column
at line 88
ChildMessageVersion
findOneByCreatedAt(
string $created_at)
Return the first ChildMessageVersion filtered by the created_at column
at line 88
ChildMessageVersion
findOneByUpdatedAt(
string $updated_at)
Return the first ChildMessageVersion filtered by the updated_at column
at line 88
ChildMessageVersion
findOneByVersion(
int $version)
Return the first ChildMessageVersion filtered by the version column
at line 88
ChildMessageVersion
findOneByVersionCreatedAt(
string $version_created_at)
Return the first ChildMessageVersion filtered by the versioncreatedat column
at line 88
ChildMessageVersion
findOneByVersionCreatedBy(
string $version_created_by)
Return the first ChildMessageVersion filtered by the versioncreatedby column
at line 88
array
findById(
int $id)
Return ChildMessageVersion objects filtered by the id column
at line 88
array
findByName(
string $name)
Return ChildMessageVersion objects filtered by the name column
at line 88
array
findBySecured(
int $secured)
Return ChildMessageVersion objects filtered by the secured column
at line 88
array
findByTextLayoutFileName(
string $text_layout_file_name)
Return ChildMessageVersion objects filtered by the textlayoutfile_name column
at line 88
array
findByTextTemplateFileName(
string $text_template_file_name)
Return ChildMessageVersion objects filtered by the texttemplatefile_name column
at line 88
array
findByHtmlLayoutFileName(
string $html_layout_file_name)
Return ChildMessageVersion objects filtered by the htmllayoutfile_name column
at line 88
array
findByHtmlTemplateFileName(
string $html_template_file_name)
Return ChildMessageVersion objects filtered by the htmltemplatefile_name column
at line 88
array
findByCreatedAt(
string $created_at)
Return ChildMessageVersion objects filtered by the created_at column
at line 88
array
findByUpdatedAt(
string $updated_at)
Return ChildMessageVersion objects filtered by the updated_at column
at line 88
array
findByVersion(
int $version)
Return ChildMessageVersion objects filtered by the version column
at line 88
array
findByVersionCreatedAt(
string $version_created_at)
Return ChildMessageVersion objects filtered by the versioncreatedat column
at line 88
array
findByVersionCreatedBy(
string $version_created_by)
Return ChildMessageVersion objects filtered by the versioncreatedby column


Success!
Best check yo self, you're not looking too good...
Stacked Progress Bars
Animated Progress Bars
Labels
label Primary Success Info Inverse Warning Danger
Badges
5 10 15 20 25 30 35
Best check yo self, you're not looking too good...
Stacked Progress Bars
Animated Progress Bars
Labels
label Primary Success Info Inverse Warning Danger
Badges
5 10 15 20 25 30 35


Default implementation for subscriptions that forward request
and cancel
to a listener.
More...
#include <subscription.hpp>
|
|
| fwd_impl (coordinator *ctx, listener *src, coordinated *snk) |
| |
| bool | disposed () const noexcept override |
| |
| void | request (size_t n) override |
| | Signals demand for n more items.
|
| |
| void | dispose () override |
| |
|
auto * | ctx () const noexcept |
| |
| void | ref_disposable () const noexcept final |
| |
| void | deref_disposable () const noexcept final |
| |
|
| plain_ref_counted (const plain_ref_counted &) |
| |
|
plain_ref_counted & | operator= (const plain_ref_counted &) |
| |
|
void | ref () const noexcept |
| | Increases reference count by one.
|
| |
|
void | deref () const noexcept |
| | Decreases reference count by one and calls request_deletion when it drops to zero.
|
| |
|
bool | unique () const noexcept |
| | Queries whether there is exactly one reference.
|
| |
|
size_t | get_reference_count () const noexcept |
| | Queries the current reference count for this object.
|
| |
| virtual void | request (size_t n)=0 |
| | Signals demand for n more items.
|
| |
|
virtual void | dispose ()=0 |
| |
|
virtual bool | disposed () const noexcept=0 |
| |
|
disposable | as_disposable () noexcept |
| |
|
virtual void | ref_disposable () const noexcept=0 |
| |
|
virtual void | deref_disposable () const noexcept=0 |
| |
Default implementation for subscriptions that forward request
and cancel
to a listener.
◆ dispose()
| void caf::flow::subscription::fwd_impl::dispose |
( |
| ) |
|
|
overridevirtual |
◆ disposed()
| bool caf::flow::subscription::fwd_impl::disposed |
( |
| ) |
const |
|
overridevirtualnoexcept |
◆ make()
template<class Observable , class Observer >
| static subscription caf::flow::subscription::fwd_impl::make |
( |
coordinator * |
ctx, |
|
|
Observable * |
src, |
|
|
Observer * |
snk |
|
) |
| |
|
static |
Creates a new subscription object.
- Parameters
-
| ctx | The owner of src and snk . |
| src | The observable that emits items. |
| snk | the observer that consumes items. |
- Returns
- an instance of fwd_impl in a subscription handle.
◆ request()
| void caf::flow::subscription::fwd_impl::request |
( |
size_t |
n | ) |
|
|
overridevirtual |
The documentation for this class was generated from the following file:
- libcaf_core/caf/flow/subscription.hpp


Chapter 27 Factor Analysis
27.1 Theory
27.1.1 Introduction
Factor analysis is used to uncover the latent structure of a set of variables. It reduces attribute space from a larger number of variables to a smaller number of factors and as such is a “non-dependent” procedure, meaning there is no outcome variable with this statistical procedure.
We get all sorts of scores on all these things, too many for regression, so we run a factor analysis. Question then is are there some existing variables that we are measuring with all DVs, not directly, to capture one underlying construct. FA uses matrix algebra to analyze the correlation between variables.  Then end goal is that these three things will eventually explain most of the variance.
There are a lot of terms associated with factor analysis.
Reduces attribute space from large to small factors. It’s a non-dependent procedure. It does not assume a DV is specified.
27.1.2 Factor Analysis Purposes
There are a variety of reasons you might want to do a factor analysis…
- Reduce large number of variables to a small number of factors for modeling purposes
- Useful when large number of variables precludes modeling all the measures individually
- Establish that multiple tests measure the same factor
- Gives justification for administering fewer tests
- To validate a scale or index
- Done by demonstrating things that load on same factor
- Drop items which cross-load on more than one factor
- Select a subset of variables from larger set based on which original variables have the highest correlations with the principal component factors
- To create a set of factors to be treated as uncorrelated variables as one approach to handling multicollinearity in such procedures as multiple regression
- Identify clusters of cases/or outliers
- Cluster analysis happens with individuals
- To determine network groups, Q-Mode Factor
27.1.3 Types of Analysis
There are two main types of factor analysis Exploratory Factor Analysis or EFA and Confirmatory Factor Analysis or CFA. With Exploratory Factor Analysis, you are using theories to build some models. Often you will use a technique called Principal Compenent Analysis or PCA to do this. These two are not the same thing! The Andy Field book provides a brief description about the differences between the two, and some articles like Dombrowski, 2017 will go into detail about differences between using PCA or Factor Analysis based on if a latent variable is thought to be present. With CFA you are testing a theory.
<IP_ADDRESS> Factors and Components
These are dimensions (or latent variables) identified with clusters of variables, as computed using factor analysis, Technically speaking, factors (as from Principal Factor Analysis PFA) represents the common variance of variables, excluding unique variance. This is a correlation focused approach seeking to reproduce the inter correlation among the variables. Components (as from PCA) reflect both common and unique variance of the variables Maybe be seen as variance focused approach seeking to reproduce both the total variable variance whit all components and to reproduce the correlations.
PCA is far more common than PFA. It is common to sue “factors” interchangeable with “components” PCA is used when research purpose is data reduction, reduce data set.
Factor Analysis is generally used when the research purpose is to identify latent variables which contribute to the common variance of the set of measured variables, excluding variable specific (unique) variance
Factor Analysis looks at how variance is shared amongst items.
27.1.4 PCA
Principal Components Analysis (PCA) is most common form of FA that seeks linear combinations of variable such that the maximum variance is extracted from the variables. It then removes this variance and seeks a second linear combination which explains the maximum proportion of the remaining variance. This is called the principal axis method and results in orthogonal uncorrelated factors.
???????Canonical factor analysis (what the hell is that?) also called d Rao’s canonical factor is different method few comping the same model as PCA. Looks for highest Caloocan correlation?????
<IP_ADDRESS> Common factor analysis
Principal factor analysis (PFA) or principal axis factor (PAF), common Is form of FA which seeks the least number of factors which can account for the common variance (correlation) of a set of variables Again is different from PCA which seeks the set of factor switch can account for all the common and unique (specific plus error) variance in a set of variables For the geeks: PFA.
<IP_ADDRESS> PCA vs Common Factor Analysis
For most data sets PCA and common factor analysis lead to same thing (Paper!)
PCA is preferred for purpose of data reduction. FA is preferred when the research purpose is detecting data structure or causal modeling. FA is also used in SEM.
Other Extration Methods
<IP_ADDRESS>.1 Image Factoring
based on correlation matrix of predicted variables rather than actual variables, where each variable is predicted from the others using multiple regression
<IP_ADDRESS>.2 Maximum Likelihood factoring
- Based on a linear combination of variables to form factors, where the parameter estimates are those most likely to have resulted in the observed correlation matrix, using MLE methods and assuming multivariate normality
- Correlations are weighted by each variable’s uniqueness
- Generates a chi-square goodness-of-fit test
<IP_ADDRESS>.3 Alpha factoring
- Based on maximizing the reliability of factors, assuming variables are randomly sampled from a universe of variables
- All other methods assume cases to be sampled and variables fixed
<IP_ADDRESS>.4 Unweighted lead squares factoring
- Based on minimizing sum of squares …
<IP_ADDRESS>.5 Generalized least squares factoring
- Based on minimizing the sum of squared differences between observed and estimated correlation matrices, not counting the diagonal.
- Based on adjusting ULS by weighting the correlations inversely according to their uniqueness (more unique variables are weighted less)
- GLS also generates a chi-square goodness-of-fit test
<IP_ADDRESS> Factor Loadings
Analogous to Pearson’s \(R\), the squared factor loading is the percent of variance in that indicator variable explained by the factor. Also called component loading in PCA. If it’s high we call it an indicator variable, as long as it’s not highly correlated with other variables. To get the percent of variance in all variables accounted for by each factor, add the sum of the squared factor loading for that factor (column ) and divide by the number of variables. The number of variables equals the sum of their variance as the variance of standard variable is 1. This is the same as dividing the factor’s eigen value by the number of variables.
<IP_ADDRESS> Communality or \(h^2\)
This is the squared multiple correlation for the variable as dependent using the factors as predictors. The commonality measures the percent of variance in a given variable expand by all the factors JOINTLY and may be interpreted as the RELLIABILITY OF THE INDICATOR.
<IP_ADDRESS>.1 Low Communality
When an indicator variable has a low communality, the factor model is not working well for that indicator and possibly it should be removed from the model. Low communalities communalities across the set of variables indicates the variables are little related to each other However communalities must be interpreted in relation to the interpretability of the factors.
If item has LOW commonality, might want to think about removing that variable. Related in relation to interpreitablity of the factors.
A commonality of .75 seems high but is meaningless unless the factor on which the variable is loaded in interpretable, though it usually will be. A commonality of .25 seems low but may be meaningful if the item is contributing to a well-defined factor.
What is critical is not the coefficient per se, but rather the extent to which the item plays a role in the interpretation of the factor, though often this role is greater when communally is high.
<IP_ADDRESS>.2 Suprrious solutions
If the commonality exceeds 1, there is a supruious solution, which reflect too small a sample or the researcher has too many or two few factors. If it looks too good, it probably is. Every model we come up with in psychology is underspecified.
<IP_ADDRESS> Eigenvalues
These are byproduct of of matrix transformations. Eigenvalue for given factor measure the variance in all the variable which is accounted for by that factor. Really what we are doing here is looking at correlations in a lot of different ways. The ration of eigen values = ration of explanatory importance of vectors with respect to the variables.
The sum of eigen values of one factor over the sum of ALL the eigen values is the explanatory ability of that factor.
If a factor ha a low eigen value then it is contribution little to the explanation of variance in the variables and maybe be ignored as reduction with more important factors.
The eigenvalue is not the % of variance explained! It is a measure of amount of variance in relation to total variance. Since variables are standardized to have mean of 0 and variance of 1, total variance is equal to the number of variables.
Criterial for determing the number of factors. There are no rules, just some pointers.
<IP_ADDRESS>.1 Selecting Eigen Values
The most important pointer for determining the number of factors is comprehensibility which is not mathematical criterion, these factors have to make sense. You have to be able to explain them at some point to another human being. In most FA you will find that once you get to beyond 2-3-4 factors, it’s hard to think what each of those factors represent. Often you use one or more of the methods below to determine an appropriate range of solutions to investigate.
<IP_ADDRESS>.2 Kaiser Criterion
A commons rule of thumb for dropping the least important factor from the analysis in the KI rule Drop all components with eigenvalues under 1.0. This may overestimate or underestimate the true number of factors. Considerable simulation study evinced suggest it usually overestimates the true number of factors No recommended when used as the sole cut off criterion for estimated the number of factors.
<IP_ADDRESS>.3 Scree Plots
The Cattell scree test plots the components as the X axis and the corresponding eigenvalues as the Y axis. As you move to the right, the eigenvalues drop. When the drop ceases and the curve make an below toward less steep decolien, Cattells scree test says to drop all further comments AFTER the one starting the elbow. This rule is sometimes criticized for begin amenable to research-controlled fudging. That is as picking the elbow as picking the “elbow” can be subjective because the curve has multiple elbows or is a smooth curve, the researcher may be tempted to set the cut-off at the number of factors desired by his or her research agenda. The scree criterion may result in fewer or more factor than the Kaiser criterion.
Find the elbow and delete everything AFTER it.
<IP_ADDRESS>.4 Parallel Analysis
New one, often recommended as best method to asses the true number of factors. Selects factors that are greater than random. The actual data are factor analyzed, and separately one does a factor analysis of a matrix of random numbers representing the same number of cases and variables For both actual an d random solutions, the number of factors on the x axis and cumulative eigenvalues on the y axis is plotted. When the two lines intersect determines the number of factors to be extracted.
<IP_ADDRESS>.5 Variance Explained Criteria
Some researcher just just rule to keep enough factors to account for 90% of variation When the researchers goal emphasis parsimony (explaining with as few factor as possible) the criterion could be as low as 50%.
<IP_ADDRESS>.6 Joliffee Criterion
Delete all components with eigen values under .7. May restful in twice as many factors as the Kaiser criterion. A less used, liberal rule of them.
<IP_ADDRESS>.7 Mean Eigen Value
Use factors whose eigen values are at or above the mean. This strict rule may result in too few factors.
<IP_ADDRESS>.8 Precautions
Before dropping a factor below one’s cut-off. Check it’s correlation with the DV. A very small factor can have a large correlation with DV, in which it should not be dropped Problem. You have to know what your DV is. As a rule of thumb, factors should have at least three high, interpretable loadings. Fewwer may suggest that he research has asked for too may factors. Want at least three items that that load on each factor.
27.1.5 Rotatation
Serves to make the output more understandable and is usually needed to facilitate the interpretation of factors. If you multiply a matrix by sign and cosines, it rotates it in space and what it does is minimize small correlations and maximizes big ones. Rotation retains all the information, but then just changes it. You are just rotation the matrix of factor loadings.
Normally you do rotation after.
The sum of the eigen values is not affected by rotation. Rotation will alter the eigenvalues (and percent of variance explained) of particular factors and will change the factor loadings. Since alternative rotations may explain the same variance. This is a problem often cited as a drawback factor. You can get different meanings based on different rotations!
If factor analysis is used, you might want to look for different rotations method to see which lead to the most interpretable factor structure. Realistically, you will often get very similar solutions (at least relatively).
No rotation is the default in SPSS. The original, unrotated principal components solution maximizes the sum of squared factor loadings, efficiently creating a set of factors which explain as much of the variance in the original variables as possible. The amount explained is reflected in the sum of the eigenvalues of all factors. However,unrotated solutions are hard to interpret because variables tend to load on multiple factors. Big problem with not rotating is that variables load on multiple factors.
<IP_ADDRESS> Varimax Rotation
An orthogonal rotation of the factor axes to maximize the variance of the squared loadings of a factor (column) on all the variables (rows) in a factor matrix Has the effect of of differentiating the original variables by extracted factor. Each factor will tend to have either large or small loadings of any particular variable. A varimax solution yields results which make it as easy as possible to identify each variable with a single factor. This is the most common rotation option.
Orthogonality assumes that the latent variables are not related to one another, they are independent.
<IP_ADDRESS> Quartimax Rotation
An orhtogonal alternative which minimizes the number of factors needed to explain each variable. This type of rotation generates a general factor on which most variables are loaded to a high or medium degree. Such a factor structure is usually not helpful to the research purpose. Maximizes loading on one most important factor.
<IP_ADDRESS> Equimax Rotation
A compromise between equimax and quartimax.
<IP_ADDRESS> Direct Oblmin
The standard method when you want a non-orthogonal (oblique) solution. As such, factors are allowed to be correlated This is will result in higher eigen values but diminishes interpretation of the factors.
<IP_ADDRESS> Promax Rotation
An alternative non-orthogonal (oblique) rotation method which is computationally faster than than the direct oblimn method ad therefore is sometimes used for very large datasets.
<IP_ADDRESS> Oblique Rotation
In oblique rotation you get both a patter matrix and a structure matrix. The structure matrix is simply the factor loading matrix as in orthogonal rotation. The pattern matrix, in contrast, contains coefficient which just represents unique contributions. The more factors, the lower the pattern coefficient as a rule since there will be more common contributes to variance explained. For oblique rotation, research looks at both the structure and patter coefficient when attributing a label to a factor.
27.1.6 Assumptions
Interval data is assumed. Kim and Mueller (1978 b 74-75) note that ordinal data may be used if it is though that the assignment of ordinal categories other that do not seriously distort the underlying metric scaling.
27.1.7 Problems wiht Catheorica Variables
Note that categorical variables with similar splits will necessarily tend to correlate with each other, regardless of their content (see Gorsuch, 1983). This is particularly apt to occur when dichotomies are used. The correlation will reflect similarity of “difficulty” for items in a testing context, hence such correlated variables are called difficulty factors. The researcher should examine the factor loadings of categorical variables with care to assess whether common loading reflects a difficulty factor or substantive correlation. Improper use of dichotomies can result in too many factors.
<IP_ADDRESS>.1 Problems with Dichotomous Data
Dichotomous data tend to yield many factors (by the usual Kaiser criterion), and many variables loaded on these factors (by the usual .40 cutoff), even for randomly generated data.
<IP_ADDRESS> Valid Imputation of Factor Labels
Factor analysis is notorious for the subjective involved in imputing factor labels from factor loading.
<IP_ADDRESS>.1 No selection bias/proper specification
The exclusion of relevant variables and inclusion of irrelevant variable in correlation matrix being factored will affect, often substantially, the factors which are uncovered.
<IP_ADDRESS>.2 No Outliers
Outlive can impact correlations heavily distorting results. The better your correlations, but better your factor analysis.
<IP_ADDRESS>.3 Linearity
Same as other tests
<IP_ADDRESS>.4 Multivariate nomrality
Ideally also MVN.
<IP_ADDRESS>.5 Homoscedacity
Since factors are linear function of measured variables, homscedascity of the relationship is assumed. Not considered a critical assumption of factor analysis.
27.1.8 Running It
- Select and measures variables
- Prepare the correlation matrix
- Extract factors
- Determine Number of Factors
- Rotate factors
- Interpret results
- Selecting and Measuring Variables 8 Sample size: T&F recommends at least 300. Number of variables to include, at least 3 measures per factor, preferable 4 or more.
<IP_ADDRESS> Breezin’
Factor Extraction
Extraction is the process by which factors are determined from a larger set of variables. Are multiple factor extraction methods PCA is the most common extraction method. The goal is to extract factors that explain as much variance as possible with s few factors as possible– parsimony!
Determien Number of Factors Kaisers? Scree? A priori?
Factor Rotation Rotation is sued to improve interpret ability Orthogonal rotation == Factors are ind == Varimax
Oblique Rotation Factors are allowed to correlate Promax is recommended by Russel (2002)
Interpretation Interpret from rotation solution Naming Components, Ideally want variable to load >.40 on one factor and <.3 on all other factors. Generally exclude variable that load <.3 when interpreting a factor. Print option in SPSS to help interpretation: do not print loading < .30. order variable according to loading starting with Factor I.
If one item loads highly on 2, either new rotation or throw it out.
[FIND AND LINK THESE CITATIONS] Further Readings… Kim, Jae-On and Charles W. Mueller (1978a). Introduction to factor analysis: What it is and how to do it. Thousand Oaks, CA: Sage Publications, Quantitative Applications in the Social Sciences Series, No. 13. Kim, Jae-On and Charles W. Mueller (1978b). Factor Analysis: Statistical methods and practical issues. Thousand Oaks, CA: Sage Publications, Quantitative Applications in the Social Sciences Series, No. 14. Kline, Rex B. (1998). Principles and practice of structural equation modeling. NY: Guilford Press. Covers confirmatory factor analysis using SEM techniques. See esp. Ch. 7. Lance, Charles E, Marcus M. Butts, and Lawrence C. Michels (2006). The sources of four commonly reported cutoff criteria: What did they really say? Organizational Research Methods 9(2): 202-220. Discusses Kaiser and other criteria for selecting number of factors.
27.2 Practice
27.2.1 Data Preparation
Load in data, clean it.
require(psych)
require(MASS)
## Loading required package: MASS
require(GPArotation)
## Loading required package: GPArotation
library(data.table)
fa7111data <- fread("datasets/sexRoles.csv")
fa7111matrix <- as.matrix(fa7111data)
Initial Assumptions Tests
KMO(fa7111matrix)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = fa7111matrix)
## Overall MSA = 0.84
## MSA for each item =
## subno helpful reliant defbel yielding cheerful indpt athlet
## 0.52 0.90 0.87 0.85 0.86 0.76 0.85 0.77
## shy assert strpers forceful affect flatter loyal analyt
## 0.84 0.88 0.87 0.87 0.83 0.76 0.82 0.86
## feminine sympathy moody sensitiv undstand compass leaderab soothe
## 0.74 0.89 0.63 0.83 0.88 0.85 0.83 0.87
## risk decide selfsuff conscien dominant masculin stand happy
## 0.85 0.86 0.84 0.87 0.90 0.81 0.88 0.77
## softspok warm truthful tender gullible leadact childlik individ
## 0.78 0.89 0.70 0.88 0.72 0.81 0.67 0.86
## foullang lovchil compete ambitiou gentle
## 0.64 0.74 0.82 0.81 0.87
cortest.bartlett(fa7111matrix,n=369)
## R was not square, finding R from data
## $chisq
## [1] 5809.284
##
## $p.value
## [1] 0
##
## $df
## [1] 990
27.2.2 Analysis I
Look at all factor model
allFactor7111 <- fa(fa7111matrix,nfactors=45,rotate="none")
plot(allFactor7111$values)
Do a 2 factor analysis with rotation
twoFactor7111 <- fa(fa7111matrix,nfactors=2,rotate="varimax")
twoFactor7111$loadings
##
## Loadings:
## MR1 MR2
## subno -0.108
## helpful 0.312 0.389
## reliant 0.462 0.144
## defbel 0.439 0.199
## yielding -0.140 0.344
## cheerful 0.146 0.384
## indpt 0.539
## athlet 0.265
## shy -0.406
## assert 0.606
## strpers 0.658
## forceful 0.642 -0.115
## affect 0.160 0.542
## flatter 0.224
## loyal 0.146 0.419
## analyt 0.301 0.127
## feminine 0.336
## sympathy 0.531
## moody -0.173
## sensitiv 0.121 0.429
## undstand 0.621
## compass 0.631
## leaderab 0.740
## soothe 0.590
## risk 0.439 0.162
## decide 0.545 0.131
## selfsuff 0.526 0.157
## conscien 0.320 0.330
## dominant 0.667 -0.237
## masculin 0.282 -0.287
## stand 0.617 0.183
## happy 0.114 0.441
## softspok -0.235 0.326
## warm 0.712
## truthful 0.110 0.313
## tender 0.694
## gullible -0.172 0.118
## leadact 0.734
## childlik -0.101 -0.120
## individ 0.464
## foullang 0.138
## lovchil 0.318
## compete 0.450
## ambitiou 0.419 0.142
## gentle 0.691
##
## MR1 MR2
## SS loadings 6.060 5.189
## Proportion Var 0.135 0.115
## Cumulative Var 0.135 0.250
27.2.3 Analysis I
Using the criterion that items should load at least .4 on one factor and less than .3 on another factor, the following items were sorted out of the initial factor analysis. Taken together, these items seem to load on a factor that I would deem as patriarchal.
- 3 reliant 0.452 0.123 A
- 4 defbel 0.433 0.198 A
- 7 indpt 0.521 A
- 10 assert 0.605 A
- 11 strpers 0.657 A
- 12 forceful 0.650 -0.118 A
- 23 leaderab 0.764 A
- 25 risk 0.439 0.167 A
- 26 decide 0.540 0.120 A
- 27 selfsuff 0.509 0.141 A
- 29 dominant 0.671 -0.236 A
- 31 stand 0.605 0.179 A
- 38 leadact 0.761 A
- 40 individ 0.444 A
- 42 lovchil 0.326 A
- 43 compete 0.451 A
- 44 ambitiou 0.412 0.142 A
And the following items loaded on the second factor and given the high loadings of certain items, I think that this factor could be deemed as matriarchal.
- 5 yielding -0.136 0.336 B
- 6 cheerful 0.147 0.373 B
- 13 affect 0.171 0.556 B
- 15 loyal 0.146 0.419 B
- 17 feminine 0.108 0.325 B
- 18 sympathy 0.526 B
- 20 sensitiv 0.129 0.426 B
- 21 undstand 0.611 B
- 22 compass 0.106 0.628 B
- 24 soothe 0.581 B
- 32 happy 0.113 0.433 B
- 33 softspok -0.236 0.334 B
- 34 warm 0.720 B
- 35 truthful 0.106 0.316 B
- 36 tender 0.711 B
- 45 gentle 0.702 B
<IP_ADDRESS> Interpretation
Interpret the meaning of the two factors (make up a story one or two paragraphs long based on which variable load heaviest on which factors). In other words, does factor one seem to capture some underlying characteristic of the variables, and does factor two seem to capture some different underlying characteristic of the variables. To make your task easier, I have listed the variable labels and the items to which they refer below.
I think the two characteristics here exemplify two qualities that pertain to gender roles that people are assumed to take in the public discourse. On one hand, the first factor has tons of items that seem like they would describe individuals that exemplify traditional patriarchal values (ala Butler, hooks). People who are able to identify with those types of values seem to benefit from societies that are based around power structures where it’s advantageous to be able to be on top of the competition in a very alpha-male-ish kind of way. That is not to say these qualities are intrinsically good or bad, but they seem to be the types of values that are valued by more conservative, traditional cultures and seen as strong desirable characteristics.
The second factor seems to load more on things that you would ascribe to matriarchal culture. Here you have a lot of the words that would traditionally be associated with motherhood. While this again is not claiming any sort of value judgment, or making a is/ought fallacy, I think most people would agree (especially in older generations) that the words in the second factor tend to be more associated with values that women in society are expected to adhere to and when they step outside of those bounds, are looked on as abnormal.
27.2.4 Analysis II
Since I used the suggested criterion of factors loading above .4 on one factor an less than .3 on the other, I decided to remove items that did not adhere to those loadings.
<IP_ADDRESS>.1 Instructions
Delete these variables from the analysis, and re-run the factor analysis (eigenvalues over 2.0). What effects did this have on your results (for example, look at variance explained among other things)?
#Removal of Items
removed_fa7111data <- fa7111data[,c(3,4,7,10,11,12,23,25,27,29,31,38,40,42,43,44,5,6,13,15,17,18,20,21,22,24,32,33,34,35,36,45)]
str(removed_fa7111data)
## Classes 'data.table' and 'data.frame': 369 obs. of 32 variables:
## $ reliant : int 7 6 6 6 6 6 4 6 6 4 ...
## $ defbel : int 5 6 4 7 7 7 6 7 6 7 ...
## $ indpt : int 7 3 5 6 7 6 3 7 5 5 ...
## $ assert : int 7 4 4 4 7 4 3 5 5 5 ...
## $ strpers : int 7 1 4 3 7 2 4 6 7 6 ...
## $ forceful: int 2 3 3 3 5 2 1 6 6 4 ...
## $ leaderab: int 6 4 4 2 7 3 1 6 5 4 ...
## $ risk : int 2 3 3 5 7 1 1 4 4 2 ...
## $ selfsuff: int 7 5 6 6 5 7 4 6 6 5 ...
## $ dominant: int 1 4 2 4 6 2 1 4 5 4 ...
## $ stand : int 7 4 4 6 7 7 5 7 7 6 ...
## $ leadact : int 2 4 3 3 6 3 1 5 6 5 ...
## $ individ : int 7 4 6 5 6 7 5 7 6 6 ...
## $ lovchil : int 7 7 5 6 7 7 7 6 5 7 ...
## $ compete : int 7 4 2 4 7 1 1 4 3 4 ...
## $ ambitiou: int 7 4 4 6 7 5 1 4 5 4 ...
## $ yielding: int 5 6 4 4 4 4 6 5 4 4 ...
## $ cheerful: int 7 2 5 6 7 6 6 6 4 7 ...
## $ affect : int 7 5 5 5 7 5 7 7 6 7 ...
## $ loyal : int 7 5 7 7 7 7 6 7 6 7 ...
## $ feminine: int 2 5 6 6 4 7 4 6 6 5 ...
## $ sympathy: int 6 5 5 5 7 6 7 6 4 5 ...
## $ sensitiv: int 7 5 4 6 7 5 6 6 6 5 ...
## $ undstand: int 7 5 6 6 6 5 6 6 6 6 ...
## $ compass : int 7 4 6 6 7 5 6 6 5 6 ...
## $ soothe : int 7 4 7 6 7 5 6 5 5 6 ...
## $ happy : int 7 4 6 6 6 6 5 6 3 7 ...
## $ softspok: int 7 6 4 5 4 6 1 6 4 6 ...
## $ warm : int 7 5 5 6 7 6 5 6 5 7 ...
## $ truthful: int 7 6 7 6 7 7 5 7 6 7 ...
## $ tender : int 7 5 6 5 7 4 5 6 5 6 ...
## $ gentle : int 7 4 5 5 7 6 5 6 5 7 ...
## - attr(*, ".internal.selfref")=<externalptr>
removed_fa7111matrix <- as.matrix(removed_fa7111data)
#View(removed_fa7111matrix)
removed_all <- fa(removed_fa7111matrix, nfactors = 32, rotate="none")
plot(removed_all$values) # Run Two factor model
removed_all_2 <- fa(removed_fa7111matrix, nfactors = 2, rotate = "varimax")
removed_all_2$loadings
##
## Loadings:
## MR1 MR2
## reliant 0.448 0.123
## defbel 0.436 0.201
## indpt 0.529
## assert 0.617
## strpers 0.684
## forceful 0.661 -0.104
## leaderab 0.737
## risk 0.435 0.170
## selfsuff 0.495 0.129
## dominant 0.676 -0.228
## stand 0.605 0.185
## leadact 0.733
## individ 0.461
## lovchil 0.314
## compete 0.449
## ambitiou 0.416 0.128
## yielding -0.135 0.329
## cheerful 0.151 0.367
## affect 0.184 0.546
## loyal 0.145 0.418
## feminine 0.101 0.313
## sympathy 0.540
## sensitiv 0.123 0.446
## undstand 0.628
## compass 0.102 0.654
## soothe 0.589
## happy 0.109 0.418
## softspok -0.235 0.307
## warm 0.725
## truthful 0.319
## tender 0.697
## gentle 0.697
##
## MR1 MR2
## SS loadings 5.106 4.673
## Proportion Var 0.160 0.146
## Cumulative Var 0.160 0.306
After removing the items that did not load on to the big variables, the amount of variance explained went up, as did the individual factor loadings.
<IP_ADDRESS>.2 Instructions
Re-run the factor analysis one more time, this time, set eigenvalues to be over 1.0. What effects did this have on your results (for example, how many factors are there now compared to your 2nd and 3rd runs, also look at variance explained among other things)?
#removed_all <- fa(removed_fa7111matrix, nfactors = 32, rotate="none")
plot(removed_all$values) # Run Two factor model
removed_all_2.1 <- fa(removed_fa7111matrix, nfactors = 5, rotate = "varimax")
removed_all_2.1$loadings
##
## Loadings:
## MR1 MR2 MR3 MR4 MR5
## reliant 0.200 0.104 0.616
## defbel 0.402 0.150 0.195 0.215
## indpt 0.279 0.603 0.102
## assert 0.634 0.141 0.120
## strpers 0.701 0.140 0.149 0.149
## forceful 0.721 0.132
## leaderab 0.517 0.347 0.404
## risk 0.260 0.119 0.111 0.155 0.390
## selfsuff 0.154 0.692 0.180
## dominant 0.626 -0.178 0.186 0.249
## stand 0.508 0.165 0.149 0.287 0.140
## leadact 0.554 0.308 0.372
## individ 0.262 0.120 0.346 0.225
## lovchil 0.299 0.120
## compete 0.258 0.100 0.622
## ambitiou 0.134 0.170 0.644
## yielding -0.250 0.221 0.184 0.106
## cheerful 0.467 0.219
## affect 0.240 0.628 0.194 -0.117
## loyal 0.183 0.477 0.147
## feminine 0.250 0.154 0.211
## sympathy 0.166 0.680
## sensitiv 0.617 0.106
## undstand 0.247 0.685 0.148
## compass 0.282 0.734
## soothe 0.314 0.552
## happy 0.578 0.205
## softspok -0.436 0.209 0.130 0.171
## warm 0.675 0.322 0.125
## truthful 0.312 0.153 0.116 -0.117
## tender 0.659 0.285 0.196
## gentle -0.187 0.626 0.292 0.219
##
## MR1 MR2 MR3 MR4 MR5
## SS loadings 3.570 3.231 2.714 2.078 1.641
## Proportion Var 0.112 0.101 0.085 0.065 0.051
## Cumulative Var 0.112 0.213 0.297 0.362 0.414
Now that we have five factors, the amount of total variance explained goes down and the factors as they are do not seem to make much sense. The earlier interpretation of the data seemed to be much clearer.


Cop Land (1997)
A movie review by Michael J. Legeros Copyright 1997 by Michael J. Legeros
(Mirimax) Directed by James Mangold Written by James Mangold Cast Sylvester Stallone, Harvey Keitel, Ray Liotta, Robert DeNiro, Janeane Garofalo, Michael Rapaport, Robert Patrick, Peter Berg, Anabella Sciorra, Cathy Moriarty MPAA Rating "R" (presumably for violence and profanity) Running Time 107 minutes Reviewed at Mission Valley Cinemas, Raleigh, NC (15AUG97)
==
COP LAND is surprisingly underwhelming. Neither a meaty cast nor a meaty plot can do much for writer-director James Mangold (HEAVY). His epic-flavored movie-- about big-city police corruption that spills over into the small town where most of the cops live-- is missing *some- thing*. Maybe it's the pacing, which is as sluggish and slow-moving as Sylvester Stallone's dimmer-witted hero. Maybe it's the abundance of characters, which renders the first hour more than a little difficult to follow. (I still don't know who the victim of the fire was.) Maybe it's the plot, which veers toward implausibility when the bad guys throw a party for someone who is supposed to be dead. (The party as a symbol for the cop's ever-increasing arrogance? Maybe.) Whatever the reasons, COP LAND amuses but never entirely entertains. Even the big finale, admittedly a kicker with its nifty use of sound and silence, lacks enough emotional punch. With Robert De Niro, Ray Liotta, Harvey Keitel, Michael Rapaport, Janeane Garofalo, Robert Patrick, Cathy Moriarty, Annabella Sciorra, and Peter Berg.
Grade: B-
-- Mike Legeros - Movie Hell http://www.nonvirtual.com/hell
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


Personally, I am a horror-movie fan. However, being a true movie buff, I see just about every new release that comes out. When I heard about "Summer of Sam" I thought it would be a good "shock factor" movie.
Then I had second thoughts.. I have never cared much for Spike Lee's movies, especially how they all seem to be laced with racial undertones, sometimes unnecessarily, at times. But, I went with my father, who went simply for the "shock factor" thinking it was going to be a "bloody movie about the killings".
I will admit, it was quite bloody. The murder scenes are shown and they aren't in any way made easy or glorified. However, the movie is not based on the murderer, the murders or the victims. The victims names aren't even mentioned at all that I can remember in the movie, and, although the murderer is portrayed, he isn't the basis of the movie. The movie is more about society around the time of the murders, and the murders and killings are simply a backdrop for a story about a group of friends growing up in New York. John Leguizamo plays one of the main "tough guys", portraying a young husband to Mira Sorvino that you can't help but hate and feel sorry for at the same time. Sorvino is absolutely star-struck in this movie, looking wonderful as ever but also giving a performance that makes you feel for her as well as her situation. The one car scene, in which she is accusing her husband, Leguizamo, of cheating on her with her cousin is absolutely amazing, one which drew applause from the audience of the theater in which I was in. I know I was cheering for her. You GO, Girl!
The murderer is in no way glorified. He is portrayed as a sick, psychotic man who, even in this movie, is not clear as to why he is killing except for the fact that he is seriously messed up in the head. The movie deals with the prejudices of the area and time, with the "tough guys" of the neighborhood thinking they can go out and single-handedly find the .44 caliber killer with their own brains and "process of elimination". It deals with society and it has a story simply backlogged by the horrible events of the murders. At the end, of course, the murderer is caught, but that isn't the end of the movie. Without giving away the end, let's just say that you leave the movie with a sense of relief that the sick psycho was caught, but another feeling of dread that there is such harsh prejudice in this world that some people cannot see past appearances... even when it comes to their own friends.
Spike Lee overlooked the racial proponents of his past films and, although a slight racial slur in the middle of the movie during the "black out riot news report", there is more to his movie than race for once. It is NOT a shock-film, but a combination of a great script, cinematography and acting which, put all together in a nut-shell, ended up to be a great story placed in a not-so-great time in history. If war films can be made and films can be made about families living in the time of World War I or II, this can be equivelent to it.. it's simply about a group of people living through a very frightening and scary point in our history. Granted, it wasn't a very happy time, but neither was the Invasion of Normandy and Speilberg didn't get any flack about his "Saving Private Ryan". Lee.. Good job. Keep it up, and I applaud you for doing this movie with taste and respect. It came out to be, in my mind, a real eye opener and a work of art. !!!!
If you agree or disagree, I accept CONSTRUCTIVE criticism. Nothing rude, please! =) Thanks. - Jeanie
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


Just what happened to me tonight… Thanks for the solution. Guess latest tech has its drawbacks…
Yeah, this had me banging my head against the desk for a good while. Glad you got it figured out!
Thanks a million … to say I was trying to mysql2 installed for 6 hours is not an exaggeration …. but with your explanation all up and running, thankfully !!
Thanks a lot.Been working on it for 4 hrs
Thanks a lot man, this really helps!!!
Thanks alot man, this was awesome !!!!
Thanks
Just what happened to me tonight… Thanks for the solution. Guess latest tech has its drawbacks…
Yeah, this had me banging my head against the desk for a good while. Glad you got it figured out!
Thanks a million … to say I was trying to mysql2 installed for 6 hours is not an exaggeration …. but with your explanation all up and running, thankfully !!
Thanks a lot.Been working on it for 4 hrs
Thanks a lot man, this really helps!!!
Thanks alot man, this was awesome !!!!
Thanks


Titanic (PG-13) **** (out of ****)
Over $200 million in production costs; a problem-plagued shoot; a missed release date; a cast without a major star; and a three-hour-plus running time. A recipe for disaster? Not in the hands of writer-director James Cameron. His much-talked-about, much-anticipated Titanic has finally set sail, and unlike the ill-fated oceanliner that lends the film its name, this absorbing, moving cinematic spectacle not only floats, it soars.
It is ironic that so many modern dollars were spent in service of what is, at its core, a very old-fashioned romantic epic. Set mostly aboard the titular cruise ship during its singular voyage in 1912, Titanic documents, in flashback, the forbidden romance between penniless artist Jack Dawson (Leonardo DiCaprio) and the well-bred Rose Dewitt Bukater (Kate Winslet), who is quite unhappily betrothed to wealthy snob Cal Hockley (Billy Zane). The nature of Jack and Rose's relationship is fairly conventional--free-spirited Jack enables the constricted Rose to come alive--but the simple purity adds to the couple's charm. Cameron wisely takes his time to build this romance; by devoting the first couple of hours (and a very fast-paced two hours at that) to its development, he allows DiCaprio and Winslet (both terrific in what should be star-making turns) to develop a natural, affecting rapport with each other and, more crucially, the audience.
One can use all the superlative adjectives--"extraordinary," "spectacular," et al.--to describe the centerpiece crash-and-sink (which comprises the bulk of the film's final hour), yet no words can ever come close to accurately capturing the truly awesome experience of watching the Titanic take its final plunge. Unlike the previous high-budget record holder, the inane would-be action "epic" Waterworld, every last dollar spent on Titanic is visible on screen, from the 90-percent-to-scale model of the ship and rushing torrents of water to the ever-so-subtle visual effects that multiply a cast of hundreds into thousands. But for all its technical achievement, what gives the disaster (and the entire film) its powerful charge is the emotional investment the audience has with the people--not just Jack and Rose but also the minor players, a number of whom manage to carve out distinct, endearing identities during the course of the film. A sinking ship is just that without characters the audience cares about on board; by the time the ship makes its fateful collision, the film is no longer so much about a ship that sinks than it is about living, breathing human beings who, as one of the film's taglines goes, "collide with destiny."
The enduring and healing power of love, the strength of the human will, living for the moment--these are a few of the themes Cameron covers, but instead of coming off as blatantly preachy (which, in some of his previous films, he comes dangerously close to), he addresses these issues with careful subtlety, expressing them mostly through the characters and their actions rather than explicitly written dialogue (with the exception of a few words of wisdom dispensed by Jack). One of the best examples of this is the framing device for the main on-ship action: modern-day scenes in which an aged Rose (Gloria Stuart) tells her story to an expedition crew (led by Bill Paxton) searching for a legendary blue diamond called the Heart of the Ocean. A lesser filmmaker would use these scenes as little more than decorative bookends, but in the end Cameron molds them into a relevant subplot about man's selfish and greedy nature.
Steven Spielberg and Robert Zemeckis earned long-overdue respect from the Academy and critics alike with 1993's Schindler's List and 1994's Forrest Gump, respectively; with Titanic, a sumptuous epic as emotionally powerful as it is technically phenomenal, fellow hitmaker James Cameron is now set to receive his just due. (opens December 19)
Michael Dequina<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS><EMAIL_ADDRESS>|<EMAIL_ADDRESS><EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>Visit Mr. Brown's Movie Site at http://members.tripod.com/~MrBrown/ Personal Page: http://members.tripod.com/~MrBrown/home.html Michael Jordan Beyond the Court: http://www.geocities.com/Colosseum/Field/2302/ A Michael Jordan Fan's Heartbreak: http://members.tripod.com/~mj23/mj.html
"I've failed over and over and over again in my life... and that is why I succeed." --Michael Jordan
"If you chase something, then sometimes you never get it. If you put forth the work and all the attitude, next thing you know it's bestowed upon you." --Michael Jordan
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


Janus is a set of custom Kubernetes resources that acts as a gatekeeper for filesystem permission events on specified paths. It provides a rich set of configurations to run alongside your existing Kubernetes deployments to ensure that outside processes can or cannot open or access these paths.
In deploying Janus into your cluster, a couple of components will be
initialized. First, the controller listens directly for Kubernetes events and
is responsible for syncing cluster state with the daemons running on each node
to make sure specified pods that need to be guarded, are. Second, the daemon is
run on each node to ensure that it can monitor running pods on the same node.
It is charged with marking inodes via fanotify
to allow you to set guards for
certain filesystem events on the desired paths inside the pod.
We will provide some common patterns using sets of popular tools further in this documentation.
Architecture
K8s informers) --> D F(JanusGuard CRDs) --> D end
Custom Resource Definition
In order to describe the set of pods you want to create a guard for, what
allow and deny paths you are interested in guarding, and for what events,
you’ll soon find yourself creating a JanusGuard
CustomResourceDefinition
. That is, a Kubernetes custom type that will be
configured in your cluster, that gives a specification to define a guard type
with all the fields and flags the controller will understand, configure, and
pass along to the daemon so it can guard appropriately in the fashion you
describe.
Controller
janus-controller is the glue between the Kubernetes lifecycle and the daemons listening for events and sending permission responses on the filesystems. It responds to events such as pod listers add, update, and delete, making sure that the proper state of the daemon that is running on the same node as that pod has the guard either started or not on that daemon.
This controller operates in an idempotent fashion, in such cases that the controller pod running is terminated and a new one spins up, it immediately receives all the events upon startup that it would have received anyway over time; this way we can reconstruct the proper state immediately. When a daemon is not gracefully terminated, upon startup of a new daemon pod, we reconcile that pod’s current state (nothing) with what we expect it should be, and all addition calls should be immediately fired; same as the previous case but in reverse.
The other set of types the controller listens for is the JanusGuard
CustomResourceDefinition
described above. This is the definition that you
will create to define what selector, paths, events, and optional flags to
create the notion of file access auditing.
Daemon
The janusd daemon will be deployed on all cluster nodes via a DaemonSet
.
It starts a gRPC server to communicate back-and-forth with the controller,
described above. When it receives a message from the controller to create a
guard, it takes the desired configuration and spawns a janusnotify process
with a custom set of rules. For example, if one wishes to guard the entire
mountpoint that a directory or file resides on, this can be configured with an
optional flag.
Once the janusnotify process receives an fanotify
message that the user
configured to guard, it writes a response to allow or deny that event, based on
how you configure your guard paths.
Upon receiving an additional create message, if the guard already exists, it will handle it in an idempotent way, and simply update with the current configuration. When receiving a delete message, if the guard exists, it will shut down the processes involved and remove this guard from the daemon’s current state.
There is an additional state check called periodically by the controller that reconciles what the daemon knows its state is with what the controller expects the current state to be. Any additional creation and deletion methods may be called due to any differences. This also allows for handling non-graceful terminations of either daemon or controller pods, thus the proper state can always be recreated in these cases.