ssh-keygen —
authentication key generation, management and
conversion
| ssh-keygen |
[-q]
[-b bits]
[-t dsa | ecdsa | ed25519 | rsa]
[-N new_passphrase]
[-C comment]
[-f output_keyfile] |
| ssh-keygen |
-p
[-P old_passphrase]
[-N new_passphrase]
[-f keyfile] |
| ssh-keygen |
-i
[-m key_format]
[-f input_keyfile] |
| ssh-keygen |
-e
[-m key_format]
[-f input_keyfile] |
| ssh-keygen |
-y
[-f input_keyfile] |
| ssh-keygen |
-c
[-P passphrase]
[-C comment]
[-f keyfile] |
| ssh-keygen |
-l
[-v]
[-E fingerprint_hash]
[-f input_keyfile] |
| ssh-keygen |
-B
[-f input_keyfile] |
| ssh-keygen |
-F
hostname
[-f known_hosts_file]
[-l] |
| ssh-keygen |
-H
[-f known_hosts_file] |
| ssh-keygen |
-R
hostname
[-f known_hosts_file] |
| ssh-keygen |
-r
hostname
[-f input_keyfile]
[-g] |
| ssh-keygen |
-G
output_file
[-v]
[-b bits]
[-M memory]
[-S start_point] |
| ssh-keygen |
-T
output_file -f
input_file
[-v]
[-a rounds]
[-J num_lines]
[-j start_line]
[-K checkpt]
[-W generator] |
| ssh-keygen |
-s
ca_key -I
certificate_identity
[-h]
[-U]
[-D pkcs11_provider]
[-n principals]
[-O option]
[-V validity_interval]
[-z serial_number] file
... |
| ssh-keygen |
-L
[-f input_keyfile] |
| ssh-keygen |
-A
[-f prefix_path] |
| ssh-keygen |
-k -f
krl_file
[-u]
[-s ca_public]
[-z version_number] file
... |
| ssh-keygen |
-Q -f
krl_file file
... |
ssh-keygen generates, manages and converts
authentication keys for
ssh(1).
ssh-keygen can create keys for use by SSH
protocol version 2.
The type of key to be generated is specified with the
-t option. If invoked without any arguments,
ssh-keygen will generate an RSA key.
ssh-keygen is also used to generate groups for use
in Diffie-Hellman group exchange (DH-GEX). See the
MODULI GENERATION
section for details.
Finally,
ssh-keygen can be used to generate and
update Key Revocation Lists, and to test whether given keys have been revoked
by one. See the
KEY
REVOCATION LISTS section for details.
Normally each user wishing to use SSH with public key authentication runs this
once to create the authentication key in
~/.ssh/id_dsa,
~/.ssh/id_ecdsa,
~/.ssh/id_ed25519 or
~/.ssh/id_rsa. Additionally, the system
administrator may use this to generate host keys, as seen in
/etc/rc.
Normally this program generates the key and asks for a file in which to store
the private key. The public key is stored in a file with the same name but
“.pub” appended. The program also asks for a passphrase. The
passphrase may be empty to indicate no passphrase (host keys must have an
empty passphrase), or it may be a string of arbitrary length. A passphrase is
similar to a password, except it can be a phrase with a series of words,
punctuation, numbers, whitespace, or any string of characters you want. Good
passphrases are 10-30 characters long, are not simple sentences or otherwise
easily guessable (English prose has only 1-2 bits of entropy per character,
and provides very bad passphrases), and contain a mix of upper and lowercase
letters, numbers, and non-alphanumeric characters. The passphrase can be
changed later by using the
-p option.
There is no way to recover a lost passphrase. If the passphrase is lost or
forgotten, a new key must be generated and the corresponding public key copied
to other machines.
For keys stored in the newer OpenSSH format, there is also a comment field in
the key file that is only for convenience to the user to help identify the
key. The comment can tell what the key is for, or whatever is useful. The
comment is initialized to “user@host” when the key is created,
but can be changed using the
-c option.
After a key is generated, instructions below detail where the keys should be
placed to be activated.
The options are as follows:
- -A
- For each of the key types (rsa, dsa, ecdsa and ed25519) for
which host keys do not exist, generate the host keys with the default key
file path, an empty passphrase, default bits for the key type, and default
comment. If -f has also been specified, its
argument is used as a prefix to the default path for the resulting host
key files. This is used by /etc/rc to
generate new host keys.
- -a
rounds
- When saving a new-format private key (i.e. an ed25519 key
or when the -o flag is set), this option
specifies the number of KDF (key derivation function) rounds used. Higher
numbers result in slower passphrase verification and increased resistance
to brute-force password cracking (should the keys be stolen).
When screening DH-GEX candidates (using the -T
command). This option specifies the number of primality tests to
perform.
- -B
- Show the bubblebabble digest of specified private or public
key file.
- -b
bits
- Specifies the number of bits in the key to create. For RSA
keys, the minimum size is 1024 bits and the default is 2048 bits.
Generally, 2048 bits is considered sufficient. DSA keys must be exactly
1024 bits as specified by FIPS 186-2. For ECDSA keys, the
-b flag determines the key length by
selecting from one of three elliptic curve sizes: 256, 384 or 521 bits.
Attempting to use bit lengths other than these three values for ECDSA keys
will fail. Ed25519 keys have a fixed length and the
-b flag will be ignored.
- -C
comment
- Provides a new comment.
- -c
- Requests changing the comment in the private and public key
files. This operation is only supported for keys stored in the newer
OpenSSH format. The program will prompt for the file containing the
private keys, for the passphrase if the key has one, and for the new
comment.
- -D
pkcs11
- Download the RSA public keys provided by the PKCS#11 shared
library pkcs11. When used in combination
with -s, this option indicates that a CA key
resides in a PKCS#11 token (see the
CERTIFICATES section for
details).
- -E
fingerprint_hash
- Specifies the hash algorithm used when displaying key
fingerprints. Valid options are: “md5” and
“sha256”. The default is “sha256”.
- -e
- This option will read a private or public OpenSSH key file
and print to stdout the key in one of the formats specified by the
-m option. The default export format is
“RFC4716”. This option allows exporting OpenSSH keys for use
by other programs, including several commercial SSH implementations.
- -F
hostname
- Search for the specified
hostname in a
known_hosts file, listing any occurrences
found. This option is useful to find hashed host names or addresses and
may also be used in conjunction with the -H
option to print found keys in a hashed format.
- -f
filename
- Specifies the filename of the key file.
- -G
output_file
- Generate candidate primes for DH-GEX. These primes must be
screened for safety (using the -T option)
before use.
- -g
- Use generic DNS format when printing fingerprint resource
records using the -r command.
- -H
- Hash a known_hosts file. This
replaces all hostnames and addresses with hashed representations within
the specified file; the original content is moved to a file with a .old
suffix. These hashes may be used normally by
ssh and sshd,
but they do not reveal identifying information should the file's contents
be disclosed. This option will not modify existing hashed hostnames and is
therefore safe to use on files that mix hashed and non-hashed names.
- -h
- When signing a key, create a host certificate instead of a
user certificate. Please see the
CERTIFICATES section for
details.
- -I
certificate_identity
- Specify the key identity when signing a public key. Please
see the CERTIFICATES
section for details.
- -i
- This option will read an unencrypted private (or public)
key file in the format specified by the -m
option and print an OpenSSH compatible private (or public) key to stdout.
This option allows importing keys from other software, including several
commercial SSH implementations. The default import format is
“RFC4716”.
- -J
num_lines
- Exit after screening the specified number of lines while
performing DH candidate screening using the
-T option.
- -j
start_line
- Start screening at the specified line number while
performing DH candidate screening using the
-T option.
- -K
checkpt
- Write the last line processed to the file
checkpt while performing DH candidate
screening using the -T option. This will be
used to skip lines in the input file that have already been processed if
the job is restarted.
- -k
- Generate a KRL file. In this mode,
ssh-keygen will generate a KRL file at the
location specified via the -f flag that
revokes every key or certificate presented on the command line.
Keys/certificates to be revoked may be specified by public key file or
using the format described in the
KEY REVOCATION
LISTS section.
- -L
- Prints the contents of one or more certificates.
- -l
- Show fingerprint of specified public key file. For RSA and
DSA keys ssh-keygen tries to find the
matching public key file and prints its fingerprint. If combined with
-v, a visual ASCII art representation of the
key is supplied with the fingerprint.
- -M
memory
- Specify the amount of memory to use (in megabytes) when
generating candidate moduli for DH-GEX.
- -m
key_format
- Specify a key format for the
-i (import) or
-e (export) conversion options. The supported
key formats are: “RFC4716” (RFC 4716/SSH2 public or private
key), “PKCS8” (PEM PKCS8 public key) or “PEM”
(PEM public key). The default conversion format is
“RFC4716”.
- -N
new_passphrase
- Provides the new passphrase.
- -n
principals
- Specify one or more principals (user or host names) to be
included in a certificate when signing a key. Multiple principals may be
specified, separated by commas. Please see the
CERTIFICATES section for
details.
- -O
option
- Specify a certificate option when signing a key. This
option may be specified multiple times. See also the
CERTIFICATES section for
further details. The options that are valid for user certificates are:
- clear
- Clear all enabled permissions. This is useful for
clearing the default set of permissions so permissions may be added
individually.
- critical:name[=contents]
-
- extension:name[=contents]
- Includes an arbitrary certificate critical option or
extension. The specified name should
include a domain suffix, e.g<EMAIL_ADDRESS>If
contents is specified then it is
included as the contents of the extension/option encoded as a string,
otherwise the extension/option is created with no contents (usually
indicating a flag). Extensions may be ignored by a client or server
that does not recognise them, whereas unknown critical options will
cause the certificate to be refused.
At present, no standard options are valid for host keys.
- force-command=command
- Forces the execution of
command instead of any shell or
command specified by the user when the certificate is used for
authentication.
- no-agent-forwarding
- Disable
ssh-agent(1)
forwarding (permitted by default).
- no-port-forwarding
- Disable port forwarding (permitted by default).
- no-pty
- Disable PTY allocation (permitted by default).
- no-user-rc
- Disable execution of
~/.ssh/rc by
sshd(8) (permitted by
default).
- no-x11-forwarding
- Disable X11 forwarding (permitted by default).
- permit-agent-forwarding
- Allows
ssh-agent(1)
forwarding.
- permit-port-forwarding
- Allows port forwarding.
- permit-pty
- Allows PTY allocation.
- permit-user-rc
- Allows execution of
~/.ssh/rc by
sshd(8).
- permit-x11-forwarding
- Allows X11 forwarding.
- source-address=address_list
- Restrict the source addresses from which the
certificate is considered valid. The
address_list is a comma-separated
list of one or more address/netmask pairs in CIDR format.
- -o
- Causes ssh-keygen to save
private keys using the new OpenSSH format rather than the more compatible
PEM format. The new format has increased resistance to brute-force
password cracking but is not supported by versions of OpenSSH prior to
6.5. Ed25519 keys always use the new private key format.
- -P
passphrase
- Provides the (old) passphrase.
- -p
- Requests changing the passphrase of a private key file
instead of creating a new private key. The program will prompt for the
file containing the private key, for the old passphrase, and twice for the
new passphrase.
- -Q
- Test whether keys have been revoked in a KRL.
- -q
- Silence ssh-keygen.
- -R
hostname
- Removes all keys belonging to
hostname from a
known_hosts file. This option is useful to
delete hashed hosts (see the -H option
above).
- -r
hostname
- Print the SSHFP fingerprint resource record named
hostname for the specified public key
file.
- -S
start
- Specify start point (in hex) when generating candidate
moduli for DH-GEX.
- -s
ca_key
- Certify (sign) a public key using the specified CA key.
Please see the
CERTIFICATES section for
details.
When generating a KRL, -s specifies a path to a
CA public key file used to revoke certificates directly by key ID or
serial number. See the
KEY REVOCATION
LISTS section for details.
- -T
output_file
- Test DH group exchange candidate primes (generated using
the -G option) for safety.
- -t
dsa |
ecdsa
|
ed25519
|
rsa
- Specifies the type of key to create. The possible values
are “dsa”, “ecdsa”, “ed25519”,
or “rsa”.
- -U
- When used in combination with
-s, this option indicates that a CA key
resides in a
ssh-agent(1). See the
CERTIFICATES section for
more information.
- -u
- Update a KRL. When specified with
-k, keys listed via the command line are
added to the existing KRL rather than a new KRL being created.
- -V
validity_interval
- Specify a validity interval when signing a certificate. A
validity interval may consist of a single time, indicating that the
certificate is valid beginning now and expiring at that time, or may
consist of two times separated by a colon to indicate an explicit time
interval. The start time may be specified as a date in YYYYMMDD format, a
time in YYYYMMDDHHMMSS format or a relative time (to the current time)
consisting of a minus sign followed by a relative time in the format
described in the TIME FORMATS section of
sshd_config(5). The
end time may be specified as a YYYYMMDD date, a YYYYMMDDHHMMSS time or a
relative time starting with a plus character.
For example: “+52w1d” (valid from now to 52 weeks and one day
from now), “-4w:+4w” (valid from four weeks ago to four
weeks from now), “20100101123000:20110101123000” (valid from
12:30 PM, January 1st, 2010 to 12:30 PM, January 1st, 2011),
“-1d:20110101” (valid from yesterday to midnight, January
1st, 2011).
- -v
- Verbose mode. Causes
ssh-keygen to print debugging messages about
its progress. This is helpful for debugging moduli generation. Multiple
-v options increase the verbosity. The
maximum is 3.
- -W
generator
- Specify desired generator when testing candidate moduli for
DH-GEX.
- -y
- This option will read a private OpenSSH format file and
print an OpenSSH public key to stdout.
- -z
serial_number
- Specifies a serial number to be embedded in the certificate
to distinguish this certificate from others from the same CA. The default
serial number is zero.
When generating a KRL, the -z flag is used to
specify a KRL version number.
ssh-keygen may be used to generate groups for the
Diffie-Hellman Group Exchange (DH-GEX) protocol. Generating these groups is a
two-step process: first, candidate primes are generated using a fast, but
memory intensive process. These candidate primes are then tested for
suitability (a CPU-intensive process).
Generation of primes is performed using the
-G
option. The desired length of the primes may be specified by the
-b option. For example:
# ssh-keygen -G moduli-2048.candidates -b
2048
By default, the search for primes begins at a random point in the desired length
range. This may be overridden using the
-S
option, which specifies a different start point (in hex).
Once a set of candidates have been generated, they must be screened for
suitability. This may be performed using the
-T
option. In this mode
ssh-keygen will read
candidates from standard input (or a file specified using the
-f option). For example:
# ssh-keygen -T moduli-2048 -f
moduli-2048.candidates
By default, each candidate will be subjected to 100 primality tests. This may be
overridden using the
-a option. The DH generator
value will be chosen automatically for the prime under consideration. If a
specific generator is desired, it may be requested using the
-W option. Valid generator values are 2, 3, and
5.
Screened DH groups may be installed in
/etc/moduli.
It is important that this file contains moduli of a range of bit lengths and
that both ends of a connection share common moduli.
ssh-keygen supports signing of keys to produce
certificates that may be used for user or host authentication. Certificates
consist of a public key, some identity information, zero or more principal
(user or host) names and a set of options that are signed by a Certification
Authority (CA) key. Clients or servers may then trust only the CA key and
verify its signature on a certificate rather than trusting many user/host
keys. Note that OpenSSH certificates are a different, and much simpler, format
to the X.509 certificates used in
ssl(8).
ssh-keygen supports two types of certificates: user
and host. User certificates authenticate users to servers, whereas host
certificates authenticate server hosts to users. To generate a user
certificate:
$ ssh-keygen -s /path/to/ca_key -I key_id
/path/to/user_key.pub
The resultant certificate will be placed in
/path/to/user_key-cert.pub. A host certificate
requires the
-h option:
$ ssh-keygen -s /path/to/ca_key -I key_id -h
/path/to/host_key.pub
The host certificate will be output to
/path/to/host_key-cert.pub.
It is possible to sign using a CA key stored in a PKCS#11 token by providing the
token library using
-D and identifying the CA key
by providing its public half as an argument to
-s:
$ ssh-keygen -s ca_key.pub -D libpkcs11.so -I
key_id user_key.pub
Similarly, it is possible for the CA key to be hosted in a
ssh-agent(1). This is
indicated by the
-U flag and, again, the CA key
must be identified by its public half.
$ ssh-keygen -Us ca_key.pub -I key_id
user_key.pub
In all cases,
key_id is a "key
identifier" that is logged by the server when the certificate is used for
authentication.
Certificates may be limited to be valid for a set of principal (user/host)
names. By default, generated certificates are valid for all users or hosts. To
generate a certificate for a specified set of principals:
$ ssh-keygen -s ca_key -I key_id -n user1,user2
user_key.pub
$ ssh-keygen -s ca_key -I key_id -h -n
host.domain host_key.pub
Additional limitations on the validity and use of user certificates may be
specified through certificate options. A certificate option may disable
features of the SSH session, may be valid only when presented from particular
source addresses or may force the use of a specific command. For a list of
valid certificate options, see the documentation for the
-O option above.
Finally, certificates may be defined with a validity lifetime. The
-V option allows specification of certificate
start and end times. A certificate that is presented at a time outside this
range will not be considered valid. By default, certificates are valid from
UNIX Epoch to the distant future.
For certificates to be used for user or host authentication, the CA public key
must be trusted by
sshd(8) or
ssh(1). Please refer to those
manual pages for details.
ssh-keygen is able to manage OpenSSH format Key
Revocation Lists (KRLs). These binary files specify keys or certificates to be
revoked using a compact format, taking as little as one bit per certificate if
they are being revoked by serial number.
KRLs may be generated using the
-k flag. This
option reads one or more files from the command line and generates a new KRL.
The files may either contain a KRL specification (see below) or public keys,
listed one per line. Plain public keys are revoked by listing their hash or
contents in the KRL and certificates revoked by serial number or key ID (if
the serial is zero or not available).
Revoking keys using a KRL specification offers explicit control over the types
of record used to revoke keys and may be used to directly revoke certificates
by serial number or key ID without having the complete original certificate on
hand. A KRL specification consists of lines containing one of the following
directives followed by a colon and some directive-specific information.
- serial:
serial_number[-serial_number]
- Revokes a certificate with the specified serial number.
Serial numbers are 64-bit values, not including zero and may be expressed
in decimal, hex or octal. If two serial numbers are specified separated by
a hyphen, then the range of serial numbers including and between each is
revoked. The CA key must have been specified on the
ssh-keygen command line using the
-s option.
- id:
key_id
- Revokes a certificate with the specified key ID string. The
CA key must have been specified on the
ssh-keygen command line using the
-s option.
- key:
public_key
- Revokes the specified key. If a certificate is listed, then
it is revoked as a plain public key.
- sha1:
public_key
- Revokes the specified key by its SHA1 hash.
KRLs may be updated using the
-u flag in addition
to
-k. When this option is specified, keys listed
via the command line are merged into the KRL, adding to those already there.
It is also possible, given a KRL, to test whether it revokes a particular key
(or keys). The
-Q flag will query an existing
KRL, testing each key specified on the command line. If any key listed on the
command line has been revoked (or an error encountered) then
ssh-keygen will exit with a non-zero exit status.
A zero exit status will only be returned if no key was revoked.
- ~/.ssh/id_dsa
-
- ~/.ssh/id_ecdsa
-
- ~/.ssh/id_ed25519
-
- ~/.ssh/id_rsa
- Contains the DSA, ECDSA, Ed25519 or RSA authentication
identity of the user. This file should not be readable by anyone but the
user. It is possible to specify a passphrase when generating the key; that
passphrase will be used to encrypt the private part of this file using
128-bit AES. This file is not automatically accessed by
ssh-keygen but it is offered as the default
file for the private key.
ssh(1) will read this file
when a login attempt is made.
- ~/.ssh/id_dsa.pub
-
- ~/.ssh/id_ecdsa.pub
-
- ~/.ssh/id_ed25519.pub
-
- ~/.ssh/id_rsa.pub
- Contains the DSA, ECDSA, Ed25519 or RSA public key for
authentication. The contents of this file should be added to
~/.ssh/authorized_keys on all machines where
the user wishes to log in using public key authentication. There is no
need to keep the contents of this file secret.
- /etc/moduli
- Contains Diffie-Hellman groups used for DH-GEX. The file
format is described in
moduli(5).
ssh(1),
ssh-add(1),
ssh-agent(1),
moduli(5),
sshd(8)
The Secure Shell (SSH) Public Key
File Format, RFC 4716,
2006.
OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu
Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt
and Dug Song removed many bugs, re-added newer features and created OpenSSH.
Markus Friedl contributed the support for SSH protocol versions 1.5 and
2.0.


Good fortune is coming your way. After a spell of bad luck, the cosmos has readjusted its energies in your favor.
Don't be afraid to try new things--in fact, embrace any new experiences that come your way. They will be the root of your new happiness.
The person you've been admiring from afar has noticed. Take a chance on them while your lucks is good!
You have had more than your fair share of bad luck in recent times, but good news is around the corner.
Any business or creative ventures that you've been considering should be started without delay. The means and will come easier than you expect.
Make sure to call your parents. Their love will help propel your good luck and positive energy even farther.
Buy no less than three lottery tickets. Such good luck does not come around often, and shouldn't be wasted.
You've been given an easy spell by the cosmos, but that luck is changing.
Shore yourself against quick losses, and take no assests or relationships for granted.
Avoid starting new ventures or relationships until your luck has changed. You will know it's changed only in the shower, when a shiver goes down your spine.


The science behind the findings in the book are particularly interesting, for the deck of cards study, it really helped to highlight the physiological effect of emotions on the body. I find the idea of being able to manage this somewhat as I work through thr book to be exciting, and I'm looking forward to being able to measure other benefits I find I'm able to achieve.
I found the two minutes to be relaxing, but I found my mind wanders very easily, and it was difficult to bring it back to my breath. In a way this makes it easier to see my progress as I try this in future, to see how far my mind wanders, and how easy it is to bring it back.


Actions, resources, and condition keys for Amazon S3 Glacier
Amazon S3 Glacier (service prefix:
glacier
) provides the following service-specific resources, actions, and condition context keys for use in IAM permission policies.
References:
-
Learn how to configure this service .
-
View a list of the API operations available for this service .
-
Learn how to secure this service and its resources by using IAM permission policies.
Topics
Actions defined by Amazon S3 Glacier
You can specify the following actions in the
Action
element of an IAM policy statement. Use policies to grant permissions to perform an operation in AWS. When you use an action in a policy, you usually allow or deny access to the API operation or CLI command with the same name. However, in some cases, a single action controls access to more than one operation. Alternatively, some operations require several different actions.
The
Resource types
column of the Actions table indicates whether each action supports resource-level permissions. If there is no value for this column, you must specify all resources ("*") to which the policy applies in the
Resource
element of your policy statement. If the column includes a resource type, then you can specify an ARN of that type in a statement with that action. If the action has one or more required resources, the caller must have permission to use the action with those resources. Required resources are indicated in the table with an asterisk (*). If you limit resource access with the
Resource
element in an IAM policy, you must include an ARN or pattern for each required resource type. Some actions support multiple resource types. If the resource type is optional (not indicated as required), then you can choose to use one of the optional resource types.
The
Condition keys
column of the Actions table includes keys that you can specify in a policy statement's
Condition
element. For more information on the condition keys that are associated with resources for the service, see the
Condition keys
column of the Resource types table.
For details about the columns in the following table, see Actions table .
| Actions | Description | Access level | Resource types (*required) | Condition keys | Dependent actions |
|---|---|---|---|---|---|
| AbortMultipartUpload | Grants permission to abort a multipart upload identified by the upload ID | Write | |||
| AbortVaultLock | Grants permission to abort the vault locking process if the vault lock is not in the Locked state | Permissions management | |||
| AddTagsToVault | Grants permission to add the specified tags to a vault | Tagging | |||
| CompleteMultipartUpload | Grants permission to complete a multipart upload process | Write | |||
| CompleteVaultLock | Grants permission to complete the vault locking process | Permissions management | |||
| CreateVault | Grants permission to create a new vault with the specified name | Write | |||
| DeleteArchive | Grants permission to delete an archive from a vault | Write | |||
| DeleteVault | Grants permission to delete a vault | Write | |||
| DeleteVaultAccessPolicy | Grants permission to delete the access policy associated with the specified vault | Permissions management | |||
| DeleteVaultNotifications | Grants permission to delete the notification configuration set for a vault | Write | |||
| DescribeJob | Grants permission to get information about a job previously initiated | Read | |||
| DescribeVault | Grants permission to get information about a vault | Read | |||
| GetDataRetrievalPolicy | Grants permission to get the data retrieval policy | Read | |||
| GetJobOutput | Grants permission to download the output of the job specified | Read | |||
| GetVaultAccessPolicy | Grants permission to retrieve the access-policy subresource set on the vault | Read | |||
| GetVaultLock | Grants permission to retrieve attributes from the lock-policy subresource set on the specified vault | Read | |||
| GetVaultNotifications | Grants permission to retrieve the notification-configuration subresource set on the vault | Read | |||
| InitiateJob | Grants permission to initiate a job of the specified type | Write | |||
| InitiateMultipartUpload | Grants permission to initiate a multipart upload | Write | |||
| InitiateVaultLock | Grants permission to initiate the vault locking process | Permissions management | |||
| ListJobs | Grants permission to list jobs for a vault that are in-progress and jobs that have recently finished | List | |||
| ListMultipartUploads | Grants permission to list in-progress multipart uploads for the specified vault | List | |||
| ListParts | Grants permission to list the parts of an archive that have been uploaded in a specific multipart upload | List | |||
| ListProvisionedCapacity | Grants permission to list the provisioned capacity for the specified AWS account | List | |||
| ListTagsForVault | Grants permission to list all the tags attached to a vault | List | |||
| ListVaults | Grants permission to list all vaults | List | |||
| PurchaseProvisionedCapacity | Grants permission to purchases a provisioned capacity unit for an AWS account | Write | |||
| RemoveTagsFromVault | Grants permission to remove one or more tags from the set of tags attached to a vault | Tagging | |||
| SetDataRetrievalPolicy | Grants permission to set and then enacts a data retrieval policy in the region specified in the PUT request | Permissions management | |||
| SetVaultAccessPolicy | Grants permission to configure an access policy for a vault; will overwrite an existing policy | Permissions management | |||
| SetVaultNotifications | Grants permission to configure vault notifications | Write | |||
| UploadArchive | Grants permission to upload an archive to a vault | Write | |||
| UploadMultipartPart | Grants permission to upload a part of an archive | Write |
Resource types defined by Amazon S3 Glacier
The following resource types are defined by this service and can be used in the
Resource
element of IAM permission policy statements. Each action in the
Actions table
identifies the resource types that can be specified with that action. A resource type can also define which condition keys you can include in a policy. These keys are displayed in the last column of the Resource types table. For details about the columns in the following table, see
Resource types table
.
| Resource types | ARN | Condition keys |
|---|---|---|
| vault |
arn:$
{
Partition}:glacier:$
{
Region}:$
{
Account}:vaults/$
{
VaultName}
|
Condition keys for Amazon S3 Glacier
Amazon S3 Glacier defines the following condition keys that can be used in the
Condition
element of an IAM policy. You can use these keys to further refine the conditions under which the policy statement applies. For details about the columns in the following table, see
Condition keys table
.
To view the global condition keys that are available to all services, see Available global condition keys .
| Condition keys | Description | Type |
|---|---|---|
| aws:RequestTag/${TagKey} | Filters access by the tags that are passed in the request | String |
| aws:TagKeys | Filters access by the tag keys that are passed in the request | ArrayOfString |
| glacier:ArchiveAgeInDays | Filters access by how long an archive has been stored in the vault, in days | String |
| glacier:ResourceTag/ | Filters access by a customer-defined tag | String |


December 12
Tune In
He that speaketh in an unknown tongue speaketh not unto men, but unto God: for no man understandeth him; howbeit in the spirit he speaketh mysteries.
1 Corinthians 14:2
Have you ever looked around at your own life or the life of the Church and wondered why it's taking the Lord so long to get things in order?
If so, let me tell you something I learned a few years ago. He's not the One who's slow. We are!
It's not God's fault that the Church still has spots and wrinkles. It's not His fault that we're not living in total victory. He's always ready. He's the great "I AM." We're the ones who fall short.
Compare it to turning on a radio. If you don't have it tuned to exactly the right frequency, you won't be able to hear the station. It's not the station's fault. It's sending out signals perfectly. The problem is, you haven't tuned in to it.
That's what's happening with you and me. We haven't fine tuned our spirits enough to pick up the voice of the Spirit. Oh, we pick up a few things now and then, but mostly we just fade in and out. We don't stay on God's wavelength all the time. How do you adjust your spiritual tuner?
By praying in the Spirit. Praying in other tongues is the fastest, most effective method I know of to tune in to God--because instead of praying your own thoughts and plans, you're praying His!
The Bible says that when you pray in tongues, you're speaking mysteries to God. In the Spirit, you're calling forth parts of God's plan you don't even understand with your natural mind. By the unction of the Holy Spirit, you're praying the perfect will of God. You see, God knows how to deliver His people. He knows how to turn us into the glorious Church without spot or wrinkle. He has a plan that will do it. And if we'll tap into that plan and startreleasing it into the earth by praying in the Spirit, praying according to His will and not our own, this age will draw to a close quickly. If we'll all get our minds and hearts in tune with what God's doing, there will be an explosion of the power of God that will turn this world around!
Start adjusting your spiritual tuner today. Spend an hour praying in other tongues. Set your spirit on God's wavelength and just see how quickly the spots and wrinkles begin to disappear from you.
Scripture Reading: 1 Corinthians 14:1-19


All Files (94.34% covered at 18.68 hits/line)
2 files in total.
53 relevant lines.
50 lines covered and
3 lines missed
| File | % covered | Lines | Relevant Lines | Lines covered | Lines missed | Avg. Hits / Line |
|---|---|---|---|---|---|---|
| lib/chinese_money.rb | 100.0 % | 71 | 50 | 50 | 0 | 19.8 |
| lib/chinese_money/version.rb | 0.0 % | 3 | 3 | 0 | 3 | 0.0 |
Controllers (100.0% covered at 0.0 hits/line)
0 files in total.
0.0 relevant lines.
0.0 lines covered and
0.0 lines missed
| File | % covered | Lines | Relevant Lines | Lines covered | Lines missed | Avg. Hits / Line |
|---|
Channels (100.0% covered at 0.0 hits/line)
0 files in total.
0.0 relevant lines.
0.0 lines covered and
0.0 lines missed
| File | % covered | Lines | Relevant Lines | Lines covered | Lines missed | Avg. Hits / Line |
|---|
Models (100.0% covered at 0.0 hits/line)
0 files in total.
0.0 relevant lines.
0.0 lines covered and
0.0 lines missed
| File | % covered | Lines | Relevant Lines | Lines covered | Lines missed | Avg. Hits / Line |
|---|
Mailers (100.0% covered at 0.0 hits/line)
0 files in total.
0.0 relevant lines.
0.0 lines covered and
0.0 lines missed
| File | % covered | Lines | Relevant Lines | Lines covered | Lines missed | Avg. Hits / Line |
|---|
Helpers (100.0% covered at 0.0 hits/line)
0 files in total.
0.0 relevant lines.
0.0 lines covered and
0.0 lines missed
| File | % covered | Lines | Relevant Lines | Lines covered | Lines missed | Avg. Hits / Line |
|---|
Jobs (100.0% covered at 0.0 hits/line)
0 files in total.
0.0 relevant lines.
0.0 lines covered and
0.0 lines missed
| File | % covered | Lines | Relevant Lines | Lines covered | Lines missed | Avg. Hits / Line |
|---|
Libraries (94.34% covered at 18.68 hits/line)
2 files in total.
53 relevant lines.
50 lines covered and
3 lines missed
| File | % covered | Lines | Relevant Lines | Lines covered | Lines missed | Avg. Hits / Line |
|---|---|---|---|---|---|---|
| lib/chinese_money.rb | 100.0 % | 71 | 50 | 50 | 0 | 19.8 |
| lib/chinese_money/version.rb | 0.0 % | 3 | 3 | 0 | 3 | 0.0 |


Create your newspaper with us!
We know how hard is it to manage every process
Thats why we created the MakeYourJournal application
With this, you can easily follow every process and share them with your editorial team.
No more delayed article or printing, because everyone is working the hardest possible!
And the best part is that it is fully suited just for your paper - everything is just as you like it!


Create new packet metadata.
| flag |
The purpose of this packet. See Flag for more details. |
| id |
The packed id used to pair requests with responses. Irrelevant for notifications. |
| shm_name |
The name of the shared memory region where the data of this packet are. |


Credits
This is an example of a card that has different content when contracted vs. expanded. This would be useful for a longer card so you can summarize information when contracted then show much more detail when the card is expanded.
eLindemann's CSS card demo serves as the base of the Card CSS used in WebCards. The logic and animations used have been written and used by me to power the Evosystems Development LLC website.
Card CSS


- Where is the Piece?
- What Piece?!
After the "Physics and
Chess" variants (from where Magnetic Chess was invented), Claude and I discussed
the introduction of Quantum Mechanics into Chess in rec.games.abstract.
Here is my proposal:
Heisenberg Chess
This variant was invented by Joćo Pedro Neto,
in January 2000.
- The FIDE rules apply except in the following:
- Definitions:
- Some moved piece A is seen by B, if that movement includes some square in the
capturing range of B.
- The distance 'd' between two squares is the maximum between the row and the
column differences (egs, d(a1, b3) = 2, d(a1,b2) = 1, d(a1,a5) = 4)
- By the Heisenberg Principle, every moving piece that is seen by any opponent piece,
either change its speed or its position (player's choice):
- Change of Speed: The piece start moving (from the square seen by some opponent piece) as
if it was a different piece. The new movement is defined by the following order: Q moves
as R, R as B, B as N, N as P. (note: for knights, the movement, is defined just by the
immediate forward square from the original position. E.g., for Nb1-c3, it's square b2. For
Nb1-d2, it's c1).
x . . . x . . .
n x . x .
x . . . x .  x . .
After moving north, Rc3 is seen by the opponent at c5, and changes its direction,
start moving as a bishop. It can also take the black bishop.
- Change of Position: If the piece is seen at square S by N opponent pieces, it changes
its position to any empty square at distance N from S (except to those squares that he
could move in FIDE chess).  b .
n . x . x . . .
R . . . B . . .
x . N . x . . .
x . . . x . . .
x x x x x . . .
The squares marked by 'x' shows where the Knight can go (it may also capture Na5), if the
player decides to change the position, by a Nb5 or Nd5 move. Why is this? Because the
immediate forward square for those moves (square c4) is seen by two opponent pieces.
back to top


BidirectionalGraph
public protocol BidirectionalGraph : IncidenceGraph
A graph that allows retrieval of edges incoming to each vertex (the “in-edges”).
-
The collection of edges whose destinations are a given vertex (the “in-edges”).
Declaration
Swift
associatedtype VertexInEdgeCollection : Collection where Self.EdgeId == Self.VertexInEdgeCollection.Element
-
Returns the collection of edges whose destination is
vertex
.Declaration
Swift
func edges(to vertex: VertexId) -> VertexInEdgeCollection
-
inDegree(of:
Default implementation) Returns the number of “in-edges” of
vertex
.Default Implementation
Returns the number of “in-edges” of
vertex
.Declaration
Swift
func inDegree(of vertex: VertexId) -> Int
-
degree(of:
Default implementation) Returns the number of “in-edges” plus “out-edges” of
vertex
inself
.Default Implementation
Returns the number of “in-edges” plus “out-edges” of
vertex
inself
.Declaration
Swift
func degree(of vertex: VertexId) -> Int
-
kNNEnhancedHillClimbingSearch(query:
Extension methodk: seeds: vertexVisitationState: workList: similarityBetween: ) Returns the
k
approximate nearest neighbors ofquery
inself
.Note: the vertices are not guaranteed to be in similarity-order.
This algorithm is Algorithm 1 from k-NN Graph Construction: a Generic Online Approach, by Wan-Lei Zhao
Declaration
Swift
public mutating func kNNEnhancedHillClimbingSearch< Similarity: Comparable, Seeds: Collection, VertexVisitationState: PropertyMap, Heap, HeapIndexer >( query: VertexId, k: Int, seeds: Seeds, vertexVisitationState: inout VertexVisitationState, workList: GenericMaxPriorityQueue<Similarity, VertexId, Heap, HeapIndexer>, // TODO: Do truncation! similarityBetween: (VertexId, VertexId, inout Self) -> Similarity ) -> [(VertexId, Similarity)] where Seeds.Element == VertexId, VertexVisitationState.Graph == Self, VertexVisitationState.Key == VertexId, VertexVisitationState.Value == VertexColor
-
transposed()
Extension methodReturns a transposed representation of
self
.A graph transpose is a graph of the same size and shape, but where the source and destination of every edge has simpliy been reversed.
To use property maps with the resulting transposed graph, simpliy wrap them in
TransposeGraphPropertyMapAdapter
.Complexity
O(1)Declaration
Swift
public func transposed() -> TransposeGraph<Self>
-
inDegreeDistribution
Extension methodComputes the distribution of in-degrees of all vertices in
self
.Complexity
O(|V| + |E|)Declaration
Swift
public var inDegreeDistribution: DegreeDistribution { get }
-
clusteringCoefficient(of:
Extension method) Returns the local clustering coefficient of the
neighborhood
assumingself
is a directed graph.Precondition
(Not checked)
vertex
does not contain an edge to itself.See also
IncidenceGraph.undirectedClusteringCoefficient
Declaration
Swift
public func clusteringCoefficient(of vertex: VertexId) -> Double
-
averageClusteringCoefficient
Extension methodThe unweighted average clustering coefficient of
self
.Declaration
Swift
public var averageClusteringCoefficient: Double { get }
-
kNNEnhancedHillClimbingSearch(query:
Extension methodk: seeds: similarityBetween: ) Returns the
k
approximate nearest neighbors ofquery
inself
.Note: the vertices are not guaranteed to be in similarity-order!
This algorithm is Algorithm 1 from k-NN Graph Construction: a Generic Online Approach, by Wan-Lei Zhao
Declaration
Swift
public mutating func kNNEnhancedHillClimbingSearch<Similarity: Comparable, Seeds: Collection>( query: VertexId, k: Int, seeds: Seeds, similarityBetween: (VertexId, VertexId, inout Self) -> Similarity ) -> [(VertexId, Similarity)] where Seeds.Element == VertexId
-
kNNInsertApproximateKNearestNeighborEdges(for:
Extension methodk: rng: similarities: similarityBetween: ) Adds
k
edges tovertex
corresponding to approximately thek
nearest neighbors inself
according to the similarity functionsimilarityBetween
; the similarities corresponding to thek
edges are stored insimilarities
.This algorithm is Algorithm 2 from k-NN Graph Construction: a Generic Online Approach, by Wan-Lei Zhao
Declaration
Swift
public mutating func kNNInsertApproximateKNearestNeighborEdges< Similarity: Comparable, RNG: RandomNumberGenerator, VertexSimilarities: PropertyMap >( for vertex: VertexId, k: Int, rng: inout RNG, similarities: inout VertexSimilarities, similarityBetween: (VertexId, VertexId, inout Self) -> Similarity ) -> [(VertexId, Similarity)] where VertexSimilarities.Graph == Self, VertexSimilarities.Key == EdgeId, VertexSimilarities.Value == Similarity
Parameters
rng
The random number generator to use to select seeds.
-
Adds
k
edges tovertex
corresponding to approximately thek
nearest neighbors inself
according to the similarity functionsimilarityBetween
; the similarities corresponding to thek
edges are stored insimilarities
.This algorithm is Algorithm 2 from k-NN Graph Construction: a Generic Online Approach, by Wan-Lei Zhao
Declaration
Swift
public mutating func kNNInsertApproximateKNearestNeighborEdges< Similarity: Comparable, VertexSimilarities: PropertyMap >( for vertex: VertexId, k: Int, similarities: inout VertexSimilarities, similarityBetween: (VertexId, VertexId, inout Self) -> Similarity ) -> [(VertexId, Similarity)] where VertexSimilarities.Graph == Self, VertexSimilarities.Key == EdgeId, VertexSimilarities.Value == Similarity
Parameters
rng
The random number generator to use to select seeds.


Java EE 6 APIs in the Java Platform, Standard Edition 6.0
Several APIs that are required by the Java EE 6 platform are included in the Java Platform, Standard Edition 6.0 (Java SE 6) platform and are thus available to Java EE applications.
Java Database Connectivity API
The Java Database Connectivity (JDBC) API lets you invoke SQL commands from Java programming language methods. You use the JDBC API in an enterprise bean when you have a session bean access the database. You can also use the JDBC API from a servlet or a JSP page to access the database directly without going through an enterprise bean.
The JDBC API has two parts:
An application-level interface used by the application components to access a database
A service provider interface to attach a JDBC driver to the Java EE platform
The Java SE 6 platform requires JDBC 4.0.
Java Naming and Directory Interface API
The Java Naming and Directory Interface (JNDI) API provides naming and directory functionality, enabling applications to access multiple naming and directory services, including existing naming and directory services, such as LDAP, NDS, DNS, and NIS. The JNDI API provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a Java EE application can store and retrieve any type of named Java object, allowing Java EE applications to coexist with many legacy applications and systems.
Java EE naming services provide application clients, enterprise beans, and web components with access to a JNDI naming environment. A naming environment allows a component to be customized without the need to access or change the component’s source code. A container implements the component’s environment and provides it to the component as a JNDI naming context.
A Java EE component can locate its environment naming context by using JNDI interfaces. A component can create a javax.naming.InitialContext object and look up the environment naming context in InitialContext under the name java:comp/env. A component’s naming environment is stored directly in the environment naming context or in any of its direct or indirect subcontexts.
A Java EE component can access named system-provided and user-defined objects. The names of system-provided objects, such as JTA UserTransaction objects, are stored in the environment naming context java:comp/env. The Java EE platform allows a component to name user-defined objects, such as enterprise beans, environment entries, JDBC DataSource objects, and message connections. An object should be named within a subcontext of the naming environment according to the type of the object. For example, enterprise beans are named within the subcontext java:comp/env/ejb, and JDBC DataSource references are named within the subcontext java:comp/env/jdbc.
JavaBeans Activation Framework
The JavaBeans Activation Framework (JAF) is used by the JavaMail API. JAF provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations.
Java API for XML Processing
The Java API for XML Processing (JAXP), part of the Java SE platform, supports the processing of XML documents using Document Object Model (DOM), Simple API for XML (SAX), and Extensible Stylesheet Language Transformations (XSLT). JAXP enables applications to parse and transform XML documents independently of a particular XML processing implementation.
JAXP also provides namespace support, which lets you work with schemas that might otherwise have naming conflicts. Designed to be flexible, JAXP lets you use any XML-compliant parser or XSL processor from within your application and supports the Worldwide Web Consortium (W3C) schema. You can find information on the W3C schema at this URL: http://www.w3.org/XML/Schema.
Java Architecture for XML Binding
The Java Architecture for XML Binding (JAXB) provides a convenient way to bind an XML schema to a representation in Java language programs. JAXB can be used independently or in combination with JAX-WS, where it provides a standard data binding for web service messages. All Java EE application client containers, web containers, and EJB containers support the JAXB API.
The Java EE 6 platform requires JAXB 2.2.
SOAP with Attachments API for Java
The SOAP with Attachments API for Java (SAAJ) is a low-level API on which JAX-WS depends. SAAJ enables the production and consumption of messages that conform to the SOAP 1.1 and 1.2 specifications and SOAP with Attachments note. Most developers do not use the SAAJ API, instead using the higher-level JAX-WS API.
Java API for XML Web Services
The Java API for XML Web Services (JAX-WS) specification provides support for web services that use the JAXB API for binding XML data to Java objects. The JAX-WS specification defines client APIs for accessing web services as well as techniques for implementing web service endpoints. The Implementing Enterprise Web Services specification describes the deployment of JAX-WS-based services and clients. The EJB and Java Servlet specifications also describe aspects of such deployment. It must be possible to deploy JAX-WS-based applications using any of these deployment models.
The JAX-WS specification describes the support for message handlers that can process message requests and responses. In general, these message handlers execute in the same container and with the same privileges and execution context as the JAX-WS client or endpoint component with which they are associated. These message handlers have access to the same JNDI java:comp/env namespace as their associated component. Custom serializers and deserializers, if supported, are treated in the same way as message handlers.
The Java EE 6 platform requires JAX-WS 2.2.
Java Authentication and Authorization Service
The Java Authentication and Authorization Service (JAAS) provides a way for a Java EE application to authenticate and authorize a specific user or group of users to run it.
JAAS is a Java programming language version of the standard Pluggable Authentication Module (PAM) framework, which extends the Java Platform security architecture to support user-based authorization.


How people feel about each candidate
Hover over the graph to see total sentiment scores processed per candidate
Tweet volume per candidate
Hover over the graph to see total volume processed per candidate
Candidates mentioned in the same tweet
Hover over an edge to see how many tweets relate two candidates
Live Tweets
Sentiment scores per candidate
Running live graph of sentiment scores per candidate
lines
stack


At WWDC 14, Apple introduced its new programming language: Swift. Nobody knows
for sure what will happen to Objective-C, but one can only guess it won’t be
around for long. My guess is that Apple will be accepting ObjC apps up till iOS
10, but that is just my guest.
By attending to the WWDC I had the opportunity of directly contacting Apple’s
engineers and insights most of people couldn’t, so in the next posts I’ll cover
the basics of Swift.
It doesn’t matter if you’re new to iOS or an experienced programmer. Now, we’re
all in the same boat. We all have to learn Swift from scratch, so forget
everything you know about Objective-C and get ready to learn this brand new
language. By the way, its potential is overwhelming.
The basics
As far as I could tell, Swift borrows concepts from Python, Javascript and even
Java. It’s syntax also resembles these languages very much.
You can forget about pointers for now, most of what we’ll be using in Swift is
passed through references. No more asterisk (woohoo \o/).
Swift plays with the concepts of variables and constants. There’s no type
definition to neither of those just the declares var, for variables, and let
for constants. As you may have figured out, constants can’t be altered. We’ll
cover when to use it in a few steps.
var foo = "this is getting good"
let x = 42
Yep, there are no semi-colons at the end of statements.
Switches are extremely powerful. Cases
can be variables, strings, even a range
of numbers. Also, cases don’t automatically fall through the next condition, so
there’s no need to break
.
switch myvar {
case 4:
// do something
case someOtherVar:
// this is getting wild
case "string":
// holy cow!
case 1..4:
// ok, this is awesome
default:
// something unimplemented
}
There’s also no need for surrounding parenthesis when working with conditions,
unless it’s a complex condition, as usual. Switches in Swift (yep, try saying
that three times) are exhaustive. That means that you must either supply cases
for every possible condition or a default
to handle everything else.
XCode will error at compile time if you don’t.
The final topic of this post is how you’ll print output to the console. It’s as
simple as calling println()
(it’s a function) and you’re done.
Formatting strings is also awsome:
var name = "Flavio"
println("Hello \(name)!")
// Hello Flavio!
This is enough to get started and get familiar with Swift. Go ahead, poke it
around, but don’t try to get fancy just yet. I’ll be covering more in the next
few days.


The basic idea of latent semantic analysis (LSA) is, that text do have a higher order (=latent semantic) structure which, however, is obscured by word usage (e.g. through the use of synonyms or polysemy). By using conceptual indices that are derived statistically via a truncated singular value decomposition (a two-mode factor analysis) over a given document-term matrix, this variability problem can be overcome.
| Version: | 0.73.1 |
| Depends: | SnowballC |
| Suggests: | tm |
| Published: | 2015-05-08 |
| Author: | Fridolin Wild |
| Maintainer: | Fridolin Wild <f.wild at open.ac.uk> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| Materials: | ChangeLog |
| In views: | NaturalLanguageProcessing |
| CRAN checks: | lsa results |
| Reference manual: | lsa.pdf |
| Package source: | lsa_0.73.1.tar.gz |
| Windows binaries: | r-devel: lsa_0.73.1.zip, r-release: lsa_0.73.1.zip, r-oldrel: lsa_0.73.1.zip |
| OS X binaries: | r-release: lsa_0.73.1.tgz, r-oldrel: lsa_0.73.1.tgz |
| Old sources: | lsa archive |
| Reverse depends: | AurieLSHGaussian, LSAfun, RWBP |
| Reverse imports: | DCD, DiffNet, DTWBI, DTWUMI, FSMUMI, IBCF.MTME, IntClust |
| Reverse suggests: | quanteda |
Please use the canonical form https://CRAN.R-project.org/package=lsa to link to this page.


MIT License
Copyright (c) 2020 Muhammad Osaid and Ethan Chew
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Any opinions, chats, messages, news, research, analyses, prices, or other information contained on this project are provided as general market information for educational and entertainment purposes only, and do not constitute investment advice. The program should not be relied upon as a substitute for extensive independent market research before making your actual trading decisions. Opinions, market data, recommendations or any other content is subject to change at any time without notice. The contributers will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.


Accusations of 'Emergency Funds' Misuse
MPs concerned about lack of oversight for “emergency funds” by president and chief executive.
by Zabihullah JahanmalMinisters and members of parliament say that the use of budgetary Codes 91 and 92—emergency funds—by President Ghani and Chief Executive Abdullah is not in accordance with the stated purpose of these codes, and that these funds have been enlarged without adhering to the predetermined budget.
Zahid Hamdard, the deputy minister of finance, told Tolonews that Code 91—of which 70 percent is controlled by the president and 30 percent by the chief executive--has been spent on “security, construction, salaries and land purchase.”
“Unfortunately,” said Hamdard, “they spent the budget to strengthen governmental administrations. Although it is legal, it is not in accordance with the stated purpose of the codes,” Said Hamdard.
The financial and budget commission of the Wolesi Jiga, or lower house of the Afghan parliament, said they found documents showing that more than 1,7 billion Afs were added to Code 91 and 200 million Afs were added to Code 92, and these extra funds were not accounted for in the original budget.
The suspicion, which has been raised before, is that money from other itemized, “ordinary” budget funds is transferred into these emergency funds because they allow for less transparency. They can be spent at the discretion of the president and the chief executive and are no longer tied to any pre-determined budgetary allocation.
MPs concerned about the increased spending from the emergency codes say that it decreases transparency within the government. Out of 29 emergency codes in the budget, the 92 code is allocated for unforeseen situations, but MPs say the funds are being spent on large salaries and operations.
“They paid high salaries to their advisers, which is not transparent,” said Sadaf Karimi, an MP.


| ID | Title | Assays | Species | Release Date | Processed | Raw | Atlas |
|---|---|---|---|---|---|---|---|
|
E-GEOD-18978
|
Transcription profiling of Arabidopsis thaliana mutant leaves treated with Pseudomonas syringae
ES4326
|
24
|
Arabidopsis thaliana
|
2009-12-04
|
|||
|
E-MEXP-1566
|
Transcription profiling of Arabidopsis WT and ABR17-transgenics under salt stress
|
12
|
Arabidopsis thaliana
|
2009-04-03
|
|||
|
E-GEOD-9178
|
Transcription profiling of Escherichia coli (APEC) avian pathogenic Pst mutant
|
8
|
Escherichia coli
|
2008-10-24
|
|||
|
E-GEOD-9374
|
Transcription profiling of soybean genetically modified vs. unmodified
|
25
|
Glycine max
|
2008-06-15
|
|||
|
E-GEOD-7454
|
Transcription profiling of human osteosarcoma derived cell lines treated with decitabine
|
4
|
Homo sapiens
|
2008-06-14
|
|||
|
E-GEOD-5011
|
Transcription profiling of mouse bone marrow mesenchymal stem cells at multiple time points to
investigate their therapeutic potential after multiple passages for treatment of autoimmune
encephalomyelitis
|
10
|
Mus musculus
|
2008-06-12
|
|||
|
E-GEOD-2668
|
Transcription profiling of human AML cell line OCI/AML2 treated with valproic acis and all
trans retinoic acid
|
4
|
Homo sapiens
|
2008-06-11
|
|||
|
E-GEOD-2204
|
Transcription profiling of mouse ES cells versus XEN cells
|
4
|
Mus musculus
|
2008-06-11
|
|||
|
E-GEOD-2174
|
Transcription profiling of human cord blood derived mononuclear cells after cultur with
cytokines
|
10
|
Homo sapiens
|
2008-06-10
|
|||
|
E-MEXP-1054
|
Transcription profiling of MutaMouse epithelial lung cell line, MutaMouse lung tissue and a
primary MutaMouse lung cell culture
|
12
|
Mus musculus
|
2007-05-18
|
|||
|
E-TOXM-40
|
Transcription profiling of rat cerebellum following in utero and lactational exposure to
mixtures of methylmercury, polychlorinated biphenyls and organochlorine pesticides
|
58
|
Rattus norvegicus
|
2007-02-21
|
|||
|
E-MNIA-65
|
Transcription profiling of mouse ES, EC, NS, TS, placenta and neural induction (N2B27)
comaprison
|
43
|
Mus musculus
|
2006-01-16
|
|||
|
E-MEXP-525
|
Transcription profiling validation of an custom mouse oligo array using liver samples following
treatment with the hepatotoxin phenobarbital and variable hybridization protocols
|
57
|
Mus musculus, Arabidopsis thaliana
|
2006-01-12
|
|||
|
E-MNIA-66
|
Transcription profiling of E12.5 mouse whole embryo, E12.5 placenta, embryonic stem (ES) cells,
and trophoblast stem (TS) cells on a novel microarray design to validate the system
|
12
|
Mus musculus
|
2005-11-17
|
|||
|
E-MEXP-341
|
Transcription profiling of adenoma and corresponding normal mucosa in human colorectal cancer
cases
|
20
|
Homo sapiens
|
2005-06-22
|


{% extends 'base.html' %} {% load static %} {% block title_block %}Home-Blog{% endblock %} {% block css_files %} {% endblock %} {% block content %} Lucyfer's Blog Hi I'am Lucy and i love to Blog My latest posts {% for po in post_l %} {% include 'blog/includes/post.html' %} {% endfor %} What i do ? I love to do coding and learning new things , i also like to do photography I want to became a good developer so i am doing the coding practice.. {% endblock %}
Hi I'am Lucy and i love to Blog
I love to do coding and learning new things , i also like to do photography
I want to became a good developer so i am doing the coding practice..


Date the template was first created
List of database retention policy pairs the task is allowed to access.
GraphViz DOT syntax formatted representation of the task DAG.
Any error encountered when executing the task.
Whether the task is currently executing.
Unique identifier for the task. If empty a random ID will be chosen.
Date the task was last set to status enabled
When creating resources in Kapacitor the API server will
return a link
object with an href
of the resource.
Clients should not need to perform path manipulation in
most cases and can use the link
provided from previous calls.
Date the template was last modified
The content of the script.
Map of statistics about a task.
One of enabled
or disabled
.
An optional ID of a template to use instead of specifying a TICKscript and type directly.
The task type: stream
or batch
.
A set of vars for overwriting any defined vars in the TICKscript.
Generated using TypeDoc
TaskFields is an enumeration of kapacitor task fields.


Sometimes page caching can prevent this page from showing updated results. To make sure you are viewing the most recent results, try using the button below or hard-refreshing this page with Ctrl+F5.
Ctrl+F5


"Besides whether it works, I also care about whether it looks nice." That is what I always think, which may be different from most engineers.
For me, UI designing isn't about making a complicated looking website with a bunch of flashing effects, but creating a user interface that is extremely user-friendly, which indicates, it should be easy to navigate, and makes user feel comfortable looking at it.
For me, making things look nice is what I am passionate about. Tiny things like one or two pixels, color selection, color contrast, border radius on buttons all contribute to the perfect look of a website. And I am the one who is willing to spend a long time making the UI as good as it can be.


Mac developers often work in the Terminal to use the Swift package manager, install macOS packages with Homebrew, collaborate on projects with Git and GitHub, run server side Swift code, etc. Below are some tips for working in the macOS Terminal.
The Z shell (or zsh) is the default shell for macOS. Pure improves the zsh command prompt in the terminal. Use the suggested theme in the Pure documentation.
Create a ~/.zshrc file to configure the Z shell. The .zshrc file shown below assumes Pure, Xcode, and Miniconda have been installed on the Mac.
# Pure prompt configuration
# https://github.com/sindresorhus/pure
# ----------------------------------------------------------------------------
fpath+=$HOME/.zsh/pure
autoload -U promptinit; promptinit
prompt pure
PURE_GIT_DOWN_ARROW=⬇
PURE_GIT_UP_ARROW=⬆
# Coreutils aliases
# brew install coreutils
# ----------------------------------------------------------------------------
# List files line-by-line including hidden files
alias la="gls -aho --group-directories-first --color=auto"
# List files line-by-line excluding hidden files
alias ll="gls -ho --group-directories-first --color=auto"
# Zsh configuration
# ----------------------------------------------------------------------------
# Change to ~/Desktop when launching terminal
cd ~/Desktop
# Enable completion system
autoload -Uz compinit && compinit
# Enable color for `ls` output
export CLICOLOR=1
# Set VIM as the default terminal editor
export VISUAL=vim
export EDITOR=vim
# Use ipdb as the Python breakpoint() debugger
export PYTHONBREAKPOINT=ipdb.set_trace
# Open Sublime Text from command line
alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"
# Change directory without using `cd`
setopt AUTO_CD
# List files after changing directory
function chpwd() {
emulate -L zsh
la
}
# Workaround for Visual Studio Code integrated terminal
if [[ -v VSCODE_GIT_IPC_HANDLE ]]; then
conda deactivate
conda activate
fi
Various keyboard shortcuts for working with the command line prompt.
# My preferred permissions for folders and files
chmod 755 # folder permissions
chmod 644 # file permissions
# Copy all the files in a folder into another folder
cp -R folderA/. folderB
# List the contents of a folder or of a specified folder
ls
ls folderA/
# Rename a file or folder
mv oldname.txt newname.txt
mv oldfolder/ newfolder/
# Remove a folder that already contains files
rm -rf folderA/
# Move all files from one folder to another folder. Example below demonstrates
# moving all the files from the Downloads folder to the Videos folder
mv ~/Downloads/* ~/Videos
Open a file from the macOS terminal.
open fileA.txt # open a file in its default application
open -a safari fileA.txt # opens with the specified application
open -R fileA.txt # selects the file in a Finder window
hdiutil attach Secure.dmg # mount a dmg volume named "Secure.dmg"
hdiutil detach /Volumes/Secure # unmount a volume named "Secure"
Swift Programming for macOS © 2023
Built by Gavin Wiggins


The effect of temperature (27 and 30°C) and elevated CO 2 (405 and 930 μatm) on the interaction between dottyback predator ( P. fuscus) and its damselfish prey ( P. wardi); ( a) capture success, ( b) predation rate, ( c) prey reaction distance, ( d) escape distance and ( e) escape speed [modified version from Allan et al. (2017) ].


First Number:
Second Number:
Third Number:
Fourth Number:
Fifth Number:
Results:
Click to fade results


The Pirate Bay
Search Torrents
|
Browse Torrents
|
Recent Torrents
|
TV shows
|
Music
|
Top 100
Preferences
Languages
All
Audio
Video
Applications
Games
Porn
Other
How do I download?


Features
Prices
About
Login
Register
Pricing
Unlimited usage of all Converdiant features is included.
My website has
select amount
up to 20 000
up to 50 000
up to 100 000
up to 250 000
up to 500 000
up to 750 000
up to 1 000 000
above 1 000 000
visitors per month
Standard
Enterprise
Price
€
/ month
€
/ month
Features
Unlimited use of all features
Free support
SUCCESS MANAGER
Dedicated Success Manager
Tailored Plan
Next Day Action
Start your free trial
Contact us


Database
Database localisation
All data are given in a Database.xlsx file in the data folder.
The data used for training the currently provided mdels are in HDF5 format in the data folder.
Data preparation
Run the script Dataset_preparation.py to prepare the datasets, which are subsequently saved in HDF5 format in the data folder.
The Dataset_visualization.py script allows running the generation of several figures, saved in /figures/datasets/
Processed Raman spectra are also shown in /figures/datasets/raman/


Representing complex data
We’ve seen:
base types:
Bool
,Int
,Integer
,Float
some ways to build up types: given types
T1, T2
- functions:
T1 -> T2
- tuples:
(T1, T2)
- lists:
[T1]
- functions:
Algebraic Data Types: a single, powerful technique for building up types to represent complex data
- lets you define your own data types
- subsumes tuples and lists!
Algebraic Data Types
Type Synonyms: naming existing types
Product Types: bundling things together
Sum Types: types with multiple variants
Recursive Types: types that contain themselves
Polymorphic Datatypes: datatypes with parameters
Type Synonyms
Synonyms are just names (“aliases”) for existing types
- think
typedef
inC
A type to represent circles
A tuple (x, y, r)
is a circle with center at (x, y)
and radius r
type CircleT = (Double, Double, Double)
A type to represent cuboids
A tuple (length, depth, height)
is a cuboid
type CuboidT = (Double, Double, Double)
Using Type Synonyms
We can now use synonyms by creating values of the given types
circ0 :: CircleT
= (5, 1, 100) -- circle at (5,1) with radius 100
circ0
cub0 :: CuboidT
= (10, 20, 30) -- cuboid with l=10, d=20, h=30 cub0
And we can write functions over synonyms too
area :: CircleT -> Double
= pi * r * r
area (x, y, r)
volume :: CuboidT -> Double
= l * d * h volume (l, d, h)
We should get this behavior
>>> area circ0
31415.926535897932
>>> volume cub0
6000
QUIZ
Suppose we have the definitions
type CircleT = (Double, Double, Double)
type CuboidT = (Double, Double, Double)
circ0 :: CircleT
= (5, 1, 100) -- circle at (5,1) with radius 100
circ0
cub0 :: CuboidT
= (10, 20, 30) -- cuboid with length=10, depth=20, height=30
cub0
area :: CircleT -> Double
= pi * r * r
area (x, y, r)
volume :: CuboidT -> Double
= l * d * h volume (l, d, h)
What is the result of
>>> volume circ0
A. 500
B. Type error
Answer: A
Beware!
Type Synonyms
Do not create new types
Just name existing types
And hence, synonyms
- Do not prevent confusing different values
Algebraic Data Types
Type Synonyms: naming existing types [done]
Product Types: bundling things together
Sum Types: types with multiple variants
Recursive Types: types that contain themselves
Polymorphic Datatypes: datatypes with parameters
Creating New Data Types
We can avoid mixing up values by creating new data
types
-- | A new type `Circle` with constructor `MkCircle`,
-- which takes three arguments of type `Double`
data Circle = MkCircle Double Double Double
-- | A new type `Cuboid` with constructor `MkCuboid`
-- which takes three arguments of type `Double`
data Cuboid = MkCuboid Double Double Double
We use constructors to build values of the new type:
circ1 :: Circle
= MkCircle 5 1 100 -- circle at (5,1) w/ radius 100
circ1
cub1 :: Cuboid
= MkCuboid 10 20 30 -- cuboid w/ len=10, dep=20, ht=30 cub1
QUIZ
Suppose we create a new type with a data
definition
-- | A new type `Circle` with constructor `MkCircle`
data Circle = MkCircle Double Double Double
What is the type of the MkCircle
constructor?
A. MkCircle :: Circle
B. MkCircle :: Double -> Circle
C. MkCircle :: Double -> Double -> Circle
D. MkCircle :: Double -> Double -> Double -> Circle
E. MkCircle :: (Double, Double, Double) -> Circle
Answer: D
Aside: Record syntax
Haskell’s record syntax allows you to name the constructor parameters:
Instead of
data Circle = MkCircle Double Double Double
you can write:
data Circle = MkCircle { center_x :: Double, center_y :: Double, radius :: Double }
then you can do:
= MkCircle { center_x = 5, center_y = 1, radius = 100 } circ1 -- same as: circ1 = MkCircle 5 1 100 = radius circ1 -- use field name as a function r
QUIZ
Suppose we have the definitions
type CuboidT = (Double, Double, Double)
data Cuboid = MkCuboid Double Double Double
volume :: CuboidT -> Double
= l * d * h volume (l, d, h)
What is the result of
>>> volume (MkCuboid 10 20 30)
A. 6000
B. Type error
Answer: B
Deconstructing Data
Constructors let us build values of new type … but how to use those values?
How can we implement a function
volume :: Cuboid -> Double
= ??? volume c
such that
>>> volume (MkCuboid 10 20 30)
6000
Deconstructing Data by Pattern Matching
Haskell lets us deconstruct data via pattern-matching
volume :: Cuboid -> Double
MkCuboid l d h) = l * d * h
volume (
area :: Circle -> Double
MkCircle x y r) = pi * r * r area (
same as for tuples, just using different constructors!
Algebraic Data Types
Type Synonyms: naming existing types [done]
Product Types: bundling things together [done]
Sum Types: types with multiple variants
Recursive Types: types that contain themselves
Polymorphic Datatypes: datatypes with parameters
Defining new types with data
prevents us from mixing up values:
area :: Circle -> Double
MkCircle x y r) = pi * r * r
area (
>>> area (MkCuboid 10 20 30) -- TYPE ERROR!
But … what if we need to mix up values?
A List of Shapes
Suppose I need to represent a list of shapes
- Some
Circle
s - Some
Cuboid
s
What is the problem with shapes
as defined below?
= [circ1, cub1] shapes
Where we have defined
circ1 :: Circle
= MkCircle 5 1 100 -- circle at (5,1) with radius 100
circ1
cub1 :: Cuboid
= MkCuboid 10 20 30 -- cuboid with length=10, depth=20, height=30 cub1
This does not type-check!
All list elements must have the same type!
Solution?
Sum types
Lets create a single type that can represent both kinds of shapes!
data Shape
= MkCircle Double Double Double -- Circle at x, y with radius r
| MkCuboid Double Double Double -- Cuboid with length, depth, height
A sum type is a data type with multiple constructors
- aka enum in Rust
- aka (tagged) union in C
QUIZ
With the definition:
data Shape
= MkCircle Double Double Double -- Circle at x, y with radius r
| MkCuboid Double Double Double -- Cuboid with length, depth, height
What is the type of MkCircle 5 1 100
?
A. Shape
B. Circle
C. MkCircle
D. (Double, Double, Double)
Answer: A
List of Shapes: Take 2
Now we can define
circ2 :: Shape
= MkCircle 5 1 100 -- circle at (5,1) with radius 100
circ2
cub2 :: Shape
= MkCuboid 10 20 30 -- cuboid with length=10, depth=20, height=30 cub2
and then define collections of Shape
s
shapes :: [Shape]
= [circ2, cub2] shapes
2D Shapes
Lets define a type for 2D shapes
data Shape2D
= MkRect Double Double -- rectangle with width and height
| MkCirc Double -- circle with radius
| MkPoly [Vertex] -- polygon with a list of vertices
type Vertex = (Double, Double)
Different constructors can have different types!
Tagged Boxes
A values of type Shape2D
is either two doubles tagged with Rectangle
>>> :type (Rectangle 4.5 1.2)
Rectangle 4.5 1.2) :: Shape (
or a single double tagged with Circle
>>> :type (Circle 3.2)
Circle 3.2) :: Shape (
or a list of pairs of d tagged with Polygon
> :type (Polygon [(1, 1), (2, 2), (3, 3)])
ghciPolygon [(1, 1), (2, 2), (3, 3)]) :: Shape (
How do we get the value out of the box?
EXERCISE
Write a function to compute the perimeter
of a Shape2D
data Shape2D = MkRect Double Double | MkCirc Double | MkPoly [Vertex]
type Vertex = (Double, Double)
perimeter :: Shape2D -> Double
= ??? perimeter s
HINT
You may want to use this helper that computes the distance between two points
distance :: Vertex -> Vertex -> Double
= sqrt ((x2 - x1) ** 2 + (y2 - y1) ** 2) distance (x1, y1) (x2, y2)
Algebraic Data Types
Type Synonyms: naming existing types [done]
Product Types: bundling things together [done]
Sum Types: types with multiple variants [done]
Recursive Types: types that contain themselves
Polymorphic Datatypes: datatypes with parameters
Recursive types
Have we seen an example already where
- a value of type
T
- contains another value of the same type
T
inside?
Yes, lists!
Lists aren’t built-in! They are an algebraic data type like any other:
data IntList
= INil -- empty list
-- ^ base constructor
| ICons Int IntList -- list with Int head and IntList tail
-- ^ inductive constructor (contains another IntList)
QUIZ
data IntList
= INil -- empty list
| ICons Int IntList -- list with Int head and IntList tail
What is the type of ICons
?
A. IntList
B. Int -> IntList
C. (Int, IntList)
D. Int -> IntList -> IntList
E. IntList -> IntList
Answer: D
EXERCISE
With the definition:
data IntList = INil | ICons Int IntList
Write down an IntList
representation of the list [1,2,3]
list_1_2_3 :: IntList
= ??? list_1_2_3
Recursion means boxes within boxes
Functions on recursive types
Recursive code mirrors recursive data
data IntList
= INil -- base constructor
| ICons Int IntList -- inductive constructor
Step 1: add a pattern per constructor
length :: IntList -> Int
length INil = ... -- base case
length (ICons x xs) = ... -- recursive case
Step 2: fill in base case:
length :: IntList -> Int
length INil = 0
length (ICons x xs) = ...
Step 3: fill in inductive case using a recursive call:
length :: IntList -> Int
length INil = 0
length (ICons x xs) = 1 + length xs
-- ^ recursive call on the "nested box"
EXERCISE: Append
Write an append
function that appends two IntList
s:
data IntList = INil | ICons Int IntList
append :: IntList -> IntList -> IntList
= ??? append
so that we can call:
-- [1,2] ++ [3,4] ==> [1,2,3,4]
>>> append (ICons 1 (ICons 2 INil)) (ICons 3 (ICons 4 INil))
ICons 1 (ICons 2 (ICons 3 (ICons 4 INil)))) (
append :: List -> List -> List
Nil ys = ys
append Cons x xs) ys = Cons x (append xs ys) append (
Lessons Learned
- Recursive code mirrors recursive data
- With multiple arguments of a recursive type, which one should I recurse on?
- The name of the game is to pick the right inductive strategy!
Trees
Lists are unary trees:
How do we represent binary trees?
QUIZ: Binary trees
How do you represent this binary tree as a recursive datatype?
(A) data ITree = ILeaf | INode Int ITree
(B) data ITree = ILeaf | INode ITree ITree
(C) data ITree = ILeaf | INode Int ITree ITree
(D) data ITree = ILeaf Int | INode ITree ITree
(E) data ITree = ILeaf Int | INode Int ITree ITree
Answer: C
-- | Binary tree of integers
data ITree = ILeaf | INode Int ITree ITree
= INode 1
t1234 INode 2 (INode 3 ILeaf ILeaf) ILeaf)
(INode 4 ILeaf ILeaf) (
Functions on trees
height :: Tree -> Int
Leaf = 0
height Node _ l r) = 1 + max (height l) (height r) height (
Example: Calculator
I want to implement an arithmetic calculator to evaluate expressions like:
4.0 + 2.9
3.78 – 5.92
(4.0 + 2.9) * (3.78 - 5.92)
What is a Haskell datatype to represent these expressions?
data Expr = ???
data Expr = Num Float
| Add Expr Expr
| Sub Expr Expr
| Mul Expr Expr
EXERCISE: Eval
With expressions defined as follows:
data Expr = Num Float
| Add Expr Expr
| Sub Expr Expr
| Mul Expr Expr
write a function to evaluate an expression
eval :: Expr -> Float
Num f) = f
eval (Add e1 e2) = eval e1 + eval e2
eval (Sub e1 e2) = eval e1 - eval e2
eval (Mul e1 e2) = eval e1 * eval e2 eval (
Algebraic Data Types
Type Synonyms: naming existing types [done]
Product Types: bundling things together [done]
Sum Types: types with multiple variants [done]
Recursive Types: types that contain themselves [done]
Polymorphic Datatypes: datatypes with parameters
Parameterized Types
Our IntList
datatype can only store Int
s :-(
What if we want to store Char
s or Double
s?
data CharList
= CNil
| CCons Char CharList
data DoubleList
= DNil
| DCons Char DoubleList
Don’t Repeat Yourself!
Don’t repeat definitions - Instead reuse the list structure across all types!
Find abstract data patterns by
- identifying the different parts and
- refactor those into parameters
A Refactored List
Here are the three types: What is common? What is different?
data IList = INil | ICons Int IList
data CList = CNil | CCons Char CList
data DList = DNil | DCons Double DList
Common: Nil
/Cons
structure
Different: type of each “head” element
Refactored using Type Parameter
-- | A list of elements of type `a`
data List a = Nil | Cons a (List a)
We can recover original types as instances of List
:
iList :: List Int -- list where 'a' = 'Int'
= Cons 1 (Cons 2 (Cons 3 Nil))
iList
cList :: List Char -- list where 'a' = 'Char'
= Cons 'a' (Cons 'b' (Cons 'c' Nil))
cList
dList :: List Double -- list where 'a' = 'Double'
= Cons 1.1 (Cons 2.2 (Cons 3.3 Nil)) dList
QUIZ
data List a = Nil | Cons a (List a)
What is the type of Cons
?
A. Int -> List -> List
B. Int -> List Int -> List Int
C. Char -> List Char -> List Char
D. a -> List -> List
E. a -> List a -> List a
Answer: E
Polymorphic Data has Polymorphic Constructors
Look at the types of the constructors
>>> :type Nil
Nil :: List a
That is, Nil
is a value of any kind of list, and
>>> :type Cons
Cons :: a -> List a -> List a
Cons
takes an a
and a List a
and returns a List a
.
Polymorphic Functions
Let us refactor the append
function to work on List
s:
data List a = Nil | Cons a (List a)
append :: ??? -- What is the type of `append`?
= ??? append
Polymorphic Functions over Polymorphic Data
The append
function on List
s is polymorphic:
append :: List a -> List a -> List a
Nil ys = ys
append Cons x xs) ys = Cons x (append xs ys) append (
append
doesn’t care about the actual values in the list
- only manipulates the structure of the list
Hence append :: List a -> List a -> List a
- we can call
append
on lists of any kind - as long as both lists are of the same kind
>>> append (Cons 1 (Cons 2 Nil)) (Cons 3 Nil) -- a = Int
Cons 1 (Cons 2 (Cons 3 Nil))
>>> append (Cons 'a' (Cons 'b' Nil)) (Cons 'c' Nil) -- a = Char
Cons 'a' (Cons 'b' (Cons 'c' Nil))
>>> append (Cons 1.1 (Cons 2.2 Nil)) (Cons 'a' Nil) -- a = ?
???
Built-in Lists?
This is exactly how Haskell’s “built-in” lists are defined:
data [a] = [] | (:) a [a]
data List a = Nil | Cons a (List a)
Nil
is called[]
Cons
is called:
Many list manipulating functions e.g. in Data.List
are polymorphic
- Can be reused across all kinds of lists.
(++) :: [a] -> [a] -> [a]
head :: [a] -> a
tail :: [a] -> [a]
Type Constructors
List a
is a type (of lists whose elements are of type a
)
a
is the type parameter
Then what is List
?
A type-constructor that
- takes as input a type
a
- returns as output the type
List a
That’s all folks!


{% extends 'main/base.html' %} {% load crispy_forms_tags %} {% block content %}
{{ project.title }} {{ design_mean }}
{{ project.description }}
| # | User | Design | Usability | Content |
|---|---|---|---|---|
| Average | All | {{ design_average }} | {{ usability_average }} | {{ content_average }} |
| {{ forloop.counter }} | {{ rating.user.username }} | {{ rating.design }} | {{ rating.usability }} | {{ rating.content }} |


noms
about
contact
sign up
get notified with emails
name
email
college
subscribe
unsubscribe
submit
form has been submitted!


Juno Spacecraft's July 4 Jupiter Arrival:
Complete Mission Coverage
Rosetta Comet Probe Bounces Back from Glitch
Antares Rocket Static Test Fire Sets Stage for Return to Flight
Jupiter's Gravity Embraces NASA's Juno Spacecraft
'Space Selfies' Scrapped, But Asteroid Mining Company Raises $21M


Fan Registration Fan Information E-Mail: First Name: Last Name: Address: City: State: ZIP Code: Phone Number: Favourite Lebron Moment Membership Option Yearly Monthly Weekly One day Payment Card Type: Credit Card Debit Card Premium Card Credit Card Debit Card Premium Card Credit Card Debit Card Premium Card Card Number: Expiration Date: January February March April May June July August Spetember October November December 2017 2018 2019 2020 2021 Choose right options: 1+2 = 3 4-3 = 2 3+8 = 11 9+8 = 1 8-5 = 3 2+0 = 2 1-1 = 1 Submit Your Order


--- title: Portfolio layout: collection permalink: /portfolio/ collection: portfolio entries_layout: grid classes: wide header: overlay_image: /assets/images/portfolio.jpg author_profile: true ---
In this page I show my personal portfolio. Here you can find the most interesting projects and jobs I have worked in.
This page is under construction. Here I will add the projects I've done.


§70. Acting governor in certain contingencies. That in case of the death, removal, resignation, or disability of the governor, or his absence from the Territory, the secretary shall exercise all the powers and perform all the duties of governor during such vacancy, disability, or absence, or until another governor is appointed and qualified.
Cf. U.S. Rev. Sts., §1843.


Standards and Testing Agency
Email<EMAIL_ADDRESS>National curriculum assessments helpline 0300 303 3013
For general enquiries about national curriculum tests.
Guidance
Read up-to-date guidance on submitting key stage 2 teacher assessment data .
Instructions on submitting teacher assessment data for key stage 2, correct codes to use and how to deal with common errors. This page will be updated for the 2015 to 2016 assessment cycle.
This guidance applied to the 2015 test cycle and is for reference only. It will shortly be updated for 2016.
Teacher assessment ( TA ) data must be submitted via the NCA tools website . There are 2 ways to do this:
The LA should have contacted you to discuss local arrangements if they are submitting TA data on your behalf. If you have not agreed local arrangements, please contact your LA .
You must use the following codes when recording and submitting TA and P scale data.
| Code | Description |
|---|---|
| 1-6 | Curriculum level achieved |
| A | Absent, or not enough information available to calculate a TA level |
| D | Disapplied - used when a pupil has been disapplied from the national curriculum, including statutory assessment requirements. This code is used for TA only and should not appear on the attendance registers for the key stage 2 tests. |
| L | Pupil has left the school |
| W | Working towards level 1 |
| F | Pupil will reach the end of the programme of study and take the relevant key stage assessment in the future. For example, if a pupil takes a mathematics test a year early in 2014 but is not due to take English until 2015, English should be marked as ‘F’. |
| P | Pupil has already completed the programme of study, the relevant key stage assessment has been taken and a TA result has been reported in the past. For example, if a pupil took a mathematics test in 2014 and is taking English in 2015, mathematics should be marked as ‘P’. |
| P scales | See the P scales for details. |
Once you have submitted your TA file, you will be presented with one of the following results.
This notification will confirm the successful submission of your TA file. If you would like a copy of your TA upload summary, click ‘Print’.
This means that you will need to review the warning message(s) and take the corrective action(s) on the error report in the ‘Action required summary’ table. You may need to upload your file again. The report can be printed for easier offline working.
Your upload attempt has failed. Please review the error message(s) and take the corrective action(s) on the error report in the ‘Action required summary’ table. The report can be printed for easier offline working. When you have completed the corrective action(s), please resubmit your file.
You can view the data you have submitted through the ‘Teacher assessment file upload report’ in NCA tools . You will be redirected to this page when you have uploaded a file to NCA tools. You can also view this page at any point by clicking on ‘View teacher assessment’, and then clicking on the ‘Upload report’ link in the file upload history at the bottom of the screen.
The report tells you what has been uploaded from your specific file and details of any errors or warnings. There are 2 tabs:
The summary box at the top of the screen shows the number of records uploaded and updated in that file. The number of records with errors is also shown.
If any of your pupils have been uploaded with errors or warnings, details of these will be shown here, along with what corrective action should be taken.
You will see a warning if the number of pupils you have uploaded is not consistent with the number of pupils expected, ie the number of pupils shown in the expected pupils list. A warning will also be displayed if data has not been provided for all pupils for all subjects. Independent schools are only required to submit TA for pupils who took the 2015 key stage 2 tests in those subjects.
You can view a summary of your complete TA submission, based on all the files you have uploaded, by clicking on the ‘Teacher assessment summary’ tab. This will display a pie chart showing the number of:
If a ‘W’ is reported for the overall subject you must supply corresponding P scales. To correct the error upload the missing P scales for the pupil.
Only TA levels W, 1, 2, 3, 4, 5 or 6, non-assessing codes A, D, L, F, P, or P scale codes P1i, P1ii, P2i, P2ii, P3i, P3ii, P4, P5, P6, P7 or P8 can be uploaded. Anything else will be rejected. You should re-upload your file containing one of the allowable values. This will overwrite any invalid results.
This message will be displayed if you upload a spreadsheet with no data populated, or if you upload a CTF which does not contain TA levels for the current year. You should check that your CTF includes data with:
If you have uploaded a pupil in error, ie one that is not shown in the prepopulated spreadsheet and is not at the end of key stage 2, you can delete the pupil by clicking on the ‘Delete pupil’ button on the ‘View teacher assessment’ screen.
Note: if you delete a pupil that the Standards and Testing Agency ( STA ) is expecting to receive data for, it will be highlighted red and you will be asked to resubmit.
You can change the levels that you have submitted by simply uploading another file with the corrected data. This will update what has already been uploaded.
You only need to include the changes you wish to make; data that was previously uploaded correctly does not need to be re-uploaded.
If a pupil you have uploaded has the wrong UPN , eg if they were registered with a temporary UPN and they have now been allocated a permanent UPN , you can correct it by uploading that pupil again with their new UPN . Do not change any of the other details otherwise NCA tools will view this as a new pupil.
If a pupil has been uploaded with the wrong name or date of birth then as long as this matches what’s shown in the spreadsheet template, no further action needs to be taken.
The details in the spreadsheet are those which were confirmed during pupil registration so if you make changes to this information it may delay STA when matching the TA result to the test result.
You will be able to make amendments during the school performance tables checking exercise. If these details do not match what is held in the spreadsheet, eg if it is a new pupil that has been added with the wrong details, or appears in the CTF from the MIS incorrectly, you can correct by uploading the file again with the new details.
If NCA tools does not recognise it as the same pupil, it may create a duplicate. You should then delete the incorrect pupil from your submission (see Wrong pupil uploaded ).
A pupil should only be deleted from your TA submission if they were uploaded in error. Corrections to TA can be made by submitting another file which will refresh data, but will not remove data or pupils that have already been submitted.
A pupil can be deleted if they:
A pupil should not be deleted in the following cases.
If you wish to delete your whole cohort (eg if you uploaded the wrong year group, or there are too many errors in your submission and you want to start again), please call the national curriculum assessments helpline .
Email<EMAIL_ADDRESS>National curriculum assessments helpline 0300 303 3013
For general enquiries about national curriculum tests.
Published: 18 April 2013
Updated: 13 May 2015