|
Jala 1.3 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Object | +--jala.Form
A class that renders forms, validates submitted form data and
stores the data in a specified object.
Defined in Form.js
| Nested Class Summary | |
<static class> |
jala.Form.Component |
<static class> |
jala.Form.Tracker |
| Field Summary | |
Skin |
componentSkin
Contains the default component skin |
String |
name
Readonly reference to the name of the form |
<static> <final> String |
CHECKOPTIONS
Constant used by require function to define that a select or radio component should validate only if the user input is contained in the list of options provided. |
<static> <final> String |
CONTENTTYPE
Constant used by require function to define that a file upload component should validate only if the file's content type is in the list of allowed content types provided. |
<static> helma.Html |
html
The HTML renderer used by jala.Form |
<static> <final> String |
MAXHEIGHT
Constant used by require function to define that an image upload component should validate only if the image's height is less than the value provided. |
<static> <final> String |
MAXLENGTH
Constant used by require function to define that a component should not validate if userinput exceeds a maximum length. |
<static> <final> String |
MAXWIDTH
Constant used by require function to define that an image upload component should validate only if the image's width is less than the value provided. |
<static> <final> String |
MINHEIGHT
Constant used by require function to define that an image upload component should validate only if the image's height is more than the value provided. |
<static> <final> String |
MINLENGTH
Constant used by require function to define that a component should not validate if userinput is shorter than a given length. |
<static> <final> String |
MINWIDTH
Constant used by require function to define that an image upload component should validate only if the image's width is more than the value provided. |
<static> <final> String |
REQUIRE
Constant used by require function to define that a component should validate only if the user did provide input. |
| Constructor Summary | |
jala.Form
(<String> name, <Object> dataObj)
Constructs a new Form instance |
| Method Summary | |
void
|
addComponent(<jala.Form.Component.Input> component)
Adds a component to this jala.Form instance |
String
|
class_macro()
Returns the class name of the form |
void
|
close_macro()
Writes the form closing tag to response |
Boolean
|
containsFileUpload()
Returns true if this instance of jala.Form contains at least one component doing a file upload. |
Number
|
countErrors()
If this instance of jala.Form holds a jala.Form.Tracker instance it returns the number of components that didn't validate. |
String
|
createDomId()
Creates a DOM identifier based on the arguments passed. |
String
|
getClassName()
Returns the class name set for this form instance. |
Object
|
getDataObject()
Returns the data object containing the values used for rendering the form. |
String
|
getErrorMessage()
Returns the general error message printed above the form if any of the components didn't validate. |
jala.Form.Tracker
|
getTracker()
Returns the tracker object this form instance uses for collecting error messages and parsed values. |
Boolean
|
handle(<Object> reqData, <Object> destObj)
Parses form input, applies check functions and stores the values if the form does validate. |
Boolean
|
hasError()
Returns true if this instance of jala.Form holds a jala.Form.Tracker instance and at least one error has been set on this tracker. |
String
|
id_macro()
Returns the id (equal to the name) of the form |
Array
|
listComponents()
Returns an array containing the components of this jala.Form instance. |
String
|
name_macro()
Returns the name (equal to the id) of the form |
void
|
open_macro()
Writes the form opening tag to response |
void
|
render()
Renders this form including all components to response. |
void
|
render_macro()
Renders the whole form to response |
String
|
renderAsString(param)
renders the form as a string |
void
|
save(<jala.Form.Tracker> tracker, <Object> destObj)
Sets the parsed values on an object. |
void
|
setClassName(<String> newClassName)
Sets an extra classname for this form instance |
void
|
setDataObject(newDataObj)
Sets the data object which is being edited by this form. |
void
|
setErrorMessage(<String> newErrorMessage)
Sets the general error message printed above the form if any of the components didn't validate. |
void
|
setTracker(<jala.Form.Tracker> newTracker)
Sets the tracker object this form instance uses for collecting error messages and parsed values. |
jala.Form.Tracker
|
validate(<Object> reqData)
Validates user input from a submitted form by calling each component's validate method. |
<static> jala.Form
|
create(<Object> config, dataObj)
Parses a plain javascript object tree and configures a new jala.Form instance according to the properties. |
<static> void
|
extend(<Function> subClass, <Function> superClass)
Utility to set up the prototype, constructor, superclass and superconstructor properties to support an inheritance strategy that can chain constructors and methods. |
<static> String
|
isEmail(<String> name, <String> value, <Object> reqData, <jala.Form> formObj)
Static validator function to test values for being a valid email address. |
<static> String
|
isUrl(<String> name, <String> value, <Object> reqData, <jala.Form> formObj)
Static validator function to test values for being a valid url. |
<static> Object
|
propertyGetter(<String> name, value)
static default getter function used to return a field from the data object. |
<static> void
|
propertySetter(<String> name, <Object> value)
static default setter function used to change a field of the data object. |
| Field Detail |
Skin componentSkin
String name
<static> <final> String CHECKOPTIONS
<static> <final> String CONTENTTYPE
<static> helma.Html html
<static> <final> String MAXHEIGHT
<static> <final> String MAXLENGTH
<static> <final> String MAXWIDTH
<static> <final> String MINHEIGHT
<static> <final> String MINLENGTH
<static> <final> String MINWIDTH
<static> <final> String REQUIRE
| Constructor Detail |
jala.Form(<String> name, <Object> dataObj)
name
- The name of the form
dataObj
- An optional object used to retrieve values to display in the form input fields contained in this Form instance.
| Method Detail |
void addComponent(<jala.Form.Component.Input> component)
component
-
String class_macro()
void close_macro()
Boolean containsFileUpload()
Number countErrors()
String createDomId()
String getClassName()
Object getDataObject()
String getErrorMessage()
jala.Form.Tracker getTracker()
Boolean handle(<Object> reqData, <Object> destObj)
reqData
- input from form
destObj
- object whose values should be chanegd
Boolean hasError()
String id_macro()
Array listComponents()
String name_macro()
void open_macro()
void render()
void render_macro()
String renderAsString(param)
void save(<jala.Form.Tracker> tracker, <Object> destObj)
tracker
- (optional) tracker object holding parsed data from form input.
destObj
- (optional) object whose values will be changed. By default the dataObj passed to the constructor or to setDataObject is used.
void setClassName(<String> newClassName)
newClassName
- new classname
void setDataObject(newDataObj)
dataObj
- The object which is being edited by this form.
void setErrorMessage(<String> newErrorMessage)
newErrorMessage
- error message
void setTracker(<jala.Form.Tracker> newTracker)
newTracker
-
jala.Form.Tracker validate(<Object> reqData)
reqData
- Optional submitted form data. If not specified req.data is used.
<static> jala.Form create(<Object> config, dataObj)
config
- object tree containing config
<static> void extend(<Function> subClass, <Function> superClass)
subClass
- the object which inherits superClass' functions
superClass
- the object to inherit
<static> String isEmail(<String> name, <String> value, <Object> reqData, <jala.Form> formObj)
name
- name of the property being validated.
value
- value in form input
reqData
- the whole request-data-object, in case properties depend on each other
formObj
- instance of jala.Form
<static> String isUrl(<String> name, <String> value, <Object> reqData, <jala.Form> formObj)
name
- name of the property being validated.
value
- value in form input
reqData
- the whole request-data-object, in case properties depend on each other
formObj
- instance of jala.Form
<static> Object propertyGetter(<String> name, value)
name
- Name of the property.
<static> void propertySetter(<String> name, <Object> value)
name
- Name of the property.
value
- New value of the property.
|
Jala 1.3 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


harmonise.Rmd
The exposure data and outcome data are now obtained, e.g.:
ao <- available_outcomes()
#> API: public: http://gwas-api.mrcieu.ac.uk/
bmi_exp_dat <- extract_instruments(outcomes='ieu-a-2')
chd_out_dat <- extract_outcome_data(snps = bmi_exp_dat$SNP, outcomes = 'ieu-a-7')
#> Extracting data for 79 SNP(s) from 1 GWAS(s)
but it is important to harmonise the effects. This means that the effect of a SNP on the exposure and the effect of that SNP on the outcome must each correspond to the same allele.
Note: The IEU GWAS database contains data that is already harmonised, meaning that the non-effect allele is aligned to the human genome reference sequence (build 37). It’s still recommended to harmonise, but in principle everything should be on the forward strand and effect alleles always relating to the same allele. Some discrepancies could arise if there are multi-allelic variants that are represented as different bi-allelic variants in different studies.
To harmonise the exposure and outcome data, do the following:
dat <- harmonise_data(
exposure_dat = bmi_exp_dat,
outcome_dat = chd_out_dat
)
#> Harmonising Body mass index || id:ieu-a-2 (ieu-a-2) and Coronary heart disease || id:ieu-a-7 (ieu-a-7)
This creates a new data frame that has the exposure data and outcome data combined.
If there were 3 exposure traits and 3 outcome traits then there will be 9 sets of harmonisations being performed - harmonising the SNP effects of exposure trait 1 against outcome trait 1; exposure trait 1 against outcome trait 2; and so on.
Recent GWASs typically present the effects of a SNP in reference to the allele on the forward strand. But as reference panels are updated the forward strand sometimes changes, and GWASs from a few years ago aren’t guaranteed to be using forward strand conventions.
Some examples are shown below:
exposure effect = 0.5
effect allele = A
other allele = G
outcome effect = 0.05
effect allele = A
other allele = G
Here the effect allele on the exposure and the outcome is the same
exposure effect = 0.5
effect allele = A
other allele = G
outcome effect = -0.05
effect allele = C
other allele = T
Here the outcome GWAS is presenting the effect for the alternate allele on the reverse strand. We need to flip the outcome effect to 0.05 to correspond to the same allele as the exposure GWAS on the forward strand.
exposure effect = 0.5
effect allele = A
other allele = G
outcome effect = -0.05
effect allele = A
other allele = C
Here the alleles do not correspond for the same SNP, so this SNP will be discarded from the analysis.
exposure effect = 0.5
effect allele = A
other allele = T
effect allele frequency = 0.11
outcome effect = -0.05
effect allele = A
other allele = T
effect allele frequency = 0.91
Here the alleles correspond, but it is a palindromic SNP, such that the alleles on the forward strand are the same as on the reverse strand (A/T on forward is T/A on the reverse). However, the allele frequency of the effect allele gives us information - if the outcome effect allele (A) were on the forward strand we would expect it to have a low allele frequency, but given it has a high frequency (0.91) we infer that the outcome GWAS is presenting the effect on the reverse strand for the alternative allele. We would flip the effect to 0.05 for the outcome GWAS.
exposure effect = 0.5
effect allele = A
other allele = T
effect allele frequency = 0.50
outcome effect = -0.05
effect allele = A
other allele = T
effect allele frequency = 0.50
This is similar to the above, except the allele frequency no longer gives us information about the strand. We would discard this SNP. This is done for any palindromic SNPs that have minor allele frequency above 0.42.
There are three options to harmonising the data.
By default, the harmonise_data
function uses option 2, but this can be modified using the action
argument, e.g. harmonise_data(exposure_dat, outcome_dat, action=3)
.
After data harmonisation, users may find that their dataset contains duplicate exposure-outcome summary sets. This can arise, for example, when a GWAS consortium has released multiple results from separate GWAS analyses for the same trait. For example, there are multiple GWAS summary datasets for body mass index and coronary heart disease:
ao[ao$trait=="Body mass index",c("trait","id","pmid","author","sample_size","nsnp")]
#> # A tibble: 15 x 6
#> trait id pmid author sample_size nsnp
#> <chr> <chr> <int> <chr> <int> <int>
#> 1 Body mass index ieu-a-974 25673413 Locke AE<PHONE_NUMBER>613
#> 2 Body mass index ieu-a-835 25673413 Locke AE<PHONE_NUMBER>668
#> 3 Body mass index ieu-a-94 23754948 Randall JC 60586 2736876
#> 4 Body mass index ebi-a-GCST006802 26961502 Wood AR<PHONE_NUMBER>466
#> 5 Body mass index bbj-a-3 28892062 Ishigaki K 72390 6108953
#> 6 Body mass index ieu-a-785 25673413 Locke AE<PHONE_NUMBER>659
#> 7 Body mass index ieu-a-2 25673413 Locke AE<PHONE_NUMBER>511
#> 8 Body mass index ieu-a-1089 26961502 Wood<PHONE_NUMBER>252
#> 9 Body mass index ebi-a-GCST008025 31217584 Wojcik GL 21955 34343880
#> 10 Body mass index ebi-a-GCST004904 28892062 Akiyama M<PHONE_NUMBER>516
#> 11 Body mass index ebi-a-GCST006368 30108127 Hoffmann TJ<PHONE_NUMBER>4527
#> 12 Body mass index bbj-a-1 28892062 Ishigaki K<PHONE_NUMBER>600
#> 13 Body mass index bbj-a-2 28892062 Ishigaki K 85894 6108953
#> 14 Body mass index ieu-a-95 23754948 Randall JC 73137 2736876
#> 15 Body mass index ebi-a-GCST002783 25673413 Locke AE<PHONE_NUMBER>499
ao[ao$trait=="Coronary heart disease",c("trait","id","pmid","author","ncase","ncontrol","nsnp")]
#> # A tibble: 5 x 7
#> trait id pmid author ncase ncontrol nsnp
#> <chr> <chr> <int> <chr> <int> <int> <int>
#> 1 Coronary heart dise~ ieu-a-8 21378990 Schunkert~ 22233 64762 2.42e6
#> 2 Coronary heart dise~ ebi-a-GCST0009~ 21378990 Schunkert~ 22233 64762 2.42e6
#> 3 Coronary heart dise~ ieu-a-6 21378988 Peden 15420 15062 5.40e5
#> 4 Coronary heart dise~ ieu-a-7 26343387 Nikpay 60801 123504 9.46e6
#> 5 Coronary heart dise~ ieu-a-9 23202125 Deloukas 63746 130681 7.91e4
There are therefore multiple potential combinations of body mass index and coronary heart disease, which would likely lead to duplicate MR analyses. We recommend that users prune their datasets so that only the exposure-outcome combination with the highested expected power is retained. This can be done by selecting the exposure-outcome summary set with the largest sample size for the outcome, using the power_prune function:
dat<-power_prune(dat,method=1,dist.outcome="binary")
This drops the duplicate exposure-outcome sets with the smaller outcome sample size (number of cases for binary outcomes). Remaining duplicates are then dropped on the basis of the exposure sample size. However, if there are a large number of SNPs available to instrument an exposure, the outcome GWAS with the better SNP coverage may provide better power than the outcome GWAS with the larger sample size. This can occur, for example, if the larger outcome GWAS has used a targeted genotyping array. In such instances, it may be better to prune studies on the basis of instrument strength (i.e. variation in exposure explained by the instrumental SNPs) as well as sample size. This can be done by setting the method argument to 2:
dat<-power_prune(dat,method=2,dist.outcome="binary")
This procedure drops duplicate exposure-outcome sets on the basis of instrument strength and sample size, and assumes that the SNP-exposure effects correspond to a continuous trait with a normal distribution (i.e. exposure should not be binary). The SNP-outcome effects can correspond to either a binary or continuous trait (default behaviour is to assume a binary distribution). If the exposure is binary then method 1 should be used.


showedit
Summaryedit
This command allows you to see any indices (or snapshots) matching
index selection or
snapshot selection.
Starting in v3.1.0, the term (CLOSED)
will appear next to indices which are
in a closed state.
Flagsedit
$ curator show [OPTIONS] COMMAND [ARGS]... Show indices or snapshots Options: --help Show this message and exit. Commands: indices Index selection. snapshots Snapshot selection.
This command requires either the indices subcommand for index selection, or the snapshots subcommand for snapshot selection.
Examplesedit
Display a list of indices matching the selection parameters:
curator show indices <<index selection parameters>>
Display a list of snapshots in the named repository matching the selection parameters:
curator show snapshots <<snapshot selection parameters>>


External Term Format ELI5¶
To communicate with the outer world and other Erlang nodes, also to save things on disk, Erlang uses special encoding — External Term Format.
The main requirements to the format:
Easy for human and machine to see an encoded term and what it is. An external term always starts with byte 131 (
0x83
).Compact with optional compression. A tag 131 (
0x83
), 80 (0x50
), U32/big length marks a compressed term.Cross-platform, all integers are encoded as big endian (from most significant bytes to least), floats use big endian IEEE encoding, text uses UTF-8 or ISO-8859-1 (ASCII superset).
To encode a term see erlang:term_to_binary
and the opposite operation is
erlang:binary_to_term
.
Decoding a crafted binary allows us to construct terms which are impossible to make with standard library functions, such as non-existing ports and pids.
Usually atoms are encoded as strings. But in the distributed mode (over the network) to further reduce the protocol size a distribution header can be added. It contains a table of atom names which are included in the encoded message. Atoms in the message are placed in this table and their occurences are replaced with indexes.
It is impossible to encode internal VM value types which never appear in
Erlang programs, such as THE_NON_VALUE
, references to registers, CP
(continuation pointer) etc.
See also
External Term Format documentation.


Welcome to JavaScript Hangman—SAT Edition!
The computer will randomly select an SAT word, and it’s your job to correctly guess the letters in the word. Careful though...seven wrong guesses and it’s game over!
Incorrect guesses:
The computer will randomly select an SAT word, and it’s your job to correctly guess the letters in the word. Careful though...seven wrong guesses and it’s game over!
Incorrect guesses:


vignettes/edgarWebR.Rmd
edgarWebR.Rmd
knitr::opts_chunk$set(collapse = T, comment = "#>")
library(edgarWebR)
library(dplyr, quietly=TRUE)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(purrr, quietly=TRUE)
library(ggplot2)
set.seed(0451)
# Cache http requests
library(httptest)
## Loading required package: testthat
##
## Attaching package: 'testthat'
## The following object is masked from 'package:purrr':
##
## is_null
## The following object is masked from 'package:dplyr':
##
## matches
start_vignette("intro")
There are plenty of packages for R that allow for fetching and manipulation of companies’ financial data, often fetching that direct from public filings with the SEC. All of these packages have the goal of getting to the XBRL data, containing financial statements, typically in annual (10-K) or quarterly (10-Q) filings.
SEC filings however contain far more information. edgarWebR is the first step in accessing that data by providing an interface to the SEC EDGAR search tools and the metadata they provide.
Using information about filings, we can use edgarWebR to see how long after the close of a financial period it takes for a company to make a filing. We can also see how that time has changed.
First, we’ll fetch a bunch of 10-K and 10-Q filings for our given company using company_filings()
. To make sure we’re going far enough back we’ll take a peak at the tail of our results
ticker <- "EA"
filings <- company_filings(ticker, type = "10-", count = 100)
initial_count <- nrow(filings)
# Specifying the type provides all forms that start with 10-, so we need to
# manually filter.
filings <- filings[filings$type == "10-K" | filings$type == "10-Q", ]
Note that explicitly filtering caused us to go from 100 to 97 rows.
filings$md_href <- paste0("[Link](", filings$href, ")")
knitr::kable(tail(filings)[, c("type", "filing_date", "accession_number", "size",
"md_href")],
col.names = c("Type", "Filing Date", "Accession No.", "Size", "Link"),
digits = 2,
format.args = list(big.mark = ","))
| Type | Filing Date | Accession No. | Size | Link | |
|---|---|---|---|---|---|
| 95 | 10-Q | 1997-02-14 |<PHONE_NUMBER>-97-000277 | 118 KB | Link |
| 96 | 10-Q | 1996-11-14 |<PHONE_NUMBER>-96-000920 | 87 KB | Link |
| 97 | 10-Q | 1996-08-14 |<PHONE_NUMBER>-96-000615 | 72 KB | Link |
| 98 | 10-K | 1996-07-01 |<PHONE_NUMBER>-96-013563 | 197 KB | Link |
| 99 | 10-Q | 1996-02-14 |<PHONE_NUMBER>-96-002551 | 85 KB | Link |
| 100 | 10-Q | 1995-11-14 |<PHONE_NUMBER>-95-009843 | 83 KB | Link |
We’ve received filings dating back to 1995 which seems good enough for our purposes, so next we’ll get the filing information for each filing.
So far we’ve done everything in base R, but now we’ll use some useful functions from dplyr and purrr to make things a bit easier.
# this can take a while - we're fetching ~100 html files!
filing_infos <- map_df(filings$href, filing_information)
filings <- bind_cols(
filings[, !(names(filings) %in% names(filing_infos))],
filing_infos)
filings$filing_delay <- filings$filing_date - filings$period_date
# Take a peak at the data
knitr::kable(head(filings) %>% select(type, filing_date, period_date,
filing_delay, documents, bytes) %>%
mutate(filing_delay = as.numeric(filing_delay)),
col.names = c("Type", "Filing Date", "Period Date", "Delay",
"Documents", "Size (B)"),
digits = 2,
format.args = list(big.mark = ","))
| Type | Filing Date | Period Date | Delay | Documents | Size (B) |
|---|---|---|---|---|---|
| 10-Q | 2019-11-06 | 2019-09-30 | 37.04 | 102 | 13,048,623 |
| 10-Q | 2019-08-06 | 2019-06-30 | 37.00 | 101 | 11,575,034 |
| 10-K | 2019-05-24 | 2019-03-31 | 54.00 | 133 | 16,923,278 |
| 10-Q | 2019-02-06 | 2018-12-31 | 37.00 | 104 | 14,024,047 |
| 10-Q | 2018-11-06 | 2018-09-30 | 37.04 | 103 | 13,828,893 |
| 10-Q | 2018-08-08 | 2018-06-30 | 39.00 | 102 | 12,517,185 |
Now our data is arranged, we can run some summary statistics and plot using ggplot2.
knitr::kable(filings %>%
group_by(type) %>% summarize(
n = n(),
avg_delay = as.numeric(mean(filing_delay)),
median_delay = as.numeric(median(filing_delay)),
avg_size = mean(bytes / 1024),
avg_docs = mean(documents)
),
col.names = c("Type", "Count", "Avg. Delay", "Median Delay",
"Avg. Size", "Avg. Docs"),
digits = 2,
format.args = list(big.mark = ","))
| Type | Count | Avg. Delay | Median Delay | Avg. Size | Avg. Docs |
|---|---|---|---|---|---|
| 10-K | 24 | 66.77 | 59 | 7,605.28 | 31.25 |
| 10-Q | 73 | 39.71 | 39 | 5,272.68 | 22.66 |
No surprise, yearly filings (10-K’s) are larger and take more time than quarterly filings (10-K’s). Lets see how the times are distributed:
ggplot(filings, aes(x = factor(type), y = filing_delay)) +
geom_violin() + geom_jitter(height = 0, width = 0.1) +
labs(x = "Filing Date", y = "Filing delay (days)")
#> Don't know how to automatically pick scale for object of type difftime. Defaulting to continuous.
We can also examine how the filing delay has changed over time:
ggplot(filings, aes(x = filing_date, y = filing_delay, group = type, color = type)) +
geom_point() + geom_line() +
labs(x = "Filing Type", y = "Filing delay (days)")
#> Don't know how to automatically pick scale for object of type difftime. Defaulting to continuous.
Whether because of some internal change or change to SEC rules, the time between the end of the fiscal year and the 10-K has dropped quite a bit, though there is still a bit of variation.
An interesting extension would be to compare the filing delays to the company’s stock price, overall market performance and other companies to see if there are particular drivers to the pattern.
ggplot(filings, aes(x = filing_date, y = bytes / 1024, group = type, color = type)) +
geom_point() + geom_line() +
labs(x = "Filing Type", y = "Filing Size (KB)")
The jump in size ~2010 is the requirement for inclusion of financial datafiles starting, but there is still interesting variations.
The SEC contains a wealth of information and we’re only scratching the surface. edgarWebR itself has a lot more functionality than what we’ve explored here and there is more coming.
edgarWebR is available from CRAN, so can be simply installed via
install.packages("edgarWebR")
If you want the latest and greatest, you can get a copy of the development version from github by using devtools:
# install.packages("devtools")
devtools::install_github("mwaldstein/edgarWebR")


FOUR WEDDINGS AND A FUNERAL A film review by Mark R. Leeper Copyright 1994 Mark R. Leeper
Capsule review: FOUR WEDDINGS AND A FUNERAL has humor, good dialogue, people the audience cares about, all to tell a story with just a wisp of a plot. With a genuine plot this could have been a film really worth seeing. Rating: +1 (-4 to +4)
There is a lot of truth in advertising in the title of the British comedy FOUR WEDDINGS AND A FUNERAL. This is a film that is about 80% happiness and 20% pain. Hugh Grant plays Charles, a bachelor who tells himself that he is looking for a wife but is too indecisive and unwilling to commit to any one woman. So he goes to wedding after wedding getting increasingly desperate and frustrated. One after another marriage picks off members of Charles's group of close-knit friends. The group is centered around the flamboyant Garath, played superbly by Simon Callow. Both the character and the actor are incorrigible scene stealers, upstaging everybody else in sight. Charles has flitted from woman to woman without ever deciding on one. The only woman really close to him is Scarlett who is either a sister or a fraternal friend and housemate. However Charles's latest interest is in a visiting American, Carrie (Andie MacDowell) who seems to be going to the same weddings. Charles finds Carrie very attractive--and is often tongue-tied in her presence--and almost would be willing to commit to her. The two exchange intimacies of various kinds but neither can really decide to marry the other.
This film is a portrait of Charles and as with many painted portraits, most of the interest is in the background. Charles's friends may well have more interesting stories to tell than Charles does. The film lets you do some jigsaw puzzle work to piece together the stories of some of the friends. The script was written by Richard Curtis, one of the founding forces of British TV's "Black Adder" series. Here his writing combines the slapstick of that show's style with more subtle personal drama. Everybody's worst nightmares about just what could go wrong at a wedding combine with visual gags, dialogue gags, and even subtitle gags. Hugh Grant is boyish and pleasant enough but not always believable as Charles. He is the current holder of the Anthony Hopkins Ubiquity Award for simultaneously being in this film, in SIRENS, and in Roman Polanski's BITTER MOON. (Of course some of us will remember him best as a gay Cantabrigian in MAURICE or a kilted Scot in LAIR OF THE WHITE WORM.) Ironically, Andie MacDowell is central to the story without having much of a role except to look attractive. Scarlett, the sister or whatever, is actually a more intriguing role than is Carrie. But the plum role, of course, is Garath, whose boisterous love of life makes him the focal point of so much of the film.
This is a decidedly lightweight film but well made and one that has occasionally very funny gags. I would give it a +1 on the -4 to +4 scale.
Mark R. Leeper att!mtgzfs3!leeper<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Java Quick Starter (JQS), introduced in the Java SE 6 update 10 release, improves the initial startup time of Java applets and applications by periodically prefetching some of the most heavily used Java Runtime Environment files into memory (occupying no more than 20Mb of RAM). Later, when Java is launched, much less disk I/O is required and as a result, startup is much faster.
JQS is enabled by default in the Windows 2000 and Windows XP operating systems running on x86 (IA-32) or compatible hardware. It is turned off in Windows Vista because Windows Vista offers its own preloading mechanisms. When fully enabled, JQS runs as a Windows service called Java Quick Starter. The Task Manager shows a jqs.exe process.
The JQS service will perform runtime checks to determine if the
system is running on battery power. If so, prefetching will be
suspended until AC power is restored. This scenario is most common
on laptop PCs.


Zone Manager Version 2.0.6 Help
System Administration Commands zonemgr(1M)
NAME
zonemgr - set up and manage zones
SYNOPSIS
Normal usage:
zonemgr -a [options]
See proper usage:
zonemgr -h
Display the version:
zonemgr -v
Display the license:
zonemgr -l
DESCRIPTION
The purpose of zonemgr is to simplify Solaris 10 and
OpenSolaris zones management. There are many pre-defined
actions that can be applied to one or more zones
depending on the action.
OPTIONS
The following options are supported:
-a Specify the action to be performed
-n Specify the name of the zone
-h See this usage information
-l See the CDDL license
-v See the version number of this script
-f
Where the contents of the config_file
consists of normal command line arguments
with one flag/argument per line. Here is
the contents of a basic example config_file
example:
# zonemgr -f /data/m1_zone.cfg
The contents of /data/m1_zone.cfg are as follows:
<~-- File Begins Here ~-->
-a add
-n m1
-z "/zones"
-P "abc123"
-I "<IP_ADDRESS>|hme0|24|m1"
<~-- File Ends Here ~-->
ACTIONS
Actions which can result in data loss or can significantly
alter the server configuration will require authorization.
To confirm all such changes, you may use the -F flag to
answer yes to all such authorizations.
The following actions are supported:
info [-n ]
The "info" action displays configuration information
about one or more zones. If a zone name is not
provided, the info action displays the full
configuration for all non-global zones.
resinfo [-n ]
The "resinfo" action displays all resource management
configuration information about one or more zones. If
a zone name is not provided, the resinfo action
displays the resource management information for all
non-global zones.
add -n [add_options]
The "add" action adds a new non-global zone.
The following add_options are required:
-P ""
Unencrypted password of the root user
of this new non-global zone. The
password can either be specified in
a file or as a quoted string.
OR
-E ""
This is an alternate way from
-P of specifying the non-
global root users password via an
encrypted format. The encrypted
password can either be specified in
a file or as a quoted string. You
can copy and paste the users
password from /etc/shadow.
-z "||"
The zonepath is the subdirectory
below the zone root directory. For
example, specifying -z /myzones
would result in the following root
zone directory:
/myzones/
where is the name of
the zone you are creating.
If no zonepath is specified, the
default value of zonepath is /zones.
If the filesystem containing the
zonepath is a ZFS filesystem, a
new ZFS filesystem will be created
for the zone directory. If no
ZFS filesystem is specified in the
optional second pipe (|) delmited
field, the default value will be the
ZFS pool containing the root (/)
filesystem. In most cases this is
rpool. In this case, the ZFS
filesystem would be rpool/
Optionally, you may also specify
a semicolon (;) delimited list of ZFS
options in the third pipe (|) delimited
field as well. For example, the
following would create a ZFS filesystem
(rpool/z1) with the mountpoint of /z
and optional enables the gzip
compression algorithm and disables atime.
-z "/z|rpool/z1|compression=gzip;atime=off"
OR
-Z "||"
The zonedir is the zone root
directory. Specifying -Z /z1
will place the zone root directory
in /z1.
If no zonepath is specified, the
default value of zonepath is
/zones/
If the filesystem containing the
zonedir is a ZFS filesystem, a
new ZFS filesystem will be created
for the zone directory. If no
ZFS filesystem is specified in the
optional second pipe (|) delmited
field, the default value will be the
ZFS pool containing the root (/)
filesystem. In most cases this is
rpool. In this case, the ZFS
filesystem would be rpool/
Optionally, you may also specify
a semicolon (;) delimited list of ZFS
options in the third pipe (|) delimited
field as well. For example, the
following would create a ZFS filesystem
(rpool/z) with the mountpoint of /z,
enables the gzip compression algorithm
and disables atime.
-Z "/z|rpool/z|compression=gzip;atime=off"
The following add_options can be used as substitutes for
the required options:
The following optional add_options are supported:
-t Type of zone where w=Whole Root and
s=Sparse Root. A sparse root zone
inherits the following directories
from the global zone: /lib, /usr,
/sbin, and /platform. A whole root
zone does not inherit any directories
from the global zone. The default
value is sparse root (s).
OpenSolaris does not share the same
definitions of sparse and whole root
zones as Solaris 10. For OpenSolaris,
all zones whole root zones. Further,
the package set installed in a zone is
a significantly smaller subset of the
packages contained in the global zone.
This ensures that the zone is minimized
by default. Adding packages to
to OpenSolaris is significantly easier
though than it was for Solaris 10. More
on that feature through that feature
(-G "pkg|") later.
-I "||||[exclusive|default_router]"
IP Address of the non-global zone
plus the network interface for that
IP address, the netmask in CIDR
format, and the host name for that IP
address.
If not specified the default network
interface is the first non-loopback
interface listed by ifconfig. The
default netmask is the netmask that
corresponds to the IP address that
you specify. There is no default host
name.
If the word exclusive is optionally
added after the hostname, then all
network interfaces will be exclusive
to this zone. When the exclusive
option is invoked, it must be included
with each interface and, a default
router must be supplied for each
interface even if it is the same
default router for all interfaces.
Note that a zone can be created
without a network address.
-D "" DNS Domain Name. If a domain is
specified, then dns name servers must
also be specified.
Note also that the fully qualified host
name of the non-global zone must be
resolvable by the naming service.
-d ";;.."
Semicolon delimited ordered list of DNS
Name Servers. If domain name servers
are specified the domain name must also
be specified as well.
Note also that the fully qualified host
name of the non-global zone must be
resolvable by the naming service.
-r ""
or
-r "|"
or
-r "|"
Mount a directory or device from the global
zone into the non-global zone in readonly
mode. The inputs vary according to the type.
Note that for all filesystems but the
lofi/lofs filesystem, the device is mounted
for exclusive use of the non-global zone.
However, the root user in the global zone can
access the contents of the mounted filesystem
because the root mount point of the non-global
zone is accessible as a directory in the
global zone.
type = lofi or lofs
For this filesystem type, you are read-
only mounting a directory or device from
the global zone into a non-global zone
through the loopback device.
= Global zone directory
= Non-global zone directory
(mount point)
= Semicolon separated mount
options (ro is implied)
type = zfs
For this filesystem type, you are
read-only mounting an existing ZFS
filesystem from the global zone into
the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (ro is implied)
type = newzfs
For this filesystem type, you are
creating a new zfs filesystem in the
global zone and read-only mounting it
into the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (ro is implied)
type = zvol
For this filesystem type, you are making
an existing ZFS volume from the global
zone available within a non-global zone
in read-only mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (ro is implied)
type = newzvol
For this filesystem type, you are making
a new ZFS volume in the global zone and
then making that new ZFS volume
available within a non-global zone
in read-only mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (ro is implied)
type = ufs
For this filesystem type, you are read-
only mounting an existing UFS filesystem
from the global zone into the non-global
zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (ro is
implied)
type = pcfs
For this filesystem type, you are read-
only mounting an existing PCFS (DOS/VFAT)
filesystem from the global zone into the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (ro is
implied)
type = newpcfs
For this filesystem type, you are creating
a new read-only pcfs (DOS/VFAT) filesystem
in the global zone and mounting it in the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (ro is
implied)
type = hsfs
For this filesystem type, you are either
read-only mounting an existing HSFS
(CD-ROM/DVD-ROM) filesystem or creating
a new HSFS filesystem to be mounted in
read-only mode.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (ro is
implied)
-w ""
or
-w "|"
or
-w "|"
Mount a directory or device from the global
zone into the non-global zone in read/write
mode. The usage for each option varies
according to the type. Note that for all
filesystems but the lofi/lofs filesystem,
the device is mounted for exclusive use of
the non-global zone. However, the root
user in the global zone can access the
contents of the mounted filesystem because
the root mount point of the non-global zone
is accessible as a directory in the global
zone.
type = lofi or lofs
For this filesystem type, you are read-
write mounting a directory or device from
the global zone into a non-global zone
through the loopback device.
= Global zone directory
= Non-global zone directory
(mount point)
= Semicolon separated mount
options (rw is implied)
type = zfs
For this filesystem type, you are
read-write mounting an existing ZFS
filesystem from the global zone into
the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (rw is implied)
type = newzfs
For this filesystem type, you are
creating a new zfs filesystem in the
global zone and read-write mounting it
into the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (rw is implied)
type = zvol
For this filesystem type, you are making
an existing ZFS volume from the global
zone available within a non-global zone
in read-write mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (rw is implied)
type = newzvol
For this filesystem type, you are making
a new ZFS volume in the global zone and
then making that new ZFS volume
available within a non-global zone
in read-write mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (rw is implied)
type = dset
For this type, you are making a ZFS dataset
from the global zone accessible and
manageable from within the non-global zone.
= The ZFS filesystem
type = newdset
For this type, you are creating a new ZFS
filesystem in the global zone and making
that ZFS filesystem accessible and
manageable from within the non-global zone.
= The ZFS filesystem
type = ufs
For this filesystem type, you are read-
write mounting an existing UFS filesystem
from the global zone into the non-global
zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
type = pcfs
For this filesystem type, you are read-
write mounting an existing PCFS (DOS/VFAT)
filesystem from the global zone into the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
type = newpcfs
For this filesystem type, you are creating
a new read-write pcfs (DOS/VFAT) filesystem
in the global zone and mounting it in the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
-B "||[[image:]]"
Make the zone into a branded zone where
is the brand name, , is
the brand subset, and [[image:]] is the path
and file name of the brand archive. If
a media drive is being used, [[image:]] is
the path to the mounted media. e.g.
/cdrom/cdrom0
Available brands include Linux, Solaris
8 Containers, and Solaris 9 Containers.
-R "||"
This flag enables you to customize the
super user's (root) home directory
(), and optinally can
enable root login over ssh ()
which is disabled (off) by default.
-C "|"
or
-C "||"
This flag gives you the ability to copy
data from the global zone () to
the non-global zone ().
There are two phases of zone boot process
in which you can copy data into the non-
global. The first and default phase
(
{{{
) is before the zone boots for the
first time. The second phase ()
is after the zone complets its last
boot of the zone creation process.
Data copied from the global zone can be
a file or directory. All data will be
recursively copied from the global zone
into the non-global zone.
Note that filesystems specified with -r
and -w will not be created until after
the zone has completed its first boot.
Thus do not expect that pre-boot copies
will go into a filesystem that you have
specified with the -r or -w options.
-s "|"
This feature hardens the non-global
zone by disabling (or enabling)
un-necessary operating system
services of the non-global zone
according to the method specified.
Hardening methods and corresponding
arguments are as follows:
Secure by default:
Method: netservices or sbd
Arguments:
limited - Eliminate un-necessary services
open - Enable standard services
Service Management Facility Site
Profile:
Method: smf
Argument: /
JumpStart Architecture and Security
Scripts (aka Solaris Security
Toolkit):
Method: jass
Argument:
Basic service management:
Method: basic or enable or disable or lock or unlock
Argument: One of the following:
disable
lock
enable
unlock
disable|
lock|
enable|
unlock|
-S "" Restart specified service after
adding zone. A special case is
"reboot" to restart all services in
the zone.
-M [basic|] Minimize the non-global zone by
either excluding or removing un-
necessary packages. The optional
is a file containing a list
of packages that you would like
removed from the zone. If no
is specified, the following
categories will be removed with
pkgrm -Y :
JDS4 JDS3 JDS JDSosol GNOME2 CTL
ALE APOC CTL EVO146 G11NTOLS GLOW
JAI JAVAAPPS JDIC
Note that this option does not apply
to OpenSolaris because non-global
zones are minimized by default.
-X " "
Runs inside the non-global
zone once the zone is successfully
created. Note that you may need to
include the full path to the command
as well. And you can pass
(arguments) to the command if you
include them in the quoted the
command.
Note that the most common way to make
executables accessible to the zone is
to read-only (-r) or read-write (-w)
mount a directory from the global zone
into the non-global zone.
-G ""
or
-G "|"
This option provides automated
installation of remote packages
according to the respository type.
Repository = Blastwave(TM)
Type = csw
Args: or "csw|"
Solaris Example 1: top
Solaris Example 2: "csw|top"
OpenSolaris Example: "csw|IPSFWtop"
OpenSolaris IPS Repository:
http://blastwave.network.com:10000
Repository = SunFreeware.com(TM)
Type = sfw
Args for Solaris: "sfw|"
Args for OpenSolaris: "sfw|"
Solaris Example:
"sfw|ftp://ftp.sunfreeware.com/pub/freeware/intel/10/top-3.6.1-sol10-x86-local.gz"
OpenSolaris Example: "sfw|top"
OpenSolaris IPS Repository:
http://pkg.sunfreeware.com:9000
Repository = OpenSolaris.org
Type = pkg
Args: "pkg|"
Example: "pkg|SUNWtop"
OpenSolaris IPS Repository:
http://pkg.opensolaris.org/release
-L "[,,...]"
Specifies the limit set for privileges
allowed in this zone. See manual page
privileges for more info and list of
available privileges.
del -n [-F]
The del action deletes an existing zone
The "del" action supports the following optional option:
-F Don't confirm an action; Just do it.
modify -n
The "modify" action enables you to add, modify and delete
select zone properties. Zone properties that can be modified
include the following:
Modify the zone name:
-m "zonename:"
Modify the comment that describes the zone:
-m "comment:"
Modify the autoboot value. The autoboot property determines
whether or not the zone will boot when the global zone is
booted.
-m "autoboot:"
Modify the boot arguments of the zone:
-m "bootargs:"
Modify an existing filesystem (fs) property:
-m "fs:|:"
Where net resource types include the following:
dir - Global zone directory
special - Non-global zone directory
options - Filesystem mount options
Modify an existing network property:
-m "net:|:"
Where net resource types include the following:
address - Network address and netmask in CIDR format
physical - The network interface
Modify a resource management property:
-m "||"
Where action include the following:
add - Add a resource
del - Delete a resource
mod - Modify a resource
move - Move a resource from the existing zone to
another zone on the same system. When
using this action, you must also supply
the source zone name with the -y
parameter.
Where resource types include the following:
cpu - A CPU resource cap
dcpu - A dedicated CPU resource
ram - A memory resource cap
dram - A locked memory resource
swap - A virtual memory resource cap
Where the resource_arg is either a fixed number, a
range, or a scaled amount. The types for each
resource type are listed below:
For cpu and dcpu resource times, the resource_arg
is either a fixed number or a range of CPUs.
For ram, dram or swap resource, the resource_arg
is the amount and scale where the scale is
represnted by K, M, G, or T. For example, 1M is
one megabyte.
Zone properties that can be removed include the following:
Remove a filesystem from the zone configuration:
-m "del:fs:"
Remove a ZFS volume from the zone configuration:
-m "del:zvol:"
Remove a ZFS dataset from the zone configuration:
-m "del:dset:"
Remove a network interface from the zone configuration:
-m "del:net:"
In addition to modifying and deleting existing properties,
you can also add a few types of properties. The arguments
used to add these properties are listed below.
-I "||||[exclusive|default_router]"
IP Address of the non-global zone
plus the network interface for that
IP address, the netmask in CIDR
format, and the host name for that IP
address.
If not specified the default network
interface is the first non-loopback
interface listed by ifconfig. The
default netmask is the netmask that
corresponds to the IP address that
you specify. There is no default host
name.
If the word exclusive is optionally
added after the hostname, then all
network interfaces will be exclusive
to this zone. When the exclusive
option is invoked, it must be included
with each interface and, a default
router must be supplied for each
interface even if it is the same
default router for all interfaces.
Note that a zone can be created
without a network address.
-r ""
or
-r "|"
or
-r "|"
Mount a directory or device from the global
zone into the non-global zone in readonly
mode. The inputs vary according to the type.
Note that for all filesystems but the
lofi/lofs filesystem, the device is mounted
for exclusive use of the non-global zone.
However, the root user in the global zone can
access the contents of the mounted filesystem
because the root mount point of the non-global
zone is accessible as a directory in the
global zone.
type = lofi or lofs
For this filesystem type, you are read-
only mounting a directory or device from
the global zone into a non-global zone
through the loopback device.
= Global zone directory
= Non-global zone directory
(mount point)
= Semicolon separated mount
options (ro is implied)
type = zfs
For this filesystem type, you are
read-only mounting an existing ZFS
filesystem from the global zone into
the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (ro is implied)
type = newzfs
For this filesystem type, you are
creating a new zfs filesystem in the
global zone and read-only mounting it
into the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (ro is implied)
type = zvol
For this filesystem type, you are making
an existing ZFS volume from the global
zone available within a non-global zone
in read-only mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (ro is implied)
type = newzvol
For this filesystem type, you are making
a new ZFS volume in the global zone and
then making that new ZFS volume
available within a non-global zone
in read-only mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (ro is implied)
type = ufs
For this filesystem type, you are read-
only mounting an existing UFS filesystem
from the global zone into the non-global
zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (ro is
implied)
type = pcfs
For this filesystem type, you are read-
only mounting an existing PCFS (DOS/VFAT)
filesystem from the global zone into the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (ro is
implied)
type = newpcfs
For this filesystem type, you are creating
a new read-only pcfs (DOS/VFAT) filesystem
in the global zone and mounting it in the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (ro is
implied)
type = hsfs
For this filesystem type, you are either
read-only mounting an existing HSFS
(CD-ROM/DVD-ROM) filesystem or creating
a new HSFS filesystem to be mounted in
read-only mode.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (ro is
implied)
-w ""
or
-w "|"
or
-w "|"
Mount a directory or device from the global
zone into the non-global zone in read/write
mode. The usage for each option varies
according to the type. Note that for all
filesystems but the lofi/lofs filesystem,
the device is mounted for exclusive use of
the non-global zone. However, the root
user in the global zone can access the
contents of the mounted filesystem because
the root mount point of the non-global zone
is accessible as a directory in the global
zone.
type = lofi or lofs
For this filesystem type, you are read-
write mounting a directory or device from
the global zone into a non-global zone
through the loopback device.
= Global zone directory
= Non-global zone directory
(mount point)
= Semicolon separated mount
options (rw is implied)
type = zfs
For this filesystem type, you are
read-write mounting an existing ZFS
filesystem from the global zone into
the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (rw is implied)
type = newzfs
For this filesystem type, you are
creating a new zfs filesystem in the
global zone and read-write mounting it
into the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (rw is implied)
type = zvol
For this filesystem type, you are making
an existing ZFS volume from the global
zone available within a non-global zone
in read-write mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (rw is implied)
type = newzvol
For this filesystem type, you are making
a new ZFS volume in the global zone and
then making that new ZFS volume
available within a non-global zone
in read-write mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (rw is implied)
type = dset
For this type, you are making a ZFS dataset
from the global zone accessible and
manageable from within the non-global zone.
= The ZFS filesystem
type = newdset
For this type, you are creating a new ZFS
filesystem in the global zone and making
that ZFS filesystem accessible and
manageable from within the non-global zone.
= The ZFS filesystem
type = ufs
For this filesystem type, you are read-
write mounting an existing UFS filesystem
from the global zone into the non-global
zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
type = pcfs
For this filesystem type, you are read-
write mounting an existing PCFS (DOS/VFAT)
filesystem from the global zone into the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
type = newpcfs
For this filesystem type, you are creating
a new read-write pcfs (DOS/VFAT) filesystem
in the global zone and mounting it in the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
-C "|"
or
-C "||"
This flag gives you the ability to copy
data from the global zone () to
the non-global zone ().
There are two phases of zone boot process
in which you can copy data into the non-
global. The first and default phase
(
{{{
) is before the zone boots for the
first time. The second phase ()
is after the zone complets its last
boot of the zone creation process.
Data copied from the global zone can be
a file or directory. All data will be
recursively copied from the global zone
into the non-global zone.
Note that filesystems specified with -r
and -w will not be created until after
the zone has completed its first boot.
Thus do not expect that pre-boot copies
will go into a filesystem that you have
specified with the -r or -w options.
-s "|"
This feature hardens the non-global
zone by disabling (or enabling)
un-necessary operating system
services of the non-global zone
according to the method specified.
Hardening methods and corresponding
arguments are as follows:
Secure by default:
Method: netservices or sbd
Arguments:
limited - Eliminate un-necessary services
open - Enable standard services
Service Management Facility Site
Profile:
Method: smf
Argument: /
JumpStart Architecture and Security
Scripts (aka Solaris Security
Toolkit):
Method: jass
Argument:
Basic service management:
Method: basic or enable or disable or lock or unlock
Argument: One of the following:
disable
lock
enable
unlock
disable|
lock|
enable|
unlock|
-M [basic|] Minimize the non-global zone by
either excluding or removing un-
necessary packages. The optional
is a file containing a list
of packages that you would like
removed from the zone. If no
is specified, the following
categories will be removed with
pkgrm -Y :
JDS4 JDS3 JDS JDSosol GNOME2 CTL
ALE APOC CTL EVO146 G11NTOLS GLOW
JAI JAVAAPPS JDIC
Note that this option does not apply
to OpenSolaris because non-global
zones are minimized by default.
-X " "
Runs inside the non-global
zone once the zone is successfully
created. Note that you may need to
include the full path to the command
as well. And you can pass
(arguments) to the command if you
include them in the quoted the
command.
Note that the most common way to make
executables accessible to the zone is
to read-only (-r) or read-write (-w)
mount a directory from the global zone
into the non-global zone.
-G ""
or
-G "|"
This option provides automated
installation of remote packages
according to the respository type.
Repository = Blastwave(TM)
Type = csw
Args: or "csw|"
Solaris Example 1: top
Solaris Example 2: "csw|top"
OpenSolaris Example: "csw|IPSFWtop"
OpenSolaris IPS Repository:
http://blastwave.network.com:10000
Repository = SunFreeware.com(TM)
Type = sfw
Args for Solaris: "sfw|"
Args for OpenSolaris: "sfw|"
Solaris Example:
"sfw|ftp://ftp.sunfreeware.com/pub/freeware/intel/10/top-3.6.1-sol10-x86-local.gz"
OpenSolaris Example: "sfw|top"
OpenSolaris IPS Repository:
http://pkg.sunfreeware.com:9000
Repository = OpenSolaris.org
Type = pkg
Args: "pkg|"
Example: "pkg|SUNWtop"
OpenSolaris IPS Repository:
http://pkg.opensolaris.org/release
list
The "list" action lists all current zones
clone -n -y [clone_options]
The "clone" action clones an existing zone into a
new zone. The new zone can be tailored via the
optional arguments used when creating a new zone.
The "clone" action supports the following required
options:
The following clone_options are required:
-P ""
Unencrypted password of the root user
of this new non-global zone. The
password can either be specified in
a file or as a quoted string.
OR
-E ""
This is an alternate way from
-P of specifying the non-
global root users password via an
encrypted format. The encrypted
password can either be specified in
a file or as a quoted string. You
can copy and paste the users
password from /etc/shadow.
-z "||"
The zonepath is the subdirectory
below the zone root directory. For
example, specifying -z /myzones
would result in the following root
zone directory:
/myzones/
where is the name of
the zone you are creating.
If no zonepath is specified, the
default value of zonepath is /zones.
If the filesystem containing the
zonepath is a ZFS filesystem, a
new ZFS filesystem will be created
for the zone directory. If no
ZFS filesystem is specified in the
optional second pipe (|) delmited
field, the default value will be the
ZFS pool containing the root (/)
filesystem. In most cases this is
rpool. In this case, the ZFS
filesystem would be rpool/
Optionally, you may also specify
a semicolon (;) delimited list of ZFS
options in the third pipe (|) delimited
field as well. For example, the
following would create a ZFS filesystem
(rpool/z1) with the mountpoint of /z
and optional enables the gzip
compression algorithm and disables atime.
-z "/z|rpool/z1|compression=gzip;atime=off"
OR
-Z "||"
The zonedir is the zone root
directory. Specifying -Z /z1
will place the zone root directory
in /z1.
If no zonepath is specified, the
default value of zonepath is
/zones/
If the filesystem containing the
zonedir is a ZFS filesystem, a
new ZFS filesystem will be created
for the zone directory. If no
ZFS filesystem is specified in the
optional second pipe (|) delmited
field, the default value will be the
ZFS pool containing the root (/)
filesystem. In most cases this is
rpool. In this case, the ZFS
filesystem would be rpool/
Optionally, you may also specify
a semicolon (;) delimited list of ZFS
options in the third pipe (|) delimited
field as well. For example, the
following would create a ZFS filesystem
(rpool/z) with the mountpoint of /z,
enables the gzip compression algorithm
and disables atime.
-Z "/z|rpool/z|compression=gzip;atime=off"
The following optional clone_options are supported:
-F Don't confirm an action; Just do it.
-t Type of zone where w=Whole Root and
s=Sparse [default: s]
-d ",,.."
Ordered list of DNS Name Servers
-D "" DNS Domain Name
-A Disable autoboot (prevent zone from
booting when the server reboots).
-w ""
or
-w "|"
or
-w "|"
Mount a directory or device from the global
zone into the non-global zone in read/write
mode. The usage for each option varies
according to the type. Note that for all
filesystems but the lofi/lofs filesystem,
the device is mounted for exclusive use of
the non-global zone. However, the root
user in the global zone can access the
contents of the mounted filesystem because
the root mount point of the non-global zone
is accessible as a directory in the global
zone.
type = lofi or lofs
For this filesystem type, you are read-
write mounting a directory or device from
the global zone into a non-global zone
through the loopback device.
= Global zone directory
= Non-global zone directory
(mount point)
= Semicolon separated mount
options (rw is implied)
type = zfs
For this filesystem type, you are
read-write mounting an existing ZFS
filesystem from the global zone into
the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (rw is implied)
type = newzfs
For this filesystem type, you are
creating a new zfs filesystem in the
global zone and read-write mounting it
into the non-global zone.
= The ZFS filesystem
= Non-global zone directory
(mount point)
= Semicolon separated zfs
options (rw is implied)
type = zvol
For this filesystem type, you are making
an existing ZFS volume from the global
zone available within a non-global zone
in read-write mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (rw is implied)
type = newzvol
For this filesystem type, you are making
a new ZFS volume in the global zone and
then making that new ZFS volume
available within a non-global zone
in read-write mode.
= The ZFS filesystem
= Size
= Semicolon separated zfs
options (rw is implied)
type = dset
For this type, you are making a ZFS dataset
from the global zone accessible and
manageable from within the non-global zone.
= The ZFS filesystem
type = newdset
For this type, you are creating a new ZFS
filesystem in the global zone and making
that ZFS filesystem accessible and
manageable from within the non-global zone.
= The ZFS filesystem
type = ufs
For this filesystem type, you are read-
write mounting an existing UFS filesystem
from the global zone into the non-global
zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
type = pcfs
For this filesystem type, you are read-
write mounting an existing PCFS (DOS/VFAT)
filesystem from the global zone into the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
type = newpcfs
For this filesystem type, you are creating
a new read-write pcfs (DOS/VFAT) filesystem
in the global zone and mounting it in the
non-global zone.
= Raw device /dev/rdsk/
or device
= Non-global zone directory
(mount point)
= Mount options (rw is
implied)
-p "|"
Resource allocated to this zone. Note
that although all of the following resource
types can be applied to a zone, only one
of each type can be specified per zone.
Resources are deleted by specifying a value
of 0 for the .
resource = cpu
The cpu resource type specifies the upper
limit (cap) by number (or range) of CPUs
for this zone.
Valid arguments for this resource type
include the following:
Maximum number: 3
Range: 2-4
Note that a zone cannot be assigned capped
and dedicated CPU resources at the same
time. You can use one or the other.
resource = dcpu
The dcpu resource type specifies the fixed
number (or range) of CPUs to dedicate to
this zone.
Valid arguments for this resource type
include the following:
Maximum number: 3
Range: 2-4
Note that a zone cannot be assigned capped
and dedicated CPU resources at the same
time. You can use one or the other.
resource = ram
The ram resource type specifies the maximum
amount of memory (e.g. RAM) that this zone
can consume.
Valid arguments for this resource type
specify the amount and scale of memory where
the scale is represnted by K (kilobyte),
M (megabyte), G (gigabyte), or T (terabyte).
For example, 1M is one megabyte.
resource = dram
The dram resource type specifies the specific
amount of memory (e.g. RAM) that is dedicated
to this zone.
Valid arguments for this resource type
specify the amount and scale of memory where
the scale is represnted by K (kilobyte),
M (megabyte), G (gigabyte), or T (terabyte).
For example, 1M is one megabyte.
resource = swap
The swap resource type specifies the maximum
amount of virtual memory (e.g. swap) that
this zone can consume.
Valid arguments for this resource type
specify the amount and scale of memory where
the scale is represnted by K (kilobyte),
M (megabyte), G (gigabyte), or T (terabyte).
For example, 1M is one megabyte.
move -n -Z [-F]
The "move" action moves an existing zone from its current
directory to a new directory.
The "move" action supports the following required
options:
The following options are required:
-Z "" New directory for this zone.
detach -n [-F]
The "detach" action detaches a zone so that it can be
attached to a different server.
The "detach" action supports the following required
options:
The following options are required:
-F Don't confirm an action; Just do it.
attach -n [-F]
The "attach" action attaches a detached zone.
The "attach" action supports the following required
options:
The following options are required:
-F Don't confirm an action; Just do it.
shutdown -n [-F]
The "shutdown" action shuts down a zone.
The "shutdown" action supports the following optional
option:
-F Don't confirm an action; Just do it.
boot -n
The "boot" action boots a zone.
The "boot" action supports the following optional
option:
-F Don't confirm an action; Just do it.
reboot -n [-F]
The "reboot" action reboots a zone.
The "reboot" action supports the following optional
option:
-F Don't confirm an action; Just do it.
halt -n [-F]
The "halt" action halts a zone.
The "halt" action supports the following optional
option:
-F Don't confirm an action; Just do it.
only -n [-F]
The "only" action halts all non-global zones but those
specified by -n " " and boot any of
these specified zones that are not currently running.
There are two zone name special cases.
bootall
This zone name makes sure all non-global zones
are booted.
haltall
This zone name makes sure all zones are halted.
The "only" action supports the following optional
option:
-F Don't confirm an action; Just do it.
runcmd -n -X "" [-F]
The "runcmd" action runs commands specified with the
-X "" flags in all non-global zones
specified by -n ";;" flag.
There is one zone name special case.
all
This zone name runs the specified commands on
all non-global zones.
The following options are required:
-n ";;..."
Specify the name of the zones
-X Runs inside the non-global
command once it is successfully
created. Note that you may need to
include the full path to the command
as well.
The "runcmd" action supports the following optional
option:
-F Don't confirm an action; Just do it.
EXAMPLES
Example 1: Create A Zone
The following command will create a non-global zone named
m1.
# zonemgr -a add -n m1 -P "abc123" \
-I "<IP_ADDRESS>|hme0|24|m1"
Example 2: Create A Zone With Custom ZFS Root Zone Directory
If the root filesystem (mount point = /) is a ZFS filesystem,
the Zone Manager will need to create a ZFS filesystem to serve
as the root zone directory. Since the zone root directory is
a ZFS filesystem, you can specify a specifi zpool in which to
create the filesystem as well as customize attributes of that
filesystem. Further, all options set for the ZFS based zone
root directory will be inherited by all ZFS filesystems below
the zone root directory. For example, the following command
will
1. create the zone m1
2. with a ZFS filesystem (zdata/m1) as the zone root directory
3. with a global zone mountpoint of /zones/m1
4. in the "zdata" ZFS pool,
5. and it will enable gzip compression of the zdata/m1 ZFS
filesystem
6. and the recordsize to 8k of the zdata/m1 ZFS filesystem
# zonemgr -a add -n m1 -P "abc123" \
-Z "/zones/m1|zdata/m1|compression=gzip;recordsize=8k"
Note that for the -z and -Z flags, that the ZFS filesystem
(the second pipe delimited field) is the ZFS filesystem that
will be used for the zone root directory and not as the base
plus the zone name. In other words, we are creating a zone
named m2 and have specified -z zdata, the resulting ZFS
filesystem will be just zdata and not be zdata/m2. This is a
very important distinction because -z flag appends the zone
name to the end of the base directory specified by the -z
flag but does not do so for the ZFS filesystem. The reason
for this decision is because some customers needed to
specify the ZFS filesystem independently of the zone name.
Example 3: Delete A Zone
The following command will delete the non-global zone named
m1 and it will not be prompted to continue because the
action is forced with the -F flag.
# zonemgr -F -a del -n m1
Example 4: Create A Zone With Multiple IP Addresses
The following command will create a non-global zone named
m1 with three IP addresses where each IP address is configured
on its own network interface. Note that the third option has
specified that it will exclusively use the bge1 network
interface. The other IP addresses are assigned to shared
network interfaces (hme0 and bge0).
# zonemgr -a add -n m1 -P "abc123" \
-I "<IP_ADDRESS>|hme0|24|m1" \
-I "<IP_ADDRESS>|bge0|24|m2" \
-I "<IP_ADDRESS>|bge1|24|m3|exclusive|<IP_ADDRESS>"
Example 5: A Complex Example
The following command will perform the details stated below.
# zonemgr -a add -n m2 -t w \
-P "abc123" -R /root \
-I "<IP_ADDRESS>|hme0|24|m2" \
-r "/ds/build11/bits|/bits" \
-w "/zones/m2|/ds/m2" \
-s "basic|lock" -S ssh \
-C /etc/ssh/sshd_config \
-L "default;dtrace_proc;dtrace_user"
1. Create a whole root zone named m2 in /zones/m2.
2. Set the root password of that zone to abc123.
3. Set the home directory of the root user of the non-global
zone to /root.
4. Set the IP address of the zone to <IP_ADDRESS>, the
netmask to <IP_ADDRESS>, assign it to interface hme0, and
assign it a host name of m2.
5. Read only mount /ds/build11/bits from the global zone to
/bits in the non-global zone.
6. Read write mount /zones/m2 from the global zone to /ds/m2
in the non-global zone.
7. Disable all un-necessary services in the non-global zone
and restart the ssh service once the lockdown is complete.
8. Copy the /etc/ssh/sshd_config, /etc/resolv.conf, and
/etc/nsswitch.conf files from the global zone to the
non-global zone. The resolv.conf and nsswitch.conf are
copied for convenience only if they are present in the
global zone.
9. Add the dtrace_proc and dtrace_user privileges to the
non-global zone
Example 6: List All Zones
The following command will list all available zones.
# zonemgr -a list
Example 7: Reboot A Zone
The following command will reboot non-global zone m1.
# zonemgr -a reboot -n m1
Example 8: Disable Un-necessary Services
The following command will disable all un-necessary services
of non-global zone m1.
# zonemgr -a modify -n m1 -s "basic|lock"
Example 9: Enable Un-necessary Services
The following command will enable all un-necessary services
of non-global zone m1.
# zonemgr -a modify -n m1 -s "basic|unlock"
Example 10: Manage State Of Multiple Zones
The following command will halt all non-global zones but
those specified by the -n parameter and will boot any of the
specified zones that are not currently running.
# zonemgr -a only -n "m1;m2"
Example 11: Halt All Zones
The following command will halt all non-global zones.
# zonemgr -a only -n "haltall"
Example 12: Boot All Zones
The following command will boot all non-global zones.
# zonemgr -a only -n "bootall"
Example 13: Creating A BrandZ (e.g. Linux) Zone
The following command will add a BrandZ zone
# zonemgr -a add -n m1 -P "abc123" \
-I "<IP_ADDRESS>|hme0|24|m1" \
-B "SUNWlx|all|/data/brandz/centos_fs_image.tar"
The parameters passed to -B break down as follows:
* SUNWlx: The zone brand (only lx is currently supported)
* On opensolaris ipkg is the default brand. Do not specify
ipkg it will be installed by default on opensolaris.
* all: The brand subset to install. Valid values include
desktop, applications, server, development, system,
and all. I don't yet have an idea as to how this
option will impact other distributions that folks come
up with. These options may or may not be valid. TBD.
* /data/brandz/centos_fs_image.tar: The path to the
brand bits. I simply pointed them to the BrandZ
community's CentOS image.
Example 14: Create A Zone AND Install MySQL5 From BlastWave
The following command will add a zone named m1, download and
install mysql5 and all requisite bits from Blastwave.org,
and install all those bits in the proper order in the m1
zone.
# zonemgr -a add -n m1 -P "abc123" \
-I "<IP_ADDRESS>|hme0|24|m1" -G "mysql5"
Example 15: Add A ZFS Filesystem To An Existing Zone
The following command will create a legacy mode ZFS
filesystem from the myzfspool pool, set the ZFS mount
point to /zfsdata, and mount that filesystem exclusively
within the m1 zone.
# zonemgr -a modify -n m1 -w "zfs|/zfsdata|zpool/m1data"
Example 16: Move A Zone
The following command will move a zone to a new directory.
# zonemgr -a move -n m1 -Z /zones/newm1
Example 17: Detach And Attach A Zone
The following two commands will detach a zone and then
re-attach it.
# zonemgr -a detach -n m1 -F
# zonemgr -a attach -n m1 -F
Example 18: Clone A Zone
The following command will move a zone to a new directory.
# zonemgr -a clone -n m1 -y m1clone -Z /zones/m1clone \
-P "pw"
Example 19: Apply CPU Containment To A Zone
The following command will put a zone into a CPU processor
set that will limit all process of the zone to running on
the specified number of CPUs.
# zonemgr -a modify -n m1 -p "cpu|1"
Example 20: Apply Memory Containment To A Zone
The following command will dedicate 1G of physical memory
to a zone.
# zonemgr -a modify -n m1 -p "dram|1g"
NOTES
Note that most parameters are multivalued. In other words,
you can specify the same parameter multiple times. For
example, to mount the /data1 and /data2 directories in read
only mode from the global zone to the non-global zone, add
the following to the add action:
-r "/data1" -r "/data2"
EXIT STATUS
The following exit values are returned:
0 Successful completion.
1 An error occurred.
2 Invalid usage.
SEE ALSO
svcs(1), zlogin(1), zonename(1), svcadm(1M), svc.startd(1M)
and init(1M), svc.startd(1M), zoneadm(1M), zonecfg(1M),
attributes(5), smf(5), zones(5)
}}}
}}}


TABLE OF INTERACTIONS WITH
MITOMYCIN C
See also: cytotoxics
From the French ANSM drug interactions document of September 2016, p. 160
MITOMYCIN C RxNorm: 632 ATC: L01DC03 |
VINCA ALKALOIDS CLASS CODE: L01CA |
Risk of increase of the pulmonary toxicity of the mitomycin and of the vinca-alkaloids |
Take into account |


--- layout: post status: publish published: true title: Mark DeRosa's Blog author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>excerpt: 'It was mentioned quite during the Cubs playoff games last year that Mark DeRosa has a blog. I''ve recently re-discovered it ' wordpress_id: 77 wordpress_url: http://ivyenvy.wordpress.com/?p=77 date: '2008-05-18 15:47:12 +0000' date_gmt: '2008-05-18 15:47:12 +0000' categories: - The Cubs tags: - Blog - Mark Derosa comments: [] ---
It was mentioned quite during the Cubs playoff games last year that Mark DeRosa has a blog. I've recently re-discovered it and it's worth the read. When I find the time, I'll put up some links to other Cubs blogs. Until then, check this one out:


My name is Arielle Blum, I am a faculty instructor with the College of Engineering and Applied Sciences at the University of Colorado, Boulder. I have been teaching here at CU for 3 years, and I am the faculty adviser for the CU Quadcopter Club. I completed both a BS and MS in Electrical Engineering. I am interested in machine learning, soft robotics, and I make synthesizers in my spare time.
Aileen has been an instructor for the ATLAS Technology, Arts, and Media program at CU Boulder since 2004. Aileen teaches courses focusing on mobile app and web development as well as the integration of programming into new media. (optional) Aileen holds a B.S. in Math/Computer Science from Carnegie-Mellon University. She spent nine years in Silicon Valley working at Oracle and two startups in product marketing and technical support before moving to Boulder.


Soccer Match Outcome Prediction
Probable Winner Team is : {{text}}
{{blehh}}
Click here for more info
Select Home Team and Away Team
Select Home Team:
Man United
Chelsea
Coventry
Derby
Leeds
Leicester
Liverpool
Sunderland
Tottenham
Charlton
Arsenal
Bradford
Ipswich
Middlesbrough
Everton
Man City
Newcastle
Southampton
West Ham
Aston Villa
Select Away Team:
Liverpool
Chelsea
Coventry
Derby
Leeds
Leicester
Charlton
Sunderland
Tottenham
Man United
Arsenal
Bradford
Ipswich
Middlesbrough
Everton
Man City
Newcastle
Southampton
West Ham
Aston Villa
{{ text }}
hello hello


--- layout: post title: Illustrations of encapsulation violation (-ation, -ation, ...) published: 1 category: - Programming ---
Dave Astels recently wrote about encapsulation violation. It's a helpful reminder of some OO basics that are all too easy to forget, especially for those of us who came from a procedural programming background.
In my early career, I had the notion of encapsulation explained to me a couple of ways that really stuck:
1) If you want to borrow five dollars from me, you don't grab my pocket with my wallet, extract the wallet from it, open the wallet, start leafing through the bills until you find five dollars, extract the five dollars, put the wallet back in my pocket, and say "Thanks." You just ask me, "Can I borrow five dollars?" I'll do the rest -- I'll even track the IOU. (Thanks, Darryl.)
2) If you want to know what I had for breakfast this morning, you don't cut my stomach open, scrape a sample of not-completely-digested food, gastric juices and all, and perform a spectroscopic analysis on it to determine the chemical content and probable original food form (and then, hopefully, sew me back up). You just ask me, "What did you have for breakfast this morning?" I promise to be honest. (Thanks, Brett.)


This is a sample seed project for the Ionic Framework. Please cut it up and make it your own. Check out the docs for more info.
Questions? Hit up the forum.
Find a bug? Create an issue.
What to help improve Ionic? Contribute.
Stay up-to-date with the Ionic newsletter and twitter account.
MIT Licensed. Happy coding.


A bachelor project in Media Technology where the task were to use Wikipedias existing API and visualize information in a time and place related view on a webpage. The final product was made using HTML, CSS and JavaScript. There were some standard libraries used such as three.js.
The instructions we got were the following (in Swedish):
Projekt H (Interaktiv visualisering och navigering av Wikipedia)
Målet med projektet är att utveckla en webbapplikation som visualiserar tid- och plats-information från Wikipedia-artiklar i länkade vyer och tillåter filtrering och navigering av dessa data. På så sätt kan användare se hur artiklar relateras i tid och rymd, t ex vad som hände i Polen samtidigt som Nicolaus Copernicus levde, eller vilka platser som berörs i hans artikel. Systemet kan använda Wikipedias publika API och presentera även ytterligare information, t ex associationsgrafer.
Date: Spring 2016
Client: Examiner
Category: Web development, Visualization, Data mining, Java, Back-end
Twilight Sparkle
TNM085 - Modelling Project
A modelling project where the task were to use physics to simulate objects reacting on different forces. We chose to make falling glitter that is affected by a fan and falling on a marble in the sunset. Hence the name: Twilight Sparkle. We used the library three.js to simulated and calculated the velocity of the particles depending on their size and weight.
These were the instructions from the course page:
This project gives the possibility to use the knowledge acquired from the Modellbygge och Simulering course and put into practice together with programming skills. In this project students work in small groups. Each group is asked to make an animation of a physical system. This implies to determine the mathematical model first and then simulate the system on the basis of the model and represent a graphical animation of the system itself. Each group is free to choose the system to work on and also how to implement the model and the graphical animation. The work of each group is described in a written report. An oral presentation takes place at the end of the project where each group will present their own results.
Date: Spring 2016
Client: Examiner
Category: Physics, Modelling, WebGL, three.js
Fiketapp
TNM040 - Kommunikation och användargränssnitt (Communication and User Interfaces)
The following instructions were given before we started the project.
The course provides students with fundamentals in interactive computer systems, cognitive processes as well as principles, methods and tools for developing human-centered computer systems.
After the course students will be able to:
- explain the relevance of perception, memory and language usage to interactive systems.
- describe and discuss the various stages in the implementation of interactive systems.
- discuss human-human communication and computer-mediated communication.
Our first web project using an existing database with Legos and Lego sets. We were supposed to create webbased interface where the user could search for different Lego pieces and show the results in some way.
Following instructions is in swedish:
Projektuppgiften går ut på att designa och implementera ett webbaserat gränssnitt för att söka på information i en befintlig databas. Webssidan ska vara komplett med navigering, överblick, sökning och strukturerad presentation av stora mängder data. Databasen som vi föreslår att ni använder är given och förslag på möjliga uppgifter följer. Även egna idéer kan diskuteras om särskilt intresse finns.
Date: Fall 2013
Client: Examiner
Category: Database, PHP, HTML, CSS
Bechdel Visualization
TNM048 - Information Visualization
In this project we visualized data about all the movies approved by the Bechdel test compared to their IMDB score and other comparisons.
Instructions for the project:
The task for the project part of the course is to develop an interactive information visualization application. The application should then be used to analyse a data set containing complex relationships. The choice of techniques used should be supported by literature and should be suitable for the analysis tasks. The application can consists of any number of visual representations and views. The focus should be on having enough representations and interactions techniques in order to efficiently be able to analyse the data set at hand..
Date: Spring 2016
Client: Examiner
Category: Information Visualization, data mining, HTML
Coming soon!
Lorem ipsum dolor sit amet consectetur.
Media Technology section
2015-2016
During 2015/2016 I was the Secretary and Working environment representative in the board of the Media Technology section. Besides the general Secretary work as taking minutes of meetings I was also responsible for organizing the fall- and spring meeting for our approximately 200 members together with the chairperson. As the Working Environment representative I took care of the student welfare and all working environment related issues concerning the section.
Legionen
2014-2015
During spring 2014 I had the opportunity to work with the reception and welcoming activities for new students in the section. I was responsible for all the scheduled activities during the two first weeks for the new students, a work that is done together across sections to create a great introduction for new students. Thanks to a well-organized reception our campus has previously been elected the best student city in Sweden by Swedes united student unions (Sveriges förenade studentkårer) in 2013.


|
| character(:), allocatable, private | ifile |
| |
| integer, private | numberoflines |
| |
character(1000), dimension(:),
allocatable, private | lines |
| |
Definition at line 42 of file BlocksIFileParser.f90.
| generic blocksifileparser::blocksifileparser::assignment |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::copy |
( |
| ) |
|
| final blocksifileparser::blocksifileparser::destroy |
( |
| ) |
|
|
final |
| procedure blocksifileparser::blocksifileparser::get |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::getblock |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::getinteger |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::getlogical |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::getreal |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::getrealarray |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::getstring |
( |
| ) |
|
| generic blocksifileparser::blocksifileparser::init |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::initdefault |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::isthereblock |
( |
| ) |
|
| procedure, private blocksifileparser::blocksifileparser::load |
( |
| ) |
|
|
private |
| procedure blocksifileparser::blocksifileparser::loadvariablesblock |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::show |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::showcontent |
( |
| ) |
|
| procedure blocksifileparser::blocksifileparser::str |
( |
| ) |
|
| character(:), allocatable, private blocksifileparser::blocksifileparser::ifile |
|
private |
| character(1000), dimension(:), allocatable, private blocksifileparser::blocksifileparser::lines |
|
private |
| integer, private blocksifileparser::blocksifileparser::numberoflines |
|
private |
| integer blocksifileparser::blocksifileparser::numberofvariables |
| type(string), dimension(:), allocatable blocksifileparser::blocksifileparser::varname |
| type(string), dimension(:), allocatable blocksifileparser::blocksifileparser::varunit |
| type(string), dimension(:), allocatable blocksifileparser::blocksifileparser::varvalue |
The documentation for this type was generated from the following file:


All Classes
| Class | Description |
|---|---|
| Account |
The class used as the model for accounts in DynamoDB.
|
| AccountController |
The class used as the REST controller for accounts (and friends).
|
| AccountDao |
The class used to interact with DynamoDB for accounts (and friends).
|
| AppController | |
| DynamoDBConfig | |
| ExerciseController |
The class used as the REST controller for exercises (both types).
|
| ExerciseRun |
The class used as the model for run exercises in DynamoDB.
|
| ExerciseWeight |
The class used as the model for weight exercises in DynamoDB.
|
| RunExerciseDao |
The class used to interact with DynamoDB for run exercises.
|
| UsersApplication | |
| WeightExerciseDao |
The class used to interact with DynamoDB for weight exercises.
|
| Workout |
The class used as the model for workouts in DynamoDB.
|
| WorkoutController |
The class used as the REST controller for workouts.
|
| WorkoutDao |
The class used to interact with DynamoDB for workouts.
|


Copyright (c) ? ??
Snijpunt is a game played on a 6x6 board:
|
| An example
White's turn. He can move to the 'b' or 'c' column, dropping a white stone at the green or red dot. Dropping a stone at the red dot would be a bad move, since then, Black would reply moving to row 5. White would be forced to move to column 'e' and Black would win moving to row 4. |
I think the actual goal (orthogonal 4 in-a-rows) is very restrictive. The first phase translates into just filling the board, and then try to outperform the adversary in the swapping moves. If we allow diagonal 4 in-a-rows the game gains dynamics and becomes much more tactical, which is suitable for such a small playing board.
There's a website with information about the game (in Dutch). I wish to thank Hans Bodlaender for translating the rules.


habitat climate ptarmigan Vancouver alpine suitable change species patches range VIWTP models Island RCP predicted White-tailed Ptarmigan future model using summer high distribution Fig mean {border-style British elevation scenario baseline gas greenhouse px;} #ffffff;} Climate areas birds loss number precipitation variables data size Forest Martin field Strathcona patch predict presence smaller threshold area breeding lower Provincial Random based bird change. predictions suitability survey ./j.-...x Alpine Change Coastal Ecology [.–.] locations low pseudo-absences used variable Biology Conservation Park accuracy changes circulation elevations fragmented general grid snow temperature Global Habitat Island, according importance increasingly likely population populations presences remaining represent scenarios science specialist total Biological Mean Mountain [–,] average citizen configuration conservation endemic fragmentation habitat. impacts increased landscape mountain observations potential px; shown {font-family Columbia Hemlock IPCC Lagopus University ]). background calculated coastal considered decline ecosystems extreme font-size habitats higher increase mountains predictor pseudo-absence public randomly resulting sightings slope small southern (), CCSM CanESM Columbia, Columbia. Ecological Island. North Research Western Wildlife ability aspect combined concentration current dataset distributions double; envelope extracted important including island large measure modeling observation order persistence reduced reduction shifts slope, studies study topographic "suitable" Biogeography Canada GCMs GFDL-CM GPS Mountain-heather Spatial Table able aspect, border-color border-width cell classification climatic effects eliminated entire environmental highest increasing index largest northern patches. persist predicting predicts primarily probability provided records results risk ruggedness scale scenario. selected sensitivity solid; survival terrain threatened variation {font-style {font-weight (CCSM), (Can), (GFDL), (RCP (–) .). ./journal.pone. Bird Birds CTI Canadian Condor Future Management National Pacific Using approach available bold central climate-induced climates coarse compared connectivity contractions correctly courier; demographic depend dispersal elevation, elevational em; especially fine-scale hikers ibex interior known large-scale little located location management map montane niche particularly pp. program provide pt;} quality research responses restricted slopes tree tundra unsuitable use utilize values vegetation wildlife year zones