text:
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/quadrantChart.md](../../packages/mermaid/src/docs/syntax/quadrantChart.md).

# Quadrant Chart

> A quadrant chart is a visual representation of data that is divided into four quadrants. It is used to plot data points on a two-dimensional grid, with one variable represented on the x-axis and another variable represented on the y-axis. The quadrants are determined by dividing the chart into four equal parts based on a set of criteria that is specific to the data being analyzed. Quadrant charts are often used to identify patterns and trends in data, and to prioritize actions based on the position of data points within the chart. They are commonly used in business, marketing, and risk management, among other fields.

## Example

```mermaid-example
quadrantChart
    title Reach and engagement of campaigns
    x-axis Low Reach --> High Reach
    y-axis Low Engagement --> High Engagement
    quadrant-1 We should expand
    quadrant-2 Need to promote
    quadrant-3 Re-evaluate
    quadrant-4 May be improved
    Campaign A: [0.3, 0.6]
    Campaign B: [0.45, 0.23]
    Campaign C: [0.57, 0.69]
    Campaign D: [0.78, 0.34]
    Campaign E: [0.40, 0.34]
    Campaign F: [0.35, 0.78]
```

```mermaid
quadrantChart
    title Reach and engagement of campaigns
    x-axis Low Reach --> High Reach
    y-axis Low Engagement --> High Engagement
    quadrant-1 We should expand
    quadrant-2 Need to promote
    quadrant-3 Re-evaluate
    quadrant-4 May be improved
    Campaign A: [0.3, 0.6]
    Campaign B: [0.45, 0.23]
    Campaign C: [0.57, 0.69]
    Campaign D: [0.78, 0.34]
    Campaign E: [0.40, 0.34]
    Campaign F: [0.35, 0.78]
```

## Syntax

> **Note**
> If there is no points available in the chart both **axis** text and **quadrant** will be rendered in the center of the respective quadrant.
> If there are points **x-axis** labels will rendered from left of the respective quadrant also they will be displayed in bottom of the chart, and **y-axis** lables will be rendered in bottom of the respective quadrant, the quadrant text will render at top of the respective quadrant.

> **Note**
> For points x and y value min value is 0 and max value is 1.

### Title

The title is a short description of the chart and it will always render on top of the chart.

#### Example

    quadrantChart
        title This is a sample example

### x-axis

The x-axis determine what text would be displayed in the x-axis. In x-axis there is two part **left** and **right** you can pass **both** or you can pass only **left**. The statement should start with `x-axis` then the `left axis text` followed by the delimiter `-->` then `right axis text`.

#### Example

1.  `x-axis <text> --> <text>` both the left and right axis text will be rendered.
2.  `x-axis <text>` only the left axis text will be rendered.

### y-axis

The y-axis determine what text would be displayed in the y-axis. In y-axis there is two part **top** and **bottom** you can pass **both** or you can pass only **bottom**. The statement should start with `y-axis` then the `bottom axis text` followed by the delimiter `-->` then `top axis text`.

#### Example

1.  `y-axis <text> --> <text>` both the bottom and top axis text will be rendered.
2.  `y-axis <text>` only the bottom axis text will be rendered.

### Quadrants text

The `quadrant-[1,2,3,4]` determine what text would be displayed inside the quadrants.

#### Example

1.  `quadrant-1 <text>` determine what text will be rendered inside the top right quadrant.
2.  `quadrant-2 <text>` determine what text will be rendered inside the top left quadrant.
3.  `quadrant-3 <text>` determine what text will be rendered inside the bottom left quadrant.
4.  `quadrant-4 <text>` determine what text will be rendered inside the bottom right quadrant.

### Points

Points are used to plot a circle inside the quadrantChart. The syntax is `<text>: [x, y]` here x and y value is in the range 0 - 1.

#### Example

1.  `Point 1: [0.75, 0.80]` here the Point 1 will be drawn in the top right quadrant.
2.  `Point 2: [0.35, 0.24]` here the Point 2 will be drawn in the bottom left quadrant.

## Chart Configurations

| Parameter                         | Description                                                                                | Default value |
| --------------------------------- | ------------------------------------------------------------------------------------------------- | :-----------: |
| chartWidth                        | Width of the chart                                                                                |      500      |
| chartHeight                       | Height of the chart                                                                               |      500      |
| titlePadding                      | Top and Bottom padding of the title                                                               |      10       |
| titleFontSize                     | Title font size                                                                                |      20       |
| quadrantPadding                   | Padding outside all the quadrants                                                                 |       5       |
| quadrantTextTopPadding            | Quadrant text top padding when text is drawn on top ( not data points are there)                  |       5       |
| quadrantLabelFontSize             | Quadrant text font size                                                                           |      16       |
| quadrantInternalBorderStrokeWidth | Border stroke width inside the quadrants                                                          |       1       |
| quadrantExternalBorderStrokeWidth | Quadrant external border stroke width                                                             |       2       |
| xAxisLabelPadding                 | Top and bottom padding of x-axis text                                                             |       5       |
| xAxisLabelFontSize                | X-axis texts font size                                                                            |      16       |
| xAxisPosition                     | Position of x-axis (top , bottom) if there are points the x-axis will alway be rendered in bottom |     'top'     |
| yAxisLabelPadding                 | Left and Right padding of y-axis text                                                             |       5       |
| yAxisLabelFontSize                | Y-axis texts font size                                                                            |      16       |
| yAxisPosition                     | Position of y-axis (left , right)                                                                 |    'left'     |
| pointTextPadding                  | Padding between point and the below text                                                          |       5       |
| pointLabelFontSize                | Point text font size                                                                              |      12       |
| pointRadius                       | Radius of the point to be drawn                                                                   |       5       |

## Chart Theme Variables

| Parameter                        | Description                             |
| -------------------------------- | --------------------------------------- |
| quadrant1Fill                    | Fill color of the top right quadrant    |
| quadrant2Fill                    | Fill color of the top left quadrant     |
| quadrant3Fill                    | Fill color of the bottom left quadrant  |
| quadrant4Fill                    | Fill color of the bottom right quadrant |
| quadrant1TextFill                | Text color of the top right quadrant    |
| quadrant2TextFill                | Text color of the top left quadrant     |
| quadrant3TextFill                | Text color of the bottom left quadrant  |
| quadrant4TextFill                | Text color of the bottom right quadrant |
| quadrantPointFill                | Points fill color                       |
| quadrantPointTextFill            | Points text color                       |
| quadrantXAxisTextFill            | X-axis text color                       |
| quadrantYAxisTextFill            | Y-axis text color                       |
| quadrantInternalBorderStrokeFill | Quadrants inner border color            |
| quadrantExternalBorderStrokeFill | Quadrants outer border color            |
| quadrantTitleFill                | Title color                             |

## Example on config and theme

```mermaid-example
%%{init: {"quadrantChart": {"chartWidth": 400, "chartHeight": 400}, "themeVariables": {"quadrant1TextFill": "#ff0000"} }}%%
quadrantChart
  x-axis Urgent --> Not Urgent
  y-axis Not Important --> "Important ❤"
  quadrant-1 Plan
  quadrant-2 Do
  quadrant-3 Delegate
  quadrant-4 Delete
```

```mermaid
%%{init: {"quadrantChart": {"chartWidth": 400, "chartHeight": 400}, "themeVariables": {"quadrant1TextFill": "#ff0000"} }}%%
quadrantChart
  x-axis Urgent --> Not Urgent
  y-axis Not Important --> "Important ❤"
  quadrant-1 Plan
  quadrant-2 Do
  quadrant-3 Delegate
  quadrant-4 Delete
```

repository: mermaid-js/mermaid

repo_name: mermaid-js/mermaid


text:
# RST-Tace
### A tool for automatic comparison and evaluation of RST trees

*RST-Tace allows RST trees annotated by different annotators to be compared and evaluated automatically, aiming to measure the agreement between two annotators. It can be used regardless of the language or the size of rhetorical trees. Based on Iruskieta's method (Iruskieta et.al.,2015), constituents do not need to coincide in their entirety to be compared, only the central subconstituent (CS) which indicates the most important unit of the satellite span, has to be identical. With this restriction, RST Trees are compared using four independent factors: Constituent(C), Attachment point (A), Nuclearity (N) and Relation (R).
The result is reflected by F-measure and inter-annotator agreement.
For more information, please refer to Wan et.al. (2019).*

## Getting Started

### Prerequisites
RST-Tace is a tool based on Python. It has been developed and tested with [Python 3.6](https://www.python.org/downloads/release/python-360/). A guide on how to install Python can be found [here](https://realpython.com/installing-python/).

### Installing
RST-Tace can be installed by the following command (once Python 3 has been installed):

```pip3 install git+https://github.com/tkutschbach/RST-Tace.git```

## Usage
After successful installation, RST-Tace can be used on the terminal via: `rsttace`

RST-Tace currently offers the following functionality:

1. Parse a single RST tree, *analyse* and list its annotated relations:
   * ```rsttace analyse <rst-tree>.rs3 -o <output-directory>/```
     > * Reads single file: *\<rst-tree\>.rs3*
     > * Generates result: *\<output-directory\>/Analysis_\<rst-tree>.csv*

2. Parses RST tree pairs and *compares* them with each other:
   * Compare two single trees:\
     ```rsttace compare <rst-tree-1>.rs3 <rst-tree-2>.rs3 -o <output-directory>/```
     > * Reads and compares two files: *\<rst-tree-1\>.rs3* and *\<rst-tree-2\>.rs3*
     > * Generates comparison table: *\<output-directory\>/Comparison_\<rst-tree-1>+\<rst-tree-2\>_Table.csv*
     > * Generates comparison metrics: *\<output-directory\>/Comparison_\<rst-tree-1>+\<rst-tree-2\>_Metrics.csv*
   * Compare two sets of trees (organized in separate directories):\
     ```rsttace compare <directory-1>/ <directory-2>/ -o <output-directory>/```
     > * Reads each file *\<rst-tree\>.rs3* available in both input directories (i.e., *\<directory-1\>/\<rst-tree\>.rs3* and *\<directory-2\>/\<rst-tree\>.rs3*) and compares both different versions with each other
     > * Generates comparison table for each file pair: *\<output-directory\>/Comparison_\<rst-tree\>_Table.csv*
     > * Generates overall comparison metrics for set of pairs: *\<output-directory\>/Comparison_OverallMetrics.csv*

Stating an output directory (via `-o <output-directory>/`) is optional. If ommited, the results will be printed on the command line.

## Versioning
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/tkutschbach/RST-Tace/tags).

## Authors
* **Shujun Wan** - *Theoretical methodology* - [ShujunW](https://github.com/ShujunW)
* **Tino Kutschbach** - *Implementation* - [tkutschbach](https://github.com/tkutschbach)

## References
* Wan, Shujun; Kutschbach, Tino; Lüdeling, Anke & Stede, Manfred (2019): **RST-Tace. A tool for automatic comparison and evaluation of RST trees.** In: *Proceedings of Discourse Relation Parsing and Treebanking* ([DISRPT](https://sites.google.com/view/disrpt2019/)). NAACL Workshop, Minneapolis.
* Mikel Iruskieta, Iria da Cunha, and Maite Taboada (2015): **A qualitative comparison method for rhetorical structures: identifying different discourse structures in multilingual corpora**. In: *Language Resources and Evaluation*, 49(2):263–309.

license: MIT

repository: tkutschbach/RST-Tace

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: tkutschbach/RST-Tace


text:
# x-matrix

Obsolete. Has been moved to https://observablehq.com/@martien/martien-matrix?collection=@martien/martien-matrix

----
X-Matrix, as used by, for example, hoshin kanri.
For explanation and examples, see http://aardrock.com/hoshin-kanri-x-matrix/

repository: Martien/x-matrix

repo_name: Martien/x-matrix


text:
---
date: 2011-06-10 16:43:33+00:00
slug: netflix-new-releases-for-june-10
title: Netflix new releases for June 10
categories:
- movies
- Netflix
---

There's not a lot to recommend in the latest releases. If you really want to watch a Thor movie, avoid this stinker and shell out the extra bucks for the excellent version that's in the cinema right now. But if I had to pick, I'd go with the critic darling _Waltz with Bashir_, even though it looks like a bit of a downer.

### [Almighty Thor](http://ca.netflix.com/Movie/Almighty-Thor/70173668)

Flixster Audience Rating: 6%

[![](http://cdn-0.nflximg.com/en_CA/boxshots/small/70173668.jpg)](http://ca.netflix.com/Movie/Almighty-Thor/70173668)
When the ancient demon Loki attacks Los Angeles with his devilish hordes and his devastating Hammer of Invincibility, Nordic god Thor forges his own mighty hammer to save the metropolis and send Loki back to the underworld. [More details](http://ca.netflix.com/Movie/Almighty-Thor/70173668) / [Watch now](http://www.netflix.ca/WiPlayer?movieid=70173668)

### [Middle Men](http://ca.netflix.com/Movie/Middle-Men/70118796)

Rotten Tomatoes Rating: 39%

[![](http://cdn-0.nflximg.com/en_CA/boxshots/small/70118796.jpg)](http://ca.netflix.com/Movie/Middle-Men/70118796)
After spotting a big financial opportunity in the future of Internet pornography, straightlaced entrepreneur Jack Harris (Luke Wilson) enlists his pals Buck (Gabriel Macht) and Wayne (Giovanni Ribisi) to help him develop an online billing company specializing in adult entertainment. But as the firm takes off, Jack finds some unexpected kinks in the business of kink -- including mobsters, the FBI, con men and terrorists. [More details](http://ca.netflix.com/Movie/Middle-Men/70118796) / [Watch now](http://www.netflix.ca/WiPlayer?movieid=70118796)

### [Waltz with Bashir](http://ca.netflix.com/Movie/Waltz-with-Bashir/70100415)

Rotten Tomatoes Rating: 96%

[![](http://cdn-0.nflximg.com/en_CA/boxshots/small/70100415.jpg)](http://ca.netflix.com/Movie/Waltz-with-Bashir/70100415)
Director Ari Folman employs vivid black-and-white animation in this Golden Globe-winning film, exploring the memory gaps in his life during his service for the Israeli army in the Lebanese war of the early 1980s. Recounting stories based on recorded interviews with colleagues and friends, Folman relives the horrors of war and dissects the curious coping mechanisms humans use to survive under brutal circumstances. [More details](http://ca.netflix.com/Movie/Waltz-with-Bashir/70100415) / [Watch now](http://www.netflix.ca/WiPlayer?movieid=70100415)

### [Exorcismus](http://ca.netflix.com/Movie/Exorcismus/70173747)

Flixster Audience Rating: 25%

[![](http://cdn-0.nflximg.com/en_CA/boxshots/small/70173747.jpg)](http://ca.netflix.com/Movie/Exorcismus/70173747)
When their teenage daughter reports curious symptoms that point toward demonic possession, a desperate family calls a priest in to investigate and allows her exorcism to be secretly recorded. [More details](http://ca.netflix.com/Movie/Exorcismus/70173747) / [Watch now](http://www.netflix.ca/WiPlayer?movieid=70173747)

### [The Housemaid](http://ca.netflix.com/Movie/The-Housemaid/70139521)

Rotten Tomatoes Rating: 75%

[![](http://cdn-0.nflximg.com/en_CA/boxshots/small/70139521.jpg)](http://ca.netflix.com/Movie/The-Housemaid/70139521)
A wealthy family's new maid, Eun-yi (Do-yeon Jeon), attracts the attention of Hoon (Jung-Jae Lee), the man of the house, and a fiery affair develops between them. But although Hoon signs Eun-yi's checks, he's not the one controlling the relationship.  This update of the 1960 chiller was an Official Selection of the 2010 Cannes Film Festival. [More details](http://ca.netflix.com/Movie/The-Housemaid/70139521) / [Watch now](http://www.netflix.ca/WiPlayer?movieid=70139521)

repository: wordbit/wordbit

extension: markdown

repo_name: wordbit/wordbit


text:
# Testing

As strong believers in the benefits of TDD we don't like untestable code. In fact, we have rejected libraries and solution for lack of testability before.

This is why one of our chief concerns when designing Meze was to make it testable.

Our TestUtils are designed to leverage this testability to provide developers with simple assertion friendly APIs in order to stay compatible with as many test runner or assertion library you feel comfortable with.
The examples in this doc use the Ava testing library, which is the library we use to test most of the *Meze* library, but you should be able to extrapolate from these examples tp your library of choice.

Strongly inspired by the [enzyme](http://airbnb.io/enzyme/) library, we provide a **shallowComposer** which will compose your *Meze* component, but only do so one level deep.

The shallowComposer returns a **CompositionWrapper**, which acts as a wrapper for the return value of the composed component.
The wrapper provides a rich API for asserting against the returned value itself and for analyzing component instances within the return value.

**The TestUtils are still very basic, but they are now our main focus and should provide a much richer toolset in the near future.**

### Meze.TestUtils

#### shallowCompose(component, context) => CompositionWrapper
1. **component** - A component instance to compose
2. **context** - (optional) Composition context

### CompositionWrapper
Composition wrappers shouldn't be created manually, and are instanciated by either the shallowCompose function or its methods.
When calling methods of the CompositionWrapper, keep in mind that they refer to the return value of the shallowComposed component, not the component itself.

#### porperties
1. **composition** The actual composition returned by the component when mounted. The core *compose* would compose not just the return value of the component, but also the composition of any child components. shallowCompose, on the other hand, doesn't compose child components, but rather returns the unmounted component instances, with makes it easier to unit test the actual opperation of the component being tested.

#### methods for all return values
1. *isEmpty() => boolean* Returns whether or not the composition results in an *undefined* value.
1. *find(selector : Component)* (selector: A Component or Component Instance) Searched for matching Components/Instances in the returned value
```js
test(`ChildrenAsArrayComponents should return an array of its composed children`, async t => {
  const ChildrenAsArrayComponents = ({ children }) => Meze.Children.only(children)
  const DumbComponent = ({ msg = 'hi' }) => msg
  const UnusedComponent = () => 0

  const res = await shallowCompose(
    <ChildrenAsArrayComponents>
      <DumbComponent msg="there" />
    </ChildrenAsArrayComponents>
  )

  t.deepEqual(
    res.find(DumbComponent)[0].props(),
    { msg: 'there' }
  )

  t.deepEqual(
    res.find(UnusedComponent).length,
    0
  )
})
```
1. *is(componentType : Component)* (componentType: A Component or Component Instance) returns **true** if the returned component matches the Component/Instance
```js
test(`ChildrenAsOnlyComponent should return the only child component it's composed with`, async t => {
  const ChildrenAsOnlyComponent = ({ children }) => Meze.Children.only(children)
  const DumbComponent = ({ msg }) => msg

  const res = await shallowCompose(
    <ChildrenAsOnlyComponent>
      <DumbComponent msg="haha" />
    </ChildrenAsOnlyComponent>
  )

  t.truthy(
    res.is(DumbComponent)
  )

  t.truthy(
    res.not(<DumbComponent msg="hi" />)
  )

  t.truthy(
    res.is(<DumbComponent msg="haha" />)
  )
})
```
1. *not(componentType : Component)* (componentType: A Component or Component Instance) returns **false** if the returned component matches the Component/Instance
1. *contains(componentType : Component)* (componentType: A Component or Component Instance) Searched for a matching Component/Instance in the returned value and returns whether it found any

#### methods for returned component instances
1. *props(?propName : String)* Returns the value of the prop on the root component instance or if no *propName* is specified, returns the whole *props* object.
1. *context(?propName : String)* Returns the value of the context of the root component instance or if no *propName* is specified, returns the whole *props* object.

repository: gmmorris/meze

repo_name: gmmorris/meze


text:
# scratch-wifi-board
Arduino and WiFi(ESP8266) speaking Scratch-Remote-Sensor-Protocol

## Overview

- [esp4scratch](esp4scratch) is a sketch for ESP8266/Arduino
- [esp4scratch_arduino](esp4scratch_arduino) is a sketch for Arduino Board which connect to ESP8266.
- [hardware/eagle](hardware/eagle) is a design data of Scratch WiFi Shield.

## Licence

[MIT](LICENCE)

## Author

[yokobond](https://github.com/yokobond)

repository: yokobond/scratch-wifi-board

repo_name: yokobond/scratch-wifi-board


text:
# Find-You-Music
This is an application that lets users search for an artist or band, and the application will ouput similar artists.
## Motivation
We were motivated to create this app because we wanted to give people a way to find new artists for people to listen to.
## Built With
* HTML
* CSS/Bootstrap
* Javascript/Jquery
* [Parallax Scroll Library](http://parallax-scroll.aenism.com/)
* [Firebase](https://firebase.google.com/)
* [Musicovery API](http://musicovery.com/api/V4/doc/documentation.php)
* [Youtube API](https://developers.google.com/youtube/)

repository: Sahil-N/Find-You-Music

gha_language: JavaScript

repo_name: Sahil-N/Find-You-Music


text:
# Intuitive
![Logo](./logo.png)

## Introduction
A website where you can find intuitive and easy-to-understand definitions of probably any topic.
Easy to understand the definition and multiple keywords.

- > Fast and Optimized Search
- > Multiple keywords based search
- > Open Source

## Tech Stack

```python
HTML
CSS
JavaScript
```

## Contributing

Contributions are always welcome!
See `Contribution.MD` for ways to get started.

### Available words
- Hello World!
- Initial Commit
- Python
- Java
- Data Science
- Machine Learning
- Neural Networks
- Pandas
- Numpy
- Stack
- Queue
- Data Structure
- Backend
- Frontend
- Malware
- Spam
- Risk
- Data Visualization
- Data Prediction
- Supervised Learning
- Unsupervised Learning
- Boxplot
- Data
- Reinforcement Learning

## Link
- > https://hetarth02.github.io/intuitive/

## Contributors
- [@Nisarg03](https://www.github.com/Nisarg03)
- [@suyashvash](https://www.github.com/suyashvash)
- [@SohamPatel0810](https://www.github.com/SohamPatel0810)
- [@LucaArgentieri](https://github.com/LucaArgentieri)
- [@paucaro](https://github.com/paucaro)
- [@ManishOffi](https://github.com/ManishOffi)

repository: honeykpatel/intuitive

branch_name: refs/heads/main

gha_license_id: MIT

repo_name: honeykpatel/intuitive


text:
# Multi Level CLI

This module supports command line parsing of complex (multi-command) and nested (multi-level) CLIs such as the
"Cisco" CLI or the GCP _gcloud_ cli.

The main features multilevelcli provides are:
* support for multiple commands
* command grouping
* nested groups
* automatic tree generation
* level aware options parsing
* array(list) and struct(dict) arguments and options
* nested arguments and options types support and parsing

# Comparison to argparse module
**multilevelcli** is not compatible with and not exactly a superset of argparse. It is not designed as an
argparse substitute in the general case. It is meant to be used for complex CLI cases where the standard
argparse is hard to use and lacking functionality. For most applications
 the cmdline parsing may be easier with argparse. In fact **multilevelcli** doesn't support single command CLIs.

Still there are some areas where **multilevelcli** may be generally better:
* It is simpler to use programmatically - i.e. to generate CLI from some other structured definition language such
as Swagger.
* In most cases there is no need for nested parsers as the parser is multilevel by design
* The help generation and invocation is simpler
* The typing system is simpler and more powerful in most cases
* It is possible to do the parsing in stages, i.e. multiple times

The following argparse features are not supported (probably a partial list):
* dynamic arguments number (as in add_argument(**narg**=...))
* **actions** (but they are not needed in most cases)
* special **types** such as 'open'
* **choices**
* **required** options (as having a 'required' option is a little bit odd, isn't it?)
* **metavar** (multilevelcli uses the arg type)
* **dest** (multilevelcli always uses the arg name)

# The general model of operation
Basically the multilevelcli follows the argparse model. A parser needs to be defined, and all of the groups,
commands, arguments and options must be defined before you start the parsing.
After the parser is called, a namespace object is returned. The namespace object is similar
in principle to the argparse namespace object, but is much more powerful as it supports levels, groups
and nested types.

# Multilevelcli entities

## Parser
The parser is the main class. You must create at least one MultiLevelArgParse instance and specify a name for it.
For example:

```python
    cli = multilevelcli.MultiLevelArgParse("testcli1")
```

## Command
The entire pupose of the CLI is to let the user issue commands with parameters and/or options. Any flow
that doesn't end up with a parsable command is an unfinished flow and by default the help usage will be shown
to guide the user to add the missing parts. This behavior can be changed (see default handling below).
Use the **add_command()** method to add a cli command. Any number of commands may be added on each level.
Each command may have (mandatory) positional arguments and optional nonpositional options (see below).
A command needs at least a name (level unique). The description is optional
but of course highly desirable if meaningful help/usage screens are required.
The add_command() function returns
a command object. Store that object if you need to add options or arguments to it.
For example:

```python
    cli.add_command("version")
    list_cmd = cli.add_command("list", description="list all entities")
```

## Argument
Use the **add_argument()** to add a positional argument to a command (object). The arguments order is determined
by the creation order. All arguments are mandatory.
A (command scope unique) name must be provided for each argument and is used to retrieve the argument value.
An optional description can be provided as well as
argtype (see the _types_ section below). The default argtype is 'str'.

```python
    list_cmd.add_argument("name", description="The name of the item to be listed")
```

## Option
Use the **add_option()** to add optional, non positional parameters to groups and/or commands.
Options are level aware and must be uniquely named within the level or command. Short and long options
are supported, and at least one of them must be defined.
A description is optional. If no opttype is provided the option is boolean (i.e. a flag option).
An option type can be of any supported type (see the _types_ section below).
For example:

```python
    cli.add_option('q', 'quiet', description="do not emit messages") # root (group) level option.  short (-q) and long (--quiet)
    list_cmd.add_option(None, 'id', description="id of the listed object") # command level option (only long - i.e., --id)
```

## Group
Group is used to create a new level of commands. In most cases it aggregates commands on a specific object or topic.
For example the gcp cli **gcloud** has a _compute_ group that aggregates 'images', 'instances', 'ssh', etc.
The cli parser object is the root group, and level 1 groups are attached to it.
Group levels are generated via nesting.
On each level, groups and commands may be used together. The resulting group object needs to
be stored so that you can add options, groups and/or commands to it.
For example:

```python
    compute = cli.add_group("compute")
    instances = compute.add_group("instances")
    instances.add_command("list")
    instances.add_command("new")
```

## CliResult
CliResult is the object returned at runtime by the cli parser's `cli.parse()` method. It contains the parsing results
and the final values of the selected command, the command parameters and the options. Separate namespaces
(see below) are maintained for each level.
The most significant methods are:
- .**command_name**() - returns the command name (str) selected by the user
- .**args**() - returns the selected command arguments namespace. Each argument is a key, and the parsed user input is
its value.
- .**opt**() - returns the selected command options namespace. Options apper in this namespace if set by user and/or they
have a default value.
- .**ns**() - Return a global namespace containing all options and arguments gathered
from all levels. The options and argument keys are set in full path format where the group and command(s)
are added to the name
and seperated by a dot. So, for example, if you have a command "vms instances new <id>" the id argument key in the namespace
will be "vms.instances.new.name".
- .**command**() - returns the command _object_ matching the user's input
- .**group**() - returns the group _object_ to which the command belongs
- .**unparsed_tokens**() - return the tokens that were not parsed. This is required  during partial parsing.
- .**command_ctx**() - get the user defined command context (see below)

## Namespace
A namespace is a python dictionary with some convenience function to allow accessing the dictionary keys
as members, and nested names lookup are supported too (e.g. you can lookup 'vms.instances.new.name' ). So instead of
using the standard python dict lookup _a["key"]_ you can do just _a.key_.

## Command tree generation
A complete command tree listing all groups and the commands in each group can be printed
by calling the `cli.show_tree()` method. There is no default binding
to this function, and the program must explicitly call this function as an implementation of a command
or option.
An example of such output:

    [./clitest2.py]    - testcli2
        tree
        [vms]
            [instances]    - commands on vm instances
                list - list instances
        [networks]
            list - list networks

## Default command handling
If no command is found the default function is triggered. By default it is set to show the usage and exit, but
this can be changed by setting **defaultfn** or by passing a defaultfn argument during the group and/or command
initialization and or the parser. A default fn is a function that accepts a
single _MultiLevelCliBase.GroupType_ argument.
Several predefined utility functions exist, for example _usage_and_raise_no_command_ that raises a NoCommand
exception instead of exiting (so that the program can trap and handle it).
For example:

```python
    # root level default handling
    cli = MultiLevelArgParse("demo cli", defaultfn=usage_and_raise_no_command, help=usage_and_raise_help)
    # 'class' group default
    class_group = cli.add_group("class", defaultfn=usage_and_raise_no_command)

    try:
        parsed_input = cli.parse()
    except NoCommand:
        print("No command was entered.  Valid commands:")
        cli.show_tree()
```

## Help generation
By default the options '-h' and '--help' call the default help function **defhelpfn** that is set to _usage_and_exit_.
To change this you can change the defhelpfn variable and/or pass the help argument during group/command
initializtion. A help function is a function that accepts a single _MultiLevelCliBase.ParseBase_ argument.
Setting the help function to None disables the default help handling.
For example:

```python
    # group level help override
    alpha_group = cli.add_group("alpha", help=usage_help_and_raise_nocommand)
    # command level help override
    cmd = alpha_group.add_command("list", help=usage_help_and_raise_nocommand)
```

## Command user context
A user context can be set during command initialization. This context is returned via the
namespace in the CliResult (see above). A different context can be set for each command. This is especially useful for automatic cli generation where the context
can be used to connect the command to an operation specific object. For example:
```python

    beta_group.add_command("test", ctx="context")
    ...
    ctx = cli.parse().command_ctx()
```

## Partial parsing
To allow the parser to parse only tokens it is programmed to and ignore the rest just initialize the cli with
the partial flag. After parsing you can retrieve the unparsed tokens array (list of strings) using the CliResult.unparsed_tokens() method.
For example:
```python

    result = cli.parse(partial=True)
    tokens = result.unparsed_tokens()
    ...
    # do what you need here.
```

## Arguments and Options types
Arguments and option values can be of any type. The main restriction is that the type must support simple (i.e.
parameterized) cast from simple text (str) format. This means that most native python simple types are supported
such as 'str', 'int', 'double', 'float', etc.
For example:
```python
        test_cmd = cli.add_command("user")
        test_cmd.add_argument('name', argtype=str)  # str is the default
        test_cmd.add_argument('age', argtype=int, description="in years")
        test_cmd.add_argument('weight', argtype=float, description="in KG")
        test_cmd.add_option('m', 'married')     # default boolean/flag option
        test_cmd.add_option(None, 'spouse', opttype=str)    # string value for option
```
```
        # from clitest2.py - a sample input:
        $ ./clitest2.py user Jack 28 72.8 -m --spouse Maria
```

In addition compound values are supported through Arrays(lists) and
structures (dictionaries).
Arrays are variable size lists of the same type and are denoted by '[' <type> ']'. For example an array of int
variables is defined as [ int ].
Structures are dictionaries of keys and values. Keys are strings, and the value can be of any type. For example a
structure describing a person's name and age may be defined as ' { name : str, age : int } '.

Examples (from clitest2.py):
```python

        child_cmd = cli.add_command("children", description="add children using array parameters and options")
        child_cmd.add_argument("number", argtype=int, description="number of children")
        child_cmd.add_argument("ages", argtype=[int], description="list of children ages")   # array of int example
        child_cmd.add_option("names", opttype=[str], description="list of children names")   # array of str example

        user_cmd = cli.add_command("person", description="add a person using a struct parameter")
        user_cmd.add_argument('record', argtype={ "name": str, "age" : int}, description="a person record")  # struct example
```
```
        $ ./clitest2.py children 2 [ 5, 11 ]
        children is added.
	        {'number': 2, 'ages': [5, 11]}

        $ ./clitest2.py person { name = joe, age = 27 }
        person is added.
	        {'record': {'name': 'joe', 'age': 27}}
```

## Nested types
Types may be nested. For example
```python
        family_cmd = cli.add_command("family", description="add a family using a compound parameter")
        p = family_cmd.add_argument('members', argtype=[{ "name": str, "age" : int,
                                                        "children" : [ { "name" : str, "age" : int}] }],
                                  description="member records")  # array of struct example
```
```
        $ ./clitest2.py family [{ name = Sara, age = 34 }, {name = Joe, age=33, children = [{name = Mike, age=3}, {name = Dana, age=7}] }]
        family has been added:
	        {'members': [{'name': 'Sara', 'age': 34}, {'name': 'Joe', 'age': 33, 'children': [{'name': 'Mike', 'age': 3}, {'name': 'Dana', 'age': 7}]}]}
```

# Examples
## Example 1: A single command example:
```python
#!/usr/bin/env python3

import multilevelcli

if __name__ == "__main__":
    cli = multilevelcli.MultiLevelArgParse("testcli1")
    cli.add_option("t", "treelevels", opttype=int, default=7, description="max tree levels to process")
    cli.add_option("q", "quiet", description="do not emit messages")
    cli.add_command("list")

    ns = cli.parse()

    print ("### Success! namespace='%s'" % str(ns))
```

### Exampel 1 usage
An automatic help/usage is generated and emmited if no command is found.
The help screen can be shown by using the automatic -h/--help option.

    $ ./clitest1.py
    Usage: ./clitest1.py  [-h/--help] [-t/--treelevels <int>] [-q/--quiet] list

    Description:
        testcli1

    Options:
        -h/--help                    - help screen (this screen)
        -q/--quiet                   - do not emit messages
        -t/--treelevels       <int>  - max tree levels to process. Default '7'

    Sub Commands:
        list

### Example 2 (based on testcli2.py):
```python
#!/usr/bin/env python3

import multilevelcli
import sys

if __name__ == "__main__":
    try:
        cli = multilevelcli.MultiLevelArgParse("testcli2")
        assert isinstance(cli, multilevelcli.MultiLevelArgParse)
        cli.add_option("t", "treelevels", opttype=int, default=7, description="max tree levels to process")
        cli.add_option("q", "quiet", description="do not emit messages")
        vms = cli.add_group("vms")
        networks = cli.add_group("networks")
        list_net_cmd = networks.add_command("list", description="list networks")

        cli.add_command("tree", description="show command tree")
        cli.add_command("syntax", description="show command line syntax")

        instances = vms.add_group("instances", description="commands on vm instances")
        list_cmd = instances.add_command("list", description="list instances")
        list_cmd.add_option("l", "long", description="use long listing")

        user_cmd = cli.add_command("user", description="add user using parameters")
        user_cmd.add_argument('name', argtype=str)  # str is the default
        user_cmd.add_argument('age', argtype=int, description="in years")
        user_cmd.add_argument('weight', argtype=float, description="in KG")
        user_cmd.add_option('m', 'married')     # default boolean/flag option
        user_cmd.add_option(None, 'spouse', opttype=str)    # string value for option

        child_cmd = cli.add_command("children", description="add children using array parameters and options")
        child_cmd.add_argument("number", argtype=int, description="number of children")
        child_cmd.add_argument("ages", argtype=[int], description="age list of children")   # array of int example
        child_cmd.add_option("names", opttype=[str], description="name list of children")   # array of str example

        person_cmd = cli.add_command("person", description="add a person using a struct parameter")
        person_cmd.add_argument('record', argtype={ "name": str, "age" : int}, description="a person record")  # struct example

        family_cmd = cli.add_command("family", description="add a famility using a compound parameter")
        p = family_cmd.add_argument('members', argtype=[{ "name": str, "age" : int,
                                                        "children" : [ { "name" : str, "age" : int}] }],
                                  description="member records")  # array of struct example
        ########
        ns = cli.parse()

        command =  str(ns.command())

        if command == "tree":
            cli.show_tree()
        elif command == "syntax":
            cli.show_systax()
        elif command in ["user", "person", "children"]:
            if not ns.quiet:
                print("%s is added. \n\t%s\n" % (command, ns.args()))
        elif command == 'family':
            if not ns.quiet:
                for m in ns.members:
                    print("Adding family member %s age %d" % (m['name'], m['age']))
                    if not "children" in m:
                        continue
                    for c in m["children"]:
                        print("\tChildren %s age %d" % (c['name'], c['age']))
        # other commands...

    except Exception as e:
        print("Error: " + str(e))
        sys.exit(1)

    print ("\n### Success! namespace='%s'" % str(ns))
    print ("ns: %s" % ns.ns())
    print ("group: %s" % ns.group())
    print ("command: '%s'" % ns.command())
    print ("args: %s" % ns.args())
    print ("opt: %s" % ns.opt())
```

repository: shaharfrank/multilevelcli

gha_language: Python

repo_name: shaharfrank/multilevelcli


text:
---
title: "Enable Application Store"
keywords: 'kubesphere, kubernetes, docker, helm, openpitrix'
description: 'How to enable Helm-based Application Store sponsored by OpenPitrix'
---

## What is Application Store

KubeSphere is an open source and application-centric container platform, providing users with the Helm-based application store and application lifecycle management sponsored by the open source [OpenPitrix](https://github.com/openpitrix/openpitrix). Application store allows ISVs, developers and users to upload / test / review / deploy / publish / upgrade / deploy and delete apps with several clicks in one-stop shop.

Meanwhile, the store can be used to share applications such as big data, middleware, AI, etc. among different teams within workspace. Users can deploy the helm chart from the store to Kubernetes cluster with one click.

KubeSphere application store also provides nine built-in Helm charts for testing.

![App Store](https://pek3b.qingstor.com/kubesphere-docs/png/20191225205635.png)

There are three ways to deploy applications in the store since KubeSphere v2.1.0.

> - [Templates of app repository under workspace](../../quick-start/one-click-deploy): You can easily upload Helm-based templates or import third-party templates to app repository, from where users can deploy applications to their Kubernetes clusters.
> - [The global application store](../../quick-start/app-store): It is a global application store for all users. ISVs use it to submit and publish their applications once the applications get approved by app reviewers. Then any user can deploy the applications to their Kubernetes clusters. Please note KubeSphere provides several built-in applications in the global store for testing only.

## Enable Application Store before Installation

> Note: This guide is only used for installing KubeSphere on Linux machines. If you are going to install KubeSphere and app store on your own Kubernetes cluster, please see [ks-installer](https://github.com/kubesphere/ks-installer).

Before starting the installation, you need to change the value of `openpitrix_enabled` to `true` in `conf/common.yaml` as follows to enable app store, then you can go back to [All-in-One](../all-in-one) or [Multi-Node](../multi-node) guide to continue your installation.

```yaml
# Following components are all optional for KubeSphere,
# Which could be turned on to install it before installation or later by updating its value to true
openpitrix_enabled: true
```

## Enable Application Store after Installation

If you already have a minimal KubeSphere setup, you still can enable app store by editing the ConfigMap of ks-installer using the following command.

```bash
kubectl edit cm -n kubesphere-system ks-installer
```

Then set OpenPitrix from `False` to `True`.

```yaml
openpitrix:
      enabled: True
```

Save it and exit. App Store will be installed automatically for you. You can inspect the logs of ks-installer Pod to [verify the installation status](../verify-components), and wait for the successful result logs output.


text:
---
id: hooks
title: Hooks
---

## Creating Custom Hooks

Hooks provide a way of accessing different points during a Mutate Transaction with the same [operations](/docs/paper/mutating-data#transaction-operations) that are available during the *Mutuate Transaction* itself.

The current hooks available are:
* `beforeTransaction` - Access operations, including the store (via `getStore` operation), before every provided transaction callback is called
* `afterTransaction` - Access operations after every transaction callback is finished

To create a hook provide a hook function, or async function:

```js
export const customBeforeTransactionHook =
  async ({ create, find, remove, clone, getStore, queueEvent }) {
  // custom hook logic here
  };
```

Next, add the hook function on the paper instance under the relevant hook name, for example adding a `beforeTransaction` hook from the previous example:

```js
import { customBeforeTransactionHook } from './custom-hooks';

paper.hooks.beforeTransaction.push(customBeforeTransactionHook);
```

When an array of hook functions are ran they will be run in order, one after the other, waiting for previous async functions or returned promises to resolve.


text:
**AgnosticBayesEnsemble**

[![Travis](https://travis-ci.com/hondoRandale/AgnosticBayesEnsemble.jl.svg?branch=master)](https://travis-ci.com/hondoRandale/AgnosticBayesEnsemble.jl)
[![codecov.io](https://codecov.io/gh/hondoRandale/AgnosticBayesEnsemble.jl/branch/master/graphs/badge.svg?branch=master)](https://codecov.io/gh/hondoRandale/AgnosticBayesEnsemble.jl/branch/master/graphs/badge.svg?branch=master)

           __Auticon Berlin, Machine Learning Group__

![Auticon_Grafik](./Auticon_Grafik.PNG)

**_Overview_**

I have to thank my employer Auticon Berlin for letting me develop this package in my working time. Agnostic Bayes Ensemble is thought to be basis technology, that will be refined over time, furthermore it forms one pillar of a upcoming machine learning framework, which is supposed to consist of three broad branches:

- cleaning and transformation of datasets.

- ensemble algorithms.

- general applicable meta parameter learning.

There are minimal requirements regarding the installation and usage of this package. Right now, the only prerequisite is running on a machine with Julia 1.X installed. However in the upcoming releases GPU support in form of CUDA will be integrated, from there on out, CUDA-DEV-Kit will become a prerequisite.

This package has been developed to facilitate increased predictive performance, by combining raw base models in an agnostic fashion, i.e. the methods don’t use any assumption regarding the used raw models. Furthermore, we specifically implemented ensemble algorithms that can deal with arbitrary loss function and with regression and classification problems, this holds true for all, except for the dirichletPosterior estimation algorithm, which is limited to classification problems.

The algorithms bootstrapPosteriorEstimation, bootstrapPosteriorCorEstimation, dirichletPosteriorEstimation, TDistPosteriorEstimation infer an actual posterior distribution.

The algorithms  δOptimizationMSE ,   δOptimizationHinge ,  δOptimizationHingeRegularized,  δOptimizationMSERegularized do not, these algorithms are inferring mixing coefficients not required to be true probability distributuions .

 **Hint**: In most cases it is advisable to _deactivate_ Hyperthreading for best performance.
However, in some rare cases – depending on the (hardware) platform the package runs on- you
will get the best performance with Hyperthreading enabled, to be sure, it is best practice to
measure the performance with and without Hyperthreading.

**_low level Interface_**

The Interface was designed to be easy to use, therefore all parameters needed by the algorithms in the package are either y_1, y_2, y_3, …, y_k the predictions per raw model along with the label vector T,
Or alternatively e_1, e_2, e_3, …, e_k the error between predicted and real labels and ground truth T.
Some of the methods need additional (prior-) parameters, however this simple basic structure is consistent along all implemented ensemble methods in this package.

___

**_Examples_**

"""
Basic usage Examples.

# Examples
```jldoctest

using AgnosticBayesEnsemble
using DataFrames
using Random
using Statistics
using StaticArrays
using Optim
using MultivariateStats

#== create artificial predictions and ground truth ==#
function distortBinaryPrediction( y::BitArray{1}, distortionFactor::Float64 )
    res          = deepcopy( y );
    indices      = rand( 1:1:size( y, 1 ), round( Int64, distortionFactor * size( y, 1 ) ) );
    res[indices] = .!y[indices];
    return res;
end

n    = 100000;
y    = Bool.( rand( 0:1,n ) );
yH1  = distortBinaryPrediction( y, 0.20 );
yH2  = distortBinaryPrediction( y, 0.21 );
yH3  = distortBinaryPrediction( y, 0.22 );
yH4  = distortBinaryPrediction( y, 0.23 );
yH5  = distortBinaryPrediction( y, 0.24 );
yH6  = distortBinaryPrediction( y, 0.24 );
yH7  = distortBinaryPrediction( y, 0.26 );
yH8  = distortBinaryPrediction( y, 0.27 );
yH9  = distortBinaryPrediction( y, 0.28 );
yH10 = distortBinaryPrediction( y, 0.29 );
yH11 = distortBinaryPrediction( y, 0.30 );
yH12 = distortBinaryPrediction( y, 0.33 );
yH13 = distortBinaryPrediction( y, 0.34 );
yH14 = distortBinaryPrediction( y, 0.35 );
yH15 = distortBinaryPrediction( y, 0.36 );
yH16 = distortBinaryPrediction( y, 0.37 );

#== split generated prediction set into disjoint sets eval and train==#
limit           = round( Int64, 0.7 * size( y, 1 ) );
predictions     = DataFrame( h1=yH1, h2=yH2, h3=yH3, h4=yH4, h5=yH5, h6=yH6, h7=yH7, h8=yH8, h9=yH9, h10=yH10, h11=yH11, h12=yH12, h13=yH13, h14=yH14, h15=yH15, h16=yH16 );
predTraining    = predictions[1:limit,:];
predEval        = predictions[limit+1:end,:];
predMatTraining = convert( Matrix{Float64}, predTraining );
predMatEval     = convert( Matrix{Float64}, predEval );
errMatTraining  = ( repeat( Float64.( y[1:limit] ),outer = [1,size(predictions,2)] ) .- predMatTraining ).^2;
errMatTraining  = convert( Matrix{Float64}, errMatTraining );
sampleSize      = 32
nrRuns          = 100000
α_              = 1.0

#== use bootstrap correlation algorithm to estimate the model posterior  distribution ==#
pBCE = bootstrapPosteriorCorEstimation( convert( Matrix{Float64},predictions ), Float64.( y ), sampleSize, nrRuns );

#== use bootstrap algorithm to estimate the model posterior distribution ==#
pBE  = bootstrapPosteriorEstimation( Matrix( errMatTraining ), sampleSize, nrRuns );

#== use Dirichletian algorithm to estimate the model posterior distribution ==#
pDI = dirichletPosteriorEstimation( errMatTraining, nrRuns, α_ );

sum( pBCE ) + sum( pBE ) + sum( pDI )  ≈ 3.0
# output
true
```
"""

**supported problems per algorithm**

|   algorithm    | univariate Classification | multivariate Classification | univariate Regression | multivariate Classification |
|:--------------:|:-------------------------:|:---------------------------:|:---------------------:|:---------------------------:|
| bootstrap      |            yes            |            yes              |         yes           |            yes              |
| bootstrap cor. |            yes            |            no               |         yes           |            no               |
| dirichletian   |    yes, only {0,1}-loss   |     yes, only {0,1}-loss    |         no            |            no               |
| t-distribution |            yes            |            yes              |         yes           |            yes              |

___

_**supported problems per fine tuning algorithms**_

|           algorithm           | univariate Classification | multivariate Classification | univariate Regression | multivariate Classification |
|:-----------------------------:|:-------------------------:|:---------------------------:|:---------------------:|:---------------------------:|
| δOptimizationMSE              |            yes            |             no              |           yes         |             no              |
| δOptimizationHinge            |            yes            |             no              |           no          |             no              |
| δOptimizationHingeRegularized |            yes            |             no              |           no          |             no              |
| δOptimizationMSERegularized   |            yes            |             no              |           yes         |             no              |

gha_language: Julia


text:
# beck

## Deploy your own

Deploy the example using [ZEIT Now](https://zeit.co/now):

## How to use

You can start with this template [using `create-next-app`](#using-create-next-app) or by [downloading the repository manually](#download-manually).

### Using `create-next-app`

Execute [`create-next-app`](https://github.com/zeit/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init) or [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/) to bootstrap the example:

```
npm init next-app
# or
yarn create next-app
```

### Download manually

Download the example:

```bash
curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/
your example
cd your example
```

### Run locally

Install packages, then run the development server:

```bash
npm install
npm run dev
# or
yarn
yarn dev
```

### Deploy

Deploy it to the cloud with [ZEIT Now](https://zeit.co/import?filter=next.js&utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)).

repository: mib-markus/beck

repo_name: mib-markus/beck


text:
![Particle Filter Simulator](./particle_filters_simulator.gif)

# Overview
This porject contains the C++ implementation of a 2D particle filter localization. The image shows the results tested with the Udacity's simulator. The blue circle shows the estimated position of the car. The green lines show the ground trugh measurement of the landmark measurements near the car. The blue lines show the predicted landmark measurement.

# How does it work?
A particle filter consists of a set of estimates of the system state (the particles) that are refined in a series of iterations. The particles are initialized using an initial rough estimate of the system state (for exmaple a GPS localiztion in case of a self-driving car). In the light of sensor measurements, at each iteration, the particles that are most likely to have a correct estimated of the system state are chosen for the next generaion. This process hopefully convergfes to a point that the set of all particles represent an accurate estimate of the posterior state of system. The idea of particle filters is very reminiscent of population-based metaheueristics, such as [evlolutionary algorithms](https://en.wikipedia.org/wiki/Evolutionary_algorithm).

To estimate the state of the system using noisy motion model and noisy senosr observations, a particle filter continuously interates the following steps:

1. Prediction: predict the state of the system using previous state and the motion model
2. Measurement Update: in light of the sensor measurements, assign each particle a weight that corresponds to its likliehood of representing a good estimate of the system state (an estimate that is in good adherence to the observation)
3. Resample: select the particles for the next generation. The probabailty for a particle to be selected is proportional to its weight

## Running the Code
This project involves the Udacity's Self-driving Car Nanodegree - Term 2 Simulator which can be downloaded [here](https://github.com/udacity/self-driving-car-sim/releases)

The simulator sends car measurements and contorl input using WebSockets to particle filter localization code. This repository includes two files that can be used to set up and install uWebSocketIO for either Linux or Mac systems. For windows you can use either Docker, VMware, or even Windows 10 Bash on Ubuntu to install uWebSocketIO.

Once the install for uWebSocketIO is complete, the main program can be built and ran by doing the following from the project top directory.

1. mkdir build
2. cd build
3. cmake ..
4. make
5. ./particle_filter

Here is the main protocol that main.cpp uses for uWebSocketIO in communicating with the simulator.

**INPUT: values provided by the simulator to the c++ program**
// sense noisy position data from the simulator for initialization.
["sense_x"]
["sense_y"]
["sense_theta"]

// get the previous velocity and yaw rate to predict the particle's transitioned state
["previous_velocity"]
["previous_yawrate"]

// receive noisy observation data from the simulator, in a respective list of x/y values
["sense_observations_x"]
["sense_observations_y"]

**OUTPUT: values provided by the c++ program to the simulator**
// best particle values used for calculating the error evaluation
["best_particle_x"]
["best_particle_y"]
["best_particle_theta"]

//Optional message data used for debugging particle's sensing and associations
// for respective (x,y) sensed positions ID label
["best_particle_associations"]

// for respective (x,y) sensed positions of the landmarks
["best_particle_sense_x"] <= list of sensed x positions
["best_particle_sense_y"] <= list of sensed y positions

# Implementing the Particle Filter
The directory structure of this repository is as follows:

```
root
|   CMakeLists.txt
|   README.md
|
|___data
|   |
|   |   map_data.txt
|
|
|___src
    |   helper_functions.h
    |   main.cpp
    |   map.h
    |   particle_filter.cpp
    |   particle_filter.h
```

The `particle_filter.cpp` in the `src` directory contains the scaffolding of a `ParticleFilter` class and some associated methods. The `src/main.cpp` contains the code that will actually be running the particle filter and calling the associated methods.

#### The Map*
`map_data.txt` includes the position of landmarks (in meters) on an arbitrary Cartesian coordinate system. Each row has three columns
1. x position
2. y position
3. landmark id

> * Map data provided by 3D Mapping Solutions GmbH.


text:
# Header Proxy plugin for traefik

This plugin proxies requests to desired destination (outside of traefik) based on headers provided in the configuration.

## Dev `traefik.yml` configuration file for traefik

```yml
pilot:
  token: [REDACTED]

experimental:
  devPlugin:
    goPath: /home/user/go
    moduleName: github.com/apwe/headerproxy

entryPoints:
  http:
    address: ":8000"
    forwardedHeaders:
      insecure: true

providers:
  file:
    filename: rules-headerproxy.yaml
```

## How to dev
```bash
$ docker run -d --network host containous/whoami -port 5000
# traefik --config-file traefik.yml
```
## How to use

### Headers

Provide header names:
- 'TenantHeader'  : a header controlling the tenant that the requests will be proxied to
- 'ServiceHeader' : a header controlling a service from the tenant that the request will be proxied to

```yml
          Headers:
            TenantHeader: 'Tenant'
            ServiceHeader: 'Service'
```

So, in order to match the configuration, you need to hit traefik with a request containing 'Tenant: tenant-name' and 'Service: service-name' headers.

### Tenants

Provide tenant names as the keys - these are the values of your 'TenantHeader: $$$%%#^$' header passed to traefik:

```yml
          Tenants:
            tenant-name-a:
...
            tenant-name-b:
...
```

### Services

Provide service names as the keys - these are the values of your 'ServiceHeader: &$^#$&#$' header passed to traefik

```yml
            tenant-name-a:
              Services:
                ServiceA:
...
                ServiceB:
...
                ServiceC:
...
            tenant-name-b:
              Services:
                ServiceA:
...
                ServiceB:
...
                ServiceC:
...
```

### Destination

Provide value to the 'Destination' key with the url of the service you want to proxy the requests.
urls MUST contain protocol scheme, as the plugin is parsing the url and using the scheme in the communication.

```yml
                ServiceA:
                  Destination: 'https://example-a.com'
                ServiceB:
                  Destination: 'https://example-b.com'
                ServiceC:
                  Destination: 'https://example-c.com'
```

### Example configuration for traefik file provider

```yml
http:
  routers:
    my-router:
      entryPoints:
      - http
      middlewares:
      - headerproxy
      service: service-whoami
      rule: Path(`/whoami`)

  services:
    service-whoami:
      loadBalancer:
        servers:
        - url: http://localhost:5000/
      passHostHeader: false
  middlewares:
    headerproxy:
      plugin:
        dev:
          Headers:
            TenantHeader: 'Tenant'
            ServiceHeader: 'Service'
          Tenants:
            tenant-name-a:
              Services:
                ServiceA:
                  Destination: 'https://example-a.com'
                ServiceB:
                  Destination: 'https://example-b.com'
                ServiceC:
                  Destination: 'https://example-c.com'
            tenant-name-b:
              Services:
                ServiceA:
                  Destination: 'https://example-a.com'
                ServiceB:
                  Destination: 'https://example-b.com'
```

repository: apwe/headerproxy

gha_language: Go

repo_name: apwe/headerproxy


text:
## 0.16.3 (unreleased)

## 0.16.2 (Released Novemeber 14th, 2018)

### Major Changes

- If you're using Pulumi with Python, this release removes Python 2.7 support in favor of Python 3.6 and greater.

### Improvements

- Expose the AWS JavaScript SDK from `@pulumi/aws`. After importing `@pulumi/aws` you may now access the AWS SDK as `aws.sdk`.

- Update to the v1.42.0 version of the AWS Provider.

- Add constants for `M5` and `M5d` instances.

repository: kennyjwilli/pulumi-cloud

repo_name: kennyjwilli/pulumi-cloud


text:
Transform 'GA Core Reporting API Explorer' urls into something a little easier to use in Power BI. Like:

```
https://ga-dev-tools.appspot.com/query-explorer/?ids=ga%3A59361446&start-date=2010-01-01&end-date=2017-01-01&metrics=ga%3Asessions%2Cga%3Apageviews&dimensions=ga%3AyearMonth%2Cga%3AuserAgeBracket&sort=-ga%3Asessions%2C-ga%3AyearMonth
```
↓
```
/v3/data/ga?ids=ga%3A59361446&start-date=MONTHSTART&start-date=MONTHEND&metrics=ga%3Asessions%2Cga%3Apageviews&dimensions=ga%3AyearMonth%2Cga%3AuserAgeBracket&sort=-ga%3Asessions%2C-ga%3AyearMonth

```

# Usage example (bash on windows)

Read the url from the clipboard, sets the clipboard to the transformed URL:

```
cat /dev/clipboard | ./pojs.js | clip
```

# todo

- [ ] in-browser version (elm powered?)

license: ISC

repository: r-k-b/ga-explorer-link-transformer

repo_name: r-k-b/ga-explorer-link-transformer


text:
# azure-ggated

A GEOM Gate compatible daemon that reads from and writes to a page
blob in an Azure storage container. This makes it possible to have
the blob (a disk image) appear in a FreeBSD machines as a local disk.

repository: xcllnt/azure-ggated

repo_name: xcllnt/azure-ggated


text:
# A package for unit conversion in PHP.

[![Latest Version on Packagist](https://img.shields.io/packagist/v/seebaermichi/unit-conversions.svg?style=flat-square)](https://packagist.org/packages/seebaermichi/unit-conversions)
[![GitHub Tests Action Status](https://img.shields.io/github/workflow/status/seebaermichi/unit-conversions/run-tests?label=tests)](https://github.com/seebaermichi/unit-conversions/actions?query=workflow%3Arun-tests+branch%3Amaster)
[![Total Downloads](https://img.shields.io/packagist/dt/seebaermichi/unit-conversions.svg?style=flat-square)](https://packagist.org/packages/seebaermichi/unit-conversions)

This is where your description should go. Try and limit it to a paragraph or two. Consider adding a small example.

## Installation

You can install the package via composer:

```bash
composer require seebaermichi/unit-conversions
```

## Usage

``` php
$skeleton = new Seebaermichi\UnitConversions();
echo $skeleton->echoPhrase('Hello, Seebaermichi!');
```

## Testing

``` bash
composer test
```

## Changelog

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

## Contributing

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

## Security Vulnerabilities

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

## Credits

- [Michael Becker](https://github.com/MichaelBecker)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

repository: seebaermichi/unit-conversions

repo_name: seebaermichi/unit-conversions


text:
---
# Documentation: https://wowchemy.com/docs/managing-content/

title: 'The Systems Biology Markup Language (SBML): Language Specification for Level
  3 Version 2 Core Release 2'
subtitle: ''
summary: ''
authors:
- Michael Hucka
- Frank T. Bergmann
- Claudine Chaouiya
- Andreas Dräger
- Stefan Hoops
- Sarah M. Keating
- Matthias König
- Nicolas Le Novère
- Chris J. Myers
- Brett G. Olivier
- Sven Sahle
- James C. Schaff
- Rahuman Sheriff
- Lucian P. Smith
- Dagmar Waltemath
- Darren J. Wilkinson
- Fengkai Zhang
tags:
- 'search'
categories: []
date: '2019-06-20'
lastmod: 2021-01-15T21:34:25Z
featured: false
draft: false

# Featured image
# To use, add an image named `featured.jpg/png` to your page's folder.
# Focal points: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight.
image:
  caption: ''
  focal_point: ''
  preview_only: false

# Projects (optional).
#   Associate this post with one or more of your projects.
#   Simply enter your project's folder or file name without extension.
#   E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`.
#   Otherwise, set `projects = []`.
projects: []
publishDate: '2021-01-15T21:34:24.905336Z'
publication_types:
- '2'
abstract: Computational models can help researchers to interpret data, understand
  biological functions, and make quantitative predictions. The Systems Biology Markup
  Language (SBML) is a file format for representing computational models in a declarative
  form that different software systems can exchange. SBML is oriented towards describing
  biological processes of the sort common in research on a number of topics, including
  metabolic pathways, cell signaling pathways, and many others. By supporting SBML
  as an input/output format, different tools can all operate on an identical representation
  of a model, removing opportunities for translation errors and assuring a common
  starting point for analyses and simulations. This document provides the specification
  for Release 2 of Version 2 of SBML Level 3 Core. The specification defines the data
  structures prescribed by SBML as well as their encoding in XML, the eXtensible Markup
  Language. Release 2 corrects some errors and clarifies some ambiguities discovered
  in Release 1. This specification also defines validation rules that determine the
  validity of an SBML document, and provides many examples of models in SBML form.
  Other materials and software are available from the SBML project website at http://sbml.org/
  .
publication: ''
url_pdf: https://www.degruyter.com/view/journals/jib/16/2/article-20190021.xml
doi: 10.1515/jib-2019-0021
---

gha_language: TeX


text:
# Antares SQL Client

![GitHub package.json version](https://img.shields.io/github/package-json/v/fabio286/antares) [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Ffabio286%2Fantares%2Fbadge&style=flat)](https://actions-badge.atrox.dev/fabio286/antares/goto) ![GitHub All Releases](https://img.shields.io/github/downloads/fabio286/antares/total) ![GitHub](https://img.shields.io/github/license/fabio286/antares) [![antares](https://snapcraft.io/antares/badge.svg)](https://snapcraft.io/antares) [![antares](https://snapcraft.io/antares/trending.svg?name=0)](https://snapcraft.io/antares) [![Twitter Follow](https://img.shields.io/twitter/follow/AntaresSQL?style=social)](https://twitter.com/AntaresSQL) [![Plant a Tree](https://raw.githubusercontent.com/Fabio286/treedom-badge/master/svg/plant-a-tree.svg)](https://www.treedom.net/en/user/fabio-di-stasio/event/antares-for-the-planet)

Antares is an SQL client based on [Electron.js](https://github.com/electron/electron) and [Vue.js](https://github.com/vuejs/vue) that aims to become a useful tool, especially for developers.
My target is to support as many databases as possible, and all major operating systems, including the ARM versions.

**At the moment this application is in development state, many features will come in future updates**, and supports only MySQL/MariaDB and PostgreSQL (partially).
Many of its current features are enough to have a pleasant user experience with MySQL/MariaDB, and basic functionalites with PostgreSQL, so give it a chance and send me your feedback, I would really appreciate it.
I'm actively working on it, hoping to provide cool features and fixes as soon as possible.

🔗 If you are curious to try Antares you can download and install the [latest release](https://github.com/Fabio286/antares/releases/latest).
👁 To stay tuned for new releases [follow Antares SQL](https://twitter.com/AntaresSQL) on Twitter.
🌟 Don't forget to **leave a star** if you appreciate this project.

## Philosophy

Why am I developing an SQL client when there are a lot of them on the market?
The main goal is to develop a totally free, full featured, cross platform and open source alternative, empowered by JavaScript's ecosystem.
A modern application created with minimalism and semplicity in mind, with features in the right places, not hundreds of tiny buttons, tabs or submenu.

## Download

[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/antares) [![Get it from AUR](https://raw.githubusercontent.com/Fabio286/antares/3e00c4bae6e036300c752c1a40c5a038fea9c169/docs/aur-badge.svg)](https://aur.archlinux.org/packages/antares-sql/) [![Get it from Microsoft Store](https://raw.githubusercontent.com/Fabio286/antares/gh-pages/src/assets/ms-store.png)](https://www.microsoft.com/p/antares-sql-client/9nhtb9sq51r1?cid=storebadge&ocid=badge&rtc=1&activetab=pivot:overviewtab)
🚀 **[Other Downloads](https://github.com/Fabio286/antares/releases/latest)**

## How to contribute

- 🌍 [Translate Antares](https://github.com/Fabio286/antares/wiki/Translate-Antares)
- 📖 [Contributors Guide](https://github.com/Fabio286/antares/wiki/Contributors-Guide)
- 🚧 [Project Board](https://github.com/users/Fabio286/projects/1)

## Current main features

- Multiple database connections at same time.
- Database management (add/edit/delete).
- Full tables management, including indexes and foreign keys.
- Views, triggers, stored routines, functions and schedulers management (add/edit/delete).
- Fake table data filler.
- Run queries on multiple tabs.
- Query suggestions and auto complete.
- Dark and light theme.
- Scratchpad.
- Multi language.
- Secure password storage.

## Coming soon

This is a roadmap with major features will come in near future.

- Support for other databases.
- Database tools.
- SSH tunnel support.
- Users management (add/edit/delete).
- UI/UX improvements.
- Query history.
- More context menu shortcuts.
- More keyboard shortcuts.
- Query logs console.
- Import/export and migration.

## Currently supported

### Databases

- [x] MySQL/MariaDB
- [x] PostgreSQL (partially, work in progress)
- [ ] SQLite
- [ ] MSSQL
- [ ] OracleDB
- [ ] More...

### Operating Systems

#### • x64

- [x] Windows
- [x] Linux
- [x] MacOS (not tested due lack of hardware)

#### • ARM

- [ ] Windows
- [x] Linux
- [ ] MacOS

## Translations

**Italian Translation** / [Giuseppe Gigliotti](https://github.com/ReverbOD) [[#20](https://github.com/Fabio286/antares/pull/20)]
**Arabic Translation** / [Mohd-PH](https://github.com/Mohd-PH) [[#29](https://github.com/Fabio286/antares/pull/29)]
**Spanish Translation** / [hongkfui](https://github.com/hongkfui) [[#32](https://github.com/Fabio286/antares/pull/32)]
**French Translation** / [MrAnyx](https://github.com/MrAnyx) [[#44](https://github.com/Fabio286/antares/pull/44)]
**Portugues (Brasil)** / [Daniel Eduardo](https://github.com/daeleduardo) [[#54](https://github.com/Fabio286/antares/pull/54)]
**Deutsch (Deutschland)** / [Christian Ratz](https://github.com/digitalgopnik) [[#74](https://github.com/Fabio286/antares/pull/74)]

## Reviews

repository: Mashiane/antares

repo_name: Mashiane/antares


text:
# PaperDaily :octocat:

[![APM](https://img.shields.io/apm/l/vim-mode.svg?style=plastic)](https://www.apache.org/licenses/LICENSE-2.0)
[![License](https://img.shields.io/badge/harrytsz-PaperDaily-<brightgreen>.svg)](https://blog.csdn.net/Harrytsz)
![Progress](http://progressed.io/bar/1)

	PaperDaily record the diary of scicence and technology by harrytsz

	The main areas involved are: computer science, machine learning, deep learning and other artificial intelligence.

		既然选择远方，便只顾风雨兼程.

			-- Harrytsz :anchor:

**Note:** Paper about Deep Learning、NLP、CV and so on.

### Structure:

Papers:
|--- Computer Vision:
|
|--- Deep Learning:
|
|--- Machine Learning:
|
|--- NLP:

repository: harrytsz/PaperDaily

repo_name: harrytsz/PaperDaily


text:
PHPUnit call stack
---
- TestSuite::run
    - $test->run line 722
- TestCase::runBare()
- ExampleTest::runBare()
    + TestCase::runBare
- ExampleTest::setUp()
    + Laravel TestCase::setUp()
    + Set up app variables
    - ExampleTest, Facades::clearResolvedFacades() <- **Here**
- ExampleTest::runTest
- ExampleTest::tearDown
    + unset all app variables
    + Illuminate\Foundation\Testing\TestCase
    - $this->app->flush()
    - Mockery::close() ???
    - Artisan::forgetBootstrappers()

From the stack we know, the unit test does the following things:
- Initialize the variables for the test
- Run the test
- Unset the variables
- Repeat

repository: Yelfive/app-lele

repo_name: Yelfive/app-lele


text:
Hide Input
==========

This extension allows hiding of an individual codecell in a notebook. This can
be achieved by clicking on the toolbar button:

![](icon.png)

Internals
---------

The codecell hiding state is stored in the metadata `cell.metadata.hide_input`.
If it is set to `true`, the codecell will be hidden on reload.

Exporting with nbconvert
------------------------

See also the general docs for exporting using nbconvert at
[jupyter-contrib-nbextensions.readthedocs.io](https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/).

To export a notebook with hidden cell inputs using nbconvert, you need to use a
custom template.
The required template is supplied as part of
`jupyter_contrib_nbextensions.nbconvert_support`, or you can roll your own
using the provided ones as examples. Again, see the docs linked above for more
information.

The `nbextensions.tpl` template is provided in the
`jupyter_contrib_nbextensions.nbconvert_support` templates directory (see the
docs mentioned above for how to find it)

To use, add the template to your `nbconvert` call:

    jupyter nbconvert --template=nbextensions --to=html my_notebook.ipynb

The nbextensions template will respect the `cell.metadata.hide_input` flag, and
filter the cell's output prompt (the bit that looks like `Out[27]:`).
The filter is only used for html output, not for PDF or LaTeX output.

If you want to _keep_ the cell output prompt, you will have to remove the lines

    {% block output_group -%}
    {%- if cell.metadata.hide_output or nb.metadata.hide_input -%}
    {%- else -%}
        {{ super() }}
    {%- endif -%}
    {% endblock output_group %}

in the `nbextensions.tpl` file.

repository: holzschu/Carnets

repo_name: holzschu/Carnets


text:
# Initial Design

Initial design document

## Goals

- First pass at a working schema VM
- First pass at instructions
- First pass at vcvm_bytecode format

## Bytecode format

All vcvm_bytecode will have the following format for this version (rough C)

```c
typedef struct vcvm_bytecode {
    uint32_t magic_number; // Should be 0xDECAF.
    uint32_t string_const_count;
    char* string_consts[string_const_count];
    uint32_t uuid_const_count;
    uint8_t* uuid_consts[uuid_const_count];
    uint32_t int_const_count;
    uint32_t* int_consts[int_const_count];
    uint32_t intrinsic_const_count;
    vcvm_intrinsic_t intrinsic_consts[intrinsic_const_count];
    uint32_t instruction_count;
    uint32_t instructions[instruction_count];
} vcvm_bytecode_t;
```
For this version the magic number will be `0xDECAF`.
The content of the structure is not guaranteed to be backwards compatible yet.

## Instruction format

The vcvm_instruction format will depend on the number of operands.
If there are three operands then the format is as follows;

|    0 - 7    | 8 - 15 | 16 - 23 | 24 - 31 |
|-------------|--------|---------|---------|
| vcvm_instruction | A      | B       | C       |

If there are two arguments then it will be

|    0 - 7    | 8 - 19 | 20 - 31 |
|-------------|--------|---------|
| vcvm_instruction | A      | B       |

And just one argument (maybe empty) will be

|    0 - 7    | 8 - 31 |
|-------------|--------|
| vcvm_instruction | A      |

## Opcodes

| Name  | Opcode | Arguments |        Effect         |
|-------|--------|-----------|-----------------------|
| Halt  | 0x0    |           | Halt                  |
| Pop   | 0x1    |           | Pop TOS               |
| Push  | 0x2    | A         | Push intermediate A   |
| Swap  | 0x3    |           | Swap top two elements |
| Calli | 0x4    | A         | Call the vcvm_intrinsic[A] |
| LoadK | 0x5    | A         | Load const[A] to TOS  |

## Intrinsics

Intrinsics are a way to support arbitrary built in functions. Rather than making the Opcodes a mess
we can simply support any number of functions by exposing well known references. To keep things deterministic
an vcvm_intrinsic will be referenced by a STACK_VALUE_TYPE_UUID, this STACK_VALUE_TYPE_UUID gives it a deterministic name and version binding. We can
bind multiple methods of the same action to different UUIDs and let the user decide what method they bind against.

(Python pseudo code)
```python
{
    "e0a520a3-bcfe-44c8-bf1e-291adb500221": int_in_range,
    "a4c39daa-f85e-4b2a-a37f-4914e8237a18": string_contains,
    # ...
}
```

In the vcvm_bytecode there will be a pool of intrinsics that contain the following information

```c
typedef struct vcvm_intrinsic {
    uint8_t* uuid;
    int nargs;
    int nrets;
    char* name; // Possible debug info.
} vcvm_intrinsic_t;
```
In the future this will be extended to support type information on arguments allowing for stricter matching.

When the virtual machine loads some vcvm_bytecode it will scan the vcvm_intrinsic pool and see if it can match the vcvm_intrinsic requested
to loaded methods. First it will check if there is an vcvm_intrinsic loaded for a given STACK_VALUE_TYPE_UUID. It will then compare `nargs` and `nrets`
if they match then this is enough for us to load that into the vm for use during execution.

In vcvm_bytecode an vcvm_intrinsic might work like so (just a pseudo example)

```
.consts = ["test", "testing"]
.instrinsics = [{"a4c39daa-f85e-4b2a-a37f-4914e8237a18": {"nargs": 2, "nrets": 1}}]

LOADK 1
LOADK 0
CALLI 0
```

This example would load `"testing"` then load `"test"` then call the first vcvm_intrinsic, which in this example is `string_contains`
This would leave `True` on the stack.


text:
---
layout: default
title: Soapy Remote
parent: Software
nav_order: 6
---

# Soapy Remote
{: .no_toc }

## Table of contents
{: .no_toc .text-delta }

1. TOC
{:toc}

---

Software intended to share a SoapySDR compatible device with other computers through the network. More information about this program can be found on the [SoapySDR Wiki](https://github.com/pothosware/SoapyRemote/wiki).

## Usage Example
To start a new server accepting external IPv4 connections at port 8892:
``` bash
$ SoapySDRServer --bind="<IP_ADDRESS>:8892"
```

## Specifications
- Installed Version: 0.5.1

## Sources
```
https://github.com/pothosware/SoapyRemote
```

## Supported Radios
- Airspy HF+ Discovery
- Airspy Mini
- Airspy R2
- LimeNET Micro
- LimeSDR Mini
- LimeSDR USB
- PlutoSDR
- RTL-SDR


text:
# MySQL Sample Database

## Download Sample Database
[Download Sample Database](http://www.mysqltutorial.org/wp-content/uploads/2018/03/mysqlsampledatabase.zip)

```
USE classicmodels;
SELECT * FROM customers;
```

## Sample Database Schema
- Customers: stores customer’s data.
- Products: stores a list of scale model cars.
- ProductLines: stores a list of product line categories.
- Orders: stores sales orders placed by customers.
- OrderDetails: stores sales order line items for each sales order.
- Payments: stores payments made by customers based on their accounts.
- Employees: stores all employee information as well as the organization structure such as who reports to whom.
- Offices: stores sales office data.

![MySQL-Sample-Database-Schema-min](https://s0.wailian.download/2019/01/29/MySQL-Sample-Database-Schema-min.png)

## References
- [MySQL Sample Database](http://www.mysqltutorial.org/mysql-sample-database.aspx)

gha_language: HTML


text:
---
description: To upgrade from a previous version of GoCD, it is only necessary to upgrade the Server. Agents will automatically update to the correct version of GoCD.
keywords: upgrade gocd, gocd server upgrade, configuration backup, database backup, build artifacts,
title: Upgrading GoCD
---

# Upgrading GoCD

To upgrade from a previous version of GoCD, it is only necessary to upgrade the Server. It is not necessary to stop or backup the GoCD Agents. Agents will automatically update to the correct version of GoCD.

### Before you start

Since Cruise 1.1 (legacy version of GoCD), we do not include a bundled version of the Subversion version control system. This means that if you use Subversion for your projects the server and all agents need to have Subversion installed and available on the system path.

Since Cruise 1.2 (legacy version of Go), we do not include a bundled version of ```ant```. This means that if you use ```ant``` for your projects the server and all agents need to have ```ant``` installed and available on the system path.

### Backing up your data

#### Configuration Backup

As part of the configuration two files need to be backed up:

- GoCD's configuration is saved in the ```cruise-config.xml``` file
- Cipher file for password encryption.

Based on the OS your GoCD server is running on, both these files can be found at:

| Operating System 	| Location                                            	|
|:----------------	|:----------------------------------------------------- |
| Linux            	| ```/etc/go```                                             	|
| Windows          	| ```[Go install directory]\config```                      	|
| Mac OS X         	| ```~/Library/Application Support/Go Server``` 	|

#### Database backup

It is critical that the Go server be stopped before taking a backup of the database. If the GoCD server is not stopped, the backup may be corrupted. The database directory will be located at any one of the following locations based on what OS you're running on:

| Operating System 	| Location                                            	|
|:----------------	|:----------------------------------------------------- |
| Linux            	| ```/var/lib/go-server/db```                                 |
| Windows          	| ```[Go install directory]\db```                      	    |
| Mac OS X         	| ```~/Library/Application Support/Go Server/db```|

#### Build Artifacts Backup

The GoCD server acts as a repository for all your build artifacts. While it is not essential to backup the artifacts before an upgrade, it is good practice to make regular backups of this directory.

You can configure where GoCD stores build artifacts. The following are the default locations of the artifacts if you have not customized its location:

| Operating System 	| Location
|:----------------	|:-----------------------------------------------------
| Linux            	| ```/var/lib/go-server/artifacts```
| Windows          	| ```[Go install directory]\artifacts```
| Mac OS X         	| ```~/Library/Application Support/Go Server/artifacts```

### Upgrading to the new version

You do not need to stop the Agents to perform an upgrade. GoCD agents will automatically update to the correct version of the software. You do not need to upgrade the GoCD agents. Any builds in progress will be rescheduled, and the existing pipelines will complete as expected.

If you are upgrading from a pre-2.1 release, the agent's directory structure will continue to be called "cruise-agent" and will not be renamed to "go-agent". This is normal and will not cause any issues.

On linux, you can ignore any permission errors logged as part of the upgrade of the cruise agent from a pre-2.1 release

GoCD will perform upgrades of its internal data structures when it starts. This process may take some time for installations with a large number of historical builds (10 to 15 minutes on very large installations). If you suspect that there is a problem with the upgrade, check the go-server.log to see if there are any reported errors. This is a one-time migration and subsequent restarts will be much faster.

#### Windows

Run the GoCD installer. Make sure that you specify the same directory as your previously installed version.

If you have changed the GoCD Server Windows service to run as a different user, you will need to repeat this configuration change.

The installer will automatically start the service. Once GoCD completes its internal data changes, you should be able to see the GoCD webpage. Any existing Agents should automatically reconnect. Any builds in progress should continue, or be rescheduled.

#### Linux

#### Debian based distributions (i.e. Ubuntu)

Run the GoCD installer as described

```bash
sudo dpkg -i [go-server-package-name]
```

#### RPM based distributions (i.e. RedHat)

Run the GoCD installer as described
```bash
sudo rpm -U [go-server-package-name]
```

#### Macintosh OSX

The Macintosh OSX edition of Go does not support upgrades. You should follow the steps above to backup your data, uninstall Go/Cruise (by dragging the application into trash), and then perform a fresh installation.

### Notes

Use the notes from this section when upgrading to a particular version of GoCD.

#### Version 2.3

As part of the 2.3 upgrade, the ```dest``` attribute of a material configured in a pipeline is case-insensitive. This would mean that if you have a pipeline P1 with two materials, say material M1 with ```dest = "foo"``` and material M2 with ```dest = "Foo"```, after the upgrade the dest folders will be automatically changed to M1 ```dest = "foo_[random_string]"``` and M2 ```dest = "Foo_[random_string]"```


text:
## Autoload

Everything is loaded with composer. If something is not automatically loaded
execute the following comand:
```
composer dumpautoload
```

### How it works

- The *src* folder is called **App**.
- Every folder inside this one will be called **App\NameOfTheFolder**.
- Every class will be called **App\NameOfTheFolder\NameOfTheClass**.
- If you create a class under *src/Test/MyTest.php*, you **MUST** start your script
with **namespace App\Test**.
- If you want to use that class **outside** the *src/Test/* folder, you **MUST** import
the class using **use App\Test\MyTest**.

## Docker

The project can be executed from Docker using the following command inside
the **formatters** folder:
```
docker-compose up
```
After that, the application will be running on port *8080*.

In order to run it, you must select the path in your computer where it is
located using the environment variable *PROJECT_ROOT*. Copy *.env.example* to *.env*
and configure it (the file it's self explanatory).

## The project

Every route is redirected to **index.php**, and then the traffic is enrouted
to the multiples controllers depending on the path. For example, the route */languages*
will be handled by *languageController*, but the file executed is always *index.php*.

The application have three paths, */languages*, */countries*, and */addresses*. The
only that is done is the first one. They all will do the same, return a *formatted* string
with the list of languages, countries or addresses.

## Your job

1. Install docker, create the *.env* file, and start the server. Check that it works
going to http://localhost:8080/languages.

2. Understand the application.

3. Fill the methods that are about to do (marked with //TODO)

repository: aroabarberan/software-design

repo_name: aroabarberan/software-design


text:
# Coding Conventions

This document describes a number of patterns you should expect to encounter as either a user or a contributor of the library.

## General Guidelines

- Like the STL, the canonical casing is `snake_case` for classes, structs, unions, and variables.
- GAL never allocates on the heap.
- No virtual dispatch is used.
- No inheritance is used.
- Don't-pay-for-what-you-don't-use is a manifest property and no *runtime* overhead is imposed unintentionally.
    - Zero-initialization is not provided for runtime types
    - Division-by-zero is not checked (i.e. during normalization)
- Every feature must have compile times taken into consideration.
- User facing APIs are in the `gal` namespace or in one of the model namespaces.
- Hidden functionality or implementation detail is contained in a nested `detail` namespace.
- Methods are decorated appropriately with attributes and qualifiers (`[[nodiscard]]`, `noexcept`, `const`).

## Notes to Developers

- The largely header-only aspect of the library is due to the heavy reliance on `constexpr` which implicitly inlines the function.
- Type names are often kept short and abbreviated to reduce parsing time. This isn't done unless profiling shows it to be necessary.
- The codegen of the final expression reification is extremely sensitive to changes in the code, so if operating in this area, a benchmark is necessary to verify no regression took place.
- When juggling templates, we endeavor (greatly!) to avoid template instantiations wherever possible. By the same token, we avoid relying on `std::tuple`, SFINAE, recursion, and other techniques known to have adverse effects on compile time wherever possible.
- GAL tiptoes around undefined behavior as much as possible, preferring to be standards conforming. The notable exception is the reliance of well-behaved alignment for structs and data members colocated within a union. This is a reasonable expectation for all modern compilers today.

repository: enkimute/gal

repo_name: enkimute/gal


text:
---
title: Knex.js
author: PipisCrew
date: 2017-07-04
categories: [js]
toc: true
---

Is a "batteries included" SQL query builder for Postgres, MSSQL, MySQL, MariaDB, SQLite3, and Oracle designed to be flexible, portable, and fun to use. It features both traditional node style callbacks as well as a promise interface for cleaner async flow control, a stream interface, full featured query and schema builders, transaction support (with savepoints), connection pooling and standardized responses between different query clients and dialects.

http://knexjs.org/

Using Higher-Order Functions to Build Queries in Knex.js
https://spin.atomicobject.com/2017/07/03/knex-queries/

origin - http://www.pipiscrew.com/2017/07/knex-js/ knex-js


text:
---
layout: post
date:	2015-01-05 21:32:00
title:  Gulakmale, 040115...the Bluethroat
tags: [archived-posts]
categories: archives
permalink: /:categories/:year/:month/:day/:title/
---
20 of us went to Gulakmale again on the 4th, and as I am off to the Kaveri for a couple of days, starting early tomorrow, I'll only talk of one of the highlights of the outing....the sighting of a

BLUETHROAT

The

 Wiki entry

says, "The bluethroat (Luscinia svecica) is a small passerine bird that was formerly classed as a member of the thrush family Turdidae, but is now more generally considered to be an Old World flycatcher, Muscicapidae. It, and similar small European species, are often called chats."

We were delighted to see this passage migrant, because it is not a common bird to see in the Bangalore area.

It is a migratory insectivorous species breeding in wet birch wood or bushy swamp in Europe and Asia with a foothold in western Alaska. It nests in tussocks or low in dense bushes. It winters in north Africa and the Indian subcontinent. Imagine...a globetrotter!

Unfortunately, we were only able to see this one bird, and do not know if he had a mate. Here he is, amidst the bushes:

It was a lovely morning in other respects, too, but I have to pack and go to sleep...

Here's our group:

L to R, Vinay, Purnima, Amith, Harish, Kiran,Karthik,Nitin, Mala, Hari, Bhumika, Mukunda,Smita, Swaroop, Manasi,Sharmila, Suhas,Kannan,Siva, Ganesh

Ganesh was the one who spotted the Bluethroat!

Here are some of us on the banks of the kere (lake) in the misty, magical morning light.


text:
# Swift Blog

Blogging platform built in Swift 3 on top of PerfectLib

This system is under active development.

The readme will be updated with usage instructions and how to contribute very soon!

## Further information on the Perfect Project
For more information on the Perfect project, please visit [perfect.org](http://perfect.org), or visit (and star) the [Perfect GitHub Repo](https://github.com/PerfectlySoft/Perfect).

repository: PerfectServers/SwiftBlog

repo_name: PerfectServers/SwiftBlog


text:
---
date: 2020-01-29
title: AWS RDS Certificate Update
categories:
   - AWS
description: Update on the status of SSL/TLS for Spinnaker and AWS
type: Document
---

## Background

Amazon announced that they are replacing their [SSL/TLS certificates for a variety of data services](https://aws.amazon.com/blogs/aws/urgent-important-rotate-your-amazon-rds-aurora-and-documentdb-certificates/).

## Impact

This issue only impacts you if you have SSL/TLS enabled for Spinnaker’s connections to Aurora. Spinnaker services that can use Aurora are Clouddriver, Orca, and Front50.  The update might require restarting your Aurora instance, which causes your Spinnaker deployment to be temporarily unavailable.

During the downtime, any services that use Aurora will display errors. This is expected until the database is available again.

## Updating your certificates

Aurora picks up the new certificate after a restart. You can update your certificates during planned downtime or immediately.

### During planned downtime

Run the following command:

```
aws rds modify-db-instance --db-instance-identifier database-1 \
--ca-certificate-identifier rds-ca-2019
```
During the next period of downtime, the update occurs.

### Immediately

You can update the certificates immediately, which will result in downtime.

Run the following command:

```
aws rds modify-db-instance --db-instance-identifier database-1 \
--ca-certificate-identifier rds-ca-2019 --apply-immediately
```

### No SSL
If you do not use SSL, you can update your certificates without restarting the database.

Run the following command:

```
aws rds modify-db-instance --db-instance-identifier database-1 \
--ca-certificate-identifier rds-ca-2019 --no-certificate-rotation-restart
```

### AWS web UI
If you prefer, you can use the AWS web UI to update your certificates.

**Step 1**
![AWS cert update step 1](/images/aws_cert_update_1.png "Step 1")

**Step 2**
![AWS cert update step 2](/images/aws_cert_update_2.png "Step 2")

**Step 3**
![AWS cert update step 3](/images/aws_cert_update_3.png "Step 3")
<

**Step 4**
![AWS cert update step 4](/images/aws_cert_update_4.png "Step 4")

**Step 5**
![AWS cert update step 5](/images/aws_cert_update_5.png "Step 5")

repository: armory/knowledge-base

repo_name: armory/knowledge-base


text:
# AlluxioCompTemplateSpec

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**enabled** | **Boolean** | Enabled or Disabled for the components. For now, only  API Gateway is enabled or disabled. |  [optional]
**env** | **Map<String, String>** | Environment variables that will be used by Alluxio component.
 |  [optional]
**jvmOptions** | **List<String>** | Options for JVM |  [optional]
**nodeSelector** | **Map<String, String>** | NodeSelector is a selector which must be true for the master to fit on a node |  [optional]
**ports** | **Map<String, Integer>** | Ports used by Alluxio(e.g. rpc: 19998 for master) |  [optional]
**properties** | **Map<String, String>** | Configurable properties for the Alluxio component.
 Refer to Alluxio Configuration Properties for more info |  [optional]
**replicas** | **Integer** | Replicas is the desired number of replicas of the given template. If unspecified, defaults to 1. replicas is the min replicas of dataset in the cluster |  [optional]
**resources** | [**V1ResourceRequirements**](V1ResourceRequirements.md) | Resources that will be requested by the Alluxio component.

 Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod. |  [optional]

repository: fluid-cloudnative/fluid-client-java

gha_language: Java

repo_name: fluid-cloudnative/fluid-client-java


text:
# CONFLICTS

This document explains why certain conflicts were added to `composer.json` and
references related issues.

- `lexik/jwt-authentication-bundle: ^2.18`

  After bumping to this version ApiBundle starts failing due to requesting a non-existing `api_platform.openapi.factory.legacy` service.
  As we are not using this service across the ApiBundle we added this conflict to unlock the builds, until we investigate the problem.

- `symfony/framework-bundle:6.2.8`:

  This version is missing the service alias `validator.expression`
  which causes ValidatorException exception to be thrown when using `Expression` constraint.

repository: Prometee/Sylius

gha_language: PHP

repo_name: Prometee/Sylius