text:
# OE Enclave Runtime Support for OpenSSL

## Motivation

Per discussion in issue [#852](https://github.com/openenclave/openenclave/issues/852):

- There are users of the OE SDK for which the existing mbedTLS library it ships with is insufficient to meet their needs.
  - It is not a pervasively used crypto library, which increases the costs of porting existing code into the enclave.
  - Although it has the appropriate Known Answer Tests and self-tests, it has never been officially FIPS 140-2 certified.
  - It represents a specific set of functionality that may not include what is needed by the developer, for example, Chinese national crypto algorithms.

- While there is a desire for a long-term solution to enable OE SDK users to replace the crypto library used by the OE enclave runtime with an arbitrary crypto library that meets their needs, it is acknowledged that supporting the OpenSSL library inside the OE enclave runtime will address some of these needs in the meantime.
  - OpenSSL is a widely used crypto library and is the _de facto_ standard crypto library available on many Linux distros. It is much more likely that existing code is using OpenSSL, which can be more easily ported into an enclave app.
    - Its API surface is often used as a standard that other crypto libraries either adopt (e.g. LibreSSL, BoringSSL) or already provide adaptor shims for (e.g. WolfSSL). As a result, supporting OpenSSL in the OE runtime also paves the way for a subset of other crypto libraries to be used in OE.
  - OpenSSL is commonly FIPS-certified as part of the Linux distros.
    - Even though the FIPS 140-2 certification applies to specific instances of the OpenSSL binaries, the presence of a prior certification for the library often influences the decision to adopt particular crypto libraries.
  - OpenSSL supports a different and slightly broader range of functionality and options compared to mbedTLS.

## User Experience

![oecrypto integration with openssl](images/oe_crypto_openssl.svg)

The OE SDK package will be expanded to include:

- A version of the OpenSSL libraries adapted for use in an enclave (the `openssl` component in the diagram).
- An OE-specific wrapper implementation to allow `oeenclave` to use OpenSSL instead of mbedTLS (the `oecryptoopenssl` component in the diagram).

An enclave app developer will have the choice at build time for their app to link either the `oecryptombed` or `oecryptoopenssl` wrappers against `oeenclave`, which will decide which crypto library `oeenclave` uses internally.

A developer can link both `mbedcrypto` and `openssl` components into their enclave app at the same time, even if `oeenclave` can only use a single wrapper at a time. For example, an app developer may choose to retain the dependency `oeenclave` has on `oecryptombed` but also additionally link in `openssl`. Doing so would allow the enclave app to use some functionality available in OpenSSL but not mbedTLS, even though `oeenclave` continues to use mbedTLS. This would not be a recommended use case because of the increase in the Trusted Computing Base (TCB) of the enclave app, but it is allowed.

Note that `mbedcrypto` is an abstraction over the libmbedcrypto, libmbedx509, and
 libmbedtls libraries. In the same way, `openssl`, as represented in the diagram, will encapsulate both libcrypto and libssl.

## Specification

The prototype for this support already exists in the [openenclave-openssl project](https://github.com/openenclave/openenclave-openssl). This design proposes formally integrating that work into the OE SDK project, which would require the following tasks:

- Add OpenSSL as a git submodule to the OE SDK project.
- Port the [build and code changes](https://github.com/openenclave/openenclave-openssl/blob/master/0001-Get-openssl-to-build-against-MUSL-headers.-Use-SGX-r.patch) necessary to build OpenSSL for use in an enclave to the OE SDK project.
- Refactor the existing OE SDK enclave/crypto into enclave/crypto/mbedtls.
- Port the prototype [oecrypto/src/crypto](https://github.com/openenclave/openenclave-openssl/tree/master/oecrypto/src/crypto) into OE SDK project enclave/crypto/openssl.
  - The set of oecrypto methods used internally by the OE SDK that needs to be implemented in OpenSSL is expected to be at parity with enclave/crypto/mbedtls.
- Port the prototype [tests](https://github.com/openenclave/openenclave-openssl/tree/master/test) for OpenSSL running in an enclave into OE SDK project as tests/openssl.
- Integrate an OpenSSL variant into existing OE SDK tests that rely on crypto:
  - [attestation_cert_apis](https://github.com/openenclave/openenclave-openssl/tree/master/oecrypto/test/attestation_cert_apis)
  - attestation_plugin
  - [crypto](https://github.com/openenclave/openenclave-openssl/tree/master/oecrypto/test/crypto)
  - crypto_crls_cert_chains
  - qeidentity
  - report
  - sealkey
  - tls_e2e
- Port the prototype [OpenSSL server in enclave sample](https://github.com/openenclave/openenclave-openssl/tree/master/sample/openssl_server) to OE SDK.
  - This sample serves as the analog to the existing mbedTLS-specific file-encryptor sample.
- Integrate an OpenSSL variant into existing OE SDK samples that rely on crypto:
  - [attested_tls](https://github.com/openenclave/openenclave-openssl/tree/master/sample/attested_tls)
  - data-sealing
  - local_attestation
  - remote_attestation
- Document the support for OpenSSL in OE SDK, i.e. add documentation analogous to [MbedtlsSupport.md](https://github.com/openenclave/openenclave/blob/master/docs/MbedtlsSupport.md)

Also, all prototypes have technical gaps that will need to be addressed for production purposes. A non-exhaustive list of such tasks would include:

- [ ] Add ctr_drbg.c to the `oecryptoopenssl` library implementation for parity with `oecryptombedtls`.
- [ ] Update OpenSSL code changes to use `oe_get_entropy()` for entropy pool seeding, and avoid modifying the OpenSSL drbg code.
- [ ] Formalize additional syscall stubs needed for OpenSSL as needed for [ssl_stubs.c](https://github.com/openenclave/openenclave-openssl/blob/master/0001-Get-openssl-to-build-against-MUSL-headers.-Use-SGX-r.patch).
- [ ] Update the OpenSSL target branch to the latest [OpenSSL_1_1_1-stable](https://github.com/openssl/openssl/tree/OpenSSL_1_1_1-stable) and resolve test coverage differences or breaking changes.
- [ ] Evaluate the set of [broken OpenSSL tests](https://github.com/openenclave/openenclave-openssl/blob/master/test/tests.broken) when executed in an enclave.

## Alternatives

As mentioned in the motivation, there is a desire for a long-term solution to enable OE SDK users to replace the crypto library used by the OE enclave runtime with an arbitrary crypto library. One approach to enable this is to formalize the internal OE crypto API that is being implemented by `oecryptombedtls` and `oecryptoopenssl` in this proposal. This approach is an additive change that we may pursue in the future and does not obviate the support proposed here.

An additional refinement of that approach is to eliminate the internal OE crypto API layer entirely:

- OE SDK calls OpenSSL APIs directly instead of using its `oecrypto` indirection.
- `oecryptoopenssl` becomes unnecessary, and `oecryptombedtls` would need to be refactored to be an mbedTLS to OpenSSL API adaptor instead.
- Other crypto libraries that are already compatible or have existing shims with the OpenSSL API can be reused with minimal change.

This option is not being pursued currently because:

- As with the option to expose the existing `oecrypto` API for adaptation, it is additive to the proposed solution and can be incrementally pursued at a later date.
  - Since it doesn't formalize the `oecrypto` API for crypto libraries to adapt against publicly at this time, the current proposal also avoids introducing a breaking change for enclave crypto libraries in the future.
  - The deeper refactor to use OpenSSL directly in OE is effectively an optimization at that point by removing a layer of indirection, but at the cost of a full rewrite of the `oecryptombedtls` wrapper to continue supporting it. The relative value of doing this work is currently lower than just allowing OpenSSL to be used by the OE runtime; it already allows other OpenSSL-compatible libraries to be ported more easily into OE enclaves, while not incurring the immediate `oecryptombedtls` refactor costs.
- OpenSSL is also currently in the process of its transition to its next major release (3.0), and it makes sense to target that version intercept as the more broadly stable crypto API surface to support.

## Authors

Simon Leet (@CodeMonkeyLeet)

repository: openenclave/openenclave

gha_language: C

repo_name: openenclave/openenclave


text:
# Wrausmt

A WASM interpreter written in Rust, as a learning exercise

## Goals

* Avoid using any 3rd party Rust libraries, so that I have to build more things
  on my own.
* Use the official [WASM
  specification](https://webassembly.github.io/spec/core/index.html) to guide
the implementation.
* Make at least some attempt to make the execution implementation fast, without
  compromising code clarity.
* Organize the code so that it's easy to navigate and explore.

## Current State

At the moment, the implementation is still in the early stages. The binary
parser can parse a fairly simple module containing add, subtract, get/set
local, and const instructions for i32 types.

### Rough TODO/Status list

* [TODO](./TODO.md)
* [Other notes](./NOTES.md)

license: MIT

repository: jblebrun/wrausmt

branch_name: refs/heads/main

extension: md

license_type: permissive

repo_name: jblebrun/wrausmt


text:
---
name: Non-{crash,security} bug
about: Bugs which are not crashes, DoS or other security issue
title: ''
labels: bug,triage
assignees: ''

---

*Title*: *One line description*

*Description*:
>What issue is being seen? Describe what should be happening instead of
the bug, for example: Nighthawk should not crash, the expected value isn't
returned, etc.

*Reproduction steps*:
> Include sample requests, environment, etc. All data and inputs
required to reproduce the bug.

>**Note**: If there are privacy concerns, sanitize the data prior to
sharing.

*Logs*:
>Include the Nighthawk logs.

>**Note**: If there are privacy concerns, sanitize the data prior to
sharing.

*Call Stack*:
> If the Envoy binary is crashing, a call stack is **required**.
Please refer to the [Bazel Stack trace documentation](https://github.com/envoyproxy/envoy/tree/master/bazel#stack-trace-symbol-resolution).

repository: envoyproxy/nighthawk

repo_name: envoyproxy/nighthawk


text:
# Number manager

This is a simple API that holds value of numbers. It's great for keeping track of builds in CIs. It can set new values, increment or decrement them. The API is pretty simple and doesn't use any kind of authentication.

## Build

With docker:

    docker build -t creckx/numbermanager:latest .

Without docker:

    go get
    go test
    go run *.go
    # or
    go build -o numbermanager *.go

## API

### Registration

	POST /api/number/register
	-- no input --

Returns ID of a new number you need to access its value in other API endpoints.

### Set

	POST /api/number/:id
	{"number": 99}

Sets specific value to the number.

### Get

	GET /api/number/:id

Returns value of the number.

### Increment

	POST /api/number/:id/incr
	-- no input --

Increment the number by one.

### Decrement

	POST /api/number/:id/decr
	-- no input --

Decrement the number by one.

repository: by-cx/numbermanager

branch_name: refs/heads/master

repo_name: by-cx/numbermanager


text:
---
hrs_structure:
  division: '1'
  volume: '2'
  title: '6'
  chapter: '46'
  section: 46-36
type: hrs_section
tags:
  - Government
menu:
  hrs:
    identifier: HRS_0046-0036
    parent: HRS0046
    name: 46-36 Authority of counties to engage in the process of
weight: 3405
title: Authority of counties to engage in the process of
full_title: 46-36 Authority of counties to engage in the process of
---
**§46-36 Authority of counties to engage in the process of managed competition; established.** (a) Subject to the approval of the governor and the respective mayor of the county, the agency designated by the mayor with the responsibility to oversee the managed process for public-private competition for government services shall:

(1) Assist the mayor in formulating the county's philosophy for public collective bargaining and for the managed process for public-private competition for government services, including which particular service can be provided more efficiently, effectively, and economically considering all relevant costs; and

(2) Coordinate and negotiate the terms and conditions or the managed competition process on behalf of the county with exclusive representatives of affected public employees and private contractors.

(b) If a county executes a contract with a private contractor pursuant to the managed competition process authorized under this section, the county may use the layoff provisions of the civil service laws and the respective collective bargaining contracts to release employees displaced from their positions by the managed competition process. Prior to implementing any layoff provision of the civil service laws or a collective bargaining contract, the county shall use its resources for placing, retraining, and providing voluntary severance incentives for displaced employees. Methods that may be used to minimize or avoid the adverse effects of an agency's decision to secure needed services from contractors may include:

(1) Coordination with the private service provider awarded the contract under this section to continue a displaced employee's employment as an employee of the contractor;

(2) Reassignment to another civil service position the employee is qualified to fill;

(3) Retraining to qualify the employee for reassignment; and

(4) Severance incentives.

(c) As used in this section, "managed competition" means the process established in this section by which the county and a private contractor compete to provide government services. [L 2001, c 90, §3; am L 2002, c 106, §1]

repository: SamMade/BlueAndKrabby

repo_name: SamMade/BlueAndKrabby


text:
# seq

[![TravisCI](https://travis-ci.org/integricho/seq.svg?branch=master)](https://travis-ci.org/integricho/seq)
[![AppVeyor](https://ci.appveyor.com/api/projects/status/rfg2wy7iwow91hp3/branch/master?svg=true)](https://ci.appveyor.com/project/integricho/seq/branch/master)

Compile-time integer sequence manipulation, header-only library for C++17.

The reason for not supporting a lower standard is that some of the utilized features cannot be backported to older compilers without sacrificing API convenience.

Tested with Clang 6.0, GCC 8.1 and MSVC 19.14.26431.0

## Usage

```
#include <seq/seq.h>
```

Given the following two sequences, the below presented operations are possible:

```cpp
using seq_a = seq::iseq<int, 0, 1, 2, 3>;
using seq_b = seq::iseq<int, 4, 5, 6, 7>;
```

##### Generate sequence

```cpp
// Specify size only
seq::make<int, 3>
//=> seq::iseq<int, 0, 1, 2>

// Specify size and start
seq::make<int, 3, 1>
//=> seq::iseq<int, 1, 2, 3>

// Specify size, start and step-size
seq::make<int, 3, 1, 2>
//=> seq::iseq<int, 1, 3, 5>

// Negative step-size
seq::make<int, 3, 1, -1>
//=> seq::iseq<int, 1, 0, -1>
```

##### Concatenate sequences

```cpp
seq::concat<seq_a, seq_b, seq_a, seq_b>
//=> seq::iseq<int, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7>
```

##### Generate sequence by repeating a value

```cpp
seq::repeat<5, 2>
//=> seq::iseq<int, 2, 2, 2, 2, 2>
```

##### Repeat sequence

```cpp
seq::copy<3, seq_a>
//=> seq::iseq<int, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3>
```

##### Get sequence element by index

```cpp
seq::at<0, seq_b>
//=> 4

seq::at<3, seq_b>
//=> 7
```
##### Get first sequence element

```cpp
seq::first<seq_b>
//=> 4
```

##### Get second sequence element

```cpp
seq::second<seq_b>
//=> 5
```

##### Get last sequence element

```cpp
seq::last<seq_b>
//=> 7
```

##### Get second last sequence element

```cpp
seq::second_last<seq_b>
//=> 6
```

##### Get subsequence without the first element of the given sequence

```cpp
seq::rest<seq_a>
//=> seq::iseq<int, 1, 2, 3>

seq::rest<seq_b>
//=> seq::iseq<int, 5, 6, 7>
```

##### Get subsequence of specified length starting at specified index

```cpp
seq::slice<0, 3, seq_a>
//=> seq::iseq<int, 0, 1, 2>

seq::slice<1, 3, seq_a>
//=> seq::iseq<int, 1, 2, 3>

seq::slice<2, 2, seq_a>
//=> seq::iseq<int, 2, 3>
```

##### Get first N-elements

```cpp
seq::take<3, seq_a>
//=> seq::iseq<int, 0, 1, 2>
```

##### Get all elements after the specified index

```cpp
seq::after<1, seq_a>
//=> seq::iseq<int, 1, 2, 3>
```

##### Split sequence into head / tail parts at the specified index

```cpp
seq::split_at<2, seq_a>::head
//=> seq::iseq<int, 0, 1>

seq::split_at<2, seq_a>::tail
//=> seq::iseq<int, 2, 3>

seq::split_at<3, seq_a>::head
//=> seq::iseq<int, 0, 1, 2>

seq::split_at<3, seq_a>::tail
//=> seq::iseq<int, 3>
```

##### Interleave elements of the two given sequences

```cpp
seq::zip<seq_a, seq_b>
//=> seq::iseq<int, 0, 4, 1, 5, 2, 6, 3, 7>

seq::zip<seq_b, seq_a>
//=> seq::iseq<int, 4, 0, 5, 1, 6, 2, 7, 3>
```

##### Get the index of the specified value

```cpp
seq::index_of<4, seq_b>
//=> 0

seq::index_of<6, seq_b>
//=> 2
```

##### Remove value from sequence

```cpp
seq::remove<4, seq_b>
//=> seq::iseq<int, 5, 6, 7>

seq::remove<6, seq_b>
//=> seq::iseq<int, 4, 5, 7>
```

##### Remove value at the specified index

```cpp
seq::remove_at<0, seq_b>
//=> seq::iseq<int, 5, 6, 7>

seq::remove_at<2, seq_b>
//=> seq::iseq<int, 4, 5, 7>
```

##### Insert value at the specified index

```cpp
seq::insert<1, 9, seq_a>
//=> seq::iseq<int, 0, 9, 1, 2, 3>

seq::insert<3, 9, seq_a>
//=> seq::iseq<int, 0, 1, 2, 9, 3>
```

##### Prepend value to sequence

```cpp
seq::prepend<7, seq_b>
//=> seq::iseq<int, 7, 4, 5, 6, 7>
```

##### Append value to sequence

```cpp
seq::append<8, seq_b>
//=> seq::iseq<int, 4, 5, 6, 7, 8>
```

##### Generate a sequence by applying the specified function to each element of the given sequence

```cpp
constexpr int squared(int x, std::size_t index)
{
    return x * x;
}

seq::map<squared, seq_b> //=> seq::iseq<int, 16, 25, 36, 49>
```

##### Copy sequence by keeping only those elements for which the given function returns true

```cpp
constexpr bool even(int x, std::size_t index)
{
    return x % 2;
}

seq::filter<even, seq_b>
//=> seq::iseq<int, 4, 6>
```

##### Reduce a sequence to a single value

```cpp
constexpr int sum_squares(int acc, int x, std::size_t index)
{
    return acc + x * x;
}

seq::reduce<sum_squares, seq_b>
//=> 26

seq::reduce<sum_squares, seq_b, 19>
//=> 45
```

## Known issues

- Most of the algorithms can be improved in terms of their efficiency.
- For some of the algorithms, working with very large sequences will exceed the compiler's default template depth limit.

## Versioning

This project uses [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/integricho/seq/tags).

## License

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


text:
# README #

### Exigo API SDK for PHP ###

The Exigo API SDK for PHP is a PHP package created by the Thiio Team. It is designed to simplify the process of consuming Exigo API endpoints. With this SDK, you can easily interact with Exigo's comprehensive set of APIs to manage various aspects of your business data, including customers, orders, products, and more. The package provides a simple and efficient API for handling API requests and aims to seamlessly integrate Exigo's APIs into your PHP projects.

## Installation

Install the Exigo API SDK using Composer:

```bash
composer require thiio/exigo-php-sdk
```

To execute all tests located in the "tests" folder, use the following command in the terminal or command prompt:

```bash
vendor/bin/phpunit tests/
```
vendor/bin/phpunit: This command runs the PHPUnit command-line tool located in the "vendor/bin" directory of your project. It's installed as a development dependency via Composer.
tests/: This specifies the path to the directory containing your test files. Replace it with a different path if your tests are organized elsewhere.
Make sure you have PHPUnit installed and its dependencies up-to-date before running the command.

### Process Transaction Example

With GitHub, I usually insert a blockquote.

> **_NOTE:_**  You cand find more exampls in the **/tests** folder.

```php
 public function it_should_process_a_transaction(){

        $customer = $this->buildCustomerBlueprint();
        $customerTransaction = new Transaction();
        $customerTransaction->setName("CreateCustomerRequest");
        foreach($customer as $key => $value){
            $customerTransaction->addParameter($key,$value);
        }

        $order    = $this->buildOrderBlueprint();
        $orderTransaction = new Transaction();
        $orderTransaction->setName("CreateOrderRequest");
        foreach($order as $key => $value){
            $orderTransaction->addParameter($key,$value);
        }

        $charge   = $this->buildChargeCreditCardTokenBlueprint();
        $chargeTransaction = new Transaction();
        $chargeTransaction->setName("ChargeCreditCardTokenRequest");
        foreach($charge as $key => $value){
            $chargeTransaction->addParameter($key,$value);
        }

        $processTransaction = new ProcessTransaction();
        $processTransaction->addTransactions([$customerTransaction,$orderTransaction, $chargeTransaction]);

        $client = new ExigoApi($_ENV["TEST_USER"],$_ENV["TEST_PASSWORD"],$_ENV["TEST_COMPANY"]);

        $response = $client->processTransaction($processTransaction);

        $this->assertFalse($response->success);

    }
```

repository: thiio-com/exigo-php-sdk

repo_name: thiio-com/exigo-php-sdk


text:
# tictactoe

A simple Tic Tac Toe game!

![license](https://img.shields.io/github/license/raravi/tictactoe)  ![last-commit](https://img.shields.io/github/last-commit/raravi/tictactoe)

This is written to demonstrate the use of CSS custom variables and media queries.

## CSS Custom Variables

Before using custom variables, the color properties (of various backgrounds, of different fonts) were spread all over the CSS file. CSS custom properties allows for a central location to be established. This helps keep the CSS dry (Don't Repeat Yourself)!

## Media queries

Media Queries help a website to become responsive and present itself to the user based on the device display specifications. Smaller and a more compact version on a smaller screen? Yes, you can do that!

Feel free to fork and play around with it!

[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y21VCIL)

repository: raravi/tictactoe

repo_name: raravi/tictactoe


text:
# dSandbox
A Play area for the D Language

To install D go to https://dlang.org/

To Execute the Test program:

    dub run

repository: chrisbrake/dSandbox

repo_name: chrisbrake/dSandbox


text:
# pimcore-docker-setup
Simple Docker setup for pimcore local development. This will install **Pimcore 6.1.0** (as of August 19).

You can also read a short summary here Blog Post - Pimcore Docker Setup

## Run Docker
* Go to root directory
* run `docker-compose build`
* run `docker-compose up -d`

## Install Pimcore within container
After starting the container some additional manual steps are needed.

Go into the PHP container with
* run `docker-compose exec php bash`

#### Install pimcore (see https://pimcore.com/de/download)
* run `COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton pimcore`

The pimcore project structure will be created in the directory pimcore

Change owner for calling next commands.

* run `chown -R 1000:1000 pimcore`

The next command creates pimcore with an initial admin user and our defined database properties.

* run `cd pimcore && COMPOSER_MEMORY_LIMIT=-1 ./vendor/bin/pimcore-install
--admin-username=admin --admin-password=admin --mysql-host-socket=mysql
--mysql-username=pimcore --mysql-password=pimcore --mysql-database=pimcore --no-interaction`

* run `chown -R 1000:1000 var`
* run `php bin/console assets:install web`

#### Generate Thumbnails

Pimcore offers a lot of custom commmands. For generating thumbnails run
`php bin/console pimcore:thumbnails:image` in you php container.

To preview images in admin panel, make sure you have the right permissions.
As a workaround set `chmod -R 777 web/var` or `chmod -R 777 var`

## Access Pimcore
You can now access pimcore frontend at http://localhost:8080 and admin at http://localhost:8080/admin

## Troubleshooting

If you're getting the following error with Pimcore 6

```* Warning: Declaration of Pimcore\Bundle\CoreBundle\EventListener\LegacyTemplateListener::onKernelView(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent $event) should be compatible with Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelView(Symfony\Component\HttpKernel\Event\KernelEvent $event)```

You can fix it with changing the `pimcore/composer.json` file and require and older version of `sensio/framework-extra-bundle`

The require part should look like this:

```json
"require": {
    "php": ">=7.2",
    "wikimedia/composer-merge-plugin": "^1.4",
    "pimcore/pimcore": "~6.0.0",
    "sensio/framework-extra-bundle": "5.3.1"
  },

```

Then run `composer update` and the `pimcore-install` script again.


text:
# Scribe Command Line Tool

## Install
```bash
  go get github.com/fomiller/scribe

  cd $GOPATH/src/github.com/fomiller/scribe
```
Your first time running ```scribe``` you will be asked to create credentials from the google developer console. Follow the instructions given by scribe to complete this process.
Once you have created and saved your credentials run ```go install```
Test to make sure your application is working correctly by running ```scribe``` in your command line.
To run Scribe as a command, make sure that your $GOPATH/bin is added to your system $PATH

## Configure
Use the ```config.yaml``` file to set configuration settings for Scribe.
Scribe automatically downloads files to the users ```$HOME\scribe``` path on Mac/Linux systems, and ```%USERPROFILE%\scribe``` path on Windows systems.

You can define a custom default download path by setting ```download.path``` to your desired full path.

If you make changes to your ```config.yaml``` file make sure to run ``` go install``` after you save your changes.

## Creating and using templates
In Google Docs create a new template file.
Create a template field within your document, indicated by ```{{}}```.
Inside the ```{{}}``` add a Uppercase string describing the data you would like to insert into the template field.
If you would like to use two words for a field such as ```Extracurricular Activity```, concatinate the two strings with an underscore ex: ```Extracurricular_Activity```
Example.
```
{{DATE}}
{{NAME}}
{{ADDRESS}}
{{EXTRACURRICULAR_ACTIVITY}}
```

## Populating templates from Google Sheets
Make a copy of this file ```https://docs.google.com/spreadsheets/d/16gT3TQ5BveYpaU56PZkoKfCoQNagb_fRHKd0NAxHmkg/edit?usp=sharing```.
Make sure to keep the Unique File ID Column. This Column can be appended to your templates file name to ensure that each file has a unique file name.

## Commands
- create
- create from sheet
- show template fields
- download
- download multiple
- delete

## Flags
- -d, --download
- -n, --name
- -p, --path
- -s, --sheet
- -t, --template

## ToDo List
- [ ] Allow for setting document type on download.
- [ ] Add descriptions to all commands
- [ ] Remove unnecessary commands
- [ ] Parse command refactor
- [ ] list command refactor
- [ ] Add screenshots and gifs
- [ ] Add example template for users, that works with example sheet.
- [ ] create a list all files cmd that where you can select a file then are prompted with another select list of what you would like to do with the file.
- [ ] support being able to use multiple sheets inside a spreadsheet
- [x] Create interactive mode for createfromsheet cmd.
- [x] Add createfromsheet to scribe interactive mode.
- [x] Add config file instructions to README.md
- [x] Rename NewFileName variable to Name
- [x] create function for folderGeneration with files.
- [x] Ability to read from google sheets / csv files
- [x] configure google sheets api
- [x] Add create from file command
- [x] implement feature of cutting out the string "Template" from a template name when saving a file
- [x] create test files
- [x] list all available functions at root command with survey
- [x] create a config file
- [x] Add ability to Delete files from drive
- [x] Ability to specify template.
- [x] Download cmd clean up.
- [x] Download cmd interactive mode.
- [x] Download cmd set output path with flag.
- [x] Download cmd remove -d flag check.
- [x] Download file after filling out template
- [x] Ability to parse a template and return the fields needed to fill out the template
- [x] Create utils.go for helper functions
- [x] interactive command line ability with survey

## Packages used
drive
https://godoc.org/google.golang.org/api/drive/v3

surveyV2
https://godoc.org/gopkg.in/AlecAivazis/survey.v2

cobra package
https://godoc.org/github.com/spf13/cobra

repository: Fomiller/scribe

repo_name: Fomiller/scribe


text:
Monitor activity detection examples - objective c & java with jna
===

The purpose of the sample code is to show the detection of the different
display using CoreGraphics and then checking if they're awake or asleep.

The code itself displays a text output with the state of the monitor. This
could more easily be just a return code of true or false, which can be acted
on by the user.

The purpose of both C and JNA code is to show that you can interface with the
MacOS environment without needing to write JNI code which can be difficult to
work with. While there are complications in the JNA code involving dealing
with structures and memory, the ability to run it without having to load
another loadable object in your JRE is probably a good thing.

Building the code
---

The Objective-C code requires a java compiler and a development environment installed -
e.g. XCode or the Command Line Development kit (`xcode-select --install`).

The java code requires a copy of the [JNA](https://github.com/java-native-access/jna/blob/master/README.md)
jar file in the current working directory. It can be downloaded from the JNA link.

There's a makefile, which builds the examples, they can be built using:

    $ make
    javac -cp .:jna.jar CoreGraphics.java
    javac -cp .:jna.jar IsDisplayAsleep.java
    javac -cp .:jna.jar jna_monitors_run.java
    cc -framework Foundation -framework CoreGraphics    cgdisplaydetection.m   -o cgdisplaydetection

They can be run using:

    $ make run-all
    javac -cp .:jna.jar CoreGraphics.java
    javac -cp .:jna.jar IsDisplayAsleep.java
    javac -cp .:jna.jar jna_monitors_run.java
    java -cp .:jna.jar jna_monitors_run
    Awake
    cc -framework Foundation -framework CoreGraphics    cgdisplaydetection.m   -o cgdisplaydetection
    ./cgdisplaydetection
    Awake

repository: petesh/IsDisplayAsleep

repo_name: petesh/IsDisplayAsleep


text:
## Common Losses

nn/tf/loss.py

### Recommended scenario unsupervised loss
For recommending unsupervised learning loss, we implement two common loss functions, Sigmoid Cross Entropy loss (BCE) and Softmax Cross Entropy loss.

#### sigmoid_cross_entropy_loss

```python
def sigmoid_cross_entropy_loss(pos_logit,
                               neg_logit):
  """Sigmoid cross entropy loss.
  Args:
    pos_logit: positive logits, tensor with shape [batch_size]
    neg_logit: negative logits, tensor with shape [batch_size]
  Returns:
    loss, a scalar tensor
  """
  true_xent = tf.nn.sigmoid_cross_entropy_with_logits(
      labels=tf.ones_like(pos_logit), logits=pos_logit)
  negative_xent = tf.nn.sigmoid_cross_entropy_with_logits(
      labels=tf.zeros_like(neg_logit), logits=neg_logit)
  loss = tf.reduce_mean(true_xent) + 1.0 * tf.reduce_mean(negative_xent)
  return loss
```

#### unsupervised_softmax_cross_entropy_loss
Softmax CE loss, which treats negative samples as a shared form in a batch, allows the original binary classification to be viewed as a "multi-classification" task with one positive sample and negative samples of batch_size * neg_num. If we consider the labels as one-hot encoding format, i.e., only positive samples are labeled as 1, then the total loss is.

![loss](../../../../images/loss.png)

where sp denotes the score of the positive sample.

```python
def unsupervised_softmax_cross_entropy_loss(src_emb,
                                            pos_emb,
                                            neg_emb,
                                            temperature=1.0):
  """Softmax cross entropy loss.
  This loss is mostly used for inner product based two-tower model
  for recommdener systems.
  Args:
    src_emb: src embedding, tensor with shape [batch_size, dim]
    pos_emb: positive dst embedding, tensor with shape [batch_size, dim]
    neg_emb: negative dst embedding, tensor with shape [batch_size * neg_num, dim]
  Returns:
    loss, a scalar tensor
  """
  pos_sim = tf.reduce_sum(tf.multiply(src_emb, pos_emb), axis=-1, keepdims=True)
  neg_sim = tf.matmul(src_emb, tf.transpose(neg_emb))
  logit = tf.nn.softmax(tf.concat([pos_sim, neg_sim] , axis=-1) / temperature)
  loss = -tf.reduce_mean(tf.log(logit[:, :1] + 1e-12))

  return loss
```

repository: alibaba/graph-learn

repo_name: alibaba/graph-learn


text:
---
layout: default
---

# 1995-09-20 - first virtual "security" (!!) (was Re: Security Flaw Is Discovered In Software Used in Shopping)

## Header Data

From: Laurent Demailly<EMAIL_ADDRESS>To<EMAIL_ADDRESS>(Robert Hettinga)

Message Hash: 88718c9d42c5024625a49dce19d90c31aea69106bf8ce9ce1417b885d2a0bbd5

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1995-09-20 21:28:37 UTC

Raw Date: Wed, 20 Sep 95 14:28:37 PDT

## Raw message

```
{% raw  %}From: Laurent Demailly<EMAIL_ADDRESS>Date: Wed, 20 Sep 95 14:28:37 PDT
To<EMAIL_ADDRESS>(Robert Hettinga)
Subject: first virtual "security" (!!) (was Re: Security Flaw Is Discovered In Software Used in Shopping)
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Robert Hettinga writes:
 > --- begin forwarded text
[...]
 > Date: Wed, 20 Sep 1995 10:47:24 -0400 (EDT)
 > From: Nathaniel Borenstein<EMAIL_ADDRESS> > To<EMAIL_ADDRESS> > Subject: Re: Security Flaw Is Discovered In Software Used in Shopping
 >
[...]
 > For information on a safe, non-cryptographic alternative that has been
 > fully operational for nearly a year, with over 30,000 paying customers,
 > a growth rate featuring a six week doubling period, and NO break-ins to
 > date, check out http://www.fv.com.  -- Nathaniel
After some research on the above advertised site :
"
   If you can talk to FIRST VIRTUAL via electronic mail, and nobody
   else can read or reply to your E-mail, then your E-mail account is
   compatible with FIRST VIRTUAL.
 I imagine the poor fooled
customer bills...  Probably a lawyer devised te above statement so if
ppl get charged with thing they didn't asked for, fir$t virtual will
answer they were at fault because "someone" can read their mail (even if
the someone is the hacker around FV's mail exchanger...)

dl
--
Laurent Demailly * http://hplyot.obspm.fr/~dl/ * Linux|PGP|Gnu|Tcl|...  Freedom
Prime#1: cent cinq mille cent cinq milliards cent cinq mille cent soixante sept

Legion of Doom Kennedy Qaddafi security break North Korea DST

{% endraw %}
```

## Thread

+ Return to [September 1995](/archive/1995/09)

+ Return to<EMAIL_ADDRESS>(Ian Goldberg)](/authors/iagoldbe_at_csclub_uwaterloo_ca_ian_goldberg_)"
+ Return to "[Laurent Demailly <dl@hplyot.obspm.fr>](/authors/laurent_demailly_dl_at_hplyot_obspm_fr_)"
+ Return to "[Nathaniel Borenstein <nsb@nsb.fv.com>](/authors/nathaniel_borenstein_nsb_at_nsb_fv_com_)"
+ Return to<EMAIL_ADDRESS>(Robert Hettinga)](/authors/rah_at_shipwright_com_robert_hettinga_)"

+ 1995-09-20 (Wed, 20 Sep 95 08:18:15 PDT) - [Re: Security Flaw Is Discovered In Software Used in Shopping](/archive/1995/09/940a69feaa3b80de5eb713d87aa8e5f97a0eb5afbbf2fc1ead34459ea9b89274) -<EMAIL_ADDRESS>(Robert Hettinga)_
  + 1995-09-20 (Wed, 20 Sep 95 14:28:37 PDT) - first virtual "security" (!!) (was Re: Security Flaw Is Discovered In Software Used in Shopping) - _Laurent Demailly<EMAIL_ADDRESS>  + 1995-09-21 (Wed, 20 Sep 95 20:46:59 PDT) - [Re: first virtual "security" (!!) (was Re: Security Flaw Is Discovered In Software Used in Shopping)](/archive/1995/09/0a969e8c34070c8908b5b7f34fcf873e95359c1c572effe663eb1664f415c406) - _Nathaniel Borenstein<EMAIL_ADDRESS>  + 1995-09-21 (Wed, 20 Sep 95 20:48:42 PDT) - [Re: first virtual "security" (!!) (was Re: Security Flaw Is Discovered In Software Used in Shopping)](/archive/1995/09/dd9b84871240924f65323eea361365c3cf9e6bb47e2782efb66c2a0e21567ec1) - _Laurent Demailly<EMAIL_ADDRESS>  + 1995-09-21 (Wed, 20 Sep 95 23:03:56 PDT) - [[NOISE] "hacker" was: first virtual "security"](/archive/1995/09/bca1af80e8089944ca39c9e2b446be8bbc6317649e3086f98006b6ff9c140635) -<EMAIL_ADDRESS>(Ian Goldberg)_

gha_license_id: MIT


text:
# Calico

Compared with other mutli host networking approaches, calico represents a new approach to virtual networking, which based on the same scalable IP networking principles as the Internet. More specificly, calico does not use traditional overlay, instead providing a pure Layer 3 approach to data center networking. Calico is simple to deploy and diagnose, provides a rich security policy, supports both IPv4 and IPv6 and can be used across a combination of bare-metal, VM and container workloads. Steps below illustrate how to use Calico to enable multi-host docker network communication.

## Prerequisite
* Two VMs(Host1 and Host2)
* Docker 1.8 installed on each host
* calicoctl installed on each host
* Accessible Etcd cluster(Here we run single-node Etcd cluster on Host1)

## Start Etcd
start Etcd on Host1:
```
[root@Host1 etcd-v2.2.1-linux-amd64]# ./etcd -listen-peer-urls "http://<Host1_IP>:2380,http://<Host1_IP>:7001" -listen-client-urls "http://<Host1_IP>:2379,http://<Host1_IP>:4001" -advertise-client-urls "http://<Host1_IP>:2379,http://<Host1_IP>:4001" &
```

## Start Calico
on Host1 run `calico-node` container:
```
[root@Host1 ~]# export ETCD_AUTHORITY=<Host1_IP>:2379
[root@Host1 ~]# ./calicoctl node --ip=<Host1_IP>
```
run the same command on Host2:
```
[root@Host2 ~]# export ETCD_AUTHORITY=<Host1_IP>:2379
[root@Host2 ~]# ./calicoctl node --ip=<Host2_IP>
```

## Create Profile
on Host1 create a `test` profile:
```
[root@Host2 ~]# ./calicoctl profile add test
```

## Start Containers
on Host1, start the `qperf_server` container:
```
[root@Host1 ~]# export DOCKER_HOST=localhost:2377
[root@Host1 ~]# docker run --name qperf_server -e CALICO_IP=auto -e CALICO_PROFILE=test -p 4000:4000 -p 4002:4002 -td qperf
```
on Host2, start the `qperf_client` container:
```
[root@Host2 ~]# export DOCKER_HOST=localhost:2377
[root@Host2 ~]# docker run --name qperf_client -e CALICO_IP=auto -e CALICO_PROFILE=test -td qperf
```

## Test with qperf
on Host1, start `qperf server` in container:
```
[root@Host1 ~]# docker exec -it qperf_server /bin/bash
[root@101da1cf73d1 /]# qperf -lp 4000
```
on Host2, start `qperf client` in container:
```
[root@Host2 ~]# docker exec -it qperf_client /bin/bash
[root@155fde394ac2 /]# qperf -lp 4000 -ip 4002 <IP_ADDRESS> tcp_bw tcp_lat
```

This amazing project provides direct connectivity through IP routing, fine-grained policy rules and so on by using `iptables` and kernel `route table`. Since everything is based on IP, so if your hosts are within different subnets, you have to be careful to make sure the routers on your network knows how to forward Calico packets. One possible solution is [IPIP](https://en.wikipedia.org/wiki/IP_in_IP), you can reference <http://www.projectcalico.org> for more detail.


text:
# Web Scraping

Web scraping is the process of getting useful information from the web.

This repository help you to scrape data from instructables.com

As a demo three links have been already added in the code.

## Running the code

- Clone the repository on your local system
- Make sure you have beautifulSoup4 installed on yur system
  If not then run `pip install beautifulsoup4` in your terminal
- Then enter the repository directory and then run the python file using following command:
  `python scrape.py`
- You will find 3 files made for three urls

repository: amoghjalan/scraping-instructables

repo_name: amoghjalan/scraping-instructables


text:
# Serialization Grammar

    message = '0x01' call
            | '0x00' element
            | '0x50' output
            | '0x5e' output
            | '0xff' fail
            | byebye
    call = string list
    list = int32 {element} int32 {named_element} attributes
    attributes = nattributes {named_element}
    nattributes = uint8
    named_element = string element
    element = '0x00'
            | '0x01' dimensions {double} attributes
            | '0x02' dimensions {complex} attributes
            | '0x03' dimensions {raw} attributes
            | '0x04' dimensions {integer} attributes
            | '0x05' dimensions {boolean}
            | '0x06' dimensions {string} attributes
            | '0x07' list
            | '0x5b' string (* name of symbol *)
            | '0x5e' object_class_id object_reference
            | '0xcb' callback
            | '0xee' expression
            | '0xfc' named_function
    object_class_id = '0x5c' (* class JuliaStructProxy *)
                    | '0x5a' (* class JuliaSimpleArrayProxy *)
                    | '0xaf' (* anonymous function reference *)
                    | '0xaa' (* class JuliaArrayProxy *)
                    | '0x00' (* no information *)
    object_reference = 8 * byte
    anonymous_function_reference = 8 * byte
    callback = string
    named_function = string
    string = int32 utf8string
    dimensions = ndimensions {int32}
    ndimensions = int32
    output = int32 {byte}
    fail = string
    byebye = '0xbb'

### Meaning of the int32 numbers
* A string is preceded by the number of bytes to UTF-8-encode the string.
* The sequence of unnamed/positional elements in a list is preceded by
  the number of (named) elements that follow.
* Standard output (after '0x50') or standard error output (after '0x5e')
  is preceded by the number of bytes that are sent.

repository: stefan-m-lenz/JuliaConnectoR

gha_language: R

gha_license_id: NOASSERTION

repo_name: stefan-m-lenz/JuliaConnectoR


text:
---
title: "Mobile Blogging"
#date: Fri, 16 Aug 2019 22:13:00 +0000
date: Thu, 24 Oct 2019 23:13:00 +0000
draft: false
tags: ['Web Dev']
---

My boss's boss encouraged me to bring a Bluetooth keyboard on my flights this summer so I could write while in the air.
Suprisingly it's possible to do this on Android using plain Git.

<!--more-->

For this to work there are a couple requirements:

* Content source must be in a git repo
  * If you're using WordPress there is a plugin to sync with a git repo but I haven't tested it so <abbr title="your mileage may vary">YMMV</abbr>
* Something comfortable to type with, such as a (small but ergonomic) bluetooth keyboard
* An Android git client that:
  * Can clone the repo to local storage
  * Allows you to edit files
  * Allows you to commit & push files

## Git

Amazingly, there are not as many git apps that can do that as I thought there might be.
I'm an Android user and I chose to use [MGit](https://play.google.com/store/apps/details?id=com.manichord.mgit&hl=en_US).
There are other options available but few meet the 3 criteria for a git app I listed above and appear to be of decent quality.
There was at least one other quality git app I saw while searching, but it appeared to have some major issues with disconnect between the dev & users.

To get my blog to an accessible location for testing (below) I had to change MGit's base directory in the settings, which also made me re-clone my repo (so change this before you clone your repo to avoid this issue).
I recommend using the Downloads folder for this.

It's worth mentioning that you won't get prompted for HTTPS auth until you try to push on public repos, which confused me at first.
Also, there's a bug in MGit where it'll crash if you have the text editor open and you dis/connect a bluetooth keyboard.

## Testing

As it would turn out, someone made an app to run Linux on Android.
I'm amazingly not suprised about that somehow.
The app is called [Termux](https://termux.com/).

In Termux there are two package managers, `pkg` and `apt`.
As far as I can tell, `pkg` is a wrapper for `apt` with a couple minor changes such as a different help output.

Use `apt install proot` to get [Proot](https://wiki.termux.com/wiki/PRoot), which is a user-space chroot implementation we need so things think they're running on Linux (Android and/or Termux don't comply with the Linux/Unix filesystem standard).
Then use `termux-chroot` to enter into the chroot.
You probably won't notice anything different about running in or out of the chroot for the most part, or at least I haven't.

After that you can use `apt install hugo`, which is also conveniently the "extended" version of Hugo so you get SASS support :) .

Despite running a server, this is airplane-mode compatible since it's all local to the phone.

## Markdown

I did make an effort to try to find a good, free Markdown editor for mobile, however, I didn't find anything that matched my taste.
Either they didn't have support for underscores for italics (which I prefer due to notable platforms that use sincle asierisk for bold), didn't format the Markdown in the same view as typing, or were going to be a notable hassle to move content back and forth from MGit.

I found it easiest to write using MGit's plain-text editor and then edit on my computer after I got back (git branches are good for this).

## Conclusion

Overall I'm fairly happy with the experience.
This is the second blog post I wrote while on a plane and things seem to work overall; committing and pushing worked.
The biggest takeaways for me were that I need a more ergonomic Bluetooth keyboard if I'm going to do more of this and I found it much easier to edit on my computer (including getting links).
That said, I've written the words which is most (if not all) of the work.

Easy go!


text:
# EC2

- **UserData** = text act like `.bashrc` despite its name
- **InstanceProfile** = role for EC2 instances to assume
  - This is extremely confusing as no such thing as *instance profile* in console, only roles


text:
# Acceptable parameters

## Protocol Version

Pass as: `protocolVersion` or `v`

Required for all hit types.The Protocol version. The current value is '1'. This will only change when there are changes made that are not backwards compatible.

## Tracking ID / Web Property ID

Pass as: `trackingId` or `webPropertyId` or `tid`

Required for all hit types.The tracking ID / web property ID. The format is UA-XXXX-Y. All collected data is associated by this ID.

## Anonymize IP

Pass as: `anonymizeIp` or `aip`

Optional. When present, the IP address of the sender will be anonymized. For example, the IP will be anonymized if any of the following parameters are present in the payload: &aip=, &aip=0, or &aip=1

## Data Source
Pass as: `dataSource` or `ds`

Optional. Indicates the data source of the hit. Hits sent from analytics.js will have data source set to 'web'; hits sent from one of the mobile SDKs will have data source set to 'app'.

## Queue Time

Pass as: `queueTime` or `qt`

Optional. Used to collect offline / latent hits. The value represents the time delta (in milliseconds) between when the hit being reported occurred and the time the hit was sent. The value must be greater than or equal to 0. Values greater than four hours may lead to hits not being processed.

## Cache Buster

Pass as: `cacheBuster` or `z`

Optional. Used to send a random number in GET requests to ensure browsers and proxies don't cache hits. It should be sent as the final parameter of the request since we've seen some 3rd party internet filtering software add additional parameters to HTTP requests incorrectly. This value is not used in reporting.

## Client ID

Pass as: `clientId` or `cid`

Required for all hit types.This anonymously identifies a particular user, device, or browser instance. For the web, this is generally stored as a first-party cookie with a two-year expiration. For mobile apps, this is randomly generated for each particular instance of an application install. The value of this field should be a random UUID (version 4) as described in http://www.ietf.org/rfc/rfc4122.txt

## User ID

Pass as: `userId` or `uid`

Optional. This is intended to be a known identifier for a user provided by the site owner/tracking library user. It may not itself be PII. The value should never be persisted in GA cookies or other Analytics provided storage.

## Session Control

Pass as: `sessionControl` or `sc`

Optional. Used to control the session duration. A value of 'start' forces a new session to start with this hit and 'end' forces the current session to end with this hit. All other values are ignored.

## IP Override

Pass as: `ipOverride` or `uip`

Optional. The IP address of the user. This should be a valid IP address. It will always be anonymized just as though &aip (anonymize IP) had been used.

## User Agent Override

Pass as: `userAgentOverride` or `ua`

Optional. The User Agent of the browser. Note that Google has libraries to identify real user agents. Hand crafting your own agent could break at any time.

## Geographical Override

Pass as: `geoid`

Optional. The geographical location of the user. The geographical ID should be a two letter country code or a criteria ID representing a city or region (see http://developers.google.com/analytics/devguides/collection/protocol/v1/geoid). This parameter takes precedent over any location derived from IP address, including the IP Override parameter. An invalid code will result in geographical dimensions to be set to '(not set)'.

## Document Referrer

Pass as: `documentReferrer` or `dr`

Optional. Specifies which referral source brought traffic to a website. This value is also used to compute the traffic source. The format of this value is a URL.

## Campaign Name

Pass as: `campaignName` or `cn`

Optional. Specifies the campaign name.

## Campaign Source

Pass as: `campaignSource` or `cs`

Optional. Specifies the campaign source.

## Campaign Medium

Pass as: `campaignMedium` or `cm`

Optional. Specifies the campaign medium.

## Campaign Keyword

Pass as: `campaignKeyword` or `ck`

Optional. Specifies the campaign keyword.

## Campaign Content

Pass as: `campaignContent` or `cc`

Optional. Specifies the campaign content.

## Campaign ID

Pass as: `campaignId` or `ci`

Optional. Specifies the campaign ID.

## Google AdWords ID

Pass as: `googleAdwordsId` or `gclid`

Optional. Specifies the Google AdWords Id.

## Google Display Ads ID

Pass as: `googleDisplayAdsId` or `dclid`

Optional. Specifies the Google Display Ads Id.

## Screen Resolution

Pass as: `screenResolution` or `sr`

Optional. Specifies the screen resolution.

## Viewport size

Pass as: `viewportSize` or `vp`

Optional. Specifies the viewable area of the browser / device.

## Document Encoding

Pass as: `documentEncoding` or `de`

Optional. Specifies the character set used to encode the page / document.

## Screen Colors

Pass as: `screenColors` or `sd`

Optional. Specifies the screen color depth.

## User Language

Pass as: `userLanguage` or `ul`

Optional. Specifies the language.

## Java Enabled

Pass as: `javaEnabled` or `je`

Optional. Specifies whether Java was enabled.

## Flash Version

Pass as: `flashVersion` or `fl`

Optional. Specifies the flash version.

## Hit type

Pass as: `hitType` or `t`

Required for all hit types.The type of hit. Must be one of 'pageview', 'screenview', 'event', 'transaction', 'item', 'social', 'exception', 'timing'.

## Non-Interaction Hit

Pass as: `non-interactionHit` or `ni`

Optional. Specifies that a hit be considered non-interactive.

## Document location URL

Pass as: `documentLocationUrl` or `dl`

Optional. Use this parameter to send the full URL (document location) of the page on which content resides. You can use the &dh and &dp parameters to override the hostname and path + query portions of the document location, accordingly. The JavaScript clients determine this parameter using the concatenation of the document.location.origin + document.location.pathname + document.location.search browser parameters. Be sure to remove any user authentication or other private information from the URL if present.

## Document Host Name

Pass as: `documentHostName` or `dh`

Optional. Specifies the hostname from which content was hosted.

## Document Path

Pass as: `documentPath` or `dp`

Optional. The path portion of the page URL. Should begin with '/'.

## Document Title

Pass as: `documentTitle` or `dt`

Optional. The title of the page / document.

## Screen Name

Pass as: `screenName` or `cd`

Optional. If not specified, this will default to the unique URL of the page by either using the &dl parameter as-is or assembling it from &dh and &dp. App tracking makes use of this for the 'Screen Name' of the screenview hit.

## Link ID

Pass as: `linkId` or `linkid`

Optional. The ID of a clicked DOM element, used to disambiguate multiple links to the same URL in In-Page Analytics reports when Enhanced Link Attribution is enabled for the property.

## Application Name

Pass as: `applicationName` or `an`

Optional. Specifies the application name.

## Application ID

Pass as: `applicationId` or `aid`

Optional. Application identifier.

## Application Version

Pass as: `applicationVersion` or `av`

Optional. Specifies the application version.

## Application Installer ID

Pass as: `applicationInstallerId` or `aiid`

Optional. Application installer identifier.

## Event Category

Pass as: `eventCategory` or `ec`

Optional. Specifies the event category. Must not be empty.

## Event Action

Pass as: `eventAction` or `ea`

Optional. Specifies the event action. Must not be empty.

## Event Label

Pass as: `eventLabel` or `el`

Optional. Specifies the event label.

## Event Value

Pass as: `eventValue` or `ev`

Optional. Specifies the event value. Values must be non-negative.

## Transaction ID

Pass as: `transactionId` or `ti`

Required for transaction hit type.Required for item hit type.A unique identifier for the transaction. This value should be the same for both the Transaction hit and Items hits associated to the particular transaction.

## Transaction Affiliation

Pass as: `transactionAffiliation` or `ta`

Optional. Specifies the affiliation or store name.

## Transaction Revenue

Pass as: `transactionRevenue` or `tr`

Optional. Specifies the total revenue associated with the transaction. This value should include any shipping or tax costs.

## Transaction Shipping

Pass as: `transactionShipping` or `ts`

Optional. Specifies the total shipping cost of the transaction.

## Transaction Tax

Pass as: `transactionTax` or `tt`

Optional. Specifies the total tax of the transaction.

## Item Name

Pass as: `itemName` or `in`

Required for item hit type.Specifies the item name.

## Item Price

Pass as: `itemPrice` or `ip`

Optional. Specifies the price for a single item / unit.

## Item Quantity

Pass as: `itemQuantity` or `iq`

Optional. Specifies the number of items purchased.

## Item Code

Pass as: `itemCode` or `ic`

Optional. Specifies the SKU or item code.

## Item Category

Pass as: `itemCategory` or `iv`

Optional. Specifies the category that the item belongs to.

## Currency Code

Pass as: `currencyCode` or `cu`

Optional. When present indicates the local currency for all transaction currency values. Value should be a valid ISO 4217 currency code.

## Social Network

Pass as: `socialNetwork` or `sn`

Required for social hit type.Specifies the social network, for example Facebook or Google Plus.

## Social Action

Pass as: `socialAction` or `sa`

Required for social hit type.Specifies the social interaction action. For example on Google Plus when a user clicks the +1 button, the social action is 'plus'.

## Social Action Target

Pass as: `socialActionTarget` or `st`

Required for social hit type.Specifies the target of a social interaction. This value is typically a URL but can be any text.

## User timing category

Pass as: `userTimingCategory` or `utc`

Optional. Specifies the user timing category.

## User timing variable name

Pass as: `userTimingVariableName` or `utv`

Optional. Specifies the user timing variable.

## User timing time

Pass as: `userTimingTime` or `utt`

Optional. Specifies the user timing value. The value is in milliseconds.

## User timing label

Pass as: `userTimingLabel` or `utl`

Optional. Specifies the user timing label.

## Page Load Time

Pass as: `pageLoadTime` or `plt`

Optional. Specifies the time it took for a page to load. The value is in milliseconds.

## DNS Time

Pass as: `dnsTime` or `dns`

Optional. Specifies the time it took to do a DNS lookup. The value is in milliseconds.

## Page Download Time

Pass as: `pageDownloadTime` or `pdt`

Optional. Specifies the time it took for the page to be downloaded. The value is in milliseconds.

## Redirect Response Time

Pass as: `redirectResponseTime` or `rrt`

Optional. Specifies the time it took for any redirects to happen. The value is in milliseconds.

## TCP Connect Time

Pass as: `tcpConnectTime` or `tcp`

Optional. Specifies the time it took for a TCP connection to be made. The value is in milliseconds.

## Server Response Time

Pass as: `serverResponseTime` or `srt`

Optional. Specifies the time it took for the server to respond after the connect time. The value is in milliseconds.

## DOM Interactive Time

Pass as: `domInteractiveTime` or `dit`

Optional. Specifies the time it took for Document.readyState to be 'interactive'. The value is in milliseconds.

## Content Load Time

Pass as: `contentLoadTime` or `clt`

Optional. Specifies the time it took for the DOMContentLoaded Event to fire. The value is in milliseconds.

## Exception Description

Pass as: `exceptionDescription` or `exd`

Optional. Specifies the description of an exception.

## Is Exception Fatal?

Pass as: `isExceptionFatal` or `exf`

Optional. Specifies whether the exception was fatal.

## Custom Dimension

Pass as: `cd[1-9][0-9]*`

Optional. Each custom dimension has an associated index. There is a maximum of 20 custom dimensions (200 for Premium accounts). The name suffix must be a positive integer between 1 and 200, inclusive.

## Custom Metric

Pass as: `cm[1-9][0-9]*`

Optional. Each custom metric has an associated index. There is a maximum of 20 custom metrics (200 for Premium accounts). The name suffix must be a positive integer between 1 and 200, inclusive.

## Content Group

Pass as: `cg(10|[0-9])`

Optional. Up to 10 content groups are possible.

## Experiment ID

Pass as: `experimentId` or `xid`

Optional. This parameter specifies that this user has been exposed to an experiment with the given ID. It should be sent in conjunction with the Experiment Variant parameter.

## Experiment Variant

Pass as: `experimentVariant` or `xvar`

Optional. This parameter specifies that this user has been exposed to a particular variation of an experiment. It should be sent in conjunction with the Experiment ID parameter.

## Enhanced e-commerce

To use enhanced e-commerce you must explicitly enable it in Google Analytics admin. Some parameters overlap with regular e-commerce tracking (`ti`, `ta`, `tr`, `tt`, `ts`),
however item tracking is different.

You may generate enhanced e-commerce using the [`gampee`](https://www.npmjs.com/package/gampee) module.

### Product SKU

Pass as: `pr[0-9]{1,3}id`

Optional. The SKU of the product. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Name

Pass as: `pr[0-9]{1,3}nm`

Optional. The name of the product. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Brand

Pass as: `pr[0-9]{1,3}br`

Optional. The brand associated with the product. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Category

Pass as: `pr[0-9]{1,3}ca`

Optional. The category to which the product belongs. Product index must be a positive integer between 1 and 200, inclusive. The product category parameter can be hierarchical. Use / as a delimiter to specify up to 5-levels of hierarchy. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Variant

Pass as: `pr[0-9]{1,3}va`

Optional. The variant of the product. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Price

Pass as: `pr[0-9]{1,3}pr`

Optional. The price of a product. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Quantity

Pass as: `pr[0-9]{1,3}qt`

Optional. The quantity of a product. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Coupon Code

Pass as: `pr[0-9]{1,3}cc`

Optional. The coupon code associated with a product. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Position

Pass as: `pr[0-9]{1,3}ps`

Optional. The product's position in a list or collection. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Custom Dimension

Pass as: `pr[0-9]{1,3}cd[0-9]{1,3}`

Optional. A product-level custom dimension where dimension index is a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Custom Metric

Pass as: `pr[0-9]{1,3}cm[0-9]{1,3}`

Optional. A product-level custom metric where metric index is a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Action

Pass as: `pa`

Optional. The role of the products included in a hit. If a product action is not specified, all product definitions included with the hit will be ignored. Must be one of: detail, click, add, remove, checkout, checkout_option, purchase, refund. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Transaction ID

Pass as: `ti`

Optional. The transaction ID. This is an additional parameter that can be sent when Product Action is set to 'purchase' or 'refund'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Affiliation

Pass as: `ta`

Optional. The store or affiliation from which this transaction occurred. This is an additional parameter that can be sent when Product Action is set to 'purchase' or 'refund'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Revenue

Pass as: `tr`

Optional. The total value of the transaction, including tax and shipping. If not sent, this value will be automatically calculated using the product quantity and price fields of all products in the same hit. This is an additional parameter that can be sent when Product Action is set to 'purchase' or 'refund'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Tax

Pass as: `tt`

Optional. The total tax associated with the transaction. This is an additional parameter that can be sent when Product Action is set to 'purchase' or 'refund'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Shipping

Pass as: `ts`

Optional. The shipping cost associated with the transaction. This is an additional parameter that can be sent when Product Action is set to 'purchase' or 'refund'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Coupon Code

Pass as: `tcc`

Optional. The transaction coupon redeemed with the transaction. This is an additional parameter that can be sent when Product Action is set to 'purchase' or 'refund'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Action List

Pass as: `pal`

Optional. The list or collection from which a product action occurred. This is an additional parameter that can be sent when Product Action is set to 'detail' or 'click'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Checkout Step

Pass as: `cos`

Optional. The step number in a checkout funnel. This is an additional parameter that can be sent when Product Action is set to 'checkout'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Checkout Step Option

Pass as: `col`

Optional. Additional information about a checkout step. This is an additional parameter that can be sent when Product Action is set to 'checkout'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression List Name

Pass as: `il[0-9]{1,3}nm`

Optional. The list or collection to which a product belongs. Impression List index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression SKU

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}id`

Optional. The product ID or SKU. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression Name

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}nm`

Optional. The name of the product. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression Brand

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}br`

Optional. The brand associated with the product. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression Category

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}ca`

Optional. The category to which the product belongs. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression Variant

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}va`

Optional. The variant of the product. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression Position

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}ps`

Optional. The product's position in a list or collection. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression Price

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}pr`

Optional. The price of a product. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression Custom Dimension

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}cd[0-9]{1,3}`

Optional. A product-level custom dimension where dimension index is a positive integer between 1 and 200, inclusive. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Product Impression Custom Metric

Pass as: `il[0-9]{1,3}pi[0-9]{1,3}cm[0-9]{1,3}`

Optional. A product-level custom metric where metric index is a positive integer between 1 and 200, inclusive. Impression List index must be a positive integer between 1 and 200, inclusive. Product index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Promotion ID

Pass as: `promo[0-9]{1,3}id`

Optional. The promotion ID. Promotion index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Promotion Name

Pass as: `promo[0-9]{1,3}nm`

Optional. The name of the promotion. Promotion index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Promotion Creative

Pass as: `promo[0-9]{1,3}cr`

Optional. The creative associated with the promotion. Promotion index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Promotion Position

Pass as: `promo[0-9]{1,3}ps`

Optional. The position of the creative. Promotion index must be a positive integer between 1 and 200, inclusive. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.

### Promotion Action

Pass as: `promoa`

Optional. Specifies the role of the promotions included in a hit. If a promotion action is not specified, the default promotion action, 'view', is assumed. To measure a user click on a promotion set this to 'promo_click'. For analytics.js the Enhanced Ecommerce plugin must be installed before using this field.


text:
# Service Component Framework
The Service Component Framework is a set of specifications and default implementations of Spring-based service components.
The core component is Business Service component.
Here are some relative components inside this artifact:
- Security Context component: define the security relative data structure.
- Result component: define the returned data structure.
- Result Meta Data component: inside the Result component, define the meta data of the returned data collection.
- Pagination component: inside the Result Meta Data component, define the pagination relative data structure.


text:
Envisioned CSS
=========
Edward Tufte uses a distinctive style in his handouts: simple, with well-set
typography, extensive sidenotes, and tight integration of graphics and
charts. `envisioned-css` brings that style to HTML documents.

This project is directly inspired by and
based on [tufte-css](https://github.com/daveliepmann/tufte-css), [tablesaw](https://github.com/filamentgroup/tablesaw), [Pushy off-canvas navigation](https://github.com/christophery/pushy) and
[R Markdown Tufte Handout](http://rmarkdown.rstudio.com/examples/tufte-handout.pdf).

Getting Started
-
The file *index.html* is a self-describing demonstration document that walks through
the features of Envisioned CSS. The file *with-nav.html* demos the use of the navigation functionality. The live demos are at the following,
[creativeitch.co/nogginfuel/envisioned-css](http://creativeitch.co/nogginfuel/envisioned-css/index.html) and [creativeitch.co/nogginfuel/envisioned-css/with-nav.html](http://creativeitch.co/nogginfuel/envisioned-css/with-nav.html). They best summarize the project.

To use Envisioned CSS on your own website, just copy `envisioned.css`, `tablesaw-stackonly.css`, `nudge.css`, `Roboto-Regular.ttf`, `RobotoCondensed-Regular.ttf` and `RobotoMono-Regular.ttf` to your project
directory (or just copy the folder structure) and add the following to your HTML doc's head block:

```html
<link rel="stylesheet" href="css/envisioned.css"/>
<link rel="stylesheet" href="css/tablesaw-stackonly.css"/>
<link rel="stylesheet" href="css/nudge.css"/> <!-- if you want navigation -->

```

You will also need to copy `jquery.js`, `tablesaw-stackonly.js` and `nudge.min.js` (or the folder structure) add the following block prior to the closing `</body>` tag:

```html
<script src="js/jquery.js"></script>
<script src="js/tablesaw-stackonly.js"></script>
<script src="js/nudge.min.js"></script> <!-- if you want navigation -->

```

Contributing
-
If you notice something wrong or broken, please open an
issue. **Pull requests are very welcome**.

For best results, keep pull requests to one change at a time, and
test your fix or new functionality against `index.html` on screens as
small as smart phones and as big as HD or HD+ displays. If you don't have a mobile device handy, fake different devices with your browser's developer tools.

Inspiration
-
 - [Dave Liepmann - Tufte CSS](https://github.com/daveliepmann/tufte-css)
 - [Filament Group - Tablesaw](https://github.com/filamentgroup/tablesaw)
 - [Christopher Yee - Pushy](https://github.com/christophery/pushy)

License
-
The code is Released under the MIT license. *LICENSE.MD*.
The Roboto fonts are subject to the Apache 2.0 in the following directory font > Roboto folder > *LICENSE.TXT*.

repository: nogginfuel/envisioned-css

repo_name: nogginfuel/envisioned-css


text:
## 2 Wheel Drive Ultrasonic Robot:

Visit the following link to run the simulation.
https://www.tinkercad.com/things/dwx6vIenzva-2-wheel-drive-ultrasonic-robot

Just click 'Simulate' and then 'Start simulation'.

![Image description](ultrasonic.png)

repository: MrLingo/arduino-projects

repo_name: MrLingo/arduino-projects


text:
# GSDM
Graph Searcher for Discriminative Motifs

## Depends:
boost, mpi

On Ubuntu/Debian, they can be installed with command:
```
sudo apt-get install libboost-program-optioms-dev libboost-filesystem-dev libopenmpi-dev
```

If you want to use a MPI implemenations other than OpenMPI, like MPICH, that will be fine.

## Usage:

1. Use *GraphConverter* to convert the raw time series into graphs
2. Use *Search* to find the discriminative motifs
3. Use *Evaluator* to evaluate the found results.

More detailed constructions can be found in the related projects themselves, and/or directly run the program with --help.

repository: yxtj/GSDM

repo_name: yxtj/GSDM


text:
# tutorial of svscan ```v0.1.11-r3```

## How to run svscan with svscan

### 1. Prepare input bam

If your library is DNA, align your DNA library to hg19 with bwa mem, the hg19 fasta file can be any one which indexed by bwa mem.

If your library is RNA, align your RNA library to refined hg19 transcriptome(```/share/work1/wulj/database/svdb/rna/ref/ref.fa```), other transcriptome is not supported.

Your bwa must support SA tag operations. The alignment result BAM file must be sorted by coordinates, you can also mark duplications or remove duplications in the BAM file, svscan will not use any BAM record marked as duplication in furthur computation.

### 2. Execute svscan and generate result file

### which svscan to use

the svscan ```/share/work1/wulj/programs/bin/svscan``` is for my personal development usage, which might not be stable for production usage, if you want to experience the new features or latest improvement of svscan, try this one.

the svscan ```/share/work1/svpapp/gitlab/svpipe/bin/svscan``` is used for production, which should be stable and will not crash on execution, if you want to do some production sample analysis, try this one.

### general example
execute ```/share/work1/svpapp/gitlab/svpipe/bin/svscan -h``` for help and do whatever you can, each options or flag has detailed explanations which should be easily understood.

### dna exmaple(with arguments used in production for gene set 86)

   ```
   /share/work1/svpapp/gitlab/svpipe/bin/svscan
   --whiteminsrs 1
   --usualminsrs 3
   --whitemindps 2
   --usualmindps 3
   --whiteminsrr 3
   --usualminsrr 5
   --whitemindpr 3
   --usualmindpr 5
   --whiteminttr 2
   --usualminttr 3
   --min_seed_sr 1
   --min_seed_dp 2
   -b /share/A30050T/OncDir/vannul/work/svpipe1/guoyushuai712/Z19W05624-B1TA/output/vori/06.dedup/pre_Z19W05624-B1TA_C58.mkdup.sort.bam
   -g /share/work1/wulj/database/hg19/hg19.fa
   --whitelist /share/work1/wulj/database/svdb/dna/wlist/fwlist.86.tsv
   --samegenel /share/work1/wulj/database/svdb/dna/slist/fslist.86.tsv
   --blacklist /share/work1/wulj/database/svdb/dna/blist/fblack.all.tsv
   --bgbcf /share/work1/wulj/database/svdb/dna/bgbcf/bgbcf.bcf
   --fusionrpt /share/A30050T/OncDir/vannul/work/svpipe1/guoyushuai712/Z19W05624-B1TA/output/vori/08.sv/pre_Z19W05624-B1TA_C58.fs.tsv
   --genecrdlist /share/work1/wulj/database/svdb/extra/gene.coord.tsv
   -c /share/work1/wulj/database/svdb/dna/regs/fbcreg.86.bed
   -p /share/work1/wulj/database/svdb/dna/regs/fbpreg.86.bed
   --extraanno /share/work1/wulj/database/svdb/dna/extra/fext.86.bed
   -a /share/work1/wulj/database/svdb/dna/anndb/anno.sort.gz
   -o /share/A30050T/OncDir/vannul/work/svpipe1/guoyushuai712/Z19W05624-B1TA/output/vori/08.sv/pre_Z19W05624-B1TA_C58.sv.bcf
   -t /share/A30050T/OncDir/vannul/work/svpipe1/guoyushuai712/Z19W05624-B1TA/output/vori/08.sv/pre_Z19W05624-B1TA_C58.sv.tsv
   -v /share/A30050T/OncDir/vannul/work/svpipe1/guoyushuai712/Z19W05624-B1TA/output/vori/08.sv/pre_Z19W05624-B1TA_C58.sv.bam
   -e /share/A30050T/OncDir/vannul/work/svpipe1/guoyushuai712/Z19W05624-B1TA/output/vori/08.sv/pre_Z19W05624-B1TA_C58.fr.xlsx
   -f /share/A30050T/OncDir/vannul/work/svpipe1/guoyushuai712/Z19W05624-B1TA/output/vori/08.sv/pre_Z19W05624-B1TA_C58.fr.tsv
   -n 8
   ```

###  rna example(with arguments used in production for gene set 105)

   ```
   /share/work1/svpapp/gitlab/svpipe/bin/svscan
   --whiteminsrs 1
   --usualminsrs 3
   --whitemindps 2
   --usualmindps 3
   --whiteminsrr 3
   --usualminsrr 5
   --whitemindpr 3
   --usualmindpr 5
   --whiteminttr 2
   --usualminttr 3
   --min_seed_sr 1
   --min_seed_dp 2
   --whitemindep 2
   --usualmindep 2
   --rna
   --idpdropmask 38003584
   --ndbdropmask 40101760
   -b /share/A30050T/OncDir/svpapp/wangx9211/WX0306/output/vori/06.dedup/PYZB305R4000_B28.mkdup.sort.bam
   -g /share/work1/svpapp/database/svdb/rna/ref/ref.fa
   --whitelist /share/work1/svpapp/database/svdb/rna/wlist/fwlist.105.tsv
   --samegenel /share/work1/svpapp/database/svdb/rna/slist/fslist.105.tsv
   --blacklist /share/work1/svpapp/database/svdb/rna/blist/fblack.all.tsv
   --fusionrpt /share/A30050T/OncDir/svpapp/wangx9211/WX0306/output/vori/08.sv/PYZB305R4000_B28.fs.tsv
   --genecrdlist /share/work1/svpapp/database/svdb/extra/gene.coord.tsv
   -c /share/work1/svpapp/database/svdb/rna/regs/fbcreg.105.bed
   -p /share/work1/svpapp/database/svdb/rna/regs/fbpreg.105.bed
   --extraanno /share/work1/svpapp/database/svdb/rna/extra/fext.105.bed
   -a /share/work1/svpapp/database/svdb/rna/anndb/anno.sort.gz
   -o /share/A30050T/OncDir/svpapp/wangx9211/WX0306/output/vori/08.sv/PYZB305R4000_B28.sv.bcf
   -t /share/A30050T/OncDir/svpapp/wangx9211/WX0306/output/vori/08.sv/PYZB305R4000_B28.sv.tsv
   -v /share/A30050T/OncDir/svpapp/wangx9211/WX0306/output/vori/08.sv/PYZB305R4000_B28.sv.bam
   -e /share/A30050T/OncDir/svpapp/wangx9211/WX0306/output/vori/08.sv/PYZB305R4000_B28.fr.xlsx
   -f /share/A30050T/OncDir/svpapp/wangx9211/WX0306/output/vori/08.sv/PYZB305R4000_B28.fr.tsv
   -n 8
   ```
### database files
You may need to do analysis with some other gene set of DNA or RNA library, all the DNA and RNA database files available are in ```/share/work1/wulj/database/svdb```, they are distributed in a standardized directory tree and follow regulary nomenclature rules. In fact, you just replace the geneset names with the other ones, such as 105 to 31 in ```RNA example``` or 457 to 655 in ```DNA example``` will generate the commands needed to do 31 gene set RNA svscan and 655 gene set svscan anslysis.

All change history of database file can be tracked in its gitlab repo at [svdb](http://<IP_ADDRESS>:10080/wulj3253/svdb)

### generate svscan sh file automatically
Yeah, you can generate svscan bash script automatically. First put the bam paths in a plain text file with each path on one line, make sure no duplicated bam names appears in the same bamlist file.
#### automatically generate batch svscan scripts for a DNA bamlist
```/share/work1/wulj/programs/bin/prepDSV <in.list> <gset> <outdir> <optargs>```
#### automatically generate batch svscan scripts for a RNA bamlist
```/share/work1/wulj/programs/bin/prepRSV <in.list> <gset> <outdir> <optargs>```

|positional arguments| explanations
|--------------------|--------------
|in.list|you input bamlist
|gset|gene set of your bams in the input bamlist
|outdir|where to output all the scripts of you svscan
|optargs|optional arguments(does not needed)

after execution, you will get all the scripts in the outdir, and you can execute theme or qsub to computation nodes to run. all the arguments used are the same as svscan used in production. make sure the right version svscan is in your environment variable, if not, export the proper one before execution each script.

## How to run svscan with svpapp

Get svpapp of for your system from [svpapp release repository](http://<IP_ADDRESS>:10080/wulj3253/svpapp) and install it.

Open svpapp->Help->Manual for help, you are welcome to run svscan with svapapp, which will save you a lot of valuable lifetime.


text:
[index](../../nb/api/index.md)
### void()

The shape is marked as a void.

It will be used in subtractive operations but not additive operations.

See: [noVoid](../../nb/api/noVoid.md).

![Image](void.md.$2.png)

Box().fitTo(Triangle().void()).fit(Arc(2)) fits a void triangle into the box.

In the later fitting with an circle the void triangle continues to assert a hole.

```JavaScript
Box()
  .fitTo(Triangle().void())
  .fit(Arc(2))
  .view()
  .note(
    'Box().fitTo(Triangle().void()).fit(Arc(2)) fits a void triangle into the box.'
  )
  .note(
    'In the later fitting with an circle the void triangle continues to assert a hole.'
  );
```

repository: jsxcad/JSxCAD

gha_language: JavaScript

repo_name: jsxcad/JSxCAD


text:
# Meal Tracker App

#### JavaScript skill demonstration project:  Week 2 - August, 2016

#### By Jim Klein

## Description

Meal Tracker App is a sample application for demonstrating basic proficiency in Angular2, TypeScript, and related build tools used to create simple web apps.

A user can add, edit and view meal items, which include a name, description, and calorie count.   Additional functionality allows the user to filter high/low calorie items and view the total calories of the items in the list in a box styled using SASS.

## Setup/Installation Requirements
* Install this project by cloning this repository:
    https://github.com/JimKlein325/AngularProj.git
* Install globals as needed (gulp, bower, sass, typescript, typescript packages.)
  - npm install gulp -g
  - npm install bower -g
  - gem install sass
  - npm install typescript -g
  - apm install atom-typescript
* Run $ bower install to install all packages saved to the manifest file bower.json.
* Run $ npm install to install all packages saved to the manifest file package.json.
* In your project directory run:  $ bower install bootstrap --save*
In your project directory run:  $ bower init
* In your project directory run:  $ gulp bower
* In your project directory run:  $ gulp build
* In your project directory run:  $ gulp serve
* View the app in your browser at "localhost:3000"

## Technologies Used
* Angular 2 JS MVC:  Views implemented in templates with Contoller classes and Model objects defined using TypeScript.
* Additional Angular 2 concepts and techniques:  Components, directives, views, event emitters, two-way data binding, forms and pipes.
* Node.js
* Node Package Manager to manage build dependencies.
* Gulp, a JavaScript package, to manage development workflow.
* Bower to manage front-end dependencies (optimized for frontend packages like Bootstrap and jQuery).
* Sass, a CSS preprocessor that lets you use things like variables and nesting to better organize your CSS.
* HTML, JavaScript, CSS, SCSS
* Bootstrap

### License
MIT License  Copyright (c) 2016 **Jim Klein**


text:
# Android-DNG-fixdate
## Fix the timestamps in DNG files generated by the Android Camera2 API

This is a Perl / ExifTool script to fix the files created by the Android Camera2 DNG API.

the API has a bug, causing the creation Timestamp to be set at the instance creation and not at the image capture time:
[Issue 157238:	Incorrect Date on DNG Images from Camera2 API](https://code.google.com/p/android/issues/detail?id=157238)

I included the Perl source and a W32 executable created with pp (PAR Packager).

For usage instructions, execute the script with -h or --help options.

repository: marcocucinato/Android-DNG-fixdate

repo_name: marcocucinato/Android-DNG-fixdate


text:
# Windows on CircleCI Preview Docs
Temporary docs on how to use the pre-release preview of Windows jobs on CircleCI. We will publish these docs in the main Docs section of our website soon.

## Prerequisites to try out Windows on CircleCI

- [ ] Your organization is using a [Performance plan](https://circleci.com/pricing/usage/) or is on a Performance plan trial
- [ ] Your project has [pipelines enabled](https://circleci.com/docs/2.0/build-processing/)

## Requesting access to Windows Preview

If you would like to request access to Windows preview, please do so [in this Google Form](https://docs.google.com/forms/d/e/1FAIpQLSfspug2MP0eTK8eRC1_FpiDQzNHkk8a36fflN_za29CwGzGoQ/viewform?usp=sf_link), and we’ll get in touch as soon as possible.

## Please Read This Before Proceeding

* Windows support on CircleCI is currently **in the preview phase**. Some parts of the product might have bugs.
* The standard functionality like caching, workspaces, SSH into the build is available for Windows jobs today. If you see any issues when using these features, those are probably bugs. Please file an issue on this repository if you run into any issues.
* If you are on a **Performance plan**, Windows jobs are charged at 40 credits/minute. If you are on a **Performance trial**, you won’t be charged. Please keep in mind that the pricing for Windows jobs can change in the future.

## What are Windows jobs?

Historically, CircleCI has supported `docker`, `machine`, and `macos` [executors](https://circleci.com/docs/2.0/configuration-reference/#docker--machine--macosexecutor).

With the introduction of our new Windows machine jobs, is now possible to run jobs in your pipelines in a Windows environment.

Windows jobs run in dedicated VMs, similar to the `machine` executor. A VM gets created for your Windows job, and gets destroyed once the job finishes.

## What software is available in the Windows VMs?

Right now we offer a single Windows image, with the following contents:

* `windows-server-2019`
  * Based on Windows Server 2019.
  * Docker Enterprise Edition with support for Docker 1809 Windows containers. Linux containers on Windows are currently not supported.
  * Chocolatey, NuGet.

We are already working on adding the most commonly requested dependencies like .NET Framework and Visual Studio to the Windows image.

**NOTE** The following features/software is not currently available for the Windows executor:

- Docker Layer Caching

## Getting started

### Hello, World! with the Windows Orb

```YAML
version: 2.1

orbs:
  win<EMAIL_ADDRESS>
jobs:
  build:
    executor: win/preview-default
    steps:
      - checkout
      - run: echo 'Hello, Windows'
```

Just paste this snippet into the `.circleci/config.yml` file in your Windows project to run a `Hello, Windows!` example.

### The Windows orb

The Windows Orb (the<EMAIL_ADDRESS>string) is the easiest way to get started with Windows. It provides a default set of options that you can customise.

To view the source code for our preview orb, [install our CLI tool](https://circleci.com/docs/2.0/local-cli/#installation) and run:

```bash
circleci-cli orb source<EMAIL_ADDRESS>```

[Learn more about Orbs here.](https://circleci.com/orbs/)

### Configuration

Once the prerequisite conditions are met, set up a standard `.circleci/config.yml` file and define a Windows executor. The preview orb provides a powershell `shell` by default.

Here is how the `.circleci/config.yml` file would look like with a Windows executor:

```YAML
version: 2.1

orbs:
  win<EMAIL_ADDRESS>
jobs:
  build:
    executor: win/preview-default
    steps:
      - checkout
      - run: echo 'Hello, Windows'
```

With this executor in place, define the rest of the configuration file to meet the project's needs. For more information on writing a standard CircleCI config, check out our [documentation](https://circleci.com/docs/2.0/configuration-reference/).

> A low-effort way to get started is by creating an empty project on CircleCI consisting solely of `.circle/config.yml` file. Copy and commit our `samples/test-harness.yml` file to see a green Windows job in action.

### Shells

There are three shells that you can use to run job steps on Windows:

* PowerShell (default in the Windows Orb)
* Bash
* Command

You can configure the shell at the job level or at the step level. So you can mix Bash and Powershell in the same job.

If you’d like to use Bash or Command instead of Powershell, add a `shell:` argument in the `executor:` section at the job level or in the step declaration:

```YAML
version: 2.1

orbs:
  win<EMAIL_ADDRESS>
jobs:
  build:
    executor:
      name: win/preview-default
      shell: bash.exe
    steps:
      - checkout
      - run: ls -lah
      - run:
          command: ping circleci.com
          shell: cmd.exe
      - run:
          command: echo 'This is powershell'
          shell: powershell.exe
```

## Questions and discussion

We have a lengthy roadmap in place to port our most-loved features over to support Windows pipelines, and to add additional, Windows-specific features. We welcome your feedback on the existing beta product, and on design requests.

Please discuss Windows design in the Issues section of this repo.

### Frequently asked questions

> What exact version of Windows are you using?

We use Windows Server 2019 Datacenter Edition, the Server Core option.

> What is installed on the machine?

We install Git, Chocolatey, and 7zip. We don’t install any other dependencies at the moment.

If you need other software installed on the Windows machines, please open a GitHub issue and explain what software do you need, which versions of it do you use, and why is it important to you to have this software pre-installed in the machines.

> What is the machine size?

The Windows machines have 4 vCPUs and 15GB RAM.

> Did you implement any I/O optimizations?

Not right now. If there are any specific optimizations in mind that would be useful, please let us know in the GitHub issues.

> Can I use Powershell in my CircleCI config?

Yes. The `win/preview-default` executor includes Powershell as the default shell. So in [this example](https://github.com/CircleCI-Public/windows-preview-docs/blob/master/samples/test-harness.yml#L13), the steps are being run as Powershell commands.

### Reporting security issues

We take the security of your applications seriously. In addition to our extensive internal testing, we have gone through an external security audit for the Windows platform before making it available to the preview users.

If you believe you’ve found a security issue in CircleCI for Windows, please follow the instructions on this page to report the issue:

[https://circleci.com/security/](https://circleci.com/security/)

repository: macat/windows-preview-docs

repo_name: macat/windows-preview-docs


text:
---
layout: post
title: echidna
Date: 2009-06-11 11:56:00
tags: [misc]
---

Echidna e ornitorinco sono dei mammiferi ovipari appartenenti all'ordine Monotremata. Ecco dei brani tratti dall'articolo del New York Times che mi ha catturato:

> The long-beaked echidna is a genuine living link between reptiles and birds on one branch, and more familiar placental mammals like ourselves on the next.

>Another avianlike feature is the cloaca, the single orifice through which an echidna or platypus voids waste, has sex and lays eggs, and by which the group gets its name. Yet through that uni-perforation, a male echnida can extrude a four-headed penis.

>“They’re one of the most pacifistic mammals,” Dr. Rismiller said. “Nobody bothers them; they don’t bother anybody. There’s a lot we could learn from them.”  Among humans, the neocortex that allows us to reason and remember accounts for 30 percent of the brain; in echidnas, that figure is 50 percent.

[http://www.nytimes.com/2009/06/09/science/09angi.html](http://www.nytimes.com/2009/06/09/science/09angi.html)_

repository: aadm/the-liquid-steppe

repo_name: aadm/the-liquid-steppe


text:
# Basic Linux and Bash Commands

How many of these commands can you remember?

Applicable in Linux and Mac world (most of them). Yes, there will be a quiz at some point.

https://www.linuxtrainingacademy.com/linux-commands-cheat-sheet/

https://www.codecademy.com/learn/learn-the-command-line

vi/vim editor: https://linuxacademy.com/cp/modules/view/id/523

Some of these might require a subscription. If you want something free: https://github.com/NCGAS/PonyLinux

[Back to Table of Contents](https://github.com/Pomona-ITS/DailyChallenges/blob/main/README.md)

repository: Pomona-ITS/DailyChallenges

repo_name: Pomona-ITS/DailyChallenges


text:
# InstagramAuthViewController
> A ViewController for Instagram authentication.

A `UIViewController` subclass that handles showing the Instagram login page, the authentication dance and finally returning the access token that can be used to communicate with the Instagram API afterwards.

Inspired by [Instagram-Auth-iOS](https://github.com/Buza/Instagram-Auth-iOS). Used [PhotoBrowser](https://github.com/MoZhouqi/PhotoBrowser) as a stepping stone. I rewrote the login part in Swift, replced third-party library code with built-in Cocoa Touch frameworks and made it reusable.

![](http://i.imgur.com/d69wCaE.jpg)

## Requirements

- iOS 8.0+
- Xcode 7.3<

## Installation

#### Manually
1. Download or clone the repo.
2. Open the _source_ folder.
3. Add ```InstagramAuthViewController.swift``` to your project.
4. Profit(?)!

## Usage example

* Go to Instagram's [developer portal](https://www.instagram.com/developer/) and register your application.
* Take note of the **client ID**, **client secret** and **redirect URI** values.

```swift
let clientId = "<YOUR CLIENT ID>"
let clientSecret = "<YOUR CLIENT SECRET>"
let redirectUri = "<YOUR REDIRECT URI>"
```

#### Storyboards
* Simply add the ```InstagramAuthViewController``` as the ```UIViewController```'s class in the Identity inspector.

![](http://i.imgur.com/7GbxV0j.png)

```swift
let instagramAuthViewController = segue.destinationViewController as! InstagramAuthViewController
instagramAuthViewController.delegate = self
instagramAuthViewController.clientId = clientId
instagramAuthViewController.clientSecret = clientSecret
instagramAuthViewController.redirectUri = redirectUri
```

#### Programmatically

* Initialize an instance of `InstagramAuthViewController` and present it like a normal ViewController.

```swift
let instagramAuthViewController = InstagramAuthViewController(clientId: clientId, clientSecret: clientSecret, redirectUri: redirectUri)
instagramAuthViewController.delegate = self
presentViewController(instagramAuthViewController, animated: true, completion: nil)
```

* Either way, don't forget to implement the ```InstagramAuthDelegate```.

```swift
func instagramAuthControllerDidFinish(accessToken: String?, error: NSError?) {
    if let error = error {
        print("Error logging in to Instagram: \(error.localizedDescription)")
    } else {
        print("Access token: \(accessToken!)")
    }
}
```

## Contribute & Bug Fixes

I would love for you to contribute to **InstagramAuthViewController**, check the ``LICENSE`` file for more info. Pull requests, bug fixes, improvements welcome.

## Meta

Isuru Nanayakkara – [@IJNanayakkara](https://twitter.com/IJNanayakkara) –<EMAIL_ADDRESS>
Distributed under the MIT license. See ``LICENSE`` for more information.

[https://github.com/Isuru-Nanayakkara](https://github.com/Isuru-Nanayakkara)


text:
# Goal
To auto Resize a kubernetes volume if it starts to run out of space.

## Usage

This project is intended to be passed in the PVC you wish to control. The PVC will auto get resized with by an increase

## TODO

- [x] Create github action build script
- [x] create empty project
- [ ] Add ability to auto resize PVC
- [ ] Determine if StatefulSets can be auto resized
- [ ] Add e2e tests
- [ ] Add fake tests
- [ ] Add capability to detect what type of threshold triggers resize
    - [ ] percentage free space
    - [ ] amount free space
- [ ] add metrics for failure
- [ ] add warnings or triggers

gha_language: Go