text:
# Enable or disable the instant access feature

Typically, the more data you store on a disk, the longer it takes to create a snapshot for the disk. You can enable the instant access feature when you create a snapshot for an enhanced SSD \(ESSD\). The feature allows the snapshot to be created within seconds.

**Note:**

On December 03, 2020, the instant access feature is released for public preview in China \(Hohhot\). The feature will be available in more regions.

On December 14, 2020, the local snapshot feature for ESSDs is upgraded to the instant access feature for ESSDs.

## Scenarios

The instant access feature has the following benefits:

-   Instant access to snapshots: After instant access is enabled for a snapshot, the snapshot can be used to roll back and create disks even when the snapshot is being created. This feature ensures that a new snapshot of an ESSD becomes available for use within seconds regardless of the ESSD size.
-   Disk rollback without performance loss: You can use snapshots for which instant access is enabled to roll back ESSDs without performance loss or increase in the I/O latency of the ESSD.

We recommend that you enable the instant access feature in the following scenarios to accelerate the creation of snapshots.

|Scenario|Description|
|--------|-----------|
|DevOps scenario|-   Build a development and test environment based on snapshots.
-   Perform ECS O&M operations by using Operation Orchestration Service \(OOS\). |
|Scenario where snapshots need to be created to back up data before high-risk operations are performed|-   Replace system disks or resize disks.
-   Update business systems.
-   Perform diagnostics in the ECS console. |

## Considerations

Before you enable instant access, take note of the following items:

-   This feature is applicable only to ESSDs.
-   Up to 10 snapshots that have instant access enabled can be retained for a single ESSD. If an ESSD already has 10 snapshots for which instant access is enabled, you cannot enable instant access for more snapshots of the ESSD.
-   ESSDs whose snapshots have instant access enabled cannot be re-initialized.
-   You can enable instant access only when you manually create a snapshot for an ESSD.

When you disable instant access, take note of the following items:

-   After instant access is enabled for a snapshot, you cannot disable the feature when the snapshot is being created. After the snapshot is created, you can disable the feature.
-   When you delete snapshots, instant access is automatically disabled if this feature is enabled for the snapshots.
-   When you delete an ESSD, instant access is automatically disabled if this feature is enabled for snapshots of the ESSD.

## Billing

After the instant access feature is enabled, you are charged for both the storage fee for normal snapshots and the instant access feature fee. The billable items of the instant access feature include the number of times the feature is enabled, snapshot size, and billing duration. For more information, see [Snapshots](/intl.en-US/Pricing/Billing items/Snapshot billing.md).

**Note:** The instant access feature is billed separately. You can disable the feature to save costs after a snapshot is created. You are still charged for the storage fee for normal snapshots.

## Enable the instant access feature

1.  Log on to the [ECS console](https://ecs.console.aliyun.com).

2.  In the left-side navigation pane, choose **Instances & Images** \> **Instances**.

3.  In the top navigation bar, select a region.

4.  Find the specified ECS instance and click its ID.

5.  Click the **Cloud Disk** tab on the **Instance Details** page.

6.  Find the ESSD for which you want to create a snapshot, and click **Create Snapshot** in the **Actions** column.

7.  In the **Create Snapshot** dialog box, configure the following parameters.

    |Parameter|Description|
    |---------|-----------|
    |**Snapshot Name**|Enter a name for the snapshot.|
    |**Instant Access**|Turn on **Instant Access**.|
    |**Duration of Instant Access**|Specify the number of days for which the instant access feature is available. The instant access feature is automatically disabled when the duration of instant access expires.|
    |**Tag**|Configure the tag key and value of the snapshot.|

8.  Click **Create**.

After the snapshot is created, choose **Storage & Snapshots** \> **Snapshots** in the left-side navigation pane to check whether instant access takes effect on the new snapshot.

After the instant access feature is enabled for a snapshot, You can use the snapshot to create a new disk or roll back the original disk without waiting for the snapshot to be created. For more information, see [Create a disk from a snapshot](/intl.en-US/Block Storage/Cloud disks/Create a cloud disk/Create a disk from a snapshot.md) and [Roll back a disk by using a snapshot](/intl.en-US/Snapshots/Use snapshots/Roll back a disk by using a snapshot.md).

## Disable the instant access feature

You must set the **Duration of Instant Access** parameter when you enable the instant access feature. This feature is automatically disabled when the period specified by the parameter expires. Alternatively, you can perform the following operations to manually disable the instant access feature:

1.  Log on to the [ECS console](https://ecs.console.aliyun.com).

2.  In the left-side navigation pane, choose **Instances & Images** \> **Instances**.

3.  In the top navigation bar, select a region.

4.  Find the specified ECS instance and click its ID.

5.  Click the **Snapshot** tab on the **Instance Details** page.

6.  Find the snapshot for which you want to disable instant access and click **Disable Instant Access** in the **Actions** column.

7.  In the **Disable Instant Access** message, click **OK**.

## References

-   [CreateSnapshot](/intl.en-US/API Reference/Snapshots/CreateSnapshot.md)
-   [ModifySnapshotAttribute](/intl.en-US/API Reference/Snapshots/ModifySnapshotAttribute.md)

url: https://raw.githubusercontent.com/cobblau/ecs/18a3b85c46012aada17367d260f0c18eedda8170/intl.en-US/Snapshots/Use snapshots/Enable or disable the instant access feature.md

repository: cobblau/ecs

repo_name: cobblau/ecs


text:
# Terry's lab template

## Cloning a new lab from this template
- Create a new repo in github using UI/command as usual. This will be the target repo where duplicate of source repo to be pasted.
- Set default branch as gh-pages:  (>settings>branches>switch>gh-pages)
- From a Linux terminal:
    - git clone --bare https://github.com/koziniec/lab-template
    - cd lab-template.git
    - git push --mirror https://targetRepoURL

## Preparing the new lab
- Update values in /_config.yml
- put all images in: /assets/img
    - /assets/img/topology.png
- update copyright licence information in: /pages/about.md
- Update lab title(s) here: /pages/index.md    (Don't change topology link)
- Put EVE topology files here: /_docs/eve   (initial.zip and final.zip)
- Build lab content here: /_docs/lab-exercise.md

repository: koziniec/lab-template

branch_name: refs/heads/gh-pages

extension: md

gha_language: CSS

gha_license_id: NOASSERTION

license_type: permissive

repo_name: koziniec/lab-template


text:
# Jekyll Google Analytics

![](https://img.shields.io/badge/license-MIT-blue.svg)
![](https://badge.fury.io/rb/jekyll-google-analytics.svg)
[![Code Climate](https://codeclimate.com/github/crispgm/jekyll-google-analytics/badges/gpa.svg)](https://codeclimate.com/github/crispgm/jekyll-google-analytics)

A Liquid tag plugin for Jekyll

## Installation

1. Add the following to your site's ```Gemfile```:

    ```
    gem "jekyll-google-analytics"
    ```

2. Add the following to your site's ```_config.yml```:

    ```
    gems:
      - jekyll-google-analytics

    ga:
      tracking_id: UA-50708664-1
    ```

3. Add the following in your site's template(s):

    ```
    {% ga %}
    ```

license: MIT

repository: crisp-archive/jekyll-google-analytics

branch_name: refs/heads/master

repo_name: crisp-archive/jekyll-google-analytics


text:
# Friend Suggestion With Logistic Regression

This project involves the purpose of presenting to 10 people who are not friends of the user with their interest in the logistic regression method.

## Getting Started

### Prerequisites

You need to install JDBC Driver for Java to Mysql.

## Built With

* [Maven](https://maven.apache.org/) - Dependency Management

## Authors

* **Erkan Ercan** - *Initial work* - [Abajur Adam](https://github.com/AbajurAdam)

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

repository: erkanercan/AppSwing

repo_name: erkanercan/AppSwing


text:
# Movie Streaming Website  🎬

Are you a movie maniac, who loves to binge watch awesome series? If Yes, then you have come to right place.

Everyone loves to watch their favorite shows with friends and some snacks. But there is something that you might be missing out on!

So, what else do you need?🤔.

Here is the answer: An awesome movie streaming website of yours that has all your favorites at one place!

We already have Netflix, Prime and Hotstar but they might be expensive sometimes. So what should we do? You must be wondering that making our own movie website might take time, require some web development knowledge and still you might get something really cool.

Well! Take a chill pill. Don't be intimidated by those thoughts. __Apna Theatre Website__ is here for the rescue!

## A sneek peek into what we have here🙈 :

### Home Page:

### Seperate Page for All Genres:

## About

ApnaTheatre.com is a place for all movieocohlic's to enjoy. This movie streaming website allows users to watch their favorite movies, tv shows and web series from multiple genres like crime, comedy, drama, kids etc.

## Link to the website
https://qazimaazarshad.github.io/Movie-Streaming-Website/

## Tech Stack

## How to get started❓

You can refer to the following articles on the basics of Git and Github and also contact the Project Mentors, in case you are stuck:

- If you don't have git on your machine, [install](https://help.github.com/articles/set-up-git/) it.
- [Watch this video to get started, if you have no clue about open source](https://youtu.be/SL5KKdmvJ1U)
- [Forking a Repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo)
- [Cloning a Repo](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository)
- [How to create an Issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue)
- [How to create a Pull Request](https://opensource.com/article/19/7/create-pull-request-github)
- [Getting started with Git and GitHub](https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6)

## Contribution Guidelines 🏗

Are we missing any of your favorite features, which you think you can add to it❓ We invite you to contribute to this project and improve it further

To start contributing, follow the below guidelines:

**🌟.**  Star🌟 the project to bookmark and appreciate the work.

**0.**  Take a look at the existing [issues](https://github.com/QAZIMAAZARSHAD/Movie-Streaming-Website/issues) or create your own issues. Wait for the Issue to be assigned to you after which you can start working on it.

**1.**  Fork [this](https://github.com/QAZIMAAZARSHAD/Movie-Streaming-Website) repository.

**2.**  Clone your forked copy of the project.

```
git clone --depth 1 https://github.com/<your_user_name>/Movie-Streaming-Website.git
```

**3.** Navigate to the project directory :file_folder: .

```
cd Movie-Streaming-Website
```

**4.** Add a reference(remote) to the original repository.

```
git remote add upstream https://github.com/QAZIMAAZARSHAD/Movie-Streaming-Website.git
```

**5.** Check the remotes for this repository.

```
git remote -v
```

**6.** Always take a pull from the upstream repository to your master branch to keep it at par with the main project(updated repository).

```
git pull upstream master
```

**7.** Create a new branch.

```
git checkout -b <your_branch_name>
```

**8.** Perform your desired changes to the code base.

**9.** Track your changes:heavy_check_mark: .

```
git add .
```

**10.** Commit your changes .

```
git commit -m "Relevant message"
```

**11.** Push the committed changes in your feature branch to your remote repo.

```
git push -u origin <your_branch_name>
```

**12.** To create a pull request, click on `compare and pull requests`. Please ensure you compare your feature branch to the desired branch of the repo you are suppose to make a PR to.

**13.** Add appropriate title and description to your pull request explaining your changes and efforts done.

**14.** Click on `Create Pull Request`.

**15.** Voila :exclamation: You have made a PR to the Apna Theatre project :boom: . Sit back patiently and relax while the project maintainers review your PR. Please understand, at times the time taken to review a PR can vary from a few hours to a few days.

## Project Admin👨:

Qazi Maaz Arshad

## Open Source Programs we have been associated with:

## Code of Conduct

Click to read

## License

MIT License

## Contributors

gha_license_id: MIT


text:
# Summary

* [简介](README.md)
* [翻译说明](chapter0/README.md)
* [第 1 章: 用户手册](chapter1/README.md)
    * [目的](chapter1/Motivation.md)
    * [入门指南](chapter1/Getting_Started.md)
    * [绑定(Bindings)](chapter1/Bindings.md)
        * [链接绑定(Linked Bindings)](chapter1/Linked_Bindings.md)
        * [绑定有关的注解(Binding Annotations)](chapter1/Binding _Annotations.md)
        * [实例绑定(Instance Bindings)](chapter1/Instance_Bindings.md)
        * [@Provides <EMAIL_ADDRESS>        * [Provider绑定(Provider Bindings)](chapter1/Provider_Bindings.md)
        * [无目标绑定(Untargeted Bindings)](chapter1/Untargeted_Bindings.md)
        * [构造方法绑定(Constructor Bindings)](chapter1/Constructor_Bindings.md)
        * [内置绑定(Built-in Bindings)](chapter1/Built-in_Bindings.md)
        * [即时绑定(Just-In-Time Bindings)](chapter1/Just-In-Time_Bindings.md)

repository: Zeyuann/guice-chinese

repo_name: Zeyuann/guice-chinese


text:
---
name: Report
about: To help identify and reproduce issues
title: "[Issue]"
labels: bug, bug-needs-triage, qa, needs-triage
assignees: tommyv1987

---

**Describe the issue**
A clear and concise description of what the issue is...

**Expected behaviour**
A clear and concise description of what you expected to happen...

**Stack Traces**
If there are stack traces or logs, please provide them here...

**Steps to Reproduce**
Steps to reproduce the behaviour, if you're familiar with BDD syntax, please write it in this style:
- Given I was doing X
- And I installed Y
- When I actioned Y
- Then I expect Z

*An example:*
- Given I was setting up a mix-node following the instructions in the docs
- And I successfully bonded my node via the the wallet
- When I went to start my mixnode
- Then I was presented with an error

**Screenshots**
If applicable, add screenshots to help explain your problem...

**Which area of Nym were you using?**
 - UI: [e.g. Websites - network-explorer, nym-website]
 - Application: [e.g Gateway, Client, Wallet]
 - OS: [e.g. Ubuntu 20.x, MacOs Big Sur, Windows 10]
 - Browser: [e.g Chrome (if applicable)]
 - Version: [e.g. nym binary(0.11.0), browser(94.0)]

**Additional context**
Please provide any other information

repository: nymtech/nym

branch_name: refs/heads/develop

gha_language: Rust

repo_name: nymtech/nym


text:
## Python OOP Exam 16 August 2020 – System Split

*You have been given the task to gather statistics about The System. The System is a network of components, connected to build something which functions logically, but you don’t need to know that. You need to build a program which processes statistics about The System.*

###### Structure (Problem 1) and Functionality (Problem 2)
Our first task is to implement the structure and functionality of all the classes (properties, methods, inheritance, etc.)

**1.	Class Software**
In the file software.py implement the Software class:
*Structure*
The class should have the following attributes:
•	name - string
•	type - string ("Express" or "Light")
•	capacity_consumption - int
•	memory_consumption - int
*Methods*
\_\_init\_\_(name:str, type:str, capacity_consumption:int, memory_consmption:int)
Set the attributes to the provided values
*Note: Feel free to add any additional methods that might help you.*

**2.	Class LightSoftware**
In the file light_software.py implement the LightSoftware class:
•	The class should inherit from Software. Set the type to be "Light"
•	An instance of the LightSoftware class has 50% more capacity_consumption than the given one
•	An instance of the LightSoftware class has 50% less memory_consumption than the given one

**3.	Class ExpressSoftware**
In the file express_software.py implement the ExpressSoftware class:
•	The class should inherit from Software. Set the type to be "Express"
•	An instance of the ExpressSoftware class has two times more memory_consumption than the given one

**4.	Class Hardware**
In the file hardware.py implement the Hardware class:
*Structure*
The class should have the following attributes:
•	name - string
•	type - string ("Heavy" or "Power")
•	capacity - int
•	memory - int
•	software_components - empty list upon initialization
*Methods*
\_\_init\_\_(name:str, type:str, capacity:int, memory:int)
Set the attributes to the provided values

• install(software:Software)
If there is enough capacity and memory, add the software object to the software_components. Otherwise, raise Exception with message "Software cannot be installed"

• uninstall(software:Software)
Remove the software object from the software_components
*Note: Feel free to add any additional methods that might help you.*

**5.	Class HeavyHardware**
In the file heavy_hardware.py implement the HeavyHardware class:
•	The class should inherit from Hardware. Set the type to be "Heavy"
•	An instance of the HeavyHardware class has two times more capacity than the given one
•	Its memory is 75% from the given memory upon initialization

**6.	Class PowerHardware**
In the file power_hardware.py implement the PowerHardware class:
•	The class should inherit from Hardware. Set the type to be "Power"
•	Its capacity is 25% from the given capacity upon initialization
•	An instance of the PowerHardware class has 75% more memory than the given one

**7.	Class System**
The System class is where all the logic of the task will be implemented
The class should have the following protected attributes:
•	\_hardware - list storing all the hardware
•	\_software - list storing all the software
*Methods*
All described methods below should be static!
- register_power_hardware(name:str, capacity:int, memory:int)
Create a PowerHardware instance and add it to the hardware list
- register_heavy_hardware(name:str, capacity:int, memory:int)
Create a HeavyHardware instance and add it to the hardware list
- register_express_software(hardware_name: str, name:str, capacity_consumption:int, memory_consumption:int)
•	If the hardware with the given name does NOT exist, return a message "Hardware does not exist"
•	Otherwise, create an ExpressSoftware instance, install it on the hardware (if possible) and add it to the software list (if installed successfully)
•	If the installation is not possible return the message of the raised Exception
register_light_software(hardware_name: str, name:str, capacity_consumption:int, memory_consumption:int)
•	If the hardware with the given name does NOT exist, return a message "Hardware does not exist"
•	Otherwise, create a LightSoftware instance, install it on the hardware (if possible) and add it to the software list (if installed successfully)
•	If the installation is not possible return the message of the raised Exception
release_software_component(hardware_name:str, software_name:str)
•	If both components exist on the system, uninstall the software from the given hardware
•	Otherwise, return a message "Some of the components do not exist"
- analyze()
Return the following information (as a string). The total memory and capacity used is calculated of all hardware components in the system:
System Analysis
Hardware Components: {count of hardware components}
Software Components: {count of software components}
Total Operational Memory: {total used memory} / {total memory}
Total Capacity Taken: {total used space} / {total capacity}
system_split()
Return the following information (as a string) for each hardware component:
Hardware Component - {component name}
Express Software Components: {number of the installed express software components}
Light Software Components: {number of the installed light software components}
Memory Usage: {total memory used of all installed software components} / {total memory of the hardware}
Capacity Usage: {total capacity used of all installed software components } / {total capacity of the hardware}
Type: {type}
Software Components: {names of all software components separated by ', '} (or 'None' if no software components)

*Note: Feel free to add any additional methods that might help you.*

###### Unit Testing (Problem 3)

In the test_hardware.py file create tests for the Hardware class.

*Examples*

Test code:

        System.register_power_hardware("HDD", 200, 200)
        System.register_heavy_hardware("SSD", 400, 400)
        print(System.analyze())
        System.register_light_software("HDD", "Test", 0, 10)
        print(System.register_express_software("HDD", "Test2", 100, 100))
        System.register_express_software("HDD", "Test3", 50, 100)
        System.register_light_software("SSD", "Windows", 20, 50)
        System.register_express_software("SSD", "Linux", 50, 100)
        System.register_light_software("SSD", "Unix", 20, 50)
        print(System.analyze())
        System.release_software_component("SSD", "Linux")
        print(System.system_split())

Output:
        System Analysis
        Hardware Components: 2
        Software Components: 0
        Total Operational Memory: 0 / 650
        Total Capacity Taken: 0 / 850
        Software cannot be installed
        System Analysis
        Hardware Components: 2
        Software Components: 5
        Total Operational Memory: 455 / 650
        Total Capacity Taken: 160 / 850
        Hardware Component - HDD
        Express Software Components: 1
        Light Software Components: 1
        Memory Usage: 205 / 350
        Capacity Usage: 50 / 50
        Type: Power
        Software Components: Test, Test3Hardware Component - SSD
        Express Software Components: 0
        Light Software Components: 2
        Memory Usage: 50 / 300
        Capacity Usage: 60 / 800
        Type: Heavy
        Software Components: Windows, Unix

repository: elenaborisova/Python-OOP

path: /24. Exam Prep/exam_16aug/README.md

branch_name: refs/heads/main

repo_name: elenaborisova/Python-OOP


text:
---
layout: page
title: CS in English Supporters
subtitle: A list of supporters
---
CS in English project is supported by the following organizations/companies.

- [junglecity.com](junglecity.com) is an award-winning informational site for Japanese speakers and nationals in Japan and in the US to learn more about the Seattle region in Japanese. About 1 million unique users visit our site each year. The best place to discover all that Seattle has to offer is here in junglecity. It is also a great place to advertise or showcase your products and services to target and reach the Japanese public.
- [Konnnichiwa Seattle](https://www.konnichiwaseattle.com/) is your gateway to organizations and the local community to help with whatever you need.
- [トヨタ自動車九州株式会社](https://www.toyota-kyushu.com/)
- [株式会社ハウインターナショナル](https://www.haw.co.jp/)
- [株式会社chaintope](https://www.chaintope.com/)
- 一般社団法人 家庭教育研究機構
- [一般社団法人 日本トランスレーション協会](https://www.japantranslation-association.com/)
- [CoderDojo 福岡](https://www.facebook.com/CoderDojoFukuoka/)
- [株式会社グローバルスマイルジャパン](https:.//https://globalsmile-japan.com/)
- [株式会社ヴィネット](https://www.vinet.co.jp/)
- [株式会社CLOUD-IA](https://www.facebook.com/CloudIA.JP/)
- [飯塚市教育委員会](http://www.city.iizuka.lg.jp/kyoiku/kyoiku/inkai/index.html)

gha_language: JavaScript


text:
# Nornir framework

Nornir framework help to make your server/client system of RPC.

This framework is these following features.

1. This framework is written in Haxe, so you write some Haxe code when you use it.

2. Provide same types for server and client.

3. Provide templates of procedure.

4. Useful simple server and client library.

These features are composed of different three components. The feature '2' is called "**Verdandi**", '3' is called "**Urd**". Another one is called "**Skuld**" that's for server/client communication.

## Introduction

Example in samples/simple\_skuld is good introduction.
You go to samples/simple\_skuld.

```
cd samples/simple_skuld
```

### Step 1. verdandi
Next step is executing 'verdandi' command.

```
haxelib run nornir verdandi json/sample.json
```

'verdandi' command read json file and make classes following an element of 'classes'.

at *json/sample.json*

```json:json/sample.json
{
  "classes":{
    "nornir.samples": {
      "Person": { "name" : "String", "address":"String" },
      "People": { "people" : "Array<Person>" },
      "MailData": { "sender":"Person", "receiver":"People", "subject":"String", "body":"String" }
    }
  }
  ...
}
```

### Step 2. urd
'urd' command make procedures following elements without 'classes' in json file.

```
haxelib run nornir urd json/sample.json
```

at *json/sample.json*

```json:json/sample.json
{
  "classes":{
  ...
  },
  "server":{
    "nornir.samples": {
      "MailToAdressee": { "Mail" : "MailData" }
    }
  },
  "client":{
    "nornir.samples": {
      "MailToMailServer": { "Mail" : "MailData" }
    }
  }
}
```

### Step 3. skuld

Skuld is not command but a library.
For how to use, See TestServer.hx and TestClient.hx.

### 'norn' command

'norn' command is executing 'verdandi' and 'urd' at once.

```
haxelib run nornir norn sample.norn
```

at *sample.norn*

```text:sample.norn
-j json/sample.json

verdandi
urd
```

In norn file you specify json file by '-j' and command to want to execute.

## Note

Generating receiver classes is not importing automatically, so you write to import reciever classes explicitly in your code.

repository: naokirin/nornir-framework

repo_name: naokirin/nornir-framework


text:
# Overview
This example creates a simple JSON table within the Oracle Database and then stores and retrieves data from it using [Java](http://java.net)

# Prerequisites
* Oracle Database <IP_ADDRESS>+
* Oracle JDBC Driver 1.6+ (ojdbc6.jar)

# Example structure
## setup.sql
Sets up the environment. You must run this script as privileged user, e.g. SYS, SYSTEM or another user with appropriate privileges. This example uses a pluggable database (PDB) which you do not have to license if you have just 1 PDB within your container database! If you do not wish to use a PDB for the example you can remove the appropriate commands as commented within the file itself.
## cleanup.sql
Cleans the environment up. This cleanup script assumes that you have used a pluggable database (PDB) for the example. If you do not have used a PDB for the example you have to remove the approprite commands as commented within the file itself.
## LoadData.java
This class generates and stores random JSON documents in an endless loop which a pause of 2 seconds between inserts.
## RetrieveData.java
This class retrieves certain attributes from all JSON documents stored.

repository: amartelr/Oracle-JSONInTheDatabase

repo_name: amartelr/Oracle-JSONInTheDatabase


text:
---
title: Coordinate Reference Systems
layout: blank-two.html
date: 2017-09-20 18:00
collection: projections
---

## Coordinate Reference Systems Intro

![YouTube](../../assets/graf/YouTube_icon_sm.jpg "YouTube")

[_Projections with QGIS 2.10_](https://www.youtube.com/watch?v=Kj19epd1D-A)

__Overview__

In QGIS the default projection, or CRS, is WGS84 Geographic Coordinate System.

The WGS84 CRS has become a global standard for latitude and longitude positions, such as those captured with GPS devices. Note that "unprojected" data, or those with projections that cannot be interpreted will be projected by default in WGS-84 when using QGIS.

It is possible to load layers with different CRS into a QGIS project and view them seamlessly in the same coordinate space.

This exercise will introduce the basics of managing CRS in QGIS.

See also _Peter H. Dana's_ [Map Projection Overview](https://www.colorado.edu/geography/gcraft/notes/mapproj/mapproj_f.html).
```
1. From the top Menu go to PROJECT | PROJECT PROPERTIES
Then go the CRS tab
```

```
1. Start by ticking the checkbox to "Enable "on the fly" CRS transformations (OTF)"
2. The "Recently used" CRS Panel can be used to reset the Project CRS to any options listed
3. The "CRS of the World" panel lists all the pre-configured CRS that QGIS has to choose from
4. Below this is the SELECTED CRS which lists the Name of the currently set CRS
5. Next is a proj4 text panel, where CUSTOMIZED projections can be set by pasting in proj4 format CRS statements. You can look up proj4 statements by EPSG number at SpatialReference.org
6. At the top of the CRS tab is a FILTER box, where you can Search by CRS Name or by EPSG number
---
Note: in the main QGIS User Interface, the current PROJECT CRS is always indicated in the lower right corner of the STATUS BAR as EPSG #.
```

The following exercise uses data from:

1. [Workshop Data 2015-03 PART TWO](http://maps.cga.harvard.edu/qgis/data/older_data/workshop_data_2015-03.zip) Egypt

2. [Workshop Data 2014-11 PART TWO](http://maps.cga.harvard.edu/qgis/data/older_data/workshop_data_2014-11.zip) Spain
3. [Workshop Data 2014-11 PART TWO](http://maps.cga.harvard.edu/qgis/data/older_data/workshop_data_2014-11.zip) China

```
1. For this exercise go to PROJECT | PROPERTIES and UNCHECK the "on the fly" transformations setting and click APPLY then OK.
2. Now we will Add Vector Data
3. Set the Encoding to ISO-8859-1 [Latin alphabet with European standard diacritic marks]
4. Add the Egypt layer: egypt_admi1_iso-8850=9-1
5. Also using Encoding: ISO-8859-1, add the Spain layer:  ESP_adm4
```

```
1. Add another layer, changing Encoding = UTF8,  the egypt_gns_pts_utf-8
2. click on the ZOOM FULL button (Zoom to Full Extent of active layers)
3. Now you should see the Egypt and Spain data on the Map View.
```

```
1. Right click on the ESP_adm4 layer, and then PROPERTIES | GENERAL
2. You should see that the CRS is set to EPSG:4326 - WGS 84
3. Close the Layer Properties window and note that the PROJECT CRS is also set to EPSG:4326 on the lower right of the status bar
4. Right click on one the Egypt layers and you will find that the same CRS settings are found, EPSG:4326
5. Because ALL layers in our project are in the same CRS and the Project itself is the same CRS, they are shown correctly, even though we have UNCHECKED the setting for ENABLE ON-THE-FLY CRS TRANSFORMATIONS !
```

```
1. Now let us test this by adding a layer with a very different CRS definition
2. First make sure that in PROJECT | PROJECT PROPERTIES the ON-THE-FLY Transformation is still UNCHECKED (ie. disabled)
3. Now Add Vector Data in a DIFFERENT CRS
4. Set the Encoding to GBK
5. Browse to the China Provinces sample data in the workshop folder 6. workshop_data_2014-11/part_2/v4_1820_prov_pgn_gbk   then OPEN.
```

```
1. When adding incompatible CRS layers in the same map view, and with the ON-THE-FLY Transformation unchecked, the Map View will either remain unchanged, or may go blank
2. Now click on the ZOOM FULL button
3. QGIS 2.0 will automatically RESET the ON-THE-FLY Transform option, and your layers should now show up in correct relative positions
```

```
1.  Now make sure the v4_1820_prov_pgn_gbk layer is the ACTIVE layer, by clicking on it in the Layers Panel
2.  With the China Provinces layer ACTIVE, go to PROJECT | PROJECT PROPERTIES and UNCHECK the ON-THE-FLY Transform option
3. At this point the projection should transform to the CRS of the active layer
4. Click ZOOM FULL on the navigation toolbar
5. The Map View will attempt to view all the layers, but they will no longer be in compatible projection space!
6. The China data, being the only layer that matches the Project Layer (see the EPSG # 2333 for the Project in the STATUS BAR on the lower right), will be visible.
7. What this means is that the Project CRS has been set to the active layer, which will look proportionally correct, while the other data layers will be so tiny that they will be visible as a single dot, or not shown on the screen at all
```

```
1. Now go to PROJECT | PROJECT PROPERTIES and CHECK the ON-THE-FLY Transform option again
2. The data layers will be transformed to the CRS of the active layer (EPSG 2333)
3. Click ZOOM FULL on the navigation toolbar
4. The Map View will attempt to view all the layers, but in this example, the Egypt & Spain layers will be very distorted, because the WGS-84 CRS is not appropriate to be transformed to the China CRS
5. As shown in the STATUS BAR, the Project is set to EPSG:2333 a specialized Gauss Kruger Xian 1980 projection for China.  That is why the other layers get distorted.
```

```
1. Finally, let us go to PROJECT | PROJECT PROPERTIES and reset the PROJECT PROJECTION to WGS-84
2. You should be able to see WGS-84 EPSG:4326 in the RECENTLY USED projections list
3. Click on the EPSG:4326 line and APPLY
4. The selected CRS should now read WGS 84
5. Click OK and then ZOOM FULL
6. The Map View should now seem more or less as we would expect it to, with the layers for Egypt, China, and Spain showing up in their relative positions.
7. That is one advantage of using the Global Geographic CRS, WGS-84, because it should work for a map containing elements from anywhere on the standard global grid, unlike a custom projection that will only work for a specific area of the world.
```

**Proceed to [Batch Reproject](../batch_reproject) Instructions**


text:
#CLDRLib

CLDRLib is a library that aides developers to internationalize their software, using data from the [Unicode CLDR Project](http://cldr.unicode.org).

## Supported Languages & Features

### Objective-C

* Plural rules

## To do

* Completely use templates for code generation
* Add additional languages (e.g. Javascript, PHP, Ruby)
* Use additional CLDR data (e.g. ordinals, postal codes, territory info)

## Building

CLDRLib includes a script that uses templates to generate the library's code from CLDR data. It was written in Objective-C (because that's what I do) and will need to be compiled first.

1. Compile the script.

		$ clang -framework Foundation -o main main.m

2. Download the latest [CLDR data in JSON format](https://github.com/unicode-cldr/cldr-core/blob/master/supplemental/plurals.json) from GitHub.

3. Run the script with the path to the pluralization rules.

		$ ./main <cldr/supplemental/plural.json>

The library will then be found in `dist`.

## Usage

### Objective-C

**Note:** Apple has released `.stringsdict` files which handle plurals in localization and are more flexible than this, especially in that a sentence can contain more than one pluralization. It is recommended that you use that instead of this.

The easiest way to use `CLDRLib` is using the three macros which act similar to
`NSLocalizedString()`:

* `CLDRPluralLocalizedStringWithCount(key, count, comment)`
* `CLDRPluralLocalizedStringWithAmount(key, count, comment)`
* `CLDRPluralLocalizedString(key, count, comment)`

In many languages, like English, decimals (i.e. "1.0") are handled differently than integers (i.e. "1"), so it can be important to distinguish between the two.

Example:

> This disk holds 1 gigabyte of data.

vs.

> This disk holds 1.0 gigabytes of data.

In CLDRLib, a count is an integer, and an amount is a decimal. If you pass a string, the library will attempt to determine which it is by looking for a decimal point (.). If a language uses a different character you can pass it into the options dictionary using `+[NSBundle pluralLocalizedStringForKey:options:value:table:]` with the key `CLDRPluralRuleOptionDecimalSeparator`.

The library will then look in `Localizable.strings` (or a different file if provided in the *tableName* parameter) for a key matching the key provided with the appropriate CLDR key appended. Example: `%d apples.other`.

## License

CLDRKit is licensed under the MIT license, which is reproduced in its entirety here:

>Copyright (c) 2010 Cory Kilger
>
>Permission is hereby granted, free of charge, to any person obtaining a copy
>of this software and associated documentation files (the "Software"), to deal
>in the Software without restriction, including without limitation the rights
>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
>copies of the Software, and to permit persons to whom the Software is
>furnished to do so, subject to the following conditions:
>
>The above copyright notice and this permission notice shall be included in
>all copies or substantial portions of the Software.
>
>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>THE SOFTWARE.

repository: cmkilger/CLDRLib

repo_name: cmkilger/CLDRLib


text:
push-sub
========

push-sub is a daemon which maintains subscriptions with PubSubHubbub (PuSH) hubs
and calls specified commands when messages arrive. PuSH is a server-to-server
update protocol. It's used to notify servers about changes on other servers.
This tool aims to make receiving PuSH updates secure and easy.

[![thumb]][video]

Usage
-----

Create a config file and run `push-sub`. Here's an example config file which to
receives updates from a youtube channel topic and dumps them into `/tmp/pub.txt`:

```toml
# config.toml
address="<IP_ADDRESS>:17889"
basepath="https://hub.ydns.eu/"

[subscriptions.youtube_channel]
topic="https://www.youtube.com/xml/feeds/videos.xml?channel_id=UCF8wOZvgrBZzj4netRo3m2A"
hub="https://pubsubhubbub.appspot.com"
command=["/usr/bin/tee", "/tmp/pub.txt"]
```

For more configuration options, check out [`config.go`][config].

Now run `push-sub` and wait for messages. Make sure that `basepath` is
publically visible and points to `address`. When a message arrives, `command`
will be executed and the message will passed to it through standard input.

    INFO[0000] reading config: ./config.toml
    INFO[0000] discovering hub                                  name="youtube_channel"
    INFO[0000] discovered hub: https://pubsubhubbub.appspot.com name="youtube_channel"
    INFO[0000] registered endpoint="https://hub.ydns.eu/ZC8IRIuuaObmkaOx1zC8NhxjGDJ0E6n4FT7TjMAyyot3f6zxvupGacl56isMR6rGkHebwRwitNXObtAzjYxBKt0ze3k9XTD9q1i" name="youtube_channel"
    INFO[0000] listening on <IP_ADDRESS>:17889
    INFO[0001] subscribing                                   name="youtube_channel"
    INFO[0001] subscribed                                    name="youtube_channel"
    INFO[0013] received message                              name="youtube_channel"
    INFO[0013] running command                               args=[/usr/bin/tee /tmp/pub.txt] name="youtube_channel"

Installing
----------

    go get github.com/0xcaff/sub/push-sub

If you don't have `go`, check out the releases for prebuilt binaries.

Daemonizing (Systemd)
-----------

Here is a systemd unit file to run `push-sub` as a daemon:

    [Unit]
    Description=PubSubHubbub Subscriber
    Requires=network-online.target

    [Service]
    Type=simple
    ExecStart=/opt/push-sub -config /opt/push-sub.toml

    [Install]
    WantedBy=multi-user.target

[releases]: https://github.com/0xcaff/sub/releases
[thumb]: https://i.imgur.com/tMr6WMv.png
[video]: https://asciinema.org/a/124256
[config]: https://github.com/0xcaff/sub/blob/master/push-sub/config.go


text:
# Readme

## How to use
1. run php init from directory
2. choose 0[Development]
3. run composer install
4. change database in common/config/main-local.php
5. run xampp

gha_language: PHP


text:
# 4.0.0-SNAPSHOT
* fluent-style API. see README for details

# 3.1.1
* integrated project membership methods from MembershipManager into ProjectManager
(MembershipManager is now deprecated)
* use newer version of apache httpclient: 4.5.1 -> 4.5.6
* use newer version of slf4j-api: 1.7.12 -> 1.7.25
* use slf4j 1.7.12 instead of 1.7.1

# Version 3.1.0 (2017-12-18)

* new method in Transport class to expose some Json results
* Added support for nonProxy host (using standard java.net.ProxySelector)
* Explicitly specify content length when uploading an attachment

# Version 3.0.2 (2017-12-15)

* Support custom fields for TimeEntry class

# Version 3.0.1 (July 7, 2017)

* Issue #275 getAuthorName returns firstname + NULL when last name is null bug
* Issue #273 Allow private notes

# Version 3.0.0 (August 15, 2016)

No functional changes since 3.0.0-RC2. Just a small test fix.
See changes list for v. 3.0.0-RC1 and 3.0.0-RC2.

# Version 3.0.0-RC2 (August 13, 2016)

* Issue #262 Support 'inherit_members' when creating projects
* Issue #260 Wrap direct search results in ResultsWrapper to allow access to paging ginfo
* some minor bugfixes

# Version 3.0.0-RC1 (August 10, 2016)

* Code compiled for Java 8. From now on this library requires Java 8.
* Issue #61. Support for removing fields: internal storage in "beans" is completely rewritten to support https://github.com/taskadapter/redmine-java-api/issues/61
* Support for "is public" field for Projects https://github.com/taskadapter/redmine-java-api/pull/246
* Bug fix: download attachment using Access Key https://github.com/taskadapter/redmine-java-api/pull/202
* Support for creating issues with multiple attachments. https://github.com/taskadapter/redmine-java-api/issues/194
* Support for attachment uploads with explicitly set length. https://github.com/taskadapter/redmine-java-api/issues/78
* Flattened dependency graphs for User, Issue, etc. (e.g. User assignee instance is replaced with assigneeId and assigneeName)
* Issue #121. Bug fixed: download attachments using API access key
* Support for deleting attachments. https://github.com/taskadapter/redmine-java-api/issues/106

See full list here: https://github.com/taskadapter/redmine-java-api/milestone/27

#### Migration guide for version 3.0.0:

Issue class:
* Method deleted:    public String getCustomField(String fieldName).
 use the new getCustomFieldByName() method instead

IssueFactory class:
* Method deleted: public static Issue createWithSubject(String subject).
 Use create(int projectId, String subject) instead.

IssueManager class:
* Method deleted: createIssue(String projectKey, Issue issue).
 Use createIssue(Issue issue) instead. The old method had ambiguity in it: not clear which project key value
 to use when it is also set in the Issue itself.

A new TimeEntryManager is introduced. Its methods were extacted from IssueManager.

# Version 2.6.0 (November 11, 2015)

## ! This version has breaking API changes to address issue #222!

Migration for RedmineManagerFactory:

* createShortTermConfig(connectionManager) -> getNewHttpClient(connectionManager)
* createUnauthenticated(String uri, TransportConfiguration config) -> createUnauthenticated(String uri, HttpClient httpClient)
* similarly for other createXX() methods that required TransportConfiguration - they now work with HttpClient
  directly.

Also changes to address threading issues:

* deleted Pooling connections. createConnectionManagerWithExtraTrust(), createDefaultConnectionManager()
 and all similar methods now return ClientConnectionManager instead of PoolingClientConnectionManager.
* no more shutdown() method in RedmineManager. if you want to close HttpClient connections, do it directly
on HttpClient you create.
* no more createShortTermConfig() and createLongTermConfiguration() methods. create your own HttpClient
instances and pass them to RedmineManagerFactory if you want to control connection pooling, evictions, etc.

Other changes in 2.6.0:

* Apache HttpClient dependency is updated from 4.2 to v. 4.5.1
* Bug fixed: #229 "Unsupported class class Attachment" when calling attachmentManager.getAttachmentById() bug

Internal changes in 2.6.0 (should not affect end-users):

* Integration tests are switched from HTTP to HTTPS to make sure HTTPS is supported alright.
* Switched from JUnit 4.10 to 4.12 (test scope dependency - will not affect consumers)
* Switched testing library from Fest-assert to AssertJ  (test scope dependency - will not affect consumers)

# Version 2.5.0 (October 17, 2015)

* Issue 214. new feature: support custom fields for Versions.
* Issue 219. new feature: support for additional keystores to enable SSL connections to servers
 with certificates issued by lesser-known authorities.
* Issue 220. minor improvement: added a method to GroupFactory to create Groups.

# Version 2.4.0 (August 9, 2015)

* Issue 209 support free-form search for users
* when an object with NULL id is given to update() method in Transport class, it fails with NPE
* add create(id) method to TrackerFactory class enhancement
* Fix reading group members for memberships and fix failing unittest enhancement

# Version 2.3.0 (July 11, 2015)

* Issue #201 Save custom fields for projects.
* Issue #195 Change in RedmineInternalError: it was derived from Error, now it extends RuntimeException
* Issue #114 #188 BREAKING change! getIssues(params map) does NOT handle paging anymore, you can/must use your own limit&offset http params.
note: same for all other object lists - Issue, User, Group, Project, ....
See detailed explanation for this change here: https://github.com/taskadapter/redmine-java-api/issues/114 .
The original API usage model was "load all objects at once" and fetching individual pages was never a goal.
OLD BEHAVIOR: You could previously use setObjectsPerPage() method on RedmineManager, but this only affected the internal page size used for loading issues. clients would only see the final result with all objects anyway.
Backward compatibility is important, of course. But in this case this method is totally misleading as couple people complained.
I believe fixing this bug is more important than maintaining compatibility.
Git commit 82d29bb17c236b87efc834f7dda15b6d0df68da4

# Version 2.2.0 (March 18, 2015)

* Feature #183 Support Redmine 3.0.x date formats. Redmine 3.0.x has date formats that are different from v. 2.6.x
* Feature #184 New methods: ProjectManager:getProjectById() and MembershipManager:getMemberships(int projectId)
* Updates in javadoc

# Version 2.1.0 (January 25, 2015)

* Feature #120. Support "on behalf of user" operations
* Feature #124. Allow lock user (support user status field)
* Feature #165. Implement retrieving custom field definitions
* Feature #169. added new method: create issues using project database ID
* Issue #174. Workaround for bug in Redmine 2.6.0 (it returns invalid structure for empty custom field)
* Bug #164. Fix setting project on existing issue

# Version 2.0.0 (September 30, 2014)

* Back to proper Semantic versioning for the library (http://semver.org/)
* Significant refactoring to split RedmineManager class into many smaller *managers.
* Many deprecated methods are removed, mostly in RedmineManager class.
* Issue 149. hide internal implementation details in User, Issue and other beans. make IDs immutable.

* Issue 90. add watchers to issue during issue serialization.
* Issue 146. Wiki support (read pages only, no create/update).
* Issue 142. adding auth_source_id support.
* Issue 46. Add attachments to issues.

# Version 1.25 (August 10, 2014)

* Issue 140. Rest_Versions add parameter "sharing"
* Issue 134. support transport injection (custom SSLSocketFactory, evictor, etc)
* Issue 139, Issue 132. added property is_public to the project bean
* Issue 135, Issue 136. Support for own SSLSocketFactory
* Issue 134, Issue 132.	Needed a attribute to create a project with non public access  enhancement
* Issue 60. Provide a way to set HTTP Credentials  enhancement

# Version 1.24 (June 20, 2014)

* Issue #131 Support custom fields for Version objects.
* Issue #100 Support custom fields for Project objects.

# Version 1.23 (November 27, 2013)

* Issue #105 change equals() method to use id only (all bean classes: User, Version, ...)

# Version 1.22 (November 6, 2013)

New features:
* Issue #102 Users Groups retrieval
* Issue #99 added field apiKey to the User bean
* Issue #97 Update due date format in writeVersion

Bug fixed:
* Issue #95 fixed a bug in equals() in CustomField.java

# Version 1.21 (May 9, 2013)

* Bug fixed. Issue 88: "limit" parameter is ignored when calling getChildEntries()
* Build system: switched from Maven to Gradle. Maven's pom.xml file will be eventually deleted.

# Version 1.20 (April 17, 2013)

* New feature: Get journal details
* CRUD operations for user groups
* javadoc fixed

Tested with Redmine 2.2.0 and 2.3.0

# Version 1.19 (April 9, 2013)

* Support for date format used by Redmine 2.3.
* Add/Remove operations for Issue Watchers
* a few other bugfixes. see https://github.com/taskadapter/redmine-java-api/issues?milestone=10

# Version 1.18

Bug fixed:

* Authentication issue in some cases. https://github.com/taskadapter/redmine-java-api/pull/77

# Version 1.17

New Features:
* Issue #2 : load priorities list - requires Redmine 2.2.0+

# Version 1.16

New Features:
* Issue #53 , #36 add users To groups (Redmine 2.1.0+)

Bugs fixed:
* #64 Wrong attribute name in time entry serialization: "comment" instead of "comments"
* #54 JSONBuilder does not write all the values of a custom field when the field is a list.
* #55 testAttachmentUploads test fails with Redmine 2.1.0

Minor improvements:
* #63 Tracker doesn't implement Identifiable and Serializable

# Version 1.15
* No new functionality. Support for newer JSon library. See https://github.com/taskadapter/redmine-java-api/issues/47 for details.

# Version 1.14
* Support for invalid SSL certificates. Before this, the API would refuse to work with servers using self-signed certificates (which seems to be the absolute majority of all the SSL certificates in the world).

# Version 1.13
* Using SLF4J as a logging facility. You need to add some SLF4J binding to your project to control Redmine Java API logging. See http://www.slf4j.org/codes.html#StaticLoggerBinder

# Version 1.12.0.
* Support for Redmine 2.0.2 (it's using a different date format from the one in Redmine 1.4.x)
* Package names were changed: "org.redmine.ta.*" -> "com.taskadapter.redmineapi". also "org.redmine.ta.beans" -> "com.taskadapter.redmineapi.bean". the old package names didn't make any sense. this project is not a part of "official" Redmine development.
* All changes in 1.12.0: https://github.com/taskadapter/redmine-java-api/issues?milestone=3&state=closed

# Version 1.11.0.
* Replace "com.googlecode" Maven group Id with "com.taskadapter" in your Maven pom.xml file (if you use Maven to get Redmine Java API dependency).
```
    <dependency>
         <groupId>com.taskadapter</groupId>
         <artifactId>redmine-java-api</artifactId>
         <version>1.11.0</version>
     </dependency>
```

# Version 1.10.0
* Replace AuthenticationException with RedmineSecurityException or its subclasses RedmineAuthenticationException, NotAuthorizedException

repository: MikhailKlimenko/redmine-java-api

repo_name: MikhailKlimenko/redmine-java-api


text:
# Ansible Role docker-storage-setup [![Build Status](https://travis-ci.org/mkubenka/ansible-role-docker-storage-setup.svg?branch=master)](https://travis-ci.org/mkubenka/ansible-role-docker-storage-setup)

A simple service to config docker storage.

> https://github.com/projectatomic/docker-storage-setup
> https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/

## Requirements

* `docker` you can use the [mkubenka.docker](https://github.com/mkubenka/ansible-role-docker) role to install.

## Role Variables

The variables that can be passed to this role and a brief description about
them are as follows. (For all variables, take a look at [defaults/main.yml](defaults/main.yml))

```yaml

# REQUIRED - List of devices to be used.
docker_storage_setup_devs: []

# The volume group to use for docker storage.
docker_storage_setup_vg_name: 'docker'

```

## Dependencies

None

## Example Playbook

    - hosts: servers
      vars:
        docker_storage_setup_devs:
          - /dev/xvdh
        docker_daemon_options:
          storage-driver: devicemapper
          storage-opts:
            - dm.fs=xfs
            - dm.thinpooldev=/dev/mapper/{{ docker_storage_setup_vg_name }}-docker--pool
            - dm.use_deferred_removal=true
            - dm.use_deferred_deletion=true
      roles:
         - { role: mkubenka.docker-storage-setup }
         - { role: mkubenka.docker }

## TODO

* [ ] maybe there is a way how to test this role fully on travis

## License

BSD

## Author Information

Michal Kubenka<EMAIL_ADDRESS>


text:
# `for`

TODO: ADD MORE DETAIL

See the Python [documentation entry][keyword-for-docs], as well as [this blog post][keyword-for-etymology] for more details.

[keyword-for-docs]: https://docs.python.org/3/reference/compound_stmts.html#the-for-statement
[keyword-for-etymology]: https://yawpitchroll.com/posts/the-35-words-you-need-to-python/#for

repository: exercism/python

gha_language: Python

repo_name: exercism/python


text:
## Bash Helpers for RTools40 or Git for Windows

This directory contains a couple of convenience scripts (including a posssible .profile)
that makes it easier to manage VisionEval repository checkouts on your local machine.

gitgo.sh will help you manage worktrees

sample.profile will help you manage Putty/Pageant and Git for windows in the
RTools40 mingw64 shell environment.

repository: VisionEval/VisionEval-Dev

branch_name: refs/heads/development

gha_language: R

repo_name: VisionEval/VisionEval-Dev


text:
# Sama Sandy
## U of M - Web Development Bootcamp Portfolio 2018

Sama Sandy here -- soon to be graduate from the University of Minnesota's Cohort 2 Web Development Bootcamp. It this repo you
will have acess to see some of my portfolio projects from the beginngin of the cohort until week 17.

Most of the examples will some of my favorite homework assignments. You will also see 1 or 2 projects I contributed to during
this timeframe. Below is a live link to this portfolio. I have also listed out the projects below with a small description of
each.

Any questions or if you want to network, send me an email or a note on LinkedIn. Thanks!

**Email:**
<EMAIL_ADDRESS>
**LinkedIn:**
Sama Sandy <https://www.linkedin.com/in/sama-sandy-aa34aa5/>


text:
**This guide describes APIs and systems that are alpha and subject to change. Please keep that in mind before using these tools. If you have feedback, please don't hesitate to file an issue!**

# Design Tokens
The FAST Design Token implementation is designed to provide first-class support for Design Tokens and make setting, getting, and using Design Tokens simple.

## What is a Design Token
A Design Token is a semantic, named variable used to describe a Design System. They often describe design concepts like typography, color, sizes, UI spacing, etc. FAST encourages checking out [the Design Tokens Community Group](https://github.com/design-tokens/community-group#design-tokens) for more information on Design Tokens themselves.

## Using Design Tokens in FAST
This usage guide walks through creating and using a Design Token *background-color*, which is represented in code as a hexadecimal color string.

### 1. Create a Token
The first step to using a token is to create it:

```ts
import { DesignToken } from "@microsoft/fast-foundation";

export const fillColor = DesignToken.create<string>("fill-color");
```

The type assertion informs what types the token can be set to (and what type will be retrieved), and the name parameter will serve as the CSS Custom Property name (more on that later).

### 2. Setting the Design Token
A `DesignToken` *value* is set for a `FASTElement` or `HTMLBodyElement` node. This allows tokens to be set to different values for distinct DOM trees:

```ts
const ancestor = document.querySelector("my-element") as FASTElement;
const descendent = ancestor.querySelector("my-element") as FASTElement;

fillColor.setValueFor(ancestor, "#FFFFFF");
fillColor.setValueFor(descendent, "#F7F7F7");
 ```

### 3. Getting the Design Token value
Once the value is set for a node, the value is available to use for that node or any descendent node. The value returned will be the value set for the nearest ancestor (or the element itself).

```ts
fillColor.getValueFor(ancestor); // "#FFFFFF"
fillColor.getValueFor(descendent); // "#F7F7F7"
```

### 4. Deleting Design Token values
Values can be deleted for a node. Doing so causes retrieval of the nearest ancestor's value instead:

```ts
fillColor.deleteValueFor(descendent);
fillColor.getValueFor(descendent); // "#FFFFFF"
```

### 5. Setting a default value
A default value can be set for a token, so that the default value is returned from `getValueFor()` in cases where no other token value is found for a node tree.

```ts
fillColor.withDefault("#FFFFFF");
```
### 6. CSS Custom Property emission
Unless configured not to, a DesignToken emits a token to CSS automatically whenever the value is set for an element. In the case when a DesignToken is assigned a (derived value)[#derived-design-token-values], the CSS custom property will also be emitted when any dependent tokens change.

A DesignToken can be configured **not** to emit to a CSS custom property by passing a configuration with `cssCustomPropertyName` set to `null` during creation:

```ts
DesignToken.create<number>({name: "my-token", cssCustomPropertyName: null});
```

A DesignToken can also be configured to emit to a CSS custom property that is different than the provided name by providing a CSS custom property name to the configuration:

```ts
DesignToken.create<number>({name: "my-token", cssCustomPropertyName: "my-css-custom-property-name"}); // Emits to --my-css-custom-property-name
```

#### Values with a 'createCSS' method
It is sometimes useful to be able to set a token to a complex object but still use that value in CSS. If a DesignToken is assigned a value with a `createCSS` method on it, the product of that method will be used when emitting to a CSS custom property instead of the Design Token value itself:

```ts
interface RGBColor {
    r: number;
    g: number;
    b: number;
    createCSS(): string;
}
const fancyFillColor = DesignToken.create<RGBColor>("fancy-fill-color");
const value = {
    r: 255,
    g: 0,
    b: 0,
    createCSS() {
        return `rgb(${this.r}, ${this.g}, ${this.b})`;
    }
}
fancyFillColor.setValueFor(descendent, value)
```

### Subscription
`DesignToken` supports subscription, notifying a subscriber when a value changes. Subscriptions can subscribe to *any* change throughout the document tree or they can subscribe changes for specific elements.

**Example: Subscribe to changes for any element**

```ts
const subscriber = {
    handleChange(record) {
        console.log(`DesignToken ${record.token} changed for element ${record.target}`);
    }
};

fillColor.subscribe(subscriber);
```

**Example: Subscribe to changes a specific element**

```ts
// ...
const target = document.body.querySelector("#my-element");

fillColor.subscribe(subscriber, target);
```

Subscribers can be unsubscribed using the `unsubscribe()` method, providing the :

```ts
// ...
fillColor.unsubscribe(subscriber);
fillColor.unsubscribe(subscriber, target);
```
## Using Design Tokens in CSS
Any token can be used directly in a FAST stylesheet by using the Design Token as a CSS directive. Assuming the token value has been set for the element or some ancestor element, the value of the token embedded in the stylesheet will be the token value for that element instance.

```ts
import { css } from "@microsoft/fast-element";

const styles = css`
    :host {
        background: ${fillColor};
    }
`
```

At runtime, the directive is replaced with a CSS custom property, and the Directive ensures that the CSS custom property is added for the element.

## Derived Design Token Values
In the examples above, the design token is always being set to a simple string value. But, we can also set a Design Token to be a function that *derives* a value. A derived value receives the target element as it's only argument and must return a value with a type matching the Design Token:

```ts
const token = DesignToken.create<number>("token");
token.setValueFor(target, (element) => 12);
```

The above example is contrived, but the target element can be used to retrieve *other* Design Tokens:

**Example: A derived token value that uses another design token**
```ts
const foregroundColor = DesignToken.create<string>("foreground-color");

foregroundColor.setValueFor(target, (element) =>
     fillColor.getValueFor(element) === "#FFFFFF"
        ? "#2B2B2B"
        : "#262626"
);
```

For derived Design Token values, any change to dependent tokens will force the derived value to update (and update the CSS custom property if applicable). The same is true if an observable property is used by the derived value:

```ts
import { observable } from "@microsoft/fast-element";

class ModeManager {
    @observable
    mode: "light" | "dark" = "light"
}

const modeManager = new ModeManager();

fillColor.setValueFor(target, () => modeManager.mode === "light" ? "#FFFFFF" : "#242424");
foregroundColor.setValueFor(target, () => modeManager.mode === "light" ? "#2B2B2B" : "#F5F5F5");

modeManager.mode = "dark"; // Forces the derived tokens to re-evaluate and CSS custom properties to update if applicable
```

## Aliasing Design Tokens
In some design systems, Design Tokens may have complex hierarchies with tokens referencing other tokens. This can be accomplished by setting a Design Token to another Design Token.

```ts
const neutralFill = DesignToken.create<string>("neutral-fill");
const buttonFill = DesignToken.create<string>("button-fill");

neutralFill.setValueFor(target, "#EDEDED");
buttonFill.setValueFor(target, neutralFill);

buttonFill.getValueFor(target); // "#EDEDED"
```

repository: musale/fast

repo_name: musale/fast


text:
# //ti~Nanta//

**Contents**

- //lakaara//-s
- //ti~N//
- //parasmaipada// & //AtmanEpada//
- //parasmaipadin//, //aatmanEpadin// & //ubhayapadin//

## //lakaara//-s

//lakaaraa//-s are a set of 10 //pratyaya//-s that are attached to a //dhaatu|// These //lakaara//-s give the meaning of a particular tense or mood to the //dhaatu|//.

The 10 //lakaara//-s and the meaning of tense or mood they give to the //dhaatu// are given are below:

|       | //lakaara// | //arthaH//                        | Tense or Mood              |
| :---: | :---------: | --------------------------------- | -------------------------- |
|   1   |   //laT//   | //vartamana//                     | Present Tense              |
|   2   |   //liT//   | //parOkSabhuuta//                 | Past Tense, Perfect        |
|   3   |   //luT//   | //anadyatanabhaviSyat//           | First Future               |
|   4   |  //lRRit//  | //bhaviSyat//                     | Second Future              |
|   5   |   //lET//   | //dhaurtyE// (//vEdE//)           | Subjunctive Mood           |
|   6   |   //lOT//   | //vidhyAdi//                      | Imperative Mood            |
|   7   |  //laN^//   | //anadyatanabhuuta//              | Past Tense, Imperfect      |
|   8   |  //liN^//   | //vidhiliN^// / //AshIrliN^//     | Potential/Benedictive Mood |
|   9   |  //luN^//   | //bhuutaH//                       | Past Tense, Aorist         |
|  10   | //lRRiN^//  | //kRRiyAtipattiH// (//saMkEtaH//) | Conditional                |

The 5th //lakaara//, //lET// is used only in the //vEda//-s. So, we will not be dealing with that here.

The 8th //lakaara//, //li~N// is of two types -- //vidhili~N// and //AshIrli~N|// The distinction is based on the meaning they give to the //dhaatu//. The //vidhili~N-lakaara// gives the meaning of potential mood (and others) to the //dhaatu// while the //AshIrli~N// gives it the meaning of benediction. The resulting forms of the two //lakaara//-s are also different. So, they are considered as two different //lakaara//-s.

These //pratyaya//-s are collectively called as //lakaara//-s or just //la|//

<!--TODO: add explation for each lakara quoting suutra and vRRitti -->

## //ti~N//

//ti~N// is a set of 18 //pratyaya//-s that come as replacement to the //lakAra//-s to denote the meanings of //puruSha// and [//vachana//](#/lsk/subanta/general/vachanani) for the //dhaatu// it is placed after.

The 18 //ti~N-pratyaya//-s are:

> //tip-tas-jhi-sip-thas-tha-mip-vas-mas-ta-AtAm-jha-thAs-AthAm-dhvam-iD-vahi-mahi~N| 3/4/78//

The name //ti~N// is formed by taking the first //akSara//, "//ti//" of the //tip-pratyaya// and the last //akSara//, "//~N//" of the //mahi~N-pratyaya|// This name is used to denote all the 18 //pratyaya//-s given above.

This type of names formed by using the first letter of the first item and the last letter of the last item of a list are called **//pratyaahaara//-s**. <!--TODO: aadiratyEna-->

<!--TODO: Table of ti~N-pratyayas -->

## //parasmaipada// & //AtmanEpada//

The 18 //ti~N-pratyaya//-s are divided into two groups with 9 //pratyaya//-s in each.

The //suutra//,

> //laH parasmaipadam| 1/4/99//

says that the //aadEsha//-s (replacements) that occur in the place of //la// (//lakaara//) are labelled as //parasmaipada|//

Including the //ti~N-pratyaya//-s, there are totally 22 //aadEsha//-s for //la// according to the following //suutra//-s :

> //laTaH shatRRishAnachAvaprathamAsamAnAdhikaraNE| 3/2/124//
>
> //liTaH kAnajvA| 3/2/106//
>
> //kvasushcha| 3/2/127//

They are the 18 //ti~N-pratyaya//-s, //shatRRi//, //shaanach//, //kaanach// and //kvasu|// Now, the above given //suutra// labels all these //aadEsha//-s as //parasmaipada|//

But the //suutra//,

> //ta~NaavaatmanEpadam| 1/4/100//

says that, of the 22 //aadEsha//-s,

- the last 9 //pratyaya//-s of the //ti~N-pratyaya//-s (//ta~N//)
- the //shaanach-pratyaya// and
- the //kaanach-pratyaya//

are labelled as //aatmanEpada|//

Now, these //aadEsha//-s (//ta~N//, //shaanach//and //kaanach//) have two labels, //parasmaipadam// as well as //aatmanEpadam|// But according to the //adhikaara-suutra//,

> //AkaDArAt EkA saMj~nA|  1/4/1//

only one label remains. Since, //parasmaipada// is a general label and //aatmanEpada// is a particular label, <!--and the particular label is considered more strong/important--> these //aadEsha//-s are left with only the particular label of "//aatmanEpada//".

So, **//parasmaipada//-s** are:

- the first 9 //pratyaya//-s of the //ti~N-pratyaya//-s (//tip, tas, jhi, sip, thas, tha, mip, vas// and //mas//),
- the //shatRRi-pratyaya// and
- the //kvasu-pratyaya//

and the **//aatmanEpada//-s** are:

- the last 9 //pratyaya//-s of the //ti~N-pratyaya//-s (//ta, AtAm, jha, thAs, AthAm, dhvam, iD, vahi// and //mahi~N//)
- the //shaanach-pratyaya// and
- the //kaanach-pratyaya//

## //parasmaipadin//, //aatmanEpadin// & //ubhayapadin//

//parasmaipada-pratyaya//-s can be placed after only certain //dhaatu//-s. Such a //dhaatu// is known as **//parasmaipadin//** or **//parasmaipadii-dhaatu//**//|//

Similarly, //aatmanEpada-pratyaya//-s can be placed after only certain //dhaatu//-s. Such a //dhaatu// is known as **//aatmanEpadin//** or **//aatmanEpadii-dhaatu//**//|//

However, there are some other //dhaatu//-s after which either //parasmaipada-pratyaya//-s  or //aatmanEpada-pratyaya//-s can be placed. Such //dhaatu//-s are known as **//ubhayapadin//-s** or //ubhayapadii-dhaatu//-s.

<!--TODO: add examples-->

Now, how to know if //dhaatu// is a //parasmaipadin//, an //aatmanEpadin// or an //ubhayapadin// ?

//paaNini// lays out the way to find it.

### Checking for //aatmanEpadin//

> //anudaatta~Nita aatmanEpadam| 1/3/12//

The //suutra// says that if a //dhaatu//:

- contains an //anudaatta-svara// and that //anudaatta-svara// has the //it-saMj~naa//
- or it contains the letter, "//~N//" and that letter has the //it-saMj~naa//

then the //aatmanEpada-pratyaya//-s can be placed after it. In other words, such a //dhaatu// is called as //aatmanEpadii-dhaatu|//

**Note:** //anudaatta-svara// is a vowel pronounced with lower pitch.

### Checking for //parasmaipadin//

> //sheshhaat kartari parasmaipadam| 1/3/78 //

The //suutra// says that //parasmaipada-pratyaya//-s can be placed after //dhaatu//-s after which //aatmanEpada-pratyaya//-s are not (instructed to be) placed after. So, when a //parasmaipada-pratyaya// is placed after such a //dhaatu//, it is called a //parasmaipadii-dhaatu|//

### Checking for //ubhayapadin//

> //svarita~nitaH kartrabhipraayE kriyaaphalE| 1/3/72//

The //suutra// says that if a //dhaatu//:

- contains an //svarita-svara// and that //svarita-svara// has the //it-saMj~naa//
- or it contains the letter, "//~n//" and that letter has the //it-saMj~naa//

then either the //aatmanEpada-pratyaya//-s or //parasmaipada-pratyaya//-s can be placed after it. In other words, such a //dhaatu// is called as //ubhayapadii-dhaatu|//

**Note:** //svarita-svara// is a vowel pronounced with combination of high and low tone.

Now, in the case of //ubhayapadin//-s, when to use //aatmanEpada-pratyaya//-s and when to use //parasmaipada-pratyaya//-s? Is it the speaker's choice?

No. That is what the "//kartrabhipraayE kriyaaphalE//" part of the //suutra// tells about. It says that //aatmanEpada-pratyaya//-s can be placed after the  a //ubhayapadii-dhaatu// only if the result of the //kriyaa// (action) meant by the //dhaatu//  is intended towards the //kartRRi// (agent) himself. In other words, if a //kartRRi// does a //kriyaa// and the result of the //kriyaa// reaches himself, like a cook cooking for himself, then the //ubayapadii-dhaatu// representing the //kriyaa// gets the //aatmanEpada-pratyaya//-s after it.

Then, what if the the result of the //kriyaa// meant by the //dhaatu// is NOT intended towards the //kartRRi// himself?

As discussed in the previous section regarding //parasmaipadin//-s, //dhaatu//-s after which //aatmanEpada-pratyaya//-s are not (instructed to be) placed, //parasmaipada-pratyaya//-s are placed.

So, when placing //ti~N-pratyaya//-s after //ubhayapadii-dhaatu//-s, one has to see where the result of the //kriyaa// goes. If it is intended towards the //kartRRi// then //aatmanEpada-pratyaya//-s are to be used. Otherwise, //parasmaipada-pratyaya//-s are to be used.

<!--TODO:

## //puruSa//

## //vachana//

## //sarvadhaatuka// & //aardhadhaatuka// //pratyaya//-s

- The //ti.n pratyaya-s// and the //shit pratyaya//-s that are mentioned in the //dhaatu-adhikaara// are called //saarvadhaatuka pratyaya//-s.
  - "//ti.n-shit-saarvadhaatukam//"

- All the other //pratyaya//-s mentioned in the //dhaatu-adhikaara// are called //aardhadhaatuka pratyaya//-s.
  - //aardhadhaatuka.m sheshha.h//

## //sarvadhaatuka// & //aardhadhaatuka// //lakaara//-s

## Derivation of //ti~Nanta//-s

Now, //paNini// says:

> //laH karmaNi cha bhAvE chAkarmakebhyaH| 6/4/69 //

**Meaning:** Let the //lakaara//-s be placed after //sakarmaka-dhaatu//-s in //kartari-prayOga// and in //karmaNi-prayOga// and after //akarmaka-dhaatu//-s in //kartari-prayOga// and in //bhaavE-prayOga|//

Since the //ti~N-pratyaya//-s are the ones that actually render the meanings of tense/mood, //puruSha// and //vachana// to a //dhaatu// and thus making it usable in a sentence, the resulting //kriyaapada// are also called as //ti~Nanta|//

## Checklist

- [ ] laH karmaNicha
- [x] tip-tas-jhi
- [x] laH parasmaipadam
- [x] ta~NAnAvAtmanEpadam
- [x] anudaatta~Nita
- [x] savrita~nitaH
- [x] sheSAtkartari
- [ ] ti~NastrINi
- [ ] tAnyekavacana
- [ ] yuSmad
- [ ] asmad
- [ ] shESE
- [ ] ti~Nshit
- [ ] kartari

## Notes

- //ti~Nanta//-s are mostly derived from //dhAtu//-s. There are 10 //pratyaya//-s which help in deriving //ti~Nanta//-s:
  1. //laT//
  2. //liT//
  3. //luT//
  4. //lRRiT//
  5. //lET//
  6. //lOT//
  7. //la~N//
  8. //li~N//
  9. //lu~N//
  10. //lRRi~N//

- Some //dhaatu//-s accept only //parasmaipada-pratyaya//-s. Meaning , only //parasmaipada-pratyaya//-s can be placed after them. Similarly, some //dhaatu//-s take only //aatmanEpada-pratyaya//-s.

- A //dhaatu// that accepts only //parasmaipada-pratyaya//-s is known as **//parasmaipadin//** whereas a //dhaatu// that accepts only //aatmanEpada-pratyaya//-s is known as **//aatmanEpadin//**//|//

-->


text:
# ImageBlockPreview

This is the preview component for `image-block` blocks. It is used in:
+ The `ImageBlockModal` (see `../image-block-modal`)
+ The `ImageBlockPlaceholder` (see `../blocksmith/components/placeholders/image-block`)
+ Node preview components (eg the `ArticlePreviewModal`, see `@triniti/cms/plugins/news/components/article-preview-modal`). When used in a preview component, it is retrieved by the `resolver`'s `getPreview` function (see `@triniti/cms/plugins/blocksmith/resolver.js`).

### Required props
+ `block`     - A `image-block` block (uses mixin `triniti:canvas:mixin:image-block`).
+ `imageNode` - The block's associated image node (uses mixin `triniti:dam:mixin:image-asset`).

### FYI
+ See the [Triniti image block mixin](https://github.com/triniti/schemas/tree/master/schemas/triniti/canvas/mixin/image-block).
+ See the schema in `/schemas/schemas/[vendor]/canvas/block/image-block`.

repository: triniti/cms-js

repo_name: triniti/cms-js


text:
MOT

Proudly Powered by SURFRIDER Foundation Europe, this open-source initiative is a part of the PLASTIC ORIGINS project - a citizen science project that uses AI to map plastic pollution in European rivers and share its data publicly. Browse the project repository to know more about its initiatives and how you can get involved. Please consider starring :star: the project's repositories to show your interest and support. We rely on YOU for making this project a success and thank you in advance for your contributions.

_________________

[![Build Status](https://travis-ci.com/surfriderfoundationeurope/mot.svg?branch=master)](https://travis-ci.com/surfriderfoundationeurope/mot)
[![codecov.io](https://codecov.io/gh/surfriderfoundationeurope/mot/coverage.svg?branch=master)](https://codecov.io/gh/surfriderfoundationeurope/mot/?branch=master)
_________________

[Read Latest Documentation](https://surfriderfoundationeurope.github.io/mot/) - [Browse GitHub Code Repository](https://github.com/surfriderfoundationeurope/mot)
_________________

Welcome to **MOT**, the current Plastic Origins model for garbage detection on river banks.

MOT stands for **Multi-Object Tracking** as we detect and then track the different plastic trash instances.

The object detection part is based on [tensorpack](https://github.com/tensorpack/tensorpack).

>*The next subsections are useful to read if you want to train models or perform advanced tasks. However, if you just want to launch a serving container or perform inferences on one of those, directly jump to [this file](src/mot/serving/README.md).*

## Getting Started

### Prerequisites

Before you begin, ensure you have met the following requirements:

* You have a `<Linux>` machine.
* Preferably, you have a GPU on your machine.

#### Technical stack

* Language: `Python` , `Tensorflow` , `Docker` , `Tensorpack`
* Framework: `Python 3.3+` ,`1.6 <= tensorflow < 2.0`

### Dataset

You can download a training dataset on this [link](http://files.heuritech.com/raw_files/dataset_surfrider_cleaned.zip).

### Installation

You may run directly the [notebook in colab](https://colab.research.google.com/github/surfriderfoundationeurope/mot/blob/master/notebooks/object_detection_training_and_inference.ipynb).

For more details on training and inference of the object detection please see the following [file](src/mot/object_detection/README.md) which is based on the README of tensorpack.

#### Classic

To install locally, make sure you have Python 3.3+ and  1.6 <= tensorflow < 2.0

```bash
apt install libsm6 libxrender-dev libxext6 libcap-dev ffmpeg
pip3 install --user .
```

#### Docker

The following command will build a docker for development and run interactively.

```bash
PORT_JUPYTER=22222 PORT_TENSORBOARD=22223 make docker-training
```

You don't have to specify the ports at the beginning of the command, but do so if you want to assign a specific port to access jupyter notebook and / or tensorboard.

You can add arguments to the docker run command by specifying RUN_ARGS, for example:

```bash
RUN_ARGS="-v /srv/data:/srv/data" make docker-training
```

Do the following command to exec an already running container:

```bash
make docker-exec-training
```

### Usage

#### Internal tools

You can launch a jupyter notebook or a tensorboard server by running the command.

```bash
./scripts/run_jupyter.sh
```
or
```bash
./scripts/run_tensorboard.sh /path/to/the/model/folders/to/track
```
Then, access those servers through the ports you used in the Make command.

#### Train

See the [original tensorpack README](src/mot/object_detection/README.md) for more details about the configurations and weights.
```bash
python3 -m mot.object_detection.train --load /path/to/pretrained/weights --config DATA.BASEDIR=/path/to/the/dataset --config TODO=SEE_TENSORPACK_README
```

The next files are pretrained weights on the dataset introduced previously:
- https://files.heuritech.com/raw_files/surfrider/resnet50_fpn/model-6000.index
- https://files.heuritech.com/raw_files/surfrider/resnet50_fpn/model-6000.data-00000-of-00001

The command used to train this model was:

```bash
python3 -m mot.object_detection.train --load /path/to/pretrained_weights/COCO-MaskRCNN-R50FPN2x.npz --logdir /path/to/logdir --config DATA.BASEDIR=/path/to/dataset MODE_MASK=False TRAIN.LR_SCHEDULE=250,500,750
```

Put those files in a folder, which will be `/path/to/your/trained/model` in the export section.

#### Export

First, you need to train an object detection model. Then, you can export this model in SavedModel format:

```bash
python3 -m mot.object_detection.predict --load /path/to/your/trained/model --serving /path/to/serving --config DATA.BASEDIR=/path/to/the/dataset SAME_CONFIG=AS_TRAINING
```

The dataset should be the one downloaded following the instructions above. You can also use a folder with only [this file](http://files.heuritech.com/raw_files/surfrider/classes.json) inside if you don't want to download the whole dataset.
Also remember to use the same config as the one used for training (using FPN.CASCADE=True for instance).

#### Serving

Refer to [this file](src/mot/serving/README.md).

## Test

### Developper installation

You need to install the repository in dev:

```bash
pip install -e ./
```

The following libraries are needed to run the tests: `pytest`, `pytest-cov`

### Use with pyenv

```bash
pyenv activate my_amazing_surfrider_project
pip install .
```

### Run the tests

- Within your local environement:

* To run all the tests:

```bash
make tests
```

* To run a specific test:

```bash
pytest my_file.py::my_function
```

- Within a docker environement:

* To run all the tests:

```bash
make docker-tests
```

* To run a specific test:

```bash
make up-tests
pytest my_file.py::my_function
```
## Contributing

It's great to have you here! We welcome any help and thank you in advance for your contributions.

* Feel free to **report a problem/bug** or **propose an improvement** by creating a [new issue](https://github.com/surfriderfoundationeurope/mot/issues). Please document as much as possible the steps to reproduce your problem (even better with screenshots). If you think you discovered a security vulnerability, please contact directly our [Maintainers](##Maintainers).

* Take a look at the [open issues](https://github.com/surfriderfoundationeurope/mot/issues) labeled as `help wanted`, feel free to **comment** to share your ideas or **submit a** [**pull request**](https://github.com/surfriderfoundationeurope/mot/pulls) if you feel that you can fix the issue yourself. Please document any relevant changes.

For more information please read the [CONTRIBUTING.md](./CONTRIBUTING.md) file for developers.

## Maintainers

If you experience any problems, please don't hesitate to ping:

* [@charlesollion](https://github.com/charlesollion)
* [@mchagneux](https://github.com/mchagneux)

Special thanks to all our [Contributors](https://github.com/orgs/surfriderfoundationeurope/people).

## License

We’re using the `MIT` License. For more details, check [`LICENSE`](https://github.com/surfriderfoundationeurope/mot/blob/master/LICENSE) file.

## Additional information

STATUS

Model & training:

- [x] Object detection training

- [ ] Improving train, validation and test dataset

- [ ] Model improvements

- [ ] Connection with dataset to query dataset

- [ ] Tracking model (WIP)

- [ ] test dataset for tracking

Inference and deployment:

- [x] Object detection inference notebook

- [ ] Inference on video (WIP)

- [ ] Connection with input data and inference

- [x] Small webserver and API (in local)

- [ ] Docker build and deployment

repository: MariumAZ/mot

repo_name: MariumAZ/mot


text:
# [BoxOffice](http://alexa.amazon.com/#skills/amzn1.echo-sdk-ams.app.b61ea984-cb40-451b-bfaf-62ec8e9f8209)
![2.6 stars](../../images/ic_star_black_18dp_1x.png)![2.6 stars](../../images/ic_star_black_18dp_1x.png)![2.6 stars](../../images/ic_star_half_black_18dp_1x.png)![2.6 stars](../../images/ic_star_border_black_18dp_1x.png)![2.6 stars](../../images/ic_star_border_black_18dp_1x.png) 15

To use the BoxOffice skill, try saying...

* *Alexa, ask Box Office what's the rating of Titanic*

* *Tell me review of The Avengers*

* *Tell me movie rating of Iron Man*

This skill helps to find movie rating. It is straight forward to use this skill with Alexa. You can get movie rating by telling movie name to this skill.

***

### Skill Details

* **Invocation Name:** box office
* **Category:** null
* **ID:** amzn1.echo-sdk-ams.app.b61ea984-cb40-451b-bfaf-62ec8e9f8209
* **ASIN:** B01DJXEA14
* **Author:** Shaleen
* **Release Date:** April 6, 2016 @ 17:32:22
* **In-App Purchasing:** No


text:
---
name: Xamarin.Android - Android Fit History Api Sessions
description: "Demonstrates how to use the Android Fit History API (Android Lollipop)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
    tags:
    - androidlollipop
urlFragment: google-services-fitness-basichistorysessions
---
# Android Fit History Api Sessions Sample

This sample demonstrates how to use the Android Fit History API.

## Instructions

- Make sure to enable 'Google Sign-In' for your application via the [Developer Console](https://developers.google.com/mobile/add?platform=android).
- Log into a Google account to display mock session data.

## Build Requirements

Using this sample requires the Android SDK platform for Android 5.0 (API level 21).

![Android Fit History Api Sessions Sample application screenshot](Screenshots/screenshot1.png "Android Fit History Api Sessions Sample application screenshot")

## License

Copyright (c) 2015 Google, Inc.

Ported from [Android Fit History Api Sessions Sample](https://github.com/googlesamples/android-fit/tree/master/BasicHistorySessions)

repository: xamarin/monodroid-samples

gha_language: C#

repo_name: xamarin/monodroid-samples


text:
---
layout: post
title: 'Welcome, plebians!'
published: true
---

## Hello! Misfortune abounds!

 **Writing a book!** Perhaps just like you but more likely not.

In this blog, I will discuss writing challenges I face, share short lore, and release information about my book: **Madrigal of Misfortune** (Mad of Mis).

Mad of Mis is a fantasy novel I started in January 2019 totalling 15,000 words right now. Characters are developing! Plots are unfolding! Questions are waiting for answers! Magical explosions! Kittens! Politics! I'll be releasing an actual summary sometime next week.

This is just the beginning of a long journey! Expected completion is 2022. Feel free to contact me at<EMAIL_ADDRESS>
Rosalinda (grand cat mother to aforementioned kittens) can be found on Twitter: (Rosalinda the Royal)[https://twitter.com/MadrigalSeries].


text:
# >/x> deadFish
Simple terminal implementation mainly aimed for uC

## Demo

Simple execution of commands, info, progress bar simulation and clearing the screen.

![Demo of the terminal run on uC](./.info/demo.gif)

repository: acurana/deadFish

repo_name: acurana/deadFish


text:
---
layout: page
title: MILE
excludedFromNav: true
hideRight: true
permalink: /MILE/
---
### **MILE: A Multi-Level Framework for Scalable Graph Embedding**
MILE is a multi-level framework to scale up existing graph embedding techniques, without modifying them.
It incorporates existing embedding techniques as black boxes, and can improves the scalability of
many embedding methods by reducing both the running time and memory consumption.
Additionally, MILE also provides a lift in the quality of node embeddings in most of the cases.
Read [our paper](https://arxiv.org/pdf/1802.09612.pdf) for more details. Here we publish our code and data with a brief instruction on how to add a new embedding method as the base embedding technique.

#### **Code and Data**
The code and dataset can be accessed [here](./MILE_CODE.zip).

#### **Required Packages**
* tensorflow
* numpy
* scipy
* scikit-learn
* networkx
* gensim (only for using DeepWalk as base embedding method)
* theano (only for using NetMF as base embedding method)

#### **Input and Output**
* Input graph: For now, we only support undirected graph. The input graph can be weighted or unweighted. Two different formats are supported: edgelist and metis.
  - Edgelist: The input file must contain ".edgelist" extension. Each of line is an edge with an optional number for weight, separated by a space: *node1 node2 weight*. To save space, each edge should only show up once in the file with node2 as the one with larger id, i.e., node1 <= node2. If the graph is unweighted, *weight* can be left as empty. The node index does not need to be continuous as an internal node mapping will be conducted if necessary. See `./dataset/PPI.edgelist` for an example.
  - Metis: This input format has been commonly used for the METIS package. A detailed definition of the format can be found [here](http://people.sc.fsu.edu/~jburkardt/data/metis_graph/metis_graph.html). A graph of N nodes is stored in a file of N+1 lines. The first line contains two required numbers: the number of nodes and the number of edges, and an optional number to denote weighted or unweighted graph: 0 or missing means unweighted while 1 means weighted. Each subsequent line lists the neighbors and edges weight (if any) of a node. Note that this format requires the index to be continuous starting from **1**. See `./dataset/PPI.metis` for an example.

* Input ground truth for evaluation: If the evaluation is enabled (without `--no-eval`), a file proving ground truth for multi-class classification is required. It contains the list of nodes with known labels, where each line corresponds to one node. For each line, the first number is the index of the node (should be the same as the input graph) and the remaining numbers form a vector representation of the label (multi-class allowed). See `./dataset/PPI.edgelist.truth` (corresponding to `PPI.edgelist`) or `./dataset/PPI.metis.truth` (corresponding to `PPI.metis`) for examples.

* Output embeddings: if `--store-embed` is enabled, the embeddings will be saved under the `./dataset/` directory with the extension of `.embeddings`. Each row corresponds to one node, where the first number is the original node id and the rest is the vector representation.

#### **How To Run**
Use `python main.py` to run the code with all the default settings. Here are some useful arguments that can be passed to the program:
* `--data`: name of the dataset (file located in `./dataset/`), e.g., `--data PPI`.
* `--format`: the format of a dataset, should be either *edgelist* or *metis*, e.g., `--format metis` (by default it is *metis*).
* `--basic-embed`: name of the base embedding method, e.g., `--basic-embed deepwalk`.
* `--coarsen-level`: number of levels for coarsening, e.g., `--coarsen-level 2`.
* `--embed-dim`: dimensionality for embedding, e.g., `--embed-dim 128`.
* `--store-embed`: will store the embeddings if enabled.
* `--no-eval`: will not evaluate the embeddings if set (.truth file will not be required then).
* `--workers`: number of processes to run the code.
* `--refine-type`: refinement method, including `MD-gcn` (the one proposed in MILE), `MD-dumb` (without model training), and `MD-gs` (using GraphSAGE).

#### **Adding a New Base Embedding Method**
Follow the steps below to add a new base embedding method (say `DeepWalk`):
  1. Create a python file in `./base_embed_methods/` (e.g., `deepwalk.py`).
  2. Include the original embedding implementation in that file (e.g., `def DeepWalk_Original(...)` in `deepwalk.py`).
  3. Provide a wrapper method to generate embeddings using the original embedding method; this wrapper will be called by MILE framework (e.g., `def deepwalk(...)` in `deepwalk.py`).
NOTE: The wrapper method should be same as the filename in Step 1.
  4. Add the name of the wrapper method in Step 3 as a choice to `--basic-embed` in the arguments of `./main.py`.

#### **Citation**
If you use any part of our code, please cite our work:

J. Liang, S. Gurukar, S. Parthasarathy. "MILE: A Multi-Level Framework for Scalable Graph Embedding". *arXiv preprint arXiv:1802.09612*, 2018. \[[PDF](https://arxiv.org/pdf/1802.09612.pdf)\]\[[bib](publications/MILE.txt)\]


text:
# gowiki
Writing Web Applications

## Covered in this tutorial:

- Creating a data structure with load and save methods
- Using the net/http package to build web applications
- Using the html/template package to process HTML templates
- Using the regexp package to validate user input
- Using closures

## Assumed knowledge:

- Programming experience
- Understanding of basic web technologies (HTTP, HTML)
- Some UNIX/DOS command-line knowledge

---

https://golang.org/doc/articles/wiki/

repository: gocmto/gowiki

repo_name: gocmto/gowiki


text:
# ROS + Ignition Gazebo

This package contains things that make it convenient to integrate ROS with
Ignition, such as:

* Launch files
* ROS-enabled executables

# Usage

> More usage examples can be seen on the
[ros_ign_gazebo_demos](https://github.com/osrf/ros_ign/tree/melodic/ros_ign_gazebo_demos)
package.

## Run Ignition Gazebo

There's a convenient launch file, try for example:

    roslaunch ros_ign_gazebo ign_gazebo.launch ign_args:="shapes.sdf"

And you can directly call the executable, for example:

    roscore
    rosrun ros_ign_gazebo ign_gazebo shapes.sdf

![](images/shapes_demo.png)

## Spawn entities

The `create` executable can be used to spawn SDF or URDF entities from:

* A file on disk or from Ignition Fuel
* A ROS parameter

For example, start Ignition Gazebo:

`ign gazebo`

And a ROS core:

`roscore`

Then spawn a model:

`rosrun ros_ign_gazebo create -world default -file 'https://fuel.ignitionrobotics.org/1.0/openrobotics/models/Gazebo'`

See more options with:

`rosrun ros_ign_gazebo create --helpshort`

branch_name: refs/heads/melodic


text:
# react-snap [![npm](https://img.shields.io/npm/v/react-snap.svg)](https://www.npmjs.com/package/react-snap) ![npm](https://img.shields.io/npm/dt/react-snap.svg) [![Hacker News](https://img.shields.io/badge/Hacker%20News-Y-orange.svg)](https://news.ycombinator.com/item?id=15553863)

Pre-renders web app into static HTML. Uses headless chrome to pre-render. Crawls all available links starting from the root. Heavily inspired by [prep](https://github.com/graphcool/prep) and [react-snapshot](https://github.com/geelen/react-snapshot), but written from scratch. Uses best practices to get best loading performance.

## Features

- Does not depend on React. The name is inspired by `react-snapshot` and because the initial goal was to enable seamless integration with create-react-app. Actually, it works with any technology. Thinking about changing the name.
- Enables SEO (google, duckduckgo...) and SMO (twitter, facebook...) for SPA.
- Works out-of-the-box with [create-react-app](https://github.com/facebookincubator/create-react-app) - no code-changes required.
- Uses real browser behind the scene, so no issue with unsupported HTML5 features, like WebGL or Blobs.
- Crawls all pages starting from the root, no need to list pages by hand, like in `prep`.
- With prerendered HTML and inlined critical CSS you will get fast first paint, like with [critical](https://github.com/addyosmani/critical).
- With `Preload resources` feature you will get faster first interaction time if your page does do AJAX requests.
- [Works with webpack 2 code splitting feature](https://github.com/stereobooster/react-snap/issues/5)
- [Handles sourcemaps](https://github.com/stereobooster/react-snap/issues/4)

Please note: some features are experimental, but basic prerendering is considered stable enough. API is subject to change before freeze in version `1.0`.

## Basic usage with create-react-app

Example project [badsyntax/react-snap-example](https://github.com/badsyntax/react-snap-example).

Install:

```sh
yarn add --dev react-snap
```

Change `package.json`:

```json
"scripts": {
  "build": "react-scripts build && react-snap"
}
```

Change `src/index.js` (for React 16+):

```js
import { hydrate, render } from 'react-dom';

const rootElement = document.getElementById('root');
if (rootElement.hasChildNodes()) {
  hydrate(<App />, rootElement);
} else {
  render(<App />, rootElement);
}
```

That's it!

### Inline css

Experimental feature. Requires improvements.

`react-snap` can inline critical CSS with the help of [minimalcss](https://github.com/peterbe/minimalcss) and full CSS will be loaded in a nonblocking manner with the help of [loadCss](https://www.npmjs.com/package/fg-loadcss).

Use `inlineCss: true` to enable this feature.

Caveat: as of now `<noscript>` fallback not implemented. As soon it will be implemented, this feature will be enabled by default.

### Preload resources

Experimental feature. Requires improvements.

`react-snap` can capture all required resources on the page and modify HTML, to instruct a browser to preload those resources.
- It will use `<link rel="preload" as="image">` for images.
- it will store `json` request to the same domain in `window.snapStore[<path>]`, where `<path>` is the path of json request

Use `preloadResources: true` to enable this feature.

## Recipes

See [recipes](Recipes.md) for more examples.

## TODO

- Check if `200.html` is present in target directory and exit with error if it is already there
- Use [npm package for loadCss](https://www.npmjs.com/package/fg-loadcss) instead of vendoring it.
- Implement `noscript` fallback for loadCss trick
- [minimalcss hits google analytics](https://github.com/peterbe/minimalcss/issues/19)
- [minimalcss doesn't handle blob urls](https://github.com/peterbe/minimalcss/pull/18)
- [minimalcss css 404](https://github.com/peterbe/minimalcss/issues/2)
- [minimalcss path url resolution error](https://github.com/peterbe/minimalcss/issues/12)
- Improve `preconnect`, `dns-prefetch` functionality
- [Decide what is the optimal strategy for chunks](https://github.com/geelen/react-snapshot/issues/66#issuecomment-338923985)
- Do not load assets, the same way as minimalcss does
- Forbid third party requests
- Add blog post with case study
- Tests
- Bug: gracefull shutdown doesn't work
- Check deployments to [now](https://zeit.co/now#features)
- Check deployments to [surge](https://surge.sh/help/getting-started-with-surge)
- Evaluate [penthouse](https://github.com/pocketjoso/penthouse) as alternative to [minimalcss](https://github.com/peterbe/minimalcss)

repository: intfrr/react-snap

repo_name: intfrr/react-snap


text:
---
title: "Biology for environmental management pocketguide"
author: "cjlortie"
date: "2022-11-30T15:26:59Z"
tags: [Biology, Guide, Course]
link: "https://bookdown.org/cj4nature/bio4enviro/"
length_weight: "4.4%"
pinned: false
---

This a brief overview of how to use biology for inform decision making for environmental grand challenges we face globally. [...] Welcome to biology for environmental management. The goal of this course is to examine global grand challenges that we face through the lens of solutions from science. Science can be magical because it provides us with incredible outcomes in so many domains of the human endeavour. Here, we work to find the magic spells from science for the environment to promote the well-being of people and the planet. There is an opportunity for us to mobilize science to do social  ...


text:
# swim-io

[![package](https://img.shields.io/maven-central/v/org.swimos/swim-util?label=maven)](https://mvnrepository.com/artifact/org.swimos/swim-io)
[![documentation](https://img.shields.io/badge/doc-JavaDoc-blue.svg)](https://docs.swimos.org/java/latest/swim.io/module-summary.html)
[![chat](https://img.shields.io/badge/chat-Gitter-green.svg)](https://gitter.im/swimos/community)

**swim-io** implements an explicitly flow-controlled, non-blocking, parallel
I/O engine, with [**swim-codec**](https://github.com/swimos/swim/tree/master/swim-system-java/swim-core-java/swim.codec)-modulated
socket modems, and TCP and TLS transports.  **swim-io** is part of the
[**Swim Core**](https://github.com/swimos/swim/tree/master/swim-system-java/swim-core-java) framework.

## Usage

Add the **swim-io** library to your project's dependencies.

### Gradle

```groovy
compile group: 'org.swimos', name: 'swim-io', version: '3.10.0'
```

### Maven

```xml
<dependency>
  <groupId>org.swimos</groupId>
  <artifactId>swim-io</artifactId>
  <version>3.10.0</version>
</dependency>
```

repository: DeepInThought/swim

repo_name: DeepInThought/swim


text:
Examples are useful to learn something very fast. Here you will find the sample apps for various plugins
such as IotKit, Mqtt, and ZeroMQ, where each will demonstrate in a simple manner.

  Documentation

[enableiot](@ref enableiot-apps/iotkit-publisher.c)

[iotkit](@ref enableiot-apps/iotkit-publisher.c)

[mqtt](@ref mqtt-apps/publisher.c)

[zeromq](@ref zmq-apps/sample_zmqpubsub-client.c)

repository: intel-iot-devkit/iotkit-comm-c

gha_language: C

repo_name: intel-iot-devkit/iotkit-comm-c