text:
[![Build Status](https://secure.travis-ci.org/weavenet/trello_cli.png)](http://travis-ci.org/weavenet/trello_cli)

# trello_cli

Simple Ruby Trello Command Line Interface

## Installation

You have 2 options:

Install the default trello_cli gem

    gem install trello_cli

Or clone this repository, cd into it and run

    bundle install && rake build && gem install pkg/trello_cli-0.4.1.gem

## Setup

Sign-in to trello.com as the user you want to use for trello_cli.

Get API key (open this link in a web browser):

    https://trello.com/1/appKey/generate

The top field contains your Developer API Key.  Use it to replace **YOUR_API_KEY** in the member token links below as well as the **TRELLO_DEVELOPER_PUBLIC_KEY** environment variable.

Next, get a member token. You will need to replace **YOUR_API_KEY** in the links below with the API key obtained in the previous step.

To get a read only member token:

    https://trello.com/1/connect?key=YOUR_API_KEY&name=trello-cli&response_type=token

To get a read / write member token:

    https://trello.com/1/authorize?key=YOUR_API_KEY&name=trello-cli&expiration=never&response_type=token&scope=read,write

Set the api key and member token environment variables:

    export TRELLO_DEVELOPER_PUBLIC_KEY=api_key
    export TRELLO_MEMBER_TOKEN=member_token

## Usage

The CLI takes the following form:

    trello TARGET COMMAND OPTIONS

To see a list of targets:

    # trello -h
    trello [board|card|list] [command] OPTIONS
    Append -h for help on specific target.

To see a list of commands for a given target:

    # trello card -h
    Valid commands for card: create, list
    For further help, append -h to sub command.

To see help for a specific command:

    # trello card create -h
    Usage: trello card [create] [options]
        -b, --board [BOARD]              Trello Board Id
        -d, --description [DESCRIPTION]  Description Of Card
        -l, --list [LIST]                List Of Card
        -n, --name [NAME]                Name Of Card

### Usage with docker

    docker run -it --rm \
        -e TRELLO_DEVELOPER_PUBLIC_KEY=$TRELLO_DEVELOPER_PUBLIC_KEY \
        -e TRELLO_MEMBER_TOKEN=$TRELLO_MEMBER_TOKEN \
        jamesmstone/trello

### Output Formatters

To allow for piping output to other utilies, the output of any command can
be format as either TSV (Tab Seperated Values) or JSON.

**JSON Output**

```
# trello board list -o json
[{"name":"board1","id":"123456781234567812345678"},{"name":"board2","id":"876543218765432187654321"}]
```

This can be used with tools like [jq](http://stedolan.github.io/jq/) to parse the data:

```
# trello board list -o json |jq '.[0] | {id}'
{
  "id": "123456781234567812345678"
}
```

**TSV Output**

```
# trello board list -o tsv
123456781234567812345678  board1
876543218765432187654321  board2
```

For example, you can grep out specific cards and then cut specific fields:

```
# trello board list -o tsv |grep board1 |cut -d$'\t' -f 1
123456781234567812345678
```

The default is currently set to output as legacy to match previous versions
of the trello CLI. This will be changed to TSV or another human format in a
future release.

## Examples

List the boards available to the given credentials:

    trello board list

List the lists for a given board id and output as a TSV list:

    trello list list -b 123 -o tsv

Create a card and output as JSON:

    trello card create -b 123 -l 321 -n 'card name' -d 'card description' -o json

## Wrapper Script

If you find yourself adding the same arguments, it can be helpful to create a
wrapper script. For example see [trello.sh](https://gist.github.com/weavenet/af002bde11adc8fb7b31).

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request


text:
# Documentation

This directory contains subdirectories for Kaplan's
documentation. The templates for all of the documents were
taken from a gitlab repository -
[cas741](https://gitlab.cas.mcmaster.ca/smiths/cas741), authored
by [Dr. Spencer Smith](https://github.com/smiths). Another example of
this style of documentation can be found
[here](https://github.com/smiths/swhs).

### How to make the documentation

There are pdfs available for the documentation in the subdirectories.
If changes are made to the tex files, then you will need to regenerate the pdfs.
In order to generate the pdfs, you need to have latex (texlive), make, bibtex,
and pdflatex installed. Then, run the following command:

`(kenv) $ make -f Makefile`

An IDE for editing tex files is recommended (such as texstudio or texmaker).

To get rid of all of the extra files, run the clean command:

`(kenv) $ make -f Makefile clean`

### Design

This directory contains the Module Instance Specification (MIS)
document and the Module Guide (MG). Together, these documents
outline how the code is pieced together and provide specific
inputs and outputs for Kaplan modules.

### ProblemStatement

This directory contains a general abstract overview of the
problem that Kaplan solves.

### SRS

This directory contains the Software Requirements Specification
(SRS) document, which explains the purpose of Kaplan in abstract
terms. The SRS provides the theory, symbols, units, formulas,
and data formats necessary to answer the problem statement. The
requirements (functional and non-functional) given in this document
are intended to be addressed later on in the documentation (such as
in the design and in the testing).

### VnVPlan

This directory is for the Verification & Validation (VnV) Plan,
and it contains two main pieces of documentation:
1. SysVnVPlan addresses the system as a whole and follows the
SRS. Here we don't assume that it is known exactly how the
system will work, we just try to test its outputs and ensure
that the correct inputs are being given such that the
requirements can be satisfied.
2. UnitVnVPlan addresses the modules and follows the MIS. Here
we know exactly how the program works, and we want to write
tests to catch problems that might arise from implementation.

### VnVReport

This directory contains two reports - one for the SystVnVPlan
and the other for the UnitVnVPlan. It is used to document
progress that has been made in ensuring Kaplan's requirements
are being satisfied.

license: MIT

repository: PaulWAyers/Kaplan

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: PaulWAyers/Kaplan


text:
# Azure AD Service Principals and Managed Identities in Azure DevOps

These samples show how to [use Azure AD Service Principals and Managed Identities to authenticate to Azure DevOps](https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/service-principal-managed-identity) using OAuth 2.0 client credentials flow in different scenarios.

## Code samples

| Subfolder | Description |
|--|--|
| [ClientLibsNET](/ServicePrincipalsSamples/ClientLibsNET/) | .NET Core samples using [Azure DevOps .NET client libraries](https://learn.microsoft.com/en-us/azure/devops/integrate/concepts/dotnet-client-libraries?view=azure-devops) with Azure AD Application Service Principals and Managed Identities. |

## References

For more information about Azure DevOps:

- [Use Azure AD service principals & managed identities in Azure DevOps](https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/service-principal-managed-identity)
- [Azure DevOps Services REST API Reference](https://learn.microsoft.com/en-us/rest/api/azure/devops)

For more information about Azure AD Service Principals:

- Azure AD Applications - [Application and service principal objects in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals)
- Azure AD Managed Identitis - [What are managed identities for Azure resources?](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview)
- Authentication protocol - [Microsoft identity platform and the OAuth 2.0 client credentials flow](https://learn.microsoft.com/en-gb/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow)

repository: microsoft/azure-devops-auth-samples

gha_language: JavaScript

gha_license_id: MIT

repo_name: microsoft/azure-devops-auth-samples


text:
# rust-python-pyo3-test

[![Actions Status](https://github.com/BurnySc2/rust-python-pyo3-test/workflows/RustBuild/badge.svg)](https://github.com/BurnySc2/rust-python-pyo3-test/actions)

- Have a rust function that takes and returns most basic python types
  - [x] Int
  - [x] Float
  - [x] String
  - [x] List
  - [x] Tuple
  - [x] Dict
  - [x] Set
- Create a struct/class that
  - [x] can be initialized in python
  - [x] has attributes exposed to python
  - [x] has methods exposed that can be called in python
- Create a class-instance in python and then pass it to rust to
  - [ ] modify attributes
  - [ ] call python instance methods
- [x] Load a numpy array in rust and do some operation on it (e.g. sum of all elements)
- [x] Load a numpy array in rust and add a number to each element (mutable numpy array)
- [x] Load a numpy array in rust and add a number to each element and return new array (immutable numpy array)
- [x] Be able to run tests and benchmarks


text:
# SAP Labs Interview Questions
* [Coding Round Questions](#coding)
* [First Technical Interview (Code Pair)](#tech)
* [Second Technical Interview (Telephonic)](#techtwo)
____
Coding round questions

- Given an array of strings dates[], the task is to sort these dates in ascending order.Each date is of the form dd/mm/yyyy.

- Print pair of numbers from given array having minimum absolute value.

First Technical Interview

- Implement the fastest Sorting technique.

- Given a sentence find the word which has maximum length and is even.

  eg: String s= I like to eat banana

  output: banana

Second Technical Interview

DBMS

- Types Of Keys
- Indexes and types of Indexes
- What is view and where it is stored

OS

- What is deadlock
- How to prevent deadlock explain Bankers Algorithem
- Disk Scheduling Algorithem

DSA
- Given a stream of data perform addition of the data.

repository: shivansh-github/SDE-Interview-Questions

path: /SAP Labs/README.md

repo_name: shivansh-github/SDE-Interview-Questions


text:
ShExDemo
========

Shape Expressions Conpact Syntax Demo

## NCI ITCR 2017 Annual Meeting (https://itcr.soe.ucsc.edu/)

### A Video Presentation for Modeling and Validating FHIR Models using ShEx

[![ShEx, RDF and FHIR Demo Video](https://raw.githubusercontent.com/caCDE-QA/ShEX/master/FHIR_ShEx_Demo_201705.png)](https://youtu.be/fIElhAPQcwo)

## FHIR ShEx published in the Journal of Biomedical Informatics, March 2017
* Solbrig HR, Prud'hommeaux E, Grieve G, McKenzie L, Mandel JC, Sharma DK, Jiang G. Modeling and validating HL7 FHIR profiles using semantic web Shape Expressions (ShEx). J Biomed Inform. 2017 Mar;67:90-100. doi: 10.1016/j.jbi.2017.02.009. Epub 2017 Feb 16.
* PubMed Link: https://www.ncbi.nlm.nih.gov/pubmed/28213144
* Test script: https://github.com/caCDE-QA/FHIRShExTest

## FHIR ShEx Tutorial at SWAT4LS 2016 - Amsterdam, NL, 5-8th December 2016
* Tutorial 4: Semantic Representations of Clinical Care Data Leveraging HL7 FHIR
 * http://www.swat4ls.org/workshops/amsterdam2016/tutorials/t4/
 * Harold’s slides (pdf): http://www.swat4ls.org/wp-content/uploads/2016/12/SWAT4LS_FHIR_RDF_2016_T4.pdf
 * Eric’s slides: http://tinyurl.com/swat4lsfhir

## A Video Demo for Validating FHIR Models using ShEx

[![FHIR, RDF and ShEx Demo Video](https://raw.githubusercontent.com/caCDE-QA/ShEX/master/FHIR_ShEx_Demo.png)](https://youtu.be/D93_p9QAomw)

## Publications
* Harold R. Solbrig, Eric Prud’hommeaux, Deepak K. Sharma, Christopher G. Chute, Guoqian Jiang. Feasibility of Modeling HL7 FHIR Profiles Using RDF Shape Expressions Language. Proceedings of the International SWAT4LS Workshop 2015 (Semantic Web Applications and Tools for Life Sciences) held in Cambridge, England, December 7-10th December 2015. (Poster)
* Eric Prud’hommeaux, Harold R. Solbrig, Deepak K. Sharma, Christopher G. Chute, Guoqian Jiang. A Semantic Web RDF-based Approach for Modeling HL7 FHIR Profiles. Proceedings of AMIA Clinical Research Informatics (CRI) 2016 Conference. San Francisco, CA. March, 2016. (Podium Abstract)
* Harold R. Solbrig, Eric Prud’hommeaux, Deepak K. Sharma, Christopher G. Chute, Guoqian Jiang. Modeling and validating HL7 FHIR profiles using Semantic Web Shape Expressions. NCI ITCR PI Annual Meeting held in June 13-14, 2016 at Boston. (Poster)
* Eric Prud’hommeaux, Harold R. Solbrig,  Guoqian Jiang. RDF, ShEx, and FHIR. Proceedings of AMIA Clinical Research Informatics (CRI) 2017 Conference. San Francisco, CA. March, 2017. (Podium Abstract)
* Solbrig HR, Prud'hommeaux E, Grieve G, McKenzie L, Mandel JC, Sharma DK, Jiang G. Modeling and validating HL7 FHIR profiles using semantic web Shape Expressions (ShEx). J Biomed Inform. 2017 Mar;67:90-100. doi: 10.1016/j.jbi.2017.02.009. Epub 2017 Feb 16. (journal paper)

repository: caCDE-QA/ShEX

repo_name: caCDE-QA/ShEX


text:
Poker Square

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![GitHub Issues](https://img.shields.io/github/issues/Sudolphus/Poker-Squares.svg)](https://github.com/Sudolphus/Poker-Squares/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/Sudolphus/Poker-Squares.svg)](https://github.com/Sudolphus/Poker-Squares/pulls)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE.md)

---

 Let's play a game of Poker Square!

## 📝 Table of Contents

- [About](#about)
- [Getting Started](#getting_started)
- [Deployment](#deployment)
- [Usage](#usage)
- [Built Using](#built_using)
- [TODO](../TODO.md)
- [Authors](#authors)
- [Acknowledgments](#acknowledgement)

## 🧐 About

An app to play a game of Poker Square!

## 🏁 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See [deployment](#deployment) for notes on how to deploy the project on a live system.

### Prerequisites

What things you need to install the software and how to install them.

1. A package manager (e.g. npm or yarn)
2. A server environment (e.g. Node)
3. A code editor (e.g. VS Code or Atom)

### Installing

1. Download the repo
2. Install the packages (npm install or yarn install)
3. The code can be editted with any code editor
4. Start a dev server with `npm install` or `yarn install` as appropriate

## 🎈 Usage

With the dev server deployed, open a browser to Localhost:3000. Alternately, an optimized production build can be created with `npm run build` or `yarn run build`, which will create a build folder with an html file that can be opened.

## 🚀 Deployment

All that should be required for deployment is the code and a browser to run it in.

## ⛏ Built Using

- [NodeJs](https://nodejs.org/en/) - Server Environment
- [Create React App](https://github.com/facebook/create-react-app) - Code Framework

## ✍ Authors

- [@Sudolphus](https://github.com/Sudolphus)

## 🎉 Acknowledgements

- [Dylan Clifton](https://unsplash.com/@originspoker?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) for the Logo

repository: Sudolphus/Poker-Squares

repo_name: Sudolphus/Poker-Squares


text:
> [Go to French version](/fr/Lois/Lois%20du%20Canada/1990/ch.%2013.md)

# Canadian Space Agency Act

**S.C. 1990, c. 13**

Assented to on 10 May 1990

----------

Her Majesty, by and with the advice and consent of the Senate and House of Commons of Canada, enacts as follows:

## Short Title

**Short title**

**1** This Act may be cited as the Canadian Space Agency Act.

## Interpretation

**Definitions**

**2** In this Act,

***Agency*** means the Canadian Space Agency established by section 3; (*Agence*)

***Board***[Repealed, 2010, c. 12, s. 1712]

***Executive Vice-President***[Repealed, 2010, c. 12, s. 1712]

***Minister*** means such member of the Queen’s Privy Council for Canada as is designated by the Governor in Council as the Minister for the purposes of this Act; (*ministre*)

***President*** means the President of the Agency appointed pursuant to subsection 12(1). (*président*)
> 1990, c. 13, s. 2; 2010, c. 12, s. 1712(E).

## Establishment of Agency

**Establishment**

**3** There is hereby established an agency of the Government of Canada, to be known as the Canadian Space Agency.

## Objects and Functions

**Objects**

**4** The objects of the Agency are to promote the peaceful use and development of space, to advance the knowledge of space through science and to ensure that space science and technology provide social and economic benefits for Canadians.

**Matters concerning space**

**5**

- **(1)** The Agency may exercise its powers, and perform its duties and functions, in relation to all matters concerning space over which Parliament has jurisdiction and that are not by or pursuant to law assigned to any other department, board or agency of the Government of Canada.

**Functions**

- **(2)** In carrying out its objects, the Agency shall
	- **(a)** assist the Minister to coordinate the space policies and programs of the Government of Canada;
	- **(b)** plan, direct, manage and implement programs and projects relating to scientific or industrial space research and development and the application of space technology;
	- **(c)** promote the transfer and diffusion of space technology to and throughout Canadian industry;
	- **(d)** encourage commercial exploitation of space capabilities, technology, facilities and systems; and
	- **(e)** perform such other functions as the Governor in Council may, by order, assign.

**Idem**

- **(3)** In carrying out its objects, the Agency may
	- **(a)** construct, acquire, manage, maintain and operate space research and development vehicles, facilities and systems;
	- **(b)** assist departments, boards and agencies of the Government of Canada to use and to market space technology;
	- **(c)** make grants and contributions in support of programs or projects relating to scientific or industrial space research and development and the application of space technology, including projects designed to develop, test, evaluate or apply new or improved processes, products, systems or information relating to space science and technology with a view to determining the commercial potential of that science and technology, but not including any programs or projects relating solely to the commercial exploitation of space science or technology;
	- **(d)** cooperate with the space and space-related agencies of other countries in the peaceful use and development of space;
	- **(e)** provide services and facilities to any person;
	- **(f)** license, sell or otherwise make available any patent, copyright, industrial design, trademark, trade secret or other like property right controlled or administered by the Minister;
	- **(g)** enter into contracts, memoranda of understanding or other arrangements in the name of Her Majesty in right of Canada or in the name of the Agency;
	- **(h)** acquire any money, securities or other personal or movable property by gift or bequest and expend, administer or dispose of any such money, securities or property subject to the terms, if any, on which the gift or bequest was made;
	- **(i)** administer any loans or guarantees made by the Minister pursuant to section 9; and
	- **(j)** do all such things as are necessary or incidental to the attainment of the objects of the Agency.

**Government facilities**

- **(4)** In exercising its powers and performing its duties and functions under this Act, the Agency shall, where appropriate, make use of the services and facilities of departments, boards and agencies of the Government of Canada.
> 1990, c. 13, s. 5; 2001, c. 4, s. 70; 2014, c. 20, s. 366(E).

## Powers, Duties and Functions of the Minister

**Coordination of space policies and programs**

**6** In furtherance of the objects referred to in section 4, the Minister shall coordinate the space policies and programs of the Government of Canada.

**Responsible for Agency**

**7** The Minister is responsible for the operations of the Agency.

**Agreements**

**8** The Minister may, with the approval of the Governor in Council, enter into agreements with the government of any province respecting the carrying out of any program of the Agency.

**Loans and guarantees**

**9** The Minister may, with the concurrence of the Minister of Finance,
- **(a)** make loans to any person with respect to the commercial exploitation of space science and technology; and
- **(b)** guarantee the repayment of any portion of the principal and interest owing on any loan made by any person in respect of the commercial exploitation of space science and technology.

**Fees or charges**

**10**

- **(1)** With the approval of the Governor in Council and subject to such terms and conditions as the Governor in Council may specify, the Minister may, by order, prescribe the fee or charge, or the manner of determining the fee or charge, to be paid by a person or a person of a class of persons
	- **(a)** to whom the Agency provides any services or facilities; or
	- **(b)** who is licensed by the Agency to use, or to whom the Agency otherwise makes available, any patent, copyright, industrial design, trademark, trade secret or other like property right.

**Interest**

- **(2)** The Governor in Council may, by order, prescribe the interest, or the manner of determining the interest, to be paid on any overdue fee or charge prescribed or determined in a manner prescribed pursuant to subsection (1).

**Imposition**

- **(3)** Subject to subsection (4), the Agency shall impose the fees or charges, including interest on overdue fees or charges, prescribed or determined in a manner prescribed pursuant to subsection (1) or (2).

**Waiver or reduction in fee**

- **(4)** With the approval of the Governor in Council, the Minister may, by order, waive or reduce any fee, charge or interest that would otherwise be imposed under this section.

**Offset**

- **(5)** The Agency may, with the approval of the Treasury Board, use any fee or charge imposed under this section in a fiscal year to offset the costs incurred in that year in connection with the services, facilities or property right in respect of which the fee or charge was imposed.

**Debts due to Her Majesty**

- **(6)** All fees, charges and interest imposed under this section are debts due to Her Majesty in right of Canada and are recoverable as such in the Federal Court or any other court of competent jurisdiction.

**Not statutory instrument**

- **(7)** An order made under this section that applies to or in respect of only one person or body shall be deemed not to be a statutory instrument for the purposes of the [Statutory Instruments Act](/en/Acts/Revised%20Statutes%20of%20Canada/S/S-22.md).
> 1990, c. 13, s. 10; 2001, c. 4, s. 71(F); 2014, c. 20, s. 366(E).

**Delegation**

**11** Any power, duty or function of the Minister under this Act, other than the power to make orders under section 10 and to authorize under this section, may be exercised or performed by any officer or employee of the Agency authorized by the Minister to do so and, if so exercised or performed, shall be deemed to have been exercised or performed by the Minister.

## Organization of Agency

**President**

**12**

- **(1)** The Governor in Council shall appoint an officer, to be called the President of the Agency, to hold office during pleasure for a term not exceeding five years.

**Chief executive officer**

- **(2)** The President is the chief executive officer of the Agency and, under the direction of the Minister, has control and supervision over the work, officers and employees of the Agency.

**Acting President**

- **(3)** In the event of the absence or incapacity of the President or a vacancy in that office, the Minister may appoint another person to act as President, but that person may only act as President for a period exceeding 90 days with the approval of the Governor in Council.
> 1990, c. 13, s. 12; 2010, c. 12, s. 1713.

**13** [Repealed, 2010, c. 12, s. 1714]

**Reappointment**

**14** The President may be reappointed for a further term.
> 1990, c. 13, s. 14; 2010, c. 12, s. 1714.

**Remuneration**

**15** The President shall be paid any remuneration that may be fixed by the Governor in Council.
> 1990, c. 13, s. 15; 2010, c. 12, s. 1714.

**Employees**

**16**

- **(1)** Such employees as are necessary for the proper conduct of the work of the Agency shall be appointed in accordance with the [Public Service Employment Act](/en/Acts/Statutes%20of%20Canada/2003/c.%2022,%20ss.%2012,%2013%20.md).

**Astronauts**

- **(2)** Notwithstanding subsection (1), the Agency may appoint and employ astronauts in positions in the Agency and may, with the approval of the Governor in Council, establish the terms and conditions, including remuneration, of their employment.

**Act not applicable**

- **(3)** The [Federal Public Sector Labour Relations Act](/en/Acts/Statutes%20of%20Canada/2003/c.%2022,%20s.%202.md) does not apply to any person employed in the Agency pursuant to subsection (2).

**Acts and regulations applicable**

- **(4)** Each person employed in the Agency pursuant to subsection (2) is deemed to be an employee for the purposes of the [Government Employees Compensation Act](/en/Acts/Revised%20Statutes%20of%20Canada/G/G-5.md), to be employed in the federal public administration for the purposes of any regulations made pursuant to section 9 of the [Aeronautics Act](/en/Acts/Revised%20Statutes%20of%20Canada/A/A-2.md), and to be employed in the public service for the purposes of the [Public Service Superannuation Act](/en/Acts/Revised%20Statutes%20of%20Canada/P/P-36.md).
> 1990, c. 13, s. 16; 2003, c. 22, ss. 147, 223(E), 235; 2017, c. 9, s. 55.

**Principal office**

**17** The principal office of the Agency shall be in the greater Montreal area.

**Contracts binding on Her Majesty**

**18**

- **(1)** Every contract, memorandum of understanding and arrangement entered into by the Agency in its own name is binding on Her Majesty in right of Canada to the same extent as it is binding on the Agency.

**Legal proceedings**

- **(2)** Actions, suits or other legal proceedings in respect of any right or obligation acquired or incurred by the Agency, whether in its own name or in the name of Her Majesty in right of Canada, may be brought or taken by or against the Agency in the name of the Agency in any court that would have jurisdiction if the Agency were a corporation that is not an agent of Her Majesty.

**19** [Repealed, 2010, c. 12, s. 1715]

**20** [Repealed, 2010, c. 12, s. 1715]

**21** [Repealed, 2010, c. 12, s. 1715]

**22** [Repealed, 2010, c. 12, s. 1715]

## Annual Report

**Annual report**

**23** The President shall, within four months after the end of each fiscal year, submit an annual report on the operations of the Agency in that year to the Minister, and the Minister shall cause a copy of the report to be laid before each House of Parliament on any of the first fifteen days on which that House is sitting after the Minister receives it.

## Consequential Amendments

**24 to 27** [Amendments]

## Transitional

**Deemed appointment**

**28**

- **(1)** Where a position in the public service of Canada is transferred to the Agency within ninety days after the day on which this Act comes into force, the incumbent of the position continues in the position in the Agency, unless the incumbent otherwise elects prior to the transfer, and any person so continuing is deemed to have been appointed to the Agency in accordance with subsection 16(1).

**Probation**

- **(2)** Notwithstanding subsection (1) and section 28 of the [Public Service Employment Act](/en/Acts/Statutes%20of%20Canada/2003/c.%2022,%20ss.%2012,%2013%20.md), no person deemed by that subsection to have been appointed is subject to probation, unless the person was subject to probation immediately before the appointment, and any person who was so subject to probation continues to be subject thereto only for so long as would have been the case but for this section.

## Coming into Force

**Coming into force**

[*]**29** This Act shall come into force on a day to be fixed by order of the Governor in Council.

*: [Note: Act in force December 14, 1990, *see* SI/91-5.]

repository: TravisMadill/CanadianLaws

path: /en/Acts/Statutes of Canada/1990/c. 13.md

repo_name: TravisMadill/CanadianLaws


text:
# Physically based cloud rendering
Bachelor of Science Thesis at the Faculty of Electrical Engineering and Computing, University of Zagreb, under the mentorship of prof. dr. sc. Željka Mihajlović.

## Abstract
This bachelor’s thesis presents physically based interaction of light with particles inside a volume. Two systems for quantifying light are introduced – radiometry and photometry. Physical features of clouds and their effect on the appearance of clouds is presented. A cloud model based on noise functions is introduced. Ray tracing is presented as a method of rendering volumetric objects. Methods for approximating ambient illumination and multiple scattering inside a cloud are given. Some optimization methods are introduced with the goal of reducing rendering times. Results of the thesis are presented and evaluated.

Keywords: physically based shading, volume rendering, physics of light, noise functions, ray tracing

## Examples
![stratocumulus](/paper-images/readme/stratocumulus_cropped.png)
![cumulus](/paper-images/readme/c_multiple_ambient_cropped.png)
![sunset](/paper-images/readme/sunset_cropped.png)


text:
---
layout: page
title: Lin Geyu's Project Portfolio Page
---
<!---@@author {Lingy12}-->

## Project: IntelliJournal

IntelliJournal is a desktop contacts/journal management application designed for
businesspersons to keep track of their contacts information as well as their meetings
with them. The user interacts with it using a CLI, and it has a GUI created with
JavaFX. It is written in Java, and has about 15 kLoC. The project is developed based
on a previous project named AddressBook Level 3.

Given below are my contributions to the project:

* **New Feature**: Support command alias (`alias` command)
   * What it does: Allow user to type faster after being familiar with the system with an alias to existing command.
   * Justification: This feature improves the user experience by not forcing user to type out the full command when they are familiar with the system.

* **New Feature**: Support delete alias (`release` command)
   * What it does: Allow user to delete an alias that is set previously.

* **Backend Work**: Maintain model to support multiple feature that `Logic` component uses.
   * What it does: Support methods that logic component needs to use in `Model` interface to maintain a good abstraction.

* **Backend Work**: Support storage for command alias
    * What it does: Store the preference of user's alias as json so that the system can keep the customized alias for users.
    * Justification: This work is important because it allows user to use command alias more naturally.

* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2021s1.github.io/tp-dashboard/#breakdown=true&search=W17&sort=groupTitle&sortWithin=title&since=2020-08-14&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other&tabOpen=true&tabType=authorship&tabAuthor=Lingy12&tabRepo=AY2021S1-CS2103T-W17-4%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other)

* **Project management**:
  * Managed releases `v1.2.1` on GitHub
  * Maintain the workflow using issue tracker on Github
  * Set up milestone `v1.1` - `v1.4`

* **Enhancements to existing features**:
  * Wrote additional tests for existing features to increase coverage.

* **Community**
  * Do regular user testing to ensure the product quality.
  * Contribute user stories to start the project.
  * Report bug or design issue to teammates to ensure code quality.

* **Documentation**:
  * User Guide:
    * Added documentation for the features `alias` and `release` (Delete alias).
  * Developer Guide:
    * Added implementation details of the `alias` feature.
    * Write sample use cases in appendix.

repository: jazerler/tp

gha_license_id: NOASSERTION

repo_name: jazerler/tp


text:
---
title: Getting Started
pageTitle: "Getting Started with GraphQL, Javascript and Node.js Tutorial"
description: "Learn how to setup a GraphQL server with Javascript, Node.js & Express as well as best practices for defining the GraphQL schema."
question: Which of the following packages allows converting a string in the GraphQL Schema Definition Language into a schema object?
answers: ["body-parser", "graphql-tools", "apollo-server-express", "express"]
correctAnswer: 1
---

### Defining the Schema

You'll start by defining the schema. As in previous sections, you'll do that by using the  [GraphQL Schema Definition Language](https://www.graph.cool/docs/faq/graphql-sdl-schema-definition-language-kr84dktnp0/), which is generally a much simpler and flexible approach than manually building the schema objects yourself (though you can certainly do that if you want as well!).

Here you're going to build the backend for a [Hackernews](https://news.ycombinator.com/) clone, so start with the most important piece of data: the `Link` type.

```graphql
type Link {
  id: ID!
  url: String!
}
```

> **Note:** If you've followed the frontend tutorials, you may notice that now you have to manually specify the `id` fields, since Graphcool won't automatically generate them anymore. You'll also not use directives such as `@relation` and `@isUnique` now, as those are specific to Graphcool as well. This time it will be just plain GraphQL.

> **Bonus**: there's a super useful [](https://raw.githubusercontent.com/sogko/graphql-shorthand-notation-cheat-sheet/master/graphql-shorthand-notation-cheat-sheet.png)[GraphQL Cheat Sheet](https://github.com/sogko/graphql-schema-language-cheat-sheet) for building schemas. Check it out!

### Install Dependencies

It's time to start creating your project.

<Instruction>

**Step 1**: First, you'll need is to have Node.js installed on your machine. If you don't yet, make sure to do it [now](https://nodejs.org/en/). Note that the code samples here assume the latest versions of Node.js, with ES6 support, so it's best if that's what you have as well.

</Instruction>

<Instruction>

**Step 2**: Setup your **package.json** by typing `npm init -y` in the terminal, inside the folder of your choice.

</Instruction>

<Instruction>

**Step 3**: Install the following dependencies:

```bash(path=".../hackernews-graphql-js")
npm install --save express body-parser apollo-server-express graphql-tools graphql
```

</Instruction>

Don't worry if you're unfamiliar with some of these packages, we'll explain what each of them are as we use them.

### Setup Server

<Instruction>

Start by creating a file at `src/schema/index.js` for your schema definition, like this:

```js(path=".../hackernews-graphql-js/src/schema/index.js")
const {makeExecutableSchema} = require('graphql-tools');

// Define your types here.
const typeDefs = `
  type Link {
    id: ID!
    url: String!
    description: String!
  }
`;

// Generate the schema object from your types definition.
module.exports = makeExecutableSchema({typeDefs});
```

</Instruction>

The [graphql-tools](http://npmjs.com/package/graphql-tools) package, as the name indicates, provides several tools that help build GraphQL servers. The one you're using here is `makeExecutableSchema,` which takes a string in the schema definition language and returns a complete `GraphQLSchema` object to be used by your server.

<Instruction>

Now create the main server file at `src/index.js`, with the following content:

```js(path=".../hackernews-graphql-js/src/index.js")
const express = require('express');

// This package automatically parses JSON requests.
const bodyParser = require('body-parser');

// This package will handle GraphQL server requests and responses
// for you, based on your schema.
const {graphqlExpress} = require('apollo-server-express');

const schema = require('./schema');

var app = express();
app.use('/graphql', bodyParser.json(), graphqlExpress({schema}));

const PORT = 3000
app.listen(PORT, () => {
  console.log(`Hackernews GraphQL server running on port ${PORT}.`)
});
```

</Instruction>

<Instruction>

You can try running the server now with:

```bash(path=".../hackernews-graphql-js")
node ./src/index.js
```

</Instruction>

If you do this, you'll actually get an error saying: `Must provide schema definition with query type or a type named Query`. That's because you've defined a type in your schema, but no queries yet.

repository: yowainwright/howtographql

gha_language: TypeScript

repo_name: yowainwright/howtographql


text:
# Multi-Model Classifier API

This example deploys Iris, ResNet50 and Inception models in one API. Query parameters are used for selecting the model.

Since model caching is enabled, there can only be 2 models loaded into memory - loading a 3rd one will lead to the removal of the least recently used one. To witness the adding/removal process of models, check the logs of the API by running `cortex logs multi-model-classifier` once the API is up.

The example can be run on both CPU and on GPU hardware.

## Sample Prediction

Deploy the model by running:

```bash
cortex deploy
```

And wait for it to become live by tracking its status with `cortex get --watch`.

Once the API has been successfully deployed, export the APIs endpoint. You can get the API's endpoint by running `cortex get multi-model-classifier`.

```bash
export ENDPOINT=your-api-endpoint
```

When making a prediction with [sample-image.json](sample-image.json), the following image will be used:

![sports car](https://i.imgur.com/zovGIKD.png)

### ResNet50 Classifier

Make a request to the ResNet50 model:

```bash
curl "${ENDPOINT}?model=resnet50" -X POST -H "Content-Type: application/json" -d @sample-image.json
```

The expected response is:

```json
{"label": "sports_car"}
```

### Inception Classifier

Make a request to the Inception model:

```bash
curl "${ENDPOINT}?model=inception" -X POST -H "Content-Type: application/json" -d @sample-image.json
```

The expected response is:

```json
{"label": "sports_car"}
```

### Iris Classifier

At this point, there are 2 models loaded into memory (as specified by `cache_size`). Loading the `iris` classifier will lead to the removal of the least recently used model - in this case, it will be the ResNet50 model that will get evicted. Since the `disk_cache_size` is set to 3, no model will be removed from disk.

Make a request to the Iris model:

```bash
curl "${ENDPOINT}?model=iris" -X POST -H "Content-Type: application/json" -d @sample-iris.json
```

The expected response is:

```json
{"label": "setosa"}
```

---

Now, inspect `cortex get multi-model-classifier` to see when and which models were removed in this process of making requests to different versions of the same model.

repository: bindog/cortex

repo_name: bindog/cortex


text:
# Monashee Backup

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

A simple Laravel artisan utility to backup MySQL database to AWS S3 bucket.

I use it by creating a backup mysql user and attaching that user to all of the databases I want to backup. In a multi database environment it makes it easier to only select those databases that are in production.

It saves to a temp folder then after uploading to AWS S3 it removes the $database.sql.gz files.

It also cleans up the S3 folder by removing daily backups from 2 months ago but leaving the first one of the month.

### Events

``` MonasheeBackupSuccess ``` fires on completion and passes the $databases array

``` MonasheeBackupFail ``` fires on Exception and passes the $e->getTraceAsString()

## Installation

Requires

- PHP 5.4+
- Laravel 4.2+

Install via Composer by adding the following line to the require block of your composer.json file

```php
"monashee/backup": "dev-master"
```

Then run ``` composer update ```

Add this line to the providers array in your ``` app/config/app.php ``` file:
```php
'Monashee\Backup\BackupServiceProvider',
```

## Configuration

Create or edit your ``` .env.php ``` file in your root directory. Copy the config settings and edit the fields.

```php
<?php

return [
    'BACKUP_MYSQL_HOST'     => 'host',
    'BACKUP_MYSQL_USER'     => 'user',
    'BACKUP_MYSQL_PASSWORD' => 'password',
    'BACKUP_MYSQLDUMP_PATH' => '/usr/bin/mysqldump',
    'BACKUP_AWS_KEY'        => 'key',
    'BACKUP_AWS_SECRET'     => 'secret',
    'BACKUP_S3_BUCKET'      => 'bucket',
    'BACKUP_S3_REGION'      => 'us-west-2',
    'BACKUP_STORAGE_PATH'   => 'monashee/backup/'
];
```

AWS S3 Regions http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

## Usage

```php
php artisan monashee:backup
```

Test in console to make sure it runs without errors. I find it easier to create a MySQL user called backup and add that user to all of the databases I want to backup.

Set a cron job to trigger the command when needed.

## Notes

It uses the mysqldump command for creating the backup. [More info mysqldump](http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html)

mysqldump requires at least the SELECT privilege for dumped tables, SHOW VIEW for dumped views, TRIGGER for dumped triggers, and LOCK TABLES if the --single-transaction option is not used. Certain options might require other privileges as noted in the option descriptions.

To reload a dump file, you must have the same privileges needed to create each of the dumped objects by issuing CREATE statements manually.

\Monashee\Backup\Dump.php has the mysqldump options

repository: DerekMarcinyshyn/monashee-backup

repo_name: DerekMarcinyshyn/monashee-backup


text:
# MDAg - Financial Investments

## Dataset

| Name | Value |
| :--- | :---- |
| Catalog | [Link](https://catalog.data.gov/dataset/mdag-financial-investments) |
| Metadata | [Link](https://data.maryland.gov/api/views/d9cb-ur3n) |
| Data: JSON | [100 Rows](https://data.maryland.gov/api/views/d9cb-ur3n/rows.json?max_rows=100) |
| Data: CSV | [100 Rows](https://data.maryland.gov/api/views/d9cb-ur3n/rows.csv?max_rows=100) |
| Host | data.maryland.gov |
| Id | d9cb-ur3n |
| Name | MDAg - Financial Investments |
| Attribution | MDA |
| Category | Agriculture |
| Created | 2015-05-08T19:13:24Z |
| Publication Date | 2016-01-12T13:26:05Z |

## Description

State cost-share agreements, including federal partners, for structural BMP implementation from 1984-2015 (May) in support of Maryland's Watershed Implementation Plan (WIP) goals for the Chesapeake Bay.

## Columns

```ls
| Included | Schema Type    | Field Name                 | Name                       | Data Type     | Render Type   |
| ======== | ============== | ========================== | ========================== | ============= | ============= |
| Yes      | time           | date_paid                  | Date Paid                  | calendar_date | calendar_date |
| Yes      | series tag     | county                     | County                     | text          | text          |
| Yes      | series tag     | watershed_no               | Watershed No.              | text          | text          |
| Yes      | series tag     | watershed_name             | Watershed Name             | text          | text          |
| Yes      | numeric metric | total_project_claim_amount | Total Project Claim Amount | number        | number        |
| Yes      | numeric metric | state_macs_payment         | State MACS Payment         | number        | number        |
| Yes      | numeric metric | federal_co_payment         | Federal Co-payment         | number        | number        |
| Yes      | numeric metric | farmer_amount              | Farmer Amount              | number        | number        |
```

## Time Field

```ls
Value = date_paid
Format & Zone = yyyy-MM-dd'T'HH:mm:ss
```

## Data Commands

```ls
series e:d9cb-ur3n d:1986-09-29T00:00:00.000Z t:watershed_name="Wye River" t:county=Talbot t:watershed_no=02-13-05-03 m:farmer_amount=390 m:federal_co_payment=0 m:total_project_claim_amount=780 m:state_macs_payment=390

series e:d9cb-ur3n d:1983-10-12T00:00:00.000Z t:watershed_name="Sassafras River" t:county=Kent t:watershed_no=02-13-06-10 m:farmer_amount=7680 m:federal_co_payment=0 m:total_project_claim_amount=12680 m:state_macs_payment=5000

series e:d9cb-ur3n d:1983-10-13T00:00:00.000Z t:watershed_name="Youghiogheny River" t:county=Garrett t:watershed_no=05-02-02-01 m:farmer_amount=5699.35 m:federal_co_payment=3500 m:total_project_claim_amount=14199.35 m:state_macs_payment=5000
```

## Meta Commands

```ls
metric m:total_project_claim_amount p:double l:"Total Project Claim Amount" t:dataTypeName=number

metric m:state_macs_payment p:float l:"State MACS Payment" t:dataTypeName=number

metric m:federal_co_payment p:float l:"Federal Co-payment" t:dataTypeName=number

metric m:farmer_amount p:double l:"Farmer Amount" t:dataTypeName=number

entity e:d9cb-ur3n l:"MDAg - Financial Investments" t:attribution=MDA t:url=https://data.maryland.gov/api/views/d9cb-ur3n

property e:d9cb-ur3n t:meta.view v:id=d9cb-ur3n v:category=Agriculture v:averageRating=0 v:name="MDAg - Financial Investments" v:attribution=MDA

property e:d9cb-ur3n t:meta.view.license v:name="Public Domain"

property e:d9cb-ur3n t:meta.view.owner v:id=hcsr-zg76 v:screenName="Alisha Mulkey" v:displayName="Alisha Mulkey"

property e:d9cb-ur3n t:meta.view.tableauthor v:id=hcsr-zg76 v:screenName="Alisha Mulkey" v:roleName=editor v:displayName="Alisha Mulkey"
```

## Top Records

```ls
| date_paid           | county    | watershed_no | watershed_name       | total_project_claim_amount | state_macs_payment | federal_co_payment | farmer_amount |
| =================== | ========= | ============ | ==================== | ========================== | ================== | ================== | ============= |
| 1986-09-29T00:00:00 | Talbot    | 02-13-05-03  | Wye River            | 780.00                     | 390.00             | 0.00               | 390.00        |
| 1983-10-12T00:00:00 | Kent      | 02-13-06-10  | Sassafras River      | 12680.00                   | 5000.00            | 0.00               | 7680.00       |
| 1983-10-13T00:00:00 | Garrett   | 05-02-02-01  | Youghiogheny River   | 14199.35                   | 5000.00            | 3500.00            | 5699.35       |
| 1983-10-25T00:00:00 | Kent      | 02-13-06-10  | Sassafras River      | 600.00                     | 525.00             | 0.00               | 75.00         |
| 1983-10-25T00:00:00 | Kent      | 02-13-06-10  | Sassafras River      | 3836.25                    | 3356.72            | 0.00               | 479.53        |
| 1983-10-25T00:00:00 | Kent      | 02-13-06-10  | Sassafras River      | 4902.92                    | 4290.05            | 0.00               | 612.87        |
| 1983-10-25T00:00:00 | Kent      | 02-13-06-10  | Sassafras River      | 5261.25                    | 6407.18            | 0.00               | 657.66        |
| 1983-10-26T00:00:00 | Kent      | 02-13-06-11  | Stillpond-Fairlee    | 5685.00                    | 4974.38            | 0.00               | 710.62        |
| 1983-10-28T00:00:00 | Baltimore | 02-13-08-05  | Loch Raven Reservoir | 972.18                     | 850.65             | 0.00               | 121.53        |
| 1983-10-28T00:00:00 | Kent      | 02-13-06-11  | Stillpond-Fairlee    | 2301.21                    | 2013.56            | 0.00               | 287.65        |
```

repository: SpellarBot/open-data-catalog

repo_name: SpellarBot/open-data-catalog


text:
# CheckSSLCertificate
Get SSL Certificate Information with .Net Core Console Application

Just call the TestSSLStatus(url) method to get ssl information from the url.

repository: onurakkaya/CheckSSLCertificate

gha_language: C#

repo_name: onurakkaya/CheckSSLCertificate


text:
# How to study and do projects in data science

### Hactoberfest-2021 participation:

> tags:  \#Hactoberfest-2021, \#good-first-issue

Instructions:
Add an item to the list below that will be useful to others in data science.  Add your name and optionally your github username or link below your item.  Please follow the markdown formatting for bulleted list items.

Format:

  * item 1 - <resource name and link>
      - posted by: <your name>, optional <your github username or link>
      - comment: optional, your comments about the resource.

Example:

  * "How to Learn Deep Learning" and "Your Projects and Your Mindset," p. 9-12, ***Deep Learning for Coders with fastai & PyTorch***, by Jeremy Howard and Sylvain Gugger, c. 2020, O'Reilly Media Inc.
      - posted by: Jennifer E. Yoon, github user: JennEYoon
      - comment: This book overall is a good resouce, and specifically the pages cited have useful information for beginners on learning data science and doing data science projects.

When you are done, create a pull request from your forked repo.
Add #Hactoberfest-2021 and #Issue-number in your pull request title.

-----

## List -- How to study and do projects in data science:

  * "How to Learn Deep Learning" and "Your Projects and Your Mindset," p. 9-12, ***Deep Learning for Coders with fastai & PyTorch***, by Jeremy Howard and Sylvain Gugger, c. 2020, O'Reilly Media Inc.
      - posted by: Jennifer E. Yoon, github user: JennEYoon
      - comment: This book overall is a good resouce, and specifically the pages cited have useful information for beginners on learning data science and doing data science projects.

  * How I Trained Myself to Study Long Hours (Even When I Don't Want To), by StudyMD, YouTube https://www.youtube.com/watch?v=Dezbvv2NIlQ
      - posted by: Jennifer E. Yoon, github user: JennEYoon
      - comment: I really liked this video on how to study hard by a med student.  Boy, those med students study really hard!  "There's no trying to be your best. No! You have to F'ing BE the BEST!!!"  Great advice on upping your game.

  * item 1 - ...
      - posted by: ...
      - comment: ...

  * item 1 - ...
      - posted by: ...
      - comment: ...

  * item 1 - ...
      - posted by: ...
      - comment: ...

-----
<eof>

repository: JiaHua-Zou/deep-learning

branch_name: refs/heads/main

repo_name: JiaHua-Zou/deep-learning


text:
# Pragmatic
An opinionated  Maven archetype to quickly bootstrap backend API on a sane basis.
Pragmatic is in the early phase of development and is not production ready.
Contributions are welcomed.

# How to use
1. Clone the project: `git clone git@github.com:salmanebah/pragmatic-archetype.git`
2. Install locally: `mvn install`
3. Generate a project:  `cd directory/where/to/generate` and `mvn archetype:generate -DarchetypeCatalog=local`
4. Follow the instructions to complete the generation.

## Architecture
![supervision_tree](assets/pragmatic.png)

## Philosophy
- Only use frameworks and libraries when really needed: `Java SE > JSR > Spring framework > other libraries`
- Prefer programmatic Spring setup to their annotation-driven counterpart (exception in `Controller`, `Request` and `Response` objects)
- Strive for rich domains and avoid anemic domains at all cost
- Avoid Mapping frameworks
- Restrict usage of mocking frameworks to the minimum. If possible use an in-memory version of the SUT collaborators.
- Keep [these principles](https://github.com/KentBeck/TestDesiderata/blob/master/index.md) when writing tests

## Frameworks and Technologies
`Pragmatic` is based on:
 - [Spring Boot](https://spring.io/projects/spring-boot) web framework
 - [Jooq](https://www.jooq.org/) for the Database access
 - [Flyway](https://flywaydb.org/) for database migration
 - [Test containers](https://www.testcontainers.org/) for integration tests
 - [ArchUnit](https://www.archunit.org/) for architecture level tests
 - [Docker](https://www.docker.com/) and [Docker Compose](https://docs.docker.com/compose/) for local development
## Directory structure
- `domain` should contain all the `entities`, `value objects`, `aggregate roots` and domain `events`

- `usecase` should contain all the system use cases.
A use case can be defined as a complete interaction between a user and the system.

- `repository` should contain all the persistent components that access the datasource.
Repositories should deal with `entities` or `aggregate roots`.

- `service` should contain [domain and application services](https://enterprisecraftsmanship.com/posts/domain-vs-application-services/).

- `task` should contain asynchronous and scheduled jobs. A task should be `Runnable` or `Callable` and
must be configured in a Spring Configuration class (i.e without using the `@Scheduled` annotation).

- `rest` should contain the API controllers, requests, responses and mappers.

- `configuration` should contain all the spring configuration related classes.
Spring Beans must be created explicitly (i.e without `@Repository`, `@Service`, ... stereotypes)

## Goodies out of the box
- i18n-ready API error messages and default messages for common errors
- Swagger documentation under `/api-doc` and `/swagger` for all controllers
- A docker and docker compose environment for local development
- Monitoring with [Actuator](https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html) available at `/actuator`,
 [Prometheus](https://prometheus.io/) on port `9090` and [Grafana](https://grafana.com/) on port `3000` (default admin password is **!changeMe!**)
- A Github pipeline to run unit and integration tests upon pull request and merge on the `master` branch

## Common commands
- `mvn generate-sources -Pjooq` to generate jooq classes from migration files
- `mvn test` to only execute unit tests
- `mvn verify -Pit` to only execute integration tests
- `mvn verify` to execute all the tests
- `docker-compose up` to run the application and all the dependencies

repository: bellmit/pragmatic-archetype

repo_name: bellmit/pragmatic-archetype


text:
![alt text](doc/bezier.jpg)

BezierLoader
============
An application which can load an OBJ format file, containing one or more Bezier curves, into some internal format.
The application should then render the curves.
Notes:
- The application is written in C++.
- The loader handles any valid Bezier curve in the OBJ format.
- The loader report an error if non-Bezier primitives are found in the file.
- This project use Ogre3D for the rendering part.
- Bezier curves are computed using a Bernstein polynomial.
- Curves are described with a set of controls points and some parameters depending on the rendering technique used:
	- Constant Parametric Subdivision
	- Constant Space Subdivision
	- Curvature Dependent Subdivision

Repository structure
============
- bin : the last released.
- doc : documentation about the BezierLoader project.
- externals : external librairies used in this project.
- media : some assets used to render objects.
- src : the source code.
- vs2010 : a solution to compile the project with Visual Studio 2010.
	- BezierLoader.vcxproj generate a static library
	- BezierLoaderTest.vcxproj generate an exe to test the functionalities provided by BezierLoader static library.

Test Application
============
You can launch the last release by double-clicking on the "test.bat" file.
Check the "test.bat" file to see how to load your own .obj file.

The application load the curves in the .obj file.
Each curve is rendered with a particular random colour.
Control points are rendered as small spheres.
The curves are rendered as more or less broken lines, depending on the resolution.
You can switch and focus on each curve pressing space bar.

- Controls:
	- W,S,A,D + mouse to move the camera.
	- Left_Shift : speed up translation.
	- Space : switch to the next curve (the camera focus automatically on the next curve).
	- Enter : show all curves.
	- Esc : Exit.

repository: ebadier/BezierLoader

repo_name: ebadier/BezierLoader


text:
Adventures of Chromatica

## ℹ About
This project is a 2d game in javascript with the objective of jumping from enemies.

## 🧰 Built With
 - [JavaScript](https://www.javascript.com/)
 - [p5.js](https://p5js.org/)

## 🎮 Demo
 See the game demo and have fun playing 👉 [Adventures of Chromatica](https://biachacon.github.io/chromatica-game/)

## 📝 License
This project is under MIT. See at here [LICENSE](https://github.com/BiaChacon/chromatica-game/blob/master/LICENSE) for more informations.

## 👩🏽💻 Author

Bia Chacon
💻 🎨

repository: BiaChacon/chromatica-game

repo_name: BiaChacon/chromatica-game


text:
# Master Thesis work of Haining Tong

This is the code for my master thesis "Zero-Shot Relation Extraction via Description Learning". This repository is based on the ESIM implementation of [Baseline Models for MultiNLI Corpus](https://github.com/nyu-mll/multiNLI).

## Data
The [MultiNLI](https://www.nyu.edu/projects/bowman/multinli/) and [UW-RE](http://nlp.cs.washington.edu/zeroshot/) data are utilized in my approach. The UW-RE data should be processed with ['entity_masker.py'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/data_process/mask_entity/entity_masker.py) for masking out the entities before feeding into the models.

## Models
I proposed four neural network models based on the Conditional Inference Model (CIM). They could take multiple descriptions to pair with instance sentences. The information would be merged in different layers in the four models.

- Conditional Inference Model (CIM) : I convert the ESIM to CIM by replace the BiLSTM with cBiLSTM. Main code for this model is in ['cim.py'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/models/cim.py)
- Connected-Merging CIM (CCIM) : in this model, the knowledge of descriptions would be allocated by connecting the cell states of BiLSTM in the Inference Composition layer. Main code for this model is in ['ccim.py'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/models/ccim.py)
- Inference-Merging CIM (ICIM) : in this model, the merging work takes place in the Local inference Layer. Main code for this model is in ['icim.py'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/models/icim.py)
- Pooling-Merging CIM (PCIM) : in this model, descriptions are merged in the Pooling Layer. Main code for this model is in ['pcim.py'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/models/pcim.py)
- MLP-Merging CIM (MCIM) : in this model, descriptions are merged by averaging in the MLP Layer. Main code for this model is in ['mcim.py'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/models/mcim.py)

## Training and Testing

### Training settings

The models can be pretrained with MultiNLI or train with UW-RE. Each setting has its own training script.

- To train a model only on MultiNLI data, I create both python code and jupyter notebook.
	- [`pre_train_mnli.py`](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/pre_train_mnli.py).
	- ['Pre_Train.ipynb'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/Pre_Train.ipynb)

- To train a model only on UW-RE data.
	- [`train_mnli.py`](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/test_multi.py)

- To train the baseline model CIM with single description utilized.
	- [`train_single.py`](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/train_single.py)

### Command line flags

To start training with any of the training scripts, there are a couple of required command-line flags and an array of optional flags. The code concerning all flags can be found in [`parameters.py`](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/util/parameters.py). All the parameters set in `parameters.py` are printed to the log file everytime the training script is launched.

Required flags,

- `model_type`: there are three model types in this repository, `cim`, `ccim`,`icim`, `pcim`, and `mcim`. You must state which model you want to use.
- `model_name`: this is your experiment name. This name will be used the prefix the log and checkpoint files.

Optional flags,

- `description_num`: how many descriptions do you want to use for each prediction.
- `crossfold`: fold setting for cross validationi.
- `relation_description` : path to your directory with relation description
- `datapath`: path to your directory with MultiNLI, and UWRE data. Default is set to "../data"
- `ckptpath`: path to your directory where you wish to store checkpoint files. Default is set to "../logs"
- `logpath`: path to your directory where you wish to store log files. Default is set to "../logs"
- `emb_to_load`: path to your directory with GloVe data. Default is set to "../data"
- `learning_rate`: the learning rate you wish to use during training. Default value is set to 0.0004
- `keep_rate`: the hyper-parameter for dropout-rate. `keep_rate` = 1 - dropout-rate. The default value is set to 0.9.
- `seq_length`: the maximum sequence length you wish to use. Default value is set to 50. Sentences shorter than `seq_length` are padded to the right. Sentences longer than `seq-length` are truncated.
- `emb_train`: boolean flag that determines if the model updates word embeddings during training. If called, the word embeddings are updated.
- `test`: boolean used to test a trained model. Call this flag if you wish to load a trained model and test it on MultiNLI dev-sets* and SNLI test-set. When called, the best checkpoint will be used (see section on checkpoints for more details).

### Other parameters

Remaining parameters like the size of hidden layers, word embeddings, and minibatch can be changed directly in `parameters.py`. The default hidden embedding and word embedding size is set to 300, the minibatch size (`batch_size` in the code) is set to 16.

### Sample commands
You can run the following bash directly, or following the python command inside them,

- ['pre_train.sh'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/pre_train.sh)
- ['train_single.sh'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/train_single.sh)
- ['train_multi.sh'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/train_multi.sh)

### Testing models
To test a trained model, simply add the `test` flag to the command used for training. The best checkpoint will be loaded and used to evaluate the model's performance on the UW-RE.

- ['test.sh'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/test.sh) would run ['test_multi.py'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/test_multi.py). It would also generate a CSV file with the true label and predicted label.
- ['test_ranking.sh'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/test_ranking.sh) would run ['relation_preict.py'](https://github.com/tonghaining/zero_shot_relation_extraction/blob/master/python/relation_predict.py). It would selecting the relation with highest entailment score among all the 120 relations.

### Checkpoints

I maintain two checkpoints: the most recent checkpoint and the best checkpoint. Every 500 steps, the most recent checkpoint is updated, and we test to see if the dev-set accuracy has improved by at least 0.04%. If the accuracy has gone up by at least 0.04%, then the best checkpoint is updated.

## License

Copyright 2019, University of Copenhagen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


text:
If we tried to let all of you rapid iPhone users have FaceTime, our network would take a firey crash into Hell. Many of the executives that have been too goddamn cheap to upgrade the network are now scared shitless that they will lose their cushy bonuses.  AT&T is only allowing cellular FaceTime if you buy into their new overpriced and underserviced family share plans. I am on a grandfathered unlimited data plan, which is not really unlimited. The new share plan will cost me $40 a month more for significantly less data that we already use (and our usage is way less than the cap or throttle trigger on the unlimited plan).

And now we can only get *some* data on out AT&T phones, the data *they* choose we get to see. If they decide to block Twitter or Skype or Google searches, there’s nothing we can do about it. And it seems, it’s legal for AT&T to do this on mobile. There’s no net neutrality on mobile networks in the USA under FCC rules. *Well paid AT&T* (Not a typo).

What’s worse is that there is no alternative network available in the US that provides a better or more open service. Verizon’s plans, prices and restrictions are pretty much the same (lets call it cartel-like collusion).  So much for free markets, competition, capitalism and the American way.

extension: markdown


text:
# DORDoneHUD

[![CI Status](http://img.shields.io/travis/DroidsOnRoids/DORDoneHUD.svg?style=flat)](https://travis-ci.org/DroidsOnRoids/DORDoneHUD)
[![Version](https://img.shields.io/cocoapods/v/DORDoneHUD.svg?style=flat)](http://cocoapods.org/pods/DORDoneHUD)
[![License](https://img.shields.io/cocoapods/l/DORDoneHUD.svg?style=flat)](http://cocoapods.org/pods/DORDoneHUD)
[![Platform](https://img.shields.io/cocoapods/p/DORDoneHUD.svg?style=flat)](http://cocoapods.org/pods/DORDoneHUD)

Done animation made by [beryu/DoneHUD](https://github.com/beryu/DoneHUD) ported in Objective-C

![DORDoneHUB demo](https://raw.githubusercontent.com/DroidsOnRoids/DORDoneHUD/master/demo.gif "DORDoneHUB demo")

## Usage

```objective-c
[DORDoneHUD show:self.view];
```
```objective-c
[DORDoneHUD show:self.view message:@"Fixed!"];
```
```objective-c
[DORDoneHUD show:self.view message:@"Custom" completion:^{
	NSLog(@"Badum tss");
}];
```

## Requirements
**iOS 8**

## Test drive

```ruby
pod try "DORDoneHUD"
```

## Installation

DORDoneHUD is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
pod "DORDoneHUD"
```

## Author

Paweł Bednorz<EMAIL_ADDRESS>
Check our blog! [thedroidsonroids.com/blog](http://thedroidsonroids.com/blog/)

## License

DORDoneHUD is available under the MIT license. See the LICENSE file for more info.

repository: DroidsOnRoids/DORDoneHUD

repo_name: DroidsOnRoids/DORDoneHUD


text:
# React Reveal

[React Reveal](https://www.react-reveal.com/) is
an animation framework for React. It's MIT licensed, has a tiny footprint
and written specifically for React in ES6. It can be used to create various cool reveal
on scroll animations in your application.
If you liked this package, don't forget to star
the [Github repository](https://github.com/rnosov/react-reveal).

## Live Examples

A number of simple effect examples:
- [Fade](https://www.react-reveal.com/examples/common/fade/)
- [Flip](https://www.react-reveal.com/examples/common/flip/)
- [Rotate](https://www.react-reveal.com/examples/common/rotate/)
- [Zoom](https://www.react-reveal.com/examples/common/zoom/)
- [Bounce](https://www.react-reveal.com/examples/common/bounce/)
- [Roll](https://www.react-reveal.com/examples/common/roll/)

Also, there are more complicated examples of [animated form errors](https://www.react-reveal.com/examples/advanced/form/) and a [todo app](https://www.react-reveal.com/examples/advanced/todo/).

## Installation

In the command prompt run:

```sh
npm install react-reveal --save
```

Alternatively you may use `yarn`:

```sh
yarn add react-reveal
```

## Quick Start

Import effects from [React Reveal](https://www.npmjs.com/package/react-reveal) to your project. Lets try `Zoom` effect first:

```javascript
import Zoom from 'react-reveal/Zoom';
```

Place the following code somewhere in your `render` method:

```jsx
<Zoom>
  <p>Markup that will be revealed on scroll</p>
</Zoom>
```

You should see zooming animation that reveals text inside the tag. You can change this text to any JSX you want. If you place this code further down the page you'll see that it'd appear as you scroll down.

## Revealing React Components

You may just wrap your custom React component with the effect of your choosing like so:

```jsx
<Zoom>
  <CustomComponent />
</Zoom>
```

In such case, in the resulting `<CustomComponent />` HTML markup will be wrapped in a `div` tag. If you would rather have a different HTML tag then wrap `<CustomComponent />` in a tag of your choosing:

```jsx
<Zoom>
  <section>
    <CustomComponent />
  </section>
</Zoom>
```

or if you want to customize `div` props:

```jsx
<Zoom>
  <div className="some-class">
    <CustomComponent />
  </div>
</Zoom>
```

If you don't want any tag at all then another option is to [expose DOM ref](https://reactjs.org/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components) to `react-reveal`. You do that by using `refProp` prop. Consider following custom React Component:

```jsx
function CustomComponent({ innerRef, className, style }) {
  return (<div ref={innerRef} className={className} style={style}>Some content</div>);
}
```

And then you can reveal using following code:

```jsx
<Zoom refProp="innerRef">
  <CustomComponent />
</Zoom>
```

In this case, `react-reveal` will not insert any tags and will use the exposed HTML element. Some React components such as React Router links already expose their refs via `innerRef` prop:

```jsx
<Zoom refProp="innerRef">
  <Link to="/">Your Content</Link>
</Zoom>
```

## Revealing Images

If you want to reveal an image you can wrap `img` tag with with the desired `react-reveal` effect:

```jsx
<Zoom>
  <img height="300" width="400" src="https://source.unsplash.com/random/300x400" />
</Zoom>
```

It would be a very good idea to specify width and height of any image you wish to reveal.

## Children

`react-reveal` will attach a reveal effect to each child it gets. In other words,

```jsx
<Zoom>
  <div>First Child</div>
  <div>Second Child</div>
</Zoom>
```

will be equivalent to:

```jsx
<Zoom>
  <div>First Child</div>
</Zoom>
<Zoom>
  <div>Second Child</div>
</Zoom>
```

If you don't want this to happen, you should wrap multiple children in a `div` tag:

```jsx
<Zoom>
  <div>
    <div>First Child</div>
    <div>Second Child</div>
  </div>
</Zoom>
```

## Server Side Rendering

`react-reveal` supports server side rendering out of the box. In some cases, when the javascript bundle arrives much later than the HTML&CSS it might cause a flickering. `react-reveal` will try to autodetect this and apply gentle fadeout effect on the initial render to mitigate flickering.

## Search Engine Optimisation

`react-reveal` is regularly checked against googlebot in the Search Console to make sure that googlebot can see the content in the revealed elements.

## Documentation

For a full documentation please visit [online docs](https://www.react-reveal.com/docs/).

## Forking This Package

Clone the this repository using the following command:

```sh
git clone https://github.com/rnosov/react-reveal.git
```

In the cloned directory, you can run following commands:

```sh
npm install
```

Installs required node modules

```sh
npm run build
```

Builds the package for production to the `dist` folder

```sh
npm test
```

Runs tests

## License

Copyright © 2018 Roman Nosov. Project source code is licensed under the MIT license.


text:
# Java 8 lambda e stream
Project Java 8 for study Lambda and Stream

PoC in develop.

Requisite: Installation Java 8 e IDE Eclipse

Execution : Execute the method main of archive Main.java and verify the result at the console.

Licence: MIT.

Examples:
 * Foreach.
 * Lambda.
 * Interface functional.
 * Consumer and consumer compost.
 * RemoveIf.
 * Sort with comparator and comparator auto boxing.
 * Access in methods and constructor withreference.


text:
# Contributing to Hord

Thank you for being so interested in helping develop Hord. The time, skills, and perspectives you contribute to this project are valued.

## Issues and Proposals

Bugs, Proposals, & Feature Requests are all welcome. To get started, please open an issue via GitHub. Please provide as much detail as possible.

## Contributing

Contributions are always appreciated. For additional drivers, please ensure that the contributed database driver adheres to the Documentation, Coding Standards, and Build practices followed by existing drivers.

repository: madflojo/hord

gha_language: Go

repo_name: madflojo/hord


text:
# Git Revision Range

A simple repo to understand git revision range and test your skills.

- Double Dot Revision Range
- Triple Dot Revision Range

![Revision Range](assets/revisoin-range.png)

### LICENSE

Copyright © 2020 Ranjith Suranga. All rights reserved. Licensed under the [MIT LICENSE](LICENSE).


text:
# go-plyfile

[![GoDoc](https://godoc.org/github.com/alexbaden/go-plyfile?status.svg)](https://godoc.org/github.com/alexbaden/go-plyfile)

Package plyfile provides functions for reading and writing PLY files. The package uses the C plyfile library, originally developed by Greg Turk and released in February 1994. All Go code is provided under the Apache 2.0 license. Greg Turk's code has a separate license (see lib folder).

Pull requests, issues, comments, and feedback in general is always welcome.

## Disclaimer

There are probably cleaner, more go-centric ways to write this code. However, this project accomplished several goals. First and foremost, it was a great way to learn more about the relationship between Go programs and C programs when using cgo. The plyfile C library uses a lot of dynamic memory allocation and other C tricks which are not exactly Go-friendly. Most of the Go code copies C memory to Go memory, which is not particularly efficient. Future versions of this library will likely convert some of the original C code to native Go code. But, for a first Go project, this was a great one; a lot of learning happened!

## Acknowledgements

A very big thanks is owed to Greg Turk for releasing his original plyfile code. Preserving the flexibility of his original package was a major goal for this project, and none of it would be possible without his well written and well documented C library and accompanying test file.

## Installation

Run `go get github.com/alexbaden/go-plyfile`

The install will fail with the following error:
```
# github.com/alexbaden/go-plyfile
/usr/bin/ld: cannot find -lplyfile
collect2: error: ld returned 1 exit status# github.com/alexbaden/go-plyfile
/usr/bin/ld: cannot find -lplyfile
collect2: error: ld returned 1 exit status
```

That's fine, you just need to compile the C code with the included makefile. Head over to the `github.com/alexbaden/go-plyfile/lib` directory (e.g. `cd $GOPATH/src/github.com/alexbaden/go-plyfile/lib` ). Compile the C code using `make`.

Now you can run `go build` and `go install` from the parent directory (`$GOPATH/src/github.com/alexbaden/go-plyfile`).

From there, you should be good to go. But, just to make sure, run `go test` and verify the two tests (Write and Read) pass.

## Basics

The structure of Turk's original code is preserved. The plyfile package makes heavy use of cgo to interface with Turk's code and use his original functions.  It is critical to properly close PLY files using the PlyClose function!

A comparison of ply_test.go and lib/plytest.c shows nearly identical function calls. Thus, porting a C program that uses Turk's plyfile library should be relatively straightforward. The ply_test.go file shows the process of both writing and reading a PLY file, including how to open a file, describe properties, and write and read data. The basics of writing and reading are also described below.

### Writing PLY Files

A full example of writing PLY files is available in ply_test.go. Briefly, the following steps are required:

First, some basic variables must be declared and defined. Namely, a string slice of element names (to define each element to be written to the PLY file). The type of PLY file (ASCII or Binary) must also be specified. In our test example, we generate some data, and set the PLY properties. Properties could be declared in the function body, but using a setting function allows us to re-declare properties in both the Writing and Reading function with little work.

Second, we open the PLY file for writing using the aptly named PlyOpenForWriting function. This function allocates C memory, creates a plyfile object (which we use to track our PLY file through writing), and returns the PLY file version (which will likely always be 1.0). Next, we describe element count, properties, and (optionally) add object info and/or comments. After all this, we can call PlyHeaderComplete, which finalizes the header and writes it to disk.

Third, we setup each element and write the elements to disk. Once elements are written, we can close the PLY file using PlyClose, which frees all allocated C memory and flushes the file to disk (also closing the open file handler). That's it!

### Reading PLY Files

A full example of reading PLY files is also available in ply_test.go. Briefly, the following steps are required:

First, we declare our PLY properties and open the PLY file for reading using PlyOpenForReading. PlyOpenForReading returns a CPlyFile object, for tracking our PLY file in future functions, and a list of element names.

Second, we iterate through the returned element names. For each element name, we get the number of elements and number of properties as well as a slice of PLYProperty objects. Next, we allocate Go memory to store the incoming element data, and read the elements. We repeat for each element.

Finally, comments and object info are read from the PLY file, and returned as a slice of strings using the respective reading function.

### A note about elements with list properties

The currently element with list property implementation (see Face in ply_test.go) likely needs to be adjusted. The Verts [16]byte array is used to store a pointer to the vertex_indices, and stores a pointer to the vertex_indices on return. Using a 32-bit or 64-bit integer may be better, and will possibly be changed in a future release. However, the basic idea is as follows:

When using a list, we expect to have a dynamic number elements for a given property. The C code expects a pointer to the list of elements, but Go won't package a struct containing pointers. So, we cheat and write the memory location into a byte slice, then pass that byte slice to the C code. As long as we're careful not to garbage collect the memory containing the list of elements while the C code is running, there are no issues.

When reading the list back in, we get a byte slice containing the memory location of the list data we are interested in. ConvertByteSliceToInt32 allows us to write the data stored in C memory, pointed to by the memory address written in the byte slice, to a Go slice. Again, if we're careful not to garbage collect or free memory before reading and converting to a Go object, this method works fine. Since most PLY reading or writing happens in a single function, memory issues should occur infrequently. However, this implementation is a weak point of the current program, and will likely need to be revised.

repository: alexbaden/go-plyfile

repo_name: alexbaden/go-plyfile


text:
- [Structure](#structure)
- [Types](#types)
    - [Content Delivery Network](#content_delivery_network)
    - [Khan Academy](#khan_academy)
- [Build](#build)
    - [Basic](#basic)
    - [Advanced](#advanced)
- [Content](#content)
- [Jargon](#jargon)
    - [Essentials](#essentials)
    - [Essentials X](#essentials_x)

---

Structure

The Essentials library is split into 5 modules: Core, Color, Text, Shape and External. The Essentials Core is required in all builds while the others can be mixed and matched to suit per-project needs.

![](https://mermaid.ink/svg/eyJjb2RlIjoiZ3JhcGggVERcbiAgICBDb3JlKEVzc2VudGlhbHMgQ29yZSlcbiAgICBDb3JlIC0tPiBDb2xvcihDb2xvciBFc3NlbnRpYWxzKVxuICAgIENvcmUgLS0-IFRleHQoVGV4dCBFc3NlbnRpYWxzKVxuICAgIENvcmUgLS0-IFNoYXBlKFNoYXBlIEVzc2VudGlhbHMpXG4gICAgQ29yZSAtLT4gRXh0ZXJuYWwoRXh0ZXJuYWwgRXNzZW50aWFscylcbiIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2UsImF1dG9TeW5jIjp0cnVlLCJ1cGRhdGVEaWFncmFtIjpmYWxzZX0)

Types

Both the CDN and KA builds are for projects on Khan Academy.

Content Delivery Network

Written is modern JavaScript and imported into projects using the jsDelivr CDN. This method requires some boilerplate code.

Khan Academy

Transformed to ES5 JavaScript using Babel. This method requires the code by copied directly into projects.

Build

Basic

The [Builder](https://bhavjitchauhan.github.io/Essentials/tutorial-Builder) can generate CDN and KA builds with select modules. This is useful if a given project may not need certain components.

Advanced

The [jsDelivr](https://www.jsdelivr.com/package/gh/bhavjitChauhan/Essentials?path=src) tool can generate CDN builds with select functions and constants. This method is more involved as it does not handle dependencies (e.g. `getColorMode` requires `getRedRange`) which may cause some functions to break. This is _only_ useful if a given project has compatibility issues with select functionality in Essentials but requires other functions in the same module.

Content

Individual module functions and constants are listed in the side bar on the [documentation](https://bhavjitchauhan.github.io/Essentials).

Jargon

Tutorials may refer to named builds of Essentials. Fortunately there are only two.

Essentials

The standard build offered by default. Contains all but the External Essentials module.

![](https://mermaid.ink/svg/eyJjb2RlIjoiZ3JhcGggVERcbiAgICBzdWJncmFwaCBFc3NlbnRpYWxzXG4gICAgQ29yZShFc3NlbnRpYWxzIENvcmUpXG4gICAgQ29sb3IoQ29sb3IgRXNzZW50aWFscylcbiAgICBUZXh0KFRleHQgRXNzZW50aWFscylcbiAgICBTaGFwZShTaGFwZSBFc3NlbnRpYWxzKVxuICAgIGVuZFxuIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZSwiYXV0b1N5bmMiOnRydWUsInVwZGF0ZURpYWdyYW0iOmZhbHNlfQ)

Essentials X

The full build containing all modules.

![](https://mermaid.ink/svg/eyJjb2RlIjoiZ3JhcGggVERcbiAgICBzdWJncmFwaCBFc3NlbnRpYWxzIFhcbiAgICBDb3JlKEVzc2VudGlhbHMgQ29yZSlcbiAgICBDb2xvcihDb2xvciBFc3NlbnRpYWxzKVxuICAgIFRleHQoVGV4dCBFc3NlbnRpYWxzKVxuICAgIFNoYXBlKFNoYXBlIEVzc2VudGlhbHMpXG4gICAgRXh0ZXJuYWwoRXh0ZXJuYWwgRXNzZW50aWFscylcbiAgICBlbmRcbiIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2UsImF1dG9TeW5jIjp0cnVlLCJ1cGRhdGVEaWFncmFtIjpmYWxzZX0)

repository: bhavjitChauhan/Essentials

repo_name: bhavjitChauhan/Essentials