text:
---
title: Options
description: Discover how to customize Embla Carousel with its available options.
order: 0
date: 2021-02-21
---

# Options

Embla Carousel takes various **options** in order to customize how the carousel works. You can provide options in different ways.

### active

Type: <BrandPrimaryText>`boolean`</BrandPrimaryText>
Default: <BrandSecondaryText>`true`</BrandSecondaryText>

Setting this to `false` will not activate or deactivate the carousel. Useful when used together with the [breakpoints](/api/options/#breakpoints) option to toggle the carousel active/inactive depending on media queries.

### axis

Type: <BrandPrimaryText>`string`</BrandPrimaryText>
Default: <BrandSecondaryText>`x`</BrandSecondaryText>

Choose scroll axis between `x` and `y`. Remember to stack your slides horizontally or vertically using CSS to match this option.

### align

Type: <BrandPrimaryText>`string | number`</BrandPrimaryText>
Default: <BrandSecondaryText>`center`</BrandSecondaryText>

Align the slides relative to the carousel viewport. Use one of the predefined alignments `start`, `center` or `end`. Alternatively, provide a number between `0 - 1` to align the slides, where **0.5 equals 50%**.

### breakpoints

Type: <BrandPrimaryText>`EmblaOptionsType`</BrandPrimaryText>
Default: <BrandSecondaryText>`{}`</BrandSecondaryText>

An object with options that will be applied for a given breakpoint by overriding the options at the root level. Example: `'(min-width: 768px)': { loop: false }`. Note: If multiple queries match, they will be merged. And when breakpoint options clash, the last one in the list has precedence.

### direction

Type: <BrandPrimaryText>`string`</BrandPrimaryText>
Default: <BrandSecondaryText>`ltr`</BrandSecondaryText>

Choose content direction between `ltr` and `rtl`. Please note that when using `rtl`, the content direction also has to be set to RTL, either by using the [HTML dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir) or the [CSS direction](https://developer.mozilla.org/en-US/docs/Web/CSS/direction) property.

### slidesToScroll

Type: <BrandPrimaryText>`string | number`</BrandPrimaryText>
Default: <BrandSecondaryText>`1`</BrandSecondaryText>

Group slides together. Drag interactions, dot navigation, and previous/next buttons are mapped to group slides into the given number, which has to be an integer. Set it to `auto` if you want Embla to group slides automatically.

### draggable

Type: <BrandPrimaryText>`boolean`</BrandPrimaryText>
Default: <BrandSecondaryText>`true`</BrandSecondaryText>

Enables for scrolling the carousel with mouse and touch interactions.

### dragFree

Type: <BrandPrimaryText>`boolean`</BrandPrimaryText>
Default: <BrandSecondaryText>`false`</BrandSecondaryText>

Enables momentum scrolling. The speed and duration of the continued scrolling is proportional to how vigorous the drag gesture is.

### loop

Type: <BrandPrimaryText>`boolean`</BrandPrimaryText>
Default: <BrandSecondaryText>`false`</BrandSecondaryText>

Enables infinite looping. Automatically falls back to false if slide content isn't enough to loop. Embla will apply `translateX` or `translateY` to the slides that need to change position in order to create the loop effect.

### speed

Type: <BrandPrimaryText>`number`</BrandPrimaryText>
Default: <BrandSecondaryText>`10`</BrandSecondaryText>

Adjust scroll speed when triggered by any of the API methods. Higher numbers enables faster scrolling. Drag interactions are not affected because speed is then determined by the drag force. Only values between `1`-`20` are recommended.

**Note:** The speed option is actually controlling the magnitude of the attraction force to the target (where the carousel is headed). This is because Embla uses a simple physics simulation when scrolling instead of transitions.

### startIndex

Type: <BrandPrimaryText>`number`</BrandPrimaryText>
Default: <BrandSecondaryText>`0`</BrandSecondaryText>

Set the initial scroll snap to the given number. First snap index starts at 0. Please note that this is not necessarily equal to the number of slides when used together with the [slidesToScroll](/api/options/#slidestoscroll) option.

### containScroll

Type: <BrandPrimaryText>`string`</BrandPrimaryText>
Default: <BrandSecondaryText>`''`</BrandSecondaryText>

Clear leading and trailing empty space that causes excessive scrolling. Use `trimSnaps` to only use snap points that trigger scrolling or `keepSnaps` to keep them.

### skipSnaps

Type: <BrandPrimaryText>`boolean`</BrandPrimaryText>
Default: <BrandSecondaryText>`false`</BrandSecondaryText>

Allow the carousel to skip scroll snaps if it's dragged vigorously. Note that this option will be ignored if the [dragFree](/api/options/#dragfree) option is set to `true`.

### inViewThreshold

Type: <BrandPrimaryText>`number`</BrandPrimaryText>
Default: <BrandSecondaryText>`0`</BrandSecondaryText>

Choose a fraction representing the percentage portion of a slide that needs to be visible in order to be considered in view. For example, **0.5 equals 50%**.

## Constructor options

The Embla Carousel constructor accepts an optional options object. Below you'll find examples of how to configure your carousel with option depending on which Embla package you are using.

### Vanilla JavaScript

The **second argument** of the `EmblaCarousel` constructor is the options object:

```js
import EmblaCarousel from 'embla-carousel'

const embla = EmblaCarousel(emblaNode, { loop: true })
```

### React

The **first argument** to the `useEmblaCarousel` hook is the options object:

```js
import useEmblaCarousel from 'embla-carousel-react'

const [emblaRef, emblaApi] = useEmblaCarousel({ loop: true })
```

### Vue

The **first argument** to the `emblaCarouselVue` function is the options object:

```js
import emblaCarouselVue from 'embla-carousel-vue'

const [emblaNode, emblaApi] = emblaCarouselVue({ loop: true })
```

## Global options

It's possible to set **global options** that will be applied to all your carousels. This allows for overriding the Embla default options with your own.

### Vanilla JavaScript global options

**Vanilla JavaScript** users can set global options by assigning them to the `EmblaCarousel` constructor:

```js
import EmblaCarousel from 'embla-carousel'

EmblaCarousel.globalOptions = { loop: true }
```

### React global options

**React** users can set global options by assigning them to the `useEmblaCarousel` hook:

```js
import useEmblaCarousel from 'embla-carousel-react'

useEmblaCarousel.globalOptions = { loop: true }
```

### Vue global options

**Vue** users can set global options by assigning them to the `emblaCarouselVue` function:

```js
import emblaCarouselVue from 'embla-carousel-vue'

emblaCarouselVue.globalOptions = { loop: true }
```

### Svelte global options

**Svelte** users can set global options by assigning them to the `emblaCarouselSvelte` action:

```js
import emblaCarouselSvelte from 'embla-carousel-svelte'

emblaCarouselSvelte.globalOptions = { loop: true }
```

Make sure to assign global options **before** initializing any carousel. You should **only assign it once**, because re-assigning global options can lead to confusing code and unexpected behaviour.

## Option priority

If two different option types are merged, and if any options are in conflict, the option type with the highest priority will have precedence. The **option priority** is as follows:

- [Constructor](/api/options/#constructor-options) options _(highest)_
- [Global](/api/options/#global-options) options _(lowest)_

In the following example:

```js
EmblaCarousel.globalOptions = { draggable: false }

const options = { draggable: true }
const embla = EmblaCarousel(emblaNode, options)
```

The carousel will end up being draggable, because the constructor options will override global options.

repository: openscript/embla-carousel

repo_name: openscript/embla-carousel


text:
# Fork

This project was forked from github.com/mcavage/node-bunyan-syslog as that
package seems to have died with it's last commit being a fix that we needed
but was unpublished. We should go back to that repo if it comes alive again.

# What it is

bunyan-syslog is a stream for [bunyan](https://github.com/trentm/node-bunyan)
that consumes `raw` records from bunyan and sends them to a syslog server.

# Installation

    npm install bunyan-syslog

# Usage

```javascript
var bunyan = require('bunyan');
var bsyslog = require('bunyan-syslog');

var log = bunyan.createLogger({
	name: 'foo',
	streams: [ {
		level: 'debug',
		type: 'raw',
		stream: bsyslog.createBunyanStream({
			type: 'sys',
			facility: bsyslog.local0,
			host: '<IP_ADDRESS>',
			port: 514
		})
	}]
});

log.debug({foo: 'bar'}, 'hello %s', 'world');
```
That's pretty much it.  You create a syslog stream, and point it at a syslog
server (UDP by default; you can force TCP by setting `type: tcp` in the
constructor); default is to use facility `user` and a syslog server on
`<IP_ADDRESS>:514`.  Note you *must* pass `type: 'raw'` to bunyan in the top-level
stream object or this won't work.

## Mappings

This module maps bunyan levels to syslog levels as follows:

```
+--------+--------+
| Bunyan | Syslog |
+--------+--------+
| fatal  | emerg  |
+--------+--------+
| error  | error  |
+--------+--------+
| warn   | warn   |
+--------+--------+
| info   | info   |
+--------+--------+
| *      | debug  |
+--------+--------+
```

# License

MIT.

license: MIT

repository: sportsbet/node-bunyan-syslog

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: sportsbet/node-bunyan-syslog


text:
# mysql-healthcheck
![Go](https://img.shields.io/github/go-mod/go-version/danclough/mysql-healthcheck)
[![Go Report Card](https://goreportcard.com/badge/github.com/danclough/mysql-healthcheck)](https://goreportcard.com/report/github.com/danclough/mysql-healthcheck)
![reviewdog](https://github.com/danclough/mysql-healthcheck/workflows/reviewdog/badge.svg)
![Build](https://img.shields.io/github/workflow/status/danclough/mysql-healthcheck/goreleaser)
[![Release](https://img.shields.io/github/release/danclough/mysql-healthcheck.svg)](https://github.com/danclough/mysql-healthcheck/releases/latest)
[![License](https://img.shields.io/github/license/danclough/mysql-healthcheck)](https://github.com/danclough/mysql-healthcheck/blob/master/LICENSE)
![Downloads](https://img.shields.io/github/downloads/danclough/mysql-healthcheck/total)
[![Issues](https://img.shields.io/github/issues/danclough/mysql-healthcheck)](https://github.com/danclough/mysql-healthcheck/issues)

A self-contained binary to run health checks on MySQL and MariaDB clusters.  Supports Percona XtraDB, Galera, and other wsrep-based clustering applications.

* Linux [x86_64](https://github.com/danclough/mysql-healthcheck/releases/latest/download/mysql-healthcheck_linux_x86_64.tar.gz) / [i386](https://github.com/danclough/mysql-healthcheck/releases/latest/download/mysql-healthcheck_linux_i386.tar.gz) / [ARMv6](https://github.com/danclough/mysql-healthcheck/releases/latest/download/mysql-healthcheck_linux_armv6.tar.gz) / [ARMv7](https://github.com/danclough/mysql-healthcheck/releases/latest/download/mysql-healthcheck_linux_armv7.tar.gz) / [ARM64](https://github.com/danclough/mysql-healthcheck/releases/latest/download/mysql-healthcheck_linux_arm64.tar.gz)
* Windows [x86_64](https://github.com/danclough/mysql-healthcheck/releases/latest/download/mysql-healthcheck_windows_x86_64.zip) / [x86](https://github.com/danclough/mysql-healthcheck/releases/latest/download/mysql-healthcheck_windows_x86.zip)
* MacOS [x86_64](https://github.com/danclough/mysql-healthcheck/releases/latest/download/mysql-healthcheck_macos_x86_64.zip)

## Installation
### Linux
1. Download and extract the appropriate binary for your architecture to `/usr/local/bin/`
2. Make the binary executable with `chmod +x /usr/local/bin/mysql-healthcheck`
3. Create a configuration file as instructed below.
4. For systemd installation:
    1. Place the `mysql-healthcheck.service` unit file in your systemd system service directory (usually `/etc/systemd/system/`).
    2. Enable the service with `systemd enable mysql-healthcheck.service`
5. Run the application from the command line, or run `systemd start mysql-healthcheck` to start the service.

### Windows/MacOS
1. Download and unzip the appropriate binary to any filesystem location.
2. Create a configuration file as instructed below.
3. Run the application from the command line, or follow the appropriate steps for your platform to run it as an OS service.

### Other Platforms
Compile a binary for your target OS and architecture with `go build -ldflags="-X 'main.version=custom'"`.

## Usage
```
  -V    Print version and exit
  -d    Run as a daemon and listen for HTTP connections on a socket
  -v    Verbose (debug) logging
  ```

The application will default to standalone mode, running one check and sending the result to stdout and setting the exit code accordingly.  This can be used for non-HTTP-based health checking needs, or to test changes to your config file.

__Example__:
```
root@database01:~# mysql-healthcheck
time="2020-04-26T05:00:30Z" level=info msg="MySQL cluster node is ready."

root@database01:~# mysql-healthcheck -v
time="2020-04-26T05:00:31Z" level=debug msg="Config loaded from /etc/default/mysql-healthcheck.yaml"
time="2020-04-26T05:00:31Z" level=debug msg="Constructed DSN for MySQL: testuser:<redacted>@tcp(database01.mydomain.net:3306)/?timeout=1s&tls=true"
time="2020-04-26T05:00:31Z" level=debug msg="Running standalone health check."
time="2020-04-26T05:00:31Z" level=info msg="MySQL cluster node is ready."
```

## Configuration
### Location
Config files must be located in one of the following locations:
* Linux
  * `/etc/sysconfig/`
  * `/etc/default/`
  * `/etc/`
  * `$HOME/.config/`
* Windows
  * `%PROGRAMFILES%`
  * `%LOCALAPPDATA%`
* All Platforms
  * Current working directory of the application

### Syntax
Config files can be stored in any format supported by [Viper](https://github.com/spf13/viper), including JSON, TOML, YAML, and more.

The config file must be named `mysql-healthcheck` followed by the appropriate suffix for the file format (e.g. `.yaml`, `.json`)

### Parameters
* __connection__: Parameters pertaining to the database connection
    * __host__: The hostname or IP address of the database server (default: `localhost`)
    * __port__: The port to connect to MySQL (default: `3306`)
    * __user__: A username to authenticate to the database server (optional)
    * __password__: The password of the configured user (optional)
    * __tls__: Parameters pertaining to connection-level encryption
        * __required__: If `true`, require TLS encryption on the connection (default: `false`)
        * __skip-verify__: If `true`, accept any certificate without question (default: `false`)
        * __ca__: File path to a trusted CA certificate in PEM format (optional)
        * __cert__: File path to a client certificate in PEM format (optional)
        * __key__: File path to a client private key in PEM format (optional)
* __http__: Parameters pertaining to running mysql-healthcheck as a service with the `-d` flag
    * __addr__: Address to listen on (default: `::` (All v4/v6 addresses))
    * __port__: Port to bind to (default: `5678`)
    * __path__: URI path to serve health checks at - for example, `/status` or `/health` (default: `/`)
* __options__: Parameters pertaining to health checks
    * __available_when_donor__: If `true`, nodes that are donors for SST will be reported as available (default: `false`)
    * __available_when_readonly__: If `true`, nodes that are in read-only mode due to donor activities will be reported as available (default: `false`)

__Example__
```
connection:
  host: database01.mydomain.net
  user: testuser
  password: WA68fARS1TZz2NkK
  tls:
    required: true
    skip-verify: false
    ca: /etc/ssl/certs/my_ca.pem
    cert: /etc/ssl/certs/client_cert.pem
    key: /etc/ssl/private/client_key.pem
http:
  addr: <IP_ADDRESS>
  port: 8080
  path: /status
options:
  available_when_donor: false
  available_when_readonly: false
```

repository: YuhuaDeng/mysql-healthcheck

repo_name: YuhuaDeng/mysql-healthcheck


text:
# LeetCode Archive

![](https://img.shields.io/badge/language-C%2B%2B-ff69b4)

- Welcome ! This is the archive of my answers to LeetCode problems. Folders and Files' names are very intuitive, so I hope you can understand them. (͡ ͡° ͜ つ ͡͡°)
- If you have any questions or suggestions, I'm willing to discuss with you through Email<EMAIL_ADDRESS>
# Current Progress
222/1569

# References

https://github.com/grandyang/leetcode

https://github.com/azl397985856/leetcode

https://leetcode.wang/


text:
# Operational general checks

### Legend
---
- DC = Domain Controller
- FSMO = Flexible Single-Master Operation
- RODC = Read Only Domain Controller
- `{DNS entries}` =
    - _ldap in `{SiteName}._sites.dc._msdcs.contoso.com`
    - _kerberos `{SiteName}._sites.dc._msdcs.contoso.com`
    - _ldap in `_tcp.dc._msdcs.contoso.com`
    - _kerberos in `_tcp.dc._msdcs.contoso.com`
    - _ldap in `{domain-guid].domains._msdcs.contoso.com`
    - record type A in `gc._msdcs.contoso.com`
    - _ldap in `_tcp.{SiteName}._sites.gc._msdcs.contoso.com`
    - _ldap in `_tcp.gc._msdcs.contoso.com`
    - _ldap for PDC in `_tcp.pdc._msdcs.contoso.com`

---

|Area|Test|Possible approach|Details|
|---|---|---|---|
|Connectivity|Verify each `DC in replication site can [reach other replication members]`|||
|DNS|Verify `{DNS entries} in _msdcs zone [point to all DCs]`|||
|DNS|Verify `DNS Reverse Lookup zones are [configured for all site subnets]`|||
|DNS|Verify `DNS Scavenging is set to [X days]`|||
|DHCP|Verify at least `one DHCP is [authorized in domain]`||If other DHCP than domain integrated is used this should be skipped|
|Sites|Verify each `site has at least [one subnet configured]`|||
|FMSO|Verify each `FSMO holder is [reachable]`|||
|RODC|Verify each `RODC is [reachable]`||If applicable|


text:
# DevourItapp

## Description

A full stack burger crud app. I can create,update and delete burgers while utilizing Node.js, Handlebars.js for easier html and express to host my rest api database.

## Questions
If you have any questions please contact me here:
[GitHub](https://github.com/afbrown1216)

## licsence
Copyright (c) afbrown1216. Licensed under the MIT license.

branch_name: refs/heads/main


text:
**Note:** Change logs for individual libraries are no longer maintained. For the most recent changes, reference the `CHANGELOG.md` file located at the workspace root.

---

# 5.2.2 (2022-02-24)

- Added support for asynchronous search in the lookup cell editor. [#201](https://github.com/blackbaud/skyux-ag-grid/pull/201)

# 5.2.1 (2022-02-07)

- Updated the code structure for data grid and data entry grid code examples and behavioral demos to not segment by selection, remove the unnecessary `searchText` variable, and update the shown items dynamically based on selection. [#194](https://github.com/blackbaud/skyux-ag-grid/pull/194)

# 5.2.0 (2022-02-02)

- Added support for lazy-loaded routes. [#196](https://github.com/blackbaud/skyux-ag-grid/pull/196)

# 5.1.10 (2022-01-27)

- Updated the VSCode `settings.json`, removed unused imports, corrected code styles, and updated code examples to add an empty state message and fix ARIA labels. [#193](https://github.com/blackbaud/skyux-ag-grid/pull/193)

# 5.1.9 (2022-01-24)

- Fixed the link in the Data Grid Development Enumerations section. [#191](https://github.com/blackbaud/skyux-ag-grid/pull/191)

# 5.1.8 (2022-01-20)

- Remove validation columns from Data Grid code examples. [#187](https://github.com/blackbaud/skyux-ag-grid/pull/187)

# 5.1.7 (2022-01-12)

- Add code examples for v5 docs spa. [#175](https://github.com/blackbaud/skyux-ag-grid/pull/175)

# 5.1.6 (2022-01-04)

- Fixed an issue where the first row would not render. [#181](https://github.com/blackbaud/skyux-ag-grid/pull/181)

# 5.1.5 (2022-01-03)

- Added support for wrapped text in custom components. [#176](https://github.com/blackbaud/skyux-ag-grid/pull/176)
- Fixed an error with the validator popover change detection. [#180](https://github.com/blackbaud/skyux-ag-grid/pull/180)

# 5.1.4 (2021-12-02)

- Updated column reorder handling to address performance for drag and drop. [#170](https://github.com/blackbaud/skyux-ag-grid/pull/170)

# 5.1.3 (2021-11-19)

- Added support for Prettier code formatting and updated the builder to support StackBlitz. [#169](https://github.com/blackbaud/skyux-ag-grid/pull/169)

# 5.1.2 (2021-11-19)

- Added AG Grid component documentation. [#167](https://github.com/blackbaud/skyux-ag-grid/pull/167)

# 5.1.1 (2021-11-10)

- Fixed an issue with `skyAgGridRowDelete` when using an infinite row model type. [#164](https://github.com/blackbaud/skyux-ag-grid/pull/164)

# 5.1.0 (2021-10-29)

- Added the lookup cell type. [#157](https://github.com/blackbaud/skyux-ag-grid/pull/157)

# 5.0.2 (2021-10-20)

- Fixed an issue with `skyAgGridDataManagerAdapter` where the `viewId` input was marked private. [#158](https://github.com/blackbaud/skyux-ag-grid/pull/158)

# 5.0.1 (2021-10-06)

- Fixed an issue so the css file is now included in the package. [#155](https://github.com/blackbaud/skyux-ag-grid/pull/155)

# 5.0.0 (2021-10-01)

### New features

- Added support for Angular 12. [#125](https://github.com/blackbaud/skyux-ag-grid/pull/125)

### Breaking changes

- Updated the AG Grid peer dependency to [AG Grid 26](https://blog.ag-grid.com/whats-new-in-ag-grid-26/). [#146](https://github.com/blackbaud/skyux-ag-grid/pull/146)

# 5.0.0-beta.5 (2021-09-28)

- Updated the `e2e` tests to produce more consistent results. [#151](https://github.com/blackbaud/skyux-ag-grid/pull/151)

# 5.0.0-beta.4 (2021-09-27)

- Added bug fixes and features from the `master` branch. [#149](https://github.com/blackbaud/skyux-ag-grid/pull/149)
- Updated the peer dependency to AG Grid 26. [#146](https://github.com/blackbaud/skyux-ag-grid/pull/146)

# 4.11.0 (2021-09-24)

- Fixed the currency column type so the values are right-aligned. [#147](https://github.com/blackbaud/skyux-ag-grid/pull/147)

# 5.0.0-beta.3 (2021-09-20)

- Added bug fixes and features from the `master` branch. [#141](https://github.com/blackbaud/skyux-ag-grid/pull/141)
- Migrated the project to use Angular CLI. [#141](https://github.com/blackbaud/skyux-ag-grid/pull/141)

# 4.10.2 (2021-09-20)

- Fixed the cell renderer to refresh when the validator status changes. [#143](https://github.com/blackbaud/skyux-ag-grid/pull/143) (Thanks @[blackbaud-jeremymorgan](https://github.com/blackbaud-jeremymorgan)!)

# 4.10.1 (2021-09-16)

- Added additional parameters to the validator function. [#138](https://github.com/blackbaud/skyux-ag-grid/pull/138) (Thanks @[blackbaud-jeremymorgan](https://github.com/blackbaud-jeremymorgan)!)

# 5.0.0-beta.2 (2021-09-08)

- Added bug fixes and features from the `master` branch. [#136](https://github.com/blackbaud/skyux-ag-grid/pull/136)

# 4.10.0 (2021-09-08)

- Added a validator option for cells. [#134](https://github.com/blackbaud/skyux-ag-grid/pull/134)

# 4.9.0 (2021-08-19)

- Added styles to support `agSelectCellEditor` in both default and modern themes. [#127](https://github.com/blackbaud/skyux-ag-grid/pull/127)
- Added visual regression coverage for `agSelectCellEditor` styles. [#129](https://github.com/blackbaud/skyux-ag-grid/pull/129)

# 5.0.0-beta.1 (2021-07-20)

- Fixed the build to export `ag-grid-styles.scss`. [#126](https://github.com/blackbaud/skyux-ag-grid/pull/126)

# 5.0.0-beta.0 (2021-07-16)

- Initial beta release.
- Added support for `@angular/core@^12`. [#125](https://github.com/blackbaud/skyux-ag-grid/pull/125)
- Added support for `5.0.0-beta.*` versions of SKY UX component libraries. [#125](https://github.com/blackbaud/skyux-ag-grid/pull/125)

# 4.8.3 (2021-07-13)

- Fixed the AG Grid wrapper to allow for the use of features added in AG Grid 24. [#123](https://github.com/blackbaud/skyux-ag-grid/pull/123)

# 4.8.2 (2021-07-09)

- Updated styles for AG Grid version 24+ in modern theme. [#121](https://github.com/blackbaud/skyux-ag-grid/pull/121)

# 4.8.1 (2021-06-23)

- For dark mode, fixed the line height style of multiline cells in read-only mode. [#118](https://github.com/blackbaud/skyux-ag-grid/pull/118)

# 4.8.0 (2021-06-16)

- Added support for the AG Grid options [`stopEditingWhenCellsLoseFocus`](https://www.ag-grid.com/angular-grid/grid-properties/#reference-editing) (AG Grid 25.2.0+) and `stopEditingWhenGridLosesFocus` with `SkyCellType.Date` columns. [#113](https://github.com/blackbaud/skyux-ag-grid/pull/113)

# 4.7.0 (2021-06-02)

- Added support for AG Grid version 25. [#111](https://github.com/blackbaud/skyux-ag-grid/pull/111)

# 4.6.1 (2021-04-15)

- Fixed column sorting when `sortOptions` is undefined. [#108](https://github.com/blackbaud/skyux-ag-grid/pull/108)

# 4.6.0 (2021-04-06)

- Fixed the line height style of multiline cells in read-only mode. [#105](https://github.com/blackbaud/skyux-ag-grid/pull/105)

# 4.5.2 (2021-02-19)

- Fixed the row delete directive to render on rows which use the `enableCellTextSelection` option in version 23 of AG Grid. [#101](https://github.com/blackbaud/skyux-ag-grid/pull/101)

# 4.5.1 (2021-02-11)

- Fixed the AG Grid wrapper to properly handle keyboard navigation while a master/detail grid is being used. [#98](https://github.com/blackbaud/skyux-ag-grid/pull/98)

# 4.5.0 (2021-01-26)

- Added the currency cell type. [#94](https://github.com/blackbaud/skyux-ag-grid/pull/94) (Thanks @[brianbianchi](https://github.com/brianbianchi)!)

# 4.4.0 (2020-12-16)

- Added the row delete directive to support showing inline deletes on grid rows. [#85](https://github.com/blackbaud/skyux-ag-grid/pull/85)

# 4.3.0 (2020-12-02)

- Added modern theme styling for data entry grid. [#83](https://github.com/blackbaud/skyux-ag-grid/pull/83)
- Updated the peer dependencies to support the latest versions of `ag-grid-angular` and `ag-grid-community`. [#90](https://github.com/blackbaud/skyux-ag-grid/pull/90)

# 4.2.0 (2020-08-21)

- Fixed the AG Grid wrapper component to stop scrolling to the top of the grid when it receives focus. [#72](https://github.com/blackbaud/skyux-ag-grid/pull/72)
- Updated the `skyAgGridDataManagerAdapter` directive to work with the new data manager API. [#73](https://github.com/blackbaud/skyux-ag-grid/pull/73)

# 4.1.1 (2020-07-29)

- Added a peer dependency on `@skyux/data-manager`. [#64](https://github.com/blackbaud/skyux-ag-grid/pull/64)

# 4.1.0 (2020-07-29)

- Added the `skyAgGridDataManagerAdapter` directive to handle interactions between the data entry grid component and the data manager component. [#59](https://github.com/blackbaud/skyux-ag-grid/pull/59)
- Added an example using the data entry grid component with the data manager component. [#61](https://github.com/blackbaud/skyux-ag-grid/pull/61)

# 4.0.2 (2020-06-22)

- Fixed the peer dependency versions of `ag-grid-angular` and `ag-grid-community` packages to `^23.2.0` to support `<EMAIL_ADDRESS>[#46](https://github.com/blackbaud/skyux-ag-grid/pull/46)

# 4.0.1 (2020-06-11)

- Removed the barrel export files to fix builds. [#43](https://github.com/blackbaud/skyux-ag-grid/pull/43)

# 4.0.0 (2020-06-09)

### New features

- Updated the pipeline to transpile to the [Angular Package Format](https://docs.google.com/document/d/1CZC2rcpxffTDfRDs6p1cfbmKNLA6x5O-NtkJglDaBVs/preview). [#38](https://github.com/blackbaud/skyux-ag-grid/pull/38)

### Breaking changes

- Dropped support for `rxjs@5`. Consumers can install `rxjs-compat@^6` to support older versions of `rxjs`. [#38](https://github.com/blackbaud/skyux-ag-grid/pull/38)

# 3.0.0-rc.9 (2020/06/08)

- Updated keyboard navigation to allow tabbing between cells when editing data. [#39](https://github.com/blackbaud/skyux-ag-grid/pull/39)

# 3.0.0-rc.8 (2020/05/28)

- Created the SKY UX AG Grid wrapper component to provide keyboard navigation and sticky column headers. [#35](https://github.com/blackbaud/skyux-ag-grid/pull/35)
- Fixed the row selector cell component to optionally initialize with row data. [#35](https://github.com/blackbaud/skyux-ag-grid/pull/35)

# 3.0.0-rc.7 (2020/03/23)

- Fixed rows to keep their selected state when scrolling out of view. [#29](https://github.com/blackbaud/skyux-ag-grid/pull/29)

# 3.0.0-rc.6 (2020/03/18)

- Fixed the keyboard navigation so that users can press Enter to save a cell and switch focus to the next cell in the column. [#20](https://github.com/blackbaud/skyux-ag-grid/pull/20)
- Fixed the date cell type to support valid date strings, improved demos with dynamic row height, and infinite scroll. [#22](https://github.com/blackbaud/skyux-ag-grid/pull/22)

# 3.0.0-rc.5 (2019/11/04)

- Added the cell editor text component to support editing text cells. [#17](https://github.com/blackbaud/skyux-ag-grid/pull/17)
- Fixed the cell border highlighting so it appears when cells are focused but not being edited. [#17](https://github.com/blackbaud/skyux-ag-grid/pull/17)
- Fixed the row height to account for the row border. [#17](https://github.com/blackbaud/skyux-ag-grid/pull/17)

# 3.0.0-rc.4 (2019/10/21)

- Added `getEditableGridOptions()` to the AG Grid service, added a demo using a modal, and fixed the number editor width. [#15](https://github.com/blackbaud/skyux-ag-grid/pull/15)

# 3.0.0-rc.3 (2019/10/16)

- Removed duplicate type declarations, exported types, and added a default SKY UX autocomplete sort comparator. [#13](https://github.com/blackbaud/skyux-ag-grid/pull/13)

# 3.0.0-rc.2 (2019/10/11)

- Fixed border, font, and hover styling issues. [#11](https://github.com/blackbaud/skyux-ag-grid/pull/11)
- Added an autocomplete `valueFormatter` function. [#11](https://github.com/blackbaud/skyux-ag-grid/pull/11)
- Added a namespace and types for passing SKY UX component properties to cell editors. [#11](https://github.com/blackbaud/skyux-ag-grid/pull/11)

# 3.0.0-rc.1 (2019/10/08)

- Added a custom build step to export `ag-grid-styles.scss` and fixed minor styling issues. [#9](https://github.com/blackbaud/skyux-ag-grid/pull/9)

# 3.0.0-rc.0 (2019/10/04)

- Added the AG Grid service and a stylesheet to create grids with default SKY UX styling and `gridOptions`. [#2](https://github.com/blackbaud/skyux-ag-grid/pull/2)
- Added the cell editor number component to support editing numeric cells. [#2](https://github.com/blackbaud/skyux-ag-grid/pull/2)
- Added the cell editor datepicker component to support editing date cells. [#2](https://github.com/blackbaud/skyux-ag-grid/pull/2)
- Added the cell renderer row selector component to support selecting multiple rows. [#2](https://github.com/blackbaud/skyux-ag-grid/pull/2)
- Added the cell editor autocomplete component to support autocomplete options when editing cells. [#7](https://github.com/blackbaud/skyux-ag-grid/pull/7)

repository: blackbaud/skyux

gha_language: JavaScript

gha_license_id: MIT

repo_name: blackbaud/skyux


text:
# L10n.cs

An implementation of L10n in C#, Targeting the Unity Game Engine.

This project is no longer supported, but can be used by anyone who wishes to.

## L10n.unity

This library can be used for any project that is developed using .NET 2 or higher.
It was however designed specifically to use well within the Unity environment.
The source code for the L10n Unity Plugin can be found at [github.com/GlenDC/L10n.unity](https://github.com/GlenDC/L10n.unity).

This plugin is no longer available on the Assets Store,
but can be build for Unity5 and higher.

## Credits

+ [GlenDC](https://github.com/GlenDC) (developer/maintainer);

MIT Licensed, read license in this directory for more information.


text:
# Changelog

## [0.5.3] - 2022-01-26

* Scope `$path` variable fix

## [0.5.0] - 2019-09-25

* PSR-11 container support
* Escape filter fixes

## [0.4.0] - 2019-06-15

### Changed

* Remove PHP 7.1 support
* Switched to PHPIUnit 8

## [0.3.1] - 2018-08-05

### Changed

* Added: extensible scope context

## [0.3.0] - 2017-12-26

### Changed

* Added: engine custom scope support
* Bugfix: correcting scope interface

## [0.2.1] - 2017-12-26

### Changed

* Bugfix: correcting template interface

## [0.2.0] - 2017-12-25

### Changed

* Added: template custom scope support

## [0.1.2] - 2017-12-12

### Changed

* Bugfix: checking the reserved `content` name in the start of the block

## [0.1.1] - 2017-12-10

### Changed

* Bugfix: data was not passed to parent template when using extend with `$data` argument

repository: romanzaycev/tooolooop

repo_name: romanzaycev/tooolooop


text:
# munki-dnd
A 'do not disturb' menubar app for Munki for Yosemite and above.

![Active](https://github.com/grahamgilbert/munki-dnd/blob/master/images/active.png)

![Inactive](https://github.com/grahamgilbert/munki-dnd/blob/master/images/disabled.png)

## Usage

By default, this will suppress user notifications from MSC for 24 hours. To adjust this period, use the following:

``` bash
$ defaults write /Library/Preferences/com.grahamgilbert.mscdnd DNDHours -int 1
```

Where ``1`` is the number of hours you want to allow the user to suppress notifications for.

## What's happening?

The package installs two things: the client application that allows users to suppress notifications, and a Munki preflight script that will read in a file created by the app (in ``/Users/Shared/.msc-dnd.plist`` if you care about such things) and the change the ``SuppressUserNotification`` in Munki appropriately depending on whether the specified time has elapsed or not.

## Troubleshooting

This tool sets ``SuppressUserNotification`` in ``/Library/Preferences/ManagedInstalls.plist``. If you are setting this preference via a Profile or MCX, this application will have no effect.

This app is written in Swift, so requires OS X 10.10 or later.

The preflight script assumes you have some method of running scripts in ``/usr/local/munki/preflight.d``. If you are using Sal, or munkireport-php, you will have everything you need to just use the package as is. If you are not, you will need to move the script to ``/usr/local/munki/preflight``.

Thanks to [Icons8](https://icons8.com) for the app icon.

repository: grahamgilbert/munki-dnd

repo_name: grahamgilbert/munki-dnd


text:
## postmanctl merge collection

### Synopsis

```
postmanctl merge collection [flags]
```

### Options

```
  -h, --help              help for collection
  -s, --strategy string   strategy for merging fork (optional, values: deleteSource, updateSourceWithDestination)
      --to string         the destination collection to receive the merged changes
```

### Options inherited from parent commands

```
      --config string    config file (default is $HOME/.postmanctl.yaml)
      --context string   context to use, overrides the current context in the config file
```

### SEE ALSO

* [postmanctl merge](postmanctl_merge.md)	 - Merge a fork of a Postman resource.

###### Auto generated by spf13/cobra on 13-May-2020

repository: OmThapa/postmanctl

repo_name: OmThapa/postmanctl


text:
# Live Queries

This package attempts to add a basic version of live queries to Ponzu. By
interacting with the database hooks provided with the `item.Hookable` interface,
the `live` package (`import "github.com/ponzu-cms/live"`) enables users to publish
and subscribe to the hookable events throughout the content package.

Usage:

```go
package content

import (
	"fmt"
	"log"
	"net/http"

	"github.com/ponzu-cms/live"
	"github.com/ponzu-cms/ponzu/management/editor"
	"github.com/ponzu-cms/ponzu/system/item"
)

// typical generated ponzu content type
type Customer struct {
	item.Item

	Name  string `json:"name"`
	Email string `json:"email"`
}

// declare a package-level subscriptions container (could be in it's own file
// within the content package)
var subs live.Subscriptions

func init() {
    item.Types["Customer"] = func() interface{} { return new(Customer) }

    // create the new subscriptions container to Subscribe / Emit
    subs = live.New()

    // create a subscriber to handle AdminUpdate events on a Customer
    go func() {
        adminUpdates := subs.Subscribe("Customer", live.AdminUpdate)
        for event := range adminUpdates {
            log.Println("<g1> UPDATE:", event.Content().(*Customer))
        }
    }()

    // NOTE: any number of subscriptions can be made to the same content type for
    // any event type.

    // create another subscriber for AdminDelete events on a Customer
    go func() {
        adminDeletes := subs.Subscribe("Customer", live.AdminDelete)
        for event := range adminDeletes {
            log.Println("<g2> DELETE:", event.Content().(*Customer))
        }
    }()
}

// emit content events from within the item.Hookable methods provided by Ponzu
// to broadcast a change (hookable constants are defined in `live` for event types)
func (c *Customer) AfterAdminUpdate(res http.ResponseWriter, req *http.Request) error {
	err := subs.Emit(req.Context(), "Customer", c, live.AdminUpdate)
	if err != nil {
		if liveErr, ok := err.(live.QueryError); ok {
			// handle live error in specific manner
			fmt.Println(liveErr)
			return nil
		}

		return err
	}

	return nil
}

func (c *Customer) BeforeAdminDelete(res http.ResponseWriter, req *http.Request) error {
	err := subs.Emit(req.Context(), "Customer", c, live.AdminDelete)
	if err != nil {
		return err
	}

	return nil
}

// MarshalEditor writes a buffer of html to edit a Customer within the CMS
// and implements editor.Editable
func (c *Customer) MarshalEditor() ([]byte, error) {
	view, err := editor.Form(c,
		// Take note that the first argument to these Input-like functions
		// is the string version of each Customer field, and must follow
		// this pattern for auto-decoding and auto-encoding reasons:
		editor.Field{
			View: editor.Input("Name", c, map[string]string{
				"label":       "Name",
				"type":        "text",
				"placeholder": "Enter the Name here",
			}),
		},
		editor.Field{
			View: editor.Input("Email", c, map[string]string{
				"label":       "Email",
				"type":        "text",
				"placeholder": "Enter the Email here",
			}),
		},
	)

	if err != nil {
		return nil, fmt.Errorf("Failed to render Customer editor view: %s", err.Error())
	}

	return view, nil
}

// String defines how a Customer is printed. Update it using more descriptive
// fields from the Customer struct type
func (c *Customer) String() string {
	return fmt.Sprintf("Customer: %s", c.UUID)
}
```

repository: ponzu-cms/live

repo_name: ponzu-cms/live


text:
### Summary of changes
<!--
The following sections may be removed if there is nothing to
put in them.
-->
### Issues addressed
<!--
Describe problems or include GitHub issue links here.
Recommended that you have something to say here.
-->
### Design considerations
<!--
If you had any special thoughts about why you wrote the code
the way that you did, put them here.
The larger the change, the more it would be preferred if you
had something to say here.
-->
### Follow-up changes needed
<!--
If you've written a feature but don't have formal tests or documentation
for it, mention that here.
-->


text:
# Authentication for Moolah

### How do we authenticate users?
We dediced to use an authentication middleware for Node.js called [Passport](http://www.passportjs.org). Passport can be unobtrusively dropped in to any Express-based web application. A comprehensive set of strategies support authentication using a username and password, Facebook, Twitter, and more.

### What passport strategy did we choose?

##### Local Login
The [passport-local](http://www.passportjs.org/packages/passport-local/) module allows authenticating users via username & password.

### How does this work?

1. User provides credentials (username/password) to Moolah
2. This is an API route for login that uses passport.authenticate() method which calls the "local" passport strategy.
3. The local passport strategy will first check the username in the database to find a match. If a match is made, it will then retrieve the password. If a match is not made, an error will be sent that the username does not exist.
4. Once the password has been retrieved, it will pass this to the validPassword method.
5. The validPassword method will compare the retrieved password and the one provided at login. If they match, the login will continue. If not, an error: "Incorrect Password", will be provided.

### Features

- Persistent login (using sessions for login)
- Custom routing to remove access to pages that should be available until a user has authenticated.
- Password encryption using: [bcrypt](https://www.npmjs.com/package/bcrypt). Helps with hashing the password when written to the database.

repository: brycedugger/budget

repo_name: brycedugger/budget


text:
# recipeCards
 Beautiful, printer-friendly recipe cards CSS

 recipeCards.css

 by Alex Schemagin
 www.alexschemagin.com

 Add to your recipe website to print beautiful, 4" x 6" recipe cards. Forget bloated, extraneous, non-printer friendly versions of recipes. Since these media queries target printers and define strict dimensions, be mindful of the length of ingredient lists and cooking instructions. For sizing, use print-friendly metrics like "cm", "in", and "pt", etc. This CSS should always appear at the very end of your other CSS code. This is meant purely for printing. It is not recommended to use "!important", like, ever, but this will override whatever cooking recipe styles you may have for only demonstrative purposes. The styling as designed here is basic and made to look fitting for a cookbook. Change it up to make your perfect, printable recipe and add to your site. Bon apetit!

 ![printed example](https://github.com/countereverything/recipeCards/blob/master/experiment_recipe1.jpg)

repository: alexschemagin/recipeCards

repo_name: alexschemagin/recipeCards


text:
---
name: New Slack Api Method
about: Adding Slack Api Method
title: ''
labels: ApiClient
assignees: ''

---

Reference: https://api.slack.com/methods/

Acceptance Criteria:
- [ ] **slack-jackson-dto** holds new dtos if needed
- [ ] **slack-jackson-dto-test-extension** provides new extensions if needed
- [ ] **slack-api-client** is extended with given method
- [ ] **slack-spring-api-client** implements given method
- [ ] **slack-spring-test-api-client** implements given method
- [ ] JavaDoc/KDoc is added

repository: raphaeldelio/slack-spring-boot-starter

repo_name: raphaeldelio/slack-spring-boot-starter


text:
---
layout: post
title: Visual Studio Code Settings Configuration
description : Complete configuration details and setup for settings sync.
---

There are two types of configurations for Settings Sync in terms of their scope.

- Gist Setting
- Global Settings

Setting Sync Global Settings is the setting which applies on all the Visual Studio Code environment while the scope of Gist Settings are only limited to Visual Studio current environment.

For Example: GitHub Token is a part of Global Settings of two reasons, first its sensitive information for the user that we cannot allow to upload the GitHub token along-with code settings in Gist. Second its applicable with all Gist, it's required to download any Gist.

#### Gist Settings

```json
{
    "sync.gist": "",
    "sync.autoDownload": false,
    "sync.autoUpload": false,
    "sync.forceDownload": false,
    "sync.removeExtensions": true,
    "sync.syncExtensions": true,
    "sync.forceUpload": false,
    "sync.quietSync": false
}
```

Gist Settings are stored in Visual Studio code `settings.json` with the sync prefix and may vary with different Gist ( Visual Studio Environments) and will be replaced by the new downloaded Settings.

- *Gist*: Github Gist ID
- *autoDownload*: `false` by default. If you set it to `true` it will download the settings automatically when code is started.
- *autoUpload* : `false` by default. It will start download process automatically when Visual Studio Loads when set to `true` , `false` will not allow extension to auto download the settings upon startup.
- *quietSync* : `false` by default. It will show the summary page when download or upload process completes displaying the files changed and extensions added or removed. Setting false will allow quiet process in the background and only notify via editor statusbar.
- *forceDownload* : `false` by default. If you set it to `true` it will overwrite the existing settings everytime the download process initiated either manually or on start.
- *syncExtensions* : `true` by default. It allows Settings Sync to sync your extensions list in gist so when you download it will automatically install the extensions list in code.
- *removeExtensions*: `true` by default. When syncExtensions is `true` and extensions list are downloaded. It allows Setting Sync to remove those extensions which are not a part of downloaded list of extensions. If you want to sync with new extensions and dont want to remove extra extensions keep this config to `false` Settings sync will not delete extensions.

##### Global Settings

Global Settings are stored in the `User` folder with the file name `syncLocalSettings.json`.

```json
{
    "ignoreUploadFiles": [
        "state.*",
        "syncLocalSettings.json",
        ".DS_Store",
        "sync.lock",
        "projects.json",
        "projects_cache_vscode.json",
        "projects_cache_git.json",
        "projects_cache_svn.json",
        "gpm_projects.json",
        "gpm-recentItems.json"
    ],
    "ignoreUploadFolders": [ "workspaceStorage"],
    "ignoreExtensions": [],
    "gistDescription": "Visual Studio Code Settings Sync Gist",
    "version": 341,
    "token": "",
    "downloadPublicGist": false,
    "supportedFileExtensions": [ "json","code-snippets"],
    "disableUpdateMessage": false,
    "lastUpload": null,
    "lastDownload": null,
    "githubEnterpriseUrl": null,
    "askGistName": false,
    "customFiles": {},
    "hostName": null,
    "universalKeybindings": false,
    "autoUploadDelay": 20
}
```

- *ignoreUploadFiles*:
All the files inside this key will stop extension to upload the files. You need to only write the file name of file. Any file found with this name inside `User` folder or subfolders won’t be uploaded. Like in the above example, the projects.json and projects_cache_git.json will not be uploaded to Github Gist.

- *ignoreUploadFolders*:
All the folder names defined in it will not be uploaded in Gist, Folder can be child of User folder or child of any subfolder. Like in the above example, `workspaceStorage` folder files will not be uploaded to Github Gist.

- *gistDescription*:
This is the name of gist you are going to create. Very helpful when you have multiple environments ( e.g Home Settings, Work Settings ) you can name those gist and download them by identifying.

- *token*:
The GitHub User secret identifier in order to allow Settings Sync upload and download the gist. Token is automatically generated by the Settings Sync UI when you login via GitHub. You can also manual generate token from Github and paste here.

- *supportedFileExtensions*:
It allows Settings Sync to upload only the files in gist which extension are defined. By default Settings Sync only uploads `json` and `code-snippets`.

- *downloadPublicGist*:
`false` by default. Set it to `true` if you are looking forward to make Setting Sync only download mode. For example, team member looking forward to the team environment. Set it to `true` and Settings Sync will only download the Gist and will never ask for token in order to download.

- *ignoreExtensions*:
Add any extension name in order to ignore from upload / download process. For example : Add `beautify` if you want to ignore `beautify` extension to upload and download from the Gist.

- *disableUpdateMessage*:
`false` by default. Set it to `true` when you are looking forward to disable the extension update messages.

- *githubEnterpriseUrl* and *hostName*:
Setup enterprise url and hostname when you want to use Github enterprise for Settings Sync.

- *askGistName*:
`false` by default. When set to `true` allows user to set Gist name while creating new one. Very helpful when you have multiple environments ( e.g Home Settings, Work Settings ) you can name those gist and download them by identifying.

- *universalKeybindings*:
`false` by default. Set it to `true` if you want a single `keybindings.json` for MacOS, Linux and Windows.

- *autoUploadDelay*:
Default is `20` seconds. Change the seconds interval to allow Settings Sync to upload the settings on change.

- *customFiles*:
Allow you to sync files outside the `User` folder. For details read the wiki post [here](https://github.com/shanalikhan/code-settings-sync/wiki/Custom-Sync)

*lastDownload* and *lastUpload* is just to keep record of download and upload status. You can set it to empty to hit manual download process.

Let me know if you have any questions.


text:
# Headroom

Ocean provides the option to include a buffer of spare capacity, i.e., vCPU, memory, and GPU resources, known as headroom. Headroom ensures that the cluster has the capacity to quickly scale more workloads (tasks or pods) without waiting for new instances (container instances or nodes) to be provisioned. You can configure headroom in specific amounts of resources, or specify headroom as a percentage of the total cluster requested resources.

Ocean optimally manages the headroom in a dynamic manner in order to provide the best possible cost-performance balance. Alternatively, headroom may also be manually configured to support any use case.

## How It Works

Ocean continually checks if there are unscheduled workloads (pods or tasks) in the cluster. If unscheduled workloads are found, Ocean simulates placing them on the existing infrastructure.

Since Ocean has saved compute resources in advance (i.e., created headroom), the container orchestrator can use these resources and schedule the unscheduled workloads on these nodes instantly. Once the headroom has been used for scaling up workloads, Ocean will provision more infrastructure to balance the headroom amount in preparation for the next scale up of services.

Headroom can be configured using one of two mechanisms, automatic or manual.

## Automatic Headroom

Automatic refers to headroom that is dynamic and designed to predict the next scale up of services in the cluster. It is limited by a percent of the overall resources requested by the cluster’s workloads.

When you configure automatic headroom, Ocean calculates the total amount of resources (CPU, memory,  and GPU) deployed in the cluster and then allocates a certain percent of that to be available as spare capacity. The default is 5%, but the value is user configurable.

Ocean continually monitors the cluster and creates headroom according to the following process, in order to prepare the cluster for the next workload scale out:
1. According to historical workload behavior that is monitored continuously, Ocean sorts the cluster’s workloads according to their chance and scope of scaling out.
2. Based on the top 5 workloads’ request size, Ocean provisions infrastructure that is able to facilitate a scale out of those workloads, considering all of their constraints.
3. As per the total amount of headroom, Ocean continually balances so that it matches the percentage of resources defined by the user.

As these steps are repeated, the desired percent of headroom is maintained at all times.

## Manual Headroom

While automatic headroom is the recommended configuration, you can also set up manual headroom on top of automatic headroom. Defined per virtual node group (VNG), manual headroom adds flexibility to help with specific use cases.

Manual refers to headroom that is configured as specific amounts of resources, and is relevant for users who are aware of specific needs in the cluster.

Another way to define headroom is by specific resource amounts. This way is most useful when the cluster has a predicted behavior whereby the services scaling up and their headroom needs are known.

Setting the manual headroom is done by setting headroom units -- i.e., chunks of resources such as CPU, memory, and GPU -- to be provisioned and saved for future scale out.

In order to set those units for different workloads with different constraints, manual headroom can be defined at the [VNG](ocean/features/launch-specifications) level. This ensures that the provisioned spare capacity will exist on nodes that have the right configuration to run the scaling workloads.

For example, a VNG is configured to maintain two headroom units of 2048 MiB and 2000 CPU, and another VNG is configured to maintain two headroom units of the same size. Then, a total of four headroom units will be maintained at all times, where two units each will match each of the corresponding VNGs.

### Note for AWS and GKE Users

Due to backward compatibility considerations, you will need to activate a switch in the configuration in order to enable automatic and manual headroom to work in parallel. Otherwise, automatic headroom overrides all other headroom definitions manually configured, whether they are at cluster or VNG level.

## What's Next?

- Learn more about [Launch Specifications](ocean/features/launch-specifications).
- Learn more about the Launch Specification APIs: [AWS](https://docs.spot.io/api/#operation/OceanAWSLaunchSpecCreate), [ECS](https://docs.spot.io/api/#operation/OceanECSLaunchSpecCreate), [GKE](https://docs.spot.io/api/#operation/OceanGKELaunchSpecCreate)


text:
# BR Dataset

Defined in:

* [BR1-BR7] Bischoff, E. E., Ratcliff, M. S. W. (1995). Issues in the Development of Approaches to Container Loading. OMEGA the International Journal of Management Science, 23(4), 377-390.
* [BR0, BR8-BR15] Davies, A. P., Bischoff, E. E. (1999). Weight distribution considerations in container loading. European Journal of Operational Research, 114(3), 509-527.

Original files obtained from:
[URL](https://www.computational-logistics.org/orlib/topic/Six%20Elements%20to%20SCLP/)

repository: Oscar-Oliveira/OR-Datasets

repo_name: Oscar-Oliveira/OR-Datasets


text:
% dotfiles_install(1) dreadwarrior | dotfiles
%
% November 2021

# NAME

**dotfiles_install** - Finish setup of dotfiles.

# SYNOPSIS

**`dotfiles_install`** \[`-p`]
                       \[`-m`]
                       \[`-b`]
                       \[`-f`]
                       \[`-h`]

# DESCRIPTION

Finishing the setup of the **dotfiles** installation varies between different
operating systems:

On **Linux**:

- installation of Moka icon theme

On **macOS**:

- installation of packages from **Brewfile**
- Finder configuration

**Cross-plattform**:

- installation of **bash-git-prompt**

The installation routine uses a trivial operating system probing routine to
protect the user against mutually exclusive installation constellations. E.g.
using **`-b`** on a non-macOS machine will echo an informational note and
skip the installation process of dependencies from Brewfiles.

# OPTIONS

`-p`, `--bashgitprompt`, `--no-bashgitprompt`

:   Whether to install **bash-git-prompt** or not. (defaults to "on")

`-m`, `--mokaicontheme`, `--no-mokaicontheme`

:   Whether to install the Moka icon theme or not. (defaults to "off")

`-b`, `--brewbundle`, `--no-brewbundle`

:   Whether to install brew dependencies from the **Brewfile** or not.
    (defaults to "off")

`-f`, `--finder`, `--no-finder`

:   Whether to configure Finder with some additional settings or not.
    (defaults to "on")

`-h`, `--help`

:   Prints help

# SEE ALSO

dreadwarrior_dotfiles(7)

repository: dreadwarrior/dotfiles

repo_name: dreadwarrior/dotfiles


text:
# Lessor Examples

This subdirectory contains examples that are used in tutorials and documentation.

- [`tenant.yaml`](./tenant.yaml): an example Tenant custom resource that takes advantage of every feature

repository: SocioProphet/lessor

repo_name: SocioProphet/lessor


text:
# Venice Unleashed Launcher

Launch Battlefield 3 Venice Unleashed with different set of options.

Choose to run the client at 30Hz, 60Hz or even 120Hz. Playing in windowed mode and you don't like the borders? You can remove them! In case the internet is down you can even play the campaign missions.

## Installation

No installation is required. Just extract all the files in the same folder and run *VU_Launcher.exe*.

## Changelog

### v1.2
* Reworked VU detection system, now it should work with old, new and custom installations.
* Added a way to install VU directly from VU Launcher. (Thanks AlexEe77)
* Enabled the server launch option.
* Other minor fixes/changes.

### v1.1.1
* Fix for new VU installation method (December 2015).

### v1.1
* Fixed a bug when launching VU with no borders. (Thanks Johlandabee)
* The .dll file and .exe one have been incorporated. (Thanks Johlandabee)

### v1.0
* Icon added.
* Automatically close the application based on user choice.
* User can launch any single-player campaign mission.
* The application will now remember the options selected by the user.
* System tray icon added, you can quickly launch VU from here.
* Option added to remove the borders from windowed mode.

### v0.1
* Initial release.
* Quickly launch VU client at 30Hz, 60Hz or 120Hz.

## Credits

For major info, please visit the GitHub page: https://github.com/Dendari92/vulauncher

Thanks to Philipp Sumi for the WPF NotifyIcon control: http://www.hardcodet.net/wpf-notifyicon

Special thanks to the Emulator Nexus staff for the incredible effort put into Venice Unleashed.

gha_language: C#


text:
dnsmasq
=======

A simple Ansible role to deploy dnsmasq as a DHCP, DNS and/or TFTP service.

Role Variables
--------------

TODO

Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

    - hosts: servers
      roles:
         - { role: username.rolename, x: 42 }

License
-------

Apache-2.0

repository: mattgeddes/dnsmasq

repo_name: mattgeddes/dnsmasq


text:
# Image-Matching

框架广告的图像匹配模型

## 数据集
共计 9935 个方案，373471个照片。

## 依赖
- Python 3.6.8
- PyTorch 1.3.0

## 如何使用

### 数据准备
数据解压缩并预处理:
```bash
$ python extract.py
$ python pre_process.py
```

### 训练
```bash
$ python train.py
```

可视化训练过程：
```bash
$ tensorboard --logdir=runs
```

## 效果评估

### 测试数据集

#### 开始评估
```bash
$ python test.py
```

#### 准确度
|Accuracy|Threshold|
|---|---|
|99.69%|19.82047499705621|

#### 角度 theta 的分布

![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/theta_dist.png)

##### False Positive
16 false positives:

小样图|上刊照（原图）|上刊照（校准）|
|---|---|---|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/0_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/0_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/0_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/1_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/1_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/1_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/2_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/2_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/2_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/3_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/3_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/3_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/4_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/4_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/4_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/5_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/5_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/5_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/6_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/6_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/6_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/7_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/7_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/7_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/8_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/8_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/8_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/9_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/9_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/9_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/10_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/10_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/10_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/11_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/11_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/11_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/12_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/12_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/12_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/13_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/13_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/13_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/14_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/14_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/14_fp_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/15_fp_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/15_fp_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/15_fp_1.jpg)|

##### False Negative
15 false negative:

小样图|上刊照（原图）|上刊照（校准）|
|---|---|---|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/0_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/0_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/0_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/1_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/1_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/1_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/2_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/2_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/2_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/3_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/3_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/3_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/4_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/4_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/4_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/5_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/5_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/5_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/6_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/6_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/6_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/7_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/7_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/7_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/8_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/8_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/8_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/9_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/9_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/9_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/10_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/10_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/10_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/11_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/11_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/11_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/12_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/12_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/12_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/13_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/13_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/13_fn_1.jpg)|
|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/14_fn_0.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/14_fn_1_original.jpg)|![image](https://github.com/foamliu/Image-Matching-v2/raw/master/images/14_fn_1.jpg)|


text:
tentacles [![Build Status](https://travis-ci.org/gitterHQ/tentacles.svg?branch=v0.1.8)](https://travis-ci.org/gitterHQ/tentacles) [![Coverage Status](https://coveralls.io/repos/gitterHQ/tentacles/badge.svg?branch=master)](https://coveralls.io/r/gitterHQ/tentacles?branch=master) [![Dependencies](https://david-dm.org/gitterHQ/tentacles.svg)](https://david-dm.org/gitterHQ/tentacles) [![npm](https://img.shields.io/npm/v/tentacles.svg)](https://www.npmjs.com/package/tentacles)
=========

Tentacles is a extensible, promise-based GitHub client for node.js. It's
designed to be easy to configure and to be as stateless as possible, making it
suitable for server environments.

It can also cache GitHub HTTP responses to speed up your app and reduce rate limits.

Tentacles does not yet cover the entire GitHub API: the methods currently available are
mostly those used by [Gitter](https://gitter.im). It is, however, very easy to extend
and we welcome pull-requests.

The client aims to maintain a direct one-to-one mapping with the GitHub API as much
as possible.

# Usage

Basic usage is straight-forward:

```javascript
var Tentacles = require('tentacles');
var tentacles = new Tentacles();

tentacles.user.get('suprememoocow')
  .then(function(user) {
    // ...
  });
```

To specify an access token:

```javascript
var Tentacles = require('tentacles');
var tentacles = new Tentacles();

tentacles.user.get('suprememoocow', { accessToken: '...' })
  .then(function(user) {
    // ...
  });
```

... or specify the access token globally ...

```javascript
var Tentacles = require('tentacles');
var tentacles = new Tentacles({ accessToken: '...' });

tentacles.user.get('suprememoocow')
  .then(function(user) {
    // ...
  });

```
## General Pattern

All API methods adhere to the same pattern:

 * **For `GET` methods**: `method`(`param1`, `param2`, ..., `options`).
 * **For `POST`/`PUT`/`POST`/`DELETE` methods**: `method`(`param1`, `param2`, `body`, `options`).

`options` is not required. If specified, it should contain:

 * `query`: a hash of query parameters. For example ` { query: { sort: 'state' } } `
 * `accessToken`: the access token to pass in for non-anonymous requests. This will be used to set the `Authorization` header.
 * `spread`: set to true to make the promise return an array of [`body`, `response`], which will give you access to the headers, status code, etc. [Read more here.](#accessing-the-response)
 * `headers`: a hash of headers to send through with the request.

#### Prefixes

Methods which return a **boolean value** will generally be prefixed with `check`.

Methods which return a **single object** will generally be prefixed with `get`.

Methods which return an **array** will generally be prefixed with `list`.

## Resources

The following resources are supports

 * **Activity**
   * [`tentacles.events`](doc/Events.md)
   * [`tentacles.starring`](doc/Starring.md)
   * [`tentacles.watching`](doc/Watching.md)
 * **Git Data**
   * [`tentacles.gitCommit`](doc/GitCommit.md)
   * [`tentacles.gitRef`](doc/GitRef.md)
   * [`tentacles.gitTree`](doc/GitTree.md)
 * **Issues**
   * [`tentacles.issue`](doc/Issue.md)
   * [`tentacles.issueComment`](doc/IssueComment.md)
   * [`tentacles.issueLabel`](doc/IssueLabel.md)
 * **Organisations**
   * [`tentacles.org`](doc/Org.md)
   * [`tentacles.orgMember`](doc/OrgMember.md)
   * [`tentacles.orgTeam`](doc/OrgTeam.md)
 * **Pull Requests**
   * [`tentacles.pullRequest`](doc/PullRequest.md)
   * [`tentacles.pullRequestComment`](doc/PullRequestComment.md)
 * **Reactions**
   * [`tentacles.reaction`](doc/Reaction.md)
 * **Repositories**
   * [`tentacles.repo`](doc/Repo.md)
   * [`tentacles.repoCollaborator`](doc/RepoCollaborator.md)
   * [`tentacles.repoCommit`](doc/RepoCommit.md)
   * [`tentacles.repoContent`](doc/RepoContent.md)
   * [`tentacles.repoWebhooks`](doc/RepoWebhooks.md)
 * **Search**
   * [`tentacles.search`](doc/Search.md)
 * **User**
   * [`tentacles.user`](doc/User.md)
   * [`tentacles.userEmail`](doc/UserEmail.md)
   * [`tentacles.userFollower`](doc/UserFollower.md)

## Global Default Headers

It's possible to configure global default headers, which will be sent on all requests (unless overridden in the method options),
by specifying the `headers` option in the constructor.

```javascript
var tentacles = new Tentacles({
  headers: {
    Accept: 'application/vnd.github.moondragon+json'
  },
});
```

## Anonymous Usage

GitHub heavily limits anonymous API usage. If you expect to be using the API
for anonymous users, it's highly recommended that you pass in a `clientId`/`clientSecret`.
This will allow a much higher API limit.

```javascript
var Tentacles = require('tentacles');
var tentacles = new Tentacles({ clientId: '...', clientSecret: '...' });

tentacles.user.get('suprememoocow')
  .then(function(user) {
    // ...
  });

```

Some APIs will use your clientId/clientSecret. If you prefer to use a different
set of credentials for anonymous usage, use `anonymousClientId`/`anonymousClientSecret`
instead:

```javascript
var Tentacles = require('tentacles');
var tentacles = new Tentacles({ anonymousClientId: '...', anonymousClientSecret: '...' });

tentacles.user.get('suprememoocow')
  .then(function(user) {
    // ...
  });

```

## Accessing the Response

Sometimes it's useful to access the response headers. In order to do this, use the
`spread` option. When `spread` is `true`, the promise will resolve an array of
[`body`, `response`]. This can then be spread across the parameters of the promise
callback using `Promise.spread` method, like so:

```javascript
var Tentacles = require('tentacles');
var tentacles = new Tentacles();

tentacles.user.get('suprememoocow', { spread: true })
  .spread(function(user, response) {
    // Access `response.headers`, `response.statusCode` etc
  });
```

It's also possible to specify this option globally, like so
```javascript
var Tentacles = require('tentacles');
var tentacles = new Tentacles({ spread: true });

tentacles.user.get('suprememoocow')
  .spread(function(user, response) {
    // Access `response.headers`, `response.statusCode` etc
  });
```

## Extensibility

Under the covers, Tentacles uses [request-extensible](https://github.com/suprememoocow/request-extensible)
to allow additional middleware layers to be added to the outgoing (or incoming)
GitHub API request. This adds a great deal of extensiblity to the library.

Add extensions through the `extensions` option on the constructor:

```javascript
var Tentacles = require('tentacles');
var tentacles = new Tentacles({
  extensions: [
    githubApiStats,       // These are request-extensible extensions
    rateLimiterWarning
  ]
});
```

## Caching GitHub API responses

By using HTTP caching semantics and conditional requests you can speed up your application
and reduce rate limiting. We've built an [request-http-cache](https://github.com/gitterHQ/request-http-cache)
for Tentacles to do exactly this.

You can cache responses from GitHub in-memory, or (better for production) in a Redis instance.

Read more over at [request-http-cache](https://github.com/gitterHQ/request-http-cache).

Here's a simple example setup:

```javascript
var RequestHttpCache = require('request-http-cache');
var httpRequestCache = new RequestHttpCache({
  max: 1024*1024 // Maximum cache size (1mb) defaults to 512Kb
});

var Tentacles = require('tentacles');
var tentacles = new Tentacles({
  extensions: [
    httpRequestCache.extension
  ]
});
```

### Streaming pagenated results

Prefer using streams for pagenated results? Take a look at [Tentacles Streams](https://github.com/gitterHQ/tentacles-streams), which has an identical API to Tentacles, but returns objectstreams of all the pages of results.

## Changing the Promise Library

Prior to version 0.3.0, Tentacles used `Q` Promises. Version 0.3.0 uses Bluebird
by default, but this can be switched by setting the `Tentacles.Promise` library.

```js
var Tentacles = require('tentacles');
Tentacles.Promise = require('q').Promise;
```

## Authors

Lovingly build by [@suprememoocow](https://twitter.com/suprememoocow) and the team at [Gitter](https://gitter.im).

## Contributing

Please adhere to the [airbnb/javascript](https://github.com/airbnb/javascript)
style guide for any PRs.

Please add documentation for any methods in the [JSDox format](http://jsdox.org).
To regenerate the markdown documentation, run `npm run-script doc`

#### Where to put your changes

There are many ways to categorise API methods. To avoid confusion, this client
matches the documentation structure as it is presented on
[developer.github.com](https://developer.github.com).

# Licence
```
License
The MIT License (MIT)

Copyright (c) 2015, Troupe Technology Limited

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

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

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

repository: Triadai/tentacles

repo_name: Triadai/tentacles


text:
This project was made by Lisa Hachmann, Anisha Nakagawa and Paige Pfenninger for the Analog and Digital Communications course at Olin College. This is our final project, completed in December 2017.

The project sends information using Orthogonal Frequency Division Multiplexing (OFDM) over Universal Software Radio Peripherals (USRPs). Follow their instructions to set up the USRPs’ software. The data is encoded and decoded using MATLAB.

How to run:
Generate a file to send by running tx_great.m. Alternatively, tx.dat has a working version to data to send over the USRP.
On one computer, transmit the data over the USRP using the command prompt with:
```
tx_samples_from_file.exe --gain 70 --freq<PHONE_NUMBER> --file tx.dat --rate 250e3 --type float --ref external --spb 1024
```
On the second computer, receive the data by running the command prompt as an administrator using the command:
```
rx_samples_to_file.exe --gain 50 --freq<PHONE_NUMBER> --file rx.dat --rate 250e3 --type float --ref external  --spb 1024
```
We recommend that nothing moves in the transmission time.

Extract the data by running rx_great.m. Alternatively, a version of the received data is in rx.dat, from one of our experimental runs.

Using our data:
To use our successful transmission data in rx_great.m, change line 7 to
```
rawInput = read_usrp_data_file('rxBEAUTIFULl.dat');
```

Previous versions:
We did not remove our process, but instead moved all previous iterations into the previousVersions folder. We don’t recommend using this code, but it is a full documentation of our process.

repository: ppfenninger/OFDM

repo_name: ppfenninger/OFDM