text:
![Apollo upload logo](https://cdn.rawgit.com/jaydenseric/apollo-upload-server/6831fef/apollo-upload-logo.svg)

# apollo-upload-server

[![npm version](https://img.shields.io/npm/v/apollo-upload-server.svg)](https://npm.im/apollo-upload-server) ![Licence](https://img.shields.io/npm/l/apollo-upload-server.svg) [![Github issues](https://img.shields.io/github/issues/jaydenseric/apollo-upload-server.svg)](https://github.com/jaydenseric/apollo-upload-server/issues) [![Github stars](https://img.shields.io/github/stars/jaydenseric/apollo-upload-server.svg)](https://github.com/jaydenseric/apollo-upload-server/stargazers) [![Travis status](https://img.shields.io/travis/jaydenseric/apollo-upload-server.svg)](https://travis-ci.org/jaydenseric/apollo-upload-server)

Enhances [Apollo](https://apollographql.com) for intuitive file uploads via GraphQL queries or mutations. Use with a [GraphQL multipart request spec client implementation](https://github.com/jaydenseric/graphql-multipart-request-spec#client) such as [apollo-upload-client](https://github.com/jaydenseric/apollo-upload-client).

## Setup

Install with peer dependencies using [npm](https://www.npmjs.com):

```shell
npm install apollo-upload-server graphql
```

Add the middleware just before [graphql-server](https://github.com/apollographql/graphql-server).

### Options

* `maxFieldSize` (integer): Max allowed non-file multipart form field size in bytes; enough for your queries (default: 1 MB).
* `maxFileSize` (integer): Max allowed file size in bytes (default: Infinity).
* `maxFiles` (integer): Max allowed number of files (default: Infinity).

### [Koa](http://koajs.com)

```js
import { apolloUploadKoa } from 'apollo-upload-server'

// …

router.post(
  '/graphql',
  koaBody(),
  apolloUploadKoa(/* Options */),
  graphqlKoa(/* … */)
)
```

### [Express](http://expressjs.com)

```js
import { apolloUploadExpress } from 'apollo-upload-server'

// …

app.use(
  '/graphql',
  bodyParser.json(),
  apolloUploadExpress(/* Options */),
  graphqlExpress(/* … */)
)
```

### Custom middleware

Middleware wraps the async function `processRequest` which accepts a Node.js request and an optional [options object](#options) as arguments. It returns a promise that resolves an operations object for a GraphQL server to consume (usually as the request body). Import it to create custom middleware:

```js
import { processRequest } from 'apollo-upload-server'
```

### `Upload` scalar

A file upload promise that resolves an object containing:

* `stream`
* `filename`
* `mimetype`
* `encoding`

It must be added to your types and resolvers:

```js
import { makeExecutableSchema } from 'graphql-tools'
import { GraphQLUpload } from 'apollo-upload-server'

const schema = makeExecutableSchema({
  typeDefs: `scalar Upload`,
  resolvers: { Upload: GraphQLUpload }
})
```

## Usage

Files uploaded via a [GraphQL multipart request](https://github.com/jaydenseric/graphql-multipart-request-spec) appear as [`Upload` scalars](#upload-scalar) in resolver arguments. The upload streams can be used to store the files in the local filesystem or in the cloud. See also [apollo-upload-client usage](https://github.com/jaydenseric/apollo-upload-client#usage) and the [example API and client](https://github.com/jaydenseric/apollo-upload-examples).

## Support

* Node.js v6.10+, see `package.json` `engines`.

repository: yellowtides/bazaaro

gha_language: JavaScript

repo_name: yellowtides/bazaaro


text:
# klatt-syn-rs

This is a conversion from TypeScript to Rust of [KlattSyn - Klatt Formant Synthesizer](https://github.com/chdh/klatt-syn)
## Launch

1. Open the project in VS Code
1.Hit `F5` and see result in the terminal

All the input parameters for the code are in `./src/app_params.rs`

## Predictable results
To get the same results for every launch and make it possible to compare to TypeScript's results you need to block the random number generator with a fixed value. To do that do the following changes to `.src/klatt.rs` file:
- in the method `get_white_noise()` replace
``` Rust
return rand::random::<f64>() * 2.0 - 1.0;
```
with
``` Rust
return 0.5;
```
- in the `new` function of the `Generator` class, replace
``` Rust
flutter_time_offset: (rand::random::<f64>() * 1000.0) as usize,
```
with
``` Rust
flutter_time_offset: 555,
```

Do the corresponding changes to the TypeScript sources cloned from [github.com/chdh/klatt-syn](https://github.com/chdh/klatt-syn)

In the `.src/Klatt.ts` file:
- in the method `getWhiteNoise()` replace
``` TypeScript
return Math.random() * 2 - 1;
```
with
``` TypeScript
return 0.5
```
- in the `constructor` of the `Generator` class, replace
``` TypeScript
this.flutterTimeOffset = Math.random() * 1000;
```
with
``` TypeScript
this.flutterTimeOffset = 555;
```

license: MIT

repository: victorshevtsov/klatt-syn-rs

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: victorshevtsov/klatt-syn-rs


text:
# Team Builder
## Contents
1. [About](#About)
2. [Description](#Description)
3. [Installation](#Installation)
3. [Deployed Video](#Deployed-Video)
4. [Contact-Info](#Contact-Info)
5. [License](#License)

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## About
From user input, builds an HTML write up of a project team of the manager and included engineers and interns. Each employee type also displays additional information on their employee card.

## Description
On deployment, the user is prompted via inquirer to enter information for the required team manager and is then brought to a menu prompt to add either an engineer or intern to the project. If another employee is to be added, the user is prompted to enter the corresponding information for the employee type. Once all employees are added, the saved info is then compiled into an HTML document found in the output folder.

## Installation
After cloning this repository to your machine, please check the included package.json file for dependencies (jest and inquirer). These can be installed by running your command prompt and running the command npm install. When running the program, please rune the app.js file in the develop folder.

## Deployed-Video
The deployed application can be viewd [here](https://drive.google.com/file/d/10A3w5OSv8iCmk4m_If8PpH1sMvoCDxNX/view?usp=sharing)

## Contact-Info
Alan Gaudet -<EMAIL_ADDRESS>
Portfolio - <https://github.com/amgaudet>

## License
MIT License

Copyright (c) 2021 Alan Gaudet

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: amgaudet/team-builder

branch_name: refs/heads/main

repo_name: amgaudet/team-builder


text:
The following acknowledges the Maintainers for this repository, those who have Contributed to this repository (via bug reports, code, design, ideas, project management, translation, testing, etc.), and any Libraries utilized.

## Maintainers

The following individuals are responsible for curating the list of issues, responding to pull requests, and ensuring regular releases happen.

[Adam Silverstein (@adamsilverstein)](https://github.com/adamsilverstein)

## Contributors

Thank you to all the people who have already contributed to this repository via bug reports, code, design, ideas, project management, translation, testing, etc.

[Adam Silverstein (@adamsilverstein)](https://github.com/adamsilverstein), [Helen Hou-Sandi (@helen)](https://github.com/helen), [Jeffrey Paul (@jeffpaul)](https://github.com/jeffpaul), [Mark Root-Wiley (@mrwweb)](https://github.com/mrwweb)

## Libraries

The following software libraries are utilized in this repository.

[React Character Map](https://github.com/Dayjo/react-character-map) by [Joel Day](https://github.com/Dayjo) and licensed [MIT](https://github.com/Dayjo/react-character-map/blob/3f9900d940502acc72913e2b7a73cb3f805e4155/package.json#L8).

gha_license_id: MIT


text:
![ProSignup Logo](https://raw.githubusercontent.com/rupindr/pro-signup/master/docs/pro-signup-logo.png)
# pro-signup

Authentication [module](https://www.npmjs.com/package/pro-signup) for [express](https://github.com/expressjs/express)

## What is ProSignup?

ProSignup is a node module that handles the user authentication for express applications. It adds two REST APIs ```POST: /login and POST: /register``` and creates a collection ```User``` in MongoDB to manage users.

## Quick Start
### Prerequisites
* A working Express application ([getting started with express](https://expressjs.com/en/starter/hello-world.html))
* MongoDB connection created using [Mongoose](https://mongoosejs.com/)

### Usage
1. Install pro-signup module
```
    npm install pro-signup --save
```
2. Integrate with your express application
```javascript
    const express = require('express')
    const proSignup = require('pro-signup')({
        jwtSecret: process.env.jwtSecret
    })
    const app = express()

    // connect to MongoDB here

    app.use('/auth', proSignup.router)
    app.get('/profile', proSignup.ensureAuthenticated, function (req, res) {
        let email = res.locals.user.email;
        res.send('some private data for user ' + email);
    })
    app.get('/', function (req, res) {
        res.send('some public data without authentication')
    })

    app.listen(3000)
```

### Verifying that it works
```
GET: http://localhost:9000/                 RESPONSE: some public data without authentication
GET: http://localhost:9000/profile          RESPONSE: { "redirect": "/login" }
```
```
POST /auth/register HTTP/1.1
Host: localhost:9000
Content-Type: application/x-www-form-urlencoded

<EMAIL_ADDRESS>```
```
POST /auth/login HTTP/1.1
Host: localhost:9000
Content-Type: application/x-www-form-urlencoded

<EMAIL_ADDRESS>```
and after logging in:
```
GET: http://localhost:9000/profile          RESPONSE: some private data for user<EMAIL_ADDRESS>```
## Detailed Guide

### User Model

ProSignup creates a new collection with following fields in MongoDB
```javascript
{
    name: {
        type: String,
        required: true
    },
    email: {
        type: String,
        required: true,
        lowercase: true,
        unique: true
    },
    password: {
        type: String, //hashed
        required: true
    },
    date: {
        type: Date,
        default: Date.now()
    }
}
```

### Configuration
You need to provide a JSON object with configuration for it to work.
```javascript
const proSignup = require('pro-signup')({
    //configuration parameters
})
```
#### Configuration parameters
* **jwtSecret** is a required parameter. It is used as the secret while signing [json-web-tokens](https://www.npmjs.com/package/jsonwebtoken) that are sent to the client. JWT is stored as a cookie on the client machine and that token is used to authenticate the user.

### Methods
* **proSignup.router** is ```express.Router()``` instance with REST APIs endpoints configured. You need to use it as ```app.use('/basepath', proSignup.router)```
    This adds ```/basepath/login``` and ```/basepath/register``` routes to the app. These are discussed in detail further down in this guide.

* **proSignup.ensureAuthenticated** is a middleware function. It checks if the user is logged in or not. If the user is logged in it adds ```res.locals.user``` to the response which can be used by the actual route to get user info.
If the user is not logged in it responds with ```{ "redirect": "/login" }```. The client can then use this information to redirect to the login page. Usages:

```javascript
app.get('/protected-route', proSignup.ensureAuthenticated, function (req, res) {
    let email = res.locals.user.email;
    res.send('some private data for user ' + email);
})
```
```javascript
app.use('/protected-routes', proSignup.ensureAuthenticated, someRouterInstance)
```

* **proSignup.ensureAuthenticatedAndRedirect** is similar to ```ensureAuthenticated```. Difference it that it actually redirects to '/login' instead of leaving it to client.

### REST APIs
#### /register

```
POST /basename/register HTTP/1.1
Content-Type: application/x-www-form-urlencoded

name=name of the<EMAIL_ADDRESS>```
on success
```javascript
{
    "status": true,
    "redirect": "/login"
}
```
on error
```javascript
{
    "errors": [
        {
            "msg": "error description"
        },
        ...
    ]
}
```
#### /login
```
POST /auth/login HTTP/1.1
Content-Type: application/x-www-form-urlencoded

<EMAIL_ADDRESS>```
on success ( plus sets a cookie 'checksum=jsonwebtoken' )
```javascript
{
    "status": true,
    "redirect": "/"
}
```
on error
```javascript
{
    "errors": [
        {
            "msg": "error description"
        },
        ...
    ]
}
```

## Upcoming features
* Make following parameters customizable:
    * json-web-token expiration time
    * /login and /register route pathname
* stronger password requirements
* logout functionality

## Links
NPM: [https://www.npmjs.com/package/pro-signup](https://www.npmjs.com/package/pro-signup)
Github Page: [https://rupindr.github.io/pro-signup/](https://rupindr.github.io/pro-signup/)
Project created and maintained by [Rupindr](https://rupindr.com)

repository: rupindr/pro-signup

repo_name: rupindr/pro-signup


text:
# Test Portable
A portable, multi-platform bundle that has test dependencies (Cypress, TestCafe, Appium, etc...) pre-installed.

## Quick Start

### Windows
```bash
# Install and run Cypress verify
wget github.com/dpgraham/test-portable/latest/bundle-win
unzip bundle-win.zip -d bundle/
cd bundle/
export CYPRESS_VERSION="5.1.0" # Configurable
export CYPRESS_CACHE_FOLDER=./__sauce/__cache/Cypress/
./node_modules/cypress--v$CYPRESS_VERSION/bin/cypress verify
```

From more comprehensive usage instructions, see
[Windows doc](/docs/WINDOWS.md)
[macOS doc](/docs/MAC_OS.md)
[Linux doc](/docs/LINUX.md)

## Contributing
See [Contributing Doc](contributing.md)

repository: dpgraham/test-portable

repo_name: dpgraham/test-portable


text:
This README contains documentation aimed at developers who are using swarm to
develop protocols, clients, and nodes. As such, it discusses the internals of
the library, and is not relevant to _users_ of swarm-based clients. (Users
should refer to [`README_client.rst`](README_client.rst) and
[`README_client_neo.rst`](README_client_neo.rst).)

Note that the legacy features of swarm are not discussed, as those are
considered (more or less) deprecated. This includes the following packages:

* `swarm.client`
* `swarm.common`
* `swarm.protocol`

# Protocol Overview

The swarm protocol consists of the following components:

* TCP transport layer.
* Protocol version handshake.
* Message protocol.
* Authentication protocol.
* Request protocol.

## Protocol Version Handshake

After establishing the socket connection, each side sends a single byte
representing the protocol version. Each side then reads the byte from the other
side and checks the received version against its own. If there is a mismatch,
no further communication can occur.

## Message Protocol

Subsequent stages of the protocol transmit all data in the form of messages,
where a message consists of:

* A message header.
* A message body (a.k.a. payload).

### Message Header

The message header specifies:

* The type of the message. The message may either form part of a _request_ or
  part of the _authentication_ process.
* The length of the message payload (bytes).
* A parity byte, used for error checking of the header.

### Message Body

The message payload is opaque data, at this level, specified by the
authentication or request protocol that is sending the message.

## Authentication Protocol

Once the protocol version has been confirmed to match, the identity of the
client is authenticated with the node. The client has a name and an
authentication key. The node has a list of the names and keys of clients which
are allowed access.

The protocol works as follows:

1. The client sends the current timestamp.
2. The node sends a nonce (a random number).
3. The client creates an HMAC code from its authorisation key, the timestamp it
   sent, and the nonce it received.
4. The client sends its name and the HMAC code to the node.
5. The node looks up the client's name and finds the corresponding key.
6. The node calculates an HMAC code from the client's key, the timestamp it
   received, and the nonce it sent.
7. If the node's HMAC matches the one received from the client, authentication
   succeeds.
8. The node sends a byte informing the client whether authentication was
   successful or not.

## Request Protocol

Once a connection is established and authenticated, the request protocol begins.
From this point onward, the protocol keeps the underlying socket active for
reading and writing at all times, allowing bidirectional (full
duplex) communication. (The previous stages of the protocol use half duplex.)

The connection uses one socket per client/node connection.
However, there may be more than one request between the same client and node
active at a time. Therefore the messages exchanged for these simultaneously
active requests have to be multiplexed through the same socket.
Furthermore, both parties, the server and the client can send data through the
socket connection at any time so they must always expect data to arrive
from the other party.

The request protocol works as follows:

* The first 64 bits of all message payloads contains the id of a request.
* Using this id, the client/node can look up the request to which a message is
  directed, and notify it that a message has arrived.
* If a message is received for a request id that does not exist, the message is
  simply discarded, with no effect.

Apart from the request id, the message payload is opaque data, at this level,
specified by the protocol for the specific request type that is sending the
message.

# Connection and Request Handling

Connection and request handling vary significantly between the client and node,
however there are many similarities. These are discussed in this section.

## Connections

One way to always expect and therefore be ready to handle incoming messages is
to separate the code for sending and receiving messages through the same socket.
This is done in `MessageReceiver` and `MessageSender`.
Both of which have the same principle of operation. They have:

* A message source, something which produces messages to be forwarded.
* A message sink, something where they forward the received messages to.
* An input queue from which they pop the messages which have been
  produced by the message source.
* A notification mechanism that there are now messages in the queue.
* A fiber which, in a loop, waits for the notification and then pops
  all messages from the queue and forwards it to the sink, one at a time.

For the message receiver:

* The message source is the socket.
* The message sink is a callback which passes the message on to the
  request it refers to (the delegate parameter of `MessageReceiver.receive`).
* The input queue is the socket input buffer.
* The notification mechanism is epoll.
* The fiber with the loop is `ConnectionBase.ReceiveLoop`.

For the message sender:

* The message sources are the requests.
* The message sink is the socket.
* The input queue is the queue of pending messages:
  `ConnectionBase.SendLoop.queue`.
* The notification mechanism is in
  `ConnectionBase.SendLoop.registerForSending`, which is called
  whenever a request wants to send a message.
* The fiber with the loop is `ConnectionBase.SendLoop`.

The `ConnectionBase` (`swarm.neo.connection.ConnectionBase`) combines
`MessageReceiver` and `MessageSender` in one class and provides the
basic functionality of one full-duplex node - client connection. It contains:

* The two fibers, one handling sending (using `MessageSender`) over the connection
  and one handling receiving (using `MessageReceiver`).
* The message dispatching logic that reads the request id from the message payload
  (the first 64 bits), looks up the appropriate request, and passes the
  remainder of the message payload to it.
* Then logic for registering the connection socket with epoll for I/O multiplexing.
  (A `ConnectionBase` object is an `ISelectClient`. See
  `ocean.io.select.client.model.ISelectClient`.)

Note that the read loop is always registered to epoll waiting for incoming messages
while the send loop usualy sends messages imediatly. The send loop only registeres
itself to epoll if the socket file descriptor is not ready for sending.

## Requests on Connections

A request can require access to any number of connections to send/receive over.
An instance of the `RequestOnConnBase` class
(`swarm.neo.connection.RequestOnConnBase`) denotes a unique combination of a
_request_ operating over a specific _connection_ (a request-on-connection),
providing the core functionality required for a request to transmit messages
over the connection . Requests on connections are commonly referred to as
"request-on-conns" or as "RoCs".

A request-on-conn has the following important components:

* A fiber that manages asynchronous I/O operations for the request on the
  connection.
* An event dispatcher (the nested class `EventDispatcher`) instance that
  provides the following functionality:
  - A method to suspend the RoC fiber and wait for one of a set of specified
    events. Events that can be waited on are:
    1. Receiving a payload for this request.
    2. Sending a payload.
    3. The fiber being resumed after it was yielded and an epoll event-loop
       cycle occurred.
    4. The fiber being resumed by user code with a non-negative code.
  - Helper methods encapsulating a few common use cases of waiting for an event:
    sending a payload, receiving a payload, receiving a payload containing a
    single value of the specified type.
  - A method to get the IP/port of the remote.
  - Methods to shut down the associated connection (for example, in case of a
    protocol error).
* A method to suspend the fiber. (Sometimes a request implementation needs to
  manually suspend and resume the RoC fiber based on events other than those
  managed by `RequestOnConnBase`.)
* A method to resume the fiber with either a numerical code or an exception.

# Client Overview

TODO topics to cover:
* Connection
* Connection set
* Request
* Request set
* Request handlers
* User notifiers

## Requests

TODO topics to cover:
* Request versioning
* Types of request
* Access to connections

# Node Overview

TODO topics to cover:
* Connection
* Connection set
* Request
* Request set
* Request handlers

## Requests

TODO topics to cover:
* Request versioning
* Types of request
* Access to connections

repository: sociomantic-tsunami/swarm

gha_language: D

repo_name: sociomantic-tsunami/swarm


text:
# Instructions to setup Development Environment locally

## Section 1: Installation

- Install appropriate Linux distro in your Laptop (Dumb box or Dabba). [Ubuntu](https://www.ubuntu.com/download/desktop) preferred.
  We are using [Ubuntu Bionic Beaver (18.04 / 64Bit)](https://wiki.ubuntu.com/BionicBeaver) for development.
- Install [Ruby and Ruby on Rails as per this guidelines](https://gorails.com/setup/ubuntu/18.04).
- Install [VirtualBox](https://www.virtualbox.org/wiki/Downloads).
  We are using version `5.2.18`.
- Install [Vagrant](https://www.vagrantup.com/downloads.html).
  We are using version `2.1.1`.

## Section 2: General Apps and Tools

- Source Control
  - [Git](https://git-scm.com/) and [GitHub](https://github.com)
- Editors
  - [Vim](https://www.vim.org/)
  - [Sublime Text](https://www.sublimetext.com/)
  - [RubyMine](https://www.jetbrains.com/ruby/)
- Virtualization
  - [VirtualBox](https://www.virtualbox.org)
  - [Vagrant](https://www.vagrantup.com)
- Language & Framework
  - [Ruby](https://www.ruby-lang.org)
  - [Ruby on Rails](https://rubyonrails.org/)

## Section 3: Get the project

- Fork the GitHub repo [`pareeksha-manch`](https://github.com/shikshaplus/pareeksha-manch)
- Clone your forked repo locally(in your laptop's terminal/shell/prompt) as
  ```bash
  git clone https://github.com/<your-username>/pareeksha-manch
  ```
- Add `upstream` remote as
  ```bash
  git remote add upstream https://github.com/shikshaplus/pareeksha-manch
  ```
  NOTE: This is used for getting latest changes later.
- Go inside the project as
  ```bash
  cd pareeksha-manch
  ```
- Setup your SSH keys for development
  ```bash
  cp ~/.ssh/id_rsa vm_provisioning/ssh/
  cp ~/.ssh/id_rsa.pub vm_provisioning/ssh/

  or

  cp ~/.ssh/some-private-key vm_provisioning/ssh/id_rsa
  cp ~/.ssh/some-public-key.pub vm_provisioning/ssh/id_rsa.pub
  ```
  NOTE: SSH Keys! Don't be afraid :smile:. These files are ignored by Git and will not be part of any commit changes.
- Install required Vagrant plugins
  ```bash
  vagrant plugin install vagrant-vbguest vagrant-triggers vagrant-reload
  ```
- Get started as
  ```bash
  vagrant up
  ```
- When you see below message at the end of above step, then only you are ready to start development :wink:
  ```bash
  Welcome to the Pareeksha Manch Project Development!
  ```
  Check my [`vagrant up` logs](https://gist.github.com/nisusam/49622102b7d4ea8661317fb311714e74).
- All The Best :thumbsup:. Happy Development!

repository: dharambir/pareeksha-manch

repo_name: dharambir/pareeksha-manch


text:
# [ARCHIVED] Microsoft Graph MeetingBot sample for UWP

## IMPORTANT

**This project is being archived. As part of the archival process, we're closing all open issues and pull requests.**

**You can continue to use this sample "as-is", but it won't be maintained moving forward. We apologize for any inconvenience.**

## Table of contents

* [Introduction](#introduction)
* [Prerequisites](#prerequisites)
* [Register and configure the app](#register)
* [Build and debug](#build)
* [Running the sample](#runningsample)
* [Questions and comments](#questions)
* [Additional resources](#additional-resources)

## Introduction

This sample demonstrates how to integrate Microsoft Graph capabilities into a UWP app that uses Cortana voice commands. Once you've installed it and signed in, you can activate it by asking Cortana to show the next meeting on your calendar and/or asking Cortana to tell the participants of your next meeting that you're running late.

It uses the [Microsoft Graph .NET Client Library](https://github.com/microsoftgraph/msgraph-sdk-dotnet) to work with data returned by Microsoft Graph. The sample uses the v2.0 authentication endpoint, which enables users to sign in with either their personal or work or school Microsoft accounts.

## Prerequisites

This sample requires the following:

* [Visual Studio](https://www.visualstudio.com/en-us/downloads)
* Windows 10 ([development mode enabled](https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx))
* Either a [Microsoft](www.outlook.com) or [Office 365 for business account](https://msdn.microsoft.com/en-us/office/office365/howto/setup-development-environment#bk_Office365Account).

## Register the app

1. Navigate to the [the Azure portal](https://aka.ms/AppRegistrations) to register your app. Login using a **personal account** (aka: Microsoft Account) or **Work or School Account**.

2. Select **New registration**. On the **Register an application** page, set the values as follows.

    * Set **Name** to `MeetingBot-Sample`.
    * Set **Supported account types** to **Accounts in any organizational directory and personal Microsoft accounts**.
    * Leave **Redirect URI** empty.
    * Choose **Register**.

3. On the **MeetingBot-Sample** page, copy the value of the **Application (client) ID**. You will need it later.

4. Select the **Add a Redirect URI** link. On the **Redirect URIs** page, locate the **Suggested Redirect URIs for public clients (mobile, desktop)** section. Select the URI that begins with `msal` **and** the **urn:ietf:wg:oauth:2.0:oob** URI.

5. Choose **Save** at the top of the page.

## Build and debug

**Note:** If you see any errors while installing packages during step 2, make sure the local path where you placed the solution is not too long/deep. Moving the solution closer to the root of your drive resolves this issue.

1. After you've loaded the solution in Visual Studio, configure the sample to use the application id that you registered by adding the corresponding values for these keys in the Application.Resources node of the App.xaml file.
![Microsoft Graph MeetingBot sample](/readme-images/appId_and_redirectURI.png "App ID value in App.xaml file")

2. Press F5 to build and debug. Run the solution and sign in with either your personal or work or school account.

## Running the sample

When you first run the sample, you'll be prompted to sign in with your [Microsoft](www.outlook.com) or [Office 365 for business account](https://msdn.microsoft.com/en-us/office/office365/howto/setup-development-environment#bk_Office365Account). After you've authenticated and consented to the required permissions, you won't have to sign in again unless you want to run the sample with another account.

If you want to sign out and then sign in with a different account, select the **disconnect**  button at the top right of the app and then select the **connect** button to its left.

After you've installed and run the app once, you can activate it at any time by issuing the following voice commands to Cortana:

1. "MeetingBot, show my next meeting."
2. "MeetingBot, tell my next meeting I'm going to be late."

If you've [enabled the "Hey Cortana" feature](https://www.cnet.com/how-to/how-to-enable-hey-cortana-on-windows-10/), you can activate the app at any time by issuing these voice commands to your device:

1. "Hey Cortana, ask MeetingBot to show my next meeting."
2. "Hey Cortana, ask MeetingBot to tell my next meeting I'm going to be late."

In both cases, the app will launch and display the title and time frame of your next meeting. If you ask MeetingBot to tell your next meeting that you're going to be late, the app will either confirm that it has sent a "running late" message to your next meeting's participants, or it will tell you that it couldn't find the meeting invitation in your account's mailbox.

![Microsoft Graph MeetingBot sample](/readme-images/MeetingBotLateMessage.png "MeetingBot after sending the running late message")

## Contributing

If you'd like to contribute to this sample, see [CONTRIBUTING.MD](/CONTRIBUTING.md).

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode<EMAIL_ADDRESS>with any additional questions or comments.

## Questions and comments

We'd love to get your feedback about the Microsoft Graph MeetingBot for UWP project. You can send your questions and suggestions to us in the [Issues](https://github.com/microsoftgraph/uwp-csharp-meetingbot-sample/issues) section of this repository.

Your feedback is important to us. Connect with us on [Stack Overflow](http://stackoverflow.com/questions/tagged/microsoftgraph). Tag your questions with [MicrosoftGraph].

## Additional resources

* [Other Microsoft Graph UWP samples](https://github.com/microsoftgraph?utf8=%E2%9C%93&query=uwp)
* [Microsoft Graph overview](http://graph.microsoft.io)
* [Office developer code samples](http://dev.office.com/code-samples)
* [Office dev center](http://dev.office.com/)

## Copyright
Copyright (c) 2016 Microsoft. All rights reserved.

gha_language: C#


text:
Advertising Native Extension for Adobe Air
=========

This Advertising ANE add supprt to using all major mobile system and popular adverting network with Adobe Air. Supports IOS, Android and Kindle.

Brought to you by the [Indiegogo Campaign](https://www.indiegogo.com/projects/universal-advertising-air-native-extension/x/4441429).

Thanks to our Backers.

* Michał Moczyński [link](https://www.indiegogo.com/individuals/8561839/x/4441429)
* Marcus Frasier [link](https://www.indiegogo.com/individuals/2120782/x/4441429)
* dwight.eppinger

##Support

This is an open source software. We welcome any contribution and you can send us feedback or features requests in the issues section. But we don't guarantee we can answer all your questions.

> Your kind donations will help us pause my daily job and put more serious effort into the development of this software for the future updates. Thanks.
>
>

If you need a dedicated support service for using this software, you can contact us at support[at]digicrafts.com.hk. We also provide software development services and you can contact us with email.

##Version History

1.1

64-bit support for IOS (Need AIR SDK 16+)
GooglePlay > 6.12.2
Amazon > ios 2.1.8 /android 5.4.235

1.0
First public release

##Highlighted Features

The Universal Advertising AIR native extension will include the following highlighted features:

* Supporting Android/IOS/Kindle
* Supporting major advertising network
* Banner and interstitial ads
* Auto orientation
* Setting priority of each advertising network
* Backfill ads with bitmap or external images
* Simple API and minimal coding needed.

##Supported Advertising Network

The current supporting network are list below:

* Google Mobile Ads (AdMob) (ios 6.12.2/newest google play services)
* iAd (IOS only/Compile with IOS SDK 8.1)
* MillennialMedia (ios 5.4.1/android 5.3.0)
* InMobi (ios 4.5.1/android 4.5.1)
* Amazon Mobile Ads (ios 2.1.8/android 5.4.235)
* Static backfill in house ads (via external images)
* Platform supporting via AdMob Mediation Networks

(In development)* AdColony (ios 2.4.13/android 2.1.3)
(In development)* Unity Ads (ios 1.3.10/android 1.3.10)

##Install the library

Add the Advertising-ANE library to your project.

In Flash Professional CS6:

  1. Create a new mobile project
  2. Choose File > PublishSettings...
  3. Select the wrench icon next to 'Script' for 'ActionScriptSettings'
  4. Select the Library Path tab.
  5. Click 'Browse for Native Extension(ANE) File' and select the Mopub.ane file.

In Flash Builder 4.6:

  1. Goto Project Properties
  2. Select Native Extensions under Actionscript Build Path
  3. Choose Add ANE... and navigate to the Mopub.ane file
  4. Select Actionscript Build Packaging > Google Android or Apple IOS
  5. Select the Native Extensions tab, and click the 'Package' check box next to the extension

In Flash Professional CS5.5 or Lower:

  1. Select File>PublishSettings>Flash>ActionScript 3.0 Settings
  2. Select External Library Path
  3. Click Browseto SWC File
  4. Select the Mopub.swc

In Flash Builder 4.5:

  1. Goto Project Properties
  2. Select Action Script Build Path
  3. Select Add Swc
  4. Navigate to Mopub.swc and choose External Library type

In FlashDevelop:

  1. Copy the Mopub.swc file to your project folder.
  2. In the explorer panel, right click the .swc and select Add to Library.
  3. Right-click the swc file in the explorer, choose Options, and select External Library

##Add the Actionscript

Import the library

```javascript
import digicrafts.extensions.Advertising;
import digicrafts.extensions.core.AdSettings;
import digicrafts.extensions.data.*;
import digicrafts.extensions.adapter.*;
import digicrafts.extensions.events.*;
```

Create a settings object. And add the adapter for different network.

```javascript
// Create a setting instance for the banner
var settings:AdSettings= new AdSettings();

// Manual create adapter
// AdMob
var adMob:AdMobAdapter=new AdMobAdapter('AD-UNIT-ID');
// Amazon
var amazon:AmazonAdapter=new AmazonAdapter('APP_ID');
// iAd
var iAd:IAdAdapter=new IAdAdapter();
// Backfill
// * Remember to include banner images when you packaging the app
var backfill:BackFillAdapter=new BackFillAdapter('http://www.google.com');
backfill.interstitial="BANNER.png";
backfill.banner="BANNER.png";
backfill.full_banner="FULL_BANNER.png";
backfill.leaderboard="LEADERBOARD.png";
backfill.medium_rectangle="MEDIUM_RECTANGLE.png";

// Add the adapter to the settings
settings.add(adMob,2);
settings.add(amazon,1);
settings.add(iAd,3);
settings.add(backfill,4);
```

If you want to load test ads, you can set the testMode property.

```javascript
  Advertising.testMode=true;
```

Create a banner and load. Supply an unique name and size for each banner.

```javascript
  Advertising.getBanner('BANNER_1',AdSize.BANNER,settings);
```

You can also show the banner immediately. Supply the position and refresh rate.

```javascript
  Advertising.getBanner('BANNER_1',AdSize.BANNER,settings).show(AdPosition.BOTTOM,30);
```

Supported positions.

* AdPosition.BOTTOM
* AdPosition.BOTTOM_LEFT
* AdPosition.BOTTOM_RIGHT
* AdPosition.TOP
* AdPosition.TOP_LEFT
* AdPosition.TOP_RIGHT
* AdPosition.CENTER

Remove the banner from screen.

```javascript
  Advertising.getBanner('BANNER_1').remove();
```

Create an interstitial and load.

```javascript
  Advertising.getInterstitial('INTERSTITIAL_1',AdSize.BANNER,settings);
```

Show the Interstitial Ad. Supply the frequency to appear. Also, you can specify the max count to show.

```javascript
  Advertising.getInterstitial('INTERSTITIAL_1').show(3,2);
```

You can listen to the event by adding a listener to the Advertising instance.

```javascript
function handleAdEvent(e:AdEvent):void{

 // e.data contains the raw event data

 // e.ad contains the ad instance for the event

}
Advertising.getInstance().addEventListener(AdEvent.AD_LOADED, handleAdEvent );
```

Supported events.

- *AdEvent.AD_LOADED*
    -Event type for ad loaded.
- *AdEvent.AD_WILL_PRESENT*
    -Event type for ad will going to show on screen.
- *AdEvent.AD_DID_PRESENT*
    -Event type for ad did show on screen.
- *AdEvent.AD_WILL_DISMISS*
    -Event type for ad will remove from screen.
- *AdEvent.AD_DID_DISMISS*
    -Event type for ad did remove from screen.
- *AdEvent.AD_FAILED_TO_LOAD*
    -Event type for ad did fail to load.
- *AdEvent.WILL_LEAVE_APPLICATION*
    -Event type for ad did fail to load.

##Setup for Android

> *Important Notice:* Since the current AIR SDK (<15.0) use an old version build tools and it is not compatialbe
> with the recent Google Play Service library. It lead to a class missing exception when using AdMob adapter.
> To fix, copy the dx.jar from the new Android SDK to the AIR SDK.

Update Your Application Descriptor

You'll need to be using the AIR 14.0 SDK or higher, include the extension in your Application Descriptor XML, and update the Android Manifest Additions with some settings.

Add the following settings in <application> tag.

```xml
<!-- Google Play -->
<meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version"/>
<activity android:name="com.google.android.gms.ads.AdActivity"
    android:theme="@android:style/Theme.Translucent"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

<!-- Amazon Mobile Ads -->
<activity android:name="com.amazon.device.ads.AdActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"/>

<!-- Millennial Media -->
<activity android:name="com.millennialmedia.android.MMActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="keyboardHidden|orientation|keyboard|screenSize" ></activity>

<!-- InMobi -->
<activity android:name="com.inmobi.androidsdk.IMBrowserActivity"
    android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:hardwareAccelerated="true" />
```
Add the following basic permissions.

```xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```

Add the following permission if you want video interstitial supported (millennialmedia).

```xml
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.microphone" android:required="false" />
```

Add the following permission if you want the ad target location.

```xml
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
```

##Developer

The software is developed by Digicrafts.

http://www.facebook.com/DigicraftsComponents

http://www.digicrafts.com.hk/components

##License

This project is licensed under the BSD license [link](https://github.com/digicrafts/Advertising-ANE/blob/master/LICENSE)


text:
# prestashop-gulp

[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)

> Gulp config to compile sass, js and to deploy for Prestashop project.

> Allow to edit files with an automatic browser reloading, it uses LibSass, BrowserSync.

## Install

```sh
git clone
npm install
```
or
```sh
git clone
yarn
```

Change information for deploy task in gulpfile.js with your ftp host, user and password

## Usage

Watch for change in your sass, js, tpl :
```sh
gulp
```

For a FTP update :
```sh
gulp deploy
```

## License

MIT © Kevin Hoste

repository: Code-NHDesign/prestashop-gulp

repo_name: Code-NHDesign/prestashop-gulp


text:
# Image-to-Ascii
A python script that transforms an image into ASCII art.

## Usage:
This project is powered by Pillow so first thing you need to do is to install Pillow using:

```
$ pip install Pillow
```
To use the script write the following command in your terminal:
```
$ python3 img-to-ascii.py imagepath
```

### Example:
```
$ python3 img-to-ascii.py picture.jpeg
```

The script will create a file called "picture.txt" in the path of the script. After running the command in terminal you can find the ASCII art version of your photo in that file.

## Built with:
* [Pillow](https://github.com/python-pillow/Pillow)

repository: AndreiVataselu/Image-to-Ascii

gha_language: Python

repo_name: AndreiVataselu/Image-to-Ascii


text:
# Infrastructure Management: Cluster Management

___

[The Prism Home Dashboard](https://youtu.be/TML9BUE15xs)

### Four Common Operational Areas

1. Infrastructure Management
2. Operational Insight
3. Capacity Planning
4. Performance Monitoring

### The Prism Home Dashboard

Infrastructure management refers to cluster management, upgrades, storage management, virtual machine management, networking, data protection, entity management, user management, localization, and a handful of other key features.

Cluster management refers the overall view of your entire cluster that you see on the Prism home screen.

The Home dashboard is a summary overview of your Nutanix cluster:

* A count of blocks and hosts with model numbers
* A summary of storage
* VMs
* Hardware
* Cluster-wide controller IOPS
* Latency
* CPU usage
* Memory usage
* Alerts and events

path: /2.9 Infrastructure Management Cluster Management.md


text:
# Contributing to C-3PO

Contributions to C-3PO will always be welcome and appreciated. You may contribute in several ways like:

- Fetching more data for a use case you'd like to see
- Fixing bugs
- Writing Tests
- Improving documentation and examples

## Table of contents

- Contributing to C-3PO
  - [Developing C-3PO](#developing-c-3po)
  - [Reporting a bug](#reporting-a-bug)
  - [Requesting a feature](#requesting-a-feature)
  - [Commit messages](#commit-messages)

## Developing C-3PO

Detailed instructions to be added soon.

## Reporting a bug

Use the [GitHub issue tracker](https://github.com/lttkgp/C-3PO/issues) to report any bug you find.
Bugs description should include:

- How to reproduce the bug;
- Easy to understand title;

Would be nice to have some code showing how to reproduce the code, you may use [gist](https://gist.github.com) or [Codepen](https://codepen.io) for uploading your example code.

## Requesting a feature

Use the [GitHub issue tracker](https://github.com/lttkgp/C-3PO/issues) to request a new feature.

## Commit messages

There are seven simple rules for a great git commit message.

- Limit the subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
  If the subject isn't sufficient to explain the intent of the commit, then use a body.
- Separate subject from body with a blank line
- Wrap the body at 72 characters
- Use the body to explain what and why vs. how


text:
---
layout: post
title: Upgrading My Wife's Laptop Hard Drive to an SSD
tags: [diy, technology]
keywords: [ssd, solid state drive, laptop]
image: /images/covers/youtube/upgrading-a-laptop-to-an-ssd.png
---

Just a quick video of me replacing the old hard drive in my wife's laptop with a new solid state drive, or SSD:

{% include youtube.html param="3Xq-B7iawPM" %}

She'd been complaining about her laptop being slow, and looking at the task manager, it seems that her hard drive was the culprit.

So I upgraded her to a [Samsung 870 QVO SATA III 2.5" SSD 1T](https://www.amazon.com/gp/product/B089C73T72/?tag=hendrixjoseph-20).

I cloned it by connecting it to a USB port with this [USB 3.0 SATA III Hard Drive Adapter Cable](https://www.amazon.com/gp/product/B07S9CKV7X/?tag=hendrixjoseph-20) and used [Samsung's Data Migration tool](https://www.samsung.com/semiconductor/minisite/ssd/download/tools/#ge_semi_anchor_stand2). It took an hour and a half to two hours to clone.

gha_language: HTML


text:
## User Requirement
1. User could belong to hasMany Access Group [Administration, Faculty]
2. User could have multiple ad-hock access, such as An user belongs to Faculty Group but we want to give some specific
administrative access, so that User could have hasMany Access List.

## User Access Group
1. User Access Group basically represent Unit of Access list, such as **Administrator**
can belong to all of access, But the **Faculty** not belong to whole access.
2. We can create Access Group with Access List
3. If anyone specify the group is belong to ALL_ACCESS then not need to specify any other access specifically
4. if Any Access group deleted or inActive then that group user's not able to access anything
5. There will be some pre defined Access Group [Administrator, Manager, Staff]
6. Assign as Add-hock Access Mean, The user all permission will assign specifically and we can the revoke
some access manually.
7. Revoke Add-hock Access: Revoke all Add-hock access from that user Automatically
8. User Access Group will have hasMany or hasOne User

## User Access List
1. Hold the all end point name, suppose to [User, Access Group]
2. We can assign access directly from user and using Access Group
3. If we set ALL_ACCESS into a end point then all action will allowed for them
4. Access List HasMany Access Action which specify individual action [create, edit, list]

## Story
1. First you have to create User with appropriate information
2. After created account Administrator can assign Access Group or Access from List by clicking on separate button
3. After Access group assigned we can add remove Access Ad-hock basis.

repository: hmtmcse/grails-auth

repo_name: hmtmcse/grails-auth


text:
---
aliases:
- /2009/06/14/the-platypus-synthesis-history-theory-and-practice
title: The Platypus Synthesis
subtitle: History, Theory, and Practice
date: 2009-06-14
media-type:
- audio
tags:
- Platypus International Convention
- Platypus International Convention 2009
- History
- Platypus
- Platypus Affiliated Society
- Practice
- Theory
speakers:
- Chris Cutrone
- Ian Morrison
- Richard Rubin
---

_At the 1st annual international convention of the Platypus Affiliated Society, in Chicago, June 12-14, 2009, the concluding plenary event, a discussion on Platypus's theoretical stance, its raison d'etre, and where the project will be going. Audience question-and-answer discussion follows. Held on June 14, 2009 at the School of the Art Institute of Chicago._

## Audio Recording

{{% audio type="mpeg" src="https://archive.org/download/ThePlatypusSynthesisHistoryTheoryAndPractice61409/platypus_synthesis061409.mp3" %}}

A transcript can be found [here](/about/platypus-synthesis/)

## Panelists

[Richard Rubin](/speakers/richard-rubin) speaks on "Four Types of Ambiguity"

[Chris Cutrone](/speakers/chris-cutrone) speaks on "History, Theory;"

[Ian Morrison](/speakers/ian-morrison) speaks on "What is to be Done?"


text:
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

---
title: Changing Data Store
---

Changing Storage Setup
===================

PredictionIO relies on a data store to store its metadata. At the moment, PredictionIO's storage layer supports [Elasticsearch](http://www.elasticsearch.org/). Make sure you have it running and functioning properly on your computer.

1. If you are using Elasticsearch at the localhost and its default settings, you may stop here.

2. Otherwise, change the following in `conf/pio-env.sh` to fit your setup.

   ```
   PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
   PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
   PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9300
   ```
<!--
   If you use MongoDB, add and modify the following to fit your setup.

   ```
   PIO_STORAGE_SOURCES_MONGODB_TYPE=mongodb
   PIO_STORAGE_SOURCES_MONGODB_HOSTS=localhost
   PIO_STORAGE_SOURCES_MONGODB_PORTS=27017
   ```

3. The following points the storage repositories to their respective backend
   data sources.

branch_name: refs/heads/develop-elasticsearch


text:
# JVMailStress

JVMailStress is a smtp stress tool with UI supported, designed to test your email server for stress.

This tool send e-mail by randomly selecting sender, recipient, subject, attachment, and content.

Features
--------
  - GUI using (Windows native supported)
  - Works in Background
  - Uses as many workers
  - All outputs are visible in the gui interface
  - Setable connection, write and standart timeouts
  - More than one sender, recipient, subject, content and attachment randomly combination
  - Shows the smtp processing time
  - Garbage collection supported

Supported OS
------------
  - Windows
  - Linux
  - Mac OS X

Preperation (Step by step)
--------------------------
 - Download and install netbeans from https://netbeans.org
 - Import project and run menu / "clean and build project"
 - Go to folder [Project Folder]/target
 - JVMailStress-1.0-SNAPSHOT.jar files and dependency folder copy to another location or folder
 - Rename dependency folder name to lib
 - Double click or "java -jar JVMailStress-1.0-SNAPSHOT.jar"

Usage (Step by step)
--------------------

![ScreenShot](/screenshot.png)

 - Enter the SMTP Server and SMTP port (integer) values
 - Select content folder (Only text and html content supported) and attachment folder (all files supported)
 - Enter the One or Multiple (line by line) Envelope Sender and Recipients (rfc822 only)
 - Set the Thread (multiple worker count) and Process (process count per thread) integer values
 - Set the timeout milisecond value
 - Enter the One or Multiple (line by line) Subject (utf8 only)
 - Click to start button and enjoy..

License
-------

GNU


text:
<!-- DO NOT EDIT THIS FILE! -->
<!-- Instead edit recipe/common.php -->
<!-- Then run bin/docgen -->

# common

[Source](/recipe/common.php)

* Require
  * [`recipe/deploy/check_remote.php`](/docs/recipe/deploy/check_remote.md)
  * [`recipe/deploy/cleanup.php`](/docs/recipe/deploy/cleanup.md)
  * [`recipe/deploy/clear_paths.php`](/docs/recipe/deploy/clear_paths.md)
  * [`recipe/deploy/copy_dirs.php`](/docs/recipe/deploy/copy_dirs.md)
  * [`recipe/deploy/info.php`](/docs/recipe/deploy/info.md)
  * [`recipe/deploy/lock.php`](/docs/recipe/deploy/lock.md)
  * [`recipe/deploy/release.php`](/docs/recipe/deploy/release.md)
  * [`recipe/deploy/rollback.php`](/docs/recipe/deploy/rollback.md)
  * [`recipe/deploy/setup.php`](/docs/recipe/deploy/setup.md)
  * [`recipe/deploy/shared.php`](/docs/recipe/deploy/shared.md)
  * [`recipe/deploy/symlink.php`](/docs/recipe/deploy/symlink.md)
  * [`recipe/deploy/update_code.php`](/docs/recipe/deploy/update_code.md)
  * [`recipe/deploy/vendors.php`](/docs/recipe/deploy/vendors.md)
  * [`recipe/deploy/writable.php`](/docs/recipe/deploy/writable.md)
  * [`recipe/provision/provision.php`](/docs/recipe/provision/provision.md)
* Config
  * [`user`](#user)
  * [`keep_releases`](#keep_releases)
  * [`repository`](#repository)
  * [`shared_dirs`](#shared_dirs)
  * [`shared_files`](#shared_files)
  * [`copy_dirs`](#copy_dirs)
  * [`clear_paths`](#clear_paths)
  * [`clear_use_sudo`](#clear_use_sudo)
  * [`cleanup_use_sudo`](#cleanup_use_sudo)
  * [`use_relative_symlink`](#use_relative_symlink)
  * [`use_atomic_symlink`](#use_atomic_symlink)
  * [`env`](#env)
  * [`current_path`](#current_path)
  * [`sudo_askpass`](#sudo_askpass)
* Tasks
  * [`deploy:prepare`](#deployprepare)
  * [`deploy:publish`](#deploypublish)
  * [`deploy:success`](#deploysuccess)
  * [`deploy:failed`](#deployfailed)
  * [`logs`](#logs) — Follow latest application logs.

## Config
### user
[Source](/recipe/common.php#L29)

### keep_releases
[Source](/recipe/common.php#L49)

### repository
[Source](/recipe/common.php#L51)

### shared_dirs
[Source](/recipe/common.php#L53)

### shared_files
[Source](/recipe/common.php#L54)

### copy_dirs
[Source](/recipe/common.php#L56)

### clear_paths
[Source](/recipe/common.php#L58)

### clear_use_sudo
[Source](/recipe/common.php#L59)

### cleanup_use_sudo
[Source](/recipe/common.php#L61)

### use_relative_symlink
[Source](/recipe/common.php#L63)

### use_atomic_symlink
[Source](/recipe/common.php#L66)

### env
[Source](/recipe/common.php#L70)

### current_path
[Source](/recipe/common.php#L75)

Return current release path.

### sudo_askpass
[Source](/recipe/common.php#L99)

Path to a file which will store temp script with sudo password.
Defaults to `.dep/sudo_pass`. This script is only temporary and will be deleted after
sudo command executed.

## Tasks
### deploy:prepare
[Source](/recipe/common.php#L115)

This task is group task which contains next tasks:
* [`deploy:info`](/docs/recipe/deploy/info.md#deployinfo)
* [`deploy:setup`](/docs/recipe/deploy/setup.md#deploysetup)
* [`deploy:lock`](/docs/recipe/deploy/lock.md#deploylock)
* [`deploy:release`](/docs/recipe/deploy/release.md#deployrelease)
* [`deploy:update_code`](/docs/recipe/deploy/update_code.md#deployupdate_code)
* [`deploy:shared`](/docs/recipe/deploy/shared.md#deployshared)
* [`deploy:writable`](/docs/recipe/deploy/writable.md#deploywritable)

### deploy:publish
[Source](/recipe/common.php#L125)

This task is group task which contains next tasks:
* [`deploy:symlink`](/docs/recipe/deploy/symlink.md#deploysymlink)
* [`deploy:unlock`](/docs/recipe/deploy/lock.md#deployunlock)
* [`deploy:cleanup`](/docs/recipe/deploy/cleanup.md#deploycleanup)
* [`deploy:success`](/docs/recipe/common.md#deploysuccess)

### deploy:success
[Source](/recipe/common.php#L135)

Success message

### deploy:failed
[Source](/recipe/common.php#L145)

Deploy failure

### logs
[Source](/recipe/common.php#L154)

Follow latest application logs.

repository: joker-hong/deployer

repo_name: joker-hong/deployer


text:
# Sublime Text 3 SSH Forwarding Plug-In

This is a simple SSH Plug-In for Sublime Text 3 that allows the user to edit remote SSH files straight from Sublime Text 3.
It support editing of mutiple files from even mutiple servers.

Please note that this Plug-In only supports Linux machines at the moment

## Installation
Before you install this Plug-In you will require the following tools for your Linux Distribtuion :
```
ssh
sshpass
```

Once the necessary tools/packages have been installed, you may go ahead and clone this repository into your Sublime Packages Directory.

## Usage

Using this Plug-In is fairly simple, for a full list of commands see the command section below.

Start out by creating a SSH Interface. This can be done using <b> ALT + SHIFT + A </b>

Sublime will the open an input panel below, this is where your SSH address and password comes in.

The syntax follows:
```
user@host password
```

Note that the passoword is <b> not hashed </b>! Set up the client with privacy!

Once you've set up your client, you may proceed opening a file by entering <b> ALT + SHIFT + O </b>

You'll be prompted with another input panel, this one will store the remote file you want to edit
If you've entered everything correctly, you'll be greeted with the file.

After editing the file you may save your changes by pressing <b> ALT + SHIFT + S </b>

If everything went right, the file will be updated successfully.

## Commands
To be done...

repository: CTXz/SublimeSSH

repo_name: CTXz/SublimeSSH


text:
---
title: Double tilde makes undefined or null to zero
date: "2017-09-20T18:10:57-04:00"
tags:
  - javascript
  - bit manipulation
---

```js
~~undefined;
//=> 0

~~null;
//=> 0
```

### Side note

It's pretty useful for creating a Hashmap, since it doesn't change an integer except changing undefined to 0.

```js
let hash = {};

for (let item of things) hash[item] = ~~hash[item] + 1;

//=> { 'a': 1, 'b': 2, ... }
```

repository: neilitalia/blog-fork

repo_name: neilitalia/blog-fork


text:
# FGFileApi

API for Future Gateway file management.

## Methods

### `public func download(_ downloadableFile: FGDownloadableFile, to destination: URL, _ callback: @escaping FGDownloadPayloadResponseCallback)`

Downloads file from API to mobile device.

#### Parameters

* `downloadableFile` - interface for file to download, it can be a `FGInputFile` or a `FGOutputFile`
* `destination` - path to which the file will be downloaded
* `callback` - result callback of the method

### `public func upload(_ inputFile: FGInputFile, to uploadLink: FGApiLink, from source: URL, _ callback: @escaping FGUploadPayloadResponseCallback)`

Uploads a file from mobile device to API.

#### Parameters

* `inputFile` - `FGInputFile` object with filename
* `uploadLink` - link to which the file will be uploaded
* `source` - path from which the file will be uploaded
* `callback` - result callback of the method

repository: raccinf/omt-ios

repo_name: raccinf/omt-ios


text:
[![Build Status](https://travis-ci.org/bigfix/trask.svg?branch=master)](https://travis-ci.org/bigfix/trask)

An IBM Endpoint Manager Proxy Agent plugin to simulate clients

# Features
- Generate device reports
  - Computer name
  - Operating system

# Usage
## Prerequisites
- [python-3.x](https://www.python.org/downloads/)

## Environment
- Windows Server
  - IBM Endpoint Manager 9.1.1117.0 - Proxy Agent

## Setup
Tested on `bolivar` a Windows Server 2012 environment:
- IBM Endpoint Manager 9.1.1117.0 - Proxy Agent
- python-3.3.5.amd64

On `bolivar`:

```bash
$ net stop BESProxyAgent
$ cd {Management Extender root folder}
$ mkdir Plugins
$ cd Plugins
$ git clone git@github.com:bigfix/trask.git
$ net start BESProxyAgent
```

`{Management Extender root folder}` by default is `C:\Program Files (x86)\BigFix Enterprise\Management Extender`. Adjust the [`settings.json`](settings.json) if your Proxy Agent was installed elsewhere.

## Configure
### Device reports
Device reports can be configured via the `--device-config` option. To utilize this option, the [`settings.json`](settings.json) must be edited to include the option in the `ExecutablePath`. The `--device-config` option takes a JSON file with the following specifications:
- keys correlate to device report attributes (ex: `operating system`).
- values must be a list of choice objects
.  - choice objects have a mandatory key, `value`, and optional key, `weight`. By default, the `weight` is 1.

For example, this configuration file, [`sentinel.json`](sentinel.json) has two equal likelihood choices for the `operating system` attribute:

```json
{
  "operating system": [{"value": {"name": "bolivar trask",
                                  "version": "1965.11.10"},
                        "weight": 1},
                       {"value": {"name": "moira kinross",
                                  "version": "1975.12.10"},
                        "weight": 1}]
}
```

### Command results
Command results can be configured via the `--result-config` option. Like the configuration for device reports, the [`settings.json`](settings.json) must be edited to include the option in the `ExecutablePath`. This configuration also takes a JSON file with the following specifications:
- keys correlate to commands (ex: `locate`).
- values must be a list of choice objects
.  - choice objects have a mandatory key, `value`, and optional key, `weight`. By default, the `weight` is 1. The value must either be "Completed", "Failed", or "Error".

For example, this configuration file, [`result.json`](result.json) has two equal likelihood choices for the `locate` command and one result for any other commands:

```json
{
  "locate": [{"value": "Completed",
              "weight": 1},
             {"value": "Failed",
              "weight": 1},
             {"value": "Error",
              "weight": 1}],

  "default": [{"value": "Completed",
               "weight": 1}]
}
```

# Develop
## Prerequisites
- [nose](https://nose.readthedocs.org/en/latest/)
- [vagrant](http://www.vagrantup.com/downloads.html)

## Tests
To run the tests, run any of the following (or execute a test file directly):

```bash
$ python -m unittest discover
```

```bash
$ python test/test_Sentinel.py
```

```bash
$ nosetests
```

Tests can also be built using `vagrant`. To run tests in this way, run the following:

### Linux & Mac
```bash
$ make test
```

### Windows
```bat
> make.bat test
```

# Support
Any issues or questions regarding this software should be filed via [GitHub issues](https://github.com/bigfix/trask/issues).

repository: nagyistge/trask

repo_name: nagyistge/trask


text:
# Linux basics

## Legend
* **definition** - some important term or concept
* `command` - some important tool you need to know of
* `~/.filename` - some file you may know of (always path included)

To use `command` just run it. To locate it `which command`. To read manual (if avaialbe) `man command`. To find possible related documents about either definition/`command` try `apropos X`.

## Definitions
* `config file` - if you want your setup to persist on each boot
* `session` - if you want several typical layouts for quick switch and handful interaction.

## System toolbox
* `info` - what is it?
* `man` - manual page database
* `apropos name` - search for available man pages
* `~/.inputrc` - used by GNU readline library for advanced command line editing using keybindings, cursor movements, history, etc. The library is used by many common CLI tools: bash, more, etc.
* `watch` - run program repeatedly

## Tasks
* `cron` - etc/cron.daily, @daily root command, https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

## Graphics/X11
* `~/.xinitrc`
* `~/.Xresources`

## Shell
* `interactive shell` - receive *user* commands, process it and gives the result.
* `system shell` - used silently to run system scripts where interaction with the user may not the case.
* `sh` - POSIX standard scripting language. Bash, zsh, dash, etc trying to suuport/comply to this standard. That simply means they can interpret .sh scripts.
* `in-band signaling` - shell uses inband signaling for both printing characters, change colors, move cursor, etc. The only shell make sense what to show and what to interpret as control signal.
* `escape characters` - ... See https://en.wikipedia.org/wiki/ANSI_escape_code
* `terminal capabilities`
    * list current capabilities `infocmp -c`
* `termcap database`
    * readme `man terminfo`
    * list available `find /usr/share/terminfo -type f`
    * set (do not recommend) `export TERM = st-256colors`
* `fc` (fix command) - list/edit last typed command using `$VISUAL`/`$EDITOR`
* `tty` - print current TTY you attached to
* `stty -a` - look at the TTY device attached and show settings refer to UART parameters, some affect the line discipline and some are for job control all mixed up together
* `stty -F /dev/tty2 rows 5` - set terminal height to 5 lines
* `tput` - query capabilities of current terminal `$TERM` or reset/init it or query capabilities from terminfo database
* `shopt` - a shell builtin command to set and unset (remove) various Bash shell options
* shell colors - ... Good brief on "Basic Color Terms: Their Universality and Evolution": https://stackoverflow.com/questions/4842424/list-of-ansi-color-escape-sequences#33206814. Good excerpt on Color partitioning (or how 256 posible terminal colors are formed and partitioned into groups): https://stackoverflow.com/questions/27159322/rgb-values-of-the-colors-in-the-ansi-extended-colors-index-17-255

### Shell history
Thomson shell -> PWB shell -> Borne shell (sh). Next see:

![shell history tree](https://www.ibm.com/developerworks/library/l-linux-shells/figure1.gif)

* Notes. <br>
`ksh, et al` takes best of `csh` and `bash`. `csh` is not recommended to use at all. `bash` is de-facto standard among Linux distributions. `zsh` is mainstream for "full-fledged" shell, the same with `fish` but it kinda more "underground". `mksh` is a default on Android. The performance is going as follows: `dash`, `mksh`, `zsh`, ... `bash`. Want to stay safe, minimal and authentic - go with `bash`.

### How shell works
* Good explanation on boot sequence and environment variables here: https://wiki.debian.org/EnvironmentVariables#Using_text_console
![shell boot process](https://www.ibm.com/developerworks/aix/library/au-getstartedbash/login2.gif)

## Unix history
Unix system created at AT&T Bell Labs. Written in C. It is "Self-contained" system. Lincences were sold to commercial companies IBM (AIX), Apple (OS X), HP (HP-UX), etc. Now is under jurisdiction of (maintained by) The Open Group. It's still alive (Solaris).

* `self-contained system` - system which has all the environment: compilers, debugers, documentations, etc.

Then, BSD appeared to substitute all the legal restrictions. Designed under Berkley University. It also self-contained. It has many descendants: RHEL, FreeBSD, OpenBSD. They are not "Unix" systems but "Unix-like". To use word Unix you should pay a fees, etc to Open Group.

* `unix-like system` - definition

Finally, Linux appeared to put all dots on i as separate project. It's a kernel *only*. Self-contained systems are *distributions* in this context which are Ubuntu, Debian, etc..

POSIX appeared?
* `POSIX` - defines set of fundamental abstractions and organization needed for efficient construction of apps which can interoperate between different "flavours" of Unix/Unix-like systems. See https://stackoverflow.com/questions/1780599/i-never-really-understood-what-is-posix#31865755.
* `POSIX-compliant` - program or operating system that follows that standard.

![unix history tree](https://qph.fs.quoracdn.net/main-qimg-b2f5ed77ec03ade04f922cb32ea0ce6a)

## Man pages
* `Man pages` - manual pages about the program
    * `nroff -man mymanpage.1 | less` to read

## Networking
Communication with other system is separate part of any system (including human; remember hands, tongue?).
* `protocol` - the most important part is protocols: connectionless/connection-oriented (3-way handshake)
* **iproute2** package (`ip`, `ss`, `tc`, etc) replaces/supress **net-tools** (`ifconfig`, `arp`, `routes`, `netstat`, `iptunnel`, etc) for _wire_ interfaces.
*  **iw** package (`iw`) replaces/supress **wireless-tools** (`iwconfig`, `iwlist`, `iwspy`, etc) for _wireless_ interfaces.
* Nowdays, use `ip`, `iw`, `ss` etc VS `ifconfig`, `iwconfig`, `netstat` etc accordingly. See: https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/
* `ip`, `iw` and alike are low-level tools to manipulate interfaces without saving changes. Most Linux based distributions use `/etc/network/interfaces` to save changes persistently and checked by `ifup` during the boot. This file is like an aggregator for invoking other net tools where each one is responsible for particular interface/option.
* **Wcid** and **NetworkManager** are more user-friendly "front ends" for networking in "all-in-one" manner (for both wire and wireless). However, they may also depend on other packages listed above which considered more "low-level" like. If you affect an interface within `/etc/network/interfaces` they stop managing that interfaces in order not to interfere with other tools (let's say, manual mode).
- `ss -lntp` - show listening ports

## Service Management
- `service name comand`, `/etc/init.d/name comand`, `systemctl name comand` - the last one is what you supposed to use (systemd), everything else is deprecated and keeped to support System V-like service managment
- `sv name comand` - runit-way of managing services

## Typical parts of Unix-like OS
* Kernel
* Shell
* FS
* Development environment
* Commands
* Documentation

## Device Tree
What is it?
- FEX (Allwinner) -> Device Tree -> DT overlay (current way of decribing hardware). r1 = ATAGs is depreceted, r2 = Machine ID is deprecated, r3 = DT blob is current standard to run Linux.
- `dtc` - device tree compiler
- `.dts`, `.dtb`, `.dti` - device tree source, blob, include file

repository: timfayz/linux-notes

repo_name: timfayz/linux-notes


text:
# blendPBRTv3 - PBRTv3 Blender Exporter Plugin

A simple and minimal exporter for Blender 2.79 for PBRTv3.

Installation guide: [InstallBlenderExporterOnly](InstallBlenderExporterOnly)

![](https://dl.jstudios.ovh/2018/08/interfacelarge.jpg)

## Compatibility

Tested on Ubuntu Linux 18.04 and Blender 2.79.

## Known issues

* You __must__ save your blend project before rendering. This is due to a bug in the Blender OBJ exporter attempting to update the mouse cursor during rendering.
* Camera FOV calculations are not precise in the exporter scene. You'll need some experimentation.
* Material names that include spaces and other special characters may not work. It is recommended to use material names with only standard letters.

## PBRT example scenes

### plankgrid

![](https://dl.jstudios.ovh/2018/08/plankgrid4096.jpg)

Download: [https://dl.jstudios.ovh/2018/07/plankgrid.tgz](https://dl.jstudios.ovh/2018/07/plankgrid.tgz)

## Notes

In Blender, you can set the `PBRT binaries directory`, which should point point to the directory that contains the `pbrt` and `obj2pbrt` executables. The user-set directory overrides any internal variables and included PBRT distributions.

The exporter is also able to use `pbrt` if it is present in the `PATH`.

## Exporter supported features

### General features

* Film resolution and resolution scale
* Perspective camera
* UV-mapped image textures
* Standard 3D mesh

![](https://dl.jstudios.ovh/2018/08/render1.jpg)

![](https://dl.jstudios.ovh/2018/08/render2.jpg)

### Materials

Almost all configurable channels in materials can be assigned an image texture instead. When an image texture is linked, the constant value is overridden.

* Matte - Diffuse
* Emission - Emission
* Plastic - Diffuse, Specular
* Glass - Transmission, Reflectivity, IOR, U Roughness, V Roughness
* Mirror - Reflectivity
* Mix - We signal errors in Mix configuration by rendering a purple material. Try to re-choose the mixed sub-materials. It can solve the issue as the plugin listens for `update` events.

![](https://dl.jstudios.ovh/2018/08/mat1.jpg)

![](https://dl.jstudios.ovh/2018/08/mat2.jpg)

![](https://dl.jstudios.ovh/2018/08/mat3.jpg)

![](https://dl.jstudios.ovh/2018/08/mat4.jpg)

![](https://dl.jstudios.ovh/2018/08/mat5.jpg)

### Environment

Environment lighting is supported as a constant color or a light probe image in .PNG or .EXR formats. The light probe image values are multiplied by both the magnitude and the fixed color, so make sure both are non-black.

![](https://dl.jstudios.ovh/2018/08/env.jpg)

### Integrators

* Path
* DRC (Requires a modified version of PBRTv3)
* Bidirectional


text:
# EnumPP
C++ enums with introspection (and hence string conversion and value checking).

## Summary

Enum++ enhances C++'s weak enums (especially C++03 and earlier) by providing introspection, (string) conversion, and value checking functionality using a single macro that handles all the code generation using just the preprocessor without any unnecessary boilerplate, meta-compilation, or other non-standard shennanigans.

Check out enum_pp_demo.cpp to see it in use.

## Dependencies

* CMake 3.0 or newer
* Boost Preprocessor library (only headers, sufficiently recent version (say 1.57 or newer))
* C++11 (though it can be made to work with C++03 and older with just a few minor drawbacks)
* Variadic Macros enabled in compiler (see CMakefile)

## History/Bragging

I actually implemented the first version of Enum++ in 2012 before any of the "better enum" solutions existed out there
(or at least before they could be found via Google). With the advent of C++11's scoped enums, I was able to overcome the last major design limitation, thus giving rise to the library as it is today, usable as a drop-in replacement wherever normal enums can be used (namespaces, nested in classes, ...)

repository: nonergodic/EnumPP

repo_name: nonergodic/EnumPP


text:
Runday
======

Description
-----------

A script to ensure something runs only on a specific day

Usage
-----

Syntax: `runday </path/to/run> [RUNDAY]`

If `RUNDAY` is not specified, it is assumed to be Sunday.

The path provided to `runday` must be executable, either as a script or a binary

Valid options for `RUNDAY` are:

 * 1-7
 * Mon, Tue, Wed, Thu, Fri, Sat, Sun
 * Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
 * mon, tue, wed, thu, fri, sat, sun
 * monday, tuesday, wednesday, thursday, friday, saturday, sunday

repository: froztbyte/script-partials

repo_name: froztbyte/script-partials


text:
# Dockerfiles

This includes dockerfiles to build Dapr release and debug images and development container images for go dev environment.

* Dockerfile: Dapr Release Image
* Dockerfile-debug: Dapr Debug Image - WIP
* Dockerfile-dev: Development container image which VSCode Dev container can use.


text:
# Payments

## Installation

- Install fiobank module - `pip install -r payments/requirements.txt`.
- Add `payments` to installed apps.
- Set `FIO_BANK_TOKEN = 'token'` in settings.
- Set `PAYMENT_ERROR_RATE = 0` (percentage) in settings.

## Usage

    from payments.utils import check_payments_status
    check_payments_status()

repository: mmadil/django-konfera

repo_name: mmadil/django-konfera


text:
# Sano

This is the frontend project of [Sano](https://sano.17ban.icu/), a tree-based anonymous textboard.

Also see the backend project at [17ban/sano-backend](https://github.com/17ban/sano-backend).

gha_language: Vue


text:
# TWB_Parser Changelog

## Version 1.3.0 | 2021-03-27

+ To add modularity in prevision of the next characters release, Region, Version, and Character full names and codes are now to be defined in the "TWB_Parser.exe.config". More info in the [README](README.md).
+ It is now possible to put a character's full name in the [CSV](match_template.csv) instead of its code. The two options can be used at the same time. Default list [here](List_of_CharactersCode_Regions_Versions.md).
+ Character full names or codes are now case insensitive.
+ As a result, removed CharEnum.cs.

## Version 1.2.0 | 2021-03-08

+ Adding an enum entry for Annie: "AN".
+ Adding a version check: "Annie Patch" & "Annie Patch Beta".
+ Changing the config management. Switched from "config.txt" to "TWB_Parser.exe.config" to respect C# standards.
+ Adding a warpup of every enumtypes to make the CSV redaction easier: [List_of_CharactersCode_Regions_Versions](List_of_CharactersCode_Regions_Versions.md).

## Version 1.1.1 | 2019-08-18

+ Adding CSV data checking on: Empty or white space member, Region, Version, Characters acronyms. (Were already there member numbers and header checking).
+ Correcting the fact that when the CSV file is incorrect at some point, the n first correct lines were still inserted into the database.
- Removing the stacktrace from the error log, keeping only the message.

## Version 1.1.0 | 2019-05-28

+ Adding compatibility with MySQL. SQL Server is still usable.
+ Updated the format of config.xml to choose between MySQL and SQL Server.
+ Updated the README.md
+ Added a changelog.md (meta).

## Version 1.0.0 | 2019-05-26

+ Creation


text:
Download Droplet Plugin
===

Sometimes you just need to know what Cloud Foundry is working with. This plugin
downloads the current droplet for an app to your local file system. This works
even if the app won't start, the only requirement is the stager successfully builds
a droplet. It's useful for troubleshooting and you can't figure out what else to
do (like [this](https://github.com/krujos/goservice)).

[![wercker status](https://app.wercker.com/status/5a81018d727eb6dbc91b5c352d8c0e1e/m "wercker status")](https://app.wercker.com/project/bykey/5a81018d727eb6dbc91b5c352d8c0e1e)

# Usage
```
$ cf download-droplet
Usage: cf download-droplet APP_NAME PATH

$ cf download-droplet gocf /tmp/gocf.tar
Saving gocf's droplet to /tmp/gocf.tar
$ file gocf.tar
gocf.tar: gzip compressed data, from Unix, last modified: Fri Jan  8 22:13:58 2016

Saving gocf's droplet to /tmp/gocf.tar
➜  /tmp  tar -xvmf gocf.tar
x ./: Can't update time for .
x ./staging_info.yml
x ./logs/
x ./tmp/
x ./app/
x ./app/app.go
x ./app/Procfile
x ./app/.profile.d/
x ./app/.profile.d/concurrency.sh
x ./app/.profile.d/go.sh
x ./app/widget.go
x ./app/Godeps/
x ./app/Godeps/Readme
x ./app/Godeps/_workspace/
x ./app/Godeps/_workspace/src/
x ./app/Godeps/_workspace/src/github.com/
x ./app/Godeps/_workspace/src/github.com/julienschmidt/
x ./app/Godeps/_workspace/src/github.com/julienschmidt/httprouter/
x ./app/Godeps/_workspace/src/github.com/julienschmidt/httprouter/README.md
x ./app/Godeps/_workspace/src/github.com/julienschmidt/httprouter/path.go
x ./app/Godeps/_workspace/src/github.com/julienschmidt/httprouter/LICENSE
x ./app/Godeps/_workspace/src/github.com/julienschmidt/httprouter/router.go
x ./app/Godeps/_workspace/src/github.com/julienschmidt/httprouter/tree.go
x ./app/Godeps/_workspace/src/github.com/julienschmidt/httprouter/.travis.yml
x ./app/Godeps/_workspace/pkg/
x ./app/Godeps/_workspace/pkg/darwin_amd64/
x ./app/Godeps/_workspace/pkg/darwin_amd64/github.com/
x ./app/Godeps/_workspace/pkg/darwin_amd64/github.com/julienschmidt/
x ./app/Godeps/_workspace/pkg/darwin_amd64/github.com/julienschmidt/httprouter.a
x ./app/Godeps/Godeps.json
x ./app/bin/
x ./app/bin/goservice
➜  /tmp

```
# Installation
## Install from CLI
```
$ cf add-plugin-repo CF-Community http://plugins.cloudfoundry.org/
$ cf install-plugin 'Download Droplet' -r CF-Community
```

## Install from Source (need to have [Go](http://golang.org/dl/) installed)
```
$ go get github.com/cloudfoundry/cli
$ go get github.com/krujos/download_droplet_plugin
$ cd $GOPATH/src/github.com/krujos/download_droplet_plugin
$ go build
$ cf install-plugin download_droplet_plugin
```

gha_language: Go


text:
# InputText

Provides an input component called InputText that gives users a reusable input field.

## API

### `inputProps` (view asInput component for details)
`inputProps` specifies all of the properties that are necessary from the included `asInput` component.  Please see details for input requirements within that component.

The following parameters can optionally be passed into an InputText component:
* `readOnly` (`Boolean`): `true` if the input should be read only, `false` otherwise

repository: mukeshmandiwal/paragon

repo_name: mukeshmandiwal/paragon