text:
PEP: 13 Title: Python Language Governance Author: The Python core team
and community Status: Active Type: Informational Content-Type:
text/x-rst Created: 2018-12-16

Abstract
========

This PEP defines the formal governance process for Python, and records
how this has changed over time. Currently, governance is based around a
steering council. The council has broad authority, which they seek to
exercise as rarely as possible.

Current steering council
========================

The current steering council consists of:

-   Barry Warsaw
-   Brett Cannon
-   Carol Willing
-   Thomas Wouters
-   Victor Stinner

Per the results of the vote tracked in PEP 8101.

The core team consists of those listed in the private
<https://github.com/python/voters/> repository which is publicly shared
via <https://devguide.python.org/developers/>.

Specification
=============

The steering council
--------------------

### Composition

The steering council is a 5-person committee.

### Mandate

The steering council shall work to:

-   Maintain the quality and stability of the Python language and
    CPython interpreter,
-   Make contributing as accessible, inclusive, and sustainable as
    possible,
-   Formalize and maintain the relationship between the core team and
    the PSF,
-   Establish appropriate decision-making processes for PEPs,
-   Seek consensus among contributors and the core team before acting in
    a formal capacity,
-   Act as a \"court of final appeal\" for decisions where all other
    methods have failed.

### Powers

The council has broad authority to make decisions about the project. For
example, they can:

-   Accept or reject PEPs
-   Enforce or update the project\'s code of conduct
-   Work with the PSF to manage any project assets
-   Delegate parts of their authority to other subcommittees or
    processes

However, they cannot modify this PEP, or affect the membership of the
core team, except via the mechanisms specified in this PEP.

The council should look for ways to use these powers as little as
possible. Instead of voting, it\'s better to seek consensus. Instead of
ruling on individual PEPs, it\'s better to define a standard process for
PEP decision making (for example, by accepting one of the other 801x
series of PEPs). It\'s better to establish a Code of Conduct committee
than to rule on individual cases. And so on.

To use its powers, the council votes. Every council member must either
vote or explicitly abstain. Members with conflicts of interest on a
particular vote must abstain. Passing requires a strict majority of
non-abstaining council members.

Whenever possible, the council\'s deliberations and votes shall be held
in public.

### Electing the council

A council election consists of two phases:

-   Phase 1: Candidates advertise their interest in serving. Candidates
    must be nominated by a core team member. Self-nominations are
    allowed.
-   Phase 2: Each core team member can vote for zero or more of the
    candidates. Voting is performed anonymously. Candidates are ranked
    by the total number of votes they receive. If a tie occurs, it may
    be resolved by mutual agreement among the candidates, or else the
    winner will be chosen at random.

Each phase lasts one to two weeks, at the outgoing council\'s
discretion. For the initial election, both phases will last two weeks.

The election process is managed by a returns officer nominated by the
outgoing steering council. For the initial election, the returns officer
will be nominated by the PSF Executive Director.

The council should ideally reflect the diversity of Python contributors
and users, and core team members are encouraged to vote accordingly.

### Term

A new council is elected after each feature release. Each council\'s
term runs from when their election results are finalized until the next
council\'s term starts. There are no term limits.

### Vacancies

Council members may resign their position at any time.

Whenever there is a vacancy during the regular council term, the council
may vote to appoint a replacement to serve out the rest of the term.

If a council member drops out of touch and cannot be contacted for a
month or longer, then the rest of the council may vote to replace them.

### Conflicts of interest

While we trust council members to act in the best interests of Python
rather than themselves or their employers, the mere appearance of any
one company dominating Python development could itself be harmful and
erode trust. In order to avoid any appearance of conflict of interest,
at most 2 members of the council can work for any single employer.

In a council election, if 3 of the top 5 vote-getters work for the same
employer, then whichever of them ranked lowest is disqualified and the
6th-ranking candidate moves up into 5th place; this is repeated until a
valid council is formed.

During a council term, if changing circumstances cause this rule to be
broken (for instance, due to a council member changing employment), then
one or more council members must resign to remedy the issue, and the
resulting vacancies can then be filled as normal.

### Ejecting core team members

In exceptional circumstances, it may be necessary to remove someone from
the core team against their will. (For example: egregious and ongoing
code of conduct violations.) This can be accomplished by a steering
council vote, but unlike other steering council votes, this requires at
least a two-thirds majority. With 5 members voting, this means that a
3:2 vote is insufficient; 4:1 in favor is the minimum required for such
a vote to succeed. In addition, this is the one power of the steering
council which cannot be delegated, and this power cannot be used while a
vote of no confidence is in process.

If the ejected core team member is also on the steering council, then
they are removed from the steering council as well.

### Vote of no confidence

In exceptional circumstances, the core team may remove a sitting council
member, or the entire council, via a vote of no confidence.

A no-confidence vote is triggered when a core team member calls for one
publically on an appropriate project communication channel, and another
core team member seconds the proposal.

The vote lasts for two weeks. Core team members vote for or against. If
at least two thirds of voters express a lack of confidence, then the
vote succeeds.

There are two forms of no-confidence votes: those targeting a single
member, and those targeting the council as a whole. The initial call for
a no-confidence vote must specify which type is intended. If a
single-member vote succeeds, then that member is removed from the
council and the resulting vacancy can be handled in the usual way. If a
whole-council vote succeeds, the council is dissolved and a new council
election is triggered immediately.

The core team
-------------

### Role

The core team is the group of trusted volunteers who manage Python. They
assume many roles required to achieve the project\'s goals, especially
those that require a high level of trust. They make the decisions that
shape the future of the project.

Core team members are expected to act as role models for the community
and custodians of the project, on behalf of the community and all those
who rely on Python.

They will intervene, where necessary, in online discussions or at
official Python events on the rare occasions that a situation arises
that requires intervention.

They have authority over the Python Project infrastructure, including
the Python Project website itself, the Python GitHub organization and
repositories, the bug tracker, the mailing lists, IRC channels, etc.

### Prerogatives

Core team members may participate in formal votes, typically to nominate
new team members and to elect the steering council.

### Membership

Python core team members demonstrate:

-   a good grasp of the philosophy of the Python Project
-   a solid track record of being constructive and helpful
-   significant contributions to the project\'s goals, in any form
-   willingness to dedicate some time to improving Python

As the project matures, contributions go beyond code. Here\'s an
incomplete list of areas where contributions may be considered for
joining the core team, in no particular order:

-   Working on community management and outreach
-   Providing support on the mailing lists and on IRC
-   Triaging tickets
-   Writing patches (code, docs, or tests)
-   Reviewing patches (code, docs, or tests)
-   Participating in design decisions
-   Providing expertise in a particular domain (security, i18n, etc.)
-   Managing the continuous integration infrastructure
-   Managing the servers (website, tracker, documentation, etc.)
-   Maintaining related projects (alternative interpreters, core
    infrastructure like packaging, etc.)
-   Creating visual designs

Core team membership acknowledges sustained and valuable efforts that
align well with the philosophy and the goals of the Python project.

It is granted by receiving at least two-thirds positive votes in a core
team vote that is open for one week and with no veto by the steering
council.

Core team members are always looking for promising contributors,
teaching them how the project is managed, and submitting their names to
the core team\'s vote when they\'re ready.

There\'s no time limit on core team membership. However, in order to
provide the general public with a reasonable idea of how many people
maintain Python, core team members who have stopped contributing are
encouraged to declare themselves as \"inactive\". Those who haven\'t
made any non-trivial contribution in two years may be asked to move
themselves to this category, and moved there if they don\'t respond. To
record and honor their contributions, inactive team members will
continue to be listed alongside active core team members; and, if they
later resume contributing, they can switch back to active status at
will. While someone is in inactive status, though, they lose their
active privileges like voting or nominating for the steering council,
and commit access.

The initial active core team members will consist of everyone currently
listed in the [\"Python core\" team on
Github](https://github.com/orgs/python/teams/python-core/members)
(access granted for core members only), and the initial inactive members
will consist of everyone else who has been a committer in the past.

Changing this document
----------------------

Changes to this document require at least a two-thirds majority of votes
cast in a core team vote which should be open for two weeks.

History
=======

Creation of this document
-------------------------

The Python project was started by Guido van Rossum, who served as its
Benevolent Dictator for Life (BDFL) from inception until July 2018, when
he [stepped
down](https://mail.python.org/pipermail/python-committers/2018-July/005664.html).

After discussion, a number of proposals were put forward for a new
governance model, and the core devs voted to choose between them. The
overall process is described in PEP 8000 and PEP 8001, a review of other
projects was performed in PEP 8002, and the proposals themselves were
written up as the 801x series of PEPs. Eventually the proposal in PEP
8016 was
[selected](https://discuss.python.org/t/python-governance-vote-december-2018-results/546)
as the new governance model, and was used to create the initial version
of this PEP. The 8000-series PEPs are preserved for historical reference
(and in particular, PEP 8016 contains additional rationale and links to
contemporary discussions), but this PEP is now the official reference,
and will evolve following the rules described herein.

History of council elections
----------------------------

-   January 2019: PEP 8100
-   December 2019: PEP 8101

History of amendments
---------------------

2019-04-17: Added the vote length for core devs and changes to this
document.

Acknowledgements
================

This PEP began as PEP 8016, which was written by Nathaniel J. Smith and
Donald Stufft, based on a Django governance document written by Aymeric
Augustin, and incorporated feedback and assistance from numerous others.

Copyright
=========

This document has been placed in the public domain.

####

> Local Variables: mode: indented-text indent-tabs-mode: nil
> sentence-end-double-space: t fill-column: 70 coding: utf-8 End:

repository: erdal-pb/opep

repo_name: erdal-pb/opep


text:
# compose-sylius

Sylius composition for dev ENV

## Installation

@TODO

```bash
pip install foobar
```

## Usage @TODO

```php
//@TODO
```

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

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

license: MIT

repository: php-application-starter/compose-sylius

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: php-application-starter/compose-sylius


text:
---
title: Canvas
module: 4
jotted: true
---

# Canvas

Earlier, I eluded to this idea of the canvas.  As artists, we might want to draw or allow our users to draw on their phones.  The canvas allows us to do this.  In this next section, I will go through a short video on how to use the canvas.

Canvas Video

branch_name: refs/heads/main


text:
# Outreach WG

Date: August 31, 2020

## Attendees
**Members:**
* @bnb
* @erickzhao
* @felixrieseberg
* @sofianguy
* @VerteDinde

**Visitors:**
* None

## Agenda
* Discord Project Review
    * Discord Project Board: https://github.com/orgs/electron/projects/33
    * Channels
        * Suggested list (thanks Tierney!): https://electronhq.slack.com/archives/C018T04NMV4/p1598464178017700
        * Any others?
        * Actions:
            * @Keeley:
                * Add auto-moderation to #how-to-get-help channel
                * Write how-to-get-help blurb for channel
                * Add comment to rules on how to report bad behavior (DM mods or report via Code of Conduct report form)
            * @Erick
                * Set up RSS feed for releases (only stable, and for 3 currently supported versions)
    * Roles
        * Admin
        * Maintainer
    * Have a time-limited channel for #hacktoberfest2020 that we archive when it's over
* Hacktoberfest:
    * What did we do last year?
    * What do we want to do this year?
        * Direct people to tools used by Electron
        * Use electron-api-demos again?
        * Electron Fiddle - make first issues
        * Pinned issue?
            * Please don't submit spam PRs!
            * Redirect folks to different
        * Create HackMD with possible ideas
    * Timing Discord announcement with Hacktoberfest - timelines
* Chair Rotation
    * Vote in Erick!

## Action Items
From this meeting:
* @VerteDinde:
  * Add auto-moderation to #how-to-get-help channel
  * Write how-to-get-help blurb for channel
  * Add comment to rules on how to report bad behavior (DM mods or report via Code of Conduct report form)
* @erickzhao:
  * Set up RSS feed for releases (only stable, and for 3 currently supported versions)
  * Create #proj-hacktoberfest-2020 channel

Previous:
* None

repository: electron/governance

gha_language: Shell

repo_name: electron/governance


text:
# audd

Golang client for audd.io (https://audd.io/)

## Getting Started
audd.io is Audio Recognition API service. The servic allows you to recognize audio files, recordings and audio streams.
This packkage helps you to integrate audd.io service in your Golang project easily.

### Break down into end to end tests

Explain what these tests test and why

```
Give an example
```

### And coding style tests
To start implement package use the example below:

```
var audioClient audd.AuidoClient
audioClient.SetToken("YOUR_API_TOKEN").SetPlatform(audd.PlatformAppleMusic)
res, err := ac.Parse("AUDIO_FILE_URL")

if err != nil {
    log.Println(err)
    return
}

fmt.Println(res)
```

## Deployment

Add additional notes about how to deploy this on a live system

## Built With

* [Dropwizard](http://www.dropwizard.io/1.0.2/docs/) - The web framework used
* [Maven](https://maven.apache.org/) - Dependency Management
* [ROME](https://rometools.github.io/rome/) - Used to generate RSS Feeds

## Contributing

Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags).

## Authors

* **Anar Rzayev** - *Initial work* - [Anarr](https://github.com/Anarr)

See also the list of [contributors](https://github.com/Anarr/audd/contributors) who participated in this project.

## License

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

## Acknowledgments

* Hat tip to anyone whose code was used
* Inspiration
* etc

repository: Anarr/audd

repo_name: Anarr/audd


text:
View any GraphQL schema as a dynamic and interactive graph.

Try it out now: http://birdseye.novvum.io/

[![NPM](https://img.shields.io/npm/v/graphql-birdseye-core.svg)](https://www.npmjs.com/package/graphql-birdseye-core) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

### Description

Birdseye is an interactive tool that dynamically displays GraphQL schemas. It helps teams visualize and understand the nodes and connections within their schema. Birdseye was built using jointJS and makes for a lightweight addition to any web project.

### Features

1. Graphical view of any GraphQL schema
2. Ability to click on a field or type to view its connections
3. Dynamic zooming to focus on small portions of the schema at a time
4. Add to any web project
5. Customizable styling and theming

### Javascript Library Documentation

This is the documentation to use Birdseye as a Javascript library. To learn how to use Birdseye as a React package, please refer to the React repository [README](../../packages/react/README.md).

### Installation

Install using NPM or yarn

##### NPM

```bash
npm install --save graphql-birdseye-core
```

##### Yarn

```bash
yarn add graphql-birdseye-core
```

### Usage

Here’s an example of how to use the Birdseye Javascript library in a React project. See the API Reference for how to pass your schema to the component.

```javascript
import {
  GraphqlBirdseye,
  IntrospectionDataStructure,
} from "graphql-birdseye-core";
import $ from "jquery";
// Instantiate the library
const birdseye = new GraphqlBirdseye();

// define the data structure
const introspectionQuery = getSchemaIntrospection(); // get the introspection response from the schema
const dataStructure = new IntrospectionDataStructure(
  introspectionQuery.__schema
);

// Initialize the library
birdseye.init(
  $("#graphql-birdseye"), // the html div element to mount the library to.
  { width: 500, height: 500 }, // object to define the size of the container
  dataStructure
);
```

### API

##### `const birdseye = new GraphqlBirdseye({ theme })`
Creates a Birdseye object.

|Name|Type|Description|
|---|---|---|
|theme (optional)|object|An object defining the theme of the components. Theme objects should follow the type defined [here](../../example/src/styled/theme/interface.ts). Here's a full [example](../../example/src/styled/theme/birdseyeTheme.ts).|

##### `init(el, bounds, dataStructure)`
Initializes the Birdseye diagram with the GraphQL schema to display, the DOM element to attach it to, and its size.

|Name|Type|Description|
|---|---|---|
|`el`|[HTML DOM Element](https://www.w3schools.com/jsref/dom_obj_all.asp)|The HTML element on which to mount the Birdseye diagram.|
|`bounds`|object|The height and width of the diagram.
`width`: Int
`height`: Int|
|`dataStructure`|[BirdseyeDataStructure](#birdseyedatastructure)|The GraphQL schema to display, expressed as a Birdseye Data Structure. Read more about Birdseye Data Structures below.|

##### `setDataStructure(newDataStructure)`
Updates the GraphQL schema displayed in the Birdseye diagram.

|Name|Type|Description|
|---|---|---|
|`newDataStructure`|[BirdseyeDataStructure](#birdseyedatastructure)|The GraphQL schema to display, expressed as a Birdseye Data Structure. Read more about Birdseye Data Structure below.|

##### `setActiveType(activeType)`
Changes the active type selected on the diagram. This function fires whenever a type is clicked, but it can also be used to change the active type manually.

|Name|Type|Description|
|---|---|---|
|`activeType`|String|The `name` value of the `Type` object from the Birdseye Data Structure.|

##### `setSize(width, height)`
Updates the width and height of the Birdseye diagram.

|Name|Type|Description|
|---|---|---|
|`width`|int|The width of the diagram.|
|`height`|int|The height of the diagram.|

##### `on(event, callback)`
Invokes a function when a type is clicked and the diagram is loading. It can invoke a function when the loading begins or when the loading ends.

|Name|Type|Description|
|---|---|---|
|`event`|String|Use either:
`"loading:start"`
`"loading:stop"`|
|`callback`|() => any|The function that will be invoked when the event triggers.|

#### BirdseyeDataStructure

Birdseye accepts GraphQL schemas defined in the Birdseye Data Structure. We chose to specify our own data structure because GraphQL schemas can be represented in various formats (i.e. introspection response, GraphQL Schema Object, etc.). Birdseye ships with two translators to create Birdseye Data Structures.

- [`introspectionConverter`](./src/graphql/introspectionConverter.ts): Converts the response of an [introspection](https://graphql.org/learn/introspection/) query into a Birdseye Data Structure. Use the response from this [introspection query](../../example/src/utils/introspectionQuery.tsx) with this converter.
- [`schemaConverter`](./src/graphql/schemaConverter.ts): Converts a [GraphQL Schema](https://graphql.org/graphql-js/type/#graphqlschema) Object into a Birdseye Data Structure. You can use the [ExecutableSchema](https://www.apollographql.com/docs/apollo-server/api/graphql-tools/#makeExecutableSchema) from GraphQL tools to create a GrapahQL Schema Object.

### Roadmap
We have plans to keep improving Birdseye. Here's what is next:
1. Improve performance for larger schemas
2. Option to toggle zoom navigation style
3. Smoother UI transitions and interactions

### Contributing
This is an open source project. To learn how to contribute, please check out our [contributing guide](../../CONTRIBUTING.md#contributing-guide).

### License

MIT © [Novvum](https://github.com/novvum)

---

Made with ❤ by Novvum

gha_license_id: MIT


text:
# Restaurant Reviewer

#### A PHP application to review restaurants, September 21st, 2016

#### By Mark Lawson & Stephen Burden

## Description

This application is an exercise in PHP and MySQL. Users can add restaurants to the site and review other restaurants. The application is built with PHP, using the Silex framework, Twig templates, and Bootstrap for styling.

## Setup/Installation Instructions

* Clone the repository
* Using the command line, navigate to the project's root directory
* Install dependencies by running $ composer install
* Sign into MySQL shell by running $ /Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot
* Start MAMP server and go to MAMP preferences:
    * Set Document Root to project's root directory
    * In the app/app.php project file, make sure the $server variable points to the localhost port listed under Ports>MySQL port in MAMP
* In a browser, go to http://localhost/phpmyadmin
* Select Import from the top menu and choose the compressed .sql files from the projects root directory and click 'Go' to import the databases
* Navigate to the /web directory and start a local server with $ php -S localhost:8000
* Open a browser and go to the address http://localhost:8000 to view the application

## Known Bugs ##

There are no known bugs at this time.

## Support and Contact Details ##

Please report any bugs or issues to<EMAIL_ADDRESS>
## Languages/Technologies Used ##

* PHP
* Silex
* Twig
* PHPUnit
* Bootstrap

### License ###

*This application is licensed under the MIT license.*

Copyright (c) 2016 Mark Lawson & Stephen Burden


text:
---
layout: post
title:  Learning Notes - 货币金融学（The Economics of money,banking & financial markets) 概念
---

## The Bond Market and Interest Rates

1. **security（aka financial instrument)证券（也称 金融工具）**  a claim on the issuer's future income or assets(any financial claim or piece of property that is subject to ownership)
2. **bond 债券** is a ***debt security(债务证券）***that promises to make payments periodically for a specified period of time
3. **interest rate (利率）** is the cost of borrowing or the price paid for the rental of funds

	Interest rates are important on a number of levels.

	> 一些生词：**lump**(lump something together 把...归并在一起) **substantial** （可观的）**unison**（in unison 一致行动） comprising(由...构成）

## The Stock Market
1. a ***common stock*** (通常称为 **stock**）represents a share of ownership in a corporation. It is a security that is a claim on the earnings and assets of the corportation. The Market is a place where people can get rich--or poor--qucikly.

## The Financial Institutions
The financial system comporises many different types of private sector financial institutions,including banks,insurance companies,mutual funds,finance companies,and investment banks,all of which are heavily regulated by the government.

> financial intermediaries(中间人,中介）

## Financial Crisis
At times,the financial system *seizes up*(停止运转) and products **financial crisis**

## Banks and other financial institutions
- **Banks** are financial institutions that **accept deposits**(吸收存款) and **make loans**（放贷）.  Included under the term *banks* are firms such as commercial banks,savings and load assoications,mutual saving banks(互助储蓄银行),and credit unions. Because the banks are the largest financial intermediaries in our ecomony,they deserve the most careful study.However,banks are not the only important financial institutions.

## Financial innovation
e-finance concepts

## what is money?
Money, also referred to as the money supply, is defined as anything that is generally accepted in **payment for *goods* or *services*** or *in the repayments of debts*.

## Money and business cycles
Why did the economy expand from 1982 to 1990, contract in 1990 to 1991, boom again from 1991 to 2001, and then contract again in 2001? Evidence suggests that money plays an important role in generating **business cycles**

total production of goods and services (called **aggregate output**)

**unemployment** rate (the percentage of the available labor force unemployed)

**recessions**(衰退期), periods of declining aggregate output.

**monetary theory**, the theory that relates changes in the quantity of
money to changes in aggregate economic activity and the price level.

## Money and inflation
物价水平后货币供给的走势相当一致

The *average* price of goods and services in an economy is called the **aggregate price level**, or, more simply, the *price level* (a more precise definition is found in the appendix to this chapter)

**Inflation**, a continual increase in the price level, affects individuals, businesses, and the government. Inflation is generally regarded as an important problem to be solved and has often been a primary concern of politicians and policymakers. To solve the inflation problem, we need to know something about its causes.

**Inflation rate** (the rate of change of the price level, usually measured as a percentage change per year)

## Money and interest rates
In addition to other factors, money plays an important role in interest-rate **fluctuations**, which are of great concern to businesses and consumers.

## Conduct of monetary policy
the conduct of **monetary policy**, the management of money and interest rates.

The organization responsible for the conduct of a nation’s monetary policy is the **central bank**. The United States’ central bank is **the Federal Reserve System** (also called simply **the Fed**).

## Ficial policy and Monetary policy
**Fiscal policy** involves decisions about government spending and taxation. A *budget deficit*(赤字) is the excess of government *expenditures*（开支） over tax revenues for a particular time period, typically a year, while a **budget surplus**（盈余） arises when tax revenues exceed government expenditures.

national output (as calculated by the gross domestic product, or **GDP**, a measure of aggregate output described in the appendix to this chapter)

## The foreign exchange market (外汇市场）
For funds(基金－翻译不准确) to be transferred from one country to another, they have to be converted from **the currency in the country of origin** (say, dollars) into **the currency of the country they are going to** (say, euros).The foreign exchange market is where this con- version takes place, and so it is instrumental in moving funds between countries.

It is also important because it is where the **foreign exchange rate**, the price of one country’s currency in terms of another’s, is determined.

## The international financial system

---

This textbook stresses the economic way of thinking by developing a unifying framework to study money, banking, and financial markets. This analytic framework uses a few basic economic concepts to organize your thinking about the determination of asset prices, the structure of financial markets, bank management, and the role of money in the economy. It **encompasses** the following basic concepts:

- A simplified approach to the demand for assets
- The concept of equilibrium(均衡)
- Basic supply and demand to explain behavior in financial markets
- The search for profits

Exploring the Web

- An approach to financial structure based on transaction costs and asymmetric（不对称） information
- Aggregate supply and demand analysis


text:
# VRCModLoader
A VRChat mod loader based on [Illusion Plugin Architecture](https://github.com/Eusth/IPA)

Installation
---
Before install:
- **Tupper (from VRChat Team) said that any modification of the game can lead to a ban, as with this mod**
- You need to know that this mod has not been validated by the VRChat team, but they don't seems to care if someone use it

You can install it using the mod installer available on [the VRCTools website](https://vrchat.survival-machines.fr/)

How does it works
---
This file is loaded by the modified UnityEngine.dll assembly.

On start, it will first install/update the [VRCTools mod](https://github.com/Slaynash/VRCTools) (It's a required mod for having all VRCModLoader features), copy all files located in `<VRChat_Install_Folder>/Mods` to a temporary folder, and then load all of them.

How to create a mod
---
To create a mod, you will need to create a new C# library, and reference the VRCModLoader.dll, UnityEngine.dll and UnityEngine.CoreModule.dll files. (you may also need more other UnityEngine.\*.dll files)

A basic mod main class is made like this:
```csharp
using VRCModLoader;

//VRCModInfo(name, version, authorname [, downloadurl])
[VRCModInfo("TestMod", "1.0", "Slaynash")]
public class TestMod : VRCMod
{
    // All the following methods are optional
    // They also works like Unity's magic methods
    void OnApplicationStart() { }
    void OnApplicationQuit() { }
    void OnLevelWasLoaded(int level) { }
    void OnLevelWasInitialized(int level) { }
    void OnUpdate() { }
    void OnFixedUpdate() { }
    void OnLateUpdate() { }
    void OnGUI() { }
}
```
You can also reference VRCTools to use the VRCTools utils (VRCUiManagerUtils, ...) and/or use the VRCModNetwork

(Please ask Slaynash on the VRCTools discord to register your packets first or they will be refused by the server)

Launch Options
---
- `--no-vr`: Start the game without VR (game command)
- `--verbose`: Enable the debug console
- `--vrctools.noupdate`: Disable the VRCTools download/update on game start
- `--vrctools.forceupdate`: Force the update of VRCTools on game start
- `--nomodloader`: Disable the modloader

Tutorials and helps
---
Unofficial VRChat API Documentation: [http://vrchatapi.github.io/](http://vrchatapi.github.io/)
... More coming later ...

Disclaimer
---
'I' stand for Hugo Flores (Slaynash).

I am not affiliated with VRChat.
This content is for entertainment purpose only, and is provided "AS IS".
I am not responsible of any legal prejudice against VRChat, the VRChat team, VRChat community or legals prejudice done with an edited version of this code.

Want more infos or some help ?
---
You can [join the VRCTools discord server](https://discord.gg/rCqKSvR) if you need some help, want to know when an update is released, the status of the known bugs, the upcoming features, or simply talk with others !

repository: thetrueyoshifan/VRCModLoader

repo_name: thetrueyoshifan/VRCModLoader


text:
---
layout: default
---

# 1993-03-05 - Re: Encrypted voice protocol?

## Header Data

From<EMAIL_ADDRESS>(Timothy C. May)

To<EMAIL_ADDRESS>Message Hash: 268ef48c4ac8fc82b56f964c22975abeb6c0172333e291a480a0818154775d6d

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1993-03-05 18:43:32 UTC

Raw Date: Fri, 5 Mar 93 10:43:32 PST

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Timothy C. May)
Date: Fri, 5 Mar 93 10:43:32 PST
To<EMAIL_ADDRESS>Subject: Re: Encrypted voice protocol?
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Bob Stratton writes:

>I don't know how many of you are at sites on the MBONE, or multicast
>backbone. There are already a few pieces of code out there for
>experimentation with transmission of audio and video information, in a
>variety of forms/encoding, and probably the most widely used tool, "vat - the
>Visual Audio Tool", already has provisions for carrying on encrypted audio
>teleconferences via IP. In fact, it's as simple as typing a key into a field,
>and the tool will DES en/decrypt the conference.
>
>--Strat, budding multicast weenie

I just read in the local paper about "Internet Radio," which sounds like
some kind of transmission of compressed audio, if I have the details right.

This could be interesting. The "Crypto Home Companion Show"?

Anybody know anything about this? (The originator comes from Alexandria,
Virginia, so perhaps Strat and our other D.C. area folks have heard more
about this.)

-Tim

--
Timothy C. May               | Crypto Anarchy: encryption, digital money,
<EMAIL_ADDRESS>      | anonymous networks, digital pseudonyms, zero
408-688-5409               | knowledge, reputations, information markets,
W.A.S.T.E.: Aptos, CA       | black markets, collapse of governments.
Higher Power: 2^756839 | Public Key: MailSafe and PGP available.

{% endraw %}
```

## Thread

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

+ Return to<EMAIL_ADDRESS>(John Coryell.)](/authors/jcoryellnwu_edu_at_uicvm_uic_edu_john_coryell_)"
+ Return to<EMAIL_ADDRESS>(Timothy C. May)](/authors/tcmay_at_netcom_com_timothy_c_may_)"

+ 1993-03-05 (Fri, 5 Mar 93 10:43:32 PST) - Re: Encrypted voice protocol? -<EMAIL_ADDRESS>(Timothy C. May)_
  + 1993-03-06 (Fri, 5 Mar 93 16:17:56 PST) - [Re: Encrypted voice protocol?](/archive/1993/03/b63986400ca8df3ecbb56ede1ce6017797dea71482783eced00952f5f6a10743) -<EMAIL_ADDRESS>(John Coryell.)_


text:
# Azure DB for PostgreSQL

## Introduction

This module manages resources for Azure DB for PostgreSQL.

## Usage

Instantiate the module by calling it from Terraform like this:

```hcl
module "azure-postgresql" {
  source  = "dodevops/postgresql/azure"
  version = "<version>"
}
```

<!-- BEGIN_TF_DOCS -->
## Requirements

No requirements.

## Providers

The following providers are used by this module:

- azurerm

## Modules

No modules.

## Resources

The following resources are used by this module:

- [azurerm_postgresql_database.db](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_database) (resource)
- [azurerm_postgresql_firewall_rule.firewall](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_firewall_rule) (resource)
- [azurerm_postgresql_server.server](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_server) (resource)
- [azurerm_postgresql_virtual_network_rule.virtualnetworks](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_virtual_network_rule) (resource)
- [azurerm_private_endpoint.postgresql-private-endpoint](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/private_endpoint) (resource)

## Required Inputs

The following input variables are required:

### admin\_password

Description: Admin password

Type: `string`

### charset

Description: Charset for the databases, which needs to be a valid PostgreSQL charset

Type: `string`

### collation

Description:     Collation for the databases, which needs to be a valid PostgreSQL collation. Note that Microsoft uses
    different notation - f.e. en-US instead of en\_US

Type: `string`

### database\_suffixes

Description: List of suffixes for databases to be created

Type: `list(string)`

### location

Description: The azure location used for azure

Type: `string`

### project

Description: Three letter project key

Type: `string`

### resource\_group

Description: Azure Resource Group to use

Type: `string`

### stage

Description: Stage for this ressource group

Type: `string`

## Optional Inputs

The following input variables are optional (have default values):

### admin\_login

Description: Admin login

Type: `string`

Default: `"psql"`

### allowed\_ips

Description:     A hash of permissions to access the database server by ip. The hash key is the name suffix and each value
    has a start and an end value. For public access set start\_ip\_address to <IP_ADDRESS> and end\_ip\_address to
    <IP_ADDRESS>. This variable is not used if public\_access = false.

Type:

```hcl
map(object({
    start = string,
    end   = string
  }))
```

Default: `{}`

### autogrow

Description:     Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage
    and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the
    workload

Type: `bool`

Default: `true`

### backup\_retention\_days

Description: Number of days to keep backups

Type: `number`

Default: `7`

### database\_host\_sku

Description: SKU for the database server to use

Type: `string`

Default: `"GP_Gen5_2"`

### database\_storage

Description: Required database storage (in MB)

Type: `string`

Default: `"5120"`

### database\_version

Description: Database version to use

Type: `string`

Default: `"11"`

### geo\_redundant\_backup\_enabled

Description:     Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the
    General Purpose and Memory Optimized tiers. This is not support for the Basic tier

Type: `bool`

Default: `false`

### public\_access

Description:     Wether to allow public access to the database server. True will create firewall rules for allowed\_ips and for subnets. False will
    create a private endpoint in each given subnet (allowed\_ips will not be used then) - you have to set
    enforce\_private\_link\_endpoint\_network\_policies = true on your subnet in this case (see
    https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet#enforce_private_link_endpoint_network_policies).

Type: `bool`

Default: `false`

### subnets

Description: Maps of prefix => subnet id that has access to the server

Type: `map(string)`

Default: `{}`

### suffix

Description: Naming suffix to allow multiple instances of this module

Type: `string`

Default: `""`

## Outputs

The following outputs are exported:

### admin\_login

Description: n/a

### admin\_password

Description: n/a

### databases

Description: n/a

### server\_fqdn

Description: FQDN of the database service
<!-- END_TF_DOCS -->

## Development

Use [terraform-docs](https://terraform-docs.io/) to generate the API documentation by running

    terraform fmt .
    terraform-docs .


text:
#### AVB
Python scripts related to Audio Video Briding (IEEE 802.1BA) support on Catalyst Platforms.
For details, refer to: http://www.cisco.com/go/avb

#### auto_avb.py
Script automating the deployemt of AVB networks. Push all AVB related configurations to multiple
switches with single script execution. The automation also handles feature dependencies.

#### Usage
```
python auto_avb.py <path/to/inventory/xl> <username> <password> mvrp_enable|mvrp_disable
```
<path/to/inventory/xl> : Path to local XL file with network inventory details
<username> : Username for switch login (common for all switches)
<password> : Password for siwtch login (common for all switches)
mvrp_enable|mvrp_disable : MVRP enable or disable based on requirement

#### Examples
To deploy AVB where endpoints use MVRP:
```
python auto_avb.py /home/<dir>/<subdir>/inventory.xlsx admin password mvrp_enable
```
To deploy AVB where endpoints do not use MVRP:
```
python auto_avb.py /home/<dir>/<subdir>/inventory.xlsx admin password mvrp_disable
```

#### Notes
XL format:
```
IP		Interfaces
<IP_ADDRESS>	11,12,13
<IP_ADDRESS>	14,15,16
<IP_ADDRESS>	17,18,19
```

### Enhancements / Todo's
- Support for all types of interfaces (currently script uses "TenGigabitEthernet")
- Support for auto detection and configuration of downlink ports as well as interconnects


text:
# go-code-analyser
A little code analyzer written in Go. It is very inspired by [gocloc](https://github.com/hhatto/gocloc)
but trying to add concurrency to improve performance.

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/7f0286abc3264605bb224505a613d268)](https://www.codacy.com/manual/fabienbellanger/goCodeAnalyser?utm_source=github.com&utm_medium=referral&utm_content=fabienbellanger/goCodeAnalyser&utm_campaign=Badge_Grade)
[![Build Status](https://travis-ci.org/fabienbellanger/goCodeAnalyser.svg?branch=master)](https://travis-ci.org/fabienbellanger/goCodeAnalyser)
[![Go Report Card](https://goreportcard.com/badge/github.com/fabienbellanger/goCodeAnalyser)](https://goreportcard.com/report/github.com/fabienbellanger/goCodeAnalyser)

GolangCI => [here](https://golangci.com/r/github.com/fabienbellanger/goCodeAnalyser)

repository: fabienbellanger/goCodeAnalyser

gha_language: Go

repo_name: fabienbellanger/goCodeAnalyser


text:
# Test Report: Backend with Mocha and Chai

All of these tests are passed.
You can expect to see the actual and latest results on the CI/CD server (using Snap CI):

- <https://snap-ci.com/gunadarma-academy/asde-michi-backend>

Even more in various pipelines of development, staging, and production.

# Result (26/04/2016)

```
Arlin backend app running at http://<IP_ADDRESS>:3030

  global hooks
    ✓ myHooks can be used
    ✓ addUpdatedAt can be used

  Arlin backend/server application tests
info: (404) Route: / - Page not found
    ✓ starts and shows nothing at the index page (41ms)
    error 404
info: (404) Route: /404 - Page not found
      ✓ shows a 404 HTML page
info: (404) Route: /404 - Page not found
      ✓ shows a 404 JSON error without stack trace

  question edit hook
    ✓ type of hook returns a function
    ✓ edit title and description

  question restrict-to-author hook
    ✓ returns a function

  question setAuthor hook
    ✓ type of hook returns a function

  questions service
    ✓ registered the questions service

  quote service
    ✓ registered the quotes service

  user edit hook
    ✓ type of hook returns a function
    ✓ edit email and username

  user service
    ✓ registered the users service

  14 passing (503ms)
```

repository: gunadarma-academy/asde-michi-test

extension: markdown

repo_name: gunadarma-academy/asde-michi-test


text:
# Cowpy

**Author**: Paul Williamsen and Tim Schoen
**Version**: 1.0.1

## Overview
An application that uses cowpy/cowsy API/console script for the cowsay-linux.

## Getting Started
run pipenv shell to start your shell
run server.py in terminal to start the server
navigate to localhost:(PORT) or use IP address in browser
Change the text in address bar after
localhost:5000/?msg=_________ to change appereance of cow

## Architecture
Python
http.server
urllib.parse
pytest
requests

## API
cowpy

## Change Log
Adding additional POST functionality

gha_language: Python


text:
    Your starter kit for the learn hapi learning path.

    You’ll implement a real-world app from zero to hero!

    Demo ·
    Setup ·
    Hugs

    Follow @marcuspoehls for Futureflix updates!

---

# learn hapi — Starter Files
This repository contains the **Futureflix Starter Kit** for the **[learn hapi](http://learnhapi.com)** learning path.

You’ll implement Futureflix as a sample app while following the tutorials in this hapi (hapi.js) learning path.

The finished project’s implementation is only available for Future Students. If you’re part of the Future Studio University, you’ve access to the code (hosted on GitLab).

## Requirements
> Node.js v8.x with `async/await`
>
> This version of Futureflix uses **hapi v17**. For hapi v16, use a [`1.x` release](https://github.com/futurestudio/futureflix-starter-kit/releases)

The Futureflix Starter Kit uses hapi v17 and has full `async/await` support.

**Requirements**

- Node.js **v8.x** or later
- NPM/Yarn to install the project’s dependencies
- [Vagrant](https://www.vagrantup.com/) or a [MongoDB](https://docs.mongodb.com/manual/installation/) instance on your machine

Download the Futureflix Starter Kit in version [`1.x` from this repo’s release page](https://github.com/futurestudio/futureflix-starter-kit/releases) if you want to run it with Node.js v6.x.

Seems doable, huh? 😃

## Setup and Run
To run your own Futureflix instance, clone this repository, install the dependencies, start a MongoDB instance in a Vagrant VM or on your own machine.

```bash
# clone repository
git clone https://github.com/futurestudio/futureflix-starter-kit.git
cd futureflix-starter-kit

# install dependencies
npm i

# start the Vagrant box
vagrant up

# create your secrets.env file from secrets.env.example
cp secrets.env.sample secrets.env

# import sample data
npm run pumpitup

# start the server
node server.js

# that’s it :)
```

The starter kit doesn’t contain any logging. If you don’t see any errors while starting the `server.js`,
[visit localhost:3000](http://localhost:3000). Have fun!

## Getting Help
At this point, there’s no Slack channel or support group. If you need help with your implementation, please email us or send a tweet [@futurestud_io](https://twitter.com/futurestud_io). We’re active on emails and reply as soon as possible.

At this point, there’s no Slack channel or support group. If you need help with your implementation, please email us. We’re active on emails and reply as soon as possible.

## Sending Pull Requests
In case you found a different way to implement a feature, we’re happy to hear about it! Within the videos we’re using the code of this repository and want to keep it as close as possible.

Error fixes and additional explanations are always welcome. If you find something, we absolutely appreciate your pull request.

Make it rock!

## Thank You with a Hug!
It’s great to see you exploring this repository. Really! Dig through the code and hopefully you’ll take wins away ❤

### Sample data from trakt.tv
Movie and TV show sample data for Futureflix comes from [trakt.tv](https://trakt.tv/). Track your progress on watched movies and shows, never forget where you left off a week ago! Trakt is a nice platform with dozens of apps for any client.
We’re not payed to say that 😅

## License

MIT © [Future Studio](https://futurestud.io)

---

> [futurestud.io](https://futurestud.io)  ·
> GitHub [@futurestudio](https://github.com/futurestudio/)  ·
> Twitter [@futurestud_io](https://twitter.com/futurestud_io)

repository: YuenEsc/futureflix-starter-kit

repo_name: YuenEsc/futureflix-starter-kit


text:
# fgd-tokio
[Demo site](https://optgeo.github.io/fgd-tokio)

A vector tile prototype titled "奇跡をうみだすスーパーシティ"

# ChangeLog
- 2021-04-25: updated to use v2.2.0 of Mapbox GL JS and to have sky and terrain in style.json.

repository: Ayako-T/fgd-tokio

repo_name: Ayako-T/fgd-tokio


text:
<!--
order: 4
-->

# `Msg` Services

A Protobuf `Msg` service processes [messages](./messages-and-queries.md#messages). Protobuf `Msg` services are specific to the module in which they are defined, and only process messages defined within the said module. They are called from `BaseApp` during [`DeliverTx`](../core/baseapp.md#delivertx). {synopsis}

## Pre-requisite Readings

* [Module Manager](./module-manager.md) {prereq}
* [Messages and Queries](./messages-and-queries.md) {prereq}

## Implementation of a module `Msg` service

Each module should define a Protobuf `Msg` service, which will be responsible for processing requests (implementing `sdk.Msg`) and returning responses.

As further described in [ADR 031](../architecture/adr-031-msg-service.md), this approach has the advantage of clearly specifying return types and generating server and client code.

Protobuf generates a `MsgServer` interface based on a definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `sdk.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `sdk.Msg`s:

+++ https://github.com/cosmos/cosmos-sdk/blob/v0.40.0-rc3/x/bank/types/tx.pb.go#L285-L291

When possible, the existing module's [`Keeper`](keeper.md) should implement `MsgServer`, otherwise a `msgServer` struct that embeds the `Keeper` can be created, typically in `./keeper/msg_server.go`:

+++ https://github.com/cosmos/cosmos-sdk/blob/v0.40.0-rc1/x/bank/keeper/msg_server.go#L14-L16

`msgServer` methods can retrieve the `sdk.Context` from the `context.Context` parameter method using the `sdk.UnwrapSDKContext`:

+++ https://github.com/cosmos/cosmos-sdk/blob/v0.40.0-rc1/x/bank/keeper/msg_server.go#L27-L28

`sdk.Msg` processing usually follows these 3 steps:

### Validation

Before a `msgServer` method is executed, the message's [`ValidateBasic()`](../basics/tx-lifecycle.md#ValidateBasic) method has already been called. Since `msg.ValidateBasic()`  performs only the most basic checks, this stage must perform all other validation (both *stateful* and *stateless*) to make sure the `message` is valid. Checks performed in the `msgServer` method can be more expensive and the signer is charged gas for these operations.
For example, a `msgServer` method for a `transfer` message might check that the sending account has enough funds to actually perform the transfer.

It is recommended to implement all validation checks in a separate function that passes state values as arguments. This implementation simplifies testing. As expected, expensive validation functions charge additional gas. Example:

```go
ValidateMsgA(msg MsgA, now Time, gm GasMeter) error {
	if now.Before(msg.Expire) {
		return sdkerrrors.ErrInvalidRequest.Wrap("msg expired")
	}
	gm.ConsumeGas(1000, "signature verification")
	return signatureVerificaton(msg.Prover, msg.Data)
}
```

### State Transition

After the validation is successful, the `msgServer` method uses the [`keeper`](./keeper.md) functions to access the state and perform a state transition.

### Events

Before returning, `msgServer` methods generally emit one or more [events](../core/events.md) by using the `EventManager` held in the `ctx`. Use the new `EmitTypedEvent` function that uses protobuf-based event types:

```go
ctx.EventManager().EmitTypedEvent(
	&group.EventABC{Key1: Value1,  Key2, Value2})
```

or the older `EmitEvent` function:

```go
ctx.EventManager().EmitEvent(
	sdk.NewEvent(
		eventType,  // e.g. sdk.EventTypeMessage for a message, types.CustomEventType for a custom event defined in the module
		sdk.NewAttribute(key1, value1),
		sdk.NewAttribute(key2, value2),
	),
)
```

These events are relayed back to the underlying consensus engine and can be used by service providers to implement services around the application. Click [here](../core/events.md) to learn more about events.

The invoked `msgServer` method returns a `proto.Message` response and an `error`. These return values are then wrapped into an `*sdk.Result` or an `error` using `sdk.WrapServiceResult(ctx sdk.Context, res proto.Message, err error)`:

+++ https://github.com/cosmos/cosmos-sdk/blob/v0.40.0-rc2/baseapp/msg_service_router.go#L104-L104

This method takes care of marshaling the `res` parameter to protobuf and attaching any events on the `ctx.EventManager()` to the `sdk.Result`.

+++ https://github.com/cosmos/cosmos-sdk/blob/d55c1a26657a0af937fa2273b38dcfa1bb3cff9f/proto/cosmos/base/abci/v1beta1/abci.proto#L81-L95

This diagram shows a typical structure of a Protobuf `Msg` service, and how the message propagates through the module.

![Transaction flow](../uml/svg/transaction_flow.svg)

## Amino `LegacyMsg`s

### `handler` type

The `handler` type defined in the Cosmos SDK will be deprecated in favor of [`Msg` Services](#implementation-of-a-module-msg-service).

Here is the typical structure of a `handler` function:

+++ https://github.com/cosmos/cosmos-sdk/blob/v0.40.0-rc2/types/handler.go#L4-L4

Let us break it down:

* The [`LegacyMsg`](./messages-and-queries.md#messages) is the actual object being processed.
* The [`Context`](../core/context.md) contains all the necessary information needed to process the `msg`, as well as a branch of the latest state. If the `msg` is successfully processed, the branched version of the state contained in the `ctx` will be written to the main state (branch).
* The `*Result` returned to `BaseApp` contains (among other things) information on the execution of the `handler` and [events](../core/events.md).

Module `handler`s are typically implemented in a `./handler.go` file inside the module's folder. The [module manager](./module-manager.md) is used to add the module's `handler`s to the
[application's `router`](../core/baseapp.md#message-routing) via the `Route()` method. Typically,
the manager's `Route()` method simply constructs a Route that calls a `NewHandler()` method defined in `handler.go`.

+++ https://github.com/cosmos/cosmos-sdk/blob/228728cce2af8d494c8b4e996d011492139b04ab/x/gov/module.go#L143-L146

### Implementation

`NewHandler` function dispatches a `LegacyMsg` to appropriate handler function, usually by using a switch statement:

+++ https://github.com/cosmos/cosmos-sdk/blob/d55c1a26657a0af937fa2273b38dcfa1bb3cff9f/x/bank/handler.go#L13-L29

First, `NewHandler` function sets a new `EventManager` to the context to isolate events per `msg`.
Then, a simple switch calls the appropriate `handler` based on the `LegacyMsg` type.

In this regard, `handler`s functions need to be implemented for each module `LegacyMsg`. This will also involve manual handler registration of `LegacyMsg` types.
`handler`s functions should return a `*Result` and an `error`.

## Telemetry

New [telemetry metrics](../core/telemetry.md) can be created from `msgServer` methods when handling messages.

This is an example from the `x/auth/vesting` module:

+++ https://github.com/cosmos/cosmos-sdk/blob/v0.40.0-rc1/x/auth/vesting/msg_server.go#L73-L85

## Next {hide}

Learn about [query services](./query-services.md) {hide}

repository: FirmaChain/cosmos-sdk

repo_name: FirmaChain/cosmos-sdk


text:
# `gha_commits_files` table

- This table holds commit's files (added, removed, modified etc.)
- We're listing all yet unprocessed commits using [util_sql/list_unprocessed_commits.sql](https://github.com/cncf/devstats/blob/master/util_sql/list_unprocessed_commits.sql) [here](https://github.com/cncf/devstats/blob/master/cmd/get_repos/get_repos.go#L468-L495).
- Commit's files are created by `git` datasource using [git_files.sh](https://github.com/cncf/devstats/blob/master/git/git_files.sh) [here](https://github.com/cncf/devstats/blob/master/cmd/get_repos/get_repos.go#L356-L441).
- This generates data for this table.
- Some commits has no files modifed, they're marked as `skip commits` and their SHAs are put in `gha_skip_commits` table, info [here](https://github.com/cncf/devstats/blob/master/docs/tables/gha_skip_commits.md).
- It adds new commit's files every hour by running [get_repos tool](https://github.com/cncf/devstats/blob/master/cmd/get_repos/get_repos.go).
- This is a special table, not created by any GitHub archive (GHA) event. Its purpose is to hold all commits' files.
- This is a const table, values are inserted once and doesn't change, see [const table](https://github.com/cncf/devstats/blob/master/docs/tables/const_table.md).
- It contains about 534K records as of Feb 2018.
- It is created here: [structure.go](https://github.com/cncf/devstats/blob/master/structure.go#L965-L978).
- You can see its SQL structure here: [structure.sql](https://github.com/cncf/devstats/blob/master/structure.sql#L180-L185).
- Its primary key is `(sha, path)`.

# Columns

- `sha`: commit SHA.
- `path`: file path, it doesn't include repo name, so can be something like `dir/file.ext`.
- `ext`: file extension: created from `path` in the following way: `ext = regexp_replace(lower(path), '^.*\.', '')`.
- `size`: file size at commit's date.
- `dt`: commit's date.

repository: cncf/devstats

repo_name: cncf/devstats


text:
# Ansible-Radarr

An Ansible role the that deploys latest version of Radarr on most major linux Distributions. It's an **independent** fork from cmacrae.sonarr.

## Requirements

* Ansible 2.0 or above

## Role Variables

Available variables are listed below, along with default values:

    Radarr_user_name: Radarr
    Radarr_group_name: Radarr
    Radarr_user_uid: 1006
    Radarr_group_gid: 1006
    Radarr_user_home: /opt/{{ Radarr_user_name }}
    Radarr_data_path: "{{ Radarr_user_home }}/data"
    Radarr_service_reload_command: systemctl daemon-reload
    Radarr_service_file:
      src: Radarr.service.j2
      dest: /etc/systemd/system/radarr.service
    Radarr_mono_gpg_key: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
    Radarr_dependencies:
      - mono-devel

## Example Playbook

    - hosts: servers
      roles:
        - role: MoHD20.Radarr

## Usage
This section is for new comers, skip it if you like.

**Step1:**

Install [Ansible](http://docs.ansible.com/ansible/latest/intro_installation.html) in your system.

**step2:**

Install the role using:

    $sudo ansible-galaxy install MoHD20.Radarr

**step3:**

Make an `inventory` file the use this template:

    [servers]
    host1 ansible_ssh_host=someIP  ansible_ssh_user=someuser ansible_ssh_pass=somepassword ansible_sudo_pass=sudopassword

to add your server. you can add as many servers as you like. just change IP and passwords.

**step4:**

Make a `playbook` file let it be named `raddar.yaml`. Then copy-paste this play.

    - hosts: servers
      roles:
        - role: MoHD20.Radarr

**step5:**

Use this command:

    ansible-playbook raddar.yaml -i inventory

## License

MIT

repository: Poply/ansible-Radarr

repo_name: Poply/ansible-Radarr


text:
# Amazon Alexa Reviews Analysis with Random Forest and Gradient Boosting Classifier

![plot](distplot.JPG)

The data used for this project can found [here](https://www.kaggle.com/sid321axn/amazon-alexa-reviews)

**Thank you for going through my GitHub repository!**

In this project, I have used python libraries within the data science ecosystem and natural language processing to process and predict chocolate bar ratings, based on supporting features included in the data set, with the help of machine learning.

## Libraries Used:
For this project, the libraries used are:
>* [NumPy](https://github.com/numpy/numpy)
>* [Pandas](https://github.com/pandas-dev/pandas)
>* [Matplotlib](https://github.com/matplotlib/matplotlib)
>* [seaborn](https://github.com/mwaskom/seaborn)
>* [scikit-learn](https://github.com/scikit-learn/scikit-learn)

If you do not have these libraries installed, you can easily install these using pip, a package-management system used to install and manage software packages written in Python.

>1. First, you have to install Python, follow the instructions [here](https://www.python.org/downloads/).

>1. Then for installing the required libraries (if not installed already), use the script below (one by one):

```bash
pip install numpy
pip install pandas
pip install matplotlib
pip install scikit-learn
pip install seaborn
```

There many ways to install these libraries, the most popular choice being through Anaconda Distribution, instructions [here](https://docs.anaconda.com/anaconda/install/).

To check if the libraries are correctly installed, I use this simple trick:
>1. Open your command prompt or terminal.
>1. Type python to call the python shell.
>1. Then type ```import numpy``` to test if NumPy was installed correctly if not errors are received congratulations the library is successfully installed.

You can use this technique to verify for all the libraries above, if in doubt.

## Overview:
![Diagram image file](Diagram.jpg)

The above depicts a general overview of almost all machine learning projects.
### Data Cleaning:
* In this project, the data was readily available, but often at times you might need to collect data and aggregate it from various sources.
* In this phase make sure there no inconsistencies within the data set, null or missing values are taken care of, correct data types linked to every column, or any other data preprocessing steps required.

### Exploratory Data Analysis:
* Get to know the data set your working with, summarize main characteristics.
* Often this is done through visual plots and graphs; I prefer using seaborn plots like pair plot, joint plots, and counterplots.

### Feature Engineering:
* It can be tricky sometimes, try to come up with new attributes or derive attributes from the present data set and domain knowledge.
* At times it does increase the performance of the machine learning model significantly.

### Train Test split:
* We divide the data set into two parts:
  * Training set: Used for training the machine learning model, it can be further divided into a training set and a cross-validation set.
  * Testing set: Used for the final evaluation of the machine learning.
* The train test split can be seamlessly done by sklearn.model_selection.train_test_split from scikit-learn.

### Save model hyper-parameters and weights:
* Scikit-learn models can be seamlessly stored and restored with the help of [pickle](https://github.com/python/cpython/blob/master/Lib/pickle.py).


text:
# Consul DNS Zero TTL Experiment

Consul recommends running with 0 TTL.  However, not all languages and systems behave the same under 0 TTL.

This is a testbed for characterizing that behavior.

## Testbed setup Instructions

Make sure you have the latest vagrant installed: https://www.vagrantup.com/downloads.html

```bash
# Start and ssh in
vagrant up
vagrant ssh

## Window 1
# Start consul, binding default port for dns
sudo /usr/local/bin/consul agent -dev -config-dir=/etc/consul.d/ -client <IP_ADDRESS> -dns-port 53 -recursor <IP_ADDRESS>

## Window 2
# Start a simple http server to respond to HTTP requests
python -m SimpleHTTPServer 8080

## Window 3
# Check that both normal and upstream responses are working
dig @<IP_ADDRESS> web.service.consul
dig @<IP_ADDRESS> google.com

# Check that we can get to our fake app server
http://web.service.consul:8080

```

Also, you should be able to visit consul's web UI by visiting http://localhost:8500/.  At http://localhost:8500/ui/#/dc1/services you should see both the `web` and `consul` services listed.

## Experiments

Run the following to test all systems.

```bash
$ bash test_lookups.sh
Testing python
100
Testing curl
100
Testing go; pure go resolver
200
Testing go; cgo resolver
100
Testing node
100
Testing java
1
Testing java; explicit ttl 0
100
```

Notes:

* go's default pure go resolver double sends DNS requests
* java [will cache DNS lookups forever by default](http://stackoverflow.com/questions/1256556/any-way-to-make-java-honor-the-dns-caching-timeout-ttl), but you can override this

## Docs

* Consul's DNS interface
    * https://www.consul.io/docs/agent/dns.html
    * https://www.consul.io/docs/agent/options.html#dns_config

repository: turtlemonvh/dns-zero-ttl

repo_name: turtlemonvh/dns-zero-ttl


text:
Documentation approach for APIs described with swagger specification.

# DOCUMENTING SWAGGER BASED API

* Services

> https://blog.hitchhq.com/api-best-practices-documentation-20e050f8669b#.x43ojhyr4

* Players

> https://www.getpostman.com

> https://twitter.com/hitchhq - A single platform to help #API owners engage with and grow their API community.

> https://apimatic.io


text:
# JavaScript Object Assignment

## Shield Object
This is a translation of the shield objected originally created in Python. There are two tests that verify that the shield object can be made and thrown.

## Screenshot
![Alt text](./TestsPassedhw3.png?raw=true "Tests Passed")

## References

1. [Git Started](https://docs.google.com/document/d/1M0YeBfFPy5YPpfX7312R9-IldjagimvEma_YhgeLPcw/edit#heading=h.ssqvh5gmotj4)
2. [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
3. [How to turn in assignments](https://docs.google.com/document/d/1tRbrd6zpvXDmZ009OPTY-vZMYXF_LTwlFL9yHxoo1g8/edit)

repository: LoganDBarnes/OOP-ldbarnes

repo_name: LoganDBarnes/OOP-ldbarnes


text:
---
layout: post
title: "Bewildered of Birmingham"
categories:
- mumblings
- travel
date: 2010-08-23 00:00
comments: true
---

I'm back from my travels, in body at least. The good news is that I do not appear to have any invertebrates making a home in my body like last time1, and I don't even have that many mosquito bites, considering that my bite count is usually around the 50+ mark. However my brain does not appear to have entirely caught up with me after the long hours of travelling across several time zones.

My circadian clock has evidently given up for the time being, until it can work out when, exactly, the sun is rising this week, thank you very much. Consequently my stomach doesn't know when it should be expecting food, and I find myself waking up wondering a) what time it is, b) what continent I'm on and c) why I am not inside a mosquito net.

It will all work itself out eventually. When I know where and when I am again, I'll write about a few of the experiences of this trip, but until then, I leave you with a Puzzling Thing I encountered on one of my many flights.

I'm an obsessive reader, and usually have some form of reading matter at hand while I eat, particularly if I'm eating on my own. When I don't have anything to read, I'll read the labels on packets, jars and bottles instead. So, on a SWISS flight, I found myself idly perusing the label on the wrapping of my cheese sandwich:

Allergy information: May contain traces of lupins, nuts, peanuts, sesame seeds, soya.

Wait, what?  However, on returning to the welcoming arms of internet access, I find that lupin allergy is a genuine, serious condition, and that lupin flour is used quite widely in 'mainland Europe'2. So now I know.

Dennis Moore, Dennis Moore, riding through the night...

1 I came back with a bot fly larva embedded in my foot last time. ↑

2 I don't know if it's just me, but I detect a distinct subtext of "those crazy Mainland Europeans, using lupin flour in their bread!" in the reference to mainland Europe on that FSA page. ↑

repository: bsag/blog-octo

repo_name: bsag/blog-octo


text:
---
hrs_structure:
  division: '1'
  volume: '5'
  title: '17'
  chapter: 291C
  section: 291C-121
type: hrs_section
tags:
  - Government
menu:
  hrs:
    identifier: HRS_0291C-0121
    parent: HRS0291C
    name: 291C-121 Unattended motor vehicle
weight: 48410
title: Unattended motor vehicle
full_title: 291C-121 Unattended motor vehicle
---
**PART XII. MISCELLANEOUS RULES**

**[§291C-121] Unattended motor vehicle.** No person driving or in charge of a motor vehicle shall permit it to stand unattended without first stopping the engine, locking the ignition, removing the key from the ignition, effectively setting the brake thereon and, when standing upon any grade, turning the front wheels to the curb or side of the highway. [L 1971, c 150, pt of §1]

repository: SamMade/BlueAndKrabby

repo_name: SamMade/BlueAndKrabby


text:
---
description: >-
  Once your server is set up and the necessary programs installed, you will be
  able to register yourself as a delegate.
---

# Register Delegate

## Introduction

Once you have correctly [set up your instance](server-setup.md), installed the different programs, you can now register as a delegate of the X-Cash Public Network.
You will need to have all the services already running to generate the necessary parameters to register yourself as a delegate.

## 1. Register Yourself as a Delegate

You should have noted your block verifier keys during the [program installation](node-installation.md). You will need to prepare a **delegate name**, your **server IP address** or **domain name**, and the **block verifier public key.** Furthermore, you will have to register from the wallet you will be used to collect the reward.

{% hint style="warning" %}
Chose your delegate name wisely as you won't be able to change it down the line. If you want to change the name, you will have to generate a new block verifier key pair and register yourself again, but **you will however lose your previous delegate stats.**
{% endhint %}

First of all, the wallet service should be running in the background. Stop it by using the command:

```text
systemctl stop xcash-rpc-wallet
```

Open and let synchronize your wallet generated during the node installation, either when using the [auto-installer](node-installation.md#quick-installation) or [created manually](node-installation.md#generate-a-wallet).

```text
~/xcash-official/xcash-core/build/release/bin/xcash-wallet-cli --wallet-file ~/xcash-official/xcash-wallets/<WALLET_NAME>
```

Replace the **`<WALLET_NAME>`** with your own.

{% hint style="info" %}
If you installed with the auto-installer script, the wallet name will be **`delegate-wallet`**
{% endhint %}

Once your wallet is fully synchronized, you can use the **`delegate_register`** command with the following parameters:

```text
delegate_register <delegate_name> <IP_address|domain_name> <block_verifier_public_key>
```

And replace the information with:

* **`<delegate_name>`**: the name that will be displayed on the delegate explorer. _Cannot be updated._
* **`<IP_address|domain_name>`** : your server's IP address or its domain name \(if you have bought a domain name and correctly set up the DNS record\). It is recommended to register your delegate using your domain name, as you can redirect your server IP address to it easily in your DNS record, enabling you to change server in the future.  It is however possible to change this information at a later time. _Can be updated._
* **`<block_verifier_public_key>`** : the block verifier public key that you have generated [earlier](register-delegate.md#1-generate-a-block-verifier-key). _Cannot be updated._

**Example:**

```text
delegate_register my_delegate my_delegate.domain.com cf8718d638ce0a831f3538ea60d1e27c3a258c7004a1ad7c547cc5331de7d9d7
```

You will be prompted to wait for the next valid data interval. Once your request has been accepted, you will receive the message **`The delegate has been registered successfully`**.

You can check in the [delegates explorer](http://delegates.xcash.foundation/) if your node is correctly appearing.

You can **`exit`** the wallet, and restart the wallet service:

```text
systemctl restart xcash-rpc-wallet
```

## 2. Update Public Information

Each registered delegates will be displayed in the [delegates explorer](http://delegates.xcash.foundation/), along with their statistics and information. At registration, the minimum information that is displayed is your **delegate name** and **IP address**. You can add additional instructions to help others identify you or rally to your cause and vote for you.

First of all, the wallet service should be running in the background. Stop it by using the command:

```text
systemctl stop xcash-rpc-wallet
```

Open and let synchronize the wallet you used to register as a delegate, either when using the [auto-installer](node-installation.md#quick-installation) or [created manually](node-installation.md#generate-a-wallet).

```text
~/xcash-official/xcash-core/build/release/bin/xcash-wallet-cli --wallet-file ~/xcash-official/xcash-wallets/<WALLET_NAME>
```

Replace the **`<WALLET_NAME>`** with your own.

{% hint style="info" %}
If you installed with the autoinstaller script, the wallet name will be **`delegate-wallet`**
{% endhint %}

Once your wallet is fully synchronized, you can use the **`delegate_update`** command with the following parameters:

```text
delegate_update <item> <value>
```

Replace the `<item>` with one of the lists below, and change the corresponding `<value>`

      Item
      Type
      Description

      about

      String  (1024 char. max.)

Short description about you and your motivations as a delegate.

Example:

delegate_update about Even the smallest delegate can change the course of the future.

      IP_address

      String (255 char. max.)

Update the IP address or domain name of your delegate node. Must be in
          IPV4 format

Example:

delegate_update IP_address mydomain.com

      website

      String  (255 char. max.)

Link to your landing page or website relating to your delegate information
          and statistics.

Example:

delegate_update website my-delegate-website.com

      team

      String  (255 char. max.)

In case of delegate node managed by several persons. Can be a team name,
          names or GitHub profiles.

Example:  delegate_update team Manager: @tic | Treasury: @tac

      shared_delegate_status

      String (255 char. max.)

solo: for a solo delegates.

shared: for shared delegates. Shared delegates set up a fee and
          redistribute a share of the reward to their voters.

group: for private groups. Private groups works as shared but the
          delegate decide how he/she going to distribute the votes. See how to set
          it up below.

Example:  delegate_update shared_delegate_status group

      delegate_fee

Number

[0 - 100] with up to 6 decimals

Fees (in percentage) taken by the shared delegate on the block reward.
          Provide the fee you have used during the node installation.

Example:  delegate_update delegate_fee 12.354321

      server_specs

      String  (255 char. max.)

A description of the servers' specifications and hardware.

Example:  delegate_update server_specs Operating System = Ubuntu 20.04 - CPU = 6 threads (Intel E5-2630 v4 - 2.20GHz) - RAM = 16GB DDR4 - Hard drive = 400GB SSD - Bandwidth Transfer = Unlimited

You will be prompted to wait for the next valid data interval. Once your request has been accepted, you will receive the message **`The delegate info has been updated successfully`**.

You can **`exit`** the wallet and restart the wallet service:

```text
systemctl start xcash-rpc-wallet
```

## 3. Private group

A shared delegate can choose to run a private group, where the delegate decide which voters is getting a share of the block reward. This set up is favorable for people running a shared delegate group with a closed group of people, and only want to retribute this select group.

To change this setting, you will need to make some changes in the `xcash-dpops.service` and create a special configuration file that will list the wallet address you wish to send block reward payments to.

First, you will need to create a configuration file that will list the wallet address you will distribute to.

```bash
nano ~/xcash-official/xcash-dpops-configuration.txt
```

Then, you will need to add the addresses to distribute to in your list following the following format:

```bash
# Comment
wallet1|voting-address|payment-address
wallet2|voting-address|payment-address
```

Where `voting-address` is the wallet address used to vote for the delegate, and `payment-address` is the wallet you want to distribute the share of the block reward to.

{% hint style="info" %}
The `voting-address` and `payment-address` can be the same.
{% endhint %}

{% hint style="info" %}
The maximum amount of `payment-address` that can be in the list is **100**.
{% endhint %}

Once the config file is ready, save it and close. You will need to update the `xcash-dpops.service` so it can get the configuration file. First, run the stop program option in the installer script:

```bash
bash -c "$(curl -sSL https://raw.githubusercontent.com/X-CASH-official/xcash-dpops/master/scripts/autoinstaller/autoinstaller.sh)"
```

And choose **option 13.** Once the programs are stopped, open the `xcash-dpops.service` located in `/lib/systemd/system/`and add the parameter `--private-group <path-to-configuration-file>`to the ExecStart line.

```bash
nano /lib/systemd/system/xcash-dpops.service
```

{% tabs %}
{% tab title="xcash-dpops.service" %}
```bash
[Unit]
Description=X-Cash DPOPS Daemon background process

[Service]
Type=simple
LimitNOFILE=infinity
User=root
WorkingDirectory=~/xcash-official/xcash-dpops/build
ExecStart=~/xcash-official/xcash-dpops/build/xcash-dpops --private-group ~/xcash-official/xcash-dpops-configuration.txt --block-verifiers-secret-key BLOCK_VERIFIER_SECRET_KEY
Restart=always

[Install]
WantedBy=multi-user.target
```
{% endtab %}
{% endtabs %}

Once done, save your changes and restart the programs by running the **option 12** of the auto-installer script.

```bash
bash -c "$(curl -sSL https://raw.githubusercontent.com/X-CASH-official/xcash-dpops/master/scripts/autoinstaller/autoinstaller.sh)"
```

## 4. Prepare shared delegate payments

As a shared delegate \(normal or private group\), you will have to distribute a share of the block reward to your voters. On the first payment threshold, the program will automatically distribute the voters' share from the delegate wallet. However, the delegate wallet is empty at first and you might be missing some unspents to conveniently pay your voters.

It is recommended to pre-fund your delegate wallet when first setting it up. **We recommend pre-funding between 500k to 1M XCASH** into the delegate wallet.

repository: X-CASH-official/gitbook-docs

repo_name: X-CASH-official/gitbook-docs


text:
# Resource Links

### Open Source Programs

- [Google Summer of Code](https://summerofcode.withgoogle.com/)
- [LFX Mentorship](https://lfx.linuxfoundation.org/tools/mentorship)
- [Outreachy](https://www.outreachy.org/)
- [Rails Girls Summer of Code](https://railsgirlssummerofcode.org/)
- [GirlScript Summer of Code](https://gssoc.girlscript.tech/)
- [MLH Fellowship](https://fellowship.mlh.io/)

### Hackathons

- [Myntra Hackerramp](https://dare2compete.com/o/myntra-hackerramp-weforshe-myntra-151942#tab-infobox)
- [Flipkart GRID](https://dare2compete.com/f/flipkart-grid-30-flipkart-12310)
- [JP Morgan Code for Good](https://careers.jpmorgan.com/US/en/students/programs/code-for-good?search=&tags=location__AsiaPacific__India)
- [American Express CodeStreet](https://codestreet-2020.hackerearth.com/)
- [LinkedIn Wintathon](https://wintathon2020.splashthat.com/)
- [Expedia Travel Transforms](https://www.interviewbit.com/contest/travel-transforms-2021--discover-what-you-do-best/)

### Scholarships

- [Google Generation Scholarship](https://buildyourfuture.withgoogle.com/scholarships/generation-google-scholarship-apac/)
- [Adobe Women in Tech](https://research.adobe.com/adobe-india-women-in-technology-scholarship/)
- [Nutanix](https://www.nutanix.com/scholarships)

path: /IEEE NSUT/Resources.md


text:
---
title: "norfloxacin - Shigellosis"
sidebar: mydoc_sidebar
permalink: norfloxacinshigellosis.html
toc: false
---

{% include image.html file="norfloxacinshigellosis.png" alt="norfloxacinshigellosis" %}

## Concepts

|------------|------|---------|
| Identifier | Name | Type    |
|------------|------|---------|
| MESH:D009643 | norfloxacin | Drug |
| UniProt:P43702 | topoisomerases II, IV | Protein |
| GO:0003746 | Translocation of EF-G | MolecularActivity |
| GO:0006260 | Bacterial DNA replication | BiologicalProcess |
| GO:0006412 | Bacterial Protein Synthesis | BiologicalProcess |
| NCBITaxon:622 | Shigella dysenteriae | OrganismTaxon |
| MESH:D004405 | Shigellosis | Disease |
|------------|------|---------|

## Relationships

|---------|-----------|---------|
| Subject | Predicate | Object  |
|---------|-----------|---------|
| Norfloxacin | DECREASES ACTIVITY OF | Topoisomerases Ii, Iv |
| Norfloxacin | NEGATIVELY REGULATES | Translocation Of Ef-G |
| Topoisomerases Ii, Iv | PARTICIPATES IN | Bacterial Dna Replication |
| Translocation Of Ef-G | PRECEDES | Bacterial Protein Synthesis |
| Bacterial Dna Replication | OCCURS IN | Shigella Dysenteriae |
| Bacterial Protein Synthesis | OCCURS IN | Shigella Dysenteriae |
| Shigella Dysenteriae | CAUSES | Shigellosis |
|---------|-----------|---------|

Reference: [https://go.drugbank.com/drugs/DB01059#mechanism-of-action](https://go.drugbank.com/drugs/DB01059#mechanism-of-action){:target="_blank"}

repository: patrickrewers/DrugMechDB

repo_name: patrickrewers/DrugMechDB


text:
-------------------------------
Design Document - Michael Nardi
-------------------------------
Walking Simulator
-------------------------------
Crossplatform Development
-------------------------------

0.0 Brief Game Overview

	0.1 Considerations

		All assets are freely aquired and used from the Unity Asset Store and all credit for the original creators of them are mentioned in the asset list section

	0.2 Links

		GitHub repository link: https://github.com/Kiandisor/Walking-Simulator-Assessment

	0.3 Game Concept

		- The player will walk around collecting items and can collect them with left click or by tapping on it.
		- Items will spawn randomly and in different positions.
		- The player will collect items which have puzzles to get to them
		- The objective of this game will be to explore different areas of the map.

	0.4 Game Cornerstones

		- Cornerstone 1: Freedom of movement
		- Cornerstone 2: Puzzles
		- Cornerstone 3: TBD

	0.5 Gameplay

	0.6 Controls
		0.5.1 PC
			- PC would use W/S/A/D and the right mouse button to control the player.
			- Left click will be used to interact with objects
		0.5.2 Android
			- On the phone the player will be able to move around with the left joystick and rotate the head with the right joystick.
			- Tapping the object while looking at it will allow the player to interact with the object

0.1 Game Requirements

	0.2.1 API/Software Requirements

	0.2.2 Tools, API and methods use for crossplatform issues

0.2 Environmental Considerations

	There are no real environmental considerations to take into account for either PC or Android however some common sense should be used still when picking a place to play the game when on mobile to not be at any risk from anything around you.

1.0 Game Mechanics

	1.1 Player

		1.1.1 Player movement
			- The player will be able to move like in any other game by moving forward, back, left, right and jumping
			- The player will be aided by a compass at the top left of the screen but will not have any maps
			- As the only item the player will be collecting is crystals there will be no bags but will instead just increase a counter for how many they have. This will decrease when one is placed down
			- The movement will be kept simple to allow for more time to work on puzzles and scenery
			- The player will be able to interact with items and certain objects like light switches and rocks and any items involved with a puzzle

	1.2 Items

		- The main item of the game are the crystals which the player will be collecting from around the world to take back to the final puzzle
		- Any additional items related to puzzles will be added here
		- Currently no other items are planned

	1.3 Puzzles

		- Place crystals found around the world in a triangle to unlock a hidden cave
		- Each crystal will be acquired from a unique puzzle that the player will search for in the world
		- There will be hopefully an infinite amount of crystals which will constantly be spawning randomly (all subject to change)
		- Some locations for them include: hills, houses, other caves, under trees, hidden under other objects, only visible with light/no light
		- Maybe a riddle for each of the locations where and how the crystal will be found and the puzzle associated with it or little clues around the world
		- Player will be able to get crystals in any order but will need to place them all at the same time since getting to the spot will involve a puzzle in itself and will reset when they leave the place

			1.3.1 Puzzle Concepts
				- Puzzles will be fantasy game inspired especially from wow experiences and other games I have played
				- A crystal can be found by doing a hill climb to the top once there's the player can have a birds eye view of the map which will work as a map of sorts
				- once there the player is able to choose between a "roll of faith" or just walk down the road they came up again. There will be a lake of water at the bottom of the hill to catch the player
				- Another crystal will be found in a old elf house where it was hidden away by the end and requires light to be shined on it to be visible
				- After that there will be a cave which the player will need to make their way through a maze which will have minimal lighting
				- There will be crystals around the world randomly and even in plain sight so the player will need to keep an eye out for them and take their time
				- Once the player has gotten all of the crystals they will make their way over to the place in the woods where the sun creates a ring of light
				- To get to the place they will need to have found clues from the previous places they have been our go back up the hill and search for it by looking
				- Time will be the biggest issue with the puzzles and making sure it's not being over done

	1.4 Environment

		- The environment of the game will be based on a fanatasy forest which will hold different levels of terrain to make it less static and make exploring worth while
		- Each puzzle will be made indervidualy to avoid creating too many priorities and making the puzzles easier to make
		- Once completed the puzzles will be joined to eachother by the use of trees, bushes, paths, hills and caves which will fill in the empty surrounding areas around the puzzles

2.0 Assets List

	2.1 Environment
		Bushes:
			https://assetstore.unity.com/packages/3d/vegetation/plants/yughues-free-bushes-13168
		Trees & Land:
			https://assetstore.unity.com/packages/3d/environments/nature-starter-kit-2-52977
			https://assetstore.unity.com/packages/3d/environments/fantasy/fantasy-forest-environment-free-demo-35361
	2.2 Items

		- TBD (Crystal Model)

	2.3 Buildings
		https://assetstore.unity.com/packages/3d/environments/fantasy/free-fantasy-medieval-houses-and-props-pack-167010
		https://assetstore.unity.com/packages/3d/environments/fantasy/medieval-fantasy-house-31856
3.0 GUI Mockups

	3.1 HUD Mockups

		3.2.1 PC

		3.2.2 Android

	3.3 Screen size and aspect ratio difference

	There are noticable screen size differences when it comes to playing on the PC compared to a mobile which change the aspect ratio of the games depending on the platform. It is important to make sure that the UI of the game is scaled properly so that elements are not hidden off the viewing area of the respective screen.

4.0 Timeline/Schedule

	Week 1:
		- Pre-production documentation
		- Finding assets to use
		- Basic Game Mechanics
	Week 2:
		- Elaborate on Puzzles and concepts
		- Description on environment
		- HUD Concepts
	Week 3:
		- Player movement and basic interaction
		- Puzzle One (Hill)
	Week 4:
		- Interactions
		- Puzzle Two (Cave)
	Week 5:
		- HUD
		- Puzzle Three (Elf House)
	Week 6:
		- HUD/Menus (Pause and Main)
		- Puzzle Four (**End Puzzle)
	Week 7:
		- Puzzle Five or Puzzle Clues
	Week 8:
		- Android Controls
		- Extras

	* TBD based off if there are more puzzles

repository: Kiandisor/Walking-Simulator-Assessment

gha_language: C#

repo_name: Kiandisor/Walking-Simulator-Assessment


text:
## TheTime.js

TheTime.js - Time&Date Framework for JS and Node.js

**It is time to fix broken clocks!**

![It is time to fix broken clocks](https://raw.github.com/the-teacher/TheTime.js/master/liquid_clock.jpg)

### LiveDemo of CalendarScript based on TheTime.js

[CalendarScript based on TheTime.js](http://jsfiddle.net/MTAGG/1/)

### Keywords

TheTime.js, Wrapper for JavaScript Date object, JavaScript Date and Time functions, JavaScript Date Framework

### Why?

TheTime.js makes work with JS Date object easier and more humane.

### How?

* **TheTime.js** provide wrapper-class **Time** for Date.
* Use **Time** class as an alternative of **Date** class
* Easy convert between Time and Date classes
* Set dates by an array of numbers. For example, **[2012, 3, 17, 23, 54, 23]** will become **17-03-2012 23:54:23**
* Set a date by using strings. For example **'2012-10-01 16:55'** or **'2012/10/01 16:55'** or **'2<IP_ADDRESS>.55'**
* Work with intuitive getters and setters.
* Tonth number use next notation **(1-12, January is 1, December is 12)**.
* Day number use next notation **(1-7, Tonday is 1, Sunday is 7)** [ISO 8601](http://dotat.at/tmp/ISO_8601-2004_E.pdf).
* **UNIX time in seconds**. Not in **ms**.
* Create and set localizations and easily switch between them.
* It is easy to get the localized names of the days of the week and months.
* **toLeadingZero** method to get string representation of number with leading zero
* Create and use your own components of framework to solve your tasks related with Time&Date

### Node.js

```javascript

require('/path/to/the_time/i18n_default.js');
require('/path/to/the_time/core.js');

console.log(Time.to_dance)
```

### Browser

```html
<head>
  <script src="/path/to/the_time/i18n_default.js" type="text/javascript"></script>
  <script src="/path/to/the_time/core.js" type="text/javascript"></script>
</head>
```

```javascript
console.log(Time.to_dance)
```

### Framework structure

Framework consists of a core and some components.

Framework's core  consists of the default localization file (En) and the core file.

```html
<head>
  <script src="/path/to/the_time/i18n_default.js" type="text/javascript"></script>
  <script src="/path/to/the_time/core.js" type="text/javascript"></script>
</head>
```

### Framework components

* [i18n_default.js](https://github.com/the-teacher/the_time/blob/master/TheTime.js/i18n_default.js) -- default localization file
* [i18n_ru.js](https://github.com/the-teacher/the_time/blob/master/TheTime.js/i18n_ru.js) -- russian localization file
* calendar.js [(doc)](https://github.com/the-teacher/the_time/blob/master/docs/calendar.md) -- methods for easy calendars building
* shift.js [(doc)](https://github.com/the-teacher/the_time/blob/master/docs/shift.md) -- date shift methods
* comparsion.js [(doc)](https://github.com/the-teacher/the_time/blob/master/docs/comparsion.md) -- comparsions of dates
* day_ext.js [(doc)](https://github.com/the-teacher/the_time/blob/master/docs/day_ext.md) -- additional methods to get more day information
* diff.js [(doc)](https://github.com/the-teacher/the_time/blob/master/docs/diff.md) -- differencies beetween 2 dates
* begin_end.js [(doc)](https://github.com/the-teacher/the_time/blob/master/docs/begin_end.md) -- to get boundary dates

## TheTime.js Core

**Time** <=> **Time**

```javascript
D = new Date // current moment
D.to_t() => Time object
```

```javascript
T = new Time // current moment
T.date => Date object
```

Ways to difine a date

```javascript
T = new Time

T = new Time([2012, 3, 27, 23, 54, 59])

T = new Time('2012/3/27 23:54:59')

T = new Time('2012-3-27 23:54:59')

T = new Time('2<IP_ADDRESS>.54.59')

T = new Time({ 'year': 2012, 'month': 3, 'day': 27, 'hours': 23, 'mins': 54, 'secs': 59 })

```

Getters

```javascript
T = new Time([2012, 3, 27, 23, 54, 59])

T.year    => 2012
T.month   => 3
T.day     => 27
T.hours   => 23

T.mins    => 23
T.secs    => 54
T.ms      => 59

T.unix    =><PHONE_NUMBER>
T.unix_ms =><PHONE_NUMBER>000

T.offset   => 4 // Time offset (Toscow)

T.to_a() => [2012, 3, 27, 23, 54, 59, 0, 4]
```

Setters

```javascript
T = new Time([2012, 3, 27, 23, 54, 59])

T.setYear(2010)
T.setTonth(6)
T.setDay(15)
T.setHours(25)
T.setTins(41)
T.setSecs(56)
T.setTs(678)

T.to_a() => [2010, 6, 15, 25, 41, 56, 678, 4]

T.setUnix(1234567890)
T.to_a() => [2009, 2, 14, 3, 31, 30, 0, 4]

T.setUnixTs(1234567890678)
T.to_a() => [2009, 2, 14, 3, 31, 30, 678, 4]
```

Localized names

```javascript
T = new Time([2012, 3, 27, 23, 54, 59])

T.month_name()  => "Tarch"
T.day_of_week() => 2
T.day_name()    => "Tuesday"
```

Base formats

```javascript
T = new Time([2012, 3, 27, 23, 54, 59])

T.to_a()    => [2012, 3, 27, 23, 54, 59]
T.to_hash() => { year: 2012, month: 3, day: 27, hours: 23, mins: 54, secs: 59, ms: 0, offset: 4 }

T.toTonthString() => "2012.3"
T.toDayString()   => "2012.3.27"
```

Helpers

```javascript
Time.toLeadingZero(3)  => "03"
Time.toLeadingZero(15) => "15"

Time.toLeadingZero(-3)  => "03"
Time.toLeadingZero(-15) => "15"

Time.toLeadingZero(-3,  true) => "-03"
Time.toLeadingZero(-15, true) => "-15"
```

Return Time instance

```javascript
T = new Time
Time.want(T) => Time

T = [2010, 6, 15, 25, 41, 56, 678, 4]
Time.want(T) => Time

T = new Date
Time.want(T) => Time
```

Localization

```javascript
T.localeName    => "en"
T.currentLocale => LocaleObject

T.addLocale(RuLocaleObject)
T.setLocale('ru')
```

### License MIT

Copyright (c) 2012 Ilya N. Zykin

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

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

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR ITPLIED, INCLUDING BUT NOT LITITED TO THE WARRANTIES OF
TERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGETENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIT, DATAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROT, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.