text:
---
---

# Dataset Card for "xsum"

## Table of Contents
- [Dataset Description](#dataset-description)
  - [Dataset Summary](#dataset-summary)
  - [Supported Tasks](#supported-tasks)
  - [Languages](#languages)
- [Dataset Structure](#dataset-structure)
  - [Data Instances](#data-instances)
  - [Data Fields](#data-fields)
  - [Data Splits Sample Size](#data-splits-sample-size)
- [Dataset Creation](#dataset-creation)
  - [Curation Rationale](#curation-rationale)
  - [Source Data](#source-data)
  - [Annotations](#annotations)
  - [Personal and Sensitive Information](#personal-and-sensitive-information)
- [Considerations for Using the Data](#considerations-for-using-the-data)
  - [Social Impact of Dataset](#social-impact-of-dataset)
  - [Discussion of Biases](#discussion-of-biases)
  - [Other Known Limitations](#other-known-limitations)
- [Additional Information](#additional-information)
  - [Dataset Curators](#dataset-curators)
  - [Licensing Information](#licensing-information)
  - [Citation Information](#citation-information)
  - [Contributions](#contributions)

## Dataset Description

- **Homepage:** [https://github.com/EdinburghNLP/XSum/tree/master/XSum-Dataset](https://github.com/EdinburghNLP/XSum/tree/master/XSum-Dataset)
- **Repository:** [More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)
- **Paper:** [More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)
- **Point of Contact:** [More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)
- **Size of downloaded dataset files:** 245.38 MB
- **Size of the generated dataset:** 507.60 MB
- **Total amount of disk used:** 752.98 MB

### Dataset Summary

Extreme Summarization (XSum) Dataset.

There are three features:
  - document: Input news article.
  - summary: One sentence summary of the article.
  - id: BBC ID of the article.

### Supported Tasks

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

### Languages

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

## Dataset Structure

We show detailed information for up to 5 configurations of the dataset.

### Data Instances

#### default

- **Size of downloaded dataset files:** 245.38 MB
- **Size of the generated dataset:** 507.60 MB
- **Total amount of disk used:** 752.98 MB

An example of 'validation' looks as follows.
```
{
    "document": "some-body",
    "id": "29750031",
    "summary": "some-sentence"
}
```

### Data Fields

The data fields are the same among all splits.

#### default
- `document`: a `string` feature.
- `summary`: a `string` feature.
- `id`: a `string` feature.

### Data Splits Sample Size

| name  |train |validation|test |
|-------|-----:|---------:|----:|
|default|204045|     11332|11334|

## Dataset Creation

### Curation Rationale

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

### Source Data

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

### Annotations

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

### Personal and Sensitive Information

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

## Considerations for Using the Data

### Social Impact of Dataset

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

### Discussion of Biases

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

### Other Known Limitations

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

## Additional Information

### Dataset Curators

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

### Licensing Information

[More Information Needed](https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)

### Citation Information

```

@article{Narayan2018DontGM,
  title={Don't Give Me the Details, Just the Summary! Topic-Aware Convolutional Neural Networks for Extreme Summarization},
  author={Shashi Narayan and Shay B. Cohen and Mirella Lapata},
  journal={ArXiv},
  year={2018},
  volume={abs/1808.08745}
}

```

### Contributions

Thanks to [@thomwolf](https://github.com/thomwolf), [@lewtun](https://github.com/lewtun), [@mariamabarham](https://github.com/mariamabarham), [@jbragg](https://github.com/jbragg), [@lhoestq](https://github.com/lhoestq), [@patrickvonplaten](https://github.com/patrickvonplaten) for adding this dataset.

repository: meehawk/datasets

repo_name: meehawk/datasets


text:
Overview
========

Sometimes it's a pain to get the kernel modules loaded for SPIDev on Raspberry Pi.

Sometimes you just need a quick way to access SPI devices.

This is a library for accessing SPI devices quickly, but with little regard to playing
nice with other processes/peripherals.  The access to the SPI peripheral
is mmap()'d, without any provosion for mutual exclusion of the peripheral.

Initializiation will update GPIO registers for MUXing the pins to SPI functions.
So don't use this with anything that uses the Linux GPIO drivers on the same
pins as the SPI pins.

Interrupts are not implemented.

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
# Cushon Symfony Health Bundle
[![Minimum PHP version: 8.1.0](https://img.shields.io/badge/php-8.1.0%2B-blue.svg?style=flat-square)](https://packagist.org/packages/Smarterly/symfony-health-bundle)
[![Version](http://poser.pugx.org/cushon/health-bundle/version?style=flat-square)](https://packagist.org/packages/cushon/health-bundle)
[![License](http://poser.pugx.org/cushon/health-bundle/license?style=flat-square)](https://packagist.org/packages/cushon/health-bundle)
[![Continuous Integration](https://github.com/Smarterly/symfony-health-bundle/workflows/Continuous%20Integration/badge.svg)](https://github.com/Smarterly/symfony-health-bundle/actions)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/Smarterly/symfony-health-bundle/badges/quality-score.png?b=main)](https://scrutinizer-ci.com/g/Smarterly/symfony-health-bundle/?branch=main)
[![codecov](https://codecov.io/gh/Smarterly/symfony-health-bundle/branch/main/graph/badge.svg?style=flat-square)](https://codecov.io/gh/Smarterly/symfony-health-bundle)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=Smarterly_symfony-health-bundle&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=Smarterly_symfony-health-bundle)
***

## Overview
This bundle provides a mini-framework for a [Symfony][symfony] application to be queried on it's current "health". The specifics of what "healthy" and "unhealthy" are depend on the application and must be defined. However, the boilerplate of creating Symfony Controllers and Console Commands to make a query (and provide a health report) are taken care of.

## Installation

The only supported method of installing the bundle is via [`composer`][composer]:

```bash
composer require cushon/health-bundle
```

### Recommended Packages and Extensions

Several libraries and packages are included in the `suggest` section of the `composer.jspn`. The bundle utilises the `Set` class of [PHP Data Structures][data-structures]. However, the [DS polyfill][php-ds-polyfill] is used to ensure that the bundle can run on a stack without the extension.

## Configuration

### API Error Response Code

When a service is deemed to be unhealthy, the API endpoint will return a 500 status code by default.
This is configurable by adding the following to your Symfony config YAML file:

```yaml
    cushon_health:
        error_response_code: !php/const Symfony\Component\HttpFoundation\Response::HTTP_SERVICE_UNAVAILABLE
```

Note that the above snippet illustrates an error response code of 503. You can specify any status code here, including a 200 if you wish.

## The Console Command

### Usage
```bash
bin/console cushon:health
```

An example of the output:

![](docs/assets/img/screenshots/console-output-application-healthy.png)

## The JSON Api Endpoint:

The default endpoint is available at `/health`.

## Getting Started

Please see the section on creating a [Dependency Check][dependency-check].

## Structure

### Directories used in production builds

[`/src`][src-dir]: Contains the bundle code. With minor deviations, this follows the standard design for the [Symfony Bundle System][symfony-bundle-system].

[`/docs`][docs-dir]: Collation of documentation and metrics for the project.

### Directories & Files Not Included In Releases

The following files and directories are not included in the release to reduce archive complexity. Should you want to see the entire project, you should either clone the project locally or choose not to prefer the distribution in your `composer` file.

[`/app`][app-dir] - Contains a Symfony 6 app for running integration and behavioural tests, and to provide examples

[`/docker`][docker-dir] - Contains Dockerfiles and nginx configuration to run the API example and used for testing against PHP versions. The [docker-compose.yml][docker-compose.yml] in the root of the project is similarly removed.

[`/features`][features-dir] - Contains [Gherkin][gherkin] simplified scenarions to drive behavioural testing and provide [specification by example][specification-by-example].

[`/tests`][tests-dir] - The tests are excluded when using a release.

Additionally, files to run testing and quality tooling (e.g. `infection.json`, `phpunit.xml.dist`) are also omitted.

## Testing & Quality
The bundle is tested with both unit testing and behavioural testing with [phpUnit][phpunit] and [behat][behat] respectively.

[![GitHub issues](https://img.shields.io/github/issues/Smarterly/symfony-health-bundle.svg)](https://github.com/Smarterly/symfony-health-bundle/issues)
[![Coverage Status](https://coveralls.io/repos/github/Smarterly/symfony-health-bundle/badge.svg?branch=main)](https://coveralls.io/github/Smarterly/symfony-health-bundle?branch=main)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=Smarterly_symfony-health-bundle&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=Smarterly_symfony-health-bundle)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=Smarterly_symfony-health-bundle&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=Smarterly_symfony-health-bundle)
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=Smarterly_symfony-health-bundle&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=Smarterly_symfony-health-bundle)
[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/)

[composer]: https://getcomposer.org/
[symfony]: https://symfony.com/
[phpUnit]: https://phpunit.readthedocs.io/
[behat]: https://docs.behat.org/
[gherkin]: https://cucumber.io/docs/gherkin/
[specification-by-example]: https://www.tutorialspoint.com/behavior_driven_development/bdd_specifications_by_example.htm
[data-structures]: https://www.php.net/manual/en/book.ds.php
[app-dir]: ./app
[docker-dir]: ./docker
[docs-dir]: ./docs
[features-dir]: ./features
[src-dir]: ./src
[tests-dir]: ./tests
[docker-compose.yml]: ./docker-compose.yml
[php-ds-polyfill]: https://packagist.org/packages/php-ds/php-ds
[symfony-bundle-system]: https://symfony.com/doc/current/bundles.html
[dependency-check]: ./docs/DEPENDENCY-CHECKS.md

repository: Smarterly/symfony-health-bundle

branch_name: refs/heads/main

gha_language: PHP

gha_license_id: MIT

repo_name: Smarterly/symfony-health-bundle


text:
NasExt/FilterFormControl
===========================

Data filter control for Nette Framework.

Requirements
------------

NasExt/FilterFormControl requires PHP 5.3.2 or higher.

- [Nette Framework](https://github.com/nette/nette)

Installation
------------

The best way to install NasExt/FilterFormControl is using  [Composer](http://getcomposer.org/):

```sh
$ composer require nasext/filter-form-control
```

-----

Repository [http://github.com/nasext/filterformcontrol](http://github.com/nasext/filterformcontrol).

repository: NasExt/FilterFormControl

repo_name: NasExt/FilterFormControl


text:
# tensor-flow-presentation
Quick Intro to TensorFlow and Machine Learning

# View Slideshow
Open "slideshow/index.html" in a browser

# Start Up Tensor Board
tensorboard --logdir=logs

# Start Up NodeJS Web App
cd tensorFlowDemo/server/
node app

# Run Machine Learning
cd tensorFlowDemo/
python hidden_layers_one.py
- or -
python hidden_layers_two.py

repository: gitsome/tensor-flow-presentation

repo_name: gitsome/tensor-flow-presentation


text:
# Conway's game of life

The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine.

## License
[MIT](https://choosealicense.com/licenses/mit/)

repository: quitegreensky/ConwayGame

repo_name: quitegreensky/ConwayGame


text:
# Blacksmith
A program for viewing, extracting, and converting textures and 3D models from Assassin's Creed: Odyssey, Assassin's Creed: Origins, and Steep. It is in early stages, and this repo will be updated constantly with additional support.

`Note: Blacksmith is NOT a repacker.`

----

***For now, only (texture extraction and viewing) from Assassin's Creed: Odyssey and Origins are supported.***

----

### Remember ARchive_neXt?
Blacksmith tries to serve as a successor to ARchive_neXt, since development has seemingly ceased, and it does not support the two latest Assassin's Creed games or Steep. I designed the functionality of Blacksmith to be identical to that of ARchive_neXt.

![Early Blacksmith](https://i.imgur.com/gKAsTIz.jpg)

## Supported Games
PC versions only of:
- Assassin's Creed: Odyssey
- Assassin's Creed: Origins
- Steep (eventually)
  - (I figured out the compression!)

## Functionality
- Once this project picks up, the goals are viewing and extraction of:
  - .forge files
  - 3D models (conversion to: .obj, .dae)
  - textures (conversion to: .dds, .png)
- Also:
  - creation of filelists from .forge files
  - extract all from .forge files

## Usage (first time)
1. Download the latest version from below.
2. Upon opening Blacksmith, click `Settings` and set the game paths and temporary path.
3. All done

## Downloads
[Found here.](https://github.com/theawesomecoder61/Blacksmith/releases)

## Changelog
[View the changelog here.](https://github.com/theawesomecoder61/Blacksmith/blob/master/Changelog.md)

## Research
Are you curious about the file structures of these games and my discoveries? Check out the [Research folder](https://github.com/theawesomecoder61/Blacksmith/tree/master/Research).

## Building
You will need:
- Visual Studio 2017
- .NET Framework 4.6
- SlimDX
- OpenTK

## Forum Thread/Discussion
[Blacksmith on Xentax](http://forum.xentax.com/viewtopic.php?f=10&t=19324&p=147450)

## License
Blacksmith is licensed under the MIT License.

## Third-Party Software
Coming eventually


text:
# graphql-dom

[![Build Status](https://travis-ci.org/dgf/graphql-dom.svg?branch=master)](https://travis-ci.org/dgf/graphql-dom)

A GraphQL based HTML binding for arbitrary DOM selections.

## Usage

Download and start the self containing Java archive [dom-0.0.1.jar](https://github.com/dgf/graphql-dom/releases/download/v0.0.1/dom-0.0.1.jar)

Start it as a normal Java application

```shell
$ java -jar ~/Downloads/dom-0.0.1.jar
```

Open [http://localhost:8080/graphiql](http://localhost:8080/graphiql)
to access the interactive [GraphiQL](https://github.com/graphql/graphiql) explorer.

repository: dgf/graphql-dom

repo_name: dgf/graphql-dom


text:
---
layout: post
title: BlitzKrieg SQL Server diagnosis
---

![BlitzKrieg](https://s-media-cache-ak0.pinimg.com/736x/25/fc/94/25fc94b2bd5c96e67912534644f3856e.jpg)

[courtesy](https://www.pinterest.com/pin/253749760225683004/)

Found a few cool tools for disgnosing the SQL Server issues. Here is the share for you:

# Using sp_BlitzCache to Find Your Worst-Performing Queries

sp_BlitzCache is [a free tool](https://www.brentozar.com/blitzcache/) that help analyze which queries are consuming most resources like CPU, disk, time etc.

To learn about this tool, use the help parameter sp_BlitzCache @help=1
When ran without parameters, it returns top 10 most CPU expensive queries: sp_BlitzCache

It results in all the diagnosis information like which database and stored procedures are taking the most time. It has a column named Query Plan which links to the actual execution plan. This execution can be shared through [pastetheplan.com](https://www.brentozar.com/pastetheplan/)

To narrow down the results to a single database use the parameter sp_BlitzCache @DatabaseName='DBName'

To sort the results by number of reads, pass the SortOrder parameter sp_BlitzCache @SortOrder='reads'. Other options include CPU, duration, executions, XPM, memory grant, or recent compilations.

To limit the number of results use the @Top parameter. Remember that the more queries you analyze, the slower it goes sp_BlitzCache @DatabaseName='DBName', @Top=50

To do an expert level analysis and see more info, use @ExpertMode parameter sp_BlitzCache @ExpertMode = 1

For an export to excel friendly result, use @ExportToExcel parameter sp_BlitzCache @ExportToExcel = 1

To write the results to a separate database, use the new db entity parameters sp_BlitzCache @OutputDatabaseName = 'NewDB', @OutputSchemaName = 'dbo',  @OutputTableName = 'OutputTable'

# sp_Blitz – Free SQL Server Health Check Script

sp_Blitz is an easy to use [free simple health check tool](https://www.brentozar.com/blitz/) for SQL Server. Shows stuff like non-backuped databases etc.

To learn about this tool, use the help parameter sp_Blitz @help=1

When executed without parameters, gives the list of suspicous things. Notice that issues upto priority **50** are urgent issues. So to see only the urgent issues use the priorities parmeter sp_Blitz @IgnorePrioritiesAbove = 50

Writing the results is also possible like this sp_Blitz @OutputDatabaseName = 'DBName', @OutputSchemaName = 'dbo' , @OutputTableName = 'SomeTable'

# sp_BlitzFirst Helps Troubleshoot Slow SQL Servers

 sp_BlitzFirst  when executed on it's own gives all the stuff which are causing the server to run slow like ongoing backup execution, high CPU utilization.

To see the detiled wait stats use the expert mode  sp_BlitzFirst @ExpertMode = 1  and gives 3 resultsets:

 - Result set 1 : queries currently executing
 - Result set 2 : the troubleshooting info like that of without any params
 - Result set 3 : WAIT STATS (read below for the description of the same)
 - Result set 4 : FILE STATS (read and write speeds for each database file – both data and log file)
 - Result set 5 : Perfmon counters (statistics from the [performance monitor](http://xameeramir.github.io/Setting-Up-Perfmon-for-SQL-Server-Tuning/))
 - Last result set : gives the currently executing queries

To see the results since SQL Server started, use since startup param  sp_BlitzFirst @SinceStartup = 1

The results can be stored in an output database as well.

# sp_BlitzIndex – SQL Server’s Index Sanity Test

To run the index tests on all of the databases on the server use the parameter  @GetAllDatabases = 1  like so  sp_BlitzIndex @GetAllDatabases = 1

If you’ve got more than 50 databases on the server, this only works if you also pass in @BringThePain = 1, because it’s gonna be slow.

To get the database specific details set mode to 4 as  sp_BlitzIndex @Mode = 4

# WAIT STATS

Whenever SQL Server is running queries, it’s tracking how much time it spends waiting on bottlenecks. These wait statistics are the easiest way to identify your bottleneck and in general called **wait stats** or **waits and queues**.

These statistics are tracked automatically in every version/edition of SQL Server, and they’re easy to query.

[Source](https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit)


text:
# Hugo Asset Management

## Introduction

This utility helps manage the static assets under the `static/` subdirectory
of your [Hugo][1] installation:
* Find broken links (missing assets)
* Find assets that are not linked to anywhere in the content so you can reclaim the disk space

It searches for `<a href="...">`, `<img src="..." srcset="...">` and
`<script src="...">`

## Building from source

You need [Go](https://golang.org) as a prerequisite (but then you need it for
Hugo as well).

Git clone or extract the source code from a tarball, then run `make`

## Usage

Just run it under your hugo directory, just as you would `hugo` itself. The
parameter `-prefix` tells it what the URL prefix is for the site URLs. It
assumes static assets are under `static/` and output files under `public/`

 [1]: https://gohugo.io/

repository: fazalmajid/hugoasset

repo_name: fazalmajid/hugoasset


text:
Redking Doctrine Parse Bundle
=============================

[![Build Status](https://travis-ci.org/zeliard91/DoctrineParseBundle.svg?branch=master)](https://travis-ci.org/zeliard91/DoctrineParseBundle)

This bundle provides object-relational mapping for the [Parse.com API](https://github.com/ParsePlatform/parse-php-sdk).

It has been made by adapting code from Doctrine ORM and MongoDB bundles so that we can use models the same way as in Doctrine.

Documentation
-------------

The source of the documentation is stored in the `Resources/doc/` folder
in this bundle :

- [**Installation**](Resources/doc/installation.md)
- [**Configuration**](Resources/doc/configuration.md)
- [**Mapping**](Resources/doc/mapping.md)
- [**Persistence**](Resources/doc/persistence.md)
- [**Events**](Resources/doc/events.md)
- [**QueryBuilder**](Resources/doc/query_builder.md)
- [**Form Types**](Resources/doc/form_types.md)
- [**Symfony Integration**](Resources/doc/symfony_integration.md)
- [**3d Party Bundles**](Resources/doc/3rd_party.md)

License
-------

This bundle is under the MIT [license](LICENSE).

Contributing / Testing
----------------------

All contributions are welcomed!


text:
# Ionic AppSettings Demo

Ionic3 app-scripts has since version 3.2.0 support of [dotenv-webpack](https://github.com/mrsteele/dotenv-webpack) for supplying config setting for dev and prod.
This means you can do like this:

```bash
# Build for dev using settings in .env.dev
ionic build --dev
# Build for prod using settings in .env.prod
ionic build --prod --aot
```

Howto do that? See `Setup with dev and prod settings`.
If you need more environments, then you could use the app-scripts copy script for having more .env files and copy them to root before build.
Howto do that? Continue in `Setup with more environments`

# Setup with dev and prod settings

* First create a Ionic3 project

```bash
# Verify if you have latest ionic3 installed
ionic help
# Install latest ionic3, if it is not already installed
npm install -g<EMAIL_ADDRESS># Create a blank project
ionic start ionic3-appsettings blank
# enter project folder
cd .\ionic3-appsettings
# open in VSCode
code .

# Optionally add a readme.md file and a licence file to the project

# Test drive
ionic serve

# Create a project in github with the same name
# Upload your code to github
git remote add origin https://github.com/rasor/ionic3-appsettings.git
git push -u origin master

# Update app-scripts to at least "3.2.0" - but less than 4.0.0
npm update<EMAIL_ADDRESS>
```

* Add to file `src/declarations.d.ts`

```typescript
// src/declarations.d.ts
// https://github.com/ionic-team/ionic-app-scripts/pull/1471#issue-210604229
declare var process: { env: { [key: string]: string | undefined; } };
```

* Add a dev file `.env.dev`

```text
// .env.dev
// https://github.com/ionic-team/ionic-app-scripts/pull/1471#issue-210604229

ENVIR_NAME=Development
SOME_KEY=abc-dev
```

* Add a prod file `.env.prod`

```text
// .env.prod
// https://github.com/ionic-team/ionic-app-scripts/pull/1471#issue-210604229

ENVIR_NAME=Production
SOME_KEY=def-prod
```

* Add a property to Home page logic `src/pages/home/home.ts`

```typescript
export class HomePage {

  envirName: string;

  constructor(public navCtrl: NavController) {
    this.envirName = process.env.ENVIR_NAME;
  }
}
```

* Show property in Home page `src/pages/home/home.html`

```html
<ion-content padding>
  <p>You are viewing environment <strong>{{envirName}}</strong></p>
</ion-content>
```

```bash
# Test drive
ionic serve
# It will write 'Development' for envirName
```

```bash
# Build for prod
npm run build --prod --aot
# Now you can drop your /www folder to your prod web server
```

# Setup with more environments

With more environments than dev and prod you need to use the app-scripts copy script...
To be continued.

Recommended:
Add `.env.*` to your `.gitignore` file

### Links

* [feature(environment configuration) by nphyatt](https://github.com/ionic-team/ionic-app-scripts/pull/1471)
* [ionic](https://www.npmjs.com/package/ionic) versions
* [Deploying Ionic to Azure](https://rasor.github.io/deploying-ionic-to-azure.html)

The End

branch_name: refs/heads/copy-envs

gha_language: CSS


text:
# drone-stop-weekend-deploys
[![drone-bitbucket-artifacts on Docker Hub](https://img.shields.io/docker/automated/albinodrought/drone-stop-weekend-deploys.svg)](https://hub.docker.com/r/albinodrought/drone-stop-weekend-deploys/)
[![Docker Pulls](https://img.shields.io/docker/pulls/albinodrought/drone-stop-weekend-deploys.svg)](https://hub.docker.com/r/albinodrought/drone-stop-weekend-deploys)

This is a Bash [Drone](https://github.com/drone/drone) plugin to prevent weekend deploys. If the day is Friday, Saturday, or Sunday, the container will exit with a non-zero exit code.

## Docker
Build the docker image by running:

```bash
docker build --rm=true -t albinodrought/drone-stop-weekend-deploys .
```

## Usage
To perform a check, execute the following:

```bash
docker run --rm albinodrought/drone-stop-weekend-deploys
```

## Drone usage

```yml
pipeline:
  stop-weekend-deploys:
    image: albinodrought/drone-stop-weekend-deploys
    when:
      branch: release/v*

  deploy:
    image: your-regular-deploy-step-here
    when:
      branch: release/v*
```


text:
# Flint

This is the main repository of the Flint project for Amazon Web Services. Flint is a metagenomics profiling pipeline that is built on top of the [Apache Spark][1] framework, and is designed for fast real-time profiling of metagenomic samples against a large collection of reference genomes. Flint takes advantage of Spark's built-in parallelism and streaming engine architecture to quickly map reads against a large reference collection of bacterial genomes.

Our computational framework is primarily implemented using the MapReduce model, and deployed in a cluster launched using the [Elastic Map Reduce][2] service offered by AWS ([Amazon Web Services][3]). The cluster consists of multiple commodity worker machines (computational nodes), and in the current configuration of the cluster that we use, each worker machine consists of 15 GB of RAM, 8 vCPUs (a hyperthread of a single Intel Xeon core), and 100 GB of EBS disk storage. Each of the worker nodes will work in parallel to align the input sequencing DNA reads to a partitioned shard of the reference database; after the alignment step is completed, each worker node acts as a regular Spark executor node.

The current database for running Flint is version 41 from [Ensembl Bacteria][4], but we are currently working on the latest version of [RefSeq][5], which should be available this summer.

### Publications
**Valdes**, **Stebliankin**, **Narasimhan** (2019), Large Scale Microbiome Profiling in the Cloud, _ISMB 2019, in review_.

## How To Get Started

- [Download the Code][6] and [follow the instructions][7] on how to create an EMR cluster, setup the streaming source, and start Flint.
- [Instructions][8], as well as a [manual and reference][9], can be found at the [project’s website][10].

## Communication

- If you **found a bug**, open an issue and _please provide detailed steps to reliably reproduce it_.
- If you have **feature request**, open an issue.
- If you **would like to contribute**, please submit a pull request.

## Requirements
Flint is designed to run on [Apache Spark][11], but the current implementation is tuned for Amazon's EMR [Elastic Map Reduce][12]. The basic requirements for an [EMR][13] cluster are:

- [Apache Hadoop][14]
- [Apache Spark][15]
- [Ganglia][16]
- [Hue][17]
- [Hive][18]

The basic requirements for the worker nodes are:

- [Bowtie, v.<IP_ADDRESS>][19]
- [Python][20]
- [BioPython][21]
- [Pandas][22]
- [Fabric][23]
- [Boto3][24]
- [csv][25]
- [pathlib2][26]
- [shlex][27]
- [pickle][28]
- [subprocess][29]

### Bowtie2

[Bowtie][30] is required for the alignment step, and needs to be installed in all worker nodes of the Spark Cluster.  See the [Bowtie2 manual][31] for more information.

### Python Packages

The remaining requirements are python packages that Flint needs for a successful run, please refer to the package's documentation for instructions and/or installation instructions.

### Maintainers

- [Camilo Valdes][33]

### Collaborators

- [Giri Narasimhan][34]
- [Vitalii Stebliankin][35]

## License

The software in this repository is available under the [MIT License][36].  See the [LICENSE][37] file for more information.

[1]:	https://spark.apache.org
[2]:	https://aws.amazon.com/emr/
[3]:	https://aws.amazon.com
[4]:	https://bacteria.ensembl.org/index.html
[5]:	https://www.ncbi.nlm.nih.gov/refseq/
[6]:	https://github.com/camilo-v/flint
[7]:	https://camilo-v.github.io/flint/ "Manual"
[8]:	https://camilo-v.github.io/flint/ "Instructions"
[9]:	https://camilo-v.github.io/flint/ "Manual"
[10]:	https://camilo-v.github.io/flint/ "Flint Project"
[11]:	https://spark.apache.org
[12]:	https://aws.amazon.com/emr/
[13]:	https://aws.amazon.com/emr/
[14]:	https://hadoop.apache.org
[15]:	https://spark.apache.org
[16]:	https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-ganglia.html
[17]:	https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hue.html
[18]:	https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive.html
[19]:	http://bowtie-bio.sourceforge.net/bowtie2/index.shtml
[20]:	https://www.python.org
[21]:	https://biopython.org
[22]:	https://pandas.pydata.org
[23]:	http://www.fabfile.org
[24]:	https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
[25]:	https://docs.python.org/3/library/csv.html
[26]:	https://pypi.org/project/pathlib2/
[27]:	https://docs.python.org/3/library/shlex.html
[28]:	https://docs.python.org/3/library/pickle.html
[29]:	https://docs.python.org/2/library/subprocess.html
[30]:	http://bowtie-bio.sourceforge.net/bowtie2/index.shtml
[31]:	http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml
[32]<EMAIL_ADDRESS>[33]<EMAIL_ADDRESS>[34]<EMAIL_ADDRESS>[35]<EMAIL_ADDRESS>[36]:	https://github.com/camilo-v/flint-aws/blob/master/LICENSE
[37]:	https://github.com/camilo-v/flint-aws/blob/master/LICENSE

repository: VonRosenchild/flint

repo_name: VonRosenchild/flint


text:
# AbstractMVP
A Android lightweight fully distributed MVP development model      [[中文文档]](https://github.com/GitSmark/AbstractMVP/blob/master/readme.md)

Features
------------
* Simple and convenient and practical
* Helps you separate your logic and keep your class clear and clear
* An innovative Android MVP development model from iOS

Important clause
----------------
* The files of package `com.ttt.common.mvp` are original artworks of [me](https://github.com/GitSmark/).
* The files of package `com.ttt.common.adapter` are derived from [tianzhijiexian/CommonAdapter](https://github.com/tianzhijiexian/CommonAdapter),thanks.

Sample Project
--------------
* The project structure by `Model - View - Presenter`

![](20160306221534.png)

Usage
-----
1. Copy the files into your project.

  ![](20160306221638.png)

2. Create your `ViewDelegate` and `ViewInterface`.

The Abstract ViewDelegate extents `CommonActivity`, `CommonFragment`, `CommonFragmentActivity` according to your need and add unimplemented methods, then implements ViewInterface that you want to done and realization.
  ```java
  public abstract class MainFragmentDelegate extends CommonFragment {
    // implements your ViewInterface and realization

  	@Override
  	public int inflateView() {
  		// TODO Auto-generated method stub
  		// return R.layout.fragment_main;
  	}

  	@Override
  	public void initView(View view) {
  		// TODO Auto-generated method stub
  		// initView view.findViewbyId(R.id.xx);
  	}

  	@Override
  	public void setListener() {
  		// TODO Auto-generated method stub
  		// setListener
  	}

  }
  ```
3. Use the following methods according to your need.
 - `BeforeCreate()`
 - `AfterCreate()`
 - `getData()`
 - `Other()`

4. Add Listener if you need, then PresenterView extents ViewDelegate to handle events and your can implements `CommonViewAdapterInterface` to transmit adapter if you need.

   ```java
  public abstract class MainDelegate extends CommonActivity implements OnClickListener, OnItemClickListener, CommonViewAdapterInterface, MainInterface {

  	TextView tv;
  	ListView lv;

  	@Override
  	public void initView() {
  		// TODO Auto-generated method stub
  		// setContentView(R.layout.activity_main);
  		// tv = (TextView) findViewById(R.id.textview);
  		// lv = (ListView) findViewById(R.id.listview);
  		// lv.setAdapter((BaseAdapter)getAdapter());
  	}

  	@Override
  	public void setListener() {
  		// TODO Auto-generated method stub
  		// tv.setOnClickListener(this);
  		// lv.setOnItemClickListener(this);
  	}

  	@Override
  	public void setText() {
  		// TODO Auto-generated method stub
  		// tv.setText("Hello, AbstractMVP!");
  	}

  }
  ```
  ```java
  public class MainActivity extends MainDelegate {

  	private List<MainListEntity> datas = new ArrayList<>();
  	private MainListAdapter adapter = new MainListAdapter(datas);

  	@Override
  	public Adapter getAdapter() {
  		// TODO Auto-generated method stub
  		// return adapter;
  	}

  	@Override
  	public void onClick(View v) {
  		// TODO Auto-generated method stub
  		// setText();
  	}

  	@Override
  	public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
  		// TODO Auto-generated method stub
  		// Toast.makeText(this, datas.get(arg2).getName(), Toast.LENGTH_LONG).show();
  	}

  }
  ```

5.More usage of the `CommonAdapter` [get it](https://github.com/tianzhijiexian/CommonAdapter)

Customization
-------------------
  Customized yourself `Delegate` and `Interface`, you can easily customize whatever you want.

Sample
----------
  There is also a [sample](https://github.com/GitSmark/AbstractMVP/blob/master/AbstractMVPSample.zip) to get you started.

Contact
--------
  Have problem? Just [tweet me](https://twitter.com/huangxy) or [send me an email](mailto:huangxy8023@foxmail.com).

License
----------

    Copyright 2016 huangxy@GitSmark

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.


text:
It targets [POSIX Extended Regular Expression](https://en.wikipedia.org/wiki/Regular_expression#POSIX_basic_and_extended) syntax.

Thanks to [Alex Grebenyuk](https://kean.blog/about/) for his great article series [Let's Build a Regex Engine](https://kean.blog/post/lets-build-regex), which was the inspiration for this project.

repository: erikgrinaker/rex

repo_name: erikgrinaker/rex


text:
## CellMojo manual
This documentation explains how you can use CellMojo to analyze your cell migration image-based data sets.

### How to install CellMojo

### How to run CellMojo

#### Input file(s) selection

#### Customization of preprocessing, segmentation and tracking algorithms

#### Generated output files

repository: compomics/CellMojo

repo_name: compomics/CellMojo


text:
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "aquasec_container_runtime_policy Resource - terraform-provider-aquasec"
subcategory: ""
description: |-

---

# aquasec_container_runtime_policy (Resource)

## Schema

### Required

- **name** (String) Name of the container runtime policy

### Optional

- **allowed_executables** (List of String) List of executables that are allowed for the user.
- **application_scopes** (List of String) Indicates the application scope of the service.
- **audit_all_network_activity** (Boolean) If true, all network activity will be audited.
- **audit_all_processes_activity** (Boolean) If true, all process activity will be audited.
- **audit_full_command_arguments** (Boolean) If true, full command arguments will be audited.
- **block_access_host_network** (Boolean) If true, prevent containers from running with access to host network.
- **block_adding_capabilities** (Boolean) If true, prevent containers from running with adding capabilities with `--cap-add` privilege.
- **block_container_exec** (Boolean) If true, exec into a container is prevented.
- **block_low_port_binding** (Boolean) If true, prevent containers from running with the capability to bind in port lower than 1024.
- **block_non_compliant_images** (Boolean) If true, running non-compliant image in the container is prevented.
- **block_non_compliant_workloads** (Boolean) If true, running containers in non-compliant pods is prevented.
- **block_privileged_containers** (Boolean) If true, prevent containers from running with privileged container capability.
- **block_root_user** (Boolean) If true, prevent containers from running with root user.
- **block_unregistered_images** (Boolean) If true, running images in the container that are not registered in Aqua is prevented.
- **block_use_ipc_namespace** (Boolean) If true, prevent containers from running with the privilege to use the IPC namespace.
- **block_use_pid_namespace** (Boolean) If true, prevent containers from running with the privilege to use the PID namespace.
- **block_use_user_namespace** (Boolean) If true, prevent containers from running with the privilege to use the user namespace.
- **block_use_uts_namespace** (Boolean) If true, prevent containers from running with the privilege to use the UTS namespace.
- **blocked_capabilities** (List of String) If true, prevents containers from using specific Unix capabilities.
- **blocked_executables** (List of String) List of executables that are prevented from running in containers.
- **blocked_files** (List of String) List of files that are prevented from being read, modified and executed in the containers.
- **blocked_inbound_ports** (List of String) List of blocked inbound ports.
- **blocked_outbound_ports** (List of String) List of blocked outbound ports.
- **blocked_packages** (List of String) Prevent containers from reading, writing, or executing all files in the list of packages.
- **blocked_volumes** (List of String) List of volumes that are prevented from being mounted in the containers.
- **description** (String) The description of the container runtime policy
- **enable_drift_prevention** (Boolean) If true, executables that are not in the original image is prevented from running.
- **enable_fork_guard** (Boolean) If true, fork bombs are prevented in the containers.
- **enable_ip_reputation_security** (Boolean) If true, detect and prevent communication from containers to IP addresses known to have a bad reputation.
- **enable_port_scan_detection** (Boolean) If true, detects port scanning behavior in the container.
- **enabled** (Boolean) Indicates if the runtime policy is enabled or not.
- **enforce** (Boolean) Indicates that policy should effect container execution (not just for audit).
- **enforce_after_days** (Number) Indicates the number of days after which the runtime policy will be changed to enforce mode.
- **exceptional_readonly_files_and_directories** (List of String) List of files and directories to be excluded from the read-only list.
- **fork_guard_process_limit** (Number) Process limit for the fork guard.
- **id** (String) The ID of this resource.
- **limit_new_privileges** (Boolean) If true, prevents the container from obtaining new privileges at runtime. (only enabled in enforce mode)
- **readonly_files_and_directories** (List of String) List of files and directories to be restricted as read-only
- **scope_expression** (String) Logical expression of how to compute the dependency of the scope variables.
- **scope_variables** (Block List) List of scope attributes. (see [below for nested schema](#nestedblock--scope_variables))

### Read-Only

- **author** (String) Username of the account that created the service.

### Nested Schema for `scope_variables`

Required:

- **attribute** (String) Class of supported scope.
- **value** (String) Value assigned to the attribute.

repository: xyoxo/terraform-provider-aquasec

repo_name: xyoxo/terraform-provider-aquasec


text:
# Titanium Module for Google Cloud Messaging Push Notifications for Android #

[![gitTio](http://gitt.io/badge.png)](http://gitt.io/component/nl.vanvianen.android.gcm)

A Titanium module for registering a device with Google Cloud Messaging and handling push notifications sent to the device. Both push notifications and topic subscriptions are supported.

1. Install the module as usual in Appcelerator Studio by downloading the [zip file](https://github.com/morinel/gcmpush/releases/download/1.5/nl.vanvianen.android.gcm-android-1.5.zip) or use ```gittio install nl.vanvianen.android.gcm```
1. Refer to the examples for possibilities.
1. Send a server push notification with your preferred server-side technology to the registrationId returned while registering your device.
1. The callback you specified will then be called.

This module does not require any tiapp.xml properties, all configuration is done in Javascript.

## Example server-side code to send a push notification ##

Use the following dependency:

```xml
<dependency>
    <groupId>com.google.android.gcm</groupId>
    <artifactId>gcm-server</artifactId>
    <version>1.0.2</version>
</dependency>
```

```java
import com.google.android.gcm.server.Message;
import com.google.android.gcm.server.MulticastResult;
import com.google.android.gcm.server.Result;
import com.google.android.gcm.server.Sender;

...

public void sendPush() {
    Sender sender = new Sender(APIKEY);
    Message msg = new Message.Builder()
        .addData("title", "Lorem ipsum dolor sit amet")
        .addData("message", "Lorem ipsum dolor sit amet")
        .addData("sound", "mysound.mp3")
        .addData("vibrate", "true")
        .addData("insistent", "true")
        .addData("priority", "2")
        .addData("localOnly", "false")
        .addData("group", "mygroup")
        .addData("bigText", "true")
        .addData("ledOn", "200")
        .addData("ledOff", "300")
        .addData("notificationId", "12345");
        .build();
    try {
        /* Use the registrationIds returned in the success handler in the apps registerPush() call. */
        List<String> list = new ArrayList<>(REGISTRATION_IDS);
        MulticastResult result = sender.send(msg, list, 1);
        log.info("Total = " + result.getTotal() + ", success = " + result.getSuccess() + ", failure = " + result.getFailure());
    } catch (IOException ex) {
        log.error("Cannot send Android push notification: " + ex.getMessage(), ex);
    }
}
```

## Register your app for push notifications ##

See [this example](https://github.com/morinel/gcmpush/blob/master/example/app.js).

## Notification settings for push notifications ##

See the [example](https://github.com/morinel/gcmpush/blob/master/example/app.js) for an overview of how to specify the below settings:

1. **smallIcon**: the tiny icon shown at the top of the screen, see this [stackoverflow question](http://stackoverflow.com/questions/28387602/notification-bar-icon-turns-white-in-android-5-lollipop) for details. The file should be placed in the ```platform/android/res/drawable``` directory.
1. **largeIcon**: the large icon shown in the notification bar. If not specified your appicon will be used. The file should be placed in the ```platform/android/res/drawable``` directory.
1. **sound**: the sound file to play while receiving the notification or 'default' for the default sound. The sound file should be placed in the ```platform/android/res/raw``` directory.
1. **vibrate** (true / false): whether vibration should be on, default false.
1. **insistent** (true / false): whether the notification should be [insistent](http://developer.android.com/reference/android/app/Notification.html#FLAG_INSISTENT), default false.
1. **group**: name of group to group similar notifications together, default null.
1. **localOnly** (true / false): whether this notification should be bridged to other devices (false) or is only relevant to this device (true), default true.
1. **backgroundOnly** (true / false): whether the app should only be notified when it's in the background, default false.
1. **priority**: (integer) specifies the priority of the notification, should be between [PRIORITY_MIN](http://developer.android.com/reference/android/support/v4/app/NotificationCompat.html#PRIORITY_MIN) and [PRIORITY_MAX](http://developer.android.com/reference/android/support/v4/app/NotificationCompat.html#PRIORITY_MAX), default 0.
1. **bigText** (true / false): whether this notification should use the [bigText style](http://developer.android.com/reference/android/app/Notification.BigTextStyle.html), default false.
1. **titleKey** (string): specify a custom key name for the notification title sent by the server, default ```title```
1. **messageKey** (string): specify a custom key name for the notification message sent by the server, default ```message```
1. **tickerKey** (string): specify a custom key name for the notification ticker text sent by the server, default ```ticker```
1. **title** (string): specify a static title for the notification (server data will be ignored)
1. **message** (string): specify a static message for the notification (server data will be ignored)
1. **ticker** (string): specify a static ticker for the notification (server data will be ignored)
1. **ledOn** (integer): the number of ms the LED should be on while flashing, see  [javadoc](http://developer.android.com/reference/android/app/Notification.html#ledOnMS)
1. **ledOff** (integer): the number of ms the LED should be off while flashing, see [javadoc](http://developer.android.com/reference/android/app/Notification.html#ledOffMS)
1. **notificationId** (integer): a (unique) integer to identify the notification. If specified, subsequent notifications will not override the previous one.

The settings sound, vibrate, insistent, group, localOnly, priority, bigText and notificationId can also be set as data in the push message being received (see the server-side example above).

If the app is not active when the notification is received, use gcm.getLastData() to retrieve the contents of the notification and act accordingly to start or resume the app in a suitable way. If you're done, call gcm.clearLastData(), otherwise the same logic will happen when resuming the app again, see the [example](https://github.com/morinel/gcmpush/blob/master/example/app.js).

## Example server-side code to send message to a topic ##

```java
import org.apache.commons.io.IOUtils;
import org.json.JSONException;
import org.json.JSONObject;

...

public void sendTopic(e) throws Exception {
    // Prepare JSON containing the GCM message content. What to send and where to send.
    JSONObject json = new JSONObject();
    JSONObject data = new JSONObject();
    data.put("message", "Lorem ipsum dolor sit amet");
    // Add any other notification settings here, see the push notification server-side example

    json.put("to", "/topics/mytopic");
    json.put("data", data);

    // Create connection to send GCM Message request.
    URL url = new URL("https://android.googleapis.com/gcm/send");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setRequestProperty("Authorization", "key=" + APIKEY);
    conn.setRequestProperty("Content-Type", "application/json");
    conn.setRequestMethod("POST");
    conn.setDoOutput(true);

    // Send GCM message content.
    String content = json.toString();
    System.out.println(content);
    OutputStream outputStream = conn.getOutputStream();
    outputStream.write(content.getBytes());

    // Read GCM response.
    InputStream inputStream = conn.getInputStream();
    System.out.println(IOUtils.toString(inputStream));
}
```

## Subscribe your app to a topic ##

See [this example](https://github.com/morinel/gcmpush/blob/master/example/topic.js).

The same notification settings apply as for regular push notifications.

gha_language: Java


text:
---
layout: default
---

# 1993-08-11 - Re: birth of Software Patent Institute

## Header Data

From: peter honeyman<EMAIL_ADDRESS>To: "L. Detweiler"<EMAIL_ADDRESS>Message Hash: bf4ab2445e4a499264fc995d652327b8a1bce41b5828a12d05a43654ebf4f7f1

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1993-08-11 13:46:55 UTC

Raw Date: Wed, 11 Aug 93 06:46:55 PDT

## Raw message

```
{% raw  %}From: peter honeyman<EMAIL_ADDRESS>Date: Wed, 11 Aug 93 06:46:55 PDT
To: "L. Detweiler"<EMAIL_ADDRESS>Subject: Re: birth of Software Patent Institute
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

> the first question to ask would be whether they're in touch with LPF at all.

the next question would be whether lpf is willing to work with them.
rms has never been known to put progress ahead of politics.

	peter

{% endraw %}
```

## Thread

+ Return to [August 1993](/archive/1993/08)

+ Return to "[peter honeyman <honey@citi.umich.edu>](/authors/peter_honeyman_honey_at_citi_umich_edu_)"

+ 1993-08-11 (Wed, 11 Aug 93 06:46:55 PDT) - Re: birth of Software Patent Institute - _peter honeyman<EMAIL_ADDRESS>


text:
Dyslexio
========

# How to deploy

You need node.js, bower and gulp installed. When you resolve these dependencies enter root and:

```bash
# Install all node dependencies (like Gulp and all required Gulp plugins)
npm install
# Install all dependencies (like jQuery, Crossroutes, etc.)
bower install
# Starts a static web server and live reload
gulp watch
open http://localhost:55555/
```

# Add new games

1. Insert JSON object with id, title and description of the game at `/games/games.json`.
2. Add folder named after the game id. The folder should contain `index.html` file, which keeps references to all scripts and styles used.

**Note** your game will be visible inside an iframe, which means that you won't have direct access to the document of the web page.

# License

The project is being developed under the terms of the MIT license.

repository: FMISoftwareTechnologiesProject/dyslexio

gha_language: JavaScript

repo_name: FMISoftwareTechnologiesProject/dyslexio


text:
# book_app

**Author**: Suzy and Trey
**Version**: 1.1.0

## Overview

Book app is an application that displays book data to the client.  Its purpose is to organize ones book collection and allow them to easily aceess the data.

### How to Run
Make sure to install the npm dependancies, add your postgres database information to the server.js file and run the server.

1. Install npm dependencies in package.json
2. Add information to the postgress database.
3. Run nodemon to run the server.

## What it's made of
This is an application made with nodejs, Expressjs, the EJS templating engine, with a Postgresql database.

## Change Log
09-18-2018 10.15am = wrote out wireframes and gathered theme.
09-18-2018 11pm = finaly got the application running.
09-19-2018 11am = Page to see individual books is up and running.
09-19-2018 11:10am = Cleaned up HTML and CSS.
09-20-2018 12pm = Form information up and running.

## Credits
Michelle


text:
# CREATE A FEED

1. Sign in to your Visual Studio Team Services account

    > https://{youraccount}.visualstudio.com

1. From your account overview page, select your team project. To find your team project, use Browse.

1. Now you should see a new menu option __Package*__. Click on it.

    ![](./img/pkg/image3.jpg)

1. Once in the package manager we will start creating a feed. Click on **+ New feed**

    ![](./img/pkg/image4.jpg)

1. In this screen you will give a name to the feed and also select who can access it. At this moment we will make it public only for the HealthClinic team members as well as give permisions to all members to add packages. Click on **Create**

    ![](./img/pkg/image5.jpg)

1. Click on **Connect to feed**. Take note of the **Package source URL**

    ![](./img/pkg/image6.jpg)

    > We need the Url for the feed so we are able to connect our developers to the feed as well as configure projects to use it during automated builds.

repository: pike-christopher/DevOps-Immersion-Labs

repo_name: pike-christopher/DevOps-Immersion-Labs


text:
# Cavy Native Reporter

[![npm version](https://badge.fury.io/js/cavy-native-reporter.svg)](https://badge.fury.io/js/cavy-native-reporter)

A reporter for [Cavy], a React Native testing framework, that reports test
results to native Android or iOS test runners.

By default Cavy reports a completed test run to [cavy-cli][cli].
Cavy Native Reporter provides an alternative reporter for Cavy which fires
a Native Module callback when tests are finished. You can then wire this
in to a native test runner such as XCTest.

You may want to do this if you already have some application tests that are
native, e.g. if you already use XCTest to test parts of your app. This could
be because not all of your app is React Native, or if you app makes heavy
use of native code. You may also want to use it if you have an existing
CI pipeline set up for running a native test framework, and don't want to
adapt it for Cavy & cavy-cli.

 You can probably just use cavy-cli
instead.

## Getting started
Follow the [Cavy Native Reporter guide](https://cavy.app/docs/guides/cavy-native-reporter/installing-and-usage) to integrate Cavy into your native testing setup.

Full API documentation can be found on the [Cavy website](https://cavy.app/docs/api/cavy-native-reporter).

## Thank you!
Cavy Native Reporter was inspired by work done by [Nozbe](https://nozbe.com) on
[WatermelonDB](https://github.com/Nozbe/WatermelonDB), a high-performance
database framework for React that uses Cavy for running native integration
tests.

Thank you to [Radek](https://github.com/radex) in particular who really helped
get it off the ground :heart:.

## Contributing
Before contributing, please read the [code of conduct](CODE_OF_CONDUCT.md).
- Check out the latest master to make sure the feature hasn't been implemented
  or the bug hasn't been fixed yet.
- Check out the issue tracker to make sure someone already hasn't requested it
  and/or contributed it.
- Fork the project.
- Start a feature/bugfix branch.
- Commit and push until you are happy with your contribution.
- Please try not to mess with the package.json, version, or history. If you
  want to have your own version, or is otherwise necessary, that is fine, but
  please isolate to its own commit so we can cherry-pick around it.

[cavy]: https://github.com/pixielabs/cavy
[cli]: https://github.com/pixielabs/cavy-cli

repository: pixielabs/cavy-native-reporter

repo_name: pixielabs/cavy-native-reporter


text:
# RPi-BeagleBone
PREEMPT_RT latency measurements in Linux kernels (4.4, 4.9, 4.14, 4.19) and distributions (Ubuntu, Arch Linux, and Debian) running on RPi and BeagleBone
The slave devices under test (RaspberryPi and BeagleBone) are connected to, and communicate with, another Raspberry (master) that performs the actual measurements. Measurements include the latency of response tasks in user and kernel space, the response at specific periodic rates on execution of periodic tasks in user and kernel space, the maximum sustained frequency, min, max, std.deviation and variance.

# Installation (mainly for RPis):

Install the software source files found respectively in master and slave folders into the master and slave device respectively.

For user and kernel space response task measurements: in the master COMPILE: gcc gpio_master.c -o gpio_master -lm -lrt -lpthread in the slave COMPILE: gcc gpio_slave.c -o gpio_slave -lrt -lpthread

For user space periodic task measurements: in the master COMPILE: gcc gpiop_master.c -o gpiop_master -lm -lrt in the slave COMPILE: gcc gpiop_slave.c -o gpiop_slave -lrt

For kernel space periodic task measurements: in the master COMPILE: gcc kgpiop_master.c -o kgpiop_master -lm -lrt

# Usage:

Response task measurements at user space Run the slave first, then the master to perform the measurements. in the slave device run: sudo ./gpio_master in the master device run: RUN: sudo ./gpio_slave

Response task measurements at kernel space: Run the slave first, then the master to perform the measurements. in the slave device run: make and sudo insmod kgpio4_slave.ko in the master device run: RUN: sudo ./gpio_slave

Periodic task measurements at user space: in the slave device run: sudo chrt -f 99 ./gpiop_slave in the master device run: sudo chrt -f 99 ./gpiop1_master

Periodic task measurements at kernel space: in the slave device run: make and sudo insmod kgpiop2.ko in the master device run: sudo chrt -f 99 ./kgpiop_master


text:
# yaFyaml: yet another Fortran (implementation of) YAML

There is at least one other open source Fortran-based YAML parser.

The rationale for this one is simply to be compatible with the containers in gFTL.   It is not intended to be a complete YAML parser, just the subset needed by my own projects.    (Happy to accept additional contributed YAML capabilities, of course!)

Requirements:
  - [gFTL 1.5.0](https://github.com/Goddard-Fortran-Ecosystem/gFTL) or later
  - [gFTL-shared 1.3.0](https://github.com/Goddard-Fortran-Ecosystem/gFTL-shared) or later

Supported Fortran compilers:
  - ifort 2021.3.0
  - gfortran 8.5, 9.4, 10.3, 11.2
  - NAG 7.0 (7057)

repository: Goddard-Fortran-Ecosystem/yaFyaml

gha_language: Fortran

repo_name: Goddard-Fortran-Ecosystem/yaFyaml


text:
# Anagram Python

A Python Server Demo for a High Performance Anagram Solution

# Build & Run

If Python 2.7+ has installed on your computer, `python .` in the project directory can immediately start an anagram solution server on port 8181.

# Test

```
$ curl http://localhost:8181/?anagram=eat
["eta","tea","ate"]
```

repository: RockfordWei/anagram

repo_name: RockfordWei/anagram


text:
# Integration with Grape

[Grape](https://github.com/ruby-grape/grape) is an opinionated micro-framework for creating REST-like APIs in ruby.

ActiveModelSerializers currently supports Grape >= 0.13, < 1.0

To add [Grape](https://github.com/ruby-grape/grape) support, enable the formatter and helper functions by including `Grape::ActiveModelSerializers` in your base endpoint. For example:

```ruby
module Example
  class Dummy < Grape::API
    require 'grape/active_model_serializers'
    include Grape::ActiveModelSerializers
    mount Example::V1::Base
  end
end
```

Aside from this, [configuration](../general/configuration_options.md) of ActiveModelSerializers is exactly the same.

gha_language: Ruby


text:
# Transient VM
Create an astronomy development environment using ``vagrant``.

## Packages
Currently supported:
* saods9
* python packackges (pip)
* vim
* zsh

Aims for future support:
* iraf
* sextractor
* casa
* montage
* gbtidl
* choice of editors and shells

# License
Licensed under the MIT license.

repository: autocorr/transient

repo_name: autocorr/transient


text:
# PolyChaos Release Notes

## Version 0.2.3
- support for Julia 1.3 and above
- thinned out dependencies
- fixed inconsistencies in documentation

## Version 0.2.2
- switched to abstract arrays as suggested by [#26](https://github.com/timueh/PolyChaos.jl/issues/26)
- re-definition of types was necessary, taking into account Julian recommendations, [see this discourse entry](https://discourse.julialang.org/t/inner-constructor-correct-type-for-new/34013), [see this discourse entry]()https://discourse.julialang.org/t/creating-ones-own-matrix-type/33553,  and [see the docs](https://docs.julialang.org/en/v1.3/manual/performance-tips/#Avoid-fields-with-abstract-type-1).
- modified test functions to account, e.g. for static arrays.

## Version 0.2.1
- increased code coverage
- examples work with new type hierarchy
- updated dependencies

## Version 0.2.0
- new type hierarchy that involves four abstract types:
    - `AbstractMeasure`
    - `AbstractOrthoPoly`
    - `AbstractQuad`
    - `AbstractTensor`
- canonical measures and orthogonal polynomials are now subtypes of `AbstractCanonicalMeasure` and `AbstractOrthoPoly`
- code hygiene at several fronts

## Version 0.1.3
- removed default `show` function for types specific to `PolyChaos.jl` as this was causing issues with the Atom editor
- improved `showpoly`, and added `showbasis`
- updated documentation
- updated package dependencies
- added example for chance-constrained DC optimal power flow to documentation [see 004be7c](https://github.com/timueh/PolyChaos.jl/commit/004be7c4581ce035dc033da3810f4266555d9206)
- computation of moments from PCE coefficients is now compatible with `JuMP` (was restricted to `Vector{Float64}` before), see [see f99030](https://github.com/timueh/PolyChaos.jl/commit/f9903093e6556c4f37dabd82f03595323b59cc96)

## Version 0.1.2 (Mar 13, 2019)
- implemented show function for orthogonal polynomials ([thanks @pfitzseb](https://discourse.julialang.org/t/how-to-define-verbose-output-for-a-polynomial/21317/5) )
- improved Golub-Welsch algorithm ([adapted from `GaussQuadrature.jl`](https://github.com/billmclean/GaussQuadrature.jl/blob/master/src/GaussQuadrature.jl) which itself is based on [this Fortran code](https://www.netlib.org/cgi-bin/netlibfiles.pl?filename=/go/gaussq.f))
- improved code coverage, i.e. added tests
- code hygiene

## Version 0.1.1 (Feb 27, 2019)
- improved performance of recurrence coefficients, quadrature rules, evaluation of orthogonal polynomials
- added considerable number of tests for recurrence coefficients (see #4) and quadrature rules (see #5)
- added code coverage
- added GNU General Public License v3.0
- removed dependency on `IterTools`

## Version 0.1.0 (Feb 18, 2019)
- initial version

gha_language: Julia


text:
# * FRUIT CATCHERS *

Created with love by: `Thien Hoang`

View online at: [https://heuristic-turing-5a2c8f.netlify.com/]

This is a 2-player canvas game using HTML5 & Javascript.
In case the content is too big, please zoom out your browser view for a smooth play.

![](./images/gamecapture2.png)

## User Stories

The following functionalities are completed:

* [x] The players can move their characters with the Arrow keys (Baby Monkey) & WASD keys (Hungry Gori).
* [x] The players can move their characters beyond the game boundaries and have their characters reappear at the opposite sides.

* [x] The players can see the background, obstacles (2 eagles & 1 apple worm) and fruits (1 banana, 1 apple, 1 grapefruit & 1 pineapple).
* [x] The obstacles and fruits are placed at random locations within the game boundaries.

* [x] The players can catch the fruits by moving their characters to the same location as the fruits.
* [x] When the players catch a fruit, a new same kind fruit is placed randomly upon the screen.
* [x] Every time they catch a fruit, their scores should increase as follows: 🍌 = 5 pts, 🍎 = 10 pts, 🍇 = 15 pts & 🍍 = 20 pts.

* [x] The eagles moves around on their own frames (one from left->right, one from right->left).
* [x] When the players got caught by the eagles, a new eagle is placed randomly upon the screen.
* [x] Every time the players got caught by the eagles or got collided with the apple worm, their scores should decrease as follows: 🍎🐛 = -10 pts & 🦅 = -15 pts.

* [x] The players hear background music upon starting the game.
* [x] The players can pause or play background music during gameplay.

* [x] The players can see their total points scored.
* [x] The players can see their highest scores.
* [x] The game ends when time is up (40 seconds per game). The total time elapsed is displayed during gameplay, in seconds.
* [x] The game announces who wins based on whoever scores highest after each game.
* [x] The players can reset game.
* [x] The players can access this game from the internet (using Netlify).

## Time Spent and Lessons Learned

Time spent: 20 hours spent in total.

Describe any challenges encountered while building the app.
- Make the second character move with a new set of keys.
- Add background music with play/pause options.
- Background music loops seamlessly.
- Score tables for each character with total points scored and highest scores.
- Count down timer per game.
- Reset game option.
- Make game obstacles and fruits reappear randomly upon colliding.
- Make the eagles move across the background left-> right & right->left.
- Make the characters & the eagles reappear at the opposide sides when moving beyond game boundaries.
- Decide who wins based on which character scores highest after each game.
- Retain the highest score of each character even after reseting game or refreshing browser.
- Freeze the game with winner announcement after time is up.

## License

    Copyright [2019] [Thien Hoang]

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.


text:
Mongo Half Stack App
======

## Directions

This is a **solo** lab.

* Combine a vanilla NodeJS http server with the mongodb drivers to create another REST API
* Pick a "resource" - the entity (or collection in mongo speak) you're saving and getting, like `unicorns`
* Use the strategy pattern (an object dictionary that has router functions as values) to choose the "router" to use.
* Use the strategy pattern _within_ the router implementation to choose the "method" router to use (plus two varieties of get!)
* Implement:
    * `GET /<resource>` - returns array of all of the resources
    * `POST /<resource>` - inserts the supplied request body as a document into the resource collection
    * `GET /<resource>/:id` -
      * returns the single object specified by the id
      * returns 404 not found if no resource found with that id
    * `DELETE /<resource>/:id` - removes the resource with that id. not an error if doesn't exist.
    (OPTIONAL: return `{ removed: true }` or `{ removed: false }`)
    * `PUT /<resource>/:id` - updates the resource with supplied request body
* Use plural name in your url path (`/unicorns`, **not** `/unicorn`)

### Architecture and Design

* Use modules and project organization (files). There is now enough complexity that large, overly complicated modules
will significantly impact your ability to focus on the task at hand. Use the structure we used
in class.

* You are free to refer to example code from in-class. But you **must**:
  * Implement things in based on the logical order of your project, incrementally growing your "known good system".
  Do not fall into "transcribing", meaning copying code without regard to what it actual does or how it might help)
  and then trying to make it all work. We will not help you clean up messes that you create in this manner.
  Best bet is delete code and start over.
  * *re-type* any code, **never** cut and paste. Reason is so you have a kinnesthetic/total physical response (TPR)
  learning experience.

## Testing

* Basic E2E with setup to manage db

## Bonus Ideas

* Implement handling the query part of the url in `GET` all as a mongo find query
* Add another resource type
  * SUPER BONUS: Generisize your first route handler into a general purpose
  handler by wrapping in a higher order function that takes a collection name. This is a meta
  exercise for generalizing patterns

## Rubric

* Server, App, Project Organization: *2pt*
* Data
  * `GET` all: *2pt*
  * `POST`: *2pt*
  * `GET` by id: *2pt*
  * `PUT` by id: *2pt*
  * `DELETE` by id: *2pt*
* Tests
  * setup *3pts*
  * Each method *1pt* x 5 = *5pts*


text:
SublimeLinter-contrib-cmakelint
=========================

[![Build Status](https://app.travis-ci.com/jasjuang/SublimeLinter-contrib-cmakelint.svg?branch=master)](https://app.travis-ci.com/jasjuang/SublimeLinter-contrib-cmakelint)
[![Package Control](https://packagecontrol.herokuapp.com/downloads/SublimeLinter-contrib-cmakelint.svg?style=flat-square)](https://packagecontrol.io/packages/SublimeLinter-contrib-cmakelint)

This linter plugin for SublimeLinter provides an interface to [cmakelint](https://pypi.python.org/pypi/cmakelint). It will be used with files that have the “cmake” syntax.

## Installation
SublimeLinter must be installed in order to use this plugin.

Please use [Package Control](https://packagecontrol.io) to install the linter plugin.

Before using this plugin, you must ensure that `cmakelint` is installed on your system. To install `cmakelint`, do the following:

1. Install [Python](http://python.org/download/) and [pip](http://www.pip-installer.org/en/latest/installing.html).

1. Install `cmakelint` by typing the following in a terminal:
   ```
   [sudo] pip install cmakelint
   ```

In order for `cmakelint` to be executed by SublimeLinter, you must ensure that its path is available to SublimeLinter. The docs cover [troubleshooting PATH configuration](http://sublimelinter.readthedocs.io/en/latest/troubleshooting.html#finding-a-linter-executable).

## Settings
SublimeLinter settings: http://sublimelinter.readthedocs.org/en/latest/settings.html
Linter settings: http://sublimelinter.readthedocs.org/en/latest/linter_settings.html

Additional settings for SublimeLinter-cmakelint

|Setting|Description|
|:------|:----------|
|filter|A comma-separated list of category-filters to apply|

``filter`` can be a single string (anywhere) or array of strings (anywhere but inline).

gha_language: Python


text:
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## Upcoming
## 1.0.7
## 1.0.6
## 1.0.5
### Changed
- (Core) Renamed `output-dir` option to `output` for `snapshot` command.

### Removed
- (Core) Remove unused `output-dir` option on start command.

### Fixed
- (Core) Path to docroot not being set using realpath (caused broken assets in snapshot)

## 1.0.4
### Added
- (Core) Docroot setting added to configuration using the `setDocroot` method on the `MannequinConfig` object.

### Fixed
- (Core) Version number should be displayed when running the console.
- (Core) Better error messages for missing/broken config files - [#75](https://github.com/LastCallMedia/Mannequin/issues/75).
- (Core) Add helpful tips for the server start command [#79](https://github.com/LastCallMedia/Mannequin/issues/79)
- (Core) Warning message when starting live development server with a config that has no extensions - [#80](https://github.com/LastCallMedia/Mannequin/issues/80)

## 1.0.3
### Added
- (Core) Pass logger to Discoverers that implement LoggerAwareInterface.

### Fixed
- (Core) Start mannequin development server on <IP_ADDRESS> by default.
- (Core) Output error messages from the development server even when not using verbose.

## 1.0.2
### Fixed
- (Core) Fixed index.php in repository root will be served instead of live development server.

## 1.0.1
### Added
- (Meta,Core,Html,Drupal,Twig,Site,Ui) Started changelog, mirrored out to components on release.

## [1.0.0] - 2017-10-04
### Added
- (Core,Html,Drupal,Twig,Site,Ui) Initial release

repository: LastCallMedia/Mannequin

repo_name: LastCallMedia/Mannequin


text:
# Matchmaking System using Agones and Open Match

This project aims to be an example of how a matchmaking system using Agones and Open Match could be implemented. It is heavily inspired by https://open-match.dev/site/docs/tutorials.

The matchmaking logic and allocation process assume a hypothetical game where players will be matched together based on their skills, latency, region, the desired world they want to play and the gameserver capacity.

This project does not target any game, company or specific audience. It has been mostly the result of a learning process that put together different tools and technologies.

Real games require way more input information, and a more complex matchmaking algorithm. However, the approach followed in here may be a good starting point.

### Agones
> An open source, batteries-included, multiplayer dedicated game server scaling and orchestration platform that can run anywhere Kubernetes can run.

### Open Match
> Open Match is a flexible match making system built to scale with your game.

You can find great documentation about each one of these projects on their websites.
- https://agones.dev/site/
- https://open-match.dev/site/

## Requirements
If you want to see the project in action, please make sure you have the requirements set. Basically you need a Kubernetes running Agones 1.9.0 and Open Match 1.0.0.

### Kubernetes cluster

This project will work on any Kubernetes cluster that is supported by Agones 1.9.0 (K8S 1.16). That could be a cluster running in the cloud or locally.

The development and testing has been done using a Kubernetes cluster provisioned with [k3s](https://k3s.io/) on a separated Linux server.

However, the exactly same results could be achieved running on [Minikube](https://github.com/kubernetes/minikube), [Kind](https://kind.sigs.k8s.io/) or any cloud environment.

Running a Kubernetes cluster provisioned with k3s (Linux only):
```bash
export INSTALL_K3S_VERSION=v1.16.15+k3s1
curl -sfL https://get.k3s.io | sh -s - --docker
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
```

### Agones

This project has been developed and tested using Agones 1.9.0. I can't guarantee compatibility to any previous version since it has not been tested.

Although the documentation covers the deployment on a single cluster, the solution can be deployed on a multi cluster topology. The documentation for that scenario will be added soon.

The [PlayerTracking](https://agones.dev/site/docs/guides/player-tracking/) will provide the information about Players (Capacity and Count) which is used by the Allocator when looking for available gameservers. Different matchmaking systems might not require that Agones feature.
- Enable Player Capacity feature gate:
```bash
$ helm install agones --namespace agones-system --create-namespace agones/agones --set agones.featureGates=PlayerTracking=true
```

### Open Match

The manifests to install Open Match 1.0.0 can be found on [deploy/openmatch](deploy/openmatch) folder, they also include Prometheus and Grafana.

These files have been downloaded from the official Open Match repo. The only difference is the number of replicas set to 1 for the core components.

To install all the Open Match components run the following command:
```bash
$ ./deploy/openmatch/deploy.sh
```

You can also check the official Open Match installation docs on https://open-match.dev/site/docs/installation/.

## Development

Below you can find details about the local setup used for the development and testing of this project.

- Dedicated machine for coding the required matchmaking components and extras
- Local Kubernetes cluster running Agones and Open Match - Dedicated Linux Server
- Player simulator, MMF and Director running locally but interacting with Open Match services deployed on Kubernetes
- Services exposed via `NodePort` but the same could be achieved using `kubectl port-forward`

During the development of this project I've exposed some Open Match services using services of type NodePort. That eliminates the need of using `port-forward` to communicate with those services running within the cluster.
```bash
# Check the manifest and update the nodePort field if required.
$ kubectl -n open-match apply -f open-match-services-nodeport.yaml
```

If you are a [direnv](https://direnv.net/) user check the [.envrc.template](.envrc.template) file.

## Matchmaking Components
Below there is a list of all the services and components that put together deliver the match making system. They can be part of this repo, Open Match built in or third party services.

- Repo
    - Player Simulator
    - Game FrontEnd
    - Match Making Function (a.k.a MMF)
    - Director
    - Allocator
        - Octops Discover (Default)
        - Agones Allocator Service

- Open Match
    - Builtin: Backend, Frontend, Query Service, Evaluator, Synchronizer

- Third Party
    - Octops/Discover

## Hypothetical Game Scenario

The scenario considered for the matchmaking takes into consideration the following input:

- GameSession Open world: Players can join and leave a match at any time
- Each Fleet deploys GameServers hosting one specific "World" and "Region":
    - Fleet: us-east-1: Dune
    - Fleet: us-east-2: Nova
    - Fleet: us-west-1: Pandora
    - Fleet: us-west-2: Orion
- Players can join if a GameServer still has enough free capacity (Players.Capacity - Players.Count). Check the [PlayerTracking](https://agones.dev/site/docs/guides/player-tracking/) feature.
- Player's tickets will be grouped by Region, World, Skill and Latency. Skill and Latency are range based.
- Game Client provides the desired match and player's info: Region, World, Skill and Latency. There is nothing crazy going on here. The Player simulator just pick up a fake latency from a range and assign to the ticket.

## Match Making Rules

- Ticket Details: created by the Player simulator and pushed to the Game Service Frontend
    - Game Mode Tag: mode.session
    - Region: us-east-1, us-east-2, us-west-1, us-west-2
    - World: Dune, Nova, Pandora, Orion
    - Skill Level: 1-1000
    - Latency: 0-100

- MMF Criteria
    - Open Match should create PoolTickets based on the above criteria
    - Player capacity: 10 Tickets/Players per match

- Director Profiles
    - Every 5s (interval flag) the [director](pkg/director/openmatch) will generate profiles and request matches
    - Skill and Latency are range based.

## Allocation Rules

**Important**

*The following documentation covers the use case where the Director is using the Octops Discover to find and allocated gameservers. Alternatively, this project also provides the option to use the Agones Allocator service. Check the [docs/agones-allocator.md](docs/agones-allocator.md) document for instructions.*

The allocation service will try to find a GameServer that matches the criteria found on the `Extension` field of the `AssignTicketsRequest`. This information must match with Labels (Region and World) from the Fleet and GameServer.

Rules:
   - GameServer running on the desired Region
   - GameServer hosting the desired World
   - GameServer Capacity can accommodate all the tickets from the match
   - Assign connections to matches or clean up those not allocated

## Looking for GameServers using the Octops Discover Service

The Octops Discover service works like a central GameServers state store.

One of the core components of the Octops Discover is the https://github.com/Octops/agones-event-broadcaster together with a data store and an HTTP API to expose the GameServers states.

The director leverages the searching of the GameServers to the Octops/Discover service.

This service exposes an HTTP API to be consumed by clients looking for GameServer information using some filtering. That includes labels or any [GameServer](https://github.com/googleforgames/agones/blob/master/pkg/apis/agones/v1/gameserver.go) field present on the data struct.

**More details about the Octops Discover project and how it could be used for multi cluster topology will be available soon.**

The manifest to deploy the service can be found on [deploy/third-party/octops.yaml](deploy/third-party/octops.yaml).

An example of how to query for GameServers is shown below. The client requests the service endpoint passing the right query params.
```bash
# Decoded Version
GET http://octops-discover.agones-openmatch.svc.cluster.local:8081/api/v1/gameservers?fields=status.state=Ready&labels=region=us-east-1,world=Dune

# Encoded Version
GET http://octops-discover.agones-openmatch.svc.cluster.local:8081/api/v1/gameservers?fields=status.state%3DReady&labels=region%3Dus-east-1%2Cworld%3DDune
```

Example of a response:

```json
{
    "data": [
        {
            "uid": "6cb220c0-ca9d-4164-bca9-a8aa1a879fd3",
            "name": "fleet-us-east-1-dune-8g8dl-vw9l7",
            "namespace": "default",
            "resource_version": "161047",
            "labels": {
                "agones.dev/fleet": "fleet-us-east-1-dune",
                "agones.dev/gameserverset": "fleet-us-east-1-dune-8g8dl",
                "region": "us-east-1",
                "world": "Dune"
            },
            "status": {
                "state": "Ready",
                "address": "<IP_ADDRESS>:7019",
                "players": {
                    "count": 0,
                    "capacity": 10,
                    "ids": null
                }
            }
        }
    ]
}
```

The Allocator service will use the list of GameServers from the response and assign a connection to ticket based on the GameServer capacity. If any GameServer can accommodate the ticket, the connection will not be assigned.

Alternatively, the director could be extended and use any other sort of allocation mechanism. However, this is not covered by this project due to the game use case presented previously. Future work may include different games scenarios and will explore alternatives to the Octops Discover.

You can find more details of how to allocate GameServers using the Agones Allocation Service on https://agones.dev/site/docs/advanced/allocator-service/.

## Running
All the components will be built into a single binary. The passing argument when running the binary together with a few flags will start the proper process.

Make sure you have the expected `environment variabels` set and pointing to valid endpoints. Check the [.envrc.template](.envrc.template) file for references.

**Important**
Running this project requires the Octops Discover service. Details about this project and service will be added soon.

* Deploy Octops Discover Service
```bash
$ kubectl -n agones-openmatch apply -f deploy/third-party/octops.yaml

# port-forward - This endpoint will be used by the Director when allocating gameservers
$ kubectl -n agones-openmatch port-forward svc/octops-discover 8081
```

Player Simulator
```bash
# Generate 10 random profiles/players every 5 seconds
go run main.go player simulate --players-pool 10 --interval 5s
```

Matchmaking Function - MMF
```bash
$ go run main.go function --verbose
```

Director
```bash
# Generate profiles and Fetch matches every 5 seconds
$ go run main.go director --interval 5s --verbose
```

## Install

The steps below covers the deployment of the whole solution to a Kubernetes cluster.

* Create namespace
```bash
$ kubectl create ns agones-openmatch
```

* Deploy Octops Discover Service
```bash
$ kubectl -n agones-openmatch apply -f deploy/third-party/octops.yaml
```

* Deploy Matchmaking components: MMF, Director and Players Simulator
```bash
# Player simulator replicas=0 check section below
$ kubectl -n agones-openmatch apply -f deploy/install.yaml
```

* Deploy Fleets
```bash
# Default namespace
$ kubectl apply -f demo/fleets/fleets.yaml
```

## Matchmaking

The Player Simulator will generate 10 tickets every 5 seconds. The details of the ticket will be randomly assigned: World, Region, Skill and Latency.

Scale Players Simulator and check logs
```bash
$ kubectl -n agones-openmatch scale deployment agones-openmatch-players --replicas=1
$ kubectl -n agones-openmatch logs -f $(kubectl -n agones-openmatch get pods -l app=agones-openmatch-players -o jsonpath="{.items[0].metadata.name}")
```

Output:
```bash
DEBU[0094] ticketID=buaq0f9m0k8lmh52dp2g playerUID=1ac50018-4ae3-41eb-9540-91eec508fe6e stringArgs=map[region:us-west-2 world:Nova] doubleArgs=map[latency:25 skill:10]
DEBU[0094] ticketID=buaq0f9m0k8lmh52dp30 playerUID=2ee0179d-d0d1-4a63-aa09-e110255a46eb stringArgs=map[region:us-east-2 world:Pandora] doubleArgs=map[latency:25 skill:1000]
DEBU[0094] ticketID=buaq0f9m0k8lmh52dp3g playerUID=26bc9990-b5c1-4b6b-a3d2-7997e7c6244a stringArgs=map[region:us-east-1 world:Orion] doubleArgs=map[latency:50 skill:100]
DEBU[0094] ticketID=buaq0f9m0k8lmh52dp40 playerUID=36f07d2e-565f-4430-aa3f-efae59f5220e stringArgs=map[region:us-east-1 world:Orion] doubleArgs=map[latency:75 skill:10]
```

Check logs from the Director
```bash
kubectl -n agones-openmatch logs -f $(kubectl -n agones-openmatch get pods -l app=agones-openmatch-director -o jsonpath="{.items[0].metadata.name}")
```

Output:
```bash
time="2020-10-27T18:34:03Z" level=info msg="fetching matches for profile world_based_profile_Dune_us-east-2" command=fetch component=director
time="2020-10-27T18:34:03Z" level=info msg="fetching matches for profile world_based_profile_Nova_us-east-2" command=fetch component=director
time="2020-10-27T18:34:03Z" level=info msg="fetching matches for profile world_based_profile_Dune_us-west-1" command=fetch component=director
```

The logs from the Director will show 2 possible situations:
- A match has been created but could not be assigned because a GameServer could not be found (based on the criteria region and world), or it does not have capacity to accommodate all the Players from the Ticket.
```bash
# There is no Fleet hosting Orion on us-east-1
time="2020-10-25T17:10:39Z" level=debug msg="gameservers not found for request with filter map[fields:status.state=Ready labels:region=us-east-1,world=Orion]" component=allocator
```

- A GameServer matches with the match criteria (world, region and capacity) and the connection has been assigned to the tickets.
```bash
# GameServer hosting Orion on us-west-2 assigned to 8 Players
time="2020-10-25T17:09:14Z" level=info msg="gameserver fleet-us-west-2-orion-q42z5-8sjff connection <IP_ADDRESS>:7015 assigned to request, total tickets: 8" component=allocator
```

Check logs from the MMF
```bash
kubectl -n agones-openmatch logs -f $(kubectl -n agones-openmatch get pods -l app=agones-openmatch-mmf -o jsonpath="{.items[0].metadata.name}")
```

Output:
```bash
time="2020-10-27T18:35:23Z" level=debug msg="creating match for ticket buc6f80rcraqq57mlhe0" command=matchmaker component=match_function
time="2020-10-27T18:35:23Z" level=debug msg="total matches for profile world_based_profile_Orion_us-east-1: 1" command=matchmaker component=match_function
time="2020-10-27T18:35:23Z" level=debug msg="total matches for profile world_based_profile_Dune_us-west-1: 0" command=matchmaker component=match_function
time="2020-10-27T18:35:23Z" level=debug msg="creating match for ticket buc6f98rcraqq57mlhhg" command=matchmaker component=match_function
time="2020-10-27T18:35:23Z" level=debug msg="total matches for profile world_based_profile_Nova_us-west-2: 1" command=matchmaker component=match_function
```

Open Match Dashboards

Check metrics from Open Match services using the Grafana dashboards deployed together with the other components.

```bash
$ kubectl -n open-match port-forward svc/open-match-grafana 3000
# Username: Admin Password: openmatch
```

## Troubleshooting

If you are experiencing weird errors related to gRPC and Context deadlines on your local development environment, there is a reset Open Match script that will delete all the Open Match pods and Redis instances.

I still don't have a clear idea of what gets corrupted or if this is something related to the lack of resources running locally.

```bash
$ ./hack/reset_openmatch.sh
```

## Roadmap

- [ ] Improve test cases and coverage
- [x] Implement Allocator using Agones Allocation Service via gRPC
- [ ] Instrument with Prometheus
- [ ] Explore different MMF logics
- [x] Record demo
- [ ] Document multi cluster deployment
- [ ] Extract Profile Generator to a service
- [ ] Extract Allocator to a service
- [ ] Delete assigned tickets - Player Simulator
- [ ] Add CI

## Contributions or Feedbacks

Issues and pull requests are welcome.

The project's goal is not to be a plug and play matchmaking system that works for every single use case. Instead it could inspire other folks who are looking for some examples which use the same or similar stack.

Some components could be easily extracted or extended in a way that it would cover different uses cases.

You can reach out on Agones or Open Match Slack if you have any question.


text:
# uwa

**uwa** is a JavaScript compression kit.

The packages included in this installation are:

- google-closure-compiler
- [Roadroller][roadroller] by Kang Seonghoon
- rollup
- terser

[roadroller]: https://medium.com/js13kgames/roadroller-postmortem-f24691b0d54b

## Installation

```sh
npm install --global uwa
```

## License

[MIT](https://choosealicense.com/licenses/mit/)

repository: mvasilkov/uwa

repo_name: mvasilkov/uwa


text:
---
id: faastjs.commonoptions.childprocess
title: CommonOptions.childProcess property
hide_title: true
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[faastjs](./faastjs.md) > [CommonOptions](./faastjs.commonoptions.md) > [childProcess](./faastjs.commonoptions.childprocess.md)

## CommonOptions.childProcess property

If true, create a child process to isolate user code from faast scaffolding. Default: true.

**Signature:**

```typescript
childProcess?: boolean;
```

## Remarks

If a child process is not created, faast runs in the same node instance as the user code and may not execute in a timely fashion because user code may [block the event loop](https://nodejs.org/en/docs/guides/dont-block-the-event-loop/)<!-- -->. Creating a child process for user code allows faast.js to continue executing even if user code never yields. This provides better reliability and functionality:

- Detect timeout errors more reliably, even if the function doesn't relinquish the CPU. Not applicable to AWS, which sends separate failure messages in case of timeout. See [CommonOptions.timeout](./faastjs.commonoptions.timeout.md)<!-- -->.

- CPU metrics used for detecting invocations with high latency, which can be used for automatically retrying calls to reduce tail latency.

The cost of creating a child process is mainly in the memory overhead of creating another node process.

gha_language: TypeScript


text:
# How it works

## Command, query & event handling

`Command`, `Query` & `Event` and their handlers are **empty** interfaces. Let's see how it works.

Each `Command`, `Query` & `Event` are just POPO seen as messages. For all of them, we use the bus pattern to dispatch and
handle these messages. They are all transported on their own bus.

There is a default implementation of these buses with the [Symfony Messenger Component](https://symfony.com/doc/4.1/messenger.html).

Messages & handlers are implementing their respective interfaces and first magic happend here: Botilka tags all the handler with `messenger.message_handler`,
everything is automatically wired using auto-configuration and the matching between a message and it(s) handler(s) is done by the Messenger component.

> Botilka recommands to have the `__invoke` method with the type hinted message as the sole argument,
> but you can use all the features provided by the Messenger component.

## Domain event

A command generate a domain event. This event has 2 differents handling: domain event handlers & projections.

### Event handler

Distpatching an event to it's hanlder is done by a [bus middleware](src/Botilka/Infrastructure/Symfony/Messenger/Middleware/EventDispatcherMiddleware.php)
that dispatch this event on the event bus.

### Projector

Even if projector is just another event handler, event handlers & projections have a real different meaning in ES/CQRS, so Botilka
have choosed to separate them. By doing that, it enable the capability to work with projectors in a datached way from events and allows us to
re-execute projector from the event stream without having event triggered, so no business-side effect (no mails resent, ...).
So if you decide to create a new projection, you can build it from the event store in production!

> If your projectors are slow, make them async!

The same middleware used for event handlers is used too to call the projectors.

repository: botilka/botilka

repo_name: botilka/botilka


text:
## Amsel :bird:

This project is dedicated to develop a preferably cheap robot for freshmen students to teach them basic coding. Main focus is to learn python in a way as easy as possible without whitewash the fundamental structures of programming.

**[Learn how it works!](https://moritzgvt.github.io/amsel/)**

### Getting Started
Read the [documentation](https://moritzgvt.github.io/amsel/getting-started) for an installation and usage guide.

### Library supported
Get `amselpy` library. [Learn more …](https://moritzgvt.github.io/amselpy/)
``` python
# import library
from amselpy import Amsel

# create instance
amsel = Amsel()

# set request adress
amsel.use("<IP_ADDRESS>")

# control movements
amsel.forward()
amsel.sleep(5)
amsel.stop()
```

### Onboard API
Use the Amsels IP address (default: `<IP_ADDRESS>`) as an endpoint to fetch data or trigger functionality.

[Learn more …](https://moritzgvt.github.io/amsel/api/)

### Additional Information
This code is a result of the course "Roboter Didaktik" at University of Media Stuttgart.

### License

[MIT License](https://github.com/moritzgvt/amsel/blob/master/LICENSE) | Copyright © 2019 Moritz Gut (moritzgvt)

repository: baumeise/amsel

repo_name: baumeise/amsel


text:
# Contributing

Thanks for your interest in contributing to Esploated! Please take a moment to review this document **before submitting an issue or pull request**.

## Issues

The simplest way to contribute is to [create an issue](https://github.com/cossssmin/esploated/issues/new) - you only need a GitHub account.

An issue template is provided, so you only need to replace the text in `[brackets]`.

For the issue title, please follow the suggested format:

```
[ESP NAME]: [ISSUE]
```

For example:

```
Mailchimp: duplicated media queries
```

## Pull Requests

Open a pull request to add an ESP or an ESP bug.

### Adding ESPs

ESPs are listed in alphabetical order in [`providers.json`](https://github.com/cossssmin/esploated/blob/master/providers.json).

When adding an ESP, please make sure to:

1. Add their website URL
2. Spell their name correctly
3. Insert the entry at the correct (alphabetical) position

### Adding bugs

Each ESP bug has a corresponding `.md` file inside the `content/[esp]/` folder.

For example, `content/campaign-monitor/auto-paragraphs.md`:

> Note: make sure your file name is concise.

```md
---
esp: "Campaign Monitor"
title: "Text editor automatically adds paragraphs"
description: "The rich text editor in Campaign Monitor adds paragraph tags when hitting Enter"
fixed: "n/a"
date: 2020-01-16 13:20:43
author: ['John Doe', 'https://example.com']
tags: ['campaign-monitor', 'editor']
---

## Issue

Campaign Monitor's rich text editor automatically inserts `<p>` tags in `<multiline>` editable text areas.

Depending on where you're using `<multiline>`, this can result in invalid HTML or unexpected text formatting.

## Solution

Make sure to use `<multiline>` only where `<p>` tags would normally be output in your code.

Alternatively, you can click the `<> Source` button in the editor and manually remove the `<p>` tags surrounding your text.
```

As you can see, an `.md` file starts with a YAML Front Matter block:

- `esp` : the name of the ESP, exactly as in the `providers.json` file
- `title` : short description of the bug, used as the page title
- `description` : longer, used as the page meta description
- `fixed` : is it fixed by the ESP? Can be `true`, `false`, or `"n/a"` if it's just an annoying _feature_
- `date` : when was this file last updated, in `YYYY-MM-DD HH:mm:ss` format
- `author` : who submitted this issue? Can be `string` or `array`:
    - `"John Doe"` - just your name
    - `['John Doe', 'https://example.com']` - your name linked to your website
- `tags` : array of up to 3 relevant tags, in `kebab-case`

Then, we describe the problem under `## Issue`. If there's a way to fix it, we write it under `## Solution` (otherwise write `N/A`).

repository: cossssmin/esploated

repo_name: cossssmin/esploated