text:
Estrella-Golfer
Golf Travel » Mazatlan's Estrella del Mar »
Mazatlan's Estrella del Mar Gated Enclave Features RJT II Course Talk to anyone who knows Puerto Vallarta, Mexico, and they'll wax nostalgic about the 1980s, when newly built Pacific…
Lobo Woman Golfer Wins in… University of New Mexico women's golfer Manon de Roey won the Concentra Securitas Omnium tournament in July at the Limburg Golf and Country Club (par…
Watch Kevin Na Make a 16 at… (SAN ANTONIO, TEXAS) April 18, 2011. How can a professional golfer make a 16 on a hole? Kevin Na did it at the Valero Texas…
Not Yelling 'Fore' Isn't… (ALBANY, N.Y.) Jan. 13, 2011 -- The New York Supreme Court has upheld a lower court's ruling that a golfer's failure to yell "fore" doesn't…
Effect of Altitude, Heat,… Altitude's Effect on Distance is Significant Experts: Ams Don't Pay Enough Attention to Wind's Effect We've all experienced that moment. You're on vacation far from…


text:
Govt firmly believes in freedom of press: PM
United News of Bangladesh . Dhaka | Updated at 01:02pm on September 19, 2018
Reiterating that the government firmly believes in freedom of press, prime minister Sheikh Hasina on Wednesday urged the journalists to play a constructive and responsible...
PM leaves for London Friday en route to NY to join 73rd UNGA
Bangladesh Sangbad Sangstha . Dhaka | Updated at 12:56am on September 19, 2018
Prime minister Sheikh Hasina will leave Dhaka for London on Friday en route to New York on a six-day official visit to the United States...
Election to be held timely, fairly, says Gowher
Adviser to the prime minister on international affairs Gowher Rizvi on Sunday said the next general election would be held fairly and timely without any...
People getting back trust in police, says PM
United News of Bangladesh . Dhaka | Updated at 12:05am on September 17, 2018
Prime minister Sheikh Hasina on Sunday said that people were now getting back their trust and confidence in the police force as they were discharging...
People to vote AL to power again, believes PM
Prime minister Sheikh Hasina on Saturday said she believed that the people would vote Awami League to power again in the next election for the...
Bangabandhu struggled for peace and equality: PM
Prime minister Sheikh Hasina on Friday said that father of the nation Bangabandhu Sheikh Mujibur Rahman struggled for peace, equality and independence and establishing democracy...
PM opens Inter-Continental Dhaka
A new feather was added to the country's hospitality industry with the inauguration of another stateowned five-star hotel in the city's heart of the lush...
People not aware yet about road safety: PM
United News of Bangladesh . Sangsad Bhaban | Updated at 12:26am on September 13, 2018
Prime minister Sheikh Hasina on Wednesday told the parliament that awareness was yet to be created among people about road safety even after the recent...
Don't get tempted by other while investing in share market: PM
Prime minister Sheikh Hasina on Wednesday called upon the small investors not to get tempted by others while investing in the capital market but take...
PM unveils 9,000 MW power import plan from neighbours
Bangladesh Sangbad Sangstha . Dhaka | Updated at 11:50pm on September 10, 2018
Prime minister Sheikh Hasina, in a video conference with her Indian counterpart Narendra Modi on Monday, said that Bangladesh planned to import 9,000 megawatts of...
First «

redpajama_set_name: RedPajamaCommonCrawl


text:
Average speed cameras on A38 to be turned on 'imminently'
Highways bosses take action to combat speeding at notorious junction in Devon
Andy GreenwoodAgenda Editor
The average speed cameras at Splatford Split will be turned on soon
Average speed cameras on the A38 are to be switched on "imminently" with drivers continuing to break the limit at a notorious junction.
Highways England installed the cameras at four locations along a four-kilometre stretch of the eastbound carriageway during a £250,000 project in March.
The decision followed a number of crashes on the A38 and A380 at Splatford Split, near Exeter.
Police name mum and twins killed in horror crash
Highways bosses have been monitoring speeds ever since. And while they said speeds had reduced, a number of motorists were speeding by "significant amounts".
"A new safety camera system now monitors both the A38 and the A380 over some distance before, and after, the merge point at Splatford Split," the Peninsula Road Safety Partnership said in a statement.
"Before recent improvements a safety concern was that vehicles from both roads could merge at significantly different speeds, leading to increased potential for collisions.
A number of fatal accidents have occurred on the A38 this year
"The average speed cameras, Exeter bound near Splatford Split on both the A38 and A380, have been monitoring traffic speeds for some time.
"Speed data from the new system has shown an approximate 10 mph reduction in speeds of most drivers compared to historic levels near the old Gatso camera site. This new system is a considerable improvement over the old spot speed static site that was on the A38 only.
"Although the partners involved are pleased at the improvements seen, there remain a number of drivers who continue to break the limit, in some cases by significant amounts.
Girl, 9, dies following car crash on same stretch of road where mum and twins were killed
"For this reason all road users are being advised that enforcement will commence imminently.
"This will coincide with other enforcement operations across the roads of Devon and Cornwall in some of the busiest months for the network. Focusing on safer driving can save lives and also reduce costly and frustrating delays.
"This junction brings two two-lane roads together to form four lanes and motorists are reminded that the road remains a dual carriageway; therefore the speed limit for cars is 70mph and for both light goods and heavy goods vehicles it is 60mph."


text:
package org.ovirt.engine.core.bll;

import java.util.Collections;
import java.util.Date;
import java.util.List;
import org.ovirt.engine.core.bll.context.CommandContext;
import org.ovirt.engine.core.bll.job.ExecutionHandler;
import org.ovirt.engine.core.bll.quota.QuotaManager;
import org.ovirt.engine.core.bll.snapshots.SnapshotsManager;
import org.ovirt.engine.core.bll.utils.PermissionSubject;
import org.ovirt.engine.core.common.action.IdParameters;
import org.ovirt.engine.core.common.action.VdcActionType;
import org.ovirt.engine.core.common.action.VmManagementParametersBase;
import org.ovirt.engine.core.common.action.VmOperationParameterBase;
import org.ovirt.engine.core.common.action.VmPoolSimpleUserParameters;
import org.ovirt.engine.core.common.businessentities.Snapshot;
import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotType;
import org.ovirt.engine.core.common.businessentities.VmDevice;
import org.ovirt.engine.core.common.businessentities.VmDeviceGeneralType;
import org.ovirt.engine.core.common.businessentities.VmPayload;
import org.ovirt.engine.core.common.businessentities.VmPool;
import org.ovirt.engine.core.common.businessentities.VmPoolType;
import org.ovirt.engine.core.common.businessentities.VmWatchdog;
import org.ovirt.engine.core.common.businessentities.aaa.DbUser;
import org.ovirt.engine.core.common.errors.VdcBllMessages;
import org.ovirt.engine.core.common.utils.VmDeviceCommonUtils;
import org.ovirt.engine.core.common.utils.VmDeviceType;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dal.dbbroker.DbFacade;
import org.ovirt.engine.core.dao.VmPoolDAO;
import org.ovirt.engine.core.utils.log.Log;
import org.ovirt.engine.core.utils.log.LogFactory;

@InternalCommandAttribute
@NonTransactiveCommandAttribute
public class ProcessDownVmCommand<T extends IdParameters> extends CommandBase<T> {

    private static final Log log = LogFactory.getLog(ProcessDownVmCommand.class);

    protected ProcessDownVmCommand(Guid commandId) {
        super(commandId);
    }

    public ProcessDownVmCommand(T parameters) {
        this(parameters, null);
    }

    public ProcessDownVmCommand(T parameters, CommandContext cmdContext) {
        super(parameters, cmdContext);
        setVmId(getParameters().getId());
    }

    @Override
    protected boolean canDoAction() {
        if (getVm() == null) {
            return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_VM_NOT_FOUND);
        }

        return true;
    }

    @Override
    protected void executeCommand() {
        boolean removedStatelessSnapshot = detachUsers();
        if (!removedStatelessSnapshot) {
            // If we are dealing with a prestarted Vm or a regular Vm - clean stateless images
            // Otherwise this was already done in DetachUserFromVmFromPoolCommand
            removeVmStatelessImages();
        }

        QuotaManager.getInstance().rollbackQuotaByVmId(getVmId());
        removeStatelessVmUnmanagedDevices();

        applyNextRunConfiguration();
    }

    private boolean detachUsers() {
        // check if this is a VM from a VM pool
        if (getVm().getVmPoolId() == null) {
            return false;
        }

        List<DbUser> users = getDbUserDAO().getAllForVm(getVmId());
        // check if this VM is attached to a user
        if (users == null || users.isEmpty()) {
            // if not, check if new version or need to restore stateless
            runInternalActionWithTasksContext(VdcActionType.RestoreStatelessVm,
                    new VmOperationParameterBase(getVmId()),
                    getLock());
            return true;
        }
        VmPool pool = getVmPoolDAO().get(getVm().getVmPoolId());
        if (pool != null && pool.getVmPoolType() == VmPoolType.Automatic) {
            // should be only one user in the collection
            for (DbUser dbUser : users) {
                runInternalActionWithTasksContext(VdcActionType.DetachUserFromVmFromPool,
                        new VmPoolSimpleUserParameters(getVm().getVmPoolId(), dbUser.getId(), getVmId()), getLock());
            }

            return true;
        }

        return false;
    }

    private VmPoolDAO getVmPoolDAO() {
        return DbFacade.getInstance().getVmPoolDao();
    }

    @Override
    public List<PermissionSubject> getPermissionCheckSubjects() {
        return Collections.emptyList();
    }

    /**
     * remove VMs unmanaged devices that are created during run-once or stateless run.
     *
     * @param vmId
     */
    private void removeStatelessVmUnmanagedDevices() {
        if (getVm().isStateless() || isRunOnce()) {
            final List<VmDevice> vmDevices =
                    DbFacade.getInstance()
                            .getVmDeviceDao()
                            .getUnmanagedDevicesByVmId(getVmId());

            for (VmDevice device : vmDevices) {
                // do not remove device if appears in white list
                if (!VmDeviceCommonUtils.isInWhiteList(device.getType(), device.getDevice())) {
                    DbFacade.getInstance().getVmDeviceDao().remove(device.getId());
                }
            }
        }
    }

    /**
     * This method checks if we are stopping a VM that was started by run-once In such case we will may have 2 devices,
     * one managed and one unmanaged for CD or Floppy This is not supported currently by libvirt that allows only one
     * CD/Floppy This code should be removed if libvirt will support in future multiple CD/Floppy
     */
    private boolean isRunOnce() {
        List<VmDevice> cdList =
                DbFacade.getInstance()
                        .getVmDeviceDao()
                        .getVmDeviceByVmIdTypeAndDevice(getVmId(),
                                VmDeviceGeneralType.DISK,
                                VmDeviceType.CDROM.getName());
        List<VmDevice> floppyList =
                DbFacade.getInstance()
                        .getVmDeviceDao()
                        .getVmDeviceByVmIdTypeAndDevice(getVmId(),
                                VmDeviceGeneralType.DISK,
                                VmDeviceType.FLOPPY.getName());

        return (cdList.size() > 1 || floppyList.size() > 1);
    }

    /**
     * Update vm configuration with NEXT_RUN configuration, if exists
     * @param vmId
     */
    private void applyNextRunConfiguration() {
        // Remove snpashot first, in case other update is in progress, it will block this one with exclusive lock
        // and any newer update should be preffered to this one.
        Snapshot runSnap = getSnapshotDAO().get(getVmId(), SnapshotType.NEXT_RUN);
        if (runSnap != null) {
            getSnapshotDAO().remove(runSnap.getId());
            Date originalCreationDate = getVm().getVmCreationDate();
            new SnapshotsManager().updateVmFromConfiguration(getVm(), runSnap.getVmConfiguration());
            // override creation date because the value in the config is the creation date of the config, not the vm
            getVm().setVmCreationDate(originalCreationDate);

            runInternalAction(VdcActionType.UpdateVm, createUpdateVmParameters());
        }
    }

    private VmManagementParametersBase createUpdateVmParameters() {
        // clear non updateable fields got from config
        getVm().setExportDate(null);
        getVm().setOvfVersion(null);

        VmManagementParametersBase updateVmParams = new VmManagementParametersBase(getVm());
        updateVmParams.setUpdateWatchdog(true);
        updateVmParams.setSoundDeviceEnabled(false);
        updateVmParams.setBalloonEnabled(false);
        updateVmParams.setVirtioScsiEnabled(false);
        updateVmParams.setClearPayload(true);

        for (VmDevice device : getVm().getManagedVmDeviceMap().values()) {
            switch (device.getType()) {
                case WATCHDOG:
                    updateVmParams.setWatchdog(new VmWatchdog(device));
                    break;
                case SOUND:
                    updateVmParams.setSoundDeviceEnabled(true);
                    break;
                case BALLOON:
                    updateVmParams.setBalloonEnabled(true);
                    break;
                case CONTROLLER:
                    if (VmDeviceType.VIRTIOSCSI.getName().equals(device.getDevice())) {
                        updateVmParams.setVirtioScsiEnabled(true);
                    }
                    break;
                case DISK:
                    if (VmPayload.isPayload(device.getSpecParams())) {
                        updateVmParams.setVmPayload(new VmPayload(device));
                    }
                    break;
                case CONSOLE:
                    updateVmParams.setConsoleEnabled(true);
                    break;
                default:
            }
        }

        // clear these fields as these are non updatable
        getVm().getManagedVmDeviceMap().clear();
        getVm().getVmUnamagedDeviceList().clear();

        return updateVmParams;
    }

    private void removeVmStatelessImages() {
        if (getSnapshotDAO().exists(getVmId(), SnapshotType.STATELESS)) {
            log.infoFormat("Deleting snapshot for stateless vm {0}", getVmId());
            runInternalAction(VdcActionType.RestoreStatelessVm,
                    new VmOperationParameterBase(getVmId()),
                    ExecutionHandler.createDefaultContextForTasks(getContext(), getLock()));
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Hi, this paragraph was written for you by three people: can you imagine? People of different views, beliefs, religions managed to write one common piece of text. They were able to do this because they share a common goal: mass cricket adoption. Our main idea is to become the best in cricket-related content, and we are fully ready to support you in your endeavors. Every piece of content is carefully curated and verified by the people whose names appear below.
Our impressive team
Jason Kiraky
Jason is the owner of this web resource. He has a doctorate in sports management and years of working with cricket teams. Having gained his experience, he decided to express it through the lens of CricketBetOnline in order to challenge himself again.
Karishma Laghari
Karishma is a sports journalist with a very impressive background. He approaches all cricket-related issues in a fundamental way, based not on emotion but on facts. His journalistic approach is rarely seen these days because the most important thing to him is the truth he follows. On our team, he's not just a journalist; he's part of our entire ecosystem, which implies the most honest and grounded approach.
Meet Karishma
We could name a thousand reasons why you should choose us, but today, we're just asking you for your trust. Below are the basic factors why you should stay tuned with cricket betting online, but we hope that our trusting relationship will grow into something more, and the question, "why us" will no longer have to be answered, and you will no longer have to ask.
A team of professionals who know their business
Totally free content
Simplicity of language
Parimatch	up to ₹12,000	Read Review	Visit
Featured sportsbook
Betway up to ₹2,500
888sport ₹2100
Comeon 100% up to ₹2500
Mostbet up to ₹15 000
Melbet 100% up to ₹8 000
Bet365 up to ₹10 000
Bodog ₹15 000
22bet up to ₹10 000
LeoVegas up to ₹10 000
Best Indian Bookmaker
How to open a betting account in a bookmaker?
Toss Prediction
History of Cricket in India


text:
Mission &
Fine Art Builders
Residencies & Exhibitions
International Artist-in-Residence
Curatorial Residency
Hudson Showroom
Texas Open Call
Chalk It Up
The Happening
Artpace Teen Council
University Internships
The Artpace Blog
Artpace Alliance Members
Collect Art
Harold Mendez
Artpace Exhibitions
Spring 2017 Hudson Showroom
Did You Ever See Such a Thing as a Drawing of a Muchness?
About Harold Mendez
A first-generation American born in Chicago to Colombian and Mexican parents, Harold Mendez works with installation, photography, sculpture, and text to reference reconstructions of place and identity. His work addresses the relationships between transnational citizenship, memory, and possibility, considering how history is not only an affirmed past, but a potential future. His recent work examines how reclaimed objects, makeshift monuments and images reveal a life parallel to conflict, demonstrating both factual evidence and where traces of fiction emerge.
Selected exhibitions include the 2017 Whitney Biennial, Whitney Museum of American Art; the Museum of Contemporary Art, Chicago; Renaissance Society; Museum of Modern Art / PS1, New York; Studio Museum, Harlem; Drawing Center, New York; Museum of Contemporary Photography, Chicago; Project Row Houses, Houston; and the Institute of Contemporary Art, Philadelphia. Reviews of his work have appeared in the New York Times, Artforum, and Frieze Magazine. His work is in the permanent collection of the Museum of Fine Arts, Houston; the Studio Museum, Harlem; and the Museum of Contemporary Art, Chicago. Mendez has held residencies at the Robert Rauschenberg Foundation; Core Program, Museum of Fine Arts, Houston; Skowhegan School of Painting & Sculpture; and the Headlands Center for the Arts. Harold Mendez is a recipient of the Efroymson Contemporary Arts Fellowship; 3Arts Award; Illinois Arts Council Artist Fellowship; and the Foundation for Contemporary Arts Emergency Grant. Mendez studied at Columbia College Chicago; University of Science and Technology, School of Art, Ghana, West Africa; and the University of Illinois at Chicago.
Close Previous Next
Navigate by
Search Artpace
Looking for a unique and exciting location for your next big event? Contact us for rental information
Your support ensures the vital creation of contemporary art in San Antonio. Become a member today.
Want regular email updates on what's happening at Artpace? Click here to sign up.
445 North Main Avenue, San Antonio, TX 78205
P: 210.212.4900 | F: 210.212.4990 | E: info@artpace.org
Artpace is generously supported by: National Endowment for the Arts, Texas Commission on the Arts, Linda Pace Foundation, San Antonio Department of Arts & Culture, The Brown Foundation, Inc., The Andy Warhol Foundation for the Visual Arts, and more...


text:
title: "`eval`"
linkTitle: "eval"
type: docs
description: >
  Execute function on resources
---

<!--mdtogo:Short
    Execute function on resources
-->

`eval` executes a function on resources in a directory. Functions are packaged
as container images.

If the function fails (i.e. exits with non-zero status code), `eval` will abort
and the local filesystem is left intact.

Refer to the [Imperative Function Execution] for detailed overview.

### Synopsis

<!--mdtogo:Long-->

```
kpt fn eval [DIR|-] [flags] [-- fn-args]
```

#### Args

```
DIR|-:
  Path to the local directory containing resources. Defaults to the current
  working directory. Using '-' as the directory path will cause `eval` to
  read resources from `stdin` and write the output to `stdout`. When resources are
  read from `stdin`, they must be in one of the following input formats:

  1. Multi object YAML where resources are separated by `---`.

  2. KRM Function Specification wire format where resources are wrapped in an object
     of kind ResourceList.

  If the output is written to `stdout`, resources are written in multi object YAML
  format where resources are separated by `---`.
```

```
fn-args:
  function arguments to be provided as input to the function. These must be
  provided in the `key=value` format and come after the separator `--`.
```

#### Flags

```
--as-current-user:
  Use the `uid` and `gid` of the kpt process for container function execution.
  By default, container function is executed as `nobody` user. You may want to use
  this flag to run higher privilege operations such as mounting the local filesystem.

--env, e:
  List of local environment variables to be exported to the container function.
  By default, none of local environment variables are made available to the
  container running the function. The value can be in `key=value` format or only
  the key of an already exported environment variable.

--exec:
  Path to the local executable binary to execute as a function. Quotes are needed
  if the executable requires arguments. `eval` executes only one function, so do
  not use `--image` flag with this flag. This is useful for testing function locally
  during development. It enables faster dev iterations by avoiding the function to
  be published as container image.

--fn-config:
  Path to the file containing `functionConfig` for the function.

--image, i:
  Container image of the function to execute e.g. `gcr.io/kpt-fn/set-namespace:v0.1`.
  For convenience, if full image path is not specified, `gcr.io/kpt-fn/` is added as default prefix.
  e.g. instead of passing `gcr.io/kpt-fn/set-namespace:v0.1` you can pass `set-namespace:v0.1`.
  `eval` executes only one function, so do not use `--exec` flag with this flag.

--image-pull-policy:
  If the image should be pulled before rendering the package(s). It can be set
  to one of always, ifNotPresent, never. If unspecified, always will be the
  default.
  If using always, kpt will ensure the function images to run are up-to-date
  with the remote container registry. This can be useful for tags like v1.
  If using ifNotPresent, kpt will only pull the image when it can't find it in
  the local cache.
  If using never, kpt will only use images from the local cache.

--include-meta-resources, m:
  (DEPRECATED) include-meta-resources is no longer necessary because meta
  resources are included by default with kpt version v1.0.0-beta.15+.

--match-api-version:
  Select resources matching the given apiVersion.

--match-kind
  Select resources matching the given kind.

--match-name:
  Select resources matching the given name.

--match-namespace:
  Select resources matching the given namespace.

--mount:
  List of storage options to enable reading from the local filesytem. By default,
  container functions can not access the local filesystem. It accepts the same options
  as specified on the [Docker Volumes] for `docker run`. All volumes are mounted
  readonly by default. Specify `rw=true` to mount volumes in read-write mode.

--network:
  If enabled, container functions are allowed to access network.
  By default it is disabled.

--output, o:
  If specified, the output resources are written to provided location,
  if not specified, resources are modified in-place.
  Allowed values: stdout|unwrap|<OUT_DIR_PATH>
  1. stdout: output resources are wrapped in ResourceList and written to stdout.
  2. unwrap: output resources are written to stdout, in multi-object yaml format.
  3. OUT_DIR_PATH: output resources are written to provided directory.
     The provided directory must not already exist.

--type, t;
  Specify the function type. Accept value `mutator` (default), `validator`.
  If used with `--save`, this flag will save the evaluated function to the corresponding
   Kptfile section: `.pipeline.mutators` if type is `mutator`; `.pipeline.validators` if type
    is `validator`.

--results-dir:
  Path to a directory to write structured results. Directory will be created if
  it doesn't exist. Structured results emitted by the functions are aggregated and saved
  to `results.yaml` file in the specified directory.
  If not specified, no result files are written to the local filesystem.

--save, s:
  Save the function image and fn-config to Kptfile. Require ` + "`" + `--image` + "`" + `.

```

#### Environment Variables

```
KPT_FN_RUNTIME:
  The runtime to run kpt functions. It must be one of "docker", "podman" and "nerdctl".
```

<!--mdtogo-->

## Examples

<!--mdtogo:Examples-->

```shell
# execute container my-fn on the resources in DIR directory and
# write output back to DIR
$ kpt fn eval DIR -i gcr.io/example.com/my-fn
```

```shell
# execute container my-fn on the resources in DIR directory with
# `functionConfig` my-fn-config
$ kpt fn eval DIR -i gcr.io/example.com/my-fn --fn-config my-fn-config
```

```shell
# execute container my-fn with an input ConfigMap containing `data: {foo: bar}`
$ kpt fn eval DIR -i gcr.io/example.com/my-fn:v1.0.0 -- foo=bar
```

```shell
# execute container my-fn and save it to Kptfile `pipeline.mutators` (Default) list.
$ kpt fn eval DIR -s -i gcr.io/example.com/my-fn:v1.0.0 -- foo=bar
```

```shell
# execute container my-fn and save it to Kptfile `pipeline.validators` list.
$ kpt fn eval DIR -s -t validator -i gcr.io/example.com/my-fn:v1.0.0 -- foo=bar
```

```shell
# execute executable my-fn on the resources in DIR directory and
# write output back to DIR
$ kpt fn eval DIR --exec ./my-fn
```

```shell
# execute executable my-fn with arguments on the resources in DIR directory and
# write output back to DIR
$ kpt fn eval DIR --exec "./my-fn arg1 arg2"
```

```shell
# execute container my-fn on the resources in DIR directory,
# save structured results in /tmp/my-results dir and write output back to DIR
$ kpt fn eval DIR -i gcr.io/example.com/my-fn --results-dir /tmp/my-results-dir
```

```shell
# execute container my-fn on the resources in DIR directory with network access enabled,
# and write output back to DIR
$ kpt fn eval DIR -i gcr.io/example.com/my-fn --network
```

```shell
# execute container my-fn on the resource in DIR and export KUBECONFIG
# and foo environment variable
$ kpt fn eval DIR -i gcr.io/example.com/my-fn --env KUBECONFIG -e foo=bar
```

```shell
# execute kubeval function by mounting schema from a local directory on wordpress package
$ kpt fn eval -i gcr.io/kpt-fn/kubeval:v0.1 \
  --mount type=bind,src="/path/to/schema-dir",dst=/schema-dir \
  --as-current-user wordpress -- additional_schema_locations=/schema-dir
```

```shell
# chaining functions using the unix pipe to set namespace and set labels on
# wordpress package
$ kpt fn source wordpress \
  | kpt fn eval - -i gcr.io/kpt-fn/set-namespace:v0.1 -- namespace=mywordpress \
  | kpt fn eval - -i gcr.io/kpt-fn/set-labels:v0.1 -- label_name=color label_value=orange \
  | kpt fn sink wordpress
```

```shell
# execute container 'set-namespace' on the resources in current directory and write
# the output resources to another directory
$ kpt fn eval -i gcr.io/kpt-fn/set-namespace:v0.1 -o path/to/dir -- namespace=mywordpress
```

```shell
# execute container 'set-namespace' on the resources in current directory and write
# the output resources to stdout which are piped to 'kubectl apply'
$ kpt fn eval -i gcr.io/kpt-fn/set-namespace:v0.1 -o unwrap -- namespace=mywordpress \
| kubectl apply -f -
```

```shell
# execute container 'set-namespace' on the resources in current directory and write
# the wrapped output resources to stdout which are passed to 'set-annotations' function
# and the output resources after setting namespace and annotation is written to another directory
$ kpt fn eval -i gcr.io/kpt-fn/set-namespace:v0.1 -o stdout -- namespace=staging \
| kpt fn eval - -i gcr.io/kpt-fn/set-annotations:v0.1.3 -o path/to/dir -- foo=bar
```

```shell
# execute container 'set-namespace' on the resources with 'name' foo and 'kind' Deployment
# in current directory
kpt fn eval -i set-namespace:v0.1 --by-kind Deployment --by-name foo -- namespace=staging
```

```shell
# execute container my-fn with podman on the resources in DIR directory and
# write output back to DIR
$ KPT_FN_RUNTIME=podman kpt fn eval DIR -i gcr.io/example.com/my-fn
```

<!--mdtogo-->

[docker volumes]: https://docs.docker.com/storage/volumes/
[imperative function execution]: /book/04-using-functions/02-imperative-function-execution
[function specification]: /book/05-developing-functions/01-functions-specification


Humans. When they baffle you, reach for chocolate.
I find it hard to believe that it's been four years since I caught up with Leslie Budewitz's Food Lovers' Village Mystery series. Perhaps because of that hiatus, I noticed something different. Leslie's writing is cozier—more sink in the cushions and disappear from reality—reading than it ever was before. For those of us who like our cozy reads to be like biting into the center of a warm, soft chocolate cookie still gooey and melty, the reading was awesome.
Not to say that it avoids some harsh realities about people and how they treat each other, but Leslie makes the effort to provide the soft contrast to the black and white thinkers who judge without compassion, and isn't compassion the essence of cozies?
Set during the weeks before Christmas and the wedding of main character Erin Murphy, As The Christmas Cookie Crumbles portrays the best, worst, and sometimes goofiest of human behavior during this season. This book will be released on June 8th.
Erin witnesses a fight among members of the Thornton family. Who are the Thorntons, and why is Erin shocked?
Walt and Taya Thornton run an antiques and Christmas shop in the village of Jewel Bay, up the block from the Merc, the local foods grocery Erin runs in her family's hundred-year-old building. Once Erin's kindergarten teacher, Taya has always embodied the Christmas spirit to Erin – she even looks like an elf. So when she yells at her daughter to go away, saying "You've shamed us enough" on the sidewalk on Decorating Day, in front of dozens of people, Erin is stunned. She knows Merrily Thornton's past – everyone in town does -- but hurts for the woman, humiliated by her own mother in public.
Is fear of judgment the reason why people keep up appearances without regard to the truth?
That is an astute observation. Taya had reason to question what she thought she knew, but chose not to, because she feared what else she might learn.
Merrily Thornton pleaded guilty to embezzlement twenty years ago and served time. Why does Erin trust her?
It's not a blind trust. Erin likes her, knows she did her time, and sees signs of rehabilitation. That's enough, she thinks, to start a friendship.
What's an earworm, and what plagues Erin during the season?
An earworm is a song that gets stuck in the brain – like the very worst Christmas songs that wrap their way around Erin's brain stem!
Like so often happens to me, Erin can't remember someone's name. Does Erin focus on other aspects of humans other than their labels?
Erin prides herself, as I do, on having a great memory and easily coming up with other people's names. But there is one woman in town whose name she can never remember, also like me. (After 15 years, I've finally begun to recognize her when I see her out without her husband, whom I easily recall, or without having to ask mine "Who was that?") I thought it would be fun to give the usually-sharp Erin that same frustration.
Erin's mom Fresca thinks trust is more important than risk. But Erin starts writing procedures for the store to reduce that risk. Does Erin think naiveté equals stupidity?
No. But she's worked in big business as well as small, and knows how easy it is for small businesses to overlook the importance of simple things like policies on cash-handling or computer use. And she knows that employees generally want to have regular reviews and manuals they can refer to. Plus she's going on vacation – her honeymoon – and her staff will need to take care of things without calling her!
How do we empower people in our lives who don't deserve that power?
Oh, great question! As you've suggested, fear is one way, and not questioning them is another. Probably the biggest way, I suspect, is not trusting our own instincts about people. We want to like and be liked, and easily dismiss our own misgivings instead of digging into them a little deeper.
What is a "Splash" artist?
Luci is a soapmaker and recurring character who sells her products at the Merc. She calls her business "The Splash Artist." Soap, baths, bubbles….
Are scents important to the Christmas season? Are they important to the retail season?
Why hasn't Erin met any of her husband-to-be's family, the Zimmermans?
Adam left Minnesota for college and has never gone back. His and Erin's work schedules made a visit impossible. He's never felt close to his family, and envies the bonds the Murphys share. At times, though, maybe they are a little too close!
Would you describe Almond Bianchi? Fudge Ecstasies?
Almond Bianchi are meringues made with ground nuts, sweet, melt-in-your-mouth clouds. And Fudge Ecstasies? The name says it all, don't you think?
Like Ms. Marple, are people who assume the worst of people realistic, or are they insecure, judgmental, negative and/or guilty?
Ah, the eternal debate: Is the pessimist realistic, or choosing to dwell on the negative? Is the optimist naïve, or choosing to focus on the best in people? Depending on your own point of view, you could make either case. I think our point of view is a choice, and it affects all our interactions and experiences. Put simply, we see what we want to see – which the pessimist would call blindness and the optimist might call generosity. We do have to recalibrate our perceptions at times, which can keep one up at night.
What is it about a Subaru that Erin likes? Do you drive a Subaru?
I love my Subaru! It and the Chevy pickup seem to be the semi-official vehicles of Northwest Montana – and no doubt of other regions with lots of mountains, weather, and people who love getting out of doors like Erin and I do. Their biggest advantages are solid construction and all-wheel drive – plus a hatchback that even a small dog can jump into!
Why does Erin decide to put some Jewish holiday décor in the Merc beside the Christmas decorations?
As she strolls past the shop windows, she realizes that the village has overlooked Hannukah, and thinks maybe a reminder would be a good idea.
You change to present tense occasionally during your story. What were the instances, and why did you decide to do that?
I use present tense to describe places and traits that are ongoing or continuous, much as we do in regular conversation. "Oliver ran down the street," but "Oliver is short." A first-person narrative should feel like Erin telling the reader the story, and I wanted to play up that narrator-reader connection.
Erin doesn't trust outsider Detective Bello (love the name), who displays "short-man" syndrome issues. How does she deal with him?
At first, she's irritated. He comes into this town, not knowing a thing about it, or her, and dismisses her observations. Tells her he's not going to let her interfere with his investigation. "His investigation? Since when? This is her town, too." But she comes to realize he does know how to run a murder investigation, and he comes to understand that her knowledge of of the community is invaluable. As the danger heats up, she appreciates his protectiveness of his new patch. And as the investigation drags on, he appreciates her doggedness. They'll never be completely comfortable with each other, I suspect, but they do develop a mutual respect.
Why do people use "the exception proves the rule" in arguments?
Turns out the phrase comes from science, and uses "prove" not in the sense of "confirm" but in the sense of "test." Like when we did proofs in high school math.
There's an "embezzlement pattern," which Bello refers to, but the pattern doesn't seem to apply to Merrily. What is the "embezzlement pattern?" Why does Bello apply it to Merrily when it doesn't fit?
This is something I encountered years ago in my law practice. Not to get too detailed, but many embezzlers are your next door neighbor, women with positions of trust in small businesses where they had easy access to money and the means to cover up their deception. A lot of research has focused on this pattern and the reasons for embezzlement, which do tend to differ between men and women. And it does fit Merrily now, but not in the past, which leads Erin to probe the past.
There's nothing better in a cozy than cookies proving the time of death. How do cookies prove the time of Merrily's death?
What is Chocolate Cabernet sauce, and what does it best top?
What kind of wedding cake did Adam and Erin choose?
You know, I never asked them! Readers, suggestions?
Another fun read! Thanks to you and Elaine for a great interview.
I've read some of these, and I'll have to add the rest to my TBR list!
Hi Leslie, It's great to have you back!
Subarus and Chevy pickups! I always knew I'd feel right at home in Montana!
Chevy pickups seem like the Hatteras vehicle--they're all over the place. Thanks for the interview, Leslie. I meant everything I said in my forward. This was one of the coziest reads I've ever read. What fun!
Thank you, friends! We're redoing our bathrooms, which means today I had to work in the cabin instead of my lovely home office, and we have no internet in the cabin -- one of its many charms! Then it was off to the dentist (all is well) and other errands, and I'm only now getting a few hammer-free moments in the house to check in.
Thank you, Elaine, for a lovely introduction -- every author appreciates hearing that a reader sees the development the author hopes occurs as a series progresses, but not every reader articulates what they see, let alone so generously!
Me, I like my chocolate-Cabernet sauce on Tillamook's Salted Caramel and Oregon Hazelnut Ice Cream -- off in search of some in minutes!


The Royal Philharmonic Concert Orchestra (RPCO) was formed in 1987 and has built up an international reputation in its own right. Performing in the major concert halls and concert venues in the UK and around the world, from China and the Far East to North and South America, the RPCO is known for its versatile programming of classical, light classical and popular music. The RPCO is regularly seen working with renowned artists in the worlds of classical music, pop music and West End musicals and appears at many of the UK's most celebrated summer music festivals.
The 2013–2014 season included many appearances at the Royal Albert Hall, amongst which were the UK premiere of Pixar in Concert and five performances of Bernstein's soundtrack to West Side Story, synchronised with the screening of the original classic film, which also received critical acclaim for sell-out performances in 2012 ('the RPCO, crisply conducted by Jayce Ogren, brought verve and boppish swing to the score… Little wonder that the audience burst into applause after so many of the key scenes.' The Times). In the current season, the RPCO again takes to the Royal Albert Hall stage, performing with influential Russian popstar Valeriya and in a concert of the music from Final Fantasy, which sold out within two hours of going on sale. The RPCO was delighted to return to many summer music festivals this year, appearing at Hampton Court Palace, Canary Wharf and Rochester Castle, amongst others. International touring commitments included invitations to perform as far afield as Bahrain, Russia and China, as well as in several major cities across Europe. Other high profile projects included an invitation to perform with Dame Shirley Bassey for a Charity Gala held at Windsor Castle in the presence of HRH The Duke of York, and an appearance at the Sundance Festival in Holland with reggae stars John Holt, Luciano and members of UB40. 2013 saw further engagements and collaborations across the UK, including four performances with Boston Ballet at the London Coliseum, an Elgar celebration concert in his home town of Malvern on the composer's birthday and live performances to the screening of two iconic films at the Royal Albert Hall: Singin' in the Rainand Fantasia.
The RPCO has a worldwide reputation for working with internationally renowned artists, ranging from opera luminaries, such as Andrea Bocelli, José Carreras, Lesley Garrett, Bryn Terfel, Renée Fleming, Kiri Te Kanawa and the late Luciano Pavarotti, to popular culture icons, including Burt Bacharach, Tina Turner, Henry Mancini, Liza Minnelli, Barry Manilow, Sting and Stevie Wonder, to name a few.


Using a vocoder for added emotion, "Starry Night" by Nashville-based electro singer/songwriter Elle Azar explores battling mental health while highlighting the powerful effect of nature.
The night sky, when glistening expansively with tightly packed stars, is both intimating and reassuring. It makes us feel tiny, putting things into perspective. We're just mere specks swallowed up in the universe. To look up poses questions: What is out there? How far does it stretch? But it's also a form of solace, making us feel less alone. There's something eternally magical about a clear night sky. You can unleash a wish towards the stars, or send a prayer to a full moon and somehow feel like things will turn out OK – being reminded, perhaps, of the endless possibilities and the new heights to be personally reached.
Atwood Magazine is proud to be premiering "Starry Night," the sophomore single from Nashville-based electro singer/songwriter Elle Azar. The song is taken from Azar's forthcoming self-titled debut album, set for release in May during Mental Health Awareness Month. Anxiety and clinical depression have been a battle for Elle Azar (born Jillian Cohen) for the majority of her life, and the album is an honest and determined insight into emotions held and struggles felt while trying to overcome them.
"You tell me it's alright even when it's not alright, it's ok to be a mess sometimes," she sings in March's debut single "Mess." Throughout her debut, pulsing and dreamy synths rave and ripple as Elle Azar sings in a daze.
The song is like bed on which sadness and hopefulness are both awoken from.
As it progresses, a clapping beat is introduced as though encouragement from a crowd and midway through, after lyrics focusing on monotony and restlessness, the sound of strings is brought in.
The first thing that's picked up on is Azar's prominent use of vocoder, creating emphasis in an Imogen Heap "Hide and Seek" kind of way. The recognisable effect is robotic in sound, as though detaching oneself from a situation and wishing the reality wasn't a reality. It's lonely too, tugging at the heartstrings, vibrating like shaking with sorrow. Yet, while Imogen Heap's approach was powerfully minimalistic, Elle Azar's is an added component to a busy but friendly atmosphere. The tension at the beginning fades with a gradual build up of layers and inclusion of subtle twinkling, the vocals rising and dipping in pitch while maintaining a tone of desperation. A picture, overall, is formed of opening curtains / opening a form of confinement and taking refuge in the sight of the stars.
For me, there's rest in the idea of something larger than me… It makes my anxieties look a little smaller.
"Starry Night" ends with the line, "Easy, take it easy, easy, easy, easy, easy, easy," but the words are indiscernible, blending into one angelic cry. "The ending came as an ad lib where I began to sing, "take it easy" over and over. There's a sense of weightlessness that even takes over the production on my voice," Azar recalls. "Jeremy Lutito (my producer) is so good at making little moments like that shine, and at the very same time, he brought a groove to the whole song that anchors it so well. It was basically a piano ballad before he got his hands on it." In addition to working with Lutito, Elle Azar co-wrote the songs on her album with her husband Ezra Cohen, who also directed her music videos and shot her photography.
Elle Azar's album is a highlighting of her journey with mental health, her entrance into the music industry being a confirmation that ambitions can still be achieved.
This message, though, isn't shouted about or put at the forefront; instead it's intertwined into her music. "Starry Night" is as symbolic as it is an easy and pleasant listening experience. Whichever way it may be received, like a starry night sky, it assures us that we're never alone.
Stream "Starry Night" exclusively on Atwood Magazine!
Francesca is a London-based writer who considers music a form of storytelling. She's fascinated by the connections that songs can form, whether it's relatable lyrics or the personal associations a sound conjures up.


Post-doc: University of Texas at Dallas, Renewable Energy and Vehicular Technology Lab & Power Electronics Lab, Texas, USA, 2015-2017.
Ph.D: Leibniz University Hanover, Institute for Drive Systems and Power Electronics, Hanover, Germany, 2014.
MS: RWTH Aachen University, Electrical Power Eng., Aachen, Germany, 2010.
BS: Middle East Technical University, Dept. of Electrical and Electronics Eng., Ankara, Turkey, 2007.


text:
Home Breaking Soyinka: It's Time to Use 'Soldiers of Fortune' to Battle Insecurity
Soyinka: It's Time to Use 'Soldiers of Fortune' to Battle Insecurity
•Warns against negotiating with bandits, says you can't appease evil
•Cautions against Amotekun becoming another SARS
Chuks Okocha in Abuja
Nobel Laureate, Professor Wole Soyinka, Saturday, called for the use of "soldiers of fortunes", also known as mercenaries, to tackle the growing insecurity in the country. Soyinka, who appeared on a one-on-one interview session on Arise News Television Network, however, warned government against negotiating with bandits, saying it is impossible to appease evil.
The literary icon cautioned governors of his native South-west to consciously guard against a possible transmutation of the regional security outfit, Amotekun, into a security menace, like the disbanded Special Anti-Robbery Squad (SARS). He said to curtail the growing threat to security of life and property in the country, "The government should be willing to pay people to come and help us."
But the foreign military contractors previously engaged by Nigeria during the tenure of former President Goodluck Jonathan to combat insurgents have vowed never to return to Nigeria. They based their decision on the way the President Muhammadu Buhari administration treated them and their Nigerian counterparts.
Apart from paying the soldiers of fortune to come to Nigeria's aide, Soyinka called for national mobilisation to combat insecurity. He condemned governors, who engaged in negotiations with bandits and criminal elements terrorising the country.
According to him: "You don't appease evil. We are dealing with evil. There is no other word. We are dealing with the proliferation, the enthronement of evil in the society. And, unfortunately, we have encouraged its manifestation, its proliferation, its entrenchment.
"So, let them get away with the issue of sovereignty. If they have to pay people to come and help us, then call them whatever you want. Please go ahead, because we've reached that stage of desperation.
"But I will prefer a general mobilisation in which people are trained, farmers especially, are trained to work with the hoe in one hand and the gun in the other hand, ready to protect their lives, their harvests and the rest of us. We are not unique. History is full of those situations. I will like to see a national mobilisation. Let's be practical."
Soyinka warned South-west governors to be wary and watchful against the use of the Ametokun security outfit in terrorising society, just like the disbanded SARS. He called for proper training, particularly on ethical standards, to avoid such conversion.
"I have told them anytime you want us to come and assist, we will come, even if it is just on the ethical session, so that as you are training them to defend us, we are also training their minds so that Amotekun does not become another SARS, very important. We must do everything together," he said.
There have been renewed calls on the federal government by North-east governors to engage foreign mercenaries to help in routing Boko Haram terrorists in Sambisa forest and other enclaves.
During the Jonathan administration, Nigeria had brought in "military-technical advisers" – widely believed to be mercenaries – from South Africa and parts of the former Soviet Union to take on Boko Haram ahead of the 2015 general election. Several regional security, defence and diplomatic sources were aware of the development at the time. There was a tacit confirmation by Jonathan that two companies were providing "trainers and technicians" to help Nigerian forces.
Previous articleCOVID-19: 15 Doctors Test Positive in Nasarawa Specialist Hospital
Next articleCOVID-19: Nigerian Unveils Free Online Platform for African Students
Kalejaye Family Loses Patriarch
Gbajabiamila Mourns Ex-Lagos Gov, Ndubuisi Kanu
UNIABUJA to Pioneer Diabetes Studies in Africa
Peugeot Forecasts Nigeria Importing N3tn Used Vehicles, Motorcycles in 2021


text:
package azuretasks

import (
	"context"
	"errors"
	"fmt"

	"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2020-06-01/compute"
	"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-06-01/network"

	// Use 2018-01-01-preview API as we need the version to create
	// a role assignment with Data Actions (https://github.com/Azure/azure-sdk-for-go/issues/1895).
	// The non-preview version of the authorization API (2015-07-01)
	// doesn't support Data Actions.
	authz "github.com/Azure/azure-sdk-for-go/services/preview/authorization/mgmt/2018-01-01-preview/authorization"
	"github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-06-01/resources"
	"github.com/Azure/go-autorest/autorest/to"
	"github.com/google/uuid"
	v1 "k8s.io/api/core/v1"
	"k8s.io/kops/dnsprovider/pkg/dnsprovider"
	"k8s.io/kops/pkg/apis/kops"
	"k8s.io/kops/pkg/cloudinstances"
	"k8s.io/kops/upup/pkg/fi"
	"k8s.io/kops/upup/pkg/fi/cloudup/azure"
)

const (
	testClusterName = "test-cluster"
)

// MockAzureCloud is a mock implementation of AzureCloud.
type MockAzureCloud struct {
	Location                string
	ResourceGroupsClient    *MockResourceGroupsClient
	VirtualNetworksClient   *MockVirtualNetworksClient
	SubnetsClient           *MockSubnetsClient
	RouteTablesClient       *MockRouteTablesClient
	VMScaleSetsClient       *MockVMScaleSetsClient
	VMScaleSetVMsClient     *MockVMScaleSetVMsClient
	DisksClient             *MockDisksClient
	RoleAssignmentsClient   *MockRoleAssignmentsClient
	NetworkInterfacesClient *MockNetworkInterfacesClient
	LoadBalancersClient     *MockLoadBalancersClient
	PublicIPAddressesClient *MockPublicIPAddressesClient
}

var _ azure.AzureCloud = &MockAzureCloud{}

// NewMockAzureCloud returns a new MockAzureCloud.
func NewMockAzureCloud(location string) *MockAzureCloud {
	return &MockAzureCloud{
		Location: location,
		ResourceGroupsClient: &MockResourceGroupsClient{
			RGs: map[string]resources.Group{},
		},
		VirtualNetworksClient: &MockVirtualNetworksClient{
			VNets: map[string]network.VirtualNetwork{},
		},
		SubnetsClient: &MockSubnetsClient{
			Subnets: map[string]network.Subnet{},
		},
		RouteTablesClient: &MockRouteTablesClient{
			RTs: map[string]network.RouteTable{},
		},
		VMScaleSetsClient: &MockVMScaleSetsClient{
			VMSSes: map[string]compute.VirtualMachineScaleSet{},
		},
		VMScaleSetVMsClient: &MockVMScaleSetVMsClient{
			VMs: map[string]compute.VirtualMachineScaleSetVM{},
		},
		DisksClient: &MockDisksClient{
			Disks: map[string]compute.Disk{},
		},
		RoleAssignmentsClient: &MockRoleAssignmentsClient{
			RAs: map[string]authz.RoleAssignment{},
		},
		NetworkInterfacesClient: &MockNetworkInterfacesClient{
			NIs: map[string]network.Interface{},
		},
		LoadBalancersClient: &MockLoadBalancersClient{
			LBs: map[string]network.LoadBalancer{},
		},
		PublicIPAddressesClient: &MockPublicIPAddressesClient{
			PubIPs: map[string]network.PublicIPAddress{},
		},
	}
}

// Region returns the region.
func (c *MockAzureCloud) Region() string {
	return c.Location
}

// ProviderID returns the provider ID.
func (c *MockAzureCloud) ProviderID() kops.CloudProviderID {
	return kops.CloudProviderAzure
}

// DNS returns the DNS provider.
func (c *MockAzureCloud) DNS() (dnsprovider.Interface, error) {
	return nil, errors.New("DNS not implemented on azureCloud")
}

// FindVPCInfo returns the VPCInfo.
func (c *MockAzureCloud) FindVPCInfo(id string) (*fi.VPCInfo, error) {
	return nil, errors.New("FindVPCInfo not implemented on azureCloud")
}

func (c *MockAzureCloud) FindVNetInfo(id, resourceGroup string) (*fi.VPCInfo, error) {
	return nil, errors.New("FindVNetInfo not implemented on azureCloud")
}

// DeleteInstance deletes the instance.
func (c *MockAzureCloud) DeleteInstance(i *cloudinstances.CloudInstance) error {
	return errors.New("DeleteInstance not implemented on azureCloud")
}

// DeleteGroup deletes the group.
func (c *MockAzureCloud) DeleteGroup(g *cloudinstances.CloudInstanceGroup) error {
	return errors.New("DeleteGroup not implemented on azureCloud")
}

// DetachInstance detaches the instance.
func (c *MockAzureCloud) DetachInstance(i *cloudinstances.CloudInstance) error {
	return errors.New("DetachInstance not implemented on azureCloud")
}

// GetCloudGroups returns cloud instance groups.
func (c *MockAzureCloud) GetCloudGroups(
	cluster *kops.Cluster,
	instancegroups []*kops.InstanceGroup,
	warnUnmatched bool,
	nodes []v1.Node,
) (map[string]*cloudinstances.CloudInstanceGroup, error) {
	return nil, errors.New("GetCloudGroups not implemented on azureCloud")
}

// AddClusterTags add the cluster tag to the given tag map.
func (c *MockAzureCloud) AddClusterTags(tags map[string]*string) {
	tags[azure.TagClusterName] = fi.String(testClusterName)
}

// FindClusterStatus discovers the status of the cluster, by looking for the tagged etcd volumes
func (c *MockAzureCloud) FindClusterStatus(cluster *kops.Cluster) (*kops.ClusterStatus, error) {
	return &kops.ClusterStatus{}, nil
}

// GetApiIngressStatus returns the status of API ingress.
func (c *MockAzureCloud) GetApiIngressStatus(cluster *kops.Cluster) ([]fi.ApiIngressStatus, error) {
	return nil, nil
}

// SubscriptionID returns the subscription ID.
func (c *MockAzureCloud) SubscriptionID() string {
	return ""
}

// ResourceGroup returns the resource group client.
func (c *MockAzureCloud) ResourceGroup() azure.ResourceGroupsClient {
	return c.ResourceGroupsClient
}

// VirtualNetwork returns the virtual network client.
func (c *MockAzureCloud) VirtualNetwork() azure.VirtualNetworksClient {
	return c.VirtualNetworksClient
}

// Subnet returns the subnet client.
func (c *MockAzureCloud) Subnet() azure.SubnetsClient {
	return c.SubnetsClient
}

// RouteTable returns the route table client.
func (c *MockAzureCloud) RouteTable() azure.RouteTablesClient {
	return c.RouteTablesClient
}

// VMScaleSet returns the VM Scale Set client.
func (c *MockAzureCloud) VMScaleSet() azure.VMScaleSetsClient {
	return c.VMScaleSetsClient
}

// VMScaleSetVM returns the VM Scale Set VM client.
func (c *MockAzureCloud) VMScaleSetVM() azure.VMScaleSetVMsClient {
	return c.VMScaleSetVMsClient
}

// Disk returns the disk client.
func (c *MockAzureCloud) Disk() azure.DisksClient {
	return c.DisksClient
}

// RoleAssignment returns the role assignment client.
func (c *MockAzureCloud) RoleAssignment() azure.RoleAssignmentsClient {
	return c.RoleAssignmentsClient
}

// NetworkInterface returns the network interface client.
func (c *MockAzureCloud) NetworkInterface() azure.NetworkInterfacesClient {
	return c.NetworkInterfacesClient
}

// LoadBalancer returns the loadbalancer client.
func (c *MockAzureCloud) LoadBalancer() azure.LoadBalancersClient {
	return c.LoadBalancersClient
}

// PublicIPAddress returns the public ip address client.
func (c *MockAzureCloud) PublicIPAddress() azure.PublicIPAddressesClient {
	return c.PublicIPAddressesClient
}

// MockResourceGroupsClient is a mock implementation of resource group client.
type MockResourceGroupsClient struct {
	RGs map[string]resources.Group
}

var _ azure.ResourceGroupsClient = &MockResourceGroupsClient{}

// CreateOrUpdate creates or updates a resource group.
func (c *MockResourceGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, parameters resources.Group) error {
	parameters.Name = &resourceGroupName
	c.RGs[resourceGroupName] = parameters
	return nil
}

// List returns a slice of resource groups.
func (c *MockResourceGroupsClient) List(ctx context.Context, filter string) ([]resources.Group, error) {
	if filter != "" {
		return nil, fmt.Errorf("unsupported non-empty filter: %s", filter)
	}
	var l []resources.Group
	for _, rg := range c.RGs {
		l = append(l, rg)
	}
	return l, nil
}

// Delete deletes a specified resource group.
func (c *MockResourceGroupsClient) Delete(ctx context.Context, name string) error {
	if _, ok := c.RGs[name]; !ok {
		return fmt.Errorf("%s does not exist", name)
	}
	delete(c.RGs, name)
	return nil
}

// MockVirtualNetworksClient is a mock implementation of virtual network client.
type MockVirtualNetworksClient struct {
	VNets map[string]network.VirtualNetwork
}

var _ azure.VirtualNetworksClient = &MockVirtualNetworksClient{}

// CreateOrUpdate creates or updates a virtual network.
func (c *MockVirtualNetworksClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters network.VirtualNetwork) error {
	if _, ok := c.VNets[virtualNetworkName]; ok {
		return fmt.Errorf("update not supported")
	}
	parameters.Name = &virtualNetworkName
	c.VNets[virtualNetworkName] = parameters
	return nil
}

// List returns a slice of virtual networks.
func (c *MockVirtualNetworksClient) List(ctx context.Context, resourceGroupName string) ([]network.VirtualNetwork, error) {
	var l []network.VirtualNetwork
	for _, vnet := range c.VNets {
		l = append(l, vnet)
	}
	return l, nil
}

// Delete deletes a specified virtual network.
func (c *MockVirtualNetworksClient) Delete(ctx context.Context, resourceGroupName, vnetName string) error {
	// Ignore resourceGroupName for simplicity.
	if _, ok := c.VNets[vnetName]; !ok {
		return fmt.Errorf("%s does not exist", vnetName)
	}
	delete(c.VNets, vnetName)
	return nil
}

// MockSubnetsClient is a mock implementation of a subnet client.
type MockSubnetsClient struct {
	Subnets map[string]network.Subnet
}

var _ azure.SubnetsClient = &MockSubnetsClient{}

// CreateOrUpdate creates or updates a subnet.
func (c *MockSubnetsClient) CreateOrUpdate(ctx context.Context, resourceGroupName, virtualNetworkName, subnetName string, parameters network.Subnet) error {
	// Ignore resourceGroupName and virtualNetworkName for simplicity.
	if _, ok := c.Subnets[subnetName]; ok {
		return fmt.Errorf("update not supported")
	}
	parameters.Name = &subnetName
	c.Subnets[subnetName] = parameters
	return nil
}

// List returns a slice of subnets.
func (c *MockSubnetsClient) List(ctx context.Context, resourceGroupName, virtualNetworkName string) ([]network.Subnet, error) {
	var l []network.Subnet
	for _, subnet := range c.Subnets {
		l = append(l, subnet)
	}
	return l, nil
}

// Delete deletes a specified subnet.
func (c *MockSubnetsClient) Delete(ctx context.Context, resourceGroupName, vnetName, subnetName string) error {
	// Ignore resourceGroupName and virtualNetworkName for simplicity.
	if _, ok := c.Subnets[subnetName]; !ok {
		return fmt.Errorf("%s does not exist", subnetName)
	}
	delete(c.Subnets, subnetName)
	return nil
}

// MockRouteTablesClient is a mock implementation of a route table client.
type MockRouteTablesClient struct {
	RTs map[string]network.RouteTable
}

var _ azure.RouteTablesClient = &MockRouteTablesClient{}

// CreateOrUpdate creates or updates a route table.
func (c *MockRouteTablesClient) CreateOrUpdate(ctx context.Context, resourceGroupName, routeTableName string, parameters network.RouteTable) error {
	// Ignore resourceGroupName for simplicity.
	if _, ok := c.RTs[routeTableName]; ok {
		return fmt.Errorf("update not supported")
	}
	parameters.Name = &routeTableName
	c.RTs[routeTableName] = parameters
	return nil
}

// List returns a slice of route tables.
func (c *MockRouteTablesClient) List(ctx context.Context, resourceGroupName string) ([]network.RouteTable, error) {
	var l []network.RouteTable
	for _, rt := range c.RTs {
		l = append(l, rt)
	}
	return l, nil
}

// Delete deletes a specified routeTable.
func (c *MockRouteTablesClient) Delete(ctx context.Context, resourceGroupName, routeTableName string) error {
	// Ignore resourceGroupName for simplicity.
	if _, ok := c.RTs[routeTableName]; !ok {
		return fmt.Errorf("%s does not exist", routeTableName)
	}
	delete(c.RTs, routeTableName)
	return nil
}

// MockVMScaleSetsClient is a mock implementation of VM Scale Set client.
type MockVMScaleSetsClient struct {
	VMSSes map[string]compute.VirtualMachineScaleSet
}

var _ azure.VMScaleSetsClient = &MockVMScaleSetsClient{}

// CreateOrUpdate creates or updates a VM Scale Set.
func (c *MockVMScaleSetsClient) CreateOrUpdate(ctx context.Context, resourceGroupName, vmScaleSetName string, parameters compute.VirtualMachineScaleSet) (*compute.VirtualMachineScaleSet, error) {
	// Ignore resourceGroupName for simplicity.
	if _, ok := c.VMSSes[vmScaleSetName]; ok {
		return nil, fmt.Errorf("update not supported")
	}
	parameters.Name = &vmScaleSetName
	parameters.Identity.PrincipalID = fi.String(uuid.New().String())
	c.VMSSes[vmScaleSetName] = parameters
	return &parameters, nil
}

// List returns a slice of VM Scale Sets.
func (c *MockVMScaleSetsClient) List(ctx context.Context, resourceGroupName string) ([]compute.VirtualMachineScaleSet, error) {
	var l []compute.VirtualMachineScaleSet
	for _, vmss := range c.VMSSes {
		l = append(l, vmss)
	}
	return l, nil
}

// Delete deletes a specified VM Scale Set.
func (c *MockVMScaleSetsClient) Delete(ctx context.Context, resourceGroupName, vmssName string) error {
	// Ignore resourceGroupName for simplicity.
	if _, ok := c.VMSSes[vmssName]; !ok {
		return fmt.Errorf("%s does not exist", vmssName)
	}
	delete(c.VMSSes, vmssName)
	return nil
}

// MockVMScaleSetVMsClient is a mock implementation of VM Scale Set VM client.
type MockVMScaleSetVMsClient struct {
	VMs map[string]compute.VirtualMachineScaleSetVM
}

var _ azure.VMScaleSetVMsClient = &MockVMScaleSetVMsClient{}

// List returns a slice of VM Scale Set VMs.
func (c *MockVMScaleSetVMsClient) List(ctx context.Context, resourceGroupName, vmssName string) ([]compute.VirtualMachineScaleSetVM, error) {
	// Ignore resourceGroupName and vmssName for simplicity.
	var l []compute.VirtualMachineScaleSetVM
	for _, vm := range c.VMs {
		l = append(l, vm)
	}
	return l, nil
}

// MockDisksClient is a mock implementation of disk client.
type MockDisksClient struct {
	Disks map[string]compute.Disk
}

var _ azure.DisksClient = &MockDisksClient{}

// CreateOrUpdate creates or updates a disk.
func (c *MockDisksClient) CreateOrUpdate(ctx context.Context, resourceGroupName, diskName string, parameters compute.Disk) error {
	// Ignore resourceGroupName for simplicity.
	if _, ok := c.Disks[diskName]; ok {
		return fmt.Errorf("update not supported")
	}
	parameters.Name = &diskName
	c.Disks[diskName] = parameters
	return nil
}

// List returns a slice of disks.
func (c *MockDisksClient) List(ctx context.Context, resourceGroupName string) ([]compute.Disk, error) {
	var l []compute.Disk
	for _, disk := range c.Disks {
		l = append(l, disk)
	}
	return l, nil
}

// Delete deletes a specified disk.
func (c *MockDisksClient) Delete(ctx context.Context, resourceGroupName, diskName string) error {
	// Ignore resourceGroupName for simplicity.
	if _, ok := c.Disks[diskName]; !ok {
		return fmt.Errorf("%s does not exist", diskName)
	}
	delete(c.Disks, diskName)
	return nil
}

// MockRoleAssignmentsClient is a mock implementation of role assignment client.
type MockRoleAssignmentsClient struct {
	RAs map[string]authz.RoleAssignment
}

var _ azure.RoleAssignmentsClient = &MockRoleAssignmentsClient{}

// Create creates a new role assignment.
func (c *MockRoleAssignmentsClient) Create(
	ctx context.Context,
	scope string,
	roleAssignmentName string,
	parameters authz.RoleAssignmentCreateParameters,
) (*authz.RoleAssignment, error) {
	if _, ok := c.RAs[roleAssignmentName]; ok {
		return nil, fmt.Errorf("update not supported")
	}
	ra := authz.RoleAssignment{
		ID: to.StringPtr(roleAssignmentName),
		RoleAssignmentPropertiesWithScope: &authz.RoleAssignmentPropertiesWithScope{
			Scope:            to.StringPtr(scope),
			RoleDefinitionID: parameters.RoleDefinitionID,
			PrincipalID:      parameters.PrincipalID,
		},
	}
	c.RAs[roleAssignmentName] = ra
	return &ra, nil
}

// List returns a slice of role assignments.
func (c *MockRoleAssignmentsClient) List(ctx context.Context, resourceGroupName string) ([]authz.RoleAssignment, error) {
	var l []authz.RoleAssignment
	for _, ra := range c.RAs {
		l = append(l, ra)
	}
	return l, nil
}

// Delete deletes a specified role assignment.
func (c *MockRoleAssignmentsClient) Delete(ctx context.Context, scope, raName string) error {
	// Ignore scope for simplicity.
	if _, ok := c.RAs[raName]; !ok {
		return fmt.Errorf("%s does not exist", raName)
	}
	delete(c.RAs, raName)
	return nil
}

// MockNetworkInterfacesClient is a mock implementation of network interfaces client.
type MockNetworkInterfacesClient struct {
	NIs map[string]network.Interface
}

var _ azure.NetworkInterfacesClient = &MockNetworkInterfacesClient{}

// List returns a slice of VM Scale Set Network Interfaces.
func (c *MockNetworkInterfacesClient) ListScaleSetsNetworkInterfaces(ctx context.Context, resourceGroupName, vmssName string) ([]network.Interface, error) {
	// Ignore resourceGroupName and vmssName for simplicity.
	var l []network.Interface
	for _, ni := range c.NIs {
		l = append(l, ni)
	}
	return l, nil
}

// MockLoadBalancersClient is a mock implementation of role assignment client.
type MockLoadBalancersClient struct {
	LBs map[string]network.LoadBalancer
}

var _ azure.LoadBalancersClient = &MockLoadBalancersClient{}

// CreateOrUpdate creates a new loadbalancer.
func (c *MockLoadBalancersClient) CreateOrUpdate(ctx context.Context, resourceGroupName, loadBalancerName string, parameters network.LoadBalancer) error {
	if _, ok := c.LBs[loadBalancerName]; ok {
		return nil
	}
	parameters.Name = &loadBalancerName
	c.LBs[loadBalancerName] = parameters
	return nil
}

// List returns a slice of loadbalancer.
func (c *MockLoadBalancersClient) List(ctx context.Context, resourceGroupName string) ([]network.LoadBalancer, error) {
	var l []network.LoadBalancer
	for _, lb := range c.LBs {
		l = append(l, lb)
	}
	return l, nil
}

// Delete deletes a specified loadbalancer.
func (c *MockLoadBalancersClient) Delete(ctx context.Context, scope, lbName string) error {
	// Ignore scope for simplicity.
	if _, ok := c.LBs[lbName]; !ok {
		return fmt.Errorf("%s does not exist", lbName)
	}
	delete(c.LBs, lbName)
	return nil
}

// MockPublicIPAddressesClient is a mock implementation of role assignment client.
type MockPublicIPAddressesClient struct {
	PubIPs map[string]network.PublicIPAddress
}

var _ azure.PublicIPAddressesClient = &MockPublicIPAddressesClient{}

// CreateOrUpdate creates a new public ip address.
func (c *MockPublicIPAddressesClient) CreateOrUpdate(ctx context.Context, resourceGroupName, publicIPAddressName string, parameters network.PublicIPAddress) error {
	if _, ok := c.PubIPs[publicIPAddressName]; ok {
		return nil
	}
	parameters.Name = &publicIPAddressName
	c.PubIPs[publicIPAddressName] = parameters
	return nil
}

// List returns a slice of public ip address.
func (c *MockPublicIPAddressesClient) List(ctx context.Context, resourceGroupName string) ([]network.PublicIPAddress, error) {
	var l []network.PublicIPAddress
	for _, lb := range c.PubIPs {
		l = append(l, lb)
	}
	return l, nil
}

// Delete deletes a specified public ip address.
func (c *MockPublicIPAddressesClient) Delete(ctx context.Context, scope, publicIPAddressName string) error {
	// Ignore scope for simplicity.
	if _, ok := c.PubIPs[publicIPAddressName]; !ok {
		return fmt.Errorf("%s does not exist", publicIPAddressName)
	}
	delete(c.PubIPs, publicIPAddressName)
	return nil
}


Catherine is just a wee tad excited!
THANK YOU, THANK YOU, THANK YOU!!!!!!! I went right to eBay and bought it!!!!!
Tami, you are an angel!!!! Thank you so much for your wonderful service!!!!
My son will be so thrilled!
I am looking for an Eden bear wearing a blue velour sleeper with ABC embroidered on the chest. My son received it as a gift when he was 2 (12 years ago!).
"Squishy" is a member of the family and is in desperate need of a new body.
I would soooo appreciate any information anyone has regarding this teddy bear!!!! THANK YOU SO MUCH! What a great service this is online!
I would appreciate any information anyone has regarding this teddy bear!


Antique'Queens Own Royal Kent West' Carved Bovine Bone Malacca Walking Stick. Malacca cane Bovine bone handle Unmarked silver collar Horn ferrule In good used condition Restoration been done to handle previously Dings and small split to collar Replaced horn ferrule Ready to use Please see photos for the overall condition Measures 87cm long 12cm handle 2.5cm diameter of cane. Auctiva Offers Free Image Hosting and Editing. The item "Antique Malacca Cane -Lovely Carved Handle- Detailed Silver Collar- 87cm" is in sale since Friday, October 6, 2017.


text:
Q: SpriteKit - Mouse Snaps to Center On Sprite Drag I'm trying to create an iOS game and I have it so that when the item is touched and moved it is dragged. When it is dragged the mouse is snapped to the center of the sprite. How could I make it so that this wouldn't happen?
Here is an example of what is happening.
Here are the functions dealing with touch input
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {

    var papers = 0

    for touch in (touches as! Set<UITouch>) {
        let location = touch.locationInNode(self)
        let touchedNode = nodeAtPoint(location)

        if ((touchedNode.name?.contains("paper")) != nil) {

            touchedNode.position = location
            touchedNode.position.x = CGRectGetMidX(self.frame)
        }
    }
}
override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) {
        for touch: AnyObject in touches {
            let location = touch.locationInNode(self)
            let touchedNode = nodeAtPoint(location)

            if ((touchedNode.name?.contains("paper")) != nil) {

                touchedNode.position = location
                touchedNode.position.x = CGRectGetMidX(self.frame)
            }
        }
    }

override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) {
    for touch: AnyObject in touches {
        let location = touch.locationInNode(self)
        let touchedNode = nodeAtPoint(location)
        if ((touchedNode.name?.contains("paper")) != nil) {
            touchedNode.zPosition = 0
            touchedNode.position.x = CGRectGetMidX(self.frame)
        }
    }
}

P.S. contains is an extension off of the String class to check if a substring is in a string
Thanks in advance!

A: It's fairly straightforward to drag a sprite from the touch location instead of from the center of the sprite. To do this, calculate and store the difference (i.e., offset) between the touch location and the center of the sprite. Then, in touchesMoved, set the sprite's new position to the touch location plus the offset.
You can optionally overload the + and - operators to simplify adding and subtracting CGPoints. Define this outside of the GameScene class:
func - (left:CGPoint,right:CGPoint) -> CGPoint {
    return CGPoint(x: right.x-left.x, y: right.y-left.y)
}

func + (left:CGPoint,right:CGPoint) -> CGPoint {
    return CGPoint(x: right.x+left.x, y: right.y+left.y)
}

In GameScene, define the following instance variable
var offset:CGPoint?

and then in touchesBegan, replace
touchedNode.position = location

with
offset = location - touchedNode.position

and in touchesMoved, replace
touchedNode.position = location

with
if let offset = self.offset {
    touchedNode.position = location + offset
}

I generalized the solution to offset the sprite's position in both the x and y dimensions. In your app, you can simply offset the sprite's y position since x is ignored.

A: You don't need touchesBegan and touchesEnded for this. You can use just touchesMoved:
for touch: AnyObject in touches {
        let location = touch.locationInNode(self)
        let touchedNode = nodeAtPoint(location)
        let previousPosition = touch.previousLocationInNode(self)

        if (touchedNode.name == "paper") {

            var translation:CGPoint = CGPoint(x: location.x - previousPosition.x , y: location.y - previousPosition.y )

            touchedNode.position = CGPoint(x: touchedNode.position.x , y: touchedNode.position.y + translation.y)

        }
    }

The idea is to calculate translation. You can read more about this solution here. For future readers Obj-C solution on StackOverflow can be found on this link.

redpajama_set_name: RedPajamaStackExchange


text:
Generics.bg
За генеричните лекарства
Биоподобни лекарства
Регулация на лекарствата в България
Industry Welcomes the European Commission Workshop on the Uptake of Biosimilar Medicines
The European pharmaceutical industry welcomes the workshop organised today by the European Commission Directorate General for the Internal Market, Industry, Entrepreneurship and SMEs (DG Grow) on access to biosimilar medicines in Europe, in relation to the Corporate Responsibility Programme. Patients, doctors, pharmacists, academics, authorities, press and industry will gather at this workshop to share experiences with biosimilar medicines across Europe.
For the pharmaceutical industry to contribute effectively to the health and wellbeing of EU citizens, industry strategies must be in line with societal needs. The European Commission set up the 'Process on Corporate Responsibility in the Field of Pharmaceuticals' to facilitate discussions on ethics and transparency, and on non-regulatory conditions for better access to medicines after they have been granted a marketing authorisation.
The expanding numbers and use of biosimilars can support better value for healthcare and the potential for greater access for patients. The three associations thank the European Commission for organising this workshop and standing behind the development of this annual update from IMS on the impact of biosimilar competition.
The new IMS report, entitled "The Impact of Biosimilar Competition" highlights key aspects such as price competition and the significant increase in access resulting from the introduction of biosimilar medicines, especially in countries where there has been an unmet medical need, such as in Romania, Bulgaria, Slovakia and Poland.
In addition, while at last year's event, the patient organisations voiced the need for more information on biological medicines – including biosimilars – at the event taking place today, the initial results of a patient-friendly Q&A on biosimilar medicines was presented.
About the issuers of this press release
The industry is represented by the European Federation of Pharmaceutical Industries and Associations (EFPIA) and Medicines for Europe-Biosimilar Medicines Group.
EFPIA: Communications Team, +32 2626 2555, communications@efpia.eu
Medicines for Europe: Doris Casares, +32 2 533 98 18, doris@medicinesforeurope.com
EuropaBio: Cosmin Popa, +32 2 739 11 73, c.popa@europabio.org
About EFPIA
The European Federation of Pharmaceutical Industries and Associations (EFPIA) represents the pharmaceutical industry operating in Europe. Through its direct membership of 33 national associations and 39 leading pharmaceutical companies, EFPIA is the voice on the EU scene of 1,900 companies committed to researching, developing and bringing to patients new medicines that will improve health and the quality of life around the world.
About Medicines for Europe – Biosimilar Medicines Group
Medicines for Europe (formerly EGA) represents the generic, biosimilar and value added medicines industries across Europe. Its vision is to provide sustainable access to high quality medicines, based on 5 important pillars: patients, quality, value, sustainability and partnership. Its members employ 160,000 people at over 350 manufacturing and R&D sites in Europe, and invest up to 17% of their turnover in medical innovation.
The Biosimilar Medicines Group is a sector group of Medicines for Europe and represents the leading companies developing, manufacturing and marketing biosimilar medicines across Europe. Our members bring competition to the biologic medicines market, thereby increasing access to highly innovative medical treatments to patients in Europe and around the world, and supporting the sustainability of the European healthcare systems.
About EuropaBio
EuropaBio, the European Association for Bioindustries, promotes an innovative and dynamic European biotechnology industry. EuropaBio and its members are committed to the socially responsible use of biotechnology to improve quality of life, to prevent, diagnose, treat and cure diseases, to improve the quality and quantity of food and feedstuffs and to move towards a biobased and zero-waste economy. EuropaBio represents 77 corporate and associate members and bio regions, and 16 national biotechnology associations in turn representing over 1800 biotech SMEs.
Read more about our work at www.europabio.org.
Полезни препратки
Прочети последния брой »
Абонамент за новини
Българска Генерична Фармацевтична Асоциация
Generics.bg е проект на БГФармА © 2012 Всички права запазени
Дизайн и програмиране: Ай-Сол ЕООД


نسخه الکترونیک کتاب Rethinking Security in Post-Cold-War Europe به همراه هزاران کتاب دیگر از طریق فیدیبو به صورت کاملا قانونی در دسترس است.
Provides a survey of the principal items on the agenda following the end of the Cold War, focusing upon the institutions and regions where the reconsideration of security issues has been particularly profound. The book is organised into three main sections: the first examines the changed roles of the main security institutions which have survived the Cold War; NATO, the European Union/Western European Union and the Organisation for Security and Cooperation in Europe. The second analyses the Central European countries, Russia and States of the former Soviet Union in terms of their ideologies, political structures and relationships of the Cold War period. Lastly the text examines the northern and southern regions of Europe where quite different perspectives and agendas are concerned.


Today started a little earlier than the previous five days, on this 8-day cruise retracing some of the footsteps of Darwin in the Galapagos. We were anchored in Tagus Cove, on the west side of Isabela Island, one of the youngest islands in the archipelago at less than half a million years old. At 6h30, we were already on shore, climbing to a viewpoint that took in Darwin Lake and a black lava field that cut a lifeless swath across the landscape. As much as life on land is quirky and unique in the Galapagos, it's the life aquatic that is the highlight today.
Our first snorkeling jaunt is on the southern shore of Tagus Cove. We jump in and gasp as the cold water rushes into our thin wetsuits, but the sight below the surface is equally breathtaking. A flightless cormorant is hunting. It probes with its long bill into crevices, quickly, efficiently, and in a veil of bubbles heads for the surface. Then, in short order, two Galapagos penguins swim by like little torpedoes, just under the surface. I'm dizzy with elation. A Galapagos sea lion appears out of nowhere, does a couple of cartwheels, and disappears just as quickly. The water is clear as gin – it's like swimming in an aquarium. The rocky bottom is dotted with colourful sea stars and clumps of large barnacles, orange sponges, pink anemones, and bright green urchins wearing all manners of hats, and in between tangles of blue-black brittle stars shimmer. After an hour, we're called back to the boat. Quick, quick. Warm up for 40 minutes while the boat crosses Bolivar Channel to Fernandina Island, the westernmost of the main Galapagos Islands.
The water at Punto Espinoza is just as cold. The disappointment of the poorer visibility fades quickly as a Galapagos sea lion circles me playfully and a large diamond ray glides by like a magic carpet. An enormous green turtle – the largest I've ever seen – flaps powerfully and indifferently alongside me, but my attention is sharply focused on the incongruous sight just below me. A marine iguana! The miniature dinosaur is munching away on a patch of lush green algae, oblivious that it is actually under water. After a little while, it looks up and pushes off, sculling gently with its tail to reach the surface. A David Attenborough moment if there ever was one!
The third snorkelling opportunity of the day is near the northern tip of Isabela Island, at Punto Vincente Roca. I roll in. The water is colder still, but the sight below is immediately arresting. I count no fewer than 23 huge green turtles right around me, but there must be more than 100 in this bay. Some are swimming slowly but most are just swaying in the gentle waves, a metre or so below the surface. Blue-footed boobies are diving, and two little Galapagos penguins stand guard on a rock, but the attraction of the turtles is too strong. I stop finning and join the trance-like rhythm of to-and-fro rocking, until once again, I'm told that it's time to get back on the boat.
I start writing this account on the foredeck as our boat chugs along northward towards the Equator. Suddenly, a fin breaks the surface. A shark? No! It's an ocean sunfish! Mola mola – my most-want-to-see fish. And there's another, and another. In total, at least seven ocean sunfishes come and salute us with their oversized dorsal fins, as if they know the imminence of something momentous. And then it happens. The engine stops. I rush to the wheelhouse as the captain points to the GPS. The digital display reads 00.00.022 S, with the numbers slowly decreasing as the momentum of the boat pushes us forward. I count down to zero, and there's cheering and hilarity. I'm a shellback: I've crossed the equator on a boat, finally. The crew distributes little certificates attesting to the event. Mine is made to Isabel Marie Codette Cute. Close enough. I know it's for me.


The Council of Chief State School Officers is a nonpartisan national organization of public officials who head state departments of elementary and secondary education. The council provides leadership, advocacy, and technical assistance on major educational issues., the council will pursue its goals of advancing next-generation college- and career-readiness through improved standards, practices, resources, assessments, and related policy implications. Work guided by the council's new strategic plan includes building awareness and multistate consensus on policies and practices that will equitably move deeper learning and open educational resources forward.


text:
Get datasets
HuntingSpots
Huntingspots.co.nz is a web tool and app for hunters and adventurers in New Zealand.
The purpose of the tool is to help people plan their trips effectively and to increase safety.
Hunting Spots has a growing range of features. The initial build focuses on game hunters who can figure out where to go on their next hunt based on the game they're after, the terrain that suits them best, the availability of huts and tracks, and so on.
Users can pin or draw locations of interest onto maps, and save these.
Hunting Spots currently uses data from:
Department of Conservation (DoC): Animal distribution, huts, tracks
Ministry of Primary Industries (MPI): Fish distribution, spawning and probability
Land Information New Zealand (LINZ): Maps, roads, topography.
The development team told us that this data has been invaluable to get the project off the ground. However, it has some limitations.
DoC's application programme interfaces (APIs) are very good, but unfortunately the data is not very current.
It would be very helpful if the data from MPI was available by API, as this would reduce the amount of manual work to update it within the Hunting Spot tool.
LINZ's data is very good, but the 2GB download limit is frustrating to work with. And as users who were unfamiliar with the LINZ Data Service web interface, the team didn't realize there was an API (an interface to query at machine level) and found it difficult to find the specific data they needed. (Hunting Spots is now more familiar with the Data Service web interface and LINZ is aware of the usability issues with their site and the challenge for users to find the right data amongst their many open datasets: they have a roadmap of work to address these issues over time.)
Open data wishlist
A range of data is key to enabling this tool meet the needs of people who are hunting, fishing and tramping, as well as being a potential conduit for crowdsourcing updated data and helping reduce avoidable injuries.
The development team would like to feed in real-time weather data from MetService for increased health and safety for those planning trips into the outdoors. Current weather data could also be a contributing factor in calculating the probability of hunting or fishing success at any given time. However, the current cost to access the weather data is prohibitive.
Consistent and timely river flow data nationwide would also contribute to health and safety and would be useful for calculating the probability of success in fishing.
The dev team would like to reuse fish distribution and satellite imagery showing water temperature from NIWA, but their licence to use the data does not permit commercial reuse.
They would like data on deaths or injuries in the outdoors in order to identify high risk areas and heighten safety awareness for people going to those areas.
Data from Osprey on past and future scheduled 1080 drops would also contribute to health and safety and help prevent wasted trips to affected areas.
The development team would like to eventually be able to feed back data to organisations such as Doc and MPI through users of their tool, effectively crowdsourcing animal distribution data to augment data held by the agencies.
This tool is an excellent example of how bringing together multiple datasets can create a rich and very useful tool - much more so than could be done with any of these datasets individually.
It shows how open data can be used to improve health and safety; could be used in creative ways to predict the probability of success (in hunting and fishing); can help save money spent on pointless trips (and carbon emissions); and can build a community of interest.
This case study was last updated on 27 July 2017.
Open data use
Request a dataset
Unless indicated otherwise, all content on data.govt.nz is licensed for re-use under a Creative Commons 4.0 International Licence
Crown copyright 2021


text:
First of the four ships under Survey Vessel (Large) project for Indian Navy launched in the presence of Raksha Rajya Mantri at GRSE, Kolkata
'Sandhayak' reinforces Government's commitment of indigenous shipbuilding and is a big step towards 'Aatmanirbhar Bharat', says Ajay Bhatt
Hopes that it will ensure safe navigation of Indian as well as ships of friendly foreign nations in Indian Ocean Region
December 5, 2021 Photo(s): By PRO (Navy)
'Sandhayak', the first of the four Survey Vessels (Large) project being built for the Indian Navy, was launched in Kolkata on December 5, 2021. These Vessels have been designed and developed by Defence Public Sector Undertaking, Garden Reach Shipbuilders and Engineers (GRSE) Limited, which is among the leading warship building companies in India. 'Sandhayak' made her first contact with the waters of Hooghly River at 1410 hrs at the Launch Ceremony graced by Ajay Bhatt, Raksha Rajya Mantri. In keeping with the Naval maritime tradition, Smt Pushpa Bhatt, spouse of Ajay Bhatt, launched the ship to the chanting of invocation from Atharva Veda.
These survey ships are capable of full scale coastal & deep-water hydrographic survey of Ports & Harbour approaches and determination of navigational channels & routes. These ships are also capable of undertaking survey of maritime limits and collection of Oceanographic & Geographical data for Defence applications, thus boosting the maritime capabilities of the country. These ships are propelled by two Marine Diesel Engines combined with Fixed Pitch Propellers and fitted with Bow & Stern Thrusters for manoeuvring at low speeds during surveys. In their secondary role, these ships would be capable of performing roles such as Search & Rescue and Disaster Relief, besides serving as Hospital ship with limited facilities during emergencies. The ships will have a retractable Hangar for stowage of a Utility helicopter.
The contract for building four survey ships was signed between MoD and GRSE on 30 Oct 18 at a total cost of 2435 Crs. The ships are fully designed by the Design team of GRSE to meet the requirements of the Indian Navy and are being built utilising the concepts of 'Integrated Construction' and in compliance with applicable provisions and regulations of the Classification Society. It has over 80 per cent indigenous content by cost and this will also ensure that large scale defence production is executed by Indian manufacturing units, thereby generating employment and expertise within the country.
Appreciating GRSE's efforts, the Raksha Rajya Mantri said, the launch of the ship reinforces the Government's commitment of indigenous shipbuilding as part of Prime Minister Narendra Modi's vision of 'Make in India' and provides thrust to 'Aatmanirbhar Bharat'. He appreciated the fact that 37 warships and submarines for Indian Navy are currently under various stages of construction in different shipyards within the country. Ajay Bhatt lauded the Indian Navy and GRSE for working together on number of projects of national importance such as Project 17A frigates and Anti-Submarine Warfare Shallow Water Crafts.
Saying that blue economy is one of the core dimensions of growth as per the Government's vision of New India by 2030, Ajay Bhatt expressed confidence that the vessel will be a major contributor towards meeting the initiatives and vision for sustainable development in the maritime domain. He hoped that 'Sandhayak' will ensure safe navigation of not just Indian ships, but of friendly foreign nations in the Indian Ocean Region. "This would help in strengthening our bilateral ties and in opening up & promoting trade opportunities for our nation in the long term," he added.
As per build strategy adopted by GRSE, first ship is being built at GRSE Ltd and construction of balance three ships is envisaged at M/s L&T Shipbuilding, Kattupalli.
In his address, Chairman & Managing Director, GRSE Rear Admiral Vipin Kumar Saxena (Retd) said, the present survey ships are equipped with new generation hydrographic equipment and is testimony to the maturity of the country's indigenous construction capability towards achieving self-reliance. He said, this achievement, despite challenges posed by the COVID-19 pandemic, is a testimony to the commitment and capability of the GRSE.
The erstwhile Sandhayak incidentally was also launched at GRSE, Kolkata 44 years ago on 06 Apr 1977.
Flag Officer Commanding-in-Chief, Eastern Naval Command Vice Admiral Biswajit Dasgupta; Controller of Warship Production & Acquisition Vice Admiral Kiran Deshmukh; Chief Hydrographer to the Government Vice Admiral Adhir Arora and other senior officials of GRSE, Armed Forces and the Industry representatives were also present on the occasion. For the first time, this ceremony was also witnessed by more than 100 students from various city schools, National Cadet Corps (NCC) cadets and others.


Trees stretch their branches throughout many works of literature, from children's classics such as The Magic Faraway Tree to science fiction such as The Word for World is Forest by Ursula le Guin to scenes in nature books including The Wild Places by Robert Macfarlane. Richard Powers' atmospheric twelfth novel The Overstory is named after the word for the highest layer of vegetation in a forest and is teeming with stories about trees.
The intricate novel formidably forks through time and place, from antebellum New York to the late twentieth-century Pacific Northwest, showing how trees join the lives of a group of nine strangers. A tree literally saves the life of one character, an Air Force loadmaster in the Vietnam War who tumbles out of the sky and into a banyan tree which softens the blow. A botanist discovers that trees are communicating with each other. An artist inherits photographic portraits stretching back a hundred years, all of the same American chestnut tree. These people and six other strangers are drawn together during the timber wars of the 1990s in an endeavour to save the continent's few remaining acres of virgin forest from logging.
The Overstory has an idiosyncratic, non-linear structure, rather like the pattern of growth rings inside trees: "Time was not a line unrolling… it was a column of concentric circles". Powers' gift for capturing the passage of time is most apparent in the story of the artist who inherits a thousand photographic portraits of a tree – thumbing through the photos, "three-quarters of a century dances by in a five-second flip".
This homage to trees is separated into sections including Roots, Trunk, Crown and Seeds and the author pays close and loving attention to all parts of a tree. He evocatively explores not only the 'overstory' but the 'understory', too, the word for the underlying layer of vegetation in a forest, exploring both the literal and figurative heights and the depths, and tunnelling through to the innermost hearts and minds of his characters.
Reading this 500-page novel can feel like wading through a dense forest of words that could in places do with being pruned down to let the shape of the story more clearly emerge. It is at times difficult to see the wood for the trees – but those trees are so magnificently evoked that it is worth getting a little lost for them. Trees come alive in this novel in vivid descriptions, from "two elms that draped their arms around each other and became one tree" to a man lying on his back on the cold ground at dawn gazing upwards to see "evergreen tops sketch and scribble on the morning sky".
Powers zooms in on the tiny details of those things that are made of trees such as the "wild loops in the wood" of a desk. Holding this book in the hands it is impossible to forget that paper, too, is made of trees.
Here is a timely reminder, too, of how trees sustain the existence of ourselves and the world, as they turn the sun's energy into oxygen. This is a novel about what trees are made of and how trees make us.
"In every walk with nature one receives far more than he seeks", writes Powers quoting the naturalist and conservationist John Muir. This walk through the woods via words is a passionate paean to the natural world that prompts us to appreciate afresh our place in the planet.