text:
## Genotype Refinement workflow

By Geraldine_VdAuwera

Overview

This document describes the purpose and general principles of the Genotype Refinement workflow. For the mathematical details of the methods involved, please see the Genotype Refinement math documentation. For step-by-step instructions on how to apply this workflow to your data, please see the Genotype Refinement tutorial.

1. Introduction

The core GATK Best Practices workflow has historically focused on variant discovery --that is, the existence of genomic variants in one or more samples in a cohorts-- and consistently delivers high quality results when applied appropriately. However, we know that the quality of the individual genotype calls coming out of the variant callers can vary widely based on the quality of the BAM data for each sample.  The goal of the Genotype Refinement workflow is to use additional data to improve the accuracy of genotype calls and to filter genotype calls that are not reliable enough for downstream analysis. In this sense it serves as an optional extension of the variant calling workflow, intended for researchers whose work requires high-quality identification of individual genotypes.

A few commonly asked questions are:

What studies can benefit from the Genotype Refinement workflow?

While every study can benefit from increased data accuracy, this workflow is especially useful for analyses that are concerned with how many copies of each variant an individual has (e.g. in the case of loss of function) or with the transmission (or de novo origin) of a variant in a family.

What additional data do I need to run the Genotype Refinement workflow?

If  a “gold standard” dataset for SNPs is available, that can be used as a very powerful set of priors on the genotype likelihoods in your data. For analyses involving families, a pedigree file describing the relatedness of the trios in your study will provide another source of supplemental information. If neither of these applies to your data, the samples in the dataset itself can provide some degree of genotype refinement (see section 5 below for details).

Is the Genotype Refinement workflow going to change my data? Can I still use my old analysis pipeline?

After running the Genotype Refinement workflow, several new annotations will be added to the INFO and FORMAT fields of your variants (see below), GQ fields will be updated, and genotype calls may be modified. However, the Phred-scaled genotype likelihoods (PLs) which indicate the original genotype call (the genotype candidate with PL=0) will remain untouched. Any analysis that made use of the PLs will produce the same results as before.

2. The Genotype Refinement workflow

Overview

Input

Begin with recalibrated variants from VQSR at the end of the best practices pipeline. The filters applied by VQSR will be carried through the Genotype Refinement workflow.

Step 1: Derive posterior probabilities of genotypes

Tool used: CalculateGenotypePosteriors

Using the Phred-scaled genotype likelihoods (PLs) for each sample, prior probabilities for a sample taking on a HomRef, Het, or HomVar genotype are applied to derive the posterior probabilities of the sample taking on each of those genotypes. A sample’s PLs were calculated by HaplotypeCaller using only the reads for that sample. By introducing additional data like the allele counts from the 1000 Genomes project and the PLs for other individuals in the sample’s pedigree trio, those estimates of genotype likelihood can be improved based on what is known about the variation of other individuals.

SNP calls from the 1000 Genomes project capture the vast majority of variation across most human populations and can provide very strong priors in many cases. At sites where most of the 1000 Genomes samples are homozygous variant with respect to the reference genome, the probability of a sample being analyzed of also being homozygous variant is very high.

For a sample for which both parent genotypes are available, the child’s genotype can be supported or invalidated by the parents’ genotypes based on Mendel’s laws of allele transmission. Even the confidence of the parents’ genotypes can be recalibrated, such as in cases where the genotypes output by HaplotypeCaller are apparent Mendelian violations.

Step 2: Filter low quality genotypes

Tool used: VariantFiltration

After the posterior probabilities are calculated for each sample at each variant site, genotypes with GQ < 20 based on the posteriors are filtered out. GQ20 is widely accepted as a good threshold for genotype accuracy, indicating that there is a 99% chance that the genotype in question is correct. Tagging those low quality genotypes indicates to researchers that these genotypes may not be suitable for downstream analysis.  However, as with the VQSR, a filter tag is applied, but the data is not removed from the VCF.

Step 3: Annotate possible de novo mutations

Tool used: VariantAnnotator

Using the posterior genotype probabilities, possible de novo mutations are tagged. Low confidence de novos have child GQ >= 10 and AC < 4 or AF < 0.1%, whichever is more stringent for the number of samples in the dataset. High confidence de novo sites have all trio sample GQs >= 20 with the same AC/AF criterion.

Step 4: Functional annotation of possible biological effects

Tool options: SnpEff or Oncotator (both are non-GATK tools)

Especially in the case of de novo mutation detection, analysis can benefit from the functional annotation of variants to restrict variants to exons and surrounding regulatory regions. The GATK currently does not feature integration with any functional annotation tool, but SnpEff and Oncotator are useful utilities that can work with the GATK's VCF output.

3. Output annotations

The Genotype Refinement Pipeline adds several new info- and format-level annotations to each variant. GQ fields will be updated, and genotypes calculated to be highly likely to be incorrect will be changed. The Phred-scaled genotype likelihoods (PLs) carry through the pipeline without being changed. In this way, PLs can be used to derive the original genotypes in cases where sample genotypes were changed.

Population Priors

New INFO field annotation PG is a vector of the Phred-scaled prior probabilities of a sample at that site being HomRef, Het, and HomVar. These priors are based on the input samples themselves along with data from the supporting samples if the variant in question overlaps another in the supporting dataset.

Phred-Scaled Posterior Probability

New FORMAT field annotation PP is the Phred-scaled posterior probability of the sample taking on each genotype for the given variant context alleles. The PPs represent a better calibrated estimate of genotype probabilities than the PLs are recommended for use in further analyses instead of the PLs.

Genotype Quality

Current FORMAT field annotation GQ is updated based on the PPs. The calculation is the same as for GQ based on PLs.

Joint Trio Likelihood

New FORMAT field annotation JL is the Phred-scaled joint likelihood of the posterior genotypes for the trio being incorrect. This calculation is based on the PLs produced by HaplotypeCaller (before application of priors), but the genotypes used come from the posteriors. The goal of this annotation is to be used in combination with JP to evaluate the improvement in the overall confidence in the trio’s genotypes after applying CalculateGenotypePosteriors. The calculation of the joint likelihood is given as:

$$ -10*\log ( 1-GL_{mother}[\text{Posterior mother GT}] * GL_{father}[\text{Posterior father GT}] * GL_{child}[\text{Posterior child GT}] ) $$

where the GLs are the genotype likelihoods in [0, 1] probability space.

Joint Trio Posterior

New FORMAT field annotation JP is the Phred-scaled posterior probability of the output posterior genotypes for the three samples being incorrect. The calculation of the joint posterior is given as:

$$ -10*\log (1-GP_{mother}[\text{Posterior mother GT}] * GP_{father}[\text{Posterior father GT}] * GP_{child}[\text{Posterior child GT}] )$$

where the GPs are the genotype posteriors in [0, 1] probability space.

Low Genotype Quality

New FORMAT field filter lowGQ indicates samples with posterior GQ less than 20. Filtered samples tagged with lowGQ are not recommended for use in downstream analyses.

High and Low Confidence De Novo

New INFO field annotation for sites at which at least one family has a possible de novo mutation. Following the annotation tag is a list of the children with de novo mutations. High and low confidence are output separately.

4. Example

Before:

1       1226231 rs13306638      G       A       167563.16       PASS    AC=2;AF=0.333;AN=6;…        GT:AD:DP:GQ:PL  0/0:11,0:11:0:0,0,249   0/0:10,0:10:24:0,24,360 1/1:0,18:18:60:889,60,0

After:

1       1226231 rs13306638      G       A       167563.16       PASS    AC=3;AF=0.500;AN=6;…PG=0,8,22;…    GT:AD:DP:GQ:JL:JP:PL:PP 0/1:11,0:11:49:2:24:0,0,249:49,0,287    0/0:10,0:10:32:2:24:0,24,360:0,32,439   1/1:0,18:18:43:2:24:889,60,0:867,43,0

The original call for the child (first sample) was HomRef with GQ0.  However, given that, with high confidence, one parent is HomRef and one is HomVar, we expect the child to be heterozygous at this site.  After family priors are applied, the child’s genotype is corrected and its GQ is increased from 0 to 49.  Based on the allele frequency from 1000 Genomes for this site, the somewhat weaker population priors favor a HomRef call (PG=0,8,22). The combined effect of family and population priors still favors a Het call for the child.

The joint likelihood for this trio at this site is two, indicating that the genotype for one of the samples may have been changed.  Specifically a low JL indicates that posterior genotype for at least one of the samples was not the most likely as predicted by the PLs. The joint posterior value for the trio is 24, which indicates that the GQ values based on the posteriors for all of the samples are at least 24. (See above for a more complete description of JL and JP.)

5. More information about priors

The Genotype Refinement Pipeline uses Bayes’s Rule to combine independent data with the genotype likelihoods derived from HaplotypeCaller, producing more accurate and confident genotype posterior probabilities. Different sites will have different combinations of priors applied based on the overlap of each site with external, supporting SNP calls and on the availability of genotype calls for the samples in each trio.

Input-derived Population Priors

If the input VCF contains at least 10 samples, then population priors will be calculated based on the discovered allele count for every called variant.

Supporting Population Priors

Priors derived from supporting SNP calls can only be applied at sites where the supporting calls overlap with called variants in the input VCF. The values of these priors vary based on the called reference and alternate allele counts in the supporting VCF. Higher allele counts (for ref or alt) yield stronger priors.

Family Priors

The strongest family priors occur at sites where the called trio genotype configuration is a Mendelian violation. In such a case, each Mendelian violation configuration is penalized by a de novo mutation probability (currently 10-6). Confidence also propagates through a trio. For example, two GQ60 HomRef parents can substantially boost a low GQ HomRef child and a GQ60 HomRef child and parent can improve the GQ of the second parent. Application of family priors requires the child to be called at the site in question. If one parent has a no-call genotype, priors can still be applied, but the potential for confidence improvement is not as great as in the 3-sample case.

Caveats

Right now family priors can only be applied to biallelic variants and population priors can only be applied to SNPs. Family priors only work for trios.

repository: michaelSkaro/gatk-docs

repo_name: michaelSkaro/gatk-docs


text:
![Contentful App](https://img.shields.io/badge/Contentful-App-blue)

# Contentful GraphQL Playground App

> A [Contentful App](https://www.contentful.com/developers/docs/extensibility/app-framework/) to query Contentful's GraphQL API using GraphQL Playground right from with in web interface.

![Screenshot of GraphQL playground inside of the Contentful UI](./screenshot.png)

## Setup

### Installation from the Contentful Marketplace

Open [the Contentful GraphQL Playground app Marketplace entry](https://www.contentful.com/marketplace/app/graphql-playground/) and hit "Install now".

### Manual setup (only needed for local development)

[The Contentful App Framework](https://www.contentful.com/developers/docs/extensibility/app-framework/) allows developers to extend the Contentful UI with custom functionality.

#### Starting the app locally

In order to start developing on the _Contentful GraphQL Playground App_ you need to start it on your machine

```sh
npm start
```

#### Configure and install the app

To install and develop this app head over to your organization settings and create a new app.

![Installation dialog](./docs/installation.png)

Define the application name you prefer and the following App URL: `http://localhost:3000`.

This app supports the following locations in the Contentful UI:

- (Required) App configuration screen (`app-config`) – configure the GraphQL playground app
- (Optional) Entry sidebar (`entry-sidebar`) - open GraphQL playground from the entry editor sidebar
- (Optional) Page (`page`) - use GraphQL playground as a full page app

_Make sure to enable the App configuration screen to configure the application._

![App configuration dialog](./docs/app-config.png)

Install the app into your preferred space. Create and define a CPA (Content Preview API) token and save the configuration. Follow the instructions inside the app configuration screen to enable the app for the entry sidebar.

Happy querying! 👋

## Development

> This project was bootstrapped with [Create Contentful App](https://github.com/contentful/create-contentful-app).

In the project directory, you can run:

#### `npm start`

[Create or update your app definition](#configure-and-install-the-app) in Contentful, and run the app in development mode.
Open your app to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

#### `npm run build`

Builds the app for production to the `build` folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

## Incorporating downstream changes

This code was originally sourced from [this repository](https://github.com/contentful/contentful-graphql-playground-app).

While we expect and encourage all the changes to be made [here](https://github.com/contentful/apps), there is a chance
we might need to sync changes coming from the downstream repo.

At this point the process is manual, and it goes like this

```shell
# from repository's root

git subtree pull --prefix apps/graphql-playground https://github.com/contentful/contentful-graphql-playground-app main --squash
```

## Learn More

[Read more](https://www.contentful.com/developers/docs/extensibility/app-framework/create-contentful-app/) and check out the video on how to use the CLI.

Create Contentful App uses [Create React App](https://create-react-app.dev/). You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started) and how to further customize your app.

license: MIT

repository: contentful/apps

branch_name: refs/heads/master

extension: md

gha_language: TypeScript

license_type: permissive

repo_name: contentful/apps


text:
If you used PASTIS in your work, please cite the paper Laginja et al., submitted [1] and the software version you
used in your work [2]. To cite the scientific method, please consider also citing Leboulleux et al., 2018 [3].

We provide the following LaTeX/BibTeX acknowledgment if there is no specific place to cite the above:
```
"This research made use of PASTIS \citep{Laginja-submitted, pastis-v1.3.0}, a modular, open-source Python package for
segment-level error budgeting of segmented telescopes \citep{Leboulleux2018}."
```

[1] Laginja et al., submitted
```
@unpublished{Laginja-submitted,
    author = "{Laginja}, Iva and {Soummer}, R{\'e}mi and {Mugnier}, Laurent M. and {Pueyo}, Laurent and
              {Sauvage}, Jean-Fran{\c{c}}ois and {Leboulleux}, Lucie and {Coyle}, Laura and {Knight}, J. Scott",
    title = "Analytical tolerancing of segmented telescope co-phasing for exo-Earth high-contrast imaging",
    journal = {Journal of Astronomical Telescopes, Instruments, and Systems},
    year = 2020,
    note = "Submitted",
}
```

[2] The latest version of the package can be cited with this BibTeX entry. To find the appropriate entry for the
particular version you used, please pick the correct one on [Zenodo](https://zenodo.org/record/4170252).
```
@software{pastis-v2.0.0,
  author       = {{Laginja}, Iva},
  title        = {PASTIS: v2.0.0 Semi-analytical PASTIS for LUVOIR},
  month        = oct,
  year         = 2020,
  publisher    = {Zenodo},
  version      = {v2.0.0},
  doi          = {10.5281/zenodo.4170252},
  url          = {https://doi.org/10.5281/zenodo.4170252}
}
```

[3] Leboulleux et al., 2018
```
@ARTICLE{Leboulleux2018,
       author = {{Leboulleux}, Lucie and {Sauvage}, Jean-Fran{\c{c}}ois and
         {Pueyo}, Laurent A. and {Fusco}, Thierry and {Soummer}, R{\'e}mi and
         {Mazoyer}, Johan and {Sivaramakrishnan}, Anand and {N'Diaye}, Mamadou and
         {Fauvarque}, Olivier},
        title = "{Pair-based Analytical model for Segmented Telescopes Imaging from Space for sensitivity analysis}",
      journal = {Journal of Astronomical Telescopes, Instruments, and Systems},
     keywords = {Astrophysics - Instrumentation and Methods for Astrophysics},
         year = 2018,
        month = jul,
       volume = {4},
          eid = {035002},
        pages = {035002},
          doi = {10.1117/1.JATIS.4.3.035002},
archivePrefix = {arXiv},
       eprint = {1807.00870},
 primaryClass = {astro-ph.IM},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2018JATIS...4c5002L},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```

repository: spacetelescope/PASTIS

branch_name: refs/heads/develop

gha_language: Jupyter Notebook

repo_name: spacetelescope/PASTIS


text:
# Budget - 2012 Budget Ordinance - Appropriations

## Dataset

| Name | Value |
| :--- | :---- |
| Catalog | [Link](https://catalog.data.gov/dataset/budget-2012-budget-ordinance-appropriations-8232a) |
| Metadata | [Link](https://data.cityofchicago.org/api/views/8ix6-nb7q) |
| Data: JSON | [100 Rows](https://data.cityofchicago.org/api/views/8ix6-nb7q/rows.json?max_rows=100) |
| Data: CSV | [100 Rows](https://data.cityofchicago.org/api/views/8ix6-nb7q/rows.csv?max_rows=100) |
| Host | data.cityofchicago.org |
| Id | 8ix6-nb7q |
| Name | Budget - 2012 Budget Ordinance - Appropriations |
| Attribution | City of Chicago |
| Category | Administration & Finance |
| Tags | budget, 2012 |
| Created | 2011-11-17T19:01:46Z |
| Publication Date | 2011-11-17T23:35:10Z |

## Description

The Annual Appropriation Ordinance is the final City operating budget as approved by the City Council. It reflects the City?s operating budget at the beginning of the fiscal year on January 1. This dataset details the budgeted expenditures in the Ordinance and identifies them by department, appropriation account, and funding type: Local, Community Development Block Grant Program (CDBG), and other Grants. ?Local? funds refer to those line items that are balanced with locally generated revenue sources, including but not limited to the Corporate Fund, Water Fund, Midway and O?Hare Airport funds, Vehicle Tax Fund, Library Fund and General Obligation Bond funds. Owner: Budget and Management. Frequency: Data is updated annually. For more information about the budget process, visit the Budget Documents page: http://j.mp/lPotWf.

## Columns

```ls
| Included | Schema Type    | Field Name                          | Name                                | Data Type | Render Type |
| ======== | ============== | =================================== | =================================== | ========= | =========== |
| Yes      | series tag     | fund_type                           | FUND TYPE                           | text      | text        |
| Yes      | series tag     | fund_code                           | FUND CODE                           | text      | text        |
| Yes      | series tag     | fund_description                    | FUND DESCRIPTION                    | text      | text        |
| Yes      | series tag     | department_number                   | DEPARTMENT NUMBER                   | text      | number      |
| Yes      | series tag     | department_description              | DEPARTMENT DESCRIPTION              | text      | text        |
| Yes      | series tag     | appropriation_authority             | APPROPRIATION AUTHORITY             | text      | number      |
| Yes      | series tag     | appropriation_authority_description | APPROPRIATION AUTHORITY DESCRIPTION | text      | text        |
| Yes      | series tag     | appropriation_account               | APPROPRIATION ACCOUNT               | text      | number      |
| Yes      | series tag     | appropriation_account_description   | APPROPRIATION ACCOUNT DESCRIPTION   | text      | text        |
| Yes      | numeric metric | ordinance_amount_                   | 2012 ORDINANCE (AMOUNT $)           | money     | money       |
```

## Time Field

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

## Data Commands

```ls
series e:8ix6-nb7q d:2012-01-01T00:00:00.000Z t:department_description="OFFICE OF THE MAYOR" t:fund_code=100 t:fund_type=Local t:appropriation_account=5 t:appropriation_authority_description="OFFICE OF THE MAYOR" t:appropriation_authority=2005 t:department_number=1 t:appropriation_account_description="SALARIES AND WAGES - ON PAYROLL" t:fund_description="CORPORATE FUND" m:ordinance_amount_=5142155

series e:8ix6-nb7q d:2012-01-01T00:00:00.000Z t:department_description="OFFICE OF THE MAYOR" t:fund_code=100 t:fund_type=Local t:appropriation_account=126 t:appropriation_authority_description="OFFICE OF THE MAYOR" t:appropriation_authority=2005 t:department_number=1 t:appropriation_account_description="OFFICE CONVENIENCES" t:fund_description="CORPORATE FUND" m:ordinance_amount_=1200

series e:8ix6-nb7q d:2012-01-01T00:00:00.000Z t:department_description="OFFICE OF THE MAYOR" t:fund_code=100 t:fund_type=Local t:appropriation_account=130 t:appropriation_authority_description="OFFICE OF THE MAYOR" t:appropriation_authority=2005 t:department_number=1 t:appropriation_account_description=POSTAGE t:fund_description="CORPORATE FUND" m:ordinance_amount_=23400
```

## Meta Commands

```ls
metric m:ordinance_amount_ p:integer l:"2012 ORDINANCE (AMOUNT $)" t:dataTypeName=money

entity e:8ix6-nb7q l:"Budget - 2012 Budget Ordinance - Appropriations" t:attribution="City of Chicago" t:url=https://data.cityofchicago.org/api/views/8ix6-nb7q

property e:8ix6-nb7q t:meta.view v:id=8ix6-nb7q v:category="Administration & Finance" v:attributionLink=http://www.cityofchicago.org/city/en/depts/obm/provdrs/city_budg.html v:averageRating=0 v:name="Budget - 2012 Budget Ordinance - Appropriations" v:attribution="City of Chicago"

property e:8ix6-nb7q t:meta.view.owner v:id=scy9-9wg4 v:profileImageUrlMedium=/api/users/scy9-9wg4/profile_images/THUMB v:profileImageUrlLarge=/api/users/scy9-9wg4/profile_images/LARGE v:screenName=cocadmin v:profileImageUrlSmall=/api/users/scy9-9wg4/profile_images/TINY v:displayName=cocadmin v:privilegesDisabled=false

property e:8ix6-nb7q t:meta.view.tableauthor v:id=scy9-9wg4 v:profileImageUrlMedium=/api/users/scy9-9wg4/profile_images/THUMB v:profileImageUrlLarge=/api/users/scy9-9wg4/profile_images/LARGE v:screenName=cocadmin v:profileImageUrlSmall=/api/users/scy9-9wg4/profile_images/TINY v:roleName=administrator v:displayName=cocadmin v:privilegesDisabled=false
```

## Top Records

```ls
| fund_type | fund_code | fund_description | department_number | department_description | appropriation_authority | appropriation_authority_description | appropriation_account | appropriation_account_description | ordinance_amount_ |
| ========= | ========= | ================ | ================= | ====================== | ======================= | =================================== | ===================== | ================================= | ================= |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 5                     | SALARIES AND WAGES - ON PAYROLL   | 5142155           |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 126                   | OFFICE CONVENIENCES               | 1200              |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 130                   | POSTAGE                           | 23400             |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 150                   | PUBLICATN & REPRODT-OUT           | 1000              |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 157                   | RENTAL EQUIPMENT AND SERVICES     | 49500             |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 159                   | LEASE PURCHASE AGREEMNT           | 63500             |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 162                   | REPAIR/MAINT EQUIPMENT            | 6984              |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 166                   | DUES SUBSC & MEM                  | 18500             |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 169                   | TECHNICAL MEETING COSTS           | 5286              |
| Local     | 100       | CORPORATE FUND   | 1                 | OFFICE OF THE MAYOR    | 2005                    | OFFICE OF THE MAYOR                 | 181                   | MOBILE COMM SERVICES              | 39730             |
```

repository: SpellarBot/open-data-catalog

repo_name: SpellarBot/open-data-catalog


text:
# Yelp API

In this exercise you'll be using the Yelp API to grab data and plot the data in a bar graph. This exercise is meant to give you more practice with calling an API as well as manipulating the data that you get back.

## This includes

* Calling the API to grab data
* Testing that API data is returned correctly
* Converting API responses into JSON format
* Storing the data as a pandas DataFrame
* Plotting the data in a bar graph

## Dependencies

In order for you to test and make calls to the API you will need to generate your own API key and store it in a `config.py` file. An API key for this exercise can be generated at [this link](https://www.yelp.com/developers/v3/manage_app)

You must fill out the form to create an application. Your API key will be generated after filling out the form.

gha_license_id: MIT


text:
# server-init
Server initialization, install basic packages, setup basic security stuff and
create _ansible_ user.

This role can be run both as `root` and as any other sudoer.
This will only disable the `root` login if it can connect as a sudoer.

## Requirements
Role created for Ubuntu 16.04 amd64 and armhf.
**become** is required to run this role.

## Role Variables
### Mandatory
```yaml
# Use this to generate init_user_password_crypted:
# mkpasswd -m sha-512

init_hostname:
init_user_login:
init_user_password_crypted:
init_user_pubkey:  # "ssh-rsa (…)"
```

### Optional
```yaml
# boolean, should we disable ufw ipv6 support, this is needed on some armhf hosts.
init_disable_ufw_ipv6:

# Ports en open, eg.:
init_ufw_open:
  - to_port: 80
    proto: "tcp"

# Files to write, eg.:
init_files:
  - content="foo"
    dest="/bar"
    owner="root"
    group="root"
    mode="0600"
```

## Dependencies
None.

## Example Playbook
Don't become on the whole play but on the role. If you become on the whole play
you'll be root when the fact gathering occurs.
This prevents the role from removing password-authenticated remote root access
as we don't do it if `ansible_user_id` is root (to avoid locking ourselves
out).

This also means the role should be run at least twice, once as root to create
the `ansible` user and once as `ansible` to remove root access.

```yaml
- hosts: all
  roles:
    - {role: "L-P.server-init", become: true}
```

## License
MIT

repository: L-P/ansible-role-server-init

repo_name: L-P/ansible-role-server-init


text:
This extension simply shrinks the size of XML documentation comments.

The code borrows heavily from ItalicComments found here: https://github.com/noahric/italiccomments

All source code is released under [MS-PL](http://www.opensource.org/licenses/ms-pl.html).

license: MS-PL

repository: bling/XmlCommentShrink

extension: markdown

repo_name: bling/XmlCommentShrink


text:
# @title Installation

# Installation

## System Requirements

In order to use Polyphony you need to have:

- Linux or MacOS (support for Windows will come at a later stage)
- Ruby (MRI) 3.1 or newer

## Installing the Polyphony Gem

Add this line to your application's Gemfile:

```ruby
gem 'polyphony'
```

And then execute:

```bash
$ bundle
```

Or install it yourself as:

```bash
$ gem install polyphony
```

repository: digital-fabric/polyphony

gha_language: C

repo_name: digital-fabric/polyphony


text:
# texparser

A very simple texparser in pure erlang.

You have to install rebar3 for building this: See https://github.com/erlang/rebar3

## Integrate

texparser is currently not ready for production.
When it will be finished, it will be available at http://hex.pm/

## Compile

	rebar3 compile

## Run Tests

	rebar3 ct

repository: ratopi/texparser

repo_name: ratopi/texparser


text:
# Crossplane CLI

## Installation

Get the commands on the PATH so `kubectl` can pick them up:
```
curl -o /usr/local/bin/kubectl-crossplane-stack-build https://raw.githubusercontent.com/suskin/crossplane-stack-cli/master/bin/kubectl-crossplane-stack-build -s >/dev/null
curl -o /usr/local/bin/kubectl-crossplane-stack-init https://raw.githubusercontent.com/suskin/crossplane-stack-cli/master/bin/kubectl-crossplane-stack-init -s >/dev/null
curl -o /usr/local/bin/kubectl-crossplane-stack-publish https://raw.githubusercontent.com/suskin/crossplane-stack-cli/master/bin/kubectl-crossplane-stack-publish -s >/dev/null
chmod +x /usr/local/bin/kubectl-crossplane-stack-*
```

## Usage

```
kubectl crossplane stack init 'myname/mysubname'
kubectl crossplane stack build
kubectl crossplane stack publish
```

# Quick Start: Stacks

This guide will show you the basics for using the Stacks CLI to create
and develop a stack with a basic controller that responds to a certain
type of object.

Excluding installing prerequisites, it'll take about 5 minutes!

## Install prerequisites

The workflow for working with a stack assumes that you have a few
things installed:

* [go](https://golang.org/doc/install)
* [docker](https://www.docker.com/products/docker-desktop)
* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
* [kubebuilder, version 2][kubebuilder quick start]
* [kustomize](https://github.com/kubernetes-sigs/kustomize/blob/master/docs/INSTALL.md)
  (this is an optional dependency of kubebuilder and is not required)
* [GNU make](https://www.gnu.org/software/make/)
* bash
* [crossplane](https://github.com/crossplaneio/crossplane),
  or your `kubectl` should be set up to talk to a crossplane
  control cluster

`make` and `bash` are probably already installed if you're using a
Unix-like environment or MacOS.

### Install Kubebuilder
Instructions to install kubebuilder come from the [kubebuilder quick
start][kubebuilder quick start], but are reproduced here for
convenience.

```
os=$(go env GOOS)
arch=$(go env GOARCH)

# download kubebuilder and extract it to tmp
curl -sL https://go.kubebuilder.io/dl/2.0.0/${os}/${arch} | tar -xz -C /tmp/

# move to a long-term location and put it on your path
# (you'll need to set the KUBEBUILDER_ASSETS env var if you put it somewhere else)
sudo mv /tmp/kubebuilder_2.0.0_${os}_${arch} /usr/local/kubebuilder
export PATH=$PATH:/usr/local/kubebuilder/bin
```

## Install CLI
Installing the `kubectl` plugins is pretty simple.

Copy the plugins to somewhere on your `PATH`. If you have
`/usr/local/bin` on your `PATH`, you can do it like this:

```
curl -o /usr/local/bin/kubectl-crossplane-stack-init https://raw.githubusercontent.com/suskin/crossplane-stack-cli/master/bin/kubectl-crossplane-stack-init -s >/dev/null
curl -o /usr/local/bin/kubectl-crossplane-stack-build https://raw.githubusercontent.com/suskin/crossplane-stack-cli/master/bin/kubectl-crossplane-stack-build -s >/dev/null
curl -o /usr/local/bin/kubectl-crossplane-stack-publish https://raw.githubusercontent.com/suskin/crossplane-stack-cli/master/bin/kubectl-crossplane-stack-publish -s >/dev/null
chmod +x /usr/local/bin/kubectl-crossplane-stack-*
```

## Init project folder
First you'll need a folder to work with. Initializing it probably looks
something like the following:

```
cd helloworld
git init
```

## Init Kubebuilder project
Once the project is initialized, we'll set it up as a kubebuilder
project.

### Create a kubebuilder v2 project
If your project is within the `GOPATH`, you can do:

```
GO111MODULE=on kubebuilder init --domain helloworld.stacks.crossplane.io
```

If your project is not within the `GOPATH`, you need to do an extra step first. See the
[kubebuilder quick start guide][kubebuilder quick start] for more details.

The instructions in this guide will use `GO111MODULE=on` in front of all
of the `kubebuilder` commands, but it could also be set once at the
beginning with `export GO111MODULE=on`, or set in other ways.

### Create an API
Next, create an API using `kubebuilder`:

```
$ GO111MODULE=on kubebuilder create api --group samples --version v1alpha1 --kind HelloWorld
> Create Resource [y/n]
$ y
> Create Controller [y/n]
$ y
```

## Initialize the stack project
Once the project is initialized as a kubebuilder project and the plugins
are installed, we can initialize the project as a stack project using
the `crossplane stack init` command.

From within the project directory:

```
kubectl crossplane stack init 'crossplane-examples/hello-world'
```

## Set up the Hello World
Now we'll add some custom functionality to our controller.

Add a "Hello World" log line to the kubebuilder controller, which should
be in the `controllers/` directory:

```
	// your logic here
  r.Log.V(0).Info("Hello World!", "instance", req.NamespacedName)
```

## Build kubebuilder stuff
First, we'll want to build the binaries and yamls in the regular way.

```
GO111MODULE=on make manager manifests
```

## Validate the stack locally

During development, we'll often be building and testing our stack
locally. The local validation section shows us how we would do that.

### Build stack and publish locally
Once the (kubebuilder) project is built in the normal way, we want to
bundle it all into a stack and publish the image locally:

```
kubectl crossplane stack build local-build
```

### Install stack locally
When the stack is built, the next step is to install it into our
Crossplane:

```
kubectl crossplane stack build stack-install
```

### Create an object for the stack to manage
Once the stack is installed into our Crossplane, we can use one of the
sample objects to create an object that the stack will respond to.

```
kubectl apply -f config/samples/*.yaml
```

### Check the stack's output
Once the object has been created, we expect the controller to do
something in response! In our case, we expect it to log a message.

We can check whether the controller is running and logging messages
using a `kubectl get` to identify the pod running the controller,
followed by a `kubectl logs` to read the logs of that pod:

```
$ kubectl get pods -A | grep hello-world | grep -v Completed
default             crossplane-examples-hello-world-65d5c59976-vzppd   1/1     Running     0          91s
$ kubectl logs crossplane-examples-hello-world-65d5c59976-vzppd | grep 'Hello World'
2019-08-28T23:37:51.795Z	INFO	controllers.HelloWorld	Hello World!	{"instance": "default/helloworld-sample"}
```

That's it! We've finished writing, building, and locally validating a
stack!

## Bonus: How to build for external publishing
After we finish developing a stack locally, we may want to publish it to
an external registry. This section shows the commands to do that.

### Build stack
To build the stack, we use the `build` subcommand once the binaries and
generated yamls have been built:

```
kubectl crossplane stack build
```

### Run publish
Once the stack is built, we can use the `publish` subcommand to publish
it to the registry:

```
kubectl crossplane stack publish
```

### Install
Installing the stack can be done with the sample which was generated for
us by the `init` that we ran earlier.

```
kubectl apply -f config/stack/samples/install.stack.yaml
```

[kubebuilder quick start]: https://book.kubebuilder.io/quick-start.html

repository: suskin/crossplane-stack-cli

gha_language: Shell

repo_name: suskin/crossplane-stack-cli


text:
---
layout: default
---

# 1998-03-02 - One Nation update from GWB

## Header Data

From: Global Web Builders<EMAIL_ADDRESS>To: (Recipient list suppressed)

Message Hash: e57d371d790de12cd4c0433b8689e108028e5b792b9a3b18dddd152290d8df6f

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1998-03-02 07:24:10 UTC

Raw Date: Sun, 1 Mar 1998 23:24:10 -0800 (PST)

## Raw message

```
{% raw  %}From: Global Web Builders<EMAIL_ADDRESS>Date: Sun, 1 Mar 1998 23:24:10 -0800 (PST)
To: (Recipient list suppressed)
Subject: One Nation update from GWB
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

----------------------------------------------------------------------------
PLEASE NOTE: No unsolicited email is sent. If you do not want to be on the
mailing list please say "REMOVE" in the subject line and return this message
in the body.
----------------------------------------------------------------------------

Dear supporter in NSW,

Birthday raffle:
================
The response to the Birthday Raffle has been tremendous... but get in quick
before we run out of tickets (max 100,000 on offer)!

Here again are the details for participating:

The first prize is a QANTAS Global Explorer Holiday for two valued at
$12,000 - a 23 day trip visiting Paris, London, New York, Los Angeles,
Anaheim and Honolulu.

The second prize is a 7 day holiday to Hawaii at the Outrigger Reef Hotel
for two - value $5,000.

The third prize is a 7 nights stay at the Novotel Palm Cove at Cairns - value
$3,000.

You can order a book of 5 tickets (minimum) at $10 per book (or $2 per
ticket) by credit card by phoning 1800 620088.

Winner's names being drawn at One Nation's Birthday Party at 7pm on April
11th 1998.

Winners will be notified by phone and mail with the results being published
in the Sydney Morning Herald on Friday 17th April 1998.

It's Blair:
===========

Pauline Hanson has confirmed that she will be running for the lower house
seat of Blair in the next Federal election.

Full press release details can be seen at:

http://www.gwb.com.au/onenation/press/270298.html

Some Internet addresses to keep an eye on:
==========================================
"I'm so, so sorry Pauline"

While everybody else is getting in on the "Sorry" act the treatment being
meted out to Pauline Hanson by the media deserves an apology to our
favourite lady.

Here you can send an email to a moderated web page on which messages of
apology and comfort are posted to show support for the valuable work that
Pauline Hanson is doing to take Australia back from the brink.

http://www.gwb.com.au/sorry.html
------------------------------------------------
The Australian National News of the Day:

A daily on-line paper which follows the history of One Nation. With an
extensive archive dating back over two years (archive available to subscribers)

http://www.gwb.com.au/head.html
------------------------------------------------
The four corners of Australia's Trojan Horse:

See how the Australian media are misrepresenting the news and distorting the
truth to discredit Pauline Hanson with their willing partners the ALP and
the Liberal party.
References are taken from press articles that have run in the mainstream media.

Let us remember it was the ALP and the Coalition who allowed Rupert Murdoch
(an American) and Kerry Packer to gain the hold that they have today on our
media.

See what they get in return for these favours.

http://www.gwb.com.au/gwb/news/onenation/news.html
--------------------------------------------------
Pauline Hanson's One Nation:

http://www.gwb.com.au/onenation
--------------------------------------------------

Finally, as we approach the federal election we will be calling on
volunteers to assist in mail drops etc... please get your friends and family
to subscribe to this news letter so that we can keep them informed on how
they can help Pauline and her team turn Australia around.

REMEMBER only PEOPLE POWER is going to keep Australia **One Nation**.

 D O   I T    N O W !!!!

GWB

Scott Balson
Web master Pauline Hanson's One Nation web site

{% endraw %}
```

## Thread

+ Return to [March 1998](/archive/1998/03)

+ Return to "[Global Web Builders <gwb@gwb.com.au>](/authors/global_web_builders_gwb_at_gwb_com_au_)"

+ 1998-03-02 (Sun, 1 Mar 1998 23:24:10 -0800 (PST)) - One Nation update from GWB - _Global Web Builders<EMAIL_ADDRESS>


text:
# Watch

This is an app I made to store and manage the list of movies and tv shows I'm interested in. I used to keep this data in a big Google Sheet, but it required way too much manual work, and searching and filtering was very tedious. There are existing solutions for this, but I wanted a UX tailored exactly to my own needs.

## Main Features

- Adding movies and shows by filling a form, or just pasting an IMDb ID.
- Keeping track of the states: waiting for next season, ready to watch, in progress, etc. Transition between states with a single button press.
- Easy but powerful search, with keywords.
- Poster image search (based on Google image search).
- External links to IMDb, torrent search, subtitle search, trailers, recaps, etc.
- Keyboard shortcuts for frequently used features.
- Mobile support.
- Automatic daily backups.

## Screenshots

- Home page
 ![Home page](https://preview.ibb.co/kjAAUK/watched_home.png)
- Item details
 ![Item details](https://preview.ibb.co/cv22bz/watched_details.png)
- Item form
 ![Item form](https://preview.ibb.co/mmpn9K/watched_form.png)

## Architecture

- Database: MongoDB
- Server: Node.js Express API
- Client: React SPA with Material UI

## Notes and Disclaimers

- All components of the architecture are currently locally hosted. I have scripts to run them all on a single Terminal window.
- All components of the architecture are in the same repository for easy code sharing (in hindsight, this probably wasn't the right decision)
- No unit tests. Since I am the only developer and user of this app, I didn't see the point.
- Only tested on the latest Chrome, Safari and Mobile Safari.

## Usage

- Clone the repo
- Install [MongoDB](https://www.mongodb.com/) if you don't already have
- `nvm use 14`
- Run `npm install`
- Then `npm run start-all` for development mode.

## Scripts

- Start in development mode:
  1. Start Mongo DB: `npm run mongo`
  2. Start server: `npm run server`
  3. Start client: `npm start`
- Start all in development mode: `npm run start-all`
- Make production build: `npm run build`
- Start production build: `npm run start-all-prod`

repository: zordone/watch

gha_language: JavaScript

repo_name: zordone/watch


text:
# Dither Transparency in Unity URP

A dither transparency shader for Unity's Shader Graph and Universal Render Pipeline.

![Dither Banner](banner.jpg)

## Overview

This project features an efficient dither tarnsparency shader which uses a world-space Bayer dither matrix to cull object pixels to 'fake' a transparency-like effect without the need to implement actual transparency. It uses the features of Shader Graph and Universal RP. An accompanying tutorial is available on [danielilett.com](https://danielilett.com/2020-04-19-tut5-5-urp-dither-transparency/).

## Software

This project was created using Unity 2019.3.0f6 and Universal Render Pipeline 7.1.8.

## Authors

This project and the corresponding tutorial series were written by Daniel Ilett. [Follow him on Twitter](https://twitter.com/daniel_ilett) for more gamedev tutorials!

## Release

This project was released on April 19th 2020.

repository: baroquedub/dither-transparency-urp

repo_name: baroquedub/dither-transparency-urp


text:
## Table of Contents

- [Overview](#overview)
- [Installation](#installation)
  - [Building the app](#building-the-app)
  - [Building + installing the app](#building--installing-the-app)
  - [Running specific module (app) Robolectric tests](#running-specific-module-app-robolectric-tests)
  - [Running all Robolectric tests (slow)](#running-all-robolectric-tests-slow)
- [Known Issues and Troubleshooting](#known-issues-and-troubleshooting)
- [Concepts and Terminology](#concepts-and-terminology)

## Overview
Bazel is an open-source build and test tool similar to Make, Maven, and Gradle. It uses a human-readable, high-level build language.

### Installation

**WARNING: We recommend to not use the Android Studio Bazel plugin since it currently has compatibility issues with the project.**

**Instructions for setting up Bazel on different Operating Systems:**

- [For Windows/Ubuntu/Fedora](https://github.com/oppia/oppia-android/wiki/Bazel-Setup-Instructions-for-Windows)
- [For Mac including M1/M2](https://github.com/oppia/oppia-android/wiki/Bazel-Setup-Instructions-for-Mac)
- [For Linux](https://github.com/oppia/oppia-android/wiki/Bazel-Setup-Instructions-for-Linux)

### Building the app

After the installation completes you can build the app using Bazel.

**Move your command line head to the `~/opensource/oppia-android`**, then run the below bazel command:

```
bazel build //:oppia
```

#### Building + installing the app

```
bazel build //:oppia && adb install -r bazel-bin/oppia.apk
```

#### Running specific module (app) Robolectric tests

```
bazel test //app/...
```

#### Running all Robolectric tests (slow)

```
bazel test //...
```

## Known Issues and Troubleshooting

See our [troubleshooting wiki page](https://github.com/oppia/oppia-android/wiki/Troubleshooting-Installation#bazel-issues) for some known issues with Bazel, and the corresponding troubleshooting steps.

## Concepts and Terminology
**[Workspace](https://github.com/oppia/oppia-android/blob/develop/WORKSPACE)**

A workspace is a directory where we add targeted SDK version, all the required dependencies and there required Rules. The directory containing the WORKSPACE file is the root of the main repository, which in our case is the `oppia-android` root directory is the main directory.

**[Packages](https://github.com/oppia/oppia-android/tree/develop/app)**

A package is defined as a directory containing a file named BUILD or BUILD.bazel.

**[Binary rules](https://github.com/oppia/oppia-android/blob/ba8d914480251e4a8543feb63a93b6c91e0a5a2f/BUILD.bazel#L3)**

A rule specifies the relationship between inputs and outputs, and the steps to build the outputs.
In Android, rules are defined using `android_binary`. Android rules for testing are `android_instrumentation_test` and `android_local_test`.

**[BUILD files](https://github.com/oppia/oppia-android/blob/develop/app/BUILD.bazel)**

Every package contains a BUILD file. This file is written in Starlark Language. In this Build file for module-level, we generally define `android_library`, `kt_android_library` to build our package files as per the requirement.

**[Dependencies](https://github.com/oppia/oppia-android/blob/ba8d914480251e4a8543feb63a93b6c91e0a5a2f/BUILD.bazel#L16)**

A target A depends upon a target B if B is needed by A at build. `A -> B`

```
deps = [ "//app",]
```
Here, `deps` is used to define the dependencies which is a type of dependencies called `deps dependencies` and it includes the files/directory/target which are dependent. From the above example the dependency is the `app` target which is defined in the [Build file of app package](https://github.com/oppia/oppia-android/blob/ba8d914480251e4a8543feb63a93b6c91e0a5a2f/app/BUILD.bazel#L616).

Example of Dependencies
1. [srcs dependencies](https://github.com/oppia/oppia-android/blob/ba8d914480251e4a8543feb63a93b6c91e0a5a2f/app/BUILD.bazel#L617)
2. [deps dependencies](https://github.com/oppia/oppia-android/blob/ba8d914480251e4a8543feb63a93b6c91e0a5a2f/app/BUILD.bazel#L622)

**[Loading an extension](https://github.com/oppia/oppia-android/blob/ba8d914480251e4a8543feb63a93b6c91e0a5a2f/app/BUILD.bazel#L13)**

Bazel extensions are files ending in .bzl. Use the load statement to import a symbol from an extension.

```
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_android_library")
```
Here, we are loading `kotlin.bzl` and we are going to use it with a symbol name `kt_android_library`.
Arguments to the load function must be string literals. load statements must appear at top-level in the file.

**[Visibility of a file target](https://github.com/oppia/oppia-android/blob/ba8d914480251e4a8543feb63a93b6c91e0a5a2f/app/BUILD.bazel#L621)**

With the example from our codebase, target `app` whose visibility is public.

 - `visibility = ["//visibility:public"],` - Anyone can use this target.

 - `"//visibility:private"` - Only targets in this package can use this target.

**[Testing](https://github.com/oppia/oppia-android/blob/ba8d914480251e4a8543feb63a93b6c91e0a5a2f/app/BUILD.bazel#L719)**

when we want to run test cases on Bazel build environment, we usually pass arguments related to test which `app_test.bazl` required to run our test.
```
app_test(
    name = "HomeActivityLocalTest",
    srcs = ["src/test/java/org/oppia/android/app/home/HomeActivityLocalTest.kt"],
    test_class = "org.oppia.android.app.home.HomeActivityLocalTest",
    deps = TEST_DEPS,
)
```

repository: oppia/oppia-android

gha_language: Kotlin

repo_name: oppia/oppia-android


text:
# Cedita Web App Base Template

**Labs Notice** - This is a Cedita Labs project, and is offered unsupported. We encourage external contributions.

This Template contains 5 base projects to bootstrap any new web application, with default logging configuration, data project, test projects, and coding rulesets/stylecop all preconfigured.

> **WARNING**: This might crash your VS on first load of the solution. This is tracked by Issue #1 and relates to lack of .ruleset or stylecop.json being created in the root solution directory. To resolve, once solution is created, close VS. Immeditaly copy stylecop.json and Cedita.ruleset into the `Solution/Project/.` folder (1 level up from the 5 projects). Reopen solution.

To install the template:

1. Download the `CeditaWebAppTemplate.zip` file.
2. Place the .zip file in `%userprofile%\Documents\Visual Studio 2017\Templates\Project Templates\Cedita`.

You will find the template when creating a new solution, under the `Visual C# -> Cedita` section.

Create your project as the Product Name, and .Data/.Tests/.Web projects will be created off that.

## Project Intentions

`HelloWorld` is used as the project name in the below samples.

### HelloWorld
Application services project containing all of your domain logic.

### HelloWorld.Data
Data project with EF Core 3 and Identity wired up.

### HelloWorld.Tests
Test project for `HelloWorld`.

### HelloWorld.Web
Web project for the solution, should be set as Startup project.

### HelloWorld.Web.Tests
Web Test Project for `HelloWorld.Web` to test controllers etc.

repository: ceditalabs/WebAppTemplate

repo_name: ceditalabs/WebAppTemplate


text:
# Project EPOT

> Project EPOT front-end

**NOTICE:** You need to set up the backend enviroment before the frontend works. See [project-epot-backend](https://github.com/Futurice-SaferGlobe/project-epot-backend)

## Deploy to Github Pages

To deploy a static copy of the app to Github Pages, run `yarn run publish`.

## Build Setup

```bash
# install dependencies
$ yarn install

# serve with hot reload at localhost:3000
$ yarn run dev

# build for production and launch server
$ yarn run build
$ yarn start

# generate static project
$ yarn run generate
```

For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org).

gha_language: Vue


text:
---
layout: page
title: SDMP Team Roster
tagline:
sidebar_title: Roster
in_sidebar?: true
---

The Student Developer and Mentorship Program team members of Fall 2015!

### Managers
- [Jemin Lee](https://github.com/jeminlee) - Interim Manager

### Android Developers
- [Stanislaw Swidwinski](https://github.com/Ebstein) - Trumbull '17
- [Katherine Tan](https://github.com/katkaytee) - Davenport '18
- [Kristina Shia](https://github.com/kshia) - Jonathan Edwards '19
- [Faisal Zaghloul] - GSAS '20
- [Kristina Shia](https://github.com/kshia) - Jonathan Edwards '19

### iOS Developers
- [Lee Danilek](https://github.com/ldanilek) - Silliman '18
- [Leo Shimonaka](https://github.com/LeoShimonaka) - Jonathan Edwards '18
- [Felipe Aragao Pires](https://github.com/f03lipe) - Ezra Stiles '19

### Ruby on Rails Developers
- [Oren Kanner](https://github.com/orenyk) - GRAD '16]
- [Sylvan Zheng](https://github.com/squidgetx) - Morse '17
- [Qingyang Chen](https://github.com/coollog) - Silliman '17
- [Sydney Young](https://github.com/esoterik) - Silliman '18
- [Alan Liu](https://github.com/AlanLiu96) - Timothy Dwight '18
- [Ahsan Nawroj](https://github.com/ahsan0160) - GRAD '18
- [Zachary Effman](https://github.com/zeffman) - Saybrook '19

### JavaScript Developers
- [Eric Yu](https://github.com/cyrieu) - Jonathan Edwards '19

### QA Testing
- Daniel Smith - Divinity '16


text:
---
layout: page
title: "Week 1"
# What topic does this page belong to?
group: puzzle-packs
# Relative ordering of lessons within a topic
order: 1
#script: /javascripts/mypage.js
#scripts:
#  - /javascripts/one.js
#  - /javascripts/two.js
---

{% include toc.md %}

# Week 1
{:.ui.dividing.header.no_toc}

## Reading

[Using Files & Commands][files-commands]

## Download PuzzlePack

[basic_terminal_part_1][lern2unix]

[lern2unix]: http://lern2unix.com/download/basic_terminal_part_1
[files-commands]:  {{ "/topics/terminal-usage/files-commands/"  | prepend: site.baseurl }}

repository: Targetcatcherinc/branching-exercise

repo_name: Targetcatcherinc/branching-exercise


text:
*Postmortem : Json Schema Type Provider*

**Rationale and history**

3 years ago, when we just started building out Jet Partner API, we faced a massive task of validating and
(de)serializing all the incoming JSON messages. We also needed to build documentation for Partners to help them with integrations.

Classic approach would be to have some custom logic built for each payload to validate each field and produce meaningful error
messages. We felt there’s better way to do this, with minimum amount of code, so we searched for alternatives.

We chose [Json Schema]( http://json-schema.org/) that was on Draft 3 back then. It gave us an ability to constrain Json payloads
declaratively. For example, instead of having a piece of code testing length of the product title field, we could have
something like

    "product_title": {
			"type": "string",
			"required": true,
			"minLength" : 5,
			"maxLength" : 500,
			"description": "Short product description 5 to 500 alphanumeric characters"
		}

in schema.json file, and then use excellent [Newtonsoft]( http://www.newtonsoft.com/json) library (version 6.0.3 back then)
to do all the mundane validation for us. Of course, there were many validations that still had to be done manually,
like testing messages against stored state. Nevertheless, it cut on the amount of code we had to write and maintain immensely.

Luckily, our team included outstanding product managers that had no problem translating payload requirements directly
into schema files, freeing developers to focus on other tasks. It was a dream of domain language shared between
business and development come true.

Moreover, with minimal amount of coding we could turn these schemas into API documentation and deploy it to Azure API
Management platform. Even though we since abandoned this approach in favor of richer
[API documentation site]( https://developer.jet.com/), it allowed us to move with incredible speed when it was critical.

Still, there was all this boring code to write that would represent Json in F#, plus (de)serialization.
That’s when we decided it might be a good idea to have Type Provider to generate POCOs for us directly from Json schemas.

**Reasons for retirement**

While implementation wasn’t particularly hard, there were several reasons this type provider was ultimately abandoned in
favor of more traditional approach:

* POCOs are no fun to use from F#. We had to deal with nulls on attributes and this alone was enough to
take a second look at the solution. Back then Newtonsoft didn’t have much support for F#, and even if it
did we were limited in what types we could use for properties in type provider implementation
* Visual Studio used older version of Newtonsoft internally. It meant that we couldn’t pass types defined in Newtonsoft
from type provider as it was built with the version
different from what it could bind to in Visual Studio environment. It made implementation rather inefficient,
we had to parse schema on every validation
* Relying on Newtonsoft for validation limited our ability to customize schema for our needs.

**Next step**

For reasons mentioned earlier, we were looking for more F#-friendly ways of dealing with JSON.
[JsonValue](https://github.com/fsharp/FSharp.Data/blob/master/src/Json/JsonValue.fs) library from FSharp.Data suited us well. Certain difficulties associated with presence of type providers in the same library made us to fork relevant part of FSharp.Data directly into our code base. This also created an opportunity to build custom Json Schema validation and abandon Newtonsoft completely.
At that point it also became clear that, while validation is necessary for Partner API, (de)serialization is not.
A lot of messages coming into API are passed downstream to other systems without any business logic applied, so
dealing with JsonValue objects directly proved to be much more efficient than supporting translation to and from F# record types.

**Conclusion**

It is easy to miss an impedance mismatch between JSON and .Net types. (De)serialization by itself is a form of validation
and as such it exposes serialization limitations foreign to JSON.

Having upfront validation based on schema allows Jet Partner API to avoid leaking out details of implementation to customers.
While schema-based validation is limited to individual properties, it eliminates a lot of boilerplate.

Json schema creates powerful opportunity to build types with well-defined structure that would (de)serialize in transparent manner.
I believe this type provider can be re-written to operate with JsonValue types directly and use custom schema validation.

repository: do-wa/JsonSchemaProvider

repo_name: do-wa/JsonSchemaProvider


text:
# Sample Blog

![CI](https://github.com/HarvestProfit/sample-blog/workflows/CI%20Suite/badge.svg) [![codecov](https://codecov.io/gh/HarvestProfit/sample-blog/branch/main/graph/badge.svg?token=KSj36vyBgV)](https://codecov.io/gh/HarvestProfit/sample-blog)

Incredibly simple api-only blog!

This blog is super simple - it allows you to submit blog posts to the server, and can render them in an API.

## Consuming the API

We have some simple documentation on how to [consume this API](https://documenter.getpostman.com/view/2582145/TzCQbn5S).

## Development

This project was scaffolded with rails.

### Prerequisites
Please install the following:
- [Ruby](https://www.ruby-lang.org/en/downloads/)
  - Feel free to use [RVM](https://rvm.io/) or [Rbenv (recommended)](https://github.com/rbenv/rbenv) for version management
- [Postgres.app](https://postgresapp.com/)

In order to run the project in development, you'll need to install the
required RubyGems and set up your Postgres database:

```bash
bundle install
rails db:setup
```

Then you can start your local server with `rails server` (or `rails s` for short).

## License

This project is [MIT Licensed](./LICENSE.md).

## Deploy to Heroku
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)

repository: richardkorneisel/sample-blog

branch_name: refs/heads/main

repo_name: richardkorneisel/sample-blog


text:
MVC-GoogleMaps
==============

HtmlHelper for using JQuery.GoogleMaps plugin on ASP.NET MVC pages

###What can I do with it
This is HtmlHelper for rendering out GoogleMaps either for editiong or viewing using [JQuery.GoogleMaps plugin](https://github.com/dejanstojanovic/JQuery-GoogleMaps).

The library provides:
* HtmlHelper for rendering out GoogleMap editor of viewer
* Model POCO classes
* Extension methods for serializing and deserializing map model

![ScreenShot](http://dejanstojanovic.net/media/31659/googlemap-editor.png)

###How to add to a page
HtmlHelper for GoogleMap can be easily added as any other HtmlHelper in ASP.NET MVC.
```razor
@Html.GoogleMapEditor("HiddenTreasureMap", new Mvc.GoogleMaps.Models.Map() { editMode=true})
```
However, you will have to add reference to a javascript, jquery and css files manualy in your page. You can referenci them from CDN or from local file system.
```html
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.googlemaps/2.2.4/css/mapstyle.min.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.googlemaps/2.2.4/jquery.googlemaps.min.js"></script>
```
This library is available as a NuGet package as well, so you van add it to your project through NuGet package manager or console.

[![ScreenShot](http://dejanstojanovic.net/media/23565/nuget-small.png)](https://www.nuget.org/packages/MVC.GoogleMaps/)

Since jQuery.GoogleMaps plugin is available from CDN you can even instantiate it on your page with resources from jsdelivr CDN
```razor
@Html.GoogleMapEditor("test", new Mvc.GoogleMaps.Models.Map()
           {
               editMode = true,
               stylesPath = "//cdn.jsdelivr.net/jquery.googlemaps/2.2.4/styles.json",
               markerPinsPath = "//cdn.jsdelivr.net/jquery.googlemaps/2.2.4/img",
               editTemplatesPath = "//cdn.jsdelivr.net/jquery.googlemaps/2.2.4/html"
           })
```

repository: stanleysistemas/MVC-GoogleMaps

repo_name: stanleysistemas/MVC-GoogleMaps


text:
#Contributing to KubeTurbo

KubeTurbo is Apache 2.0 licensed and accepts contributions via GitHub pull requests.

This document is meant to help you to:
- Contribute code
- Report any current issues
- Build the project
- Run your tests

## Contributing Code

Follow these simple steps to contribute to KubeTurbo
- Fork the project
- Create an appropriate topic branch (usually Master)
- Commit the code to your repository
- Push your commit(s) to your repository
- Open a pull request against the original repo

repository: turbonomic/kubeturbo

gha_language: Go

repo_name: turbonomic/kubeturbo


text:
# TensorFlow.js

This module shows how to use any TensorFlow.js model in Custom Module on the example of [toxicity model](https://github.com/tensorflow/tfjs-models/tree/master/toxicity).

First, go to https://www.tensorflow.org/js/models and find a model that you would like to use in your Custom Module. Follow the instructions in the model's documentation.

## Installation

You will need to install the libraries with npm:

```bash
npm install @tensorflow/tfjs @tensorflow-models/toxicity
```

## Usage

You can use this template to create a Custom Module for cognigy.

1. Import your model using `require('@tensorflow-models/toxicity')` and create a function based on the model's documentation.

2. In order to get the text message from IFlowInput, use `input.input.text`. Then, you can apply model's functions on your input.

3. You can store the results in the Context or Input Object under the name given in the node's settings.
```	bash
	if (args.writeToContext) input.context.getFullContext()[args.store] = result;
	else input.input[args.store] = result;
```

4. Creating yout package.json, remember to include
```	bash
"scripts": {
		"build": "tsc -p .",
		"zip": "npm run build && zip test.zip build/* package.json package-lock.json README.md icon.png icon-large.png"
	},
```

5. Then, you can create a test.zip with all necessary files with
```bash
npm run zip
```
from your terminal.

You can find more informations about creating Custom Module in cognigy [docs](https://docs.cognigy.com/docs/integration-framework).

## TensorFlow to JavaScript

It is possible to convert any TensorFlow SavedModel, TensorFlow Hub module, Keras HDF5 or tf.keras SavedModel into TensorFlow.js. In order to do that follow the steps described [here](https://github.com/tensorflow/tfjs/tree/master/tfjs-converter).