text:
---
title: Clients
section: Docs
order: 8
---

Clients are aggregations of all the interactions possible with the [colonyNetwork](https://github.com/JoinColony/colonyNetwork) smart contracts that can be used to easily integrate Colony into your JavaScript application or service. Each client is a subclass of the `ContractClient` superclass (see [ContractClient](/colonyjs/api-contractclient) for more information).

==TOC==

## Initializing Clients

colonyJS makes it simple to create a new instance of a `ContractClient` subclass. Let's take a look at examples for each subclass.

### ColonyNetworkClient

You can create an instance of `ColonyNetworkClient` by providing an [adapter](/colonyjs/docs-adapters):

```js

const networkClient = new ColonyNetworkClient({ adapter });

await networkClient.init();

```

### ColonyClient

The easiest way to initialize the `ColonyClient` is to ask the `ColonyNetworkClient` for a new instance:

```js

const colonyClient = await networkClient.getColonyClient(colonyId);

```

You _could_ also create an instance of `ColonyClient` by providing an [adapter](/colonyjs/docs-adapters) and a query:

```js

const colonyClient = new ColonyClient({ adapter, query });

await colonyClient.init();

```

### MetaColonyClient

The easiest way to initialize the `MetaColonyClient` is to ask the `ColonyNetworkClient` for a new instance:

```js

const metaColonyClient = await networkClient.getMetaColonyClient();

```

You _could_ create an instance of `MetaColonyClient` by providing an [adapter](/colonyjs/docs-adapters) and a query:

```js

const metaColonyClient = new MetaColonyClient({ adapter, query });

await metaColonyClient.init();

```

### TokenClient

The `TokenClient` is initialized for you when you ask the `ColonyNetworkClient` for a new instance of `ColonyClient`:

```js

const tokenClient = colonyClient.token;

```

You _could_ create an instance of `TokenClient` by providing an [adapter](/colonyjs/docs-adapters) and a query:

```js

const tokenClient = new TokenClient({ adapter, query });

await tokenClient.init();

```

repository: felixniemeyer/colonyJS

repo_name: felixniemeyer/colonyJS


text:
---
author: 'David Aragonés'
---

### How did you get into design?

I began many years ago using Aldus Photostyler, 3D Studio and other old-fashioned tools. However being honest. I was not aware of design until I read a Nielsen article talking about usability. At that moment I decided to drop out my studies of engineering and become a designer.

### Why are you at Liferay?

I believe when you're in a position to have gotten so much, the gift at this point is giving back to society. Liferay does it and I’m proud to be part of that.

### Best lifehack?

Add sofrito to everything! It’s a mix of ingredients: fried onion, garlic, and pepper.

### Where do you find #inspiration?

Talking with my colleagues and friends.

### One thing you are getting better at?

Information design. I’m studying a distance learning career related.

### If you weren't designing, what would you be doing?

I used to play Handball, Golf, and Soccer so… probably doing research for a Sports Data Company. I used to travel scouting players and watching competitions.

### What does your desktop/home screen look like?

Currently, I have an image of Amy Adams in “The Arrival” holding up a whiteboard with the word “Humans”.

### Favorite tool?

The best tool ever made. Expression Blend for Windows.

### Favorite hotkey?

The classic: Ctrl + Alt + Supr.

### Favorite place to visit?

My hometown, Valencia.

### Advice for ambitious designers?

I like a sentence from Satya Nadella CEO of Microsoft: “You join here, not to be cool, but to make others cool. When you focus on helping others, on adding value, people are naturally attracted to you and your brand”. — Success begins with continuous learning and sharing knowledge.

### Last book you read?

“Prospero burns” by Dan Abnett. It’s the 14th novel of the Warhammer 40.000 Horus Heresy collection.

### Favorite superhero

Monkey D. Luffy.

### Most effective productivity booster?

A schedule. Eat the elephant one bite at a time scheduling all the tasks.

### What keeps you up at night?

In that time window, I use to paint miniatures without being interrupted. I love it!

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: JavaScript

gha_license_id: MIT

license_type: permissive


text:
Directory for text and HTML email templates.

For HTML emails generation, we use the [mjml framework](https://mjml.io/).
The mjml [online editor](https://mjml.io/try-it-live) can be used for quickly visualizing the output of a mjml template.

repository: OriginProtocol/origin

repo_name: OriginProtocol/origin


text:
	<picture>
		<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/rome/brand/main/PNG/logo_white_yellow_transparent.png" width="700">

	</picture>

[![MIT licensed][mit-badge]][mit-url]
[![Discord chat][discord-badge]][discord-url]
[![CI on main][ci-badge]][ci-url]
[![npm version][npm-badge]][npm-url]
[![VSCode version][vscode-badge]][vscode-url]

[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg?color=brightgreen
[mit-url]: LICENSE
[discord-badge]: https://img.shields.io/discord/678763474494423051?logo=discord&label=discord&color=brightgreen
[discord-url]: https://discord.gg/rome
[ci-badge]: https://github.com/rome/tools/actions/workflows/main.yml/badge.svg
[ci-url]: https://github.com/rome/tools/actions/workflows/main.yml
[npm-badge]: https://img.shields.io/npm/v/rome/latest?color=brightgreen
[npm-url]: https://www.npmjs.com/package/rome/v/latest
[vscode-badge]: https://img.shields.io/visual-studio-marketplace/v/rome.rome?color=brightgreen&label=vscode
[vscode-url]: https://marketplace.visualstudio.com/items?itemName=rome.rome

**Rome** is a formatter, linter, bundler, and [more](https://rome.tools/) for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS.

**Rome** is designed to replace [Babel](https://babeljs.io/), [ESLint](https://eslint.org/), [webpack](https://webpack.js.org/), [Prettier](https://prettier.io/), [Jest](https://jestjs.io/), and others.

**Rome** unifies functionality that has previously been separate tools. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelizing work, caching, and configuration.

**Rome** has strong conventions and aims to have minimal configuration. Read more about our [project philosophy](https://docs.rome.tools/internals/philosophy/).

**Rome** is [written in Rust](https://rome.tools/blog/2021/09/21/rome-will-be-rewritten-in-rust.html).

**Rome** has first-class IDE support, with a sophisticated parser that represents the source text in full fidelity
and top-notch error recovery.

**Rome** is [MIT licensed](https://github.com/rome/tools/tree/main/LICENSE) and moderated under the [Contributor Covenant Code of Conduct](https://github.com/rome/tools/tree/main/CODE_OF_CONDUCT.md).

## Documentation

Check out our [homepage](https://rome.tools) to learn more about Rome, or directly head to the [Getting Started guide](https://docs.rome.tools/guides/getting-started/) if you want to start using Rome.

## Technical documentation

Browse Rome's internal [Rust API Documentation] if you're interested to learn more about how Rome works.

[Rust API Documentation]: https://rustdocs.rome.tools/

repository: rome/tools

branch_name: refs/heads/main

gha_language: Rust

repo_name: rome/tools


text:
---
title: Test Dependencies
description: Sometimes, tests require certain preconditions or events to occur prior to their execution or else they will not succeed. For example, you may only be able to verify that users are able to modify their accounts if you have first verified that an account can be established.
---

# Test Dependency

Sometimes, tests require certain preconditions or events to occur prior to their execution or else they will not succeed. For example, you may only be able to verify that users are able to modify their accounts if you have first verified that an account can be established.

To address this issue, Pest offers the `depends()` method, which allows a "Child" test to specify that it depends on one or more "Parent" tests.

```php
test('parent', function () {
    expect(true)->toBeTrue();

    $this->assertTrue(true);
});

test('child', function () {
    expect(false)->toBeFalse();
})->depends('parent');
```

In this example, the `child` test will be triggered once the `parent` test has successfully completed.

If the `parent` test fails, the `child` test will be bypassed and an informative message will be displayed in your test results.

```php
test('parent', function () {
    expect(true)->toBeFalse();
});

test('child', function () {
    expect(false)->toBeFalse();
})->depends('parent');
```

The example above results in the following output:

It is important to remember that the `it()` function prefixes the test with "it" by default. Thus, when referencing the test name via the `depends()` method, you should include the "it " prefix.

```php
it('is the parent', function () {
    expect(true)->toBeTrue();
});

test('child', function () {
    expect(false)->toBeFalse();
})->depends('it is the parent');
```

Results is:

Parent tests can even provide return values that can be accessed as arguments in the `child` test.

```php
test('parent', function () {
    expect(true)->toBeTrue();

    return 'from parent';
});

test('child', function ($parentValue) {
    var_dump($parentValue); // from parent

    expect($parentValue)->toBe('from parent');
})->depends('parent');
```

It is also possible to add multiple dependencies to a test. However, all parent tests must pass, and the values returned by each test will be available as function parameters in the same order as the specified dependencies.

```php
test('a', function () {
    expect(true)->toBeTrue();

    return 'a';
});

test('b', function () {
    expect(true)->toBeTrue();

    return 'b';
});

test('c', function () {
    expect(true)->toBeTrue();

    return 'c';
});

test('d', function ($testA, $testC, $testB) {
    var_dump($testA); // a
    var_dump($testB); // b
    var_dump($testC); // c
})->depends('a', 'b', 'c');
```

---

While test dependencies are uncommon, they can be useful for optimizing your tests and minimizing the need to recreate resources repeatedly. In the next chapter, we will explore how you can create plugins: [Creating Plugins](/docs/creating-plugins)

repository: mnaderian/docs

repo_name: mnaderian/docs


text:
---
layout: essay
type: essay
title: How Do I Ask A Question?
published: false
# All dates must be YYYY-MM-DD format!
date: 2019-01-24
labels:
  - Smart Questions
  - Problem Solving
---

# The Mindset
Programming is by no means an easy feat. There is guaranteed to be a problem, or problems, that will stump the programmer and leave them dead in their tracks. At that point maybe it’s the best time to get some help from someone of higher knowledge.. or is it? We ask questions to get solutions to our problems, but we must'nt be too eager to obtain this help without first attempting to find the answer ourselves. The philosophy behind "smart" questions and "not smart" questions resides behind the principle of putting in your maximum effort into a problem before invoking someone else.

# What We Should and Shouldn't Do
Eric Steven Raymond had written a rant that shapes itself into a practical guide on how to ask a question the correct and appropriate way. So, what is considered a “smart” question? According to [Raymond’s essay](http://www.catb.org/esr/faqs/smart-questions.html),  An example of this is provided on stack overflow [here](https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) and is shown below.

Topic: RegEx match open tags except XHTML self-contained tags

Question:

I need to match all of these opening tags:

                ```
                <p>
                <a href="foo">
                ```

But not these:

                ```c
                <br />
                <hr class="foo" />
                ```

I came up with this and wanted to make sure I've got it right. I am only capturing the a-z.

                ```c
                <([a-z]+) *[^/]*?>
                ```

I believe it says:

- Find a less-than, then
- Find (and capture) a-z one or more times, then
- Find zero or more spaces, then
- Find any character zero or more times, greedy, except /, then
- Find a greater-than

Do I have that right? And more importantly, what do you think?

From this post it is evident that the questioner made an attempt to the problem by providing his experience and attempt at the problem. They display an effort and commitment to findind a solution which the questioner and take to mean this is a question worth answering. On the contrary, a “not smart” question this [post](https://stackoverflow.com/questions/388470/stacktrace-information-preserving-paths-of-original-source?answertab=votes#tab-top)

 Topic: Stacktrace information preserving paths of original source

 Question:

 I am using C#.net for application development.

 To log and debug exceptions, I use the stacktrace.

 I executed my application on another machine, but when errors occur it refers to the path of my development machine.

                 ```
                 Ex:   D:\Projects\xyz.CS line no :12 _Error_message_here.
                 ```

 Why does it trace to the path on my development machine path even though I am running the application on another machine?

This and yet, there are those that claim there is no such thing as a dumb question.

# But Why?
We must understand that the programmers that answer these questions are people with In fact, they are answering questions voluntarily. The answerer wants to answer the question or else they would not be subscribed to a forum such as Stack Overflow or even bother to respond. It is not their responsibility to serve whatever of your problems you throw at them. The methodology mentioned in Raymond's guide serves to bring more structure to the question and answer system. This structure, of which, is rooted on the fundamentals of good manners and courtesy.

repository: davidvliang/old-profile

repo_name: davidvliang/old-profile


text:
# Fagia Dev Machine

Vagrant + Ansible provisioning of a development virtual machine based on Ubuntu 16.04 + ElementaryOS desktop environment, provisioned with:

* Google Chrome browser (latest stable)
* MariaDB (latest stable available for Ubuntu Xenial)
* Apache HTTPD (latest stable)
* PHP (latest stable or older, depending on config.yml setting)
* MailHog 0.2.1
* Filezilla (latest stable)
* Sublime Text 3 (latest stable)
* DBeaver (latest stable community edition available for Ubuntu Xenial)
* Java JDK 1.8
* Ruby 2.3.1
* Gradle (latest stable)
* Maven (latest stable)
* IntelliJ (latest stable community edition)
* PyCharm (2017.3.3 community edition)
* LibreOffice (latest stable)
* Docker (latest stable community edition)
* Camunda Modeler 1.14.0
* your additional roles
* your workspace git repositories

## Setup:

In the host machine, install the latest stable versions of:

* Git
* Vagrant
* VirtualBox

Once finished with the installation of the programs above, open a command terminal, navigate to a base directory of your choice (avoid directory paths with blanks) and from here:

	git config --global core.autocrlf input
	git clone https://github.com/fagia/devmachine.git your-devmachine-name-here
	cd your-devmachine-name-here

Copy the file config.yml.template to config.yml and, in the copied file, fill in the configuration informations.

Then:

	vagrant up

Hold on, this will take a while. Once the initial setup process is complete, you should be able to log into the fully provisioned development virtual machine (use the credentials that you entered in the config.yml file).

Happy coding!

repository: fagia/devmachine

repo_name: fagia/devmachine


text:
# Contributing to DynaHist

## Found a bug?

If you find a bug/issue in the source code or a mistake in the documentation,
you can help us by
[creating an issue](https://github.com/dynatrace-oss/dynahist/issues/new/choose)
here on GitHub. Please provide an issue reproduction. Screenshots are also
helpful.

You can help the team even more and submit a pull request with a fix.

## Want a feature?

You can request a new feature also by
[creating an issue](https://github.com/dynatrace-oss/dynahist/issues/new/choose).

## Submitting a pull request

Before you submit your pull request (PR) consider the following guidelines:

- Search GitHub for an open or closed issue or PR that relates to your
  submission.
- Fork DynaHist into your namespace by using the fork button on github.
- Make your changes in a new git branch: `git checkout -b my-fix-branch master`
- Create your patch/fix/feature including appropriate tests and view the coverage of your code `build/reports/jacoco/test/html`.
- Add well documented javadoc to your changes.
- Make sure licenses and code format are up to date using `gradle licenseFormat` and `gradle googleJavaFormat`.
- Commit your changes using a descriptive commit message.
- Before pushing to Github make sure that `gradle build` runs successfully.
- Push your branch to GitHub.
- Create a new pull request from your branch against the dynatrace-oss:master
  branch.
- If we suggest changes then:
  - Make the required updates.
  - Make sure that `gradle build` runs successfully.
  - Make sure your branch is up-to-date and includes the latest changes on master

repository: szjerrywang/dynahist

repo_name: szjerrywang/dynahist


text:
#1.1.0 ( 2016 - June - 8 )
## updates
added flight paths to the site.
##completed the following tasks:
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/976e568a0acf46b1cccbefc291a069502a24e44f) SMF-134	task - decide to create shapes objects
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/976e568a0acf46b1cccbefc291a069502a24e44f) SMF-138	task - Geo create drone icon / safety zone object
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/a78ac8c1f6b59cf6bbab7ab367d9d08db9a3c688) MF-136	task - Geo Create Flight path object
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/a78ac8c1f6b59cf6bbab7ab367d9d08db9a3c688) SMF-137	task - Geo create BS icon / size object

#1.0.2 ( 2016 - May - 13 )
##Updates:
Added automatic updates on ticket and drone data via pull method. The updates take place every 3 seconds.

##completed the following tasks:
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/1f9028d494edaef4740fb4c8658a79075cff5400) SMF-142	task - Ng2 - find or create wrapper for google map api
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/1f9028d494edaef4740fb4c8658a79075cff5400) SMF-143	task - NG2 - update dashboard templet
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/1f9028d494edaef4740fb4c8658a79075cff5400) SMF-144	task - NG2 - update other templets
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/1f9028d494edaef4740fb4c8658a79075cff5400) SMF-135	task - decide to push or pull data to client

##Notes:
No code was broken.

#1.0.1 ( 2016 - May - 13 )
##completed the following tasks:
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3e3d6e6140dffd5658c5b5f3539fbec80216843a) SMF-145	task - Merge WL and MM
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3e3d6e6140dffd5658c5b5f3539fbec80216843a) SMF-117	Task: add MC to website
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3e3d6e6140dffd5658c5b5f3539fbec80216843a) SMF-115	Task: add Basestation to Website
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3e3d6e6140dffd5658c5b5f3539fbec80216843a) SMF-118	Task: add Basestation to Website
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/fa15bbff89a7d65301d2fd660cce3d0abd1412c1) SMF-123	task - DB - Create Global variables Schema
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/fa15bbff89a7d65301d2fd660cce3d0abd1412c1) SMF-127	task - WL - add Global variables routes / Controller
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/d94a668b0fcebbe0a4b599468c22b1f262a6d1e2) SMF-112	Task: Create BS routes / Controler
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/d94a668b0fcebbe0a4b599468c22b1f262a6d1e2) SMF-125	task - WL - add BS routes / Controller
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/4186ef1e71763aa017d2c8d36adf6943166a5a88) SMF-126	task - WL - update drone routes / Controller
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/7696c4d217948b2b8121d9801003cdcfcef8400b) SMF-124	task - WL - add missions routes / Controller
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/610861ce48af7355e7f49ad22b752f273a66e50e) SMF-110	task - DB - update Drone Schema
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/610861ce48af7355e7f49ad22b752f273a66e50e) SMF-111	Task: add Base Station Schema to the DB
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/610861ce48af7355e7f49ad22b752f273a66e50e) SMF-116	Task: add Missions Schema to the DB
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/610861ce48af7355e7f49ad22b752f273a66e50e) SMF-147	crete geojson model
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/610861ce48af7355e7f49ad22b752f273a66e50e) SMF-148	refactor model lat / long to use geojson objects
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3e3d6e6140dffd5658c5b5f3539fbec80216843a) SMF-145	task - Merge WL and MM
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3e3d6e6140dffd5658c5b5f3539fbec80216843a) SMF-117	Task: add MC to website
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3e3d6e6140dffd5658c5b5f3539fbec80216843a) SMF-115	Task: add Basestation to Website
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3e3d6e6140dffd5658c5b5f3539fbec80216843a) SMF-118	Task: add Basestation to Website
- [x](https://github.com/SAREC-Lab/SEStudio-MedFleet/commit/3744d94c3e1efaa0d7f31d9d166bf225d88a17f3) SMF-146	task - depreciate old WL MM

##Notes:
No code was broken. The folder structure has been set :
```
├── code
│   ├── bin - all compiled code
│   ├── client - Med fleet Monitor
│   │   ├── app
│   │   └── typings
│   ├── public - static public files
│   │   ├── css
│   │   └── media
│   ├── server - Web Listener
│   │   ├── app
│   │   │   ├── controllers
│   │   │   ├── models -- Databaase Schema
│   │   │   ├── routes
│   │   │   └── views
│   │   ├── config
│   │   │   ├── env
│   │   │   └── strategies
│   │   └── typings
│   └── typings
├── tests
│   └── rest - test for the WL's rest
└── tools
    └── simulation - tools to simulate mission

```
#1.0.0 ( 2015 - May - 9 )
The Web Listener, Med-Fleet Monitor, and db schema are being combined into a single component.
This change will not affect any from any other modules. (SMF-146 task - depreciate old WL MM) a14c119e236bc327edb4837ee8456631ac0b7ff2
* the new folder structure will be - ()
    SEMedfleet - repo root folder
        WebServer/code - Web Server root folder
            Server - Web Listener root Folder (express server)
                Models - db schemas folder (mongoose wrapper for mongodb DB)
            Client - Med Fleet Monitor root folder (angular 2)

repository: rooneybb/DroneCapstone

repo_name: rooneybb/DroneCapstone


text:
---
layout: default
---

# 1995-09-29 - Re: Q&A on the RSA/Cylink legal dispute

## Header Data

From<EMAIL_ADDRESS>(Name Withheld by Request)

To<EMAIL_ADDRESS>Message Hash: 6d617daf480525436dbd2c73fd51a45c57709f78c533e00ed0b91012545fc378

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1995-09-29 01:10:21 UTC

Raw Date: Thu, 28 Sep 95 18:10:21 PDT

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Name Withheld by Request)
Date: Thu, 28 Sep 95 18:10:21 PDT
To<EMAIL_ADDRESS>Subject: Re: Q&A on the RSA/Cylink legal dispute
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

baldwin , Robert W. Baldwin<EMAIL_ADDRESS>wrote:

>Q. Why can't RSA and Cylink simply settle their differences?
>
>     A. That's a good question. The fact is that RSA recognizes this
>     litigation is not beneficial to anyone and has offered to settle the
>     dispute by granting Cylink a license to the MIT patent.

  PKP was formed
for the purpose of monopolizing the market and screwing the customers.
Unfortunately, RSA and Cylink were too busy trying to screw each other
that they forgot what their real mission was.

>     Cylink has consistently overestimated the strength of its legal
>     position and has refused all reasonable offers.

According to the settlement, RSA made only one offer, which Cylink
refused.  (Which was all that RSA was obligated to do.)

>     Cylink now finds itself in the unenviable position of trying
>     to sell its security products without RSA technology - which
>     is the de facto industry standard.  No amount of "spin
>     doctoring" in press releases by Cylink changes that fact.

Maybe not, but it looks like RSA has their own spin doctors working
on it as well.

{% endraw %}
```

## Thread

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

+ Return to<EMAIL_ADDRESS>(Name Withheld by Request)](/authors/anonremailer_at_utopia_hacktic_nl_name_withheld_by_request_)"
+ Return to "["baldwin"<EMAIL_ADDRESS>(Robert W. Baldwin)>](/authors/baldwin_baldwin_at_rsa_com_robert_w_baldwin_)"
+ Return to "[Jeff Barber <jeffb@sware.com>](/authors/jeff_barber_jeffb_at_sware_com_)"

+ 1995-09-28 (Thu, 28 Sep 95 12:03:44 PDT) - [Q&A on the RSA/Cylink legal dispute](/archive/1995/09/6e0d20479d0ad12a2eb2fe8f98b0ac22256d7c495dd6ad9894e1fbc0f060a1dc) - _"baldwin"<EMAIL_ADDRESS>(Robert W. Baldwin)\>_
  + 1995-09-29 (Thu, 28 Sep 95 18:10:21 PDT) - Re: Q&A on the RSA/Cylink legal dispute -<EMAIL_ADDRESS>(Name Withheld by Request)_
  + 1995-09-29 (Fri, 29 Sep 95 05:28:46 PDT) - [Re: Q&A on the RSA/Cylink legal dispute](/archive/1995/09/f21737578efed0c9c87a25f107d66cb0b800993878ee6021667c7b8780219622) - _Jeff Barber<EMAIL_ADDRESS>


text:
### Hotfix (0.3.3)
- Falls back now as intended to current report when last report file is missing. A `no such file or directory` error wasn't overriden correctly.
- Fixed some typos in human readable texts (e.g. readme and cli help).

### Hotfix (0.3.2)
- Added missing warning message for file coverage % when reduced.
- Some warnings weren't visible. Seem GitHub Actions warnings should be oneliners. Removed newline symbols.
- Some code duplications cleaned.

### Hotfix (0.3.1)
- "Increased" and "Decreased" messages was swapped.

### Fixed (0.3.0)
- File paths for warnings was always relative to working dir only. `ProjectPath` setting in config and `proj` flag was completely ignored.
- Removed some code duplication.
- Data race is cured by adding a wait group to wait for all file reports being processed. Sometimes looping through all the files was ended prior the last report is collected from channel leading to incomplete counts. No more.

### Changed (0.3.0)
- Now warnings for functions coverage aren't shown per line, but instead are included in file coverage warnings. It still includes xccov messages with the line numbers.
- New filter added to mute warnings for paths without excluding the path from coverage report.
- Filters may be inverted individually with new flags and config settings. Please check readme and config example for usage.
- No breaking changes were introduced.

repository: illabo/xcccr

repo_name: illabo/xcccr


text:
# Changelog

## 0.10.0 (09/16/2015)

- Make chef a development dependency.
- Updated examples in README and added contributing documentation

## 0.9.0 (4/2/2015)

- PR #19 - Allow use to specify `vm.network` for vagrant_options (@afiune)
- PR #20 - Do not remember convergance_strategy for every machine (@afiune)
- PR #22 - Allow user to specify which vagrant provider to use (@scotthain)

## 0.8.3 (4/2/2015)
## 0.8.2 (2/25/2015)

- Get Vagrant driver running on Windows clients (@kramvan1)

## 0.8.1 (11/5/2014)

- Fixes to work with chef-provisioning gem

## 0.8 (11/5/2014)

- Work with Chef 12

## 0.7 (11/1/2014)

- rename to chef-provisioning-vagrant

## 0.6.1 (9/5/2014)

- minor fix to prevent issues with vagrant_box specified twice

## 0.6 (8/18/2014)

- Fix windows client (was not eating \r and doing Bad Things)

## 0.5 (6/18/2014)

- add dependency on chef-provisioning (now that chef-provisioning doesn't bring in chef-provisioning-vagrant by default)

## 0.4 (6/3/2014)

- @doubt72 Explicitly supported parallelization
- Adjust to chef-provisioning 0.11 Driver interface

## 0.3.1 (5/1/2014)

- chef-provisioning 0.10 bugfixes

## 0.3 (5/1/2014)

- React to chef-provisioning 0.10 storing with_provisioner in the run context

## 0.2 (4/11/2014)

- Support chef_server_timeout

repository: martinheg/chef-provisioning-vagrant

repo_name: martinheg/chef-provisioning-vagrant


text:
# go-yubilib

[![GoDoc](https://godoc.org/github.com/efigence/go-yubilib?status.svg)](https://godoc.org/github.com/efigence/go-yubilib)

Primitives for operating with Yubikeys (mostly around OTP parts).

Assumptions:

* most stuff like keys are encoded in hex, to be compatible with the [reference](https://github.com/Yubico/yubikey-ksm-dpkg/blob/master/ykksm-utils.php) implementation
* structs have GORM/JSON/YAML annotations where appropriate so they can be used directly in GORM and/or API
* functions operating on modhex/hex just replace invalid characters with X. Normally that is either checked or just makes `hex` module fail on conversion so it is safe and fast to use inside the module but take care, giving wrong output to `ModHex2Hex` for example will return invalid hex string

repository: efigence/go-yubilib

repo_name: efigence/go-yubilib


text:
# Space Invaders Game

![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)
![badge](https://img.shields.io/badge/license-MIT-orange)

## Description

A simple browser-based game built using javascript and css. Built using the following tutorial: https://youtu.be/3Nz4Yp7Y_uA

## Table of Contents

* [Usage](#usage)
* [Contributing Guidelines](#contributing)
* [License](#license)
* [Questions](#questions)

## Usage
To play the game, use the left and right arrow buttons to move the shooter and use the spacebar to shoot.

## Contributing
 ![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)

 Link to Contributor's Covenant:[Contributors Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)

## License
![badge](https://img.shields.io/badge/license-MIT-orange)

Copyright (c) [2021] [Nida Ghuman]

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

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

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

## Questions

The repo for this project can be found here: https://github.com/nidaqg/space-invaders-game

The deployed game can be found here: https://nidaqg.github.io/space-invaders-game/

For any questions or to report issues, email me at<EMAIL_ADDRESS>

repository: nidaqg/space-invaders-game

repo_name: nidaqg/space-invaders-game


text:
# gulp-start

--

# ![Gulp Start](extras/img/gulp2.jpg)

A delicious blend of gulp tasks combined into a configurable asset pipeline and static site builder

Gulp Starter is a delicious blend of tasks and build tools poured into [Gulp](http://gulpjs.com/) to form a full-featured modern asset pipeline. It can be used as-is as a static site builder, or can be configured and integrated into your own development environment and site or app structure.

```bash
git clone https://github.com/aglovlyuk/gulp-start MyApp
cd MyApp
npm install
```

#### Run development tasks:
```
gulp
```
Aliases: `gulp default`

This is where the magic happens. The perfect front-end workflow. This runs the default gulp task, which starts compiling, watching, and live updating all our files as we change them. BrowserSync will start a server on port 9000, or do whatever you've configured it to do. You'll be able to see live changes in all connected browsers. Don't forget about the additional BrowserSync tools available on port 3001!

repository: aglovlyuk/gulp-start

repo_name: aglovlyuk/gulp-start


text:
## What is this

Eago is a Javascript runtime for web development. Unlike other runtimes, Eago no needs for an event loop to execute async tasks. It uses Golang's concurrent features and design patterns. This is not the only difference, Eago has a lot of features for more maintainable web development

## Features

- Clean, synchronous javascript code (no callbacks, no promisses, no async/awaits)
- Maintainable project development
- Fast binary modules for web development

## Examples

Check out the [examples](https://github.com/ahmetcanozcan/eago/tree/master/examples/app) to see eago in use

## Inspired From

- [Nuxt.js](https://nuxtjs.org/)
- [Express](https://expressjs.com/)
- [Node.js](https://nodejs.org/en/)

repository: ahmetcanozcan/eago

repo_name: ahmetcanozcan/eago


text:
# SAW Proofs

SAW Proofs on Cryptol Specification of AWS Encryption C SDK Code

## Dependencies

You will need a version of SAW (https://saw.galois.com/).

The official releases are quite old at this point.
The simplest method is to use a nightly (https://saw.galois.com/builds/nightly/). All proofs I have currently run are
performed using the saw-0.2-2018-09-05-MacOSX-6 nightly build.
It is also possible to build SAW from source.

## Solvers

SAW has several automated tactics. The ProofScript values abc and z3 select the ABC and Z3 theorem provers,
respectively, and are typically good choices. In addition to these, the boolector, cvc4, mathsat, and yices provers
are available. These do not need to be installed and are internal.

SAW supports more generic interfaces to other arbitrary theorem provers supporting specific interfaces, but I don't
think this will be necessary.

## Code Structure

There are five .cry files and one .saw file.

    type_def.cry contains the type declarations for the Cryptol types as well as constants.

    helper_functions.cry contains helper functions to reduce code bloat due to common subroutines.

    transition_functions.cry contains the Cryptol specification of the state machine transition functions.

    state_machine.cry contains the Cryptol specification of the state machine, conditions for the process loop to
    continue, and buffer update checks.

    proofs.cry contains a set of progress properties verifiably with a SAT-solver.

    state_machine.saw contains the harness from SAW to run the proofs specified in proofs.cry

## How to Run

To run state_machine.saw:

    $PATH_TO_SAW_DIR/bin/saw state_machine.saw

## Equivalence Proof

SAW can also be leveraged to prove the equivalence between the Cryptol specification and the underlying C code. These
proofs are currently a work in progress but there will be a seperate pull request containing them. The equivalence
proofs can be used to determine when the Cryptol specification falls out of sync with the C implementation and needs
to be updated.

repository: aws/aws-encryption-sdk-c

gha_language: C

repo_name: aws/aws-encryption-sdk-c


text:
# rt-restore-db
Tales of restoring an RT database from backup

This project collects a number of techniques that I used to restore backup copies of the production RT database on different SQL instances.

I used these techniques successfully to restore the RT database at least twice - on a server running Ubuntu 14.04, and also on my own Mac Mini.

Given my lack of knowledge with MySQL, the activity took me some time with trial and error, and the occasional f*kup, which prompted me to write this down.
Hopefully this will save me time should I have to repeat the task.

## RT Test Server [ Ubuntu 14.04 ]

On the "official" RT Test Server, database restore should be executed frequently, reliably and easily.

To meet these goals, I configured the database and created a script to be run via `cron(1)` that automates the task.

Overall steps:

1. Install MySQL using `apt-get(1)`
2. Configure user profiles
3. Schedule execution of the restore script

### Install MySQL

TODO: Fill installation instructions

### Configuration

TODO: Fill configuration parameters values

### Restore script

A full backup of RT production is taken weekly, with an incremental backup taken daily.

Backup files are saved on the `/tmp` directory of the RT Application server.
The most relevant of these files is the weekly database dump, taken every Sunday during the early morning hours, and saved as a compressed GZip at `/tmp/rt-prod-Sun-db.gz`.

Restoring the RT Production database therefore means reading the saved dump file, decompressing it over the wire and feeding the results to the local `mysql` instance.  This can be done easily over `ssh`, provided Public Key is exchanged and password-less sessions can be successfully established.

At the time of this writing, the restored database is *~30Gb* in size.
While far from enormous, it's still big enough to create a performance and memory issue on the RT Test server, especially considering it's a rather underpowered machine.

To avoid issues, I chose to avoid restoring the largest database table ('Attachments') which weighs more than 25Gb in itself.

The resulting script (`restore_rt.sh`) should be run from `cron(1)` at 08:30 each Sunday (or later).

## Mac Mini [ OSX 10.10 Yosemite and 10.11 El Capitan ]

Restoring a backup of the RT database on a new MySQL instance installed on my Mac Mini required the following overall steps:

1. Install MySQL using HomeBrew
2. Set parameters
3. Restore backup
4. Reset users and passwords
5. Add convenient shell aliases

### Install MySQL

I used HomeBrew to install MySQL, by following instructions in [this article](http://blog.joefallon.net/2013/10/install-mysql-on-mac-osx-using-homebrew/).
Despite being a little outdated, most of it still applies.
In particular, HomeBrew now installs already shortcuts to be used with `launchctl`, that make sure the server is started under your user profile with the correct command line parameters.
As a result, I had version 5.6 ready to run.

### Configuration

The RT database to restore is large and contains very large BLOBs which cause the restore process to fail with a few errors, like:
* MySql Server has gone away
* InnoDB: The total blob data length is greater than 10% of the total redo log size. Please increase total redo log size.

To resolve these, I created a server configuration file in `/etc/my.cnf` according to the guidelines in [this article on StackOverflow](http://stackoverflow.com/questions/7973927/for-homebrew-mysql-installs-wheres-my-cnf).
I applied the settings to `max_allowed_packet` and `wait_timeout` described in [this article](http://stackoverflow.com/questions/12425287/mysql-server-has-gone-away-when-importing-large-sql-file).
The issue with the redo log size has been introduced in version 5.6, and can be fixed by setting `innodb_log_file_size` to a large value (I chose 256M).
See [this article](http://stackoverflow.com/questions/18806377/setting-the-right-mysql-innodb-log-file-size) for a discussion.

### Restore backup

No rocket science here.  Just run
```
create database rtdb;
source rt-prod-Sun-db;
```
and go.  Will take some time, and spit the errors above if the configuration hasn't been set.

### Reset users and passwords

Restoring the RT database will also completely reset user accounts, therefore some further tuning is necessary to prevent being locked out of MySQL.
```
set password for 'root'@'localhost' = password('therootpass');
set password for 'rtuser'@'localhost' = password('thertpass');
flush privileges;
```
as a minimum you'll need to care for `root` and `rtuser` otherwise your server instance will be unusable.
A good summary article can be found [here](https://help.ubuntu.com/community/MysqlPasswordReset).

### Shell aliases

Given I could never remember all the necessary commands, I decided to create a shell alias for `mysql` that accepts the following commands:
```
To run a client session:
  mysql report   start mysql client as user 'report'
  mysql root     start mysql client as user 'root'
  mysql rtuser   start mysql client as user 'rtuser'

To run server administration commands:
  mysql errlog   monitor server error log
  mysql start    start mysql server
  mysql stop     stop mysql server
  mysql restart  restart mysql server
  mysql status   report server status
```
This is implemented as a [fish shell](http://fishshell.com/) function.

repository: lrestifo/rt-restore-db

repo_name: lrestifo/rt-restore-db


text:
## Upload To S3 Directly From Browser

S3upload is a javascript library for directly uploading files from a web browser to AWS S3, using S3's multipart upload.

You can easily add progress bar to the upload via callbacks.

## SET UP s3Upload

1. add s3upload.js in your page
2. Setup your S3 bucket, make sure your CORS settings for your S3 bucket looks similar to what is provided below (The PUT allowed method and the ETag exposed header are critical).

            <CORSConfiguration>
                <CORSRule>
                    <AllowedOrigin>https://*.yourdomain.com</AllowedOrigin>
                    <AllowedMethod>GET</AllowedMethod>
                    <AllowedMethod>PUT</AllowedMethod>
                    <AllowedMethod>POST</AllowedMethod>
                    <AllowedMethod>DELETE</AllowedMethod>
                    <MaxAgeSeconds>3000</MaxAgeSeconds>
                    <ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
                    <ExposeHeader>x-amz-request-id</ExposeHeader>
                    <ExposeHeader>x-amz-id-2</ExposeHeader>
                    <AllowedHeader>*</AllowedHeader>
                </CORSRule>
            </CORSConfiguration>

3. Setup a signing handler (see url_signer.py) on your backend application. This will provide a signature for your multipart requests to s3. **s3upload.js** calls an AJAX call to this function and gets that signature. So you have to provide a url route that will serve the AJAX call.

4. Now you can run the server and check after uploading files.

## Use s3Upload

            var s3upload = new S3Upload({
                        file_dom_selector: [ID OF HTML FILE HANDLER],
                        s3_folder : [S3_FOLDER_TO_PUT],
                        s3_sign_put_url: [S3_SIGN_URL],
                        s3_object_name : [NAME_OF_THE_FILE],
                        onProgress: function(percent, message) {
                            // On Progress CallBack
                        },
                        onFinishS3Put: function(url) {
                            // Success Callback
                        },
                        onError: function(status) {
                            // Failure Callback
                        }
                    });

- file_dom_selector : It is a html file input id.
- s3_folder : Name of the s3 folder inside bucket.
- s3_sign_put_url : This is the signer url that you have added in your backend app.
- onProgress : This callback is called when s3upload.js uploads a file, an percentage progress has been given.
- onFinishS3Put : This callback is called when s3upload.js finished a file upload.
- onError : This callback is called when s3upload.js finishes a file upload.


text:
# RCS1251: Remove unnecessary braces from record declaration

| Property | Value   |
| -------- | ------- |
| Id       | RCS1251 |
| Severity | Info    |

## Example

### Code with Diagnostic

```csharp
public record Foo(string Value1, string Value2)
{
}
```

### Code with Fix

```csharp
public record Foo(string Value1, string Value2);
```

*\(Generated with [DotMarkdown](http://github.com/JosefPihrt/DotMarkdown)\)*

repository: skyhoshi/Roslynator

gha_language: C#

gha_license_id: NOASSERTION

repo_name: skyhoshi/Roslynator


text:
travetto: Model-SQL
===

**Install: SQL provider**
```bash
$ npm install @travetto/model-sql
```

**Install: Specific SQL client**
```bash
$ npm install mysql # Use this for mysql

$ npm install pg # Use this for postgres
```

This module provides a `SQL`-based implementation of `ModelSource` for the [`Model`](https://github.com/travetto/travetto/tree/master/module/model) module.  This source allows the `Model` module to read, write and query against `SQL` databases. In development mode, the `ModelSource` will also modify the database schema in real time to minimize impact to development.

The schema generated will not generally map to existing tables as it is attempting to produce a document store like experience on top of
a `SQL` database.  Every table generated will have a `path_id` which determines it's location in the document hierarchy as well as sub tables will have a `parent_path_id` to associate records with the parent values.

The current SQL client support stands at:
* MySQL - 5.6 and 5.7
* Postgres - 11+
* SQL Server - Currently unsupported
* Oracle - Currently unsupported

Note: Wider client support will roll out as usage increases.

Out of the box, by installing the module, everything should be wired up by default.  If you need to customize any aspect of the source or config, you can override and register it with the [`Dependency Injection`](https://github.com/travetto/travetto/tree/master/module/di) module.

**Code: Wiring up the SQL Model Source**
```typescript
export class Init {
  @InjectableFactory()
  static getModelSource(conf: SQLModelConfig): ModelSource {
    return new SQLModelSource(conf);
  }
}
```

where the `SQLModelConfig` is defined by:

**Code: Structure of SQLModelConfig**
```typescript
@Config('sql.model')
export class SQLModelConfig {
  host = '<IP_ADDRESS>';
  port = 3306;
  database = 'app';
}
```

and can be overridden via environment variables or config files, as defined in [`Config`](https://github.com/travetto/travetto/tree/master/module/config).

**NOTE** During testing, the source will automatically spin up an `MySQL` server via a `docker` container if you are not already running the service.

gha_language: TypeScript


text:
# Introduction

> move Up to the next level. UP is the computer board for makers and professional makers. UP is the bridge between your hobby and your future business. [Homepage](http://www.up-board.org/)

-  [Up Blog](http://www.up-board.org/blog/)
-  [UP Board with IMST LoRa® Gateway expansion](https://www.kickstarter.com/projects/802007522/up-intel-x5-z8300-board-in-a-raspberry-pi2-form-fa/posts/1627796?ref=dash)

Applications

- Drones
- Education
- Robotics
- Media Center
- Internet of Things
- Home Automation

Operating Systems

- Brillo
- Android
- Yocto
- Ubilinux
- Microsoft Windows 10

# Up Shop

> Bring your ideas to life with the high performance, affordable and mini form factor x86 embedded board. Meet up! [Up Shop](http://up-shop.org/)

# Up Community

> Join our UP Community! Share your projects! Ask questions, seek support! [Up Community](https://up-community.org/)

- Forum
  - Leave your messages here.
- Downloads
  - ubilinux™ and other software for UP Board.
- Projects
  - Coming Soon!
- Blog
  - Fresh news from the community.
- Documentation
  - Read Guides, HowTos and Datasheets.
- Professional Sevices
  - Emutex and AAEON can provide a range of professional services to meet your needs.

# Wiki

> The purpose of these wiki pages is to collect and share all useful technical information related to UP Board hardware, software, and its usage. Feel free to contribute content and corrections which may be useful to others! [Up Wiki aka Documentation](https://up-community.org/wiki/Main_Page)

- Setup
- Hardware
- Software
- Firmware

# Intel® RealSense™ Robotics Development Kit

> The Intel® RealSense™ Robotics Development Kit is a bundle that features a credit card size board and an Intel® RealSense™ R200 Camera. Together, this high performance and low-power consumption combination bridges the gap between rapid prototyping and productization. [Intel® RealSense™ Developer Kits](http://click.intel.com/intelr-realsensetm-robotic-development-kit.html)

# Intel® IoT Developer Kit

[Intel® IoT Developer Kit v3.0](https://software.intel.com/en-us/blogs/2016/03/30/intel-iot-developer-kit-30-release-notes?utm_campaign=IHI-IoT-Q2_16&utm_medium=Syndication&utm_source=Taboola&utm_content=&utm_term=&&utm_term=cbsinteractive-cnet&utm_content=The+Intel+IoT+Developer+Kit+3.0+is+here.+Find+out+what%27s+new)

# Partnerships

- [UP in partnership with Predixion Software](http://www.up-board.org/kickstarter/up-in-partnership-with-predixion-software/)

repository: TheIoTLearningInitiative/Up

repo_name: TheIoTLearningInitiative/Up


text:
## mlstacking

mlstacking is a Python module for sklearn-API friendly multi-layer stacking built on top of scikit-learn and distributed under the 3-Clause BSD license.

#### Installtion

##### Dependencies

##### User installation

If you already have a working installation of numpy and scipy, the easiest way to install mlstacking is using `pip`

`pip install mlstacking`

#### Help and Support

##### Documentation

HTML documentation (stable release): https://mlstacking.readthedocs.io/

repository: TalkingData/MultiLayerStacking

repo_name: TalkingData/MultiLayerStacking


text:
# Examine the Management Cluster Deployment

During the deployment of the management cluster, either from the installer interface or the CLI, Tanzu Community Edition creates a temporary management cluster using a [Kubernetes in Docker](https://kind.sigs.k8s.io/), `kind`, cluster on the bootstrap machine. Then, Tanzu Community Edition uses it to provision the final management cluster to the platform of your choice. After the deployment of the management cluster finishes successfully, Tanzu Community Edition deletes the temporary `kind` cluster.

1. Run the following command to verify that management cluster started successfully. If you did not specify a name for the management cluster, it will be something similar to tkg-mgmt-azure-20210601125056,  `tkg-mgmt-aws-20200323140554`, `tkg-mgmt-docker-20210601125056`, or `tkg-mgmt-vsphere-20200323121503`.
  <!--add content for docker here -what will docker file name be-->

  ```sh
  tanzu management-cluster get
  ```

1. Examine the folder structure. When you first deploy a management cluster, the `~/.config/tanzu/tkg/providers` folder is created. This folder contains all of the files required by Cluster API to create the management cluster. Settings for the management cluster are save in a cluster configuration file `~/.config/tanzu/tkg/clusterconfigs/<UNIQUE-ID>.yaml`.
Where `UNIQUE-ID` is a generated filename.

1. To view the management cluster objects in Amazon EC2, Azure or vSphere, complete the following steps:
   * If you deployed the management cluster to vSphere, go to the resource pool that you designated when you deployed the management cluster. You should see the following VMs or instances:
     * One or three control plane VMs, for development or production control plane, respectively, with names similar to `CLUSTER-NAME-control-plane-sx5rp`
     * A worker node VM with a name similar to `CLUSTER-NAME-md-0-6b8db6b59d-kbnk4`
   * If you deployed the management cluster to Amazon EC2, go to the **Instances** view of your EC2 dashboard. You should see the following VMs or instances:
     * One or three control plane VM instances, for development or production control plane, respectively, with names similar to `CLUSTER-NAME-control-plane-bcpfp`
     * A worker node instance with a name similar to `CLUSTER-NAME-md-0-dwfnm`
     * An EC2 bastion host instance with the name `CLUSTER-NAME-bastion`
   * If you deployed the management cluster to Azure, go to the resource group that you designated when you deployed the management cluster. You should see the following VMs or instances:
     * One or three control plane VMs, for development or production control plane, respectively, with names similar to `CLUSTER-NAME-control-plane-rh7xv`
     * A worker node VMs with a name similar to `CLUSTER-NAME-md-0-rh7xv`
     * Disk and Network Interface resources for the control plane and worker node VMs, with names based on the same name patterns.

## View Management Cluster Details With Tanzu CLI and `kubectl`

Tanzu CLI provides commands that facilitate many of the operations that you can perform with your management cluster. However, for certain operations, you still need to use `kubectl`.

Tanzu Community Edition provides two access level contexts for every management and workload cluster:

* `admin` context gives you full access to a cluster.
  * If you implemented identity management on the cluster, using  `admin` context allows you to run `kubectl` operations without requiring authentication with your identity provider (IDP).
  * If you did not implement identity management on the management cluster, you must use the `admin` context to run `kubectl` operations.
* `regular` If you implemented identity management on the cluster, using the regular context, you must authenticate with your IDP before you can run `kubectl` operations on the cluster.

When you deploy a management cluster, the `kubectl` context is not automatically set to the context of the management cluster.

Before you can run `kubectl` operations on a management cluster, you must obtain its `kubeconfig` and set the context to the management cluster.

1. On the bootstrap machine, run the `tanzu login` command to see the available management clusters and which one is the current login context for the CLI.
1. To see the details of the management cluster, run `tanzu management-cluster get`.
1. To retrieve the `kubeconfig` for the management cluster, run the `tanzu management-cluster kubeconfig get` command with the following options:
   * `--export-file FILE`
     * **Without option**: Add the retrieved cluster configuration information to the `kubectl` CLI's current `kubeconfig` file, whether it is the default `~/.kube/config` or set by the `KUBECONFIG` environment variable.
     * **With option**: Write the cluster configuration to a standalone `kubeconfig` file `FILE` that you can share with others.
   * `--admin`
     * **Without option**: Generate a _regular `kubeconfig`_ that requires the user to authenticate with an external identity provider, and grants them access to cluster resources based on their assigned roles. To generate a regular  `kubeconfig`, identity management must be configured on the cluster.

       The context name for this `kubeconfig` includes a `tanzu-cli-` prefix. For example, `tanzu-cli-id-mgmt-test@id-mgmt-test`.
     * **With option**: Generate an _administrator `kubeconfig`_ containing embedded credentials that lets the user access the cluster without logging in to an identity provider, and grants full access to the cluster's resources. If identity management is not configured on the cluster, you must specify the `--admin` option.

       The context name for this `kubeconfig` includes an `-admin` suffix. For example, `id-mgmt-test-admin@id-mgmt-test`.

       For example, to generate a standalone `kubeconfig` file to share with someone to grant them full access to your current management cluster:

   ```sh
   tanzu management-cluster kubeconfig get --admin --export-file MC-ADMIN-KUBECONFIG
   ```

1. Set the context of `kubectl` to the management cluster.

   ```sh
   kubectl config use-context <MGMT-CLUSTER>-admin@<MGMT-CLUSTER>
   ```

   where `<MGMT-CLUSTER>` is the name of the management cluster
1. Use `kubectl` commands to examine the resources of the management cluster.

   For example, run `kubectl get nodes`, `kubectl get pods`, or `kubectl get namespaces` to see the nodes, pods, and namespaces running in the management cluster.

## Configure DHCP Reservations for the Control Plane Nodes (vSphere Only)

After you deploy a cluster to vSphere, each control plane node requires a static IP address. This includes both management and workload clusters. These static IP addresses are required in addition to the static IP address that you assigned to Kube-VIP when you deploy a management cluster.

To make the IP addresses that your DHCP server assigned to the control plane nodes static, you can configure a DHCP reservation for each control plane node in the cluster. For instructions on how to configure DHCP reservations, see your DHCP server documentation.

## Management Cluster Networking

When you deploy a management cluster, pod-to-pod networking with [Antrea](https://antrea.io/) is automatically enabled in the management cluster.

repository: JitenPalaparthi/community-edition

repo_name: JitenPalaparthi/community-edition


text:
check-include-guards
====================

See if a C/C++ source file header has a well-formed #include guard.

Well-formed:

    optional-white-space-and-comments
    #ifndef symbol
    anything
    #endif
    optional-white-space-and-comments

Gcc recognizes well-formed #include guards, and does automatic reverse include
guards.

repository: MichaelCook/check-include-guards

repo_name: MichaelCook/check-include-guards


text:
# Web-Interactive-Narrative-WPPlugin
This Wordpress plugin creates a story listing page, that created links and allows user to play the narratives in a new window. This is targeted at works from interactive narrative tools that export to a stand alone web format like Inkle's Inky or Twine. The only requirements are that your story is within its own folder under the provided ExportedNarratives directory and the starting point for the sorty is an index.html file e.g.

* ExportedNarratives/
    * My Story 01/
        * assets/
            * image01.png
        * index.html
    * My Story 02/
        * index.html

To Use:

* Add "Interactive Narrative Web Export Plugin For Wordpress" to your plugins directory in Wordpress
* Upload your exported narrative to the ExportedNarratives folder (requires access to your site's File manager/CPanel)
* Activate the plugin
* Use the short code [list-web-narratives] to insert a list of the narratives that exist in the directory. The list will create hyperlinks to the stories.
* You are now done, check out the page and see how it looks.

gha_language: PHP


text:
The `install.sh` file for each framework starts the bash process which will
install that framework. Typically, the first thing done is to call `fw_depends`
to run installations for any necessary software that TFB has already
created installation scripts for. TFB provides a reasonably wide range of
core software, so your `install.sh` may only need to call `fw_depends` and
exit. Note: `fw_depends` does not guarantee dependency installation, so
list software in the proper order e.g. if `foo` depends on `bar`
use `fw_depends bar foo`.

Here are some example `install.sh` files

```bash
#!/bin/bash

# My framework only needs nodejs
fw_depends nodejs
```

```bash
#!/bin/bash

# My framework needs nodejs and mono and go
fw_depends nodejs mono go
```

```bash
#!/bin/bash

# My framework needs nodejs
fw_depends nodejs

# ...and some other software that there is no installer script for.
# Note: Use IROOT variable to put software in the right folder.
#       You can also use FWROOT to refer to the project root, or
#       TROOT to refer to the root of your framework
# Please see guidelines on writing installation scripts
wget mystuff.tar.gz -O mystuff.tar.gz
untar mystuff.tar.gz
cd mystuff
make --prefix=$IROOT && sudo make install
```

To see what TFB provides installations for, look in `toolset/setup/linux`
in the folders `frameworks`, `languages`, `systools`, and `webservers`.
You should pass the filename, without the ".sh" extension, to fw_depends.
Here is a listing as of July 2014:

```bash
$ ls frameworks
grails.sh  nawak.sh  play1.sh  siena.sh     vertx.sh  yesod.sh
jester.sh  onion.sh  play2.sh  treefrog.sh  wt.sh
$ ls languages
composer.sh  erlang.sh   hhvm.sh   mono.sh    perl.sh     pypy.sh     racket.sh   urweb.sh
dart.sh      go.sh       java.sh   nimrod.sh  python2.sh  ringojs.sh  xsp.sh
elixir.sh    haskell.sh  jruby.sh  nodejs.sh  php.sh      python3.sh  ruby.sh
$ ls systools
leiningen.sh  maven.sh
$ ls webservers
lapis.sh  mongrel2.sh  nginx.sh  openresty.sh  resin.sh  weber.sh  zeromq.sh
```

repository: LadyMozzarella/FrameworkBenchmarksDocs

repo_name: LadyMozzarella/FrameworkBenchmarksDocs


text:
# chui
A small wrapper around Chisel. The goal of this project is to make it easier to work with chisel in a declarative way.

## Generate config file
```bash
    # Generate the file from the executable
    chui -g config.json
    # or if you have the project
    go run app.go -g config.json
```

## Modify the config file
```json
    {
      "server": "http://chiselserver:port",
      "remotes": [
        "localhost:8000:api:8000",
        "localhost:5432:db:5432"
      ]
    }
```

## Run locally
```bash
    # Run the file from the executable
    chui -c config.json
    # or if you have the project
    go run app.go -c config.json
```

## Run in Docker
```bash
    # Make sure you have generated the file
    # chui -g config.json

    # ... and edited also
    # vi config.json

    # Build the declarative container
    docker build -t image:tag --file Dockerfile.declarative .
    docker run -p port:port image:tag
```

## Usage examples
- Proxy a number of services on another network - in a container cluster for example.
- Expose a service in one cluster to another cluster.
- Development


text:
# Chapter 9: Convolutional Backprop Network

* Run code using main.py.
* Author: Various
* Date created: 2016
* License: MIT
* Original Source: https://github.com/pytorch/examples/blob/master/mnist
* Description: Convolutional backprop network trained to recogise digits 0-9 from the MNIST data set. Output: Test set: Average loss: 0.0319, Accuracy: 9898/10000 (99%)


text:
hyperProxy
==========

A Node.js (http://nodejs.org/) local proxy to help front-end developers use local files for debugging or developing production sites.

**WARNING**: hyperProxy is still in development, so beware :).

## What it is and why you may want to try it

From time to time there is a need for a front-end developer to debug an application on the production server. Usually there is no direct access to the files on the server, nor it would be good to edit them there (making end-users struggle with our mistakes and lets-see-what-that-will-do experiments).
Other times there is a project which requires a lot of backend software to run, just to edit and test a single, simple CSS or JS file.
In both cases front-end developer could use a tool that allows working with local files as if they were on the production website.

While there are great plugins available for various browsers and editors, which allow for dynamic modification of JavaScript and CSS, they all are browser specific. Usually they work only on one or two of the main three browsers.
That is why a local proxy may be a better solution. It allows to override only specific files with local copies, and can work for all the web browsers (or any other applications) at the same time.
One such proxy is an application called Fiddler, which can be really helpful for debugging websites.

Node.js is easy to install on all major platforms and scripts are written in JavaScript, so they should be easy to write by any front-end developer, once they know some basic Node.js functions.
If we create a base or a library that implements most of the stuff and there will be only a simple configuration needed for a developer to start overriding URLs, then there will be almost nothing new to learn to start working. And there still will be an easy way to implement additional functionality, all in JavaScript.

hyperProxy is a proxy that should be easy enough to configure and setup by every front-end developer.
It also can serve a PAC (Proxy Auto Config) file, which allows browsers to proxy requests only for those URLs that we wanted to override or manipulate. Rest of the requests will go directly to target URL. You can read more about PAC on Wikipedia: http://en.wikipedia.org/wiki/Proxy_auto-config.

## Installation

If you do not have Node.js installed yet, go to the http://nodejs.org/, download and install it.

If you want to make hyperProxy to generate SSL certificates for overridden hosts on-demand, install PEM (https://github.com/andris9/pem) module:

```javascript
npm install pem
```

On Windows (or any other operating system without OpenSSL installed) you will also need to install OpenSSL and add it to environment's PATH variable:

1. Download OpenSSL for your operating system from http://www.openssl.org/related/binaries.html
2. Install it
3. Update environment variable, so it points to the openssl binary, e.g., the one where openssl.exe is located.
4. Check if command works:
   ```sh
   openssl version
   ```

## Configuration

hyperProxy should be pretty easy to configure. You will need two configuration objects: settings and overrides.
Let's start by following the example.js found in example subdirectory.

Settings may look like this:

```javascript
var settings = {
	// This port can actually be used for both HTTP and HTTPS.
	'httpPort': 8000,

	// Without separate PAC file server, hyperProxy will serve `http://localhost:[httpPort]/proxy.pac` instead.
	// You can set pacPort to specific port number to make hyperProxy serve PAC file on that port.
	// 'pacPort': 8002,

	// You may want to provide your own root key and certificates, especially if you have pem module installed
	// and useSNI is enabled (it is by default) to generate certificates per-domain.
	// If you do not set custom key and cert, hyperProxy will try to auto-generate both files
	// in current working directory (the one, from which you are starting your hyperProxy). But that will work only
	// if you have OpenSSL installed on your system.
	//
	// To generate own root key and certificate you may use following command line:
	// openssl req -nodes -x509 -newkey rsa:2048 -keyout hyperProxy/lib/certs/server.key -out hyperProxy/lib/certs/server.crt -days 365 -subj '/O=hyperProxy/CN=hyperProxy SSL CA'
	//
	// WARNING: You can add certificate to your browsers, so they will stop bugging you about security risk, but be sure to
	// either set -days to 1, or add certificate on user account that is NEVER used for accessing important sites like bank or
	// any site that has your credit card information stored.
	//
	// Set both `key` and `cert` options to `false` to disable HTTPS.
	//'key': fs.readFileSync('my_server.key', 'utf8'),
	//'cert': fs.readFileSync('my_server.crt', 'utf8'),

	// Verbosity can be false, true or "debug" for all the stuff possible to be printed in the console.
	'verbose': false,

	// If you want browser to fallback to default proxy of your choice
	// (for URLs that you do not want to override)
	// you can setup it here. Look into hyperProxy.js for more information.
	'proxy': false,

	// If you do not want to generate certificate per each HTTPS domain and you have pem module
	// installed, set useSNI option to false.
	// useSNI: false

	// When using helper functions it's good to specify documentRoot and followSymbolicLinks options,
	// to prevent access to files that should not be accessed (like system files).
	// Currently, for backward compatibility, defaults are quite unsecure, so it's better to change them like this:
	'documentRoot': process.cwd(),
	'followSymbolicLinks': false
};
```

Overrides may look like this:

```javascript
var overrides = {
	// This will override all request for minimized jQuery 1.11.0 (on ANY site)
	// so non-minimized version from local disk will be returned.
	'jquery': {
		// Regexp matching URLs that should be overridden.
		'match': new RegExp(/\/(jquery-1.11.0\.min\.(js))$/i),
		// Callback function that will be called fo overriden URLs.
		'callback': hyperProxy.overrideWithFilesFromPath,
		// Additional data. Path is needed for default hyperProxy helper functions.
		'path': './js/',
		// Tell it to try non-minified versions of JS and CSS first
		'tryNonMinimizedFiles': true,
		// If you use CNTLM, here you can set matched URL to omit it.
		// This can be useful to omit CNTLM for certain URLs without actually overriding them.
		'omitCNTLM': true
	}
};
```

After that, you just need to start hyperProxy (this is for example.js, which is in a subdirectory of hyperProxy directory):

```javascript
var hyperProxy = require('../hyperProxy.js');
new hyperProxy.start(overrides, settings);
```

For more explanations look into the example.js and hyperProxy.js code.

After setting up a file, just run it using Node.js in the directory of your hyperProxy file, for example:

```sh
node example.js
```

If you are working on your configuration, and want to change overrides often, it's good to install supervisor (https://github.com/isaacs/node-supervisor) module:

```sh
npm install -g supervisor
```

and then use it to run your proxy:

```sh
supervisor example.js
```

It will restart the proxy automatically whenever you change your proxy/configuration file.

## Additional software

It is generally easier to use some additional software to quickly switch between proxies (or proxy and no-proxy settings). If your operating system of choice does not provide such feature, you can either install some additional application to switch system proxy, or install plugins for browsers.
For Google Chrome, there is `Proxy SwitchyOmega` (https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif), that works quite well and allows switching between proxies with a single click.
For Firefox, there is `Foxy Proxy Basic` (https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-basic/) or it's advanced version `Foxy Proxy Standard` (https://addons.mozilla.org/pl/firefox/addon/foxyproxy-standard/).

Of course, there are more similar plugins out there, so you can select the one you prefer - hyperProxy should work with any of them.

Another way is to use system with various browsers in a virtual machine, and set global proxy there.

## Helper functions

hyperProxy exports two helper functions: overrideWithFilesFromPath and overrideWithSpecifiedFile. Those functions try to serve files with correct mime type. By default they support:

```javascript
	'js'  : 'application/javascript; charset=UTF-8',
	'json': 'application/json; charset=UTF-8',
	'css' : 'text/css; charset=UTF-8',
	'htm' : 'text/html; charset=UTF-8',
	'html': 'text/html; charset=UTF-8',
	'swf' : 'application/x-shockwave-flash',
	'xml' : 'application/xml',
	'xslt': 'application/xslt+xml',
	'png' : 'image/png',
	'gif' : 'image/gif',
	'jpg' : 'image/jpeg',
	'jpeg': 'image/jpeg',
	'webp': 'image/webp',
	'svg' : 'image/svg+xml',
	'svgz': 'image/svg+xml',
	'woff': 'application/font-woff',
	'ttf' : 'application/font-sfnt',
	'otf' : 'application/font-sfnt',
	'eot' : 'application/vnd.ms-fontobject',
	'mp4' : 'video/mp4',
	'mov' : 'video/quicktime',
	'3gp' : 'video/3gpp',
	'avi' : 'video/x-msvideo',
	'wmv' : 'video/x-ms-wmv',
	'ogv' : 'video/ogg'
```

If you need to have support for more MIME types, you can install `mime` module (https://github.com/broofa/node-mime):

```javascript
npm install mime
```

Helper functions serve files using internal function which handles also file streaming. It is possible to override that function with another one by calling:

```javascript
hyperProxy.initHelperFunctions({serveFile: function(response, filePath, requestHeaders){
	// serve file here
}});
```

Please keep in mind, that function is "global" for all instances of hyperProxy created in a single process.
For more information look into hyperProxy.js and lib/ServeFile.js code.

Below is a short description of what the helper functions do. For more information look into the example and/or the source code.

```javascript
hyperProxy.overrideWithFilesFromPath(response, found, data, post)
```

In projects that use separate CSS and JS files it is easy to override them with this function. It tries to serve JS, CSS, HTM(L), SWF, image and font files with correct MIME type.
If `data` has `tryNonMinimizedFiles` property set to true, then this function will automatically try to serve non-minified (without the ".min" part) versions of the files.

```javascript
hyperProxy.overrideWithSpecifiedFile(response, found, data, post)
```

This function simply overrides requested file with the one specified in the `data['path']` parameter (data is an object from the overrides object).

## Testing

Some parts of the module can be run through automated testing with mocha (http://mochajs.org/). You need to have it installed before running the tests.
To run all available tests, use following command lines:

```sh
cd hyperProxy
npm install node-mocks-http
mocha
```

## Generating documentation

All code is documented with JSDoc 3 comments (http://usejsdoc.org/). You need to have it installed to generate documentation.
To create documentation, use following command lines:

```sh
cd hyperProxy
jsdoc hyperProxy.js lib/*.js README.md -d documentation -c jsdoc.json
```

## Known problems

1. When using CNTLM and Node.js 0.10+ requests start to freeze quickly. It worked OK with Node.js 0.8+.
   We're probably doing something wrong with handling the streams.
2. On Windows, PAC does not work well. It's probably because of self-signed certificate and when browser tries to access original
   files from the target and overridden files from our proxy, it gets two different certificates, which may be a cause of the problem.
3. There may be a problem using hyperProxy and VPN connection together. We have yet to test and debug it more.

## TODO

1. Fix known problems ;)
2. Create something similar to http://thechangelog.com/frak-takes-an-entirely-different-approach-to-generating-regular-expressions/
   to make creation of overrides even simpler for people who do not like regular expressions.

## Thanks

1. Arkadiusz Ryćkowski, for telling me about the idea to override target files with local files.
2. cntlm: http://cntlm.sourceforge.net/ for great NTLM authenticating proxy
3. node-http-proxy: https://github.com/nodejitsu/node-http-proxy for great module
4. node-mitm-proxy: https://github.com/horaci/node-mitm-proxy for great module on which hyperProxy was based at first
5. node-http-mitm-proxy: https://github.com/nearinfinity/node-http-mitm-proxy for example of multi-certificate implementation

repository: Hypermediaisobar/hyperProxy

repo_name: Hypermediaisobar/hyperProxy


text:
---
title: Purchase Orders
layout: reference
---

# Purchase Orders
* [Create a new purchase order](#post)
* [Update purchase order line item with receipt information](#put-receipts)
* [Update an existing purchase order](#put)
* [Get an existing purchase order](#get)
* [Schema](#schema)
* [Response schema](#schema-response)
* [Receipt schema](#schema-receipt)
* [Error codes](#error-codes)

## Version
3.0

## Create a new purchase order

    POST  /api/v3.0/invoice/purchaseorders

Create or update a Purchase Order. Batch processing is not available using the Purchase Order API. Please use CES for batch updates.

### Parameters

|Name | Type | Format | Description
|-----|------|--------|------------
|`purchaseOrder`|-|`body` | The details of the purchase order.

### Input

[Schema](#schema)

### Response

[Response schema](#schema-response)

## Update purchase order line item with receipt information

    PUT  /api/v3.0/invoice/purchaseorderreceipts

### Parameters

|Name | Type | Format | Description
|-----|------|--------|------------
|`purchaseOrderReceipt`|-|`body` | Purchase order receipt information.

### Input

[Receipt schema](#schema-receipt)

### Response

[Response schema](#schema-response)

## Update an existing purchase order

    PUT  /api/v3.0/invoice/purchaseorders

### Parameters

|Name | Type | Format | Description
|-----|------|--------|------------
|`purchaseOrder`|-|`body` | The details of the purchase order.

### Input

[Schema](#schema)

### Response

[Response schema](#schema-response)

## Get an existing purchase order

    GET  /api/v3.0/invoice/purchaseorders/{id}

### Parameters

|Name | Type | Format | Description
|-----|------|--------|------------
|`id`|`string`|{id}| The identifier for the purchase order.

### Input

None.

### Response

[Schema](#schema)

## Schema

|Name | Type | Format | Description
|-----|------|--------|------------
|`AmountWithoutVat`|`string`|-|The net amount of the Purchase Order (excluding VAT).
|`BillToAddress`|`object`|[`BillToAddress`](#bill-to-address)|**Required** The customer's billing address, which is where the vendor should send the bill.
|`CurrencyCode`|`string`|-|The 3-letter ISO 4217 currency code of the currency that is associated with the purchase order.
|`Custom1 through Custom24`|`string`|-|A value that can be applied to a custom field 1 that is part of the purchase order header form.
|`Description`|`string`|-|A description of the purchase order.
|`DiscountPercentage`|`string`|-|The discount from the vendor, if the discount terms are met.
|`DiscountTerms`|`string`|-|The net discount terms that the vendor offers, when discounts apply.
|`ID`|`string`|-|The unique identifier of the resource.
|`LineItem`|`object`|[`LineItem`](#lineItem)|**Required** The line items in a purchase order.
|`Name`|`string`|-|A name for the purchase order.
|`NeededByDate`|`string`|-|The date by which the purchase order must be fulfilled. Format: YYYY-MM-DD
|`OrderDate`|`string`|-|The date when goods were ordered. Format: YYYY-MM-DD
|`PaymentTerms`|`string`|-|The net payment terms that have been set up with a vendor.
|`PolicyExternalID`|`string`|-|The external identifier of the policy that should be associated with the purchase order. The external ID is a property of the policy in its configuration.
|`PoVendorTaxId`|`string`|-|The Vendor Tax ID.
|`ProvincialTaxId`|`string`|-|The Vendor Provincial Tax ID.
|`PurchaseOrderNumber`|`string`|-|The purchase order number.
|`ReceiptType`|`string`|-|The Purchase Order Receipt type (Depricated.) Use the PurchaseOrderReceiptType at line item level instead.
|`RequestedBy`|`string`|-|The person who requests the goods in the purchase order.
|`RequestedDeliveryDate`|`string`|-|The date the purchase order instructed the vendor to deliver the goods. Format YYYY-MM-DD
|`Shipping`|`string`|-|The total shipping cost for the purchase order.
|`ShippingDescription`|`string`|-|A description of how the goods in the purchase order will ship. For example, via FedEx.
|`ShippingMethodKey`|`string`|-|A code that represents the shipping method used by the vendor. Maximum length: 10 characters
|`ShippingTermsKey`|`string`|-|A code that represents the shipping terms that the vendor offers. Maximum length: 10 characters
|`ShipToAddress`|`object`|[`ShipToAddress`](#ship-to-address)|**Required** The customer's shipping address, which is where the vendor should ship the goods.
|`Status`|`string`|-|The current status of the purchase order.
|`Tax`|`string`|-|The total tax for the purchase order.
|`URI`|`string`|-|The URI to the resource.
|`VatAmountOne`|`string`|-|This field has not been implemented by Purchase Request yet. Any data in this field will be ignored.
|`VatAmountTwo`|`string`|-|This field has not been implemented by Purchase Request yet. Any data in this field will be ignored.
|`VatRateOne`|`string`|-|This field has not been implemented by Purchase Request yet. Any data in this field will be ignored.
|`VatRateTwo`|`string`|-|This field has not been implemented by Purchase Request yet. Any data in this field will be ignored.
|`VendorAccountNumber`|`string`|-|The vendor account number.
|`VendorAddressCode`|`string`|-|The code that identifies the vendor's remit address for the purchase order.
|`VendorCode`|`string`|-|The code that identifies the vendor for the purchase order.

#### BillToAddress

|Name | Type | Format | Description
|-----|------|--------|------------
|`Address1`|`string`|-|**Required** Address line 1 of the shipping or billing address.
|`Address2`|`string`|-|Address line 2 of the shipping or billing address.
|`Address3`|`string`|-|Address line 3 of the shipping or billing address.
|`City`|`string`|-|**Required** The city of the shipping or billing address.
|`CountryCode`|`string`|-|**Required** The code of the country for the shipping or billing address.
|`ExternalID`|`string`|-|**Required** A unique value supplied by the customer to identify a particular shipping or billing address.
|`Name`|`string`|-|An optional name that can be given to the shipping or billing address.
|`PostalCode`|`string`|-|**Required** The postal code of the shipping or billing address.
|`State`|`string`|-|**Required** The state or province of the shipping or billing address.
|`StateProvince`|`string`|-|**Required** The state or province of the shipping or billing address.

#### LineItem

|Name | Type | Format | Description
|-----|------|--------|------------
|`AccountCode`|`string`|-|The account code of the line item. A value must be supplied for either ExpenseType or AccountCode, but not both. This field is required if an ExpenseType value is not supplied.
|`Allocation`|`array`|[`Allocation`](#allocation)|A list of the allocations that are associated with the line item. Allocation elements can be repeated within the same line items to represent multiple allocations.
|`AmountWithoutVat`|`string`|-|The net amount of the line item (excluding VAT).
|`CreateDate`|`string`|-|The date the line item was created. Format: YYYY-MM-DD
|`Custom1 through Custom20`|`string`|-|A value that can be applied to a custom field 1 that is part of the purchase order line item form.
|`Description`|`string`|-|A description of the line item.
|`ExpenseType`|`string`|-|The expense type of the line item. A value must be supplied for either ExpenseType or AccountCode, but not both. This field is required if an AccountCode value is not supplied.
|`ExternalID`|`string`|-|A customer-supplied value that uniquely identifies the line item within the purchase order.
|`IsReceiptRequired`|`string`|-|Indicates whether the line item requires a receipt. Format: true or false
|`LineNumber`|`string`|-|**Required** The line item number within the purchase order.
|`Quantity`|`string`|-|The quantity associated with the line item.
|`RequestedBy`|`string`|-|The person who requests the goods in the line item of the purchase order.
|`RequestedDeliveryDate`|`string`|-|The date the line item of the purchase order instructed the vendor to deliver the goods. Format: YYYY-MM-DD
|`SupplierPartID`|`string`|-|Any number that might help to identify the line item. This could be a value such as the vendor's part number or even the manufacturer number.
|`Tax`|`string`|-|Any tax that is associated with the line item.
|`UnitPrice`|`string`|-|The price of each item of the line item.
|`VatAmount`|`string`|-|This field has not been implemented by Purchase Request yet. Any data in this field will be ignored.
|`VatRate`|`string`|-|This field has not been implemented by Purchase Request yet. Any data in this field will be ignored.

#### Allocation

|Name | Type | Format | Description
|-----|------|--------|------------
|`Amount`|`string`|-|**Required** The total amount of the allocation.
|`Custom1 through Custom20`|`string`|-|A value that can be applied to a custom field 1 that is part of the allocation form.
|`GrossAmount`|`string`|-|**Required** The allocation gross amount.
|`Percentage`|`string`|-|**Required** The allocation percentage.

#### ShipToAddress

|Name | Type | Format | Description
|-----|------|--------|------------
|`Address1`|`string`|-|**Required** Address line 1 of the shipping or billing address.
|`Address2`|`string`|-|Address line 2 of the shipping or billing address.
|`Address3`|`string`|-|Address line 3 of the shipping or billing address.
|`City`|`string`|-|**Required** The city of the shipping or billing address.
|`CountryCode`|`string`|-|**Required** The code of the country for the shipping or billing address.
|`ExternalID`|`string`|-|**Required** A unique value supplied by the customer to identify a particular shipping or billing address.
|`Name`|`string`|-|An optional name that can be given to the shipping or billing address.
|`PostalCode`|`string`|-|**Required** The postal code of the shipping or billing address.
|`State`|`string`|-|**Required** The state or province of the shipping or billing address.
|`StateProvince`|`string`|-|**Required** The state or province of the shipping or billing address.

## Response schema

|Name | Type | Format | Description
|-----|------|--------|------------
|`ErrorCode`|`string`|-|A code that indicates why the purchase order was not processed successfully.
|`ErrorMessage`|`string`|-|A description of the error.
|`FieldCode`|`string`|-|A code that indicates which field caused an issue. This code typically appears only when a field is being validated against a field of a form type. Format: LEVEL CODE. The possible levels are: Header, ShipTo, BillTo, LineItem, Allocation.
|`LineItemExternalID`|`string`|-|The external ID of a line item that caused an error. If the error is related to an allocation, this field indicates the external ID of the line item that the allocation is associated with, and also indicates the allocation that caused of the error.
|`Message`|`string`|-|
|`PurchaseOrderNumber`|`string`|-|The purchase order number.
|`Status`|`string`|-|The result of processing the purchase order. Format: SUCCESS or FAILURE

## Receipt schema

|Name | Type | Format | Description
|-----|------|--------|------------
|`IsReceived`|`string`|-|**Required** Indicates whether the line item was received.
|`LineItemExternalID	`|`string`|-|**Required** A customer-supplied value that uniquely identifies the line item within the purchase order.
|`PurchaseOrderNumber`|`string`|-|**Required** The purchase order number.
|`ReceivedDate`|`string`|-|The date the line item was received. Format: YYYY-MM-DD
|`ReceivedQuantity`|`string`|-|The number of items that were received.

## Error codes

The web service will not return a 4xx HTTP response code for a batch operation even when every item in the batch failed to be created, updated or deleted. The client must inspect the response to look for warnings or errors with individual batch items.

|Code | Description
|-----|--------------
|1000|The PO number is missing or invalid.
|2000|There was no vendor found for the supplied Vendor Code and Vendor Address Code.
|3000|The Currency Code is missing or invalid.
|4000|There was no policy found matching the supplied External Id.
|4001|The policy does not support purchase orders.
|4002|The policy cannot be changed on the purchase order.
|5000|The purchase order does not contain any line items.
|5001|The line item must contain expense type or account code, but not both.
|5002|The line item expense type is invalid.
|5003|The line item account code is invalid.
|5004|The line item tax and unit price must both match positive or negative.
|5500|The line item contains an allocation, but no allocation form is defined.
|5501|The line item allocation amounts exceed the line item total.
|5502|The distribution amounts for a line item must match the line item amount positive or negative.
|5503|The distribution amounts for a line item cannot be zero.
|5600|The external id for the line item is not unique across the purchase order.
|6000|The Ship To Address is missing or invalid.
|6001|The Bill To Address is missing or invalid.
|8000|A required field is missing.
|8001|A field’s value exceeds the maximum length allowed.
|8002|A field’s value is not the correct data type.
|8003|A field’s value is an invalid list item.
|8004|A field’s value is an invalid connected list item.
|8005|The Country Code is missing or invalid.
|8006|A value was supplied for a field that is not part of the form.
|9999|An unexpected error occurred.

branch_name: refs/heads/preview

extension: markdown


text:
# Cash Cache
Final group project for Rutgers Coding Bootcamp.

[LIVE PREVIEW](http://cash-cache.herokuapp.com/)

![coin animation](https://github.com/mattbajorek/Cash-Cache/raw/master/doc_assets/merged-animation-1.gif)

For coin accepter & raspberry pi information, see our [raspberry pi server docs](https://github.com/jefabrah/cash-cache-rpiserver)

## Screenshots

## Technologies used
- **M**ongoDB
- **E**xpress
- **R**eact
- **N**ode.JS
    - Axios
    - Babel
    - Bluebird
    - Passport
    - Webpack
- Bootstrap
- ChartJS
- SocketIO
- SASS
- React Toolbox

### Prerequisities
- Node.JS - visit nodejs.org and download...
- Mongodb: brew install mongodb (Mac) or visit mongodb.com for MSI (Windows)

## Getting Started
When you download the repo, run the following command to get all the dependencies

```
npm i
```
To Start the Server:

```
npm run start
```

## Built With
* Webpack
* Node Package Manager

## Deployed With
* Heroku
* mLab

## Walk throughs of code
Here is a section of code that listens to raspberry pi signal inputs and sends a post request to the server.

```
// coinInput is attaced to pin 17
const requests = require('./requests'),
      GPIO = require('onoff').Gpio,
      coinInput = new GPIO(17, 'in', 'rising');
let   pulseCount = 0,
      pulsing = false;

// callback function for coinInput
function handlePulse (err, state) {

  if (err) {
    console.log('err: ', err);
    return;
  }
  // if state doesn't equal 1 return
  if (state !== 1) return;
  // increment pulse count
  pulseCount++;
  // if pulsing started return
  if (pulsing) return;
  pulsing = true;
  // otherwise set timeout to clear count
  setTimeout(function () {
    requests.postCoinInput(pulseCount);
    pulseCount = 0;
    pulsing = false;
  }, 600)
}

// set the coinInput callback function to handlePulse
coinInput.watch(handlePulse);
```
Here is a section of code that uses React CSS Transition group to animate coins going into piggy bank.
```
// NavbarBackground component
  handleAdd(event) {
    const coinVal = event.target.id;
    const newCoins = [];
    newCoins.push(coinVal);
    this.setState({coins: newCoins});
  }

  handleRemove(i) {
    const newCoins = this.state.coins.slice();
    newCoins.splice(i, 1);
    this.setState({coins: newCoins});
  }

  componentDidUpdate() {
    const coinCheck = this.state.coins[0];

    if(coinCheck == 'penny' || coinCheck == 'nickel' || coinCheck == 'dime' || coinCheck == 'quarter'){
      this.handleRemove(0);
    }
  }

  render() {
    const coins = this.state.coins.map((coin, i) => (
      <div key={coin} id="coin-img" className={coin}></div>
    ));

    return (
      <div>
        <ReactCSSTransitionGroup
          transitionName={ {
            enter: 'enter',
            enterActive: 'enterActive',
            leave: 'leave',
            leaveActive: 'leaveActive'
          } }
          transitionEnterTimeout={800}
          transitionLeaveTimeout={800}>
          {coins}
        </ReactCSSTransitionGroup>
...
```
Here is a section of code that uses session storage to see if the user is logged in or not.
```
loggedIn: function() {
    return !!((typeof window !== "undefined") ? sessionStorage.token : undefined)
},
```

## Authors
* [Adam Mattas](https://github.com/adamfader)
* [Jeff Abraham](https://github.com/jefabrah)
* [Matthew Bajorek](https://github.com/mattbajorek)

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

## Acknowledgments
* Hat tip to anyone who's code was used
* All those times in where you wondered home much money was actually in your piggy bank

repository: shareagency/Cash-Cache

repo_name: shareagency/Cash-Cache


text:
# Twilio Notify Quickstart for Android

This application should give you a ready-made starting point for writing your
own notification integrated app with Twilio Notify.

## Gather account information

We need to get the necessary information from our Twilio account. Here's what we'll need:

Config Value  | Description
:-------------  |:-------------
Service Instance SID | A [service](https://www.twilio.com/docs/api/notifications/rest/services) instance where all the data for our application is stored and scoped. You can create one in the [console](https://www.twilio.com/console/notify/services).

You will also need to create a push credential on the Twilio Console, and then configure it on your Notify service. You can [upload your push credentials here](https://www.twilio.com/console/notify/credentials/create). If you haven't set up the Firebase Cloud Messaging Service (FCM) for your app, you can do so by following [the Android push notification guide](https://www.twilio.com/docs/notify/configure-android-push-notifications).

## Set up Twilio Functions

The sample mobile app is already set up to communicate with Twilio Functions to register a device for notifications. You just need to create two Functions in your account from a template, and then specify the URL for one of those Twilio Functions in the source code to the app.

To get started with this, create a new Twilio Function on the [Twilio Console's Manage Functions page](https://www.twilio.com/console/runtime/functions/manage). Choose the Twilio Notify Quickstart template from the list of templates.
Use the Notify service SID you collected in the previous section for the only required configuration parameter for the template.

## Setting Up The Application

The application uses [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging/) (FCM)
from Google, the successor to Google Cloud Messaging (GCM)

After downloading or cloning the app, you will need to provide a `google-services.json` file for the app,
otherwise you will get an error when you try and sync with Gradle.

The default applicationId for the app defined in `app/build.gradle` is `com.twilio.notify.quickstart`.

Use this application id when you register a new project with Firebase using this online tool
[Firebase Console](https://console.firebase.google.com/). That web site will generate a
`google-services.json` file for your app. Download that file and put it into the `app` folder of the
project you just downloaded. This file gives your app access credentials to FCM.

Now, open the app in Android studio by selecting the `build.gradle` file in the root directory.

Next, in the `TwilioFunctionsAPI.java` file, add your Twilio Functions url - just the domain, without the trailing slash (like this - https://sturdy-concrete-1234.twil.io):

        private static String BASE_SERVER_URL = "YOUR_TWILIO_FUNCTIONS_URL";

Go ahead and launch the app. You can run this app on a device or on the Android emulator. You will need to provide an identity and an endpoint to use on the app's only screen.

Note that user identities for Notify should not be Personally Identifiable Information (PII), such as names.

Once you tap `Register Binding`, the app will call your Twilio Function to register your device with your Notify service and return a JSON response object to the app if successful.

After that, send a notification to the identity you registered so that you will receive a push notification in your app.

You can call the Twilio Function directly with an identity parameter and a body parameter, like this:

    https://sturdy-concrete-1234.twil.io/send-notification?identity=user1&body=Hello

That's it!

## License

MIT

gha_language: Java


text:
![Eric Nunn](./images/Header.png)

Welcome to my GitHub!

### Who Am I?

- 🏫 Graduate computer science student at Seattle University
- ✈ Equipment Engineer at Boeing working with large-scale R&D autoclaves and military flight-line equipment
- 👨🏫 Grader for Machine Learning course (Spring 21 - Seattle University)

[LinkedIn](https://www.linkedin.com/in/eric-j-nunn)
|
[Twitter](https://twitter.com/ericnunn11)

### Developer Skills

My coding experience is focused in the fields of AI, deep learning, image generation. I've worked on different types of computer vision tasks including image classification and object detection. I am familiar with many data science technologies and I've got a solid understanding of data structures and algorithms.

#### Tools/Technologies
- **OS** : macOS, Windows, Linux
- **Editor** : PyCharm, Jupyter Notebook, VIM
- **Languages** : Python, C++, Java, SQL, HTML, CSS, Markdown
- **Frameworks/Libraries/Tools** : PyTorch, Tensorflow, Pandas, Numpy, Bootstrap

### Portfolio Projects
1. GAN Research
2. Pokemon Classifier

### Education
- Computer Science MS, Seattle University
- Computer Science Fundamentals Certificate, Seattle University
- Chemical Engineering BSE, Arizona State University

### Work Experience
- Boeing autoclave programming
- Coursera Deep Learning and GAN certificates

### Fun Facts

- 🧗 I love bouldering with friends at the local climbing gym
- 🎸 Sitting down with my guitar is the best stress reliever

repository: ejnunn/ejnunn

repo_name: ejnunn/ejnunn


text:
---
layout: post
published: true
title: "Interactive charts using htmlwidgets"
mathjax: false
featured: true
comments: true
headline: Students
categories:
  - statistics
tags: statistics
---

* Meeting on 6 November, 2015 at 4:00, Jepson 120, Gonzaga.
* In attendance: Nate Burch, Ta-Tao Chuang, Jim Hallett, Rollie Parrish, and Vivek Patil.

* What happened: Vivek Patil introduced `htmlwidgets` that can help with the creation of interactive charts from within R. His presentation is available at [http://patilv.com/introtohtmlwidgets/](http://patilv.com/introtohtmlwidgets/).

Our next meeting date is February 6, Saturday, 930-noon. The presenters and agenda are being worked on.