text:
## Getting started
This project uses some architectural concepts to decouple the search logic from the UI logic on different portals
<br />

## Check the development steps on Trello
 [Trello Kanban Board](https://trello.com/b/Ow7bxJsB/zaap)

## Code Walkthrough

The code is organized using a Clean Architecture with MVVM architecture for the presentation layer. The implementation was heavily based
on the articles and projects of Fernando Cejas:
 * Article: https://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/
 * Project: https://github.com/android10/Android-CleanArchitecture
 * Project: https://github.com/android10/Android-CleanArchitecture-Kotlin

## Multi Module Project Structure
The multi module project structure its being used to de-couple the main app of its features.
Also make it easier to separate feature parts of the application from the design-system.

![Kiku](readme-images/multi-module-structure.png)

## Clean Architecture
![Kiku](readme-images/clean_architecture_reloaded_main.png)

### ----------------------------------------------------------------------------------------------

## Android 3 Layers Architecture
![Kiku](readme-images/clean_architecture_reloaded_layers.png)

### ----------------------------------------------------------------------------------------------

## UI Layer: MVVM
![Kiku](readme-images/layer-communication.png)

### ----------------------------------------------------------------------------------------------

## Data Layer: Repository
![Kiku](readme-images/clean_archictecture_reloaded_repository.png)

## Technologies - [Dependencies.kt](buildSrc/src/main/java/Dependencies.kt) file
* Kotlin - As main language
* Coroutines - To write asynchronous code
* Koin - As Dependency Injection Framework
* Retrofit - For API calls
* Lifecycle ViewModel - To preserve the view model alive through android configuration changes.
* Google Paging Library
* CI configuration with Github Actions + Fastlane

## Junit Tests & Instrumentation
* Mockk library to mock junit tests

### ----------------------------------------------------------------------------------------------

## Local Development
Here are some useful Gradle/adb commands for executing this example:

* `./gradlew assembleDebug` - Builds the debug apk.
* `./gradlew detekt` - Execute the checkstyle task to verify code style.

## Decisions

### Why MVVM?

As alternative to MVP, MVVM takes advantage of the reactive programming to decrease the coupling between the presentation
and the business layer. In that case the same viewModel could be used in many screens.
Check this presentation I´ve made about it some time ago:
[MVVM - Presentation](https://docs.google.com/presentation/d/1NspsJ7r8qn7x7RMFNGNiFSrDhX2qBV59w5fAAUxi_Fs/edit?usp=sharing)

### Do I like tests?

Yes, thats why that architecture was chosen in the first place. But given the time I had to make the whole project, I´ve made only a few tests(junit).

### And Instrumentation tests?
Because every implementation is made using interfaces, its easy to create the inversion of control.

### Next steps
I would like to change the logic for the search using a library with evaluation of expressions and logic operations like and/or etc
I´ve made the first step to that on the operations library inside the project, but given the time I had to make the project, the library its not being used yet because
its needed a expression evaluation logic to use those operations and that would take more time.

repository: hernandazevedo/android-kotlin

repo_name: hernandazevedo/android-kotlin


text:
# Runtime upgrade and rollback with the Runtime Provisioner

This document describes the Runtime upgrade and rollback procedures for Kyma.

## Upgrade the Runtime

The Runtime Provisioner allows you to upgrade your Kyma Runtime using the GraphQL API. To upgrade the Runtime to the 1.11.0 version with the standard Runtime components, use the following mutation:

```graphql
mutation {
  upgradeRuntime(id: "{RUNTIME_ID}", config: {
    kymaConfig: {
        version: "1.11.0",
        configuration: [
            {
                key: "a.config.key"
                value: "a.config.value"
            }
        ]
        components: [
          {
            component: "cluster-essentials"
            namespace: "kyma-system"
          }
          {
            component: "testing"
            namespace: "kyma-system"
          }
          {
            component: "istio"
            namespace: "istio-system"
          }
          {
            component: "xip-patch"
            namespace: "kyma-installer"
          }
          {
            component: "istio-kyma-patch"
            namespace: "istio-system"
          }
          {
            component: "knative-serving-init"
            namespace: "knative-serving"
          }
          {
            component: "knative-serving"
            namespace: "knative-serving"
          }
          {
            component: "knative-eventing"
            namespace: "knative-eventing"
          }
          {
            component: "dex"
            namespace: "kyma-system"
          }
          {
            component: "ory"
            namespace: "kyma-system"
          }
          {
            component: "api-gateway"
            namespace: "kyma-system"
          }
          {
            component: "service-catalog"
            namespace: "kyma-system"
          }
          {
            component: "service-catalog-addons"
            namespace: "kyma-system"
          }
          {
            component: "helm-broker"
            namespace: "kyma-system"
          }
          {
            component: "nats-streaming"
            namespace: "natss"
          }
          {
            component: "core"
            namespace: "kyma-system"
          }
          {
            component: "permission-controller"
            namespace: "kyma-system"
          }
          {
            component: "apiserver-proxy"
            namespace: "kyma-system"
          }
          {
            component: "iam-kubeconfig-service"
            namespace: "kyma-system"
          }
          {
            component: "knative-provisioner-natss"
            namespace: "knative-eventing"
          }
          {
            component: "event-bus"
            namespace: "kyma-system"
          }
          {
            component: "event-sources"
            namespace: "kyma-system"
          }
          {
            component: "application-connector"
            namespace: "kyma-system"
          }
          {
            component: "compass-runtime-agent"
            namespace: "kyma-system"
          }
        ]
  }
  }
  ) {
    id
    operation
    runtimeID
  }
}
```

The Kyma configuration passed to the upgrade mutation overrides the previous configuration preserving the values that did not change.

> **CAUTION:** Before upgrading your Kyma deployment, you must perform the migration steps described in the Migration Guide matching the release you're upgrading to, if provided. If you upgrade to the new release without performing these steps, you can compromise the functionality of your cluster or make it unusable. To find the Migration Guide, go to `https://github.com/kyma-project/kyma/tree/release-{RELEASE_TAG_TO_UPGRADE_TO}/docs` and check if it contains the `migration-guides` directory. If it does, find the Migration Guide inside. If it doesn't, no steps need to be performed. Alternatively, find the link to the Migration Guide, if provided, in appropriate Release Notes on the [Kyma blog](https://kyma-project.io/blog/).

Similarly to provisioning, the upgrade operation is asynchronous and returns the [Runtime Operation Status](../provisioner/08-03-runtime-operation-status.md).

## Roll back the latest upgrade

The Runtime Provisioner API allows you to roll back the Kyma configuration to the one from before the latest upgrade. This mutation does not affect the cluster itself in any way, it only affects the database. In the case a cluster is rolled back manually, for example restored from a backup, a rollback on the database must be performed to keep the data in sync. To roll back an upgrade, the upgrade must be the last operation performed by the Runtime Provisioner on the given Runtime. In other words, you cannot perform a rollback if other operations have been performed on the Runtime after the upgrade.

To roll back the Kyma configuration, use the following mutation:

```graphql
mutation {
    rollBackUpgradeOperation(id: "{RUNTIME_ID}") {
        runtimeConnectionStatus {
            status errors {
            message
            }
        }
        lastOperationStatus {
            message operation state runtimeID id
        }
        runtimeConfiguration {
            kubeconfig
            kymaConfig {
                version
                configuration {
                    key
                    value
                    secret
                }
                components {
                    component
                    namespace
                    configuration {
                        key
                        value
                        secret
                    }
                    sourceURL
                }
            }
            clusterConfig {
            __typename ... on GCPConfig {
                bootDiskSizeGB
                name
                numberOfNodes
                kubernetesVersion
                projectName
                machineType
                zone
                region
            }
            ... on GardenerConfig {
                name
                workerCidr
                region
                diskType
                maxSurge
                volumeSizeGB
                machineType
                targetSecret
                autoScalerMin
                autoScalerMax
                provider
                maxUnavailable
                kubernetesVersion
                providerSpecificConfig {
                __typename ... on GCPProviderConfig { zones }
                    ... on AzureProviderConfig {vnetCidr}
                ... on AWSProviderConfig {zone internalCidr vpcCidr publicCidr}
            }
            }
            }
        }
    }
}
```

> **CAUTION:** Before rolling back your Kyma deployment, you must revert the migration steps described in the Migration Guide matching the release you upgraded to, if provided. If you roll back to the previous release without reverting these steps, you can compromise the functionality of your cluster or make it unusable. To find the Migration Guide, go to `https://github.com/kyma-project/kyma/tree/release-{RELEASE_TAG_YOU_UPGRADED_TO}/docs` and check if it contains the `migration-guides` directory. If it does, find the Migration Guide inside. If it doesn't, no steps need to be performed. Alternatively, find the link to the Migration Guide, if provided, in appropriate Release Notes on the [Kyma blog](https://kyma-project.io/blog/).

The rollback mutation returns the [Runtime Status](../provisioner/08-04-runtime-status.md).

repository: shorim/control-plane

branch_name: refs/heads/main

extension: md

license_type: permissive

repo_name: shorim/control-plane


text:
# homebridge-tapo-camera

Make your TP-Link TAPO security camera compatible with Homekit through Homebridge.

![photo_2021-11-23 11 57 48](https://user-images.githubusercontent.com/839700/143013358-9f6eed44-3aad-40b0-b1e5-ddc2c5bb24e4.png)

The plugin exposes the camera RSTP video feed and 2 accessories to control "Privacy Mode" and "Alarm".

The accessory called "Eyes" controls the privacy mode; when it's on it means that the camera is able to see.
This is to make sure we support "Hey Siri, turn on Camera" (this will disable privacy mode and enable alarm).

The accessory called "Alarm" switch on/off the sound alarm, but not notifications.

#### Motion Detection

The motion detection is built on top of the ONVIF protocol and it is enabled by default; therefore you can setup
automations and Homekit can send you notification when a motion is detected.

## Installation

You can install it via Homebridge UI or manually using:

```sh
npm -g install homebridge-tapo-camera
```

### Configuration

Add this configuration in the `platforms` key in your Homebridge configuration.

- `__IP_ADDRESS__` is the IP address of the camera in your local network; as long you have a bridge setup, you can also fully control the camera outisde your Home.
- `__PASSWORD__` is the password of your TAPO Cloud account, the username/email is not needed.
- `__STREAM_USER__` and `__STREAM_PASSWORD__` are the credentials you set in Settings > Advanced Settings > Camera Account.

```json5
{
  // ...
  "platforms": [
    // Other platforms
    {
      "platform": "TAPO-CAMERA",
      "cameras": [
        {
          "name": "Adamo",

          "ipAddress": "__IP_ADDRESS__",
          "password": "__PASSWORD__",
          "streamPassword": "__STREAM_PASSWORD__",
          "streamUser": "__STREAM_USER__",

          // Optionals, don't put them in the config if you need the default values
          "pullInterval": 60000, // Numbers of milleseconds after we update accessories by polling
          "debug": false, // Enables verbose logs
          "disableStreaming": false, // Disable the video feed
          "disablePrivacyAccessory": false, // Disable the privacy accessory
          "disableAlarmAccessory": false, // Disable the alarm accessory
          "disableMotionAccessory": false, // Disable the motion detection sensor
          "lowQuality": false, // Video stream will be requested in low-quality (640x480) instead of HQ (1920x1080)
        },

        // Second camera (if any)
        {},
      ],
    }
  ]
}
```

### Adding the unbridged accessory to Home

This plugin configures the cameras as unbridged accessories, therefore you need to manually add them in your Home app;
use the code that HomeBridge give you.

license: ISC

repository: samtd/homebridge-tapo-camera

repo_name: samtd/homebridge-tapo-camera


text:
**[Installation](#installation)** |
**[License](#license)** |
**[Team](#team)** |
**[Getting help](#getting-help)** |

# JupyterLab Metadata Service Extension

[![Stability Experimental](https://img.shields.io/badge/stability-experimental-red.svg)](https://img.shields.io/badge/stability-experimental-red.svg)

## Project Vision

We have articulated our vision for this project as a ["Press Release from the Future"](./press_release.md). We are now pursing that vision to make it a _reality_. Have feedback or want to get involved? [Post an issue!](https://github.com/jupyterlab/jupyterlab-metadata-service/issues/new)

---

## Getting started

### Installation

This extension includes both a client-side JupyterLab extension and a server-side Jupyter notebook extension. Install these using the command line with:

```bash
pip install jupyterlab-metadata-service
jupyter labextension install jupyterlab-metadata-service
```

Note: This repo has not been published yet, so the commands above won't actually work, _yet_.

If you are running Notebook 5.2 or earlier, enable the server extension by running

```bash
jupyter serverextension enable --py --sys-prefix jupyterlab-metadata-service
```

The latest versions of the following browsers are currently _known to work_:

- Firefox
- Chrome
- Safari

## Development

### Contributing

To contribute to the project, please read the [contributor documentation](CONTRIBUTING.md).

JupyterLab Metadata Service Extensions follows the Jupyter [Community Guides](https://jupyter.readthedocs.io/en/latest/community/content-community.html).

Follow the instructions below to set up your environment for development.

#### Clone

For now, you must develop against the bleeding-edge JupyterLab. Let's close the master JupyterLab branch, and also this branch of this repo.

```bash
git clone https://github.com/jupyterlab/jupyterlab.git
git clone -b add_graphql_apollo https://github.com/Quansight/jupyterlab-metadata-service.git
```

#### Create a fresh Conda environment

```bash
# If you already have an environment with this name:
# conda remove --name jupyterlab-metadata-service --all

conda create -n jupyterlab-metadata-service -c conda-forge notebook
source activate jupyterlab-metadata-service
```

#### Backend Server

The backend server is Apollo GraphQL. We have a JupyterLab extension that will auto-start Apollo, monitor it (and restart it if needed), and also proxy requests to Apollo through JupyterLab.

```bash
cd jupyterlab-metadata-service/backend
pip install -e .
cd jupyterlab_metadata_service_server
npm install
cd ../../..
```

#### Frontend Extension

To develop against an unreleased version of `JupyterLab` requires that you add this extension
as a package inside the `jupyterlab` repo:

```bash
cd jupyterlab
pip install -e .

jlpm run add:sibling ../jupyterlab-metadata-service/frontend

jupyter lab --watch --dev
```

Now you can edit the files in the package in `./packages/jupterlab-commenting`. Saving changes should cause JupyterLab to do an incremental re-compile, and you can refresh JupyterLab in your browser to see the changes in effect.

NOTE: Running `add:sibling` copies all the frontend files, so to commit any edits you make, copy the changes back to the `../jupyterlab-metadata-service/frontend` directory.

#### Frontend Extension (if we didn't need to build against bleeding-edge JupyterLab)

When JupyterLab officially releases version 1.0, the following will work to develop in this repo without having to clone JupyterLab master.

```bash
cd jupyterlab-metadata-service/frontend

# Install JS dependencies:
jlpm install

# Register this extension with JupyterLab in development-mode:
jupyter labextension link .
```

Now you can run JupyterLab in auto-reload mode, like this:
```bash
jupyter lab --watch
```

If you modify the code in the `frontend/` folder, you'll have to rebuilt it (once rebuilt, JupyterLab will notice and do a partial re-build of itself, from the command above):
```bash
jlpm run build
```

If you don't want to run the above command every time you modify code, you can watch the source with the following command:
```bash
jlpm run watch
```

### License

JupyterLab Metadata Service extension uses a shared copyright model that enables all contributors to maintain the
copyright on their contributions. All code is licensed under the terms of the revised [BSD license](https://github.com/jupyterlab/jupyterlab-metadata-service/blob/master/LICENSE).

### Team

JupyterLab Metadata Service Extension is part of [Project Jupyter](http://jupyter.org/) and is developed by an open community.

Current maintainers of this project are listed in alphabetical order, with affiliation, and main areas of contribution:

- Brian Granger, Cal Poly (co-creator, strategy, vision, management, UI/UX design,
  architecture).
- Igor Derke, Quansight (general development, extensions)
- Ivan Ogasawara, Quansight (general development, extensions)
- Katherine Oliphant, Quansight (general development, extensions)
- Ryan Henning, Quansight (general development, management)
- Saul Shanabrook, Quansight (general development, extensions)
- Tim George, Cal Poly (UI/UX design, strategy, management, user needs analysis)

---

## Getting help

We encourage you to ask questions on the [mailing list](https://groups.google.com/forum/#!forum/jupyter),
and participate in development discussions or get live help on [Gitter](https://gitter.im/jupyterlab/jupyterlab). Please use the [issues page](https://github.com/jupyterlab/jupyterlab-metadata-service/issues) to provide feedback or submit a bug report.

repository: ceteri/jupyterlab-metadata-service

branch_name: refs/heads/master

repo_name: ceteri/jupyterlab-metadata-service


text:
# php-pastec
pastec "implementation" in PHP, a test project

this project actually for my final project in "design interaction" subject ITB Indonesia
i made a little project that can recognize object in an image..

but in this case, a realtime image recognizer.

there is 3 important files:
- index.php
	a web interface for camera, point your camera to somewhere and see the index.php
- admin.php
	for manage image sample, not even a login here haha, just for demo project
- show.php
	a video player when object recognized

#### still early development, i just create this project.. << will remove this label when finished

## installation
pretty easy, just use `bower`

license: MIT

repository: ryanhs/php-pastec

repo_name: ryanhs/php-pastec


text:
Chocolatey CHANGELOG

This file is used to list changes made in each version of the Chocolatey cookbook.

0.0.8
-----
- [Russell Seymour] - Modified Chocolatey resource so that the version attribute is actually used.  Update the readme file for the cookbook.
                      Added template for the configuration file for Chocolatey
                      Recipe now uses attributes to determine where to download files to, by default this is the POSHChef cache directory.

0.0.7
-----
- [Russell Seymour] - Renamed the Chocolatey resource after finding bugs in the original version

0.0.5
-----

- [Russell Seymour] - Renamed the DSCResources folder to resources
                      This is so that embedded DSC Resources folders are not copied outside of the tree

0.0.4
-----
- [Russell Seymour] - Modified default recipe.  The parameters have been updated so that there is only
                      'node' as a parameter.  This is to support a breaking change in POSHChef.

                      Updated so that the new Log resource is used so that relevant information is output during
                      runtime.

0.0.3
-----

- [Russell Seymour] - Modified default recipe.  If the 'InstallFrom' attribute is set then Chocolatey
                      will be copied from that location.  This is to enable the copying of a custom
                      version if required

0.0.2
-----

- [Russell Seymour] - As POSHChef maybe installed on servers that have already been partly configured, the cookbook
                      now checks the registry to see if the package that is to be installed is alrady installed
                      in Windows.

                      If it is then it may not be registered with Chocolatety so this check is required.  It can be
                      turned off and indeed this is the default.  It can be set in a Role and an Environment

0.0.1
-----
- [Russell Seymour] - Initial release of Chocolatey cookbook

- - -
Check the [Markdown Syntax Guide](http://daringfireball.net/projects/markdown/syntax) for help with Markdown.

The [Github Flavored Markdown page](http://github.github.com/github-flavored-markdown/) describes the differences between markdown on github and standard markdown.


text:
* ABANDONED/UNFINISHED

# *lwirth-lib*

The **_lwirth-lib_** is a general purpose library written in **C++17** by **Luis Wirth**. It includes a game-/simulation-engine and uses the **Vulkan-API**.

## Purpose
The lwirth-lib is general purpose. It is made up of the following separate components: Math, Graphics, Physics, Memory management and Artifical Intelligence. All of this combines to form a **game-engine**.

## Components
### Graphics (Vulkan)
**GLFW** is in charge of creating the window and fetching all keyboard and mouse inputs. The responsible class for this is the *lw::Frame*.

As previously stated the library utilizes Vulkan for rendering. For most Vulkan modules there are **wrappers**, e.g *VK::Pipeline* or *VK::Device* to simplify their use. In the core, higher-level classes use these wrappers to form actual **renderers**, e.g. the **_lw::SimpleBrush2D_**.

The **_lw::RenderWindow_** takes care of handling all of these abilities. It is very easy to create an instance of this class and get started on rendering.

### Math
#### Linear Algebra
As of this time, it is not recommended to use the linear algebra build into the *lwirth-lib* but instead to utilize **Eigen**, which is innately available.

The *lwirth-lib* supports basic **linear algebra** like **vectors** and **matrices**. These can be of **any dimensions** due to the classes being **templated**. For the *lw::Vec2*, *lw::Vec3* and *lw::Vec4* template **specializations** do exist and provide extra functionality.

#### (Vector-)Geometry
Some basic geometry is also built into the library, which mainly is **vector-geometry**. You can perform many actions on __*lw::Line*s__ and __*lw::Plane*s__ and compute useful data.

## How to get started/Setting up the project

The project uses **CMake** therefor you can build the project on any platform. As of now CMake works fine for Windows but not yet for Mac. Mac support is currently work in progress.

All the necessary **dependencies** for the *lwirth-lib* are in the libraries directory. They are automatically included and linked by the CMake-Project. Therefor there is no need to download any third-party dependencies.

Third-party libraries include the following:
* [**Vulkan**](https://vulkan.lunarg.com/sdk/home) as graphics API
* [**GLFW**](http://www.glfw.org/) as window API
* [**Eigen**](http://eigen.tuxfamily.org) as linear algebra API
* [**stb_image**](https://github.com/nothings/stb) as image API

## Code example

```C++
#include "lwirth.hpp"

int main()
{
  lw::println("Code example coming soon");
}
```

## Plans for the future
* utilize clang-format
* utilize clang-tidy
* use best practices (e.g. Jason Turner)
* MacOS support
* Linux support
* finish CMake setup
* work on 2D-rendering (textures, shaders, more components, ...)
* start 3D-rendering
* implement more math
* implement physics (based on physics studies)
* expand machine learning

## How you can help

## Contributors
Up to now the only contributor to this project has been Luis Wirth.

gha_license_id: MIT


text:
# Germline Small Variant Benchmarking Tools and Standards

This repository hosts the work of the Global Alliance for Genomics and Health (GA4GH) Benchmarking Team, which is developing standardized performance metrics and tools for benchmarking germline small variant calls.  This Team includes representatives from sequencing technology developers, government agencies, academic bioinformatics researchers, clinical laboratories, and commercial technology and bioinformatics developers.  We have worked towards solutions for several challenges faced when benchmarking variant calls, including (1) defining high-confidence variant calls and regions that can be used as a benchmark, (2) developing tools to compare variant calls robust to differing representations, (3) defining performance metrics like false positive and false negative with respect to different matching stringencies, and (4) developing methods to stratify performance by variant type and genome context.
We also provide links to our reference benchmarking engines and their implementations, as well as to benchmarking datasets.

A manuscript from the GA4GH Benchmarking Team describing best practices for benchmarking germline small variant calls is on bioRxiv, and we ask that you cite this publication in any work using these tools:
[https://doi.org/10.1101/270157](https://doi.org/10.1101/270157)

** Note: This site is still a work in progress. **

# Standards and Definitions

See [doc/standards/](doc/standards/) for the current
benchmarking standards and definitions.

# Reference tool implementations

The primary reference implementation of the GA4GH Benchmarking methods is [hap.py](https://github.com/Illumina/hap.py), which enables users to choose between vcfeval (recommended) and xcmp as the comparison engine, and use of GA4GH stratification bed files to assess performance in different genome contexts.  A web-based implementation of this tool is available in [GA4GH Benchmarking app](https://precision.fda.gov/apps/app-F5YXbp80PBYFP059656gYxXQ) from peter.krusche on precisionFDA.

Other reference implementations following the standards outlined above are available at [tools/](tools/).
These are submodules which link to the original tool repositories.

# Benchmarking Intermediate Files

The benchmarking process contains a variety of steps and inputs. In
[doc/ref-impl/](doc/ref-impl/), we standardise intermediate
formats for specifying truth sets, stratification regions, and intermediate
outputs from comparison tools.

# Benchmarking resources

In [resources/](resources/), we provide files useful in the benchmarking process.  Currently, this includes links to benchmarking calls and datasets from [Genome in a Bottle](www.genomeinabottle.org) and [Illumina Platinum Genomes](https://www.illumina.com/platinumgenomes.html), as well as standardized bed files describing potentially difficult regions for performance stratification.


text:
# _Volunteer Tracker_

#### _This is an application that tracks projects and the volunteers working on them. Each volunteer will belong to only one project (one project, many volunteers)._, _1/10/2019_

#### By _**Brett Cordell**_

## Description

_This is an application that will utilize Sinatra and pSql (with Ruby) to create a database to better support the tracking of volunteers, assigned to volunteer projects. Each volunteer will be able to assigned to one volunteer project at a time, but each project will be assigned many volunteers. This application will manage a one-to-many relationship between a project and assigned volunteers._

## Expected Behaviors and Functionality

* _As a non-profit employee, User will be able to view, add, update and delete projects_
* _As a non-profit employee, User will be able to view and add volunteers._
* _As a non-profit employee, User will be able to add volunteers to a project._

## Setup/Installation Requirements

* _Clone or download Git files provided._
* _Set-up your own repositories, and branches to edit and add as needed._
* _Ruby 2.5.1 will be needed_
* _pSql will also needed to be installed._
* _GEMS: "Rspec" and "Pry" along with "Sinatra" will need to be installed._
* _run "Gem Install bundle" to download needed Gems recommended._
* _to list setup instructions_

## Known Bugs

_At this time there are no presented bugs that I have been able to come across. Should any bugs be encountered during your use of this project, please contact me at<EMAIL_ADDRESS>and I will happily review them and work towards solutions. Please be provide information regarding location of the bug, and any context you find useful to better help the team address the bug/issue._

## Support and contact details

_If you have any concerns, comments or even suggestions on how to better organize or utilize this project, please contact me at<EMAIL_ADDRESS>
## Technologies Used

* _Ruby 2.5.1_
* _Rspec_
* _Pry_
* _pSql_
* _Sinatra_

### License

*This software is licensed under the MIT license.*

Copyright (c) 2019 **_Brett Cordell_**

repository: Triknives/VolunteerTracker

gha_language: Ruby

repo_name: Triknives/VolunteerTracker


text:
### [2185\. Counting Words With a Given Prefix](https://leetcode.com/problems/counting-words-with-a-given-prefix/)

Difficulty: **Easy**

You are given an array of strings `words` and a string `pref`.

Return _the number of strings in_ `words` _that contain_ `pref` _as a **prefix**_.

A **prefix** of a string `s` is any leading contiguous substring of `s`.

**Example 1:**

```
Input: words = ["pay","attention","practice","attend"], pref = "at"
Output: 2
Explanation: The 2 strings that contain "at" as a prefix are: "attention" and "attend".
```

**Example 2:**

```
Input: words = ["leetcode","win","loops","success"], pref = "code"
Output: 0
Explanation: There are no strings that contain "code" as a prefix.
```

**Constraints:**

*   `1 <= words.length <= 100`
*   `1 <= words[i].length, pref.length <= 100`
*   `words[i]` and `pref` consist of lowercase English letters.

#### Solution

Language: **JavaScript**

```javascript
/**
 * @param {string[]} words
 * @param {string} pref
 * @return {number}
 */
var prefixCount = function(words, pref) {
  return words.filter(w => w.startsWith(pref)).length
};
```


text:
# greenmail-example

## About

This small example application was planned to be shown in a talk at my employers - [OVSoftware](https://ovsoftware.de/) - internal conference.
Due to the current Corona situation the conference was cancelled.
Still I would like to share the results of my research.

This is an example application in which you can create notes and send them via mail.
Notes can also be created by incoming mails to the address specified in the `application.config` file.
All the mails will remail local due to [GreenMail](https://greenmail-mail-test.github.io/greenmail/) running in the background as a mock SMTP server.
You can use the included [RoundCube](https://roundcube.net/) instance to read and send mails.
Mail sending and receiving is tested with integration tests using GreenMail.

Please do not use the code for receiving mail as an example.
I had no idea how to do it properly and the application is only intended to be a showcase for GreenMail.
Currently receiving mails does not work with changed ports, that is why you have to turn off the GreenMail docker container before executing the tests.

## Running the application

### Setup
* create the application: `mvn clean package`
* start up the docker dependencies: `docker-compose up -d`
* run the application: `java -jar target/greenmail-example-0.0.1-SNAPSHOT.jar`

### Usage
* call `http://localhost:8080/` to access the application
* call `http://localhost:8000/` to read and send emails locally
  * login with username and password - password is equal to username
  * greenmail automatically creates new users on login or receiving mails

## Thanks

I would like to thank my employer [OVSoftware](https://ovsoftware.de/) for allowing me to publish the results of my research.

repository: longnan/greenmail-example

repo_name: longnan/greenmail-example


text:
#CSLARepositoryTest
Sample code for a series of blog posts I did back in 2008/2009 on using Dependency Injection and IOC with CSLA.NET:

* [Using Dependency Injection with CSLA.NET](http://beyondthispoint.blogspot.com/2008/12/using-dependency-injection-with-cslanet.html)
* [Using the Repository Pattern with CSLA.NET, Part 1](http://beyondthispoint.blogspot.com/2009/01/using-repository-pattern-with-cslanet.html)
* [Using the Repository Pattern with CSLA.NET, Part 2](http://beyondthispoint.blogspot.com/2009/02/using-repository-pattern-with-cslanet.html)

The code is as-is (and therefore quite old) and a number of people have attempted to get it to work with newer versions of CSLA.NET, Unity, etc.  I thought by putting it out on GitHub it would give myself and others the opportunity to improve the samples and even create branches that worked against newer versions of all the frameworks.

##Questions?
[@twistedstream](http://twitter.com/twistedstream)

repository: twistedstream/CslaRepositoryTest

repo_name: twistedstream/CslaRepositoryTest


text:
---
title: Kubernetes Integration
keywords: integrations
tags: [integrations]
sidebar: doc_sidebar
permalink: integrations_kubernetes.html
summary: Learn how to set up Kubernetes to send container metrics to Wavefront.
---
[Kubernetes](https://kubernetes.io/) is a popular open-source system for deploying and scaling containerized applications. It runs on Google Container Engine and it is also a common choice for deploying containerized applications on Amazon Web Services.

[Heapster](https://github.com/kubernetes/heapster) is a service that runs on Kubernetes that collects and aggregates resource metrics (CPU, memory, storage, network) about the Kubernetes cluster, containers, pods, and nodes. Wavefront maintains a [Docker image](https://hub.docker.com/r/wavefronthq/heapster-amd64/) of Heapster that sends metrics to a [Wavefront proxy](proxies_installing.html).

{% include note.html content="If you installed a Wavefront Kubernetes integration before February 14th, 2017, we recommend upgrading your Heapster image to **wavefronthq/heapster-amd64:latest** and getting the latest Kubernetes dashboard. These changes improve dashboard performance for large Kubernetes deployments." %}

## Setting up the Kubernetes Integration

To set up to send Kubernetes metrics to Wavefront:

1. Use [wavefront-proxy.yml](https://github.com/wavefrontHQ/integrations/blob/master/kubernetes/deploy/wavefront-proxy.yml) to deploy a containerized Wavefront proxy using `kubectl` or the Kubernetes UI. Change \<YOUR_API_TOKEN\> to a valid [API token](wavefront_api.html#api-tokens) and \<YOUR_INSTANCE\> to your Wavefront URL.
1. Add a Wavefront proxy service. Expose the Wavefront proxy deployed in step 1 to other services on the cluster on ports 2878 and 4242 so they can send metrics into Wavefront. Use  [wavefront-proxy-service.yml](https://github.com/wavefrontHQ/integrations/blob/master/kubernetes/deploy/wavefront-proxy-service.yml), which exposes TCP connections to the addresses wavefront-proxy:2878 and wavefront-proxy:4242 on the cluster.
1. Use [heapster.yml](https://github.com/wavefrontHQ/integrations/blob/master/kubernetes/deploy/heapster.yml) to deploy the Wavefront Heapster image. The file is configured to flush metrics to the service you defined in step 2.
1. Optionally set [additional configuration options](https://github.com/wavefrontHQ/integrations/tree/master/kubernetes) depending on your use case.

## Kubernetes Dashboard

Once you have started collecting metrics from your Kubernetes cluster, optionally deploy the Wavefront [Kubernetes dashboard](https://github.com/wavefrontHQ/integrations/blob/master/kubernetes/dashboards/K8s.json), which monitors namespaces, pods, and containers:

  ![k8_nodes_namespaces](images/k8_nodes_namespaces.png)

  ![k8_pods](images/k8_pods.png)

  ![k8_pod_containers](images/k8_pod_containers.png)

repository: kcaroline/docs

repo_name: kcaroline/docs


text:
# facialRecognitionCommandLineProgram
Command Line Facial Recognition Program

v2.0

This program uses the following libraries: openCV, numpy, dlib, face_recognition

face_recognition is a facial recognition wrapper for dlib which can be found at:
https://github.com/ageitgey/face_recognition

This program uses a Haar Cascade for face detection

To use this program first run: "python3 setup.py" to install all
required libraries

Commands for this program are:

1. python3 main.py addface image_path person_name : adds a face encoding to
 the database
2. python3 main.py run : runs webcam face recognition
3. python3 main.py help : prints this menu
4. python3 main.py scanphoto image_path : scans a photo for face recognition
 using HOG face detection
5. python3 main.py runhog : runs webcam face recognition using HOG face
 detection
6. python3 main.py scanphotohog image_path : scans a photo for face recognition
 using HOG face detection

When adding an image or scanning one
image_path must be a path to a .jpg file with exactly
one face in the image or else the facial recognition will not work properly

TO DO:
- Bug Check
- Allow multiple photos to be uploaded at once
- Fix the current issue of when a file of the same name as an existing file
 is uploaded it overrides the existing file.


text:
# Change log

> [中文迭代日志](https://github.com/lingochamp/FileDownloader/blob/master/CHANGELOG-ZH.md)

## Version 1.2.1

_2016-10-09_

#### Fix

- Fix(fatal-crash): fix when the task doesn't have `FileDownloadListener`, we can't receive the callback of `FileDownloadMonitor.IMonitor#onTaskOver` for it. Closes #348.

## Version 1.2.0

_2016-10-04_

#### New Interfaces

- Add `FileDownloader#insureServiceBind()`: Easy to block the current thread, and start FileDownloader service, after the service started then executes the request which needs the service alive. Refs #324.
- Add `FileDownloader#insureServiceBindAsync()`: Easy to start FileDownloader service, and after the service started then executes the request which needs the service alive. Refs #324.
- Add `FileDownloader#bindService(runnable:Runnable)`: Easy to start FileDownloader service, and after the service started then executes the `runnable`. Refs #324.
- Add `FileDownloader#init(Context,InitCustomMaker)`: Easy to initialize the FileDownloader engine with various kinds of customized components.

#### Enhancement

- Improve Practicability(`InitCustomMaker#database`): Support customize the database component with the implementation of `FileDownloadDatabase`, and implements the default database component: `DefaultDatabaseImpl`.
- Improve Practicability(`InitCustomMaker#outputStreamCreator`): Support customize the output stream with the implementation of `FileDownloadOutputStream`, and implements the default output stream component `FileDownloadRandomAccessFile`, and some alternative components: `FileDownloadBufferedOutputStream`、`FileDownloadOkio`.

## Version 1.1.5

_2016-09-29_

#### New Interfaces

- Support the configuration `file.non-pre-allocation` in `filedownloader.properties`: Whether doesn't need to pre-allocates the 'content-length' space when to start downloading, default is `false`. Closes #313 .

#### Fix

- Fix(fatal-crash): fix occur the `StackOverflowError` when thread pool getActiveCount is not right because of it just an approximate number. Closes #321 .
- Fix(minor-crash): fix in some minor cases occur `IllegalStateException` which message is 'No reused downloaded file in this message'. Closes #316 .
- Fix(minor-crash): fix when there are several serial-queues started in case of the FileDownloader service doesn't connect yet and in minor cases that the same task in the queue will be started twice which lead to crash. Refs #282 .

#### Others

- Dependency: Cancel the dependence of thread-pool library. Refs #321 .
- MinSDKVersion: Upgrade `minSdkVersion` : 8->9. Refs #321 .

## Version 1.1.0

_2016-09-13_

#### New Interfaces

- Add `BaseDownloadTask#setWifiRequired`: Set whether the task only allows downloading on the wifi network type. Default `false`. Closes #281 .

#### Enhancement

- Improve Performance: Alternate all thread pools to exceed-wait-pool(more detail: docs in `FileDownloadExecutors`) and all threads in pools will be terminate after idle 5 second. Refs #303 .
- Improve Practicability: Handle any `Throwable`s thrown on `FileDownloadListener#blockComplete` method and callback to `FileDownloadListener#error` method instead of `FileDownloadListener#completed`. Closes #305 .

#### Fix

- Fix(lost-connect): Prevent the waiting-connect-list contains duplicate tasks in minor cases.

## Version 1.0.2

_2016-09-06_

#### Fix

- Fix: When the service didn't connected and now it is connected and FileDownloader try to restart the 'queue-task's which in the waiting-service-connect list but occur an `IllegalStateException`. Closes #307 .

## Version 1.0.1

_2016-09-05_

#### New Interfaces

> If you used `BaseDownloadTask#ready()` which is a deprecated method now, just migrate it to `BaseDownloadTask#asInQueueTask():InQueueTask` and `InQueueTask#enqueue()`.

- Add `BaseDownloadTask#asInQueueTask():InQueueTask` and Deprecated `BaseDownloadTask#ready()`: Declare the task is a queue task, what will be assembled by a queue which makes up of the same `listener` task and there is a method `InQueueTask#enqueue()` to enqueue this task to the global queue to ready for being assembled by the queue. The operation of method `InQueueTask#enqueue()` is the same to the Deprecated method `BaseDownloadTask#ready()`, we wrap the `ready()` method in this way just want you to know clearly: Only if the task belongs to a queue, you need to invoke this method otherwise if this task is an isolated task but you invoke this method, it's wrong and you will receive an exception(More detail reason please move to the exception thrown in `DownloadTask#start`).

#### Fix

- Fix: Maybe occur an IllegalStateException when there are several isolated tasks and queues with the same `listener` object, and they are started in the different thread simultaneously. Closes #282 .

## Version 1.0.0

_2016-08-21_

#### New Interfaces

- Add `BaseDownloadTask#cancel`: This method is used for explaining why the pause operation is the same as the cancel operation.

#### Enhancement

- Improve Performance: Hold the result of `isDownloaderProcess`.
- Improve Practicability: Refactor the visible layer of the code. Closes #283
- Improve Practicability: Perfect the java doc. Closes #284
- Improve Practicability: Add the java doc website: http://fd.dreamtobe.cn. Closes #285

## Version 0.3.5

_2016-08-16_

#### Enhancement

- Improve Practicability: Add thread name to all threads used in FileDownloader.
- Improve Performance: Change the count of core thread for block-completed-thread-pool: 5->2, reduce redundant resource waste.

#### Fix

- Fix(SQLiteFullException): Cover the case of SQLiteFullException during the entire downloading process, and ensure the exception can be carried back to `FileDownloadListener#error` . Closes #243
- Fix(directory-case): Fix in the case of the provided path is a directory, and the task already completed, if you start the task again you will receive `FileDownloadListener#completed` directly, but the `targetFilePath` may be null in the `FileDownloadListener#completed` callback method. Closes #237

## Version 0.3.4

_2016-07-31_

#### New Interfaces

- Add `FileDownloader#clear`: clear the data with the task id in the filedownloader database. Closes #218.

#### Enhancement

- Improve Practicability: Add return value to the method `FileDownloader#start(FileDownloadListener, boolean)` : Whether start tasks successfully. Closes #215.
- Improve Practicability: Pause tasks with the same download-id rather than just pause one task through there are more than one task in downloading.

#### Fix

- Fix(init-crash): Fix the crash about the list of running-app-process-info from `ActivityManager` is null when to init FileDownloader. Closes #210.
- Fix(minor-crash): Fix the NPE-crash when to execute receiving snapshot-message after FileDownloadService already onDestroy. Closes #213.
- Fix(message-keep-flow): Delete the target file before start downloading, ensure can't get the `completed` status when another same task is downloading. Closes #220
- Fix(start-serial): Assemble non-attached-tasks to start rather than assemble tasks just refer to FileDownloadListener, fix no possibility to start two queues with the same `FileDownloadListener`. Closes #223.
- Fix(free-messenger): Free the messenger of Task before call back 'over-message' to FileDownloadListener instead of after callback, ensure Task can be reused in FileDownloadListener callback method. Closes #229.

#### Others

- Upgrade dependency okhttp from `3.3.1` to `3.4.1`.

## Version 0.3.3

_2016-07-10_

#### New Interfaces

- Add `FileDownloadUtils#getTempPath`: Get the temp path is used for storing the temporary file not completed downloading yet(`filename.temp`). Refs #172.
- Add `FileDownloader#getStatusIgnoreCompleted(id:int)`:  Get the downloading status without cover the completed status(If completed you will receive `INVALID`).
- Add `FileDownloader#getStatus(id:int, path:String)`:  Get the downloading status.
- Add `FileDownloader#getStatus(url:String, path:String)`:  Get the downloading status.
- Add `FileDownloadUtils#isFilenameConverted(context:Context)`: Whether tasks from FileDownloader Database has converted all files' name from `filename`(in old architecture) to `filename.temp`, if it is not completed downloading yet.
- Add `FileDownloadUtils#generateId(url:String, path:String, pathAsDirectory:boolean)`: Generate a `Download Id` which can be recognized in FileDownloader.
- Add `BaseDownloadTask#setPath(path:String, pathAsDirectory:boolean)`: If `pathAsDirectory` is `true`, the `path` would be the absolute directory to store the downloading file, and the `filename` will be found in `contentDisposition` from the `response#header` as default.
- Add `BaseDownloadTask#isPathAsDirectory`: Whether the result of `BaseDownloadTask#getPath()` is a `directory` path or `directory/filename` path.
- Add `BaseDownloadTask#getTargetFilePath`: Get the target file path to store the downloading file.
- Add `FileDownloadQueueSet#setDirectory`: Set the `directory` to store files in this queue.

#### Enhancement

- Improve Practicability: Support the `path` of the task as the directory to store the file, and in this case, the `filename` will be found in `contentDisposition` from the `response#header` as default. Refs #200.
- Improve Practicability: Using the temp path to store the file not completed downloading yet(`filename.temp`). Refs #172.
- Improve Performance: FileDownloader doesn't store completed tasks in Database anymore, and check whether the task has completed downloading with `File#exists()` directly. Refs #176, #172.
- Improve Robust: Choosing the task which status is `INVALID` or `progress` to receive `completed` message preferentially, to ensure the callback of `progress` can be handled. Refs #123
- Improve Robust: Expanding task-sync-lock to the outside of getting-same-id-downloading-task, to fix some messages can't be consumed because status changed during getting-same-id-downloading-task and waiting for task-sync-lock.

#### Fix

- Fix(DB-maintain): Keeping models, whose status is `pending` and downloaded so far bytes is more than 0 because it can be used for resuming from the breakpoint. Closes #176.
- Fix(crash-NPE): FileDownloader might occur NPE when the download-listener was removed, but the task is still running in FileDownloader. Closes #171.

## Version 0.3.2

_2016-06-12_

#### New Interfaces

- Add `BaseDownloadTask#setCallbackProgressMinInterval`: Set the minimum time interval between each callback of 'progress'. Closes #167.
- Add `FileDownloader#setMaxNetworkThreadCount`: Change the number of simultaneous downloads(the number of the simultaneously running network threads) at the code side. Closes #168.
- Add `FileDownloader#init(Context,OkHttpClientCustomMaker,int)`: Accept initializing the number of simultaneous downloads(the number of the simultaneously running network threads) with the FileDownloadService initializes. Closes #168.

#### Enhancement

- Improve Robust: Ensure the minimum time interval between each callback of 'progress' is 5ms, To prevent internal callback of 'progress' too frequent happening. Closes #167.
- Improve Practicability: Print the 'warn' priority log when a request does something in the FileDownloadService but it isn't connected yet.
- Improve Performance: Using the `SparseArray` instead of `HashMap` for mapping all `FileDownloadModel`.

#### Fix

- Fix(crash): Fix provided wrong params in formatting character string when to starting download runnable occur the unexpected downloading status.
- Fix(force-re-download): Fix the wrong logic: In the case of `BaseDownloadTask#setForceReDownload(true)` and the task has already downloaded will trigger 'warn' callback. Closes #169 .
- Fix(class-type): Keep the class type of `SocketTimeOutException`, and no longer care about whether the message of Throwable is empty, this is very redundant.

#### Others

- Upgrade dependency okhttp from `3.2.0` to `3.3.1`.

## Version 0.3.1

_2016-05-19_

#### Enhancement

- Improve Robust: Ensuring buffer is written out to the device when at the end of fetching data.

## Version 0.3.0

_2016-05-13_

#### Fix

> Why FileDownload can run in UI process? Ref [filedownloader.properties](https://github.com/lingochamp/FileDownloader/wiki/filedownloader.properties).

- Fix(shared-UI-process): fix the addition header does not attach to Http-request when the FileDownload service isn't running in the separate process to UI process. Closes #149.

## Version 0.2.9

_2016-05-10_

#### New Interfaces

- Add `BaseDownloadTask#isUsing():boolean`: Whether this task object has already started and used in FileDownload Engine. Closes #137 .

#### Fix

- Fix(high-concurrency-npe): Providing the default snapshot when a task's status is unexpected, preventing the npe is occurred in this case.
- Fix(response-416): Covering the response status code is 416 or still resume from breakpoint when its so far bytes more than or equal to total bytes.

## Version 0.2.8

_2016-05-02_

#### New Interfaces

- Add `BaseDownloadTask#getId():int`: deprecate `getDownloadId()`, and using the `getId()` instead, for `BaseDownloadTask`.

#### Enhancement

- Improve Robust: Refactor the launcher for launching tasks more make sense, and expire tasks with listener or expire all waiting-tasks more stable.
- Improve Robust: Refactor the architecture which is used to handle the event send to `FileDownloadListener`, the new architecture just like a messenger and message-station, each tasks would write snapshot messages to message-station.
- Improve Robust: Cover all high concurrent situations about pausing a task, remove some expected warn logs about it.
- Improve Performance: Reduce the FileDownloader database I/O.
- Improve Performance: Reduce creating object(less allocating memory request, friendly to GC) for each call-back, Taking a message snapshot for a status updating, and through whole communication architecture just use it.

#### Fix

- Fix: Provide the definite locale for formatting strings, prevent unexpected-locale as Default happening. Closes #127

## Version 0.2.7

_2016-04-22_

#### New Interfaces

- Add `FileDownloader#setTaskCompleted(taskAtomList:List<FileDownloadTaskAtom>)`: Used to telling the FileDownloader Engine that a bulk of tasks have already downloaded by other ways.

#### Enhancement

- Improve Robust: Throw the Fatal-Exception directly when request to bind the FileDownloadService in the `:filedownloader` process. Closes #119 .

## Version 0.2.6

_2016-04-20_

#### New Interfaces

- Adjust: Change the location of the `filedownloader.properties` ，no more in the root directory of project, instead below the `assets` of a module, for example `/demo/src/main/assets/filedownloader.properties`.

#### Fix

- Fix: `filedownloader.properties` not work. Closes #117.

## Version 0.2.5

_2016-04-19_

#### New Interfaces

- Add `FileDownloader#setTaskCompleted`: Used to telling the FileDownloader Engine that the task with the url and the path has already completed downloading by other ways(not by FileDownloader Engine).
- Support the configuration `download.max-network-thread-count` in `filedownloader.properties`: The maximum network thread count for downloading simultaneously, default is 3. Closes #116.

## Version 0.2.4

_2016-04-18_

#### New Interfaces

- Add `BaseDownloadTask#getSpeed` and `BaseDownloadTask#setMinIntervalUpdateSpeed`: Get the download speed for a task. If it is in processing, the speed would be real-time speed; If finished, the speed would be average speed. Closes #95
- Add the `FileDownloader#startForeground` and `FileDownloader#stopForeground` for supporting the Foreground mode([Service#startForeground](https://github.com/lingochamp/FileDownloader/wiki/filedownloader.properties)); For ensure the FileDownloadService would keep alive when user removed the App from the recent apps. Closes #110 .
- Support configurations `download.min-progress-step` and `download.min-progress-time`: The min buffered so far bytes and millisecond, used for adjudging whether is time to sync the download so far bytes to database and make sure sync the downloaded buffers to the local file. More small more frequent, then download more slowly, but will safer in the scene of the process is killed unexpectedly. Default 65536(MinProgressStep) and 2000(MinProgressTime), which follow the value in `com.android.providers.downloads.Constants`.
- Support the configuration `process.non-separate` in `filedownloader.properties`: The FileDownloadService runs in the separate process ':filedownloader' as default, if you want to run the FileDownloadService in the main process, set this configuration as `true`. Closes #106 .

#### Enhancement

- Improve Performance: Download more quickly, Optimize the strategy about sync the buffered datum to database and local file when processing. Closes #112 .

#### Fix

- Fix: Can't restart the task which in paused but is still settling in the download-pool. Closes #111

## Version 0.2.3

_2016-04-11_

#### New Interfaces

- Add `FileDownloadOutOfSpaceException`, Throw this exception, when the file will be downloaded is too large to store.
- Add new call-back method in `FileDownloadListener`: `started` which will be invoked when finish pending, and start the download runnable.
- Add new call-back method in `FileDownloadMonitor.IMonitor`: `onTaskStarted` which will be invoked when finish pending, and start the download runnable.

#### Enhancement

- Improve Practicability: Provide the current task to the method `over` in `FinishListener`, for recognizing target task in case of one-FinishListener for more than one task. Closes #69 .
- Improve Robust: Throw the exception directly when invoke `BaseDownloadTask#start` for a running-task object, add provide 'reuse' method to reuse a used and already finished task object. Closes #91 .
- Improve Performance: Intercept the enqueue operate for the otiose event which is no listener for handling it.

#### Fix

- Fix: In handful cases the task-call-back flow not follow the expect.
- Fix: `progress` call-back included the ending frame ( `sofarBytes == totalBytes` ).
- Fix: Carry back the total bytes in the status of warn, for covering the case of UI-process had killed but has restarted App with restarting the task and download-process is alive still, the total bytes is 0 in UI-process. Closes #90 .
- Fix: Can't call-back 'retry' in expect, the case of the call-back method 'retry' one-by-one. Refs: #91 .
- Fix: The wrong sofar bytes will cover the right one, when occur error in no-network and has chance to retry. Closes #92 .
- Fix: Handle the case of the downloading is finished during the 'check-reuse' to 'check-downloading' in filedownloader-process.
- Fix: The serial-queue converts to The parallel-queue in restoring from filedownloader-process has killed and restarting.

## Version 0.2.2

_2016-04-06_

#### New Interfaces

- Add `FileDownloadHttpException` and `FileDownloadGiveUpRetryException`, and optimize the mechanism of exception. Closes #67 .
- Init the `FileDownloader` use `Context` instead of `Application` ( `FileDownloader#init(Context)` ) , for more make sense and unit-test. Closes #54 .

#### Enhancement

- Improve Robust: Check whether free space is enough, and throw IOException directly when not enough; And pre-allocate need-available-space before fetching datum when the free space more than need-available-space. Closes #46 .
- Improve Practicability: Support resume from breakpoint without ETag. Just need the server support the request-header param 'Range'. Close #35 , #66 .

#### Fix

- Fix: The `IllegalFormatConversionException` on `EventPool` when publishing the event which does not in effect and `FileDownloadLog.NEED_LOG` is `true`. Closes #30 .
- Fix: The non-fatal-crash in `IFileDownloadIPCService.java` , when lost connection from filedownloader process. because the IBinder's hosting process(filedownloader process) has been killed/cancelled. Closes #38 .
- Fix: The leak of response-body: 'WARNING: A connection to https://... was leaked. Did you forget to close a response body?' Closes #68 .
- Fix: Using the internal-string as synchronized lock-object instead of string-original.
- Fix: The number of the Ing-call-back is not correct in some cases.

#### Others

- Upgrade dependency okhttp from `3.1.2` to `3.2.0`.

## Version 0.2.0

_2016-02-15_

#### New Interfaces

- `filedownloader.properties-http.lenient`: Add 'filedownloader.properties' for some special global configs, and add 'http.lenient' keyword to 'filedownloader.properties' to handle the case of want to ignore HTTP response header from download file server isn't legal.
- `FileDownloadNotificationHelper`: Refashioning NotificationHelper, let handle notifications with FileDownloader more make sense. #25
- `FileDownloader#init(Application,OkHttpClientCustomMaker)`: Support customize OkHttpClient which will be used for downloading files.

#### Fix

- Fix: Occur 'Concurrent Modification Exception' when Downloader service is unbound or lost connection to service and NeedRestart list not empty. #23
- Fix: The case of re-connect from lost connection to service but all auto restart tasks' call-back do not effect.
- Fix: In some cases of high concurrency, the Pause on some tasks is no effect.

## Version 0.1.9

_2016-01-23_

> FileDownloader is enable Avoid Missing Screen Frames as default, if you want to disable it, please invoke `FileDownloader.getImpl().disableAvoidDropFrame()`.

#### New Interfaces

> We default open Avoid Missing Screen Frames, if you want to disable it(will post to ui thread for each FileDownloadListener event achieved as pre version), please invoke: `FileDownloader.getImpl().disableAvoidDropFrame()`.

- `FileDownloadMonitor`: You can add the global monitor for Statistic/Debugging now.
- `FileDownloader#enableAvoidDropFrame(void)`: Avoid missing screen frames, but this leads to all callbacks of FileDownloadListener do not be invoked at once when it has already achieved.
- `FileDownloader#disableAvoidDropFrame(void)`: Disable avoid missing screen frames, let all callbacks of FileDownloadListener be invoked at once when it achieve.
- `FileDownloader#isEnabledAvoidDropFrame(void)`: Has already enabled Avoid Missing Screen Frames. Default: true
- `FileDownloader#setGlobalPost2UIInterval(intervalMillisecond:int)`: For Avoid Missing Screen Frames. Each intervalMillisecond post 1 message to ui thread at most. if the value is less than 0, each callback will always post a message to ui thread immediately, may will cause missing screen frames and produce great pressure on the ui thread Looper. Default: 10ms.
- `FileDownloader#setGlobalHandleSubPackageSize(packageSize:int)`: For Avoid Missing Screen Frames. {packageSize}: The number of FileDownloadListener's callback contained in each message. value completely dependent on the intervalMillisecond of setGlobalPost2UIInterval, describe will handle up to {packageSize} callbacks on the each message posted to ui thread. Default: 5.
- `BaseDownloadTask#setSyncCallback(syncCallback:boolean)`: if true will invoke callbacks of FileDownloadListener directly on the download thread(do not post the message to the ui thread), default false.
- `BaseDownloadTask#isSyncCallback(void):boolean`: Whether sync invoke callbacks of FileDownloadListener directly on the download thread.
- `FileDownloadUtils#setDefaultSaveRootPath`: The path is used as Root Path in the case of task without setting path in the entire Download Engine.
- `FileDownloadQueueSet`: In order to be more convenient to bind multiple tasks to a queue, and to the overall set.

#### Enhancement

- Improve Debugging: Provide the `FileDownloadMonitor` to monitor entire Download Engine.
- Improve Performance: Optimize EventPool lock & do not handle listener priority any more(no use internal).
- Improve Performance: Call `FileDownloadListener` methods do not through EventPool, instead, invoke directly.

#### Fix

- Fix: EventPool listener unlimited increased bug.

## Version 0.1.5

_2016-01-17_

#### New Interfaces

- `BaseDownloadTask#setTag(key:int, tag:Object)`: Set a tag associated with this task. If the key already existed, the old tag will be replaced.
- `BaseDownloadTask#getTag(key:int)`: Get the object stored in the task as a tag, or null if not set.
- `BaseDownloadTask#addHeader(name:String, values:String)`: Add custom request header to the task. Attention: We have already handled ETag, and will add `If-Match` & `Range` value if it works.
- `BaseDownloadTask#addHeader(line:String)`: Add custom request header to the task. Attention: We have already handled ETag, and will add `If-Match` & `Range` value if it works.
- `BaseDownloadTask#removeAllHeaders(name:String)`: Remove all custom request header bind with the `{name}`.

#### Enhancement

- Improve Performance: Reduce the consumption of the generated log.
- Improve Debugging: To filter all the log level, reduce the high level of log output, and by default, will output `Warn`、`Error`、`Assert` level of log in order to debugging in the case of the value of `FileDownloadLog.NEED_LOG` is false(default).

#### Fix

- Fix can't resume from the break point naturally in case of the download status of the task is Error.
- Fix the size of the queue may not match the number of actual active tasks in case of high concurrency. This bug may would caused some callbacks to be consumed by the old tasks.

#### Others

- Upgrade dependency okhttp from `2.7.1` to `3.0.1`.

## Version 0.1.4

_2016-01-13_

#### New Interfaces

- `FileDownloader#unBindServiceIfIdle(void)`: If there is no active task in the `:filedownloader` progress currently , then unbind & stop `:filedownloader` process
- `FileDownloader#getStatus(downloadId)`: Get download status by the downloadId(ps: Please refer to [Tasks Manager demo](https://github.com/lingochamp/FileDownloader/blob/master/demo/src/main/java/com/liulishuo/filedownloader/demo/TasksManagerDemoActivity.java)
- `FileDownloader#isServiceConnected(void)`: Whether started and connected to the `:filedownloader` progress(ps: Please refer to [Tasks Manager demo](https://github.com/lingochamp/FileDownloader/blob/master/demo/src/main/java/com/liulishuo/filedownloader/demo/TasksManagerDemoActivity.java))

#### Enhancement

- Supported [Chunked transfer encoding](https://en.wikipedia.org/wiki/Chunked_transfer_encoding) data download(Recommend to glance at demo on [Single Task Test](https://github.com/lingochamp/FileDownloader/blob/master/demo/src/main/java/com/liulishuo/filedownloader/demo/SingleTaskTestActivity.java)).
- Improve Performance: Reduce IPC.
- Improve Performance: Reduce lock.
- Improve Performance: Delete invalid datum in db with the `:filedownloader` progress start.
- Improve Performance: Ignore the `callbackProgressTimes` column in db.

#### Fix

- Fix `FileDownloader#pauseAll` not effect in case of low memory and ui progress is Background Progress situation and the `:filedownloader` progress(Service Progress) alive and still have running tasks in the `filedownloader` progress but ui progress has died and relived.
- Fix not release connect resources when invoke `FileDownloader#unBinderService` manually.
- Handle case of ui progress be killed by sys and download progress not be killed, and ui progress relives and re-executes same tasks queue.

## Version 0.1.3

_2016-01-04_

- Enhancement: no longer subject to the upper bound of 1.99G, add `FileDownloadLargeFileListener`, `getLargeFileSoFarBytes()`,`getLargeFileTotalBytes()`.
- Performance optimization: some ipc transaction just need one-way call(async), not block(sync).
- Upgrade dependency okhttp from `2.7.0` to `2.7.1`.

## Version 0.1.2

_2015-12-27_

- Optimize thread digestion([map](https://github.com/lingochamp/FileDownloader/raw/master/art/filedownload_sample_description.png).
- Fix: may `pause()` invalid in large queue task.
- Fix: large queue task parallel download, may download has been completed but the callback

## Version 0.1.1

_2015-12-25_

- Optimization of internal performance, according to the time split thread pool.
- Add auto retry feature.

## Version 0.1.0

_2015-12-24_

- The `FileDownloadStatus` parameter type is changed from `int` to `byte`, which is frequently copied in IPC.
- Optimization of multi task queue filtering time.
- Optimizing serial task execution mechanism.

## Version 0.0.9

_2015-12-23_

- The start operation into independent thread processing, sharing thread pool in EventPool.

## Version 0.0.8

_2015-12-22_

- initial release

gha_language: Java


text:
# Upload an object {#task_zx1_4p4_tdb .task}

After a bucket is created, you can upload objects to it in any of the following ways:

-   Using the OSS console to upload files smaller than 5 GB.
-   Using SDKs or APIs to upload files larger than 5 GB. For more information, see[Multipart upload](../intl.en-US/Developer Guide/Upload files/Multipart upload.md#).
-   Using ossbrowser to upload files conveniently. For more information, see [ossbrowser](../intl.en-US/Utilities/ossbrowser.md#).

**Note:** If you upload files with the same names as existing files in the bucket, the existing files will be overwritten.

1.   Log on to the [OSS console](https://oss.console.aliyun.com/).
2.   Click to open the target bucket.
3.   Click Files tab.
4.   Click **Upload**.

    **Note:** You can upload a file to a specified folder or the default folder. By clicking **Create Directory** before clicking [Upload](../intl.en-US/Console User Guide/Manage objects/Create a folder.md#), you can upload a file to a specified folder.  By directly clicking **Upload**, you can upload a file to the OSS default folder.

5.   In the Directory Address box, set the path under which the file is uploaded to OSS.
    -   Current Directory: The default path for file uploading. You cannot change the path if selecting this option.
    -   Specify Directory: If you want to upload a file to a certain folder, you must enter the path name. OSS automatically creates the directory and uploads the file to the directory.

        **Note:** For the description of and operations on a folder, see [Create a folder](../intl.en-US/Console User Guide/Manage objects/Create a folder.md#).

6.   In the  File ACL region, select the read/write permissions of the file.  The read/write permissions of the bucket where the file belongs are inherited by default.
7.   In the Upload region, drag the file to be uploaded to this region, or click **upload them directly** to select the file to be uploaded.
8.   In the Phone Verification dialog box, click **Get**, enter the received code, and click **OK** to open Upload tasks dialog box, showing the upload progress. You can also see the progress of the upload by clicking **Upload Tasks** at the bottom left.

repository: denihardiansyah/oss

path: /intl.en-US/Quick Start/Upload an object.md

filename: Upload an object.md

repo_name: denihardiansyah/oss


text:
+++
title = "CoreDNS-1.7.1 Release"
description = "CoreDNS-1.7.1 Release Notes."
tags = ["Release", "1.7.1", "Notes"]
release = "1.7.1"
date = 2020-06-15T10:00:00+00:00
author = "coredns"
draft = true
+++

**UNRELEASED**

The CoreDNS team has released
[CoreDNS-1.7.1](https://github.com/coredns/coredns/releases/tag/v1.7.1).

This is a small, incremental release that adds some polish.

Note that the next (or at least soon), we will

* merge caddy v1 into the coredns org. This requires a import renaming for all plugins: ` sed -i
 's|github.com/caddyserver/caddy|github.com/coredns/caddy|'`, i.e. "github.com/caddyserver/caddy"
  needs to be renamed to "github.com/coredns/caddy".
* merge the new transfer plugin and move plugins over to that; if you don't use the *file* plugin,
  nor zonetransfer this doesn't apply to you.

## Brought to You By

## Noteworthy Changes

* core: Add timeouts for http server (https://github.com/coredns/coredns/pull/3920).
* plugin/forward: Register HealthcheckBrokenCount (https://github.com/coredns/coredns/pull/4021).
* plugin/grpc: Improve gRPC Plugin when backend is not available (https://github.com/coredns/coredns/pull/3966)
* plugins: Using promauto package to ensure all created metrics are properly registered (https://github.com/coredns/coredns/pull/4025).
* plugin/trace: Only with *debug* active enable debug mode for tracing - removes extra logging (https://github.com/coredns/coredns/pull/4016).
* project: Add DCO requirement in Contributing guidelines (https://github.com/coredns/coredns/pull/4008).

repository: ameshkov/coredns

repo_name: ameshkov/coredns


text:
# IDFPR Illinois Licensed Physicians and Surgeons in Active status by county as of Jan 2012

## Dataset

| Name | Value |
| :--- | :---- |
| Catalog | [Link](https://catalog.data.gov/dataset/idfpr-illinois-licensed-physicians-and-surgeons-in-active-status-by-county-as-of-jan-2012-28b46) |
| Metadata | [Link](https://data.illinois.gov/api/views/zvac-yiwk) |
| Data: JSON | [100 Rows](https://data.illinois.gov/api/views/zvac-yiwk/rows.json?max_rows=100) |
| Data: CSV | [100 Rows](https://data.illinois.gov/api/views/zvac-yiwk/rows.csv?max_rows=100) |
| Host | data.illinois.gov |
| Id | zvac-yiwk |
| Name | IDFPR Illinois Licensed Physicians and Surgeons in Active status by county as of Jan 2012 |
| Category | Public Health |
| Tags | health |
| Created | 2012-01-24T19:03:55Z |
| Publication Date | 2012-01-24T19:06:18Z |

## Columns

```ls
| Included | Schema Type    | Field Name      | Name            | Data Type | Render Type |
| ======== | ============== | =============== | =============== | ========= | =========== |
| Yes      | series tag     | division        | Division        | text      | text        |
| Yes      | series tag     | profession      | Profession      | text      | text        |
| Yes      | series tag     | illinois_county | Illinois County | text      | text        |
| Yes      | numeric metric | count           | Count           | number    | number      |
```

## Time Field

```ls
Value = 2012
Format & Zone = yyyy
```

## Data Commands

```ls
series e:zvac-yiwk d:2012-01-01T00:00:00.000Z t:division="Illinois Medical Board" t:illinois_county=ADAMS t:profession="036 LICENSED PHYSICIAN AND SURGEON" m:count=215

series e:zvac-yiwk d:2012-01-01T00:00:00.000Z t:division="Illinois Medical Board" t:illinois_county=ALEXANDER t:profession="036 LICENSED PHYSICIAN AND SURGEON" m:count=3

series e:zvac-yiwk d:2012-01-01T00:00:00.000Z t:division="Illinois Medical Board" t:illinois_county=BOND t:profession="036 LICENSED PHYSICIAN AND SURGEON" m:count=24
```

## Meta Commands

```ls
metric m:count p:integer l:Count t:dataTypeName=number

entity e:zvac-yiwk l:"IDFPR Illinois Licensed Physicians and Surgeons in Active status by county as of Jan 2012" t:url=https://data.illinois.gov/api/views/zvac-yiwk

property e:zvac-yiwk t:meta.view v:id=zvac-yiwk v:category="Public Health" v:averageRating=0 v:name="IDFPR Illinois Licensed Physicians and Surgeons in Active status by county as of Jan 2012"

property e:zvac-yiwk t:meta.view.owner v:id=2jwj-ihvp v:screenName=Dfee v:displayName=Dfee

property e:zvac-yiwk t:meta.view.tableauthor v:id=2jwj-ihvp v:screenName=Dfee v:displayName=Dfee
```

## Top Records

```ls
| division               | profession                         | illinois_county | count |
| ====================== | ================================== | =============== | ===== |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | ADAMS           | 215   |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | ALEXANDER       | 3     |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | BOND            | 24    |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | BOONE           | 72    |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | BROWN           | 5     |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | BUREAU          | 39    |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | CALHOUN         | 4     |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | CARROLL         | 7     |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | CASS            | 4     |
| Illinois Medical Board | 036 LICENSED PHYSICIAN AND SURGEON | CHAMPAIGN       | 579   |
```

repository: SpellarBot/open-data-catalog

repo_name: SpellarBot/open-data-catalog


text:
# Hello, Kube

## A test using Oracle Kubernetes Engine (OKE)

This project will use Oracle Cloud Infrastructure to create a fully functional Kubernetes deployment using:

* 1 Kubernetes Cluster
* 3 Compute Instances
* 1 Load Balancer

All of these resources are included in the [Oracle 30 Day Trial](https://www.oracle.com/cloud/free/).

### Pre-requisites

1. Allow OKE to manage resources in your tenancy
   * In OCI Console go to Identity > Policies
   * Click 'Create Policy'
   * Enter a name for the policy and in 'Policy Statements' enter `Allow service OKE to manage all-resources in tenancy`
   * Click 'Create'
2. Install Oracle Cloud Infrastructure Command Line Interface (oci_cli)
   * [Follow directions for your system to install and configure oci_cli here](https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/cliinstall.htm)
   * Test your cli by entering `oci iam compartment list` which will return json with details about the compartments in your tenancy
3. Install kubectl
   * [Follow directions for your system to install and configure kubectl here](https://kubernetes.io/docs/tasks/tools/install-kubectl/)

### Create a test Kubernetes cluster using OKE

1. Log into your Oracle Cloud tenancy [here](https://www.oracle.com/cloud/sign-in.html)
2. In the menu, select 'Developer Services' > 'Container Clusters (OKE)'
3. Click 'Create Cluster'
4.  Click 'Create'
6. Once the cluster is done being created, click 'Access kubectl' which will display commands to copy and paste into your terminal to create the kubectl configurations
7. Download the file `hello_kube.yml` and navigate to it's location in your terminal
8. Enter `kubectl apply -f hello_kube.yml` to set the namespace, deployment, and load balancer service
9. After a moment enter `kubectl -n hello-kube-ns get services` and look for the public IP of your load balancer
10. With a web browser, navigate to the IP of your load balancer to view the Container ID of the pod you are accessing
11. Navigate to the same address again to see the Container ID change as you access different redundant pods for this application
    * If you do not see the container IDs changing, your browser may have chached the page. Try opening the page again in your browser's 'incognito mode'
    * Alternatively, try opening the page from multiple devices (e.g. your laptop and cell phone)
12. When done enter `kubectl -n hello-kube-ns delete all` into terminal to remove the deployment and terminate the load balancer

### Conclusion

Running Kubernetes is a challenging but rewarding task. Using Oracle Kubernetes Engine takes much of the pain out of managing and maintaining your cluster. Combine OKE with other solutions such as Autonomous Database to develop in a highly managable, scalable, and enterprise grade environment. Happy innovating.


text:
# api-streetcred-agency

Angular module to connect to the Streetcred.Id Agency API.

## Installation

```sh
npm install api-streetcred-agency --save
```

## General usage

In your Angular project:

First extend your `src/environments/*.ts` files by adding the corresponding base path:

```typescript
export const environment = {
  production: false,
  streetcredAgencyApiPath: 'https://api.streetcred.id/agency/v1',
  streetcredApiKey: 'Bearer <your auth key>',
  streetcredSubsKey: '<your subscription token>'
};
```

Note: The ApiModule is restricted to being instantiated once app wide.
This is to ensure that all services are treated as singletons.

In order to use multiple `ApiModules` you need to create an alias name when importing
the modules in order to avoid naming conflicts:

In the src/app/app.module.ts:

```typescript
import {
  ApiModule as StreetcredAgencyApiModule,
  BASE_PATH as SC_AGENCY_PATH,
  SC_API_KEY as SC_AGENCY_API_KEY,
  SC_SUBS_KEY as SC_AGENCY_SUBS_KEY
  } from 'api-streetcred-agency';

import { environment } from '../environments/environment';

@NgModule({
  declarations: [
    AppComponent
  ],
    imports: [
        StreetcredAgencyApiModule,
        // make sure to import the HttpClientModule in the AppModule only,
        // see https://github.com/angular/angular/issues/20575
        HttpClientModule
    ],
    { provide: SC_AGENCY_PATH, useValue: environment.streetcredAgencyApiPath },
    { provide: SC_AGENCY_API_KEY, useValue: environment.streetcredApiKey },
    { provide: SC_AGENCY_SUBS_KEY, useValue: environment.streetcredSubsKey }
  bootstrap: [ AppComponent ]
})
export class AppModule { }
```

In your components.

```typescript
import { DefaultApi as StreetcredAgencyDefaultApi } from 'api-streetcred-agency';

export class AppComponent {
  constructor(private apiGateway: StreetcredAgencyDefaultApi) { }
}
```

repository: DibbsZA/api-streetcred-agency

repo_name: DibbsZA/api-streetcred-agency


text:
# RedStone Node

RedStone Node is a core module in the [RedStone ecosystem](docs/COMPILED_ORACLE_DOCS.md), which is responsible for fetching data from different sources and broadcasting it to the Arweave blockchain and the RedStone cache layer.

You can check the compiled oracle documentation [here.](docs/COMPILED_ORACLE_DOCS.md)

## 📖 Main concepts
| Concept | Description |
|---|---|
| Provider | An entity that fetches the data from external APIs, transforms it to a standard format, and persists collected information in the Redstone data ecosystem. Each provider has a running instance of redstone-node |
| Fetcher (source) | A module responsible for fetching the data from an external API. Examples: [coinbase fetcher](/src/fetchers/coinbase), [ecb fetcher](/src/fetchers/ecb/EcbFetcher.ts) |
| Manifest | Public JSON file that defines the provider's obligation regarding the data that they provide. It sets fetching interval, tokens, sources and other public technical details |
| Config | **Private** configuration file created by provider |
| Signer | A module responsible for data signing. Examples: EvmPriceSigner, ArweavePriceSigner |
| Aggregator | A module responsible for aggregating the data fetched from different sources. [Median aggregator](src/aggregators/median-aggregator.ts) is used by default  |
| Broadcaster | A module responsible for broadcasting the signed data. Currently it sends the signed data to the RedStone cache layer. This data may be fetched then through the [RedStone API](http://api.docs.redstone.finance/) |
| Arweave | Arweave is a new type of blockchain that allows to store data on Blockchain with much lower costs. It is used by RedStone protocol for storing data |

## 📜 Instructions
- [Running a node](docs/RUN_REDSTONE_NODE.md)
- [Prepare config file](docs/PREPARE_CONFIG.md)
- [Prepare manifest](docs/PREPARE_MANIFEST.md)
- [Add new source](docs/ADD_NEW_SOURCE.md)
- [Add new token](docs/ADD_NEW_TOKEN.md)
- [Publish to NPM](docs/PUBLISH_TO_NPM.md)
- [Deploy manifest on Arweave](docs/DEPLOY_MANIFEST_ON_ARWEAVE.md)
- [Configure node monitoring](docs/MONITORING_TOOLS.md)

## ⚙ How it works

### Top level view
In a cycle, we perform 3 major activities:
- **Data fetching** - gathering information from external sources
- **Data processing** - aggregating data and attesting with signature
- **Data broadcasting** - publishing data to users and persisting it on-chain

### Process view
This component fetches pricing data and makes it available to end users. The process consists of the following steps:
- **Data fetching** - getting data from public or private api and transforming it the standard format
- **Data aggregation** - combining data from multiple sources to produce a single feed using median or volume weighted average
- **Data attestation** - signing data with the provider's cryptographic key
- **Data broadcasting** - publishing the data on publically available message board (like public firebase store)
- **Data persistence** - securing packaged data on the Arweave blockchain

![redstone-node](docs/img/redstone-node.png)

## 🛠 Implementation
Each group of subcomponent implements a generic interface and is inter-changable with other implementations:
- **Fetchers:** connect to external api, fetch the data and transform it to the standard form Examples: coingecko-fetcher, uniswap-fetcher
- **Aggregators:** take values from multiple sources and aggregate them in a single value Examples: median-aggregator, volume-weighted-aggregator
- **Signers:** sign the data with the provided private keys Examples: ArweaveSigner, EthSigner
- **Broadcasters**: publish the data and signature Examples: FirebaseBroadcaster, SwarmBroadcaster
- **Runner:** execute the entire process in a loop

## Data format

### JSON ticker
The price (ticker) is represented as a single JSON object
```js
{
  "id": "6a206f2d-7514-41df-af83-2acfd16f0916",
  "source": {"coingecko": 22.05, "uniswap": 22.03, "binance": 22.07},
  "symbol": "LINK",
  "timestamp":<PHONE_NUMBER>162,
  "version": "0.4",
  "value": 22.05,
  "permawebTx":"g3NL...", // id of Arweave tx that includes this ticker
  "provider": "I-1xz...", // Address of the provider's arweave wallet
  "signature": "0x...",
  "evmSignature": "0x..."
}
```

### Arweave transaction
Price tickers are aggregated per provider and timestamp and persisted on the Arweave chain. The provider is the tx sender.

#### Transaction tags
```js
{
  "app": "Redstone",
  "type": "data",
  "version": "0.4",
  "Content-Type": "application/json",
  "Content-Encoding": "gzip",
  "timestamp":<PHONE_NUMBER>172,
  "AR": 45.083730599999996
}
```

#### Transaction data
We encrypt transaction data using [gzip algorithm](https://www.gzip.org/) to minimize transactions cost. We don't store signature for each price on the Arweave blockchain, because each transaction is already signed using default Arweave transaction signer.
```js
[
  {
    "id":"a890a16a-ef4a-4e45-91fa-0e4e70f28527",
    "source":{
      "ascendex":41415.797549999996,
      "bequant":41437.738515,
      ...
    },
    "symbol":"BTC",
    "timestamp":1632486055268,
    "version":"0.4",
    "value":41416.892911897245
  },
  {
    "id":"81f8c1cc-5472-4298-9d9d-ea48b226c642",
    "source":{
      "ascendex":2820.8997449999997,
      "bequant":2823.8562225,
      ...
    },
    "symbol":"ETH",
    "timestamp":1632486055268,
    "version":"0.4",
    "value":2821.3399649999997
  },
  ...
]
```

## Next steps
* **Flexible data format** - supporting multiple types and formats of data instead of simple price values
* **Virtual nodes** - ability to quickly run data provider service without the need to configure the node infrastructure
* **Improved aggregation logic** - implementing multiple types of aggregation (e.g. time-weighted avg) based on users needs and empirical findings
* **Full implementation of dispute resolution** - implementing and testing the disputes resolution protocol
* **Code audits** - auditing the core parts of the codes, especially the smart contracts responsible for data transfers to EVM

## Flowcharts
### Node runner flow
![node running detailed](docs/img/node-running-detailed.png)

### Median aggregator flow
![median-aggregator](docs/img/median-aggregator.png)

## 👨💻 Development and contributions
We encourage anyone to build and test the code and we welcome any issues with suggestions and pull requests.

### Installing the dependencies
```bash
yarn install
```

### Running the tests
```bash
yarn test
```

### Building typescript to javascript
```bash
yarn build
```

## 🙋♂ Need help?
Please feel free to contact us [on Discord](https://redstone.finance/discord) if you face any problems.

## 📜 License
This software is licensed under the MIT © Redstone

repository: stevendyshi/redstone-node

repo_name: stevendyshi/redstone-node


text:
## Model Performance & Optimization
These tools help us understand the testing output from an ML model. They are a cornerstone for making further calculations

#### Confusion Matrix
A confusion matrix is a table that is often used to describe the performance of a classification model (or “classifier”) on a set of test data for which the true values are known. It allows the visualization of the performance of an algorithm

```
                                                   **Known Truth**

                                         Likes Dogs             Likes Cats(Does Not like dogs)

Model Predcition       Likes Dogs       TRUE POSITIVE                 FALSE POSITIVES
                                        (prediction is             (They actually like cats
                                         correct)                  but actually dont like dogs)

                       Likes Cats       FALSE NEGATIVE               TRUE Negatives
                       (Does not        (They actually like           (They dont like cats
                        like cats)       dogs but predicted           and also predicted
                                         they dont like dogs)         they dont like cats)
```

### Sensitivity & Specificity
Way to calculate how effective the model is by applying the confusion matrix values in the below formula

Sensitivity is a number of correct positive out of the actual positives results. It is also called as
  - True Positive Rate
  - Recall

  Sensitivity = True Positives / (True Positives + False Negatives)

Specificity is a number of correct negative out of the actual negative results. It is also called as
  - True Negative Rate

  Sensitivity = True Negatives / (True Negatives + False Positives)

#### Examples

Sensitivity - When bank wants to find all fraudalant transactions, in that process even if some false positive (legimitate transactions are flagged as fraud) cases are also picked up, that is fine.

Speciticity - When parent wants to pick only those videos for kid that are age appropriate not the other ones, in that process even if some of the valid videos are left out, that is fine.

### Accuracy & Precision

Accuracy - The proportion of all the predictions which were correctly identified
  - How right was the model

    accuracy = (True Postives + True Negatives) / Total

Precision - The proportion of actual positives which were correctly identified
  - How right was the model in identifying the postive results

   precision = (True Postives) / (True Postives + False Positives)

### ROC/AUC

In a previous lesson we looked at the sensitivity and specificity of a machine learning model. But how far should we take this? When does a model become so sensitive that it's usless? ROC helps us determine the answer to this question, and AUC will help us see which model seperates our classes the best

In Machine Learning, performance measurement is an essential task. So when it comes to a classification problem, we can count on an AUC - ROC Curve. When we need to check or visualize the performance of the multi - class classification problem, we use AUC (Area Under The Curve) ROC (Receiver Operating Characteristics) curve. It is one of the most important evaluation metrics for checking any classification model’s performance. It is also written as AUROC (Area Under the Receiver Operating Characteristics)

![](https://github.com/anuragal/aws/blob/master/ML/ROC_AUC.png)

### Gini Impurity

How does a decision tree decide? Gini impurity is one of the calculations used to determine where to place nodes inside the tree

The Gini impurity measure is one of the methods used in decision tree algorithms to decide the optimal split from a root node, and subsequent splits. To put it into context, a decision tree is trying to create sequential questions such that it partitions the data into smaller groups. Once the partition is complete a predictive decision is made at this terminal node (based on a frequency).

Suppose we have a list of observations, that indicates if a person decided to stay home from work. We also have two features, namely if they are sick and their temperature.

We need to choose which feature, emotion or temperature, to split the data on. A Gini Impurity measure will help us make this decision.

Def: Gini Impurity tells us what is the probability of misclassifying an observation.

Note that the lower the Gini the better the split. In other words the lower the likelihood of misclassification.

### F1 Score
Machine learning accuracy is sometimes not the best way to judge the effectivness of our model. F1 Score takes more into account and can be a better measure for models if we have an uneven class distribution

F1 Score = 2*( (precision*recall) / (precision+recall) ).

It is also called the F Score or the F Measure. Put another way, the F1 score conveys the balance between the precision and the recall.

repository: anuragal/aws

repo_name: anuragal/aws


text:
#### What’s your name?
_This will be published in the schedule, so use a name that you’re comfortable with, or a nickname._

Mila Votradovec

#### Your email address:
_We’ll keep it secret, for internal use only._

<EMAIL_ADDRESS>
#### Why are you the right person to talk about the topic you chose?
_Tell your audience in first person about anything relevant about you, whether it’s your background, education, experience, current or former employer, hobbies or opensource software you maintain.
Try keeping it between between 50 and 90 words.
You can of course include anything fun or quirky about yourself._

I am a developer with a passion for problem-solving, puzzles and guitar.  I have been working for corporates, small companies and startups. I still remember being completely fresh in the field. I was grateful for any guidance or advice, so I am trying to pay back by mentoring others. I currently live in London and work for https://snyk.io, company which provides Security as a Service.

#### Got a video?
_If you already have a recording of you giving a talk, you can paste the link here._

PyCon ligthning talk

#### Twitter handle:
_Optional. Write it without the @._

milavot

#### GitHub username:
_Optional. Write it without the @._

miiila

#### Your photo (not an illustration nor avatar):
_It will be published on the website.
Ideal photo is: a head shot, shows only you, has no “filters” applied and is as large and uncompressed as possible.
We might crop it and change contrast, brightness etc. to fit PyCon CZ visual style._

TBD

#### What is the title of your talk?
_This will be published everywhere! Make up some catchy title which will attract the audience._

Security of your application is just a few clicks away

#### Tell the audience about your talk in 1–3 paragraphs (90–200 words):
_Introduce the problem your talk will bring a solution to. Then explain why it’s a problem worth solving and use the last paragraph to tell your audience what is your approach to solving it._

Every time you type `pip install -r requirements.txt`, you are putting your web application and user data at risk. Modern web applications are using dozens of 3rd party components, that are totally out of your control. You've already learned you should test your code, but I'll do my best to convince you that you should test external code for the security vulnerabilities too.

In January, two biggest vulnerabilities, Meltdown and Spectre, were publicly disclosed (you might remember whole internet restarting few days after). Those are the most known ones, but smaller vulnerabilities are published nearly every day. And all of them can be exploited and used to abuse your application. Attacker might try take your application out, steal your users data or take advantage of your compute power.

Since vulnerabilities are disclosed, they can be also mitigated. There are multiple vendors dealing with security testing and I'll focus on the solutions for pypi package scans. During the talk, I'll show you how a vulnerability can be exploited, where and how it is reported (you'll learn what the CVE is) and how you can secure your application using `GitHub's security alerts for vulnerable dependencies` and `Snyk.io` on various levels (repository integration, CI server, CLI integration).

#### Language:
_English is preferred, but if you feel uncomfortable with it, you can give your talk in Czech or Slovak_

English

#### Difficulty:

Beginner

#### I need financial aid to make this talk possible:
_Covering travel or accommodation costs etc. Please specify this here and now, otherwise we might not be able to grant you the aid.
Details about required financial aid:
Please state explicitly:
1) why you need it,
2) what for and
3) how much in EUR or CZK.
If you require aid for more items (accommodation, travel costs etc.) please state the amount for each item._

Since I'll come from London to do a talk, it would be nice to have flight tickets covered. I am absolutely fine with low cost airlines, so my expectation would be around 1500CZK (I can provide the exact amount once I'd know the cfp result). I do not need anything else (accommodation, transport) and if the budget would be tight, I can handle it on my own.

#### Anything else you want to tell us?

Always look on the bright side of life!

repository: miiila/speaking

repo_name: miiila/speaking


text:
# Protecc Backend #

A Node.js + Express RESTful and Socket.io API, served as a Docker image in a Kubernetes cluster.

## Documentation ##

You can find API documentation for this API [here](https://docs.protecc.us.com) :)

## Libraries Used ##

- bcrypt: password security
- body-parser: parsing http request bodies
- compression: gzip compression for optimizing application size
- express: minimalist web framework for Node.js
- express-session: handling authentication tokens and user sessions
- mongoose: interface for mongodb database
- passport: helper library for OAuth
- request: i honestly dont know why we have this
- socket.io: interface for websocket connections

## Pipeline Steps ##

1. Changes are pushed to Bitbucket repository
2. Bitbucket webhook triggers a Jenkins CI build on build server
3. Build server pulls the changes recompiles the app into a Docker image
4. Build server pushes Docker image to private Docker registry server
5. Build server triggers a rolling update in the Kubernetes master

Copyright © 2018 Terrance Li, Andrew Liu, Nathan Yan

repository: team-llambda/protecc-backend

repo_name: team-llambda/protecc-backend


text:
---
layout: external
title: Probabilistic graphical models on multi-core CPUs using Java 8
role: IEEE Computational Intelligence Magazine, 2016
category: papers
external_url:
tags: [sade, rnb, smooth]
image:
  thumb: pgmmulticorelogo.png
published: true
---

**Authors:** Andres R. Masegosa, with Martinez, A. M., & Borchani, H.

 PDF  Github  arXiv


text:
##  React/Webpack Profile for Grails 3

![Profile structure](img/webpack-profile.png)
note:
    Notice that the React code really is it's own app - assuming that all the communication is via REST calls (i.e., you're not using server-side rendering with Nashorn), you can actually quite easily move the React app out of the Grails project by simply moving the source to it's own project, and configuring webpack to render the bundle to the browser instead of Grails AP.