text:
---
eip: 2018
title: Clearable Token
author: Julio Faura<EMAIL_ADDRESS>Fernando Paris<EMAIL_ADDRESS>Daniel Lehrner<EMAIL_ADDRESS>discussions-to: https://github.com/ethereum/EIPs/issues/2104
status: Stagnant
type: Standards Track
category: ERC
created: 2019-04-30
requires: 1996
---

## Simple Summary

> "In banking and finance, clearing denotes all activities from the time a commitment is made for a transaction until it is settled." [[1]][Clearing-Wikipedia]

## Actors

#### Clearing Agent

An account which processes, executes or rejects a clearable transfer.

#### Operator
An account which has been approved by an account to order clearable transfers on its behalf.

#### Orderer
The account which orders a clearable transfer. This can be the account owner itself, or any account, which has been approved as an operator for the account.

## Abstract

The clearing process turns the promise of a transfer into the actual movement of money from one account to another. A clearing agent decides if the transfer can be executed or not. The amount which should be transferred is not deducted from the balance of the payer, but neither is it available for another transfer and therefore ensures, that the execution of the transfer will be successful when it is executed.

## Motivation

A regulated token needs to comply with all the legal requirements, especially [KYC][KYC-Wikipedia] and [AML][AML-Wikipedia]. Some of these checks may not be able to be done on-chain and therefore a transfer may not be completed in one step. Currently there is no EIP to make such off-chain checks possible. This proposal allows a user to order a transfer, which can be checked by a clearing agent off-chain. Depending on the result of it, the clearing agent will either execute or cancel the transfer. To provide more information why a transfer is cancelled, the clearing agent can add a reason why it is not executed.

## Specification

```solidity
interface ClearableToken /* is ERC-1996 */ {
    enum ClearableTransferStatusCode { Nonexistent, Ordered, InProcess, Executed, Rejected, Cancelled }

    function orderTransfer(string calldata operationId, address to, uint256 value) external returns (bool);
    function orderTransferFrom(string calldata operationId, address from, address to, uint256 value) external returns (bool);
    function cancelTransfer(string calldata operationId) external returns (bool);
    function processClearableTransfer(string calldata operationId) external returns (bool);
    function executeClearableTransfer(string calldata operationId) external returns (bool);
    function rejectClearableTransfer(string calldata operationId, string calldata reason) external returns (bool);
    function retrieveClearableTransferData(string calldata operationId) external view returns (address from, address to, uint256 value, ClearableTransferStatusCode status);

    function authorizeClearableTransferOperator(address operator) external returns (bool);
    function revokeClearableTransferOperator(address operator) external returns (bool);
    function isClearableTransferOperatorFor(address operator, address from) external view returns (bool);

    event ClearableTransferOrdered(address indexed orderer, string operationId, address indexed from, address indexed to, uint256 value);
    event ClearableTransferInProcess(address indexed orderer, string operationId);
    event ClearableTransferExecuted(address indexed orderer, string operationId);
    event ClearableTransferRejected(address indexed orderer, string operationId, string reason);
    event ClearableTransferCancelled(address indexed orderer, string operationId);
    event AuthorizedClearableTransferOperator(address indexed operator, address indexed account);
    event RevokedClearableTransferOperator(address indexed operator, address indexed account);
}
```

### Functions

#### orderTransfer

Orders a clearable transfer on behalf of the msg.sender in favor of `to`. A clearing agent is responsible to either execute or reject the transfer. The function must revert if the operation ID has been used before.

| Parameter | Description |
| ---------|-------------|
| operationId | The unique ID to identify the clearable transfer |
| to | The address of the payee, to whom the tokens are to be paid if executed |
| value | The amount to be transferred. Must be less or equal than the balance of the payer. |

#### orderTransferFrom

Orders a clearable transfer on behalf of the payer in favor of the `to`. A clearing agent is responsible to either execute or reject the transfer. The function must revert if the operation ID has been used before.

| Parameter | Description |
| ---------|-------------|
| operationId | The unique ID to identify the clearable transfer |
| from | The address of the payer, from whom the tokens are to be taken if executed |
| to | The address of the payee, to whom the tokens are to be paid if executed |
| value | The amount to be transferred. Must be less or equal than the balance of the payer. |

#### cancelTransfer

Cancels the order of a clearable transfer. Only the orderer can cancel their own orders. It must not be successful as soon as the transfer is in status `InProcess`.

| Parameter | Description |
| ---------|-------------|
| operationId | The unique ID to identify the clearable transfer |

#### processClearableTransfer

Sets a clearable transfer to status `InProcess`. Only a clearing agent can successfully execute this action. This status is optional, but without it the orderer can cancel the transfer at any time.

| Parameter | Description |
| ---------|-------------|
| operationId | The unique ID to identify the clearable transfer |

#### executeClearableTransfer

Executes a clearable transfer, which means that the tokens are transferred from the payer to the payee. Only a clearing agent can successfully execute this action.

| Parameter | Description |
| ---------|-------------|
| operationId | The unique ID to identify the clearable transfer |

#### rejectClearableTransfer

Rejects a clearable transfer, which means that the amount that is held is available again to the payer and no transfer is done. Only a clearing agent can successfully execute this action.

| Parameter | Description |
| ---------|-------------|
| operationId | The unique ID to identify the clearable transfer |
| reason | A reason given by the clearing agent why the transfer has been rejected |

#### retrieveClearableTransferData

Retrieves all the information available for a particular clearable transfer.

| Parameter | Description |
| ---------|-------------|
| operationId | The unique ID to identify the clearable transfer |

#### authorizeClearableTransferOperator

Approves an operator to order transfers on behalf of msg.sender.

| Parameter | Description |
| ---------|-------------|
| operator | The address to be approved as operator of clearable transfers |

#### revokeClearableTransferOperator

Revokes the approval to order transfers on behalf of msg.sender.

| Parameter | Description |
| ---------|-------------|
| operator | The address to be revoked as operator of clearable transfers |

#### isClearableTransferOperatorFor

Returns if an operator is approved to order transfers on behalf of `from`.

| Parameter | Description |
| ---------|-------------|
| operator | The address to be an operator of clearable transfers |
| from | The address on which the holds would be created |

#### transfer

It is up to the implementer of the EIP if the `transfer` function of ERC-20 should always revert or is allowed under certain circumstances.

#### transferFrom

It is up to the implementer of the EIP if the `transferFrom` function of ERC-20 should always revert or is allowed under certain circumstances.

### Events

#### ClearableTransferOrdered

Must be emitted when a clearable transfer is ordered.

| Parameter | Description |
| ---------|-------------|
| orderer | The address of the orderer of the transfer |
| operationId | The unique ID to identify the clearable transfer |
| from | The address of the payer, from whom the tokens are to be taken if executed |
| to | The address of the payee, to whom the tokens are to be paid if executed |
| value | The amount to be transferred if executed |

#### ClearableTransferInProcess

Must be emitted when a clearable transfer is put in status `ÌnProcess`.

| Parameter | Description |
| ---------|-------------|
| orderer | The address of the orderer of the transfer |
| operationId | The unique ID to identify the clearable transfer |

#### ClearableTransferExecuted

Must be emitted when a clearable transfer is executed.

| Parameter | Description |
| ---------|-------------|
| orderer | The address of the orderer of the transfer |
| operationId | The unique ID to identify the clearable transfer |

#### ClearableTransferRejected

Must be emitted when a clearable transfer is rejected.

| Parameter | Description |
| ---------|-------------|
| orderer | The address of the orderer of the transfer |
| operationId | The unique ID to identify the clearable transfer |
| reason | A reason given by the clearing agent why the transfer has been rejected |

#### ClearableTransferCancelled

Must be emitted when a clearable transfer is cancelled by its orderer.

| Parameter | Description |
| ---------|-------------|
| orderer | The address of the orderer of the transfer |
| operationId | The unique ID to identify the clearable transfer |

#### AuthorizedClearableTransferOperator

Emitted when an operator has been approved to order transfers on behalf of another account.

| Parameter | Description |
| ---------|-------------|
| operator | The address which has been approved as operator of clearable transfers |
| account | Address on which behalf transfers will potentially be ordered |

#### RevokedClearableTransferOperator

Emitted when an operator has been revoked from ordering transfers on behalf of another account.

| Parameter | Description |
| ---------|-------------|
| operator | The address which has been revoked as operator of clearable transfers |
| account | Address on which behalf transfers could potentially be ordered |

## Rationale

This EIP uses [EIP-1996][EIP-1996] to hold the money after a transfer is ordered. A clearing agent, whose implementation is not part of this proposal, acts as a predefined notary to decide if the transfer complies with the rules of the token or not.

The `operationId` is a string and not something more gas efficient to allow easy traceability of the hold and allow human readable ids. It is up to the implementer if the string should be stored on-chain or only its hash, as it is enough to identify a hold.

The `operationId` is a competitive resource. It is recommended, but not required, that the hold issuers used a unique prefix to avoid collisions.

While not requiring it, the naming of the functions `authorizeClearableTransferOperator`, `revokeClearableTransferOperator` and `isClearableTransferOperatorFor` follows the naming convention of [ERC-777](./eip-777.md).

## Backwards Compatibility

This EIP is fully backwards compatible as its implementation extends the functionality of [EIP-1996][EIP-1996].

## Implementation

The GitHub repository [IoBuilders/clearable-token](https://github.com/IoBuilders/clearable-token) contains the reference implementation.

## Contributors
This proposal has been collaboratively implemented by [adhara.io](https://adhara.io/) and [io.builders](https://io.builders/).

## Copyright
Copyright and related rights waived via [CC0](../LICENSE.md).

[1] https://en.wikipedia.org/wiki/Clearing_(finance)

[Clearing-Wikipedia]: https://en.wikipedia.org/wiki/Clearing_(finance)
[KYC-Wikipedia]: https://en.wikipedia.org/wiki/Know_your_customer
[AML-Wikipedia]: https://en.wikipedia.org/wiki/Money_laundering#Anti-money_laundering
[EIP-1996]: ./eip-1996.md

repository: ethereum/EIPs

gha_language: Solidity

repo_name: ethereum/EIPs


text:
# ecommerce

Ecommerce service/api to save favorite products of clients

## Runing

1. Create .env file from .env.example and fill the missing variables `cp .env.exanple .env`
2. Choose between docker or Local instance to run the application

### Docker
#### Requirements

* Docker Compose

#### Running the application

1. Start the application `docker-compose up backend`
2. Migrate the database `docker-compose exec backend ./manage.py migrate`

### Local instance
#### Requirements

* Docker or PostgresQl instance running
* Make
* Python => 3.9.2
* Pip

#### Setup and run the application

1. Install virtualenv `pip install virtualenv`
2. Create your virtualenv `{PATH/TO/YOUR/PYTHON3.9} -m venv venv` (don't change the env name)
3. Activate your venv `source venv/bin/activate`
4. Run postgresql `make prepare` if you are using docker, else just adjust .env accordly
5. Setup your venv `make setupvenv`
6. Run tests `make test`
7. Run server `make start`

## Acessing the application
---
**IMPORTANT**

This api is made to run under a microservice architecture, wouldn't be nice to have endpoints to create a user (client), or to login the user.
since is expected to the user to exists on other services already.
With this in mind your user will be altomaticly created on your first access a token (that would be created by another service)
To test everything setup your evironment and run `./manage.py create_token YOUR_EMAIL` you will receive a token that mush be on headers in each request.

---

Every action has a render (Django Rest Framework), but is configurated to on production return only json responses already, oppitionally you can force receieving json response including `?format=json` at the end like `/api/clients/?format=json`

You can check the documentation to [Clients Endpoint](docs/api/clients.md) or [Products Endpoint](docs/api/products.md)

To more informations in how to make requests to the api check postman

[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/c87bb77b702e705740c7)

license: MIT

repository: dennys-bd/ecommerce

branch_name: refs/heads/main

extension: md

license_type: permissive

repo_name: dennys-bd/ecommerce


text:
---
title: Dark Molasses Gingerbread With Whipped Cream
date: "2019-08-01T23:46:37.121Z"
template: "post"
draft: false
slug: "/posts/Dark-Molasses-Gingerbread-With-Whipped-Cream/"
category: "Crazy Recipes"
tags:
- "AI"
- "Kim Severson"
description: "A tasty AI-generated recipe. Endorsed by Obama."
socialImage: "https://static01.nyt.com/images/2014/04/09/dining/Dark-Molasses-Gingerbread/Dark-Molasses-Gingerbread-superJumbo-v4.jpg"
---

![](https://static01.nyt.com/images/2014/04/09/dining/Dark-Molasses-Gingerbread/Dark-Molasses-Gingerbread-superJumbo-v4.jpg)

*For this easy dessert, you might want to let the turkey roaster brown a bit longer and leave out the eggs to get a nice golden brown crust. Basted in egg yolks with the browned turkey roaster juices, the gingerbread incorporates aromatics and a bit of a rich flavor. The Whipped Cream adds a creamy finish to the already moist crust.*

*Serves 4-6*
### Ingredients

* 1 turkey roast, in any shape, bone-in with the skin removed, 15 to 16 ounces, marinated 4 to 5 hours in 1/4 cup apple cider vinegar, 1 tablespoon hot mustard, and 2 tablespoons of golden brown sugar

* 2 tbsp. sour cream

* 1 clove garlic, crushed

* 3 tablespoons very finely chopped fresh ginger

* 2/3 cup dark molasses

* 2 cups whole milk

* 1 1/2 cups all-purpose flour

* 1/2 tsp. cayenne pepper

* 1/4 tsp. kosher salt

* 1 cup freshly whipped cream
### Directions

1. Preheat oven to 375 F. Brush the exterior of the turkey roast on all sides with the leftover sauce, placing it on a cookie sheet to dry out. In a large bowl, combine sour cream, the garlic, ginger, and a 1/2 cup of water. Let sit for 1 hour.

1. In a bowl, combine the browned turkey roast, flour, salt, and cayenne pepper. Stir well, being careful not to over combine.

1.  Bring to a simmer and cook until the fat has completely melted and the pan is as dry as a tack (it should be about 50 percent dry). Remove from heat and set aside.

1. Fold the milk into the liquid fat and set aside to cool.

1. Once the turkey has cooled completely, pat it dry with paper towels.

1. In the same saucepan used to melt the turkey fat, heat the rest of the 2 cups of browned fat until very hot and bubbling. Increase the heat to high and cook the mixture until the mixture has melted. The total cooking time should be 3 to 4 hours. (The roasting is not required.)

1. Once the turkey has cooled completely, pat it dry with paper towels.

1. Transfer the roast to a rimmed baking sheet, lifting the dry edges. The oven will need to go a few degrees slower than you would normally if you were roasting the turkey ahead of time, and the turkey will need to be covered.

1. Place the roast on the roasting rack in the top third of the oven, in a cake pan, and roast for about 1 1/2 hours. (The oven needs to go a few degrees slower than you would normally to allow the turkey to brown. At 1 1/2 hours, the turkey should be golden brown on the top and sides.)

1.  Stir constantly until mixture boils and begins to bubble (this will take several minutes). Remove from heat and set aside.

1. As soon as the turkey comes out of the oven, remove it from the rack and invert onto a plate. Place the whole roasting pan in the oven to finish roasting the turkey in total.

1. Continue to bake the turkey for another 1 1/2 hours, until the internal temperature measures 165 F. Remove from oven and let it rest for 10 minutes before slicing. Serve in basting dishes with the Whipped Cream.

1. This recipe is based on a recipe from Just About Everything's Naturally Delicious: Recipes for Everyday Adventures in a Home Kitchen, by Susan Taylor. The version here is adapted slightly for gluten-free pastry lovers.

branch_name: refs/heads/master

gha_language: Jupyter Notebook

gha_license_id: MIT


text:
# systemd_timesyncd Cookbook

[systemd-timesyncd](https://www.freedesktop.org/software/systemd/man/systemd-timesyncd.service.html) is a service that has been added to `systemd` for synchronizing the system clock across the network with a remote Network Time Protocol server and is included in most recent Linux distributions. Similar to `ntpd` or `chrony` yet simpler in the implementation, it is considered sufficient for most Linux machines' time synchronization requirements.

## Supported Platforms

Full support for `systemd-timesyncd` varies by Linux distribution versions. Red Hat has chosen not to ship it in favor of `chrony`.

| Distribution Version | Supported |
|:-|:-|
| Amazon Linux 2.0 | no |
| CentOS/Red Hat 6 | no |
| CentOS/Red Hat 7 | no |
| CentOS/Red Hat 8 | no |
| Debian 8 | yes |
| Debian 9 | yes |
| Debian 10 | yes |
| SUSE Enterprise Linux Server 15 | yes |
| Ubuntu 16.04 | yes |
| Ubuntu 18.04 | yes |
| Ubuntu 20.04 | yes |

## Custom Resource
This resource will write out a `/etc/systemd/timesyncd.conf` for configuration and supports the actions `enable` and `start` the `systemd-timesyncd.service`.

```
systemd_timesyncd 'Configure systemd_timesyncd as a client' do
    ntp ['<IP_ADDRESS>']
    fallbackntp ['0.arch.pool.ntp.org','1.arch.pool.ntp.org']
    action [:enable, :start]
end
```

## Properties

The properties map to the options listed in the [timesyncd.conf](https://www.freedesktop.org/software/systemd/man/timesyncd.conf.html#Options) documentation.

- `ntp`: A space-separated list of NTP server host names or IP addresses. During runtime this list is combined with any per-interface NTP servers acquired from systemd-networkd.service. systemd-timesyncd will contact all configured system or per-interface servers in turn until one is found that responds. When the empty string is assigned, the list of NTP servers is reset, and all assignments prior to this one will have no effect. This setting defaults to an empty list.
- `fallbackntp`: A space-separated list of NTP server host names or IP addresses. During runtime this list is combined with any per-interface NTP servers acquired from systemd-networkd.service. systemd-timesyncd will contact all configured system or per-interface servers in turn until one is found that responds. When the empty string is assigned, the list of NTP servers is reset, and all assignments prior to this one will have no effect. This setting defaults to an empty list.
- `rootdistancemaxsec`: Maximum acceptable root distance. Takes a time value (in seconds). Defaults to 5 seconds.
- `pollintervalminsec`, `pollintervalmaxsec`: The minimum and maximum poll intervals for NTP messages. Each setting takes a time value (in seconds). PollIntervalMinSec= must not be smaller than 16 seconds. PollIntervalMaxSec= must be larger than PollIntervalMinSec=. PollIntervalMinSec= defaults to 32 seconds, and PollIntervalMaxSec= defaults to 2048 seconds.

## Actions

`:disable`: Disable the `systemd-timesyncd` service.
`:enable`: Enable the `systemd-timesyncd` service at boot.
`:restart`: Restart the `systemd-timesyncd` service.
`:start`: Start the `systemd-timesyncd` service, and keep it running until stopped or disabled.
`:stop`: Stop the `systemd-timesyncd` service.

## Default Recipe

The default recipe simply calls the custom resource with `:enable` and `:start`, passing the node attributes.

## Attributes

The [attributes](attributes/default.rb) file provided defaults that map to the defaults provided by the [timesyncd.conf](https://www.freedesktop.org/software/systemd/man/timesyncd.conf.html#Options) documentation.

gha_language: Ruby


text:
# MyPlay Programming Project #

## Overview ##

We do a lot of builds of a lot of different applications. Each application can be deployed to one of several
environments: QA, Stage, Labs, Production, etc... Keeping track of 10s of applications across 5 or 6 environments can be cumbersome.
What's needed is a program that makes it easy to determine what version number of a particular application is
in what environment.

## The Project ##

Using the language of your choice write a web-based application that allows one to track application version numbers and their
associated environments. The application must provide:

1. A GUI that allows one to peruse application deployments and determine things like:

* What version of the e-commerce website is in production?
* What were the last 10 deployments to production?
* Who deployed version 0.5.3 of the fulfillment service to production?
* What version of the e-commerce website is in QA?
* What are the version numbers of all applications in the staging environment?
* On what date was the most recent version of the pin code service deployed to production?

2. An endpoint that allows deployments to be added pragmatically. After a deployment, one should not have to use the GUI to enter
deployment information. It should be done automatically, at deploy time.

You must also describe how you would use #2 with your favorite deployment/delivery tool. For example, if you love Chef
how would you integrate version registration with a Chef deploy resource or cookbook?

repository: jzhenghm/MyPlayAppTracking

repo_name: jzhenghm/MyPlayAppTracking


text:
---
layout: default
---

# 1997-07-05 - Re: e$: $MTP?

## Header Data

From: Ryan Anderson<EMAIL_ADDRESS>To: Robert Hettinga<EMAIL_ADDRESS>Message Hash: cacdd229d6b19724887b0e07945c81cd0906c8686583a797723edd429dbe4a99

Message ID: \<Pine.GSO.3.95.970705032112.1436D-100000@ece\>

Reply To<EMAIL_ADDRESS>UTC Datetime: 1997-07-05 07:30:50 UTC

Raw Date: Sat, 5 Jul 1997 15:30:50 +0800

## Raw message

```
{% raw  %}From: Ryan Anderson<EMAIL_ADDRESS>Date: Sat, 5 Jul 1997 15:30:50 +0800
To: Robert Hettinga<EMAIL_ADDRESS>Subject: Re: e$: $MTP?
In-Reply-To<EMAIL_ADDRESS>Message-ID: <Pine.GSO.3.95.970705032112.1436D-100000@ece>
MIME-Version: 1.0
Content-Type: text/plain

On Fri, 4 Jul 1997, Robert Hettinga wrote:

> > We still need to work out how to fit mailing lists fit into this without
> > eliminating them entirely. Chargebacks to the subscribers?  If this list
> > will work in a proposed plan, I think all the others probably would as
> > well.. :-)
>
> Send 'em collect? Postage due? :-).
>
> Or, maybe people buy subscriptions? Of course, since you're collecting the
> postage, you owe it to yourself...
>
> Curioser and curiouser...

Well, as a thought, I'm on BugTraq as well, and it periodically forces you
to renew your subscription to the list.  If everything required this (or
some sort of it) you could simply charge a large amount for the renewals,
based on expected cost over the next time period.  Your initial
subscription would be costed based upon the average of all the
subscribers.

This might be the simplest way, though charging a bunch for a specific
message could be complicated..

-----------------------------------------------------------------------
Ryan Anderson - <Pug Majere>     "Who knows, even the horse might sing"
Wayne State University - CULMA   "May you live in interesting times.."
<EMAIL_ADDRESS>                      Ohio = VYI of the USA
PGP Fingerprint - 7E 8E C6 54 96 AC D9 57  E4 F8 AE 9C 10 7E 78 C9
-----------------------------------------------------------------------

{% endraw %}
```

## Thread

+ Return to [July 1997](/archive/1997/07)

+ Return to "[Ryan Anderson <randerso@ece.eng.wayne.edu>](/authors/ryan_anderson_randerso_at_ece_eng_wayne_edu_)"

+ _Unknown thread root_
  + 1997-07-05 (Sat, 5 Jul 1997 15:30:50 +0800) - Re: e$: $MTP? - _Ryan Anderson<EMAIL_ADDRESS>


text:
# Drakov Docker

Drakov API Blueprint Mock Server Docker Image

[![drakov docker image build and push](https://github.com/burakince/drakov/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/burakince/drakov/actions/workflows/docker-publish.yml)
![Docker Pulls](https://img.shields.io/docker/pulls/burakince/drakov)
![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/burakince/drakov?sort=date)
![Docker Image Version (latest semver)](https://img.shields.io/docker/v/burakince/drakov?sort=semver)
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/drakov)](https://artifacthub.io/packages/search?repo=drakov)

# Usage

```
docker run -it --rm -v $(pwd):/blueprints -p 3000:3000 burakince/drakov
```

or

```
docker run -it --rm -v $(pwd):/blueprints -p 3000:3000 burakince/drakov -f /blueprints/BLUEPRINT_FILE
```

repository: burakince/drakov

gha_language: Dockerfile

repo_name: burakince/drakov


text:
---
to: All Volunteers
subject: SR2021 Call for volunteers
---

Hi All,

We're gathering people together to start planning this year's Student Robotics competition, lets jump right into it:

## Student Robotics 2021

Given the current state of the world, we doubt it'll be viable to run a *physical* robotics competition next year, so we're aiming for a virtual one.

## Competition kick-off meeting

We're going to hold the kick-off meeting next Thursday (October 15th) at 8:30pm UK time, the meet link is: https://meet.google.com/dwz-bosu-suh

Here's the current agenda:

- Discuss what to change for SR2021.
- Establish a competition timeline.
- Form a team that's interested in getting it running.
- Schedule regular meetings.

Please put it in your calendar!

Feel free to add our calendar to your calendar app: https://studentrobotics.org/runbook/volunteering/calendars/#volunteer-calendar (click on 'Volunteer Calendar')

Or you can add the single calendar event directly to your google calendar: https://calendar.google.com/calendar/u/0/r/eventedit/copy/MXBvNW0xbW0yaWt2a3ZhZWo4MWJjdG5nZmogc3R1ZGVudHJvYm90aWNzLm9yZ19vcWRqYXN2cHBzOHNtbzBkNW50ZTQxN3Jha0Bn

-- SR Competition Committee

repository: srobo/volunteer-emails

gha_language: Markdown

repo_name: srobo/volunteer-emails


text:
## Usage with CSS Modules

emotion works well with CSS Modules but it requires a bit of configuration.

1. In your webpack config add the exclude option with this regex `/emotion\.css$/` to your loader for css so that emotion's static css isn't imported as a CSS Module.
2. Add another object to your `modules.use` with your css loaders but with CSS Modules disabled and set the test field to the same regex as above `/emotion\.css$/`.

- [Example webpack config](../example/webpack.config.js)
- [Example usage of CSS Modules with emotion](../example/src/markdown/index.js)

repository: kentcdodds/emotion

repo_name: kentcdodds/emotion


text:
# DO NOT USE - CURRENTLY WORK IN PROGRESS #

I am re-writing this project so that it builds out a graylog2 0.10 based appliance.

### Graylog2 Appliance

In here is some puppet manifests and modules for building out a working Graylog2 system on a single host.
You have a choice of two very simple deployment methods:

* Vagrant
* Capistrano

Vagrant is for building out Graylog2 in a local virtualbox guest.
*NOTE: Vagrant will download my basebox the first time you run it (455M).*

    vagrant up
    # browse to <IP_ADDRESS>:3000

Capistrano is for building out Graylog2 on a remote host.
For full usage help run `cap -e go`

    cap go HOST='ec2-foo-09498.example.com'
    # browse to ec2-foo-09498.example.com:3000

#### Requirements

Vagrant requires you have Virtualbox setup and the vagrant rubygem installed.
Capistrano requires you have a clean Ubuntu Precise guest (from anywhere, local VM, cloud provider etc) and the capistrano rubygem installed.

#### Todo

* tune rsyslog to send logs to graylog2
* split out the Graylog2 puppet module to separate repos.

    Author	Mick Pollard (aussielunix at g mail dot com

    Copyright	Copyright (c) 2012 by Mick Pollard

    License	Distributed under the Apache License, see COPYING

    twitter 	@aussielunix


text:
---
layout: page-toc
title: About
permalink: /about/
group: navigation
weight: 1
---

{% include JB/setup %}

Contents

* generate table of contents
{:toc}

# About the HPC Resource Centre

HPC-RC is the High Performance Computing (HPC) Resource Centre; A one-stop-shop for all things Cluster, Grid and Cloud on the Campus.

## Services

- Provide accounts to local systems for researchers/staff/students
- Provide a central repository of software and manage licensing
- Provide a central knowledge base for users
- Available during business hours to provide timely help and support for all users
- Provide training for users

## Staff

- Josh Higgins
- Shuo Liang
- Matthew Newall
- Andrei Dafinoiu
- Hamza Aagela


text:
---
title: The end of the cloud is coming
author: PipisCrew
date: 2017-11-04
categories: [news]
toc: true
---

https://venturebeat.com/2017/11/04/the-end-of-the-cloud-is-coming/

* * *

## Kademlia

The first generation peer-to-peer file sharing networks, such as Napster, relied on a central database to co-ordinate look ups on the network. Second generation peer-to-peer networks, such as Gnutella, used flooding to locate files, searching every node on the network. Third generation peer-to-peer networks use Distributed hash tables to look up files in the network. Distributed hash tables store resource locations throughout the network. A major criterion for these protocols is locating the desired nodes quickly.

Kademlia uses a "distance" calculation between two nodes. [wikipedia](https://en.wikipedia.org/wiki/Kademlia)

https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf

origin - http://www.pipiscrew.com/?p=10993 the-end-of-the-cloud-is-coming


text:
# Framework - Kernel and Environment
Each spiral build will contain a kernel object with a set of application-specific services. Unlike Symfony,
The Spiral needs only one Kernel for all the dispatching methods (HTTP, Queue, GRPC, Console). The kernel will select the dispatching
method automatically, based on connected `Spiral\Boot\DispatcherInterface` instances.

> The base kernel implementation located in `spiral/boot` repository.

## Kernel Responsibilities
The `Spiral\Boot\AbstractKernel` class only responsible for the following aspects of your application:
- container initialization via a set of application-specific bootloaders
- environment and directory structure initialization
- selection of appropriate dispatching method

To create your kernel extends `Spiral\Boot\AbstractKernel`.

```php
namespace App;

use Spiral\Boot\AbstractKernel;
use Spiral\Boot\Exception\BootException;

class MyApp extends AbstractKernel
{
    protected const LOAD = [
        // bootloaders to initialize
    ];

    public function get(string $service)
    {
        return $this->container->get($service);
    }

    protected function bootstrap()
    {
        // custom initialization code
        // invoked after all bootloaders are loaded
    }

    protected function mapDirectories(array $directories): array
    {
        if (!isset($directories['root'])) {
            throw new BootException('Missing required directory `root`');
        }

        if (!isset($directories['app'])) {
            $directories['app'] = $directories['root'] . '/app/';
        }

        return array_merge(
            [
                // public root
                'public'    => $directories['root'] . '/public/',

                // vendor libraries
                'vendor'    => $directories['root'] . '/vendor/',

                // data directories
                'runtime'   => $directories['root'] . '/runtime/',
                'cache'     => $directories['root'] . '/runtime/cache/',

                // application directories
                'config'    => $directories['app'] . '/config/',
                'resources' => $directories['app'] . '/resources/',
            ],
            $directories
        );
    }
}
```

> The `Spiral\Framework\Kernel` defines the default directory map.

To init the kernel invoke static method `init`:

```php
$myapp = MyApp::init(
    [
        'root' => __DIR__
    ],
    null, // use default env
    false // do not mount error handler
);

dump($myapp->get(\Spiral\Boot\DirectoriesInterface::class)->getAll());
```

## Environment
Use `Spiral\Boot\EnviromentInterface` to access the list of ENV variables. By default, the framework relies on system-level
environment values. To redefine env values while initializing the kernel pass custom `EnvironmentInterface` to the `init` method.

```php
$myapp = MyApp::init(
    [
        'root' => __DIR__
    ],
    new Environment(['key' => 'value']),
    false // do not mount error handler
);

dump($myapp->get(\Spiral\Boot\EnvironmentInterface::class)->getAll());
```

> Such an approach can be used to bootstrap the application for testing purposes.

repository: krwu/spiraldocs

branch_name: refs/heads/feat/chinese

repo_name: krwu/spiraldocs


text:
---
title: "Vitamin K2"
created_at: Fri Jul 21 10:37:54 MDT 2017
kind: article
tags:
  - vitamin_k2
  - supplements
  - cureality
---

  omegavia.com/how-to-choose
  You need both MK-4 and MK-7 (particularly MK-4)

  chrismasterjohnphd.com/2016/12/09
  The Ultimate Vitamin K2 Resource

Supplements

  k-vitamins.com/index
  Koncentrated K

  cureality.com/forum/topics
  Heart Health Forum >> Koncentrated K

Ordered some two weeks ago.  Code
typ#1
worked.

I always use lower case for the code, although I'm not sure that matters.

  Vitamin K2 MK-7 Source
  heartlifetalk.com/forums

  Vitamin K2 MK-7 Source - slimjohn post
  heartlifetalk.com/forums

Combination K supplements:

Vitacost Ultra Vitamin K with Advanced K2 Complex
Bronson Vitamin K Triple Play
Life Extension Super K with Advanced K2 Complex

I think that D3:VitA ratio should be roughly 3:1.  At low dosages it
might be difficult to achieve.  If 2000IU D3 give 25-hydroxy vitamin D3
over 30-40ng/ml, then 10000IU VitA/WEEK may be good enough. In general
get D3 level to 60-70ng, then add minimum VitA. My concern is that at
higher dosages D3 and VitA protect each other from excessive amounts from
toxicity and ratios near 1:1 might diminish effectiveness. The levels
you mentioned are nowhere near toxicity levels so the 10kIU VitA per week
should be good. If your children get VitA (retinol) in multivitamin and
diet then this may be sufficient.

gha_language: HTML


text:
# docker-rails-mysql

Docker compose for rails + mysql. Actually in version 2.6.3, the docker file and docker compose maybe modify for another versions.

## Installation & Lancement

* docker-compose build
* docker-compose run app bundle rake db:migrate
* docker-compose d

## Configuration

environnements/developpement.rb, add for yarn version :
```ruby
config.webpacker.check_yarn_integrity = false
```
initializers/assets.rb, add for fix problem with windows environnement :
```ruby
Rails.application.config.assets.configure do |env|
    env.cache = Sprockets::Cache::FileStore.new(
      ENV.fetch("SPROCKETS_CACHE", "#{env.root}/tmp/cache/assets"),
      Rails.application.config.assets.cache_limit,
      env.logger
    )
  end
```
database.yml :
```ruby
default: &default
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  adapter: mysql2
  encoding: utf8
  host: <%= ENV['DB_HOST'] %>
  database: <%= ENV['DB_NAME'] %>
  username: <%= ENV['DB_USER'] %>
  password: <%= ENV['DB_PASSWORD'] %>

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  adapter: mysql2
  encoding: utf8
  host: <%= ENV['DB_HOST'] %>
  database: <%= ENV['DB_NAME'] %>
  username: <%= ENV['DB_USER'] %>
  password: <%= ENV['DB_PASSWORD'] %>

```

repository: ldubois/docker-rails-mysql

repo_name: ldubois/docker-rails-mysql


text:
# Using the markentries Script

## Usage
```
markentries <Excel file> <ditmap>
```
### Summary
markentries allows you to use an Excel spreadsheet to maintain glossary entries, then use that spreadsheet to mark the first instance of the terms in each topic listed in the DITA map or bookmap.

terms found in the DITA topics use keydefs and are mapped to the actual word minus any invalid XML characters and white space. For example:
```
<term keyref="advancedperipheralbus">Advanced Peripheral Bus</term>
```
Keys are mapped to the topics using the ***glossaryentries.ditamap***.

If a term has already been defined within the topic, it is skipped.

## Excel Format
The first row is considered the header row and will never be processed. The spreadsheet structure looks like this:

	Term
	Definition

	actual term
	actual definition

## Requirements

- Ruby 2.x
- Ruby gems:
-- Nokogiri
-- creek
- Excel spreadsheet with terms and definitions.

### Getting started with Ruby

If you haven't ever used ruby, you may need to install it.

- [ruby language](https://www.ruby-lang.org/en/downloads/)

There are versions for linux, Mac OS X, and Windows.
Ruby gems are libraries used to perform certain things. I used two for this project; creek is used to read the Excel data, nokogiri is the XML library used to read and write XML data.

After Ruby is installed, you need to install the libraries. This is done by running:
```
bundler install
```
This will look at your Ruby gems and install any needed gems for this script.


text: This android activity has an overflow menu, identifying information input placements in the form of images, textviews, and radio buttons, and it has buttons identified with text, one of which opens a dialog that has two buttons which open the camera and the gallery, respectively. It runs on an LG Nexus 4 running Android 5.1.1. at API level 22, deployed through Android Studio 1.5.1.


text:
# Introduction to Viblo

## Establish

Founded in April 2015, VIBLO is playing the role of developing Vietnam's IT community, where the use of foreign materials is very popular. At the time of its release, the number of website visits was 40,500, the number of users was 3,056, but after upgrading and adding the Q & A feature, as of October 2017, the number of visits had increased to 866,681 with 141,660. user. With the number of visitors and users, VIBLO has become the leading IT knowledge sharing service in Vietnam.

## Function

Currently, VIBLO has three main features: blogs, Q & A, and video learning. At the blog, engineers can post what they learn and users can view the content. The Q & A feature was added in August 2017, allowing users to ask questions and join other users' questions. In the video learning feature, users can watch Framgia video seminars and beyond Framgia. In addition, VIBLO also integrates other functions such as article analysis, auto tagging and article posting. involve.

## Content Viblo service

Through Viblo, users can share knowledge in their own language, thereby creating an IT community. This community will gradually grow through the sharing of materials, knowledge as well as the increase in the number of members, thereby enhancing the knowledge of programmers in particular and contributing to the development of IT in Vietnam in general. In addition, by setting and answering community questions, the amount of knowledge and understanding of programmers will also increase rapidly.

repository: pipinamngua/vuepress-viblo-doc

repo_name: pipinamngua/vuepress-viblo-doc


text:
# CH-2

[TOC]

## 2-1 Material Strength and Stiffness

### Stress and Strain

#### Definition

$$
\sigma = \frac{P}{A_0}\\[2ex]
\epsilon = \frac{l-l_0}{l_0}\\[2ex]
$$

#### Graphs of Different Materials

These are the graphs of the ductile material and the brittle material

- $pl$: the proportional limit, where we can get the Hooke's law
    $\sigma = E\epsilon$
- $el$: the elastic limit, where the further load will cause the plastic deformation
- yield point: a point where the strain begin to increase very rapidly without a corresponding increase in stress
- $S_y$: yield strength, which is defined by offset method, usually 0.2 percent of the original gauge length ($\epsilon=0.002$)
- $S_u$ or $S_{ut}$: the maximum stress

#### Engineering Strain

$$
\epsilon =\int_{l_0}^l{\frac{\mathrm{d}l}{l}}=\ln{\frac{l}{l_0}}
$$

the engineering strain is based on net change in length from the original length

### Torsional Strength

#### Definition

$$
\begin{aligned}
\tau_{max} &= \frac{Gr}{l_0}\theta\\[2ex]
\tau_{max} &= \frac{Tr}{J}\\[2ex]
\end{aligned}
$$

- $G$: the shear modulus
- $r$: the radius of the specimen
- $l_0$: the gauge length
- $T$: the applied torque
- $J$: the polar second moment of area of the cross section

$$
S_u = \frac{T_u r}{J}
$$

- $S_u$: the modulus of rupture for the torsion test

### Resilience

#### Definition

Capacity of a material to absorb energy within its elastic range

**Modulus of resilience $u_R$**:

- **Energy absorbed per unit volume without permanent deformation**
- Equals the *area under the stress-strain curve* up to the elastic point
- Elastic limit often approximated by **yield point**

$$
u_R \approx \int_0^{\epsilon_y}{\sigma\mathrm{d}\epsilon}
$$

if elastic region is linear

$$
u_R \approxeq \frac{1}{2}S_y\epsilon_y = \frac{1}{2}(S_y)(S_y/E) = \frac{S_y^2}{2E}
$$

### Toughness

#### Definition

the capacity of a material to absorb energy without fracture is called toughness

$$
u_T = \int_0^{\epsilon_f}{\sigma\mathrm{d}\epsilon}
$$

- $\epsilon_f$: the strain at the fracture point

$$
u_T \approx (\frac{S_y+S_{ut}}{2})\epsilon_f
$$

## 2-2 Statistical Significance of Material Properties

Strength values are obtained from testing many nominally identical specimens

Strength, a material property, is distributional and thus statistical in nature

**statistical quantity is defined by**:

- mean
- standard deviation
- distribution type

## 2-3 Strength and Cold Work

### Strengths from Tables

Property tables often only report a single value for a strength term

Common to use 99% min strength, indicating 99% of samples exceed the reported value

### Cold Work

#### Definition

- process of plastic straining **below recrystallization temperature** in the *plastic region* of stress-strain diagram
- loading to point i beyond yield point, then unloading, causes **permanent plastic deformation**
- reloading to point i behaves elastically, with additional elastic strain

$$
\epsilon = \epsilon_p+\epsilon_e = \epsilon_p+\frac{\sigma_i}{E}
$$

- yield point is effectively increased to point i
- material is less ductile since the plastic zone between yield strength and ultimate strength is reduced
- repeated strain hardening can lead to brittle failure

therefore there's a reduction in area called $R$, which is a measure of ductility

$$
R = \frac{A_0-A_f}{A_0}=1-\frac{A_f}{A_0}
$$

> **Ductility** represents the ability of a material to absorb **overloads** and **to be cold-worked**

## 2-4 Hardness

### Definition

the resistance of a material penetration by a pointed tool

**common hardness-measuring systems**:

- Rockwell
- Brinell
- Vickers

### Brinell hardness number

For steels

$$
S_u = \begin{cases}
    0.5H_B\quad \text{kpsi}\\[2ex]
    3.4H_B\quad \text{MPa}\\[2ex]
\end{cases}
$$

For cast iron

$$
S_u = \begin{cases}
    0.23H_B-12.5\quad \text{kpsi}\\[2ex]
    1.58H_B-86\quad \text{MPa}\\[2ex]
\end{cases}
$$

## 2-5 Impact Properties

Charpy notched-bar test is used to determine brittleness and impact strength

Specimen struck by pendulum

Energy absorbed: computed from height of swing after fracture

## 2-6 Temperature Effects on Strengths

- temperature increases above RT

$S_{ut}$ increase slightly then decreases significantly

$S_y$ decreases continuously

- creep: continuous deformation under load for long periods of time at elevated temperatures


text:
# Isostylis serrata (L.f.) Britten SPECIES

#### Status
ACCEPTED

#### According to
International Plant Names Index

#### Published in
null

#### Original name
Banksia serrata L.f.

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
# stormlight-archive
play light control system

To setup to run w/o draguino:
grab http://www.vtk.org/files/release/7.0/vtkpython-7.0.0-Darwin-64bit.dmg
open disk image
drop 'vtkPython' from image to this directory. An 'ls' should show something like:
LICENSE        activate       src
README.md      capture        vtkpython

Then "source ./activate"
cd src
vtkpython main.py --display=sim

todo: update for other platforms!

# design-ish notes
Goals;
* be able to test off-real-thing

So that means the "main" needs a flag to say "be fake"
- pass in ArdiunoThingy (fake or real)
- IT should contain LEDs and such.
- plugins for algos?

Api for "strand":
  init(count, l0x, l0y, l0z)

  set(led#, r, g, b)
  clear(led#)
  getpos(led#) -> x, y, z

time-baed-things:
  firefly
    bouncing-in-strand
    wrapping-on-strand
    ??? len, dx, dy, edge-action ???

Firefly is (a set of) moving pixels. Fixed color/intensity.
Flames are unmoving pixels, but with "moving" colors/intensity.

route-1: api to add/delete moving pixels.
 + local-proc does the tics
 + can modify on the fly?
 - dynamic motion/color sources?
   ? some in-code (random #, etc)
   ? code "in-code" sensors?
   ? code "in-code" web-access
   ? could make it so one could alter the generators

route-2:

repository: stuart-stanley/stormlight-archive

repo_name: stuart-stanley/stormlight-archive


text:
---
layout: default
---

# 1996-12-06 - RE: Silence is not assent (re the Vulis nonsense)

## Header Data

From: Blanc Weber<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: b34904c24260518f8a4f1a7b30b1b4553c106e0194d6350149e5a6f946cf7c1c

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1996-12-06 20:48:42 UTC

Raw Date: Fri, 6 Dec 1996 12:48:42 -0800 (PST)

## Raw message

```
{% raw  %}From: Blanc Weber<EMAIL_ADDRESS>Date: Fri, 6 Dec 1996 12:48:42 -0800 (PST)
To<EMAIL_ADDRESS>Subject: RE: Silence is not assent (re the Vulis nonsense)
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

From:	Dale Thorn

If you could analogize the list to a human society, then you might
understand that a pattern of decadence can set in here as it does in
the more visible society, as is run from Washington DC, etc.

It is my hope to make a contribution here (as in the more visible
society)
to fight off some of that decadence, even when I get beat up on for it.
.................................................

There is a huge the difference between a society of people relating to
each other based on principles of coercion vs an extemporaneous society
of individuals who make their own decisions (daily) about when/where/how
long they will associate with another.

The society run by Washington,D.C. expects that people will have no
choice but to fly in formation in the direction set by the leader who
represents the majority (sort of).

The virtual "society" of the cpunks is only based on their interest in
opening up their mail and reading a few messages here & there according
to their mood of the day or the moment.

It is true that formal societies, like the one which was initially
intended by The Founders (of the US), often run afoul of the original
purpose for which it was begun.   They decay for many reasons.   This is
precisely one of the elements in the background of the cpunks thinking
("the founders" and others) about societies and the "ties that bind"
(supposedly) us to each other:  the interest in being released from that
supposition that we are bound to each other and are obligated to
maintain a relationship of some kind (as determined by the PC moral
'authorities').

The concepts are too involved to discuss the details on this list, but
the fact that individuals do not maintain a steady and predictable
course throughout their lifetime, or the lifetime of the projects which
they begin, is the very reason why your attempts at "fighting off the
decadence" are doomed:  the objects of your attention may not hang
around on the list long enough to be reformed.

Remember the purpose of the list is discussion & information, not moral
rehabilitation (except as it clears the intellectual air regarding
privacy & potential crimes to humanity).  It could happen that some
decadent subscriber would "see the light" and behave themselves, but if
it does I expect it would be an indirect side-effect and the result of
their own desire to change their style & manners.

   ..
Blanc

>
>

{% endraw %}
```

## Thread

+ Return to [December 1996](/archive/1996/12)

+ Return to "[Blanc Weber <blancw@microsoft.com>](/authors/blanc_weber_blancw_at_microsoft_com_)"

+ 1996-12-06 (Fri, 6 Dec 1996 12:48:42 -0800 (PST)) - RE: Silence is not assent (re the Vulis nonsense) - _Blanc Weber<EMAIL_ADDRESS>


text:
# alpine rename

Rename an instance.

```
alpine rename <instance> <name>
```

## Description

Rename an instance.

## Options

```
  -h, --help   help for rename
```

repository: beringresearch/macpine

gha_language: Go

repo_name: beringresearch/macpine


text:
---
layout: post
title: tapestry-conversations 0.2.0 released!
---
We aim to serve. A user asked for a T5.4 compatible version of conversations module and we delivered. Upgrading the module was pure joy and it is a testament to the outstanding backwards compatibility record T5 has had throughout its existence. Note that I had written the original version for Tapestry 5.0 while we were still called the Trails framework! Checkout the [tapestry-conversations guide](http://www.tynamo.org/tapestry-conversations+guide/) for more info.

**Release notes**

- Update to tapestry 5.4 [#1](https://github.com/tynamo/tapestry-conversations/issues/1)

gha_license_id: NOASSERTION


text:
3.9: Carousel interval example
==============================
**Primary Actor**: User

**Scope**: Ngx-bootstrap DEMO / BS version 3&4

**Goal**: Show user carousel functionality with possibilities to change time interval

Main success scenario:
----------------------
1. User open Carousel demo page
2. User click on Interval sub-menu
3. User see carousel component with 3 slides and 2 arrows: left, right
4. User see input with default interval: 1500 milliseconds
5. When user change the interval in input to any positive value - then slides change after added interval
6. When user change the interval in input to "0" - then slider stopped
7. When user change the interval in input to any negative value - then carousel stopped

Variations:
-----------
2*. User scroll to Interval sub-menu

repository: valor-software/ngx-bootstrap

branch_name: refs/heads/development

gha_language: TypeScript

repo_name: valor-software/ngx-bootstrap


text:
---
title:  "The Big Nerd Ranch Swift - End of chapter 20"
categories:
  - Swift
tags:
  - BigNerdRanchSwift
#toc: true
#toc_label: "lll"
#toc_sticky: true
---
## Summary
- In this chpater, You can learn Error Handling by implementing Lexer and parser which are complier lexical analyzer. I think it's a advanced topic. But This book make it easy to follow with good description and fun example. Finally You can check how much you undersatnd it by solving 3 Challenges.

[source code](https://github.com/HaeSeongPark/BNRSwift/blob/master/20ErrorHandling.playground/Contents.swift)


text:
# 1. Introduction

This repository contains the source code for our OSDI'20 paper
["PipeSwitch: Fast Pipelined Context Switching for Deep Learning Applications"](https://www.usenix.org/conference/osdi20/presentation/bai). In addition, it contains some codes for systems which are compared with our system.

# 2. Contents

- [PipeSwitch](https://github.com/netx-repo/PipeSwitch/tree/main/pipeswitch): Our proposed system.
- [Ready model](https://github.com/netx-repo/PipeSwitch/tree/main/ready_model): The process with the required model is already loaded in the GPU. This solution provides the lower bound, which is the lowest latency we can achieve for an inference task.
- [Kill and restart](https://github.com/netx-repo/PipeSwitch/tree/main/kill_restart): It stops the training task in the GPU, and then starts the inference task.
- [PyTorch plugins](https://github.com/netx-repo/PipeSwitch/tree/main/pytorch_plugin): Modified PyTorch files, which are necessary for running PipeSwitch.
- [Tasks](https://github.com/netx-repo/PipeSwitch/tree/main/task): Models used for our evaluations.
- [Util](https://github.com/netx-repo/PipeSwitch/tree/main/util): Some common functions. For example, establishing TCP connections.
- [Clients](https://github.com/netx-repo/PipeSwitch/tree/main/client): Clients for sending requests.

# 3. Brief usage

0. Compile PyTorch for PipeSwitch. Ready-model and kill-and-restart could use original PyTorch.
1. Start the server you are interested, which can be PipeSwitch, ready-model or kill-and-restart.
2. Start the client to send requests.

More details are included in README under folders for each system.

# 4. Scripts to reproduce figures in our paper.

For the convenience, we implemented some scripts to reproduce our results reported in our paper.
We assume that you are using a host machine to do experiments in a remote server.
Thus, before using our scripts, you need to configure passwordless ssh access to the remote server.
We also expect you install python and docker on both the host and the remote machine.
By default, we use a server with NVIDIA V100 GPU with 16G GPU memory, such as AWS EC2 p3.2xlarge instances.

After you have configured the remote server, you need to add its IP address and host name in the file ```scripts/config/server.txt```.
Then you can run the script ```scripts/experiment.sh``` and wait for the result.

```scripts/experiment.sh``` will do the following things:
- Create a docker image with compiled PyTorch locally.
- Export the docker image to a file.
- Load the image file from the host machine to the remote server.
- Import the image file on the remote server.
- Create different docker images for different experiments on the remote server based on the basic image.
- Run experiments for figure 5-9.

You could modify the script to adapt to your requirement.
For example, you can compile PyTorch and create the basic docker image directly on the remote server.

We use different branches for different points in the figures.
These branches are now in Zhihao's repo, and we will move them to this repo in the future.

# 5. Contact

If you have any question, please contact `zbai1 at jhu dot edu`

repository: Murphy-OrangeMud/PipeSwitch

repo_name: Murphy-OrangeMud/PipeSwitch


text:
# API Test

Here are test files for API tests, i.e. the internal functions of the app are executed with different input parameters.
The test then validates whether the functions work correctly.
Attention: The default `make` target does not build tests.
Please invoke the build with `make api_test` or use `make test` to build and run all kinds of tests.

repository: seqan/iGenVar

repo_name: seqan/iGenVar


text:
application_nginx Cookbook CHANGELOG
=======================
This file is used to list changes made in each version of the application_nginx cookbook.

v2.0.2
------
### Improvement
- [COOK-2730] - pass along reasonable Host, X-Forwarded-For & X-Real-IP

v2.0.0
------
- [COOK-3306]: Multiple Memory Leaks in Application Cookbook

v1.1.0
------
- [COOK-2579]: `application_nginx` cookbook should accept "`application_port`" as string for unix sockets

v1.0.4
------
- [COOK-2402]: cookbook attribute expects argument to be a string

v1.0.2
-------
- [COOK-1590] - add ssl support

v1.0.0
------
- [COOK-1244] - Initial release - relates to COOK-634.


text:
## Connection Forwarder
(TCP Socket forwarder app)

Available in webstore: https://chrome.google.com/webstore/detail/connection-forwarder/ahaijnonphgkgnkbklchdhclailflinn

I made this app so that I could ssh into termux running on a chromebook without developer mode. Maybe you find it useful for something else.

- Update 3: Updated the build system
- Update 2: It's useful again as ports are not automatically forwarded for crostini (linux) containers
- Update 1: Android container apps automatically forward listening ports to the LAN since Chrome 63.

- Use case 1: make termux sshd available on the LAN, not just on the local chromebook.
- Use case 2: make crostini container service available on LAN or localhost
- Use case 3: make an android-based development server (such as apache or php etc) available on the local network
- Use case 4: (??) Let me know<EMAIL_ADDRESS>or [create an issue](https://github.com/kzahel/connection-forwarder/issues)

Background info: android runs on a chromebook on a NAT interface that is not exposed directly on the LAN. Certain services are forwarded (such as mDNS). Everything else, not. This app lets you setup simple forwarding rules to have certain ports get forwarded to the internal android interface.

## Build / development setup notes

The nice react auto reload tools don't work very well in the chrome app context (which disallow eval, inline scripts, external resources (loaded via URL). Basically all app code must be statically present in the app directory at launch time.

- `git clone (this repository)`
- `cd connection-forwarder/react-ui; npm install; npm run watch` ( or `npm run build`)
- Go to `chrome://extensions`, check the developer mode box, click load unpacked extension, select the `"app"` folder in this repository.

## Packaging
- `cd connection-forwarder/app`
- `../scripts/package.sh` (you may need to `apt install zip`)

## Release History

- 2017-11-4 - created react based UI
- 2017-10-26 - Initial version used to get access to the SSH server running on tmux

## TODO

- UDP packet forwarding
- cleanup/close sockets ✔
- create a UI to create/remove rules ✔
- add options such as autostart, backgrounding, etc ✔
- localhost listening API to list/add/remove forwards.

## LICENSE

MIT

repository: jhbarnett/connection-forwarder

repo_name: jhbarnett/connection-forwarder


text:
# Test data

## revsort-run-1

[CWLProv RO Example from the CWLProv repository](https://github.com/common-workflow-language/cwlprov/tree/ce3f469745f4c8a2c029f872d522a4c57fba947b/examples/revsort-run-1).

License: [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)

* © 2015-2018 Common Workflow Language contributors https://www.commonwl.org/#Individual_Contributors
* © 2018 Software Freedom Conservancy (SFC) https://sfconservancy.org/

## revsortlcase-run-1

Nested workflows example. The first step uses a simplified implementation of [revsort](#revsort-run-1) as a subworkflow, while the second calls a tool that converts all lines to lower case.

## exome-alignment-packed.cwl

Packed (`cwltool --pack`) version of the [exome alignment workflow](https://github.com/inab/ipc_workflows/blob/fefede132f217184a25767fc4f42e2ae4606ff25/exome/alignment/workflow.cwl) from [inab/ipc_workflows@fefede1](https://github.com/inab/ipc_workflows/tree/fefede132f217184a25767fc4f42e2ae4606ff25), with step order altered to make it more distant from the topological order.

License: [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)

WorkflowHub entry: https://workflowhub.eu/workflows/239

## no-output-run-1

Copy of `prov_data_annotations/example2/ro_old` from [RenskeW/cwlprov-provenance](https://github.com/RenskeW/cwlprov-provenance/tree/f5dd87a950eeaf7f96bd39dc218164832ff3cbea/prov_data_annotations/example2/ro_old).

License: [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)

## grepucase-run-1

For each file in the input directory, search for the specified pattern, convert matching lines to upper case and write results to a file in the output directory. Used to test support for directory I/O.

## echo-scatter-run-1

Write all strings in the input array to stdout. Used to test support for scatter jobs.

## no-input-run-1

Output a predefined integer. Used to test support for tools / workflows that take no input.

## type-zoo-run-1

Build a fake command line and write it to the output file (all parameter settings are passed to the echo tool). Used to test support for various parameter types.

## passthrough-run-1

Similar to [revsort](#revsort-run-1), but adds an input file that's linked directly to an output file, to test that this is supported.

## revsort-optional-run-1

Similar to [revsort](#revsort-run-1), but the parameter to reverse the order is optional with no default and is not set in the parameters file. Used to test the handling of `cwlprov:None` entries.

## grepsort-run-1

Runs a grep on the input file, taking the patterns to search for from another file. Used to test support for `wasDerivedFrom => cwlprov:SecondaryFile`.

## greprevgrep-run-1

Runs a `grep -f` on the input file, then a `rev` and another `grep -f` using the same pattern file. Used to check that exampleOfWork does not end up having duplicates (file entity maps to same formal parameter in two different steps).

## dir-array-run-1

Runs `date` on directories from an input array. Used to test support for directory arrays.

## multisource-run-1

Used to test support for [steps with arrays as input sources](https://www.commonwl.org/v1.2/Workflow.html#Merging_multiple_inbound_data_links).

## step-valuefrom-run-1

Used to test the handling of step input mappings that don't have a source (e.g., if they only have a valueFrom).

## multioutputsource-run-1

Used to test support for workflow outputs with multiple output sources (i.e., when `outputSource` is an array).

## conditional-wf-run-1

Used to test workflows with a conditional subworkflow that does not get executed.

## revsort-inline-cwl1.0-run-1

Used to test workflows that contain inline tools (CWL 1.0).

## revsort-inline-cwl1.2-run-1

Used to test workflows that contain inline tools (CWL 1.2).

repository: ResearchObject/runcrate

gha_language: Common Workflow Language

repo_name: ResearchObject/runcrate


text:
---
layout: post
title: lending-club
---

Businessmodel of Lending Club
------------------------------

### Customer Segments

Lending Club has a multi-sided business model, with two interdependent customer segments that are both needed in order to operate:

 * Borrowers: This group consists of individuals and small businesses. Individuals can apply for personal, education, and patient finance loans. Small businesses can apply for loans and lines of credit which can be used to grow their business, buy equipment or inventory, or meet other expenses.
* Investors: This group includes a wide range of entities, ranging from high-net worth individuals and foundations to hedge funds and bank, finance, and insurance companies. They invest in loans through two channels: certificates/investment funds and whole loan purchases.
 ### Value Proposition

Lending Club offers two primary value propositions for borrowers:

 * Cost Reduction: The company’s platform enables it to maintain lower operation costs than those for typical bank loan and credit card programs, transferring those savings onto customers through lower rates. In fact, a survey of borrowers who used its personal loans found that their interest rates were 35% lower on average than the rates they were charged for their outstanding credit cards. Lending Club also avoids hidden fees and allows users to prepay their balances without a penalty.
 The company’s system uses its technology and online data to rapidly determine risk, identify a credit rating, and settle on appropriate interest rates. Qualified candidates are able to receive offers in as little as a few minutes and can assess their options with no effect on their credit score.
 Lending Club offers two primary value propositions for investors:

 * Convenience: The company offers investors tools that they can use to select loans customized to their objectives, making it easier to build personalized portfolios. Investors are also given the option of automated investing, a free offering that invests funds in loans that meet specified criteria when they become available.
* Performance: The company provides risk-adjusted returns on loans. Stringent criteria are used to limit the borrower pool to only the most qualified – the typical recipient has a 699 FICO score, 16.3 years of credit history, an 18.12% debt-to-income ratio, and a personal income of $75,055. Further, Lending Club Notes show traditional returns by Grade A-C of 5.26% to 8.69%.
 Finally, Lending Club offers a brand/status value proposition for both of its customer groups. It is well-established, having been in existence for a decade. It bills itself as the world’s largest online loan marketplace, with hundreds of thousands of borrowers and $16 billion in loan originations. Lastly, it has an A+ rating with the Better Business Bureau and a Net Promoter Score in the 70s, putting it at the higher end of customer satisfaction levels for financial services firms.

### Channels

Lending Club’s main channel is its website, through which it promotes its service. The company also engages in direct marketing via snail mail. In 2015, it began a strategic partnership with a collective of community banks in which it offers co-branded personal loans to the institutions’ customers.

### Customer Relationships

Lending Club’s customer relationship is primarily of a self-service, automated nature. Customers utilize the service through its website while having limited interaction with employees. Investors can even sign up for automated investing so the process can occur without them logging in.

There is a detailed “Education Center” on the site offering advice regarding loans, as well as a “Frequently Asked Questions” section with answers to numerous potential inquiries about the service. That said, there is also a personal assistance component as the company provides phone and e-mail support.

### Key Activities

Lending Club’s business model entails maintaining a vibrant platform between two parties:  borrowers and investors.

### Key Partners

Lending Club’s key partnership in its operations is with issuing banks, who originate the loans that it offers.

Its main issuing bank is WebBank, an industrial institution that oversees a variety of commercial and consumer financing programs. Lending Club also works with Comenity Capital Bank and NBT Bank for its patient finance and education loans.

Lastly, it has a deal with Cross River Bank in which the entity operates as a back-up in the event that WebBank is no longer able to perform its role.

### Key Resources

Lending Club’s main resource is its proprietary software platform, which automates key activities such as application processing and loan funding. Its sophisticated analytical tools make these procedures possible.

It also relies on technology and service staff to provide maintenance and customer support.

### Cost Structure

Lending Club has a cost-driven structure, aiming to minimize expenses through significant automation and low-price value propositions.

Its biggest cost driver is sales/marketing expenses, a fixed cost that largely consists of investor and borrower acquisition efforts.

Other major drivers are in the areas of administration, engineering/product development, and origination/servicing.

### Revenue Streams

Lending Club has three revenue streams:

 * Transaction Fees: Fees charged to borrowers for the processing of their applications
* Servicing Fees: Fees charged to investors for the matching of available loan assets with capital; it is equal to 1% of the total of borrower payments obtained within 15 days of the due date
* Management Fees: Fees charged to investment funds and other managed accounts


text:
## random-in-node

Generate data and demonstrate arguments/result for different methods of `tiny-secp256k1`.

```
npm install
npm start
```

## react-app

[React](https://reactjs.org/) application with inputs for testing `tiny-secp256k1` methods.

```
npm install
npm start
```

and open [http://localhost:8080/](http://localhost:8080/).


text:
# PuppetLabs Glance module

This module can be used to flexibly configure [glance](http://glance.openstack.org/),
the image service of openstack.

It has been tested with a combination of other modules, and has primarily been
developed as a subcomponent of the [openstack module](https://github.com/stackforge/puppet-openstack)

It is currently targettting the folsom/grizzly releases of OpenStack.

## Platforms

* Ubuntu 12.04 (Precise)
* RHEL 6

## configurations

Glance is configured with the following classes:

### configures glance::api service

    class { 'glance::api':
      verbose           => $verbose,
      debug             => $verbose,
      auth_type         => 'keystone',
      auth_port         => '35357',
      auth_host         => $keystone_host,
      keystone_tenant   => 'services',
      keystone_user     => 'glance',
      keystone_password => $glance_user_password,
      sql_connection    => $sql_connection,
      enabled           => $enabled,
    }

### configures the glance registry

    class { 'glance::registry':
      verbose           => $verbose,
      debug             => $verbose,
      auth_host         => $keystone_host,
      auth_port         => '35357',
      auth_type         => 'keystone',
      keystone_tenant   => 'services',
      keystone_user     => 'glance',
      keystone_password => $glance_user_password,
      sql_connection    => $sql_connection,
      enabled           => $enabled,
    }

### Configure file storage backend

    class { 'glance::backend::file': }

### Create the Glance db, this should be configured on your mysql server

    class { 'glance::db::mysql':
      user          => $glance_db_user,
      password      => $glance_db_password,
      dbname        => $glance_db_dbname,
      allowed_hosts => $allowed_hosts,
    }

### configures glance endpoints in keystone
should be run on your keystone server

    class { 'glance::keystone::auth':
      password         => $glance_user_password,
      public_address   => $glance_public_real,
      admin_address    => $glance_admin_real,
      internal_address => $glance_internal_real,
      region           => $region,
    }

for full examples, see the examples directory.

in the module, puppet-openstack, the following classes
configure parts of glance:

  - openstack::glance    # api, file backend, and registry
  - openstack::keystone  # sets up endpoints
  - openstack::db::mysql # sets up db config

repository: ody/puppet-glance

repo_name: ody/puppet-glance


text:
### [CVE-2017-9498](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9498)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)

### Description

The Comcast firmware on Motorola MX011ANM (firmware version MX011AN_2.9p6s1_PROD_sey) and Xfinity XR11-20 Voice Remote devices allows local users to upload arbitrary firmware images to an XR11 by leveraging root access. In other words, there is no protection mechanism involving digital signatures for the firmware.

### POC

#### Reference
- https://github.com/BastilleResearch/CableTap/blob/master/doc/advisories/bastille-42.remote-OTA.txt

#### Github
No PoCs found on GitHub currently.

repository: trickest/cve

repo_name: trickest/cve


text:
# Spf2

Simple native wrapper over the C lib SPF2.
At the moment it just have a query method that returns three strings with result, reason and error:

["pass", "mechanism", "No errors"]

## Installation

Add this line to your application's Gemfile:

    gem 'spf2'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install spf2

## Usage
```
require 'spf2'

s =  Spf2.new(debug=false)
s.debug = true
s.query("<IP_ADDRESS>", "gmail.com")

```

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request


text:
---
layout: news
tags: [HADDOCK, H2020, Marie Curie, Utrecht University]
date: 2015-02-04
comments: false
excerpt: 'Anna Vangone receives a H2020 Marie Curie fellowship!'
image:
  feature:
---
Anna Vangone, a post-doc in the Computational Structural Biology group, received a [H2020 Marie Sklodowska-Curie Individual Fellowship](http://ec.europa.eu/programmes/horizon2020/en/h2020-section/marie-sklodowska-curie-actions). With this two-year fellowship, Anna will work on developing a dynamical view of binding affinity in protein-protein interactions. We are all glad to have her for two more years in the group!

**Congratulations Anna!**


text:
---
title: DatoCMS
homepage: https://www.datocms.com/
twitter: datocms
opensource: "No"
typeofcms: "API Driven"
supportedgenerators:
  - Middleman
  - Jekyll
  - Hugo
  - Metalsmith
  - GatsbyJS
  - Phenomic
description: A fully customizable administrative area for your static websites.
---
## DatoCMS
DatoCMS is a fully customizable administrative area for your static websites. Use your favorite website generator, let your clients publish new content independently, host the site anywhere you like.

### How does it work?
All the websites built with a static site generator (Jekyll, Hugo, etc.) are made of:

- Static files — usually Markdown+Frontmatter or YAML/JSON/Toml config files which represent the actual content of the pages;
- HTML templates that use these content files to generate the actual static pages of the website.

Up until now, even the most basic change to a static website could only be performed by tech-savvy users, as too many things had to be known (Git, Markdown, etc). DatoCMS lets you tackle the problem in a different way:

1.  Editors change the contents of the website inside a nice web interface, just like they're used to do with ie. Wordpress;
3. Using our plugins, all the stored data gets transformed into local Markdown/config files, so that can be "digested" by the static website generator just as it was written by hand.

When the editors press the "Publish" button, a new website build gets triggered and updated content is deployed online.


text:
# Online Course Visualizer

## Objective
The goal of this project is to create visualizations of online educational courses. This will help educators understand the methods they are using to teach and assess students. The project helps students understand the course and how it is structured. It is specifically targeted for students and teachers using MOOC platforms, like edX.

![Img of visualization](https://raw.githubusercontent.com/powersj/ocv/master/img/final.jpg "Initial draft")

## Demo, Video, and Paper
 * Check out live demos and examples at the [GitHub Pages here](http://powersj.github.io/ocv)
 * Watch a demonstration of the tool via [a YouTube video!](https://www.youtube.com/watch?v=JN5GK_NYm68)
 * Read the [paper](http://powersj.github.io/ocv/online_course_visualizer.pdf)

## How to Use
### Getting Data
There are three methods for getting the data required to generate the visualizations: 1) use a JSON export (Usually a single file) 2) use an exported course via the XML format (Usually a full directory of files) or 3) connect to an edX instance database and export the course directly.

#### JSON Export
If you already have an export of an edX course via JSON you can use the `edx_course_json.py` script to generate the data. Run the following:

```bash
./edx_course_json.py <path to JSON file>
# an example where the course JSON export is in your downloads folder
./edx_course_json.py ~/Downloads/mycourse.json
```

This will put the data into a single JSON file, containing the correct format to parse, into the 'input' directory.

#### XML Export
If you already have an export of an edX course via XML you can use the `edx_course_xml.py` script to generate the data. Run the following:

```bash
./edx_course_xml.py <path to directory>
# an example where the course export is in your downloads folder
./edx_course_xml.py ~/Downloads/mycourse
```

This will put the data into a single JSON file into the 'input' directory. If the XML export is in an archive (e.g. zip) it needs to be extracted before running the above script.

#### Export directly from edX Database
To automatically connect to an edX database you only need to know the IP address of the backend database and be able to establish a connect to the Mongo database.

**NOTE** This method requires direct access to the MongoDB database used by the edX instance. Unless you are the one setting up the edX instance, you will probably not be granted access to a course in this manner by any network admin. Therefore, one of the above methods is suggested!

To use this method use the `edx_course_db.py` script to generate the data. Run the following:

```bash
./edx_course_db.py <ip address of server>
# an example pointing to localhost
./edx_course_db.py <IP_ADDRESS>
# an example pointing to a remote IP
./edx_course_db.py <IP_ADDRESS>
```

This will put exports of ALL courses on that server, one JSON file per course, into the 'input' directory.

### Generating the Visualization
Now that there is data in the input directory it is time to generate the visualizations themselves. This is accomplished by running the 'edx_course_html.py' script as such:

```bash
./edx_course_html.py <filename>
# Using the mycourse.json file found in the input directory
./edx_course_html.py ../input/mycourse.json
# Same file, but will make all tooltips print the id of the course
./edx_course_html.py ../input/mycourse.json --id-only
```

This will automatically output all the data to the output folder. The output folder has been pre-populated with all the required CSS and Javascript files.

## Background
The continual blending of education together with technology has led to a trend of taking traditional educational experiences and placing courses online with no changes. Prior to the massive open online course (MOOC) revolution, the general online course experience involved students watching lectures, normally recorded in-classroom lectures, and then taking a multiple choice test. If the student passes he moves on to the next set of lectures, but if student does not pass, he is forced to go back and review lectures with little to no guidance or feedback.

The type of online education described above does not take full advantage of new technologies that may exist or that have been enabled by online platforms like MOOCs. As an example, consider methods for providing intelligent feedback to students during assessments. Taking a traditional multiple choice quiz and only making it accessible online ignores the fact that educators could instead be providing real time feedback by mixing and matching additional assessment methods, or analyzing student inputs to determine where there are places in lectures that may need to be refined. Only recently have advances in online education begun to utilize the technologies available to enrich the online experience.

In addition, writing well thought out assessments is incredibly difficult. A teacher needs to spend a considerable time refining and crafting an assessment to help guide a student’s learning. Therefore, enabling teachers to take advantage of the tools and processes available to them in online learning will enable them to be more effective.

Here I present a visualization to enable both teachers and students to view course structure and features.  The goal of this is to assist educators in understanding the methods they are using, or not using, to teach and assess students and to demonstrate to students the course layout and set expectations on how the course is structured.

## Technologies Used
* **edX**
  * Used as the open source online course platform that the visualizations are based off of
  * Find more information at: https://www.edx.org/
* **Python**
  * Used as the primary coding language of choice
  * The author's favorite
* **d3 and d3-tip**
  * Used to create the visualizations themselves
  * Find more information at: http://d3js.org/ and https://github.com/Caged/d3-tip
* **Font-Awesome**
  * Used throughout the visualizations for icon sets.
  * Learn more about Font-Awesome at: https://fortawesome.github.io/Font-Awesome/
* **Hugo**
  * Used to generate the GitHub page for this project in combination with the Hugo "creative" theme
  * Get both at: https://gohugo.io/ and http://themes.gohugo.io/creative/

## Development Examples
Here was the initial prototype image that was hand-built to demonstrate how the visualizations could look like:
![alt text](https://raw.githubusercontent.com/powersj/ocv/master/img/proto.png "Initial draft")

After getting in, extracting data, and starting to manipulate the data this is the state of the visualizations (think alpha stage):
![alt text](https://raw.githubusercontent.com/powersj/ocv/master/img/alpha.png "Initial working code")

Right before going to peer review for the course, this is what the visualizations looked like in a beta form:
![alt text](https://raw.githubusercontent.com/powersj/ocv/master/img/beta.png "After initial feedback")

## Contributors
* [Joshua Powers](http://powersj.github.io/)
  * CS6440 Education Technology (Fall 2015)
  * Georgia Institute of Technology

## Reviewers
A huge thank you to the following for their feedback, evaluation, and support:
 * Dr. David A. Joyner
 * Dr. Watler & Marjie Powers
 * Olga Martyusheva
 * Alex Balderson
 * Aaron Anderson
 * Daniel Davis

# License
Apache 2.0 © 2015 Joshua Powers

repository: powersj/ocv

repo_name: powersj/ocv


text:
# mapbox-gl-draw-rounded-circle

We have forked the custom draw circle mode to fix the issues and add some features (see Changelog below):

* forked repo on Github: https://github.com/iamanvesh/mapbox-gl-draw-circle
* published package on NPM: https://www.npmjs.com/package/mapbox-gl-draw-circle

## Usage

### Installation

```
npm install mapbox-gl-draw-rounded-circle
```

```
import {
    CircleMode,
    DragCircleMode,
    DirectMode,
    SimpleSelectMode
} from 'mapbox-gl-draw-rounded-circle';

// userProperties has to be enabled
const draw = new MapboxDraw({
  defaultMode: "draw_circle",
  userProperties: true,
  modes: {
    ...MapboxDraw.modes,
    draw_circle  : CircleMode,
    drag_circle  : DragCircleMode,
    direct_select: DirectMode,
    simple_select: SimpleSelectMode
  }
});

// Add this draw object to the map when map loads
map.addControl(draw);
```

The default radius units are in **kilometers** and initial radius is **2km**.

```
// Provide the default radius as an option to CircleMode
draw.changeMode('draw_circle', { initialRadiusInKm: 0.5 });
```

It fires the same events as the mapbox-gl-draw library. For more information follow this [link](https://github.com/mapbox/mapbox-gl-draw/blob/master/docs/API.md#events).

Sample feature object returned in `draw.create` event
```
{
  "id": "e184898e58feaa5c2c56f20a178ffe2c",
  "type": "Feature",
  "properties": {
    "isCircle": true,
    "center": [
      -0.2472604947478203,
      51.53200220026099
    ],
    "radiusInKm": 2
  },
  "geometry": {
    "coordinates": [], // populated with 64 vertices used to render the circle
    "type": "Polygon"
  }
}
```

## Changelog

### v2.0.0

* Fixed the issue with an exception thrown when center coordinates are missing.
* Fixed the issue with dragPan handler staying disabled when the draw control is removed from map.
* Fixed the issue with the circle points not being strictly at 12, 3, 6, 9 o'clock.
* Add the center point to the circle in edit and drag mode: Orange dot with a white border.

repository: verbeeckjan/mapbox-gl-draw-circle

repo_name: verbeeckjan/mapbox-gl-draw-circle


text:
# GraphQL API

## GitHub GraphQL API

https://developer.github.com/early-access/graphql

http://graphql.org/

A query language for your API

GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.

GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

GraphQL是一种用于API的查询语言，也是一种使用现有数据完成这些查询的运行时。

GraphQL提供了一个完整和可理解的API中的数据描述，使客户能够准确地询问他们需要什么，使得随着时间的推移更容易演化API，并支持强大的开发工具。

http://graphql.org/learn/

https://github.com/graphql/graphql-js/

https://github.com/graphql/express-graphql

https://github.com/xgqfrms-GitHub/graphql-js

repository: xgqfrms/learning

path: /GitHub & Git/GraphQL API/readme.md

branch_name: refs/heads/gh-pages

gha_language: JavaScript

repo_name: xgqfrms/learning


text:
# Carbon footprint Alexa
## Catalog:
1. [About Project](#about-project)
2. [Pre-requisites](#prerequisites)
3. [Download project and install dependencies](#installation)
4. [Code Testing](#code-testing)
5. [Project Deployment](#deployment)
	* [Manual Deployment](#manual-deployment)
	* [Ask-cli Deployment](#ask-cli-deployment)
6. [Linting](#linting)

### About Project
Carbon Footprint is an Amazon Alexa Skill which brings conversational access to the data supplied by the parent project [CarbonFootprint-API](https://gitlab.com/aossie/CarbonFootprint-API). Project CarbonFootprint-API aims at providing carbon, ethane and nitrous oxide emission data for various usecases such as while travelling through vehicles, using electricity or while using various appliances.

The Alexa Skill provides you access to this information through voice on practically any device that runs Amazon Alexa - it can be an Android device, Amazon Echo or other Alexa integrated devices.

### Prerequisites

* Node.js (> v8.10)
* Register for an [AWS Account](https://aws.amazon.com/)
* Register for an [Amazon Developer Account](https://developer.amazon.com/)

### Installation
1. Clone the repository.

	```bash
	$ git clone https://gitlab.com/aossie/carbonfootprint-alexa.git
	```

2. Navigating into the repository's root folder.

	```bash
	$ cd carbonfootprint-alexa
	```

3. After navigating to the project folder, npm packages needs to get installed. So run the following command, this will install all the necessary packages:

	```bash
	$ npm install
	```

### Code Testing
1. There are different unit tests created to test the lambda function for every intent. To run these testcases, you need mocha packages which are already installed while running `npm install` command. Now, our next step is to move to our test directory.

	```bash
	$ cd test
	```

2. Now, to run the testcase, run the following command:

	```bash
	$ mocha appliance_test.js
	```
	```bash
	$ mocha <unit-test-filename>
	```

### Deployment

There are two ways of deploying this skill i.e. manually or through ask cli.

### Manual Deployment:

The deployment of the Amazon Alexa Skill is done in two parts: Deployment of Alexa Model and Deployment of AWS Lambda Function.

#### PART I:
Step 1: Create a new skill at [Amazon Alexa developer portal](https://developer.amazon.com/).

Step 2: Now you will find a JSON editor option, click on it and you will get a option to drag and drop json file.

Step 4: Drag the AlexaModel/index.json file and drop it at that option. Now your Amazon Alexa model is ready to get build.

Step 5: Click on Save Model and then Build Model option and you have successfully deployed the Alexa model.

#### PART II:
Step 1:Install npm dependencies by navigating into the `lambda` directory and running the npm command: ```npm install```

	$ cd lambda
	$ npm install

 Or you can manually install the requires node modules i.e. ask-sdk, request and moment using ```npm install``` command:

	$ npm install --save ask-sdk
	$ npm install --save moment
	$ npm install request

Step 2: Go to [CarbonHub](https://carbonhub.org) and generate an API key, copy it and paste at API_Key's value in Lambda/index.js.

Step 3: Now create a zip file of node modules, index.js, package.json and package-lock.json.

Step 4: Create a new function at [AWS Lambda](https://aws.amazon.com/lambda).

Step 5: Add Alexa Skill Kit to that function and upload the zip file. Save it.

Now your Lambda function is also successfully deployed and you can finally test your skill.

### ASK CLI Deployment:

#### Setup:

1. Open command line and move to skill's directory.

2. Run the following command to install ask-cli on your system:

	```bash
	$ npm install -g ask-cli
	```

3. After installing run the following command to set up you amazon developer account and aws account as well

	```bash
	$ ask init
	```

Note: This will ask for aws access id and secret access key, for that you need to add user to AWS IAM and get access id and 	  secret access key.

4. Run the following command to deploy the skill:

	```bash
	$ ask deploy
	```

### Linting

If you have added some code and you want to check it for linting errors, you can run the following commands:
1. Move to the directory where eslint package is installed
	```bash
	$ cd node_modules/.bin
	```
2. Run the following command to check for errors:
	```bash
	$ eslint <path-of-file>
	```
You can also run it without moving to ```node_module/.bin``` by running following command:
	```bash
	$ ./node_modules/.bin/eslint <path-of-file>
	```

Note: You can also fix the linting errors using eslint by running following command:
	```bash
	$ ./node_modules/.bin/eslint --fix <path-of-file>
	```

Note: You can change the name of the skill by making some changes in skill.json file.

repository: AOSSIE-Org/CarbonFootPrint-Alexa

repo_name: AOSSIE-Org/CarbonFootPrint-Alexa


text:
---
title:  'Jesus: The Basis of Our Testimony'
date:  06/09/2020
---

As Christians, we all have a personal story to tell, a story about how Jesus changed our lives and what He has done for us.

**Read Ephesians 2:1–10. What were we like before we knew Christ? What is ours since we have accepted Christ?**

`A.	Before we knew Christ (Eph. 2:1–3).`

`B.	After we knew Christ (Eph. 2:4–10).`

What an amazing change! Before we knew Christ, we were “dead in trespasses and sins,” “walking in the course of this world,” “fulfilling the desires of the flesh,” and “were by nature children of wrath” (NKJV). To put it simply, before we knew Christ, we wandered aimlessly through life in a lost condition.

We may have experienced what appeared to be happiness, but there was an angst of the soul and an unfulfilled purpose in our lives. Coming to Christ and experiencing His love made all the difference. Now in Christ we are truly “alive.” Through the “exceeding riches of His grace” and His “rich mercy” toward us, we have received the gift of salvation. He has raised us up to “sit together in the heavenly places in Christ Jesus, that in the ages to come He might show the exceeding riches of His grace in His kindness toward us in Christ Jesus” (NKJV). In Christ, life has taken on new meaning and has new purpose. As John declares, “In Him was life, and the life was the light of men” (John 1:4, NKJV).

`Read Ephesians 2:10. What does this text tell us about how central good works are to the Christian’s faith? How do we understand this idea in the context of salvation by faith “without the deeds of the law” Rom. 3:28?`

`How has your life changed because of Christ, a change that could possibly help someone else come to a knowledge of Jesus?`

repository: perdodi/sabbath-school-lessons

repo_name: perdodi/sabbath-school-lessons


text:
---
layout: default
---

# 1996-11-07 - Re: [NOISE] [philosophypunks] [Vulis] Mills & Hallam-Baker

## Header Data

From<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)

To<EMAIL_ADDRESS>Message Hash: 9b14cc654c4d458b70475bda3907fc8e4f80c763fa5feb8c1e54eee05042093b

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1996-11-07 19:31:12 UTC

Raw Date: Thu, 7 Nov 1996 11:31:12 -0800 (PST)

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)
Date: Thu, 7 Nov 1996 11:31:12 -0800 (PST)
To<EMAIL_ADDRESS>Subject: Re: [NOISE] [philosophypunks] [Vulis] Mills & Hallam-Baker
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Bryce<EMAIL_ADDRESS>writes:
><EMAIL_ADDRESS>writes:
> >
> > If we return to the original basis on which Mill opposed censorship
> > its not hard to find out why Dimitri is denied his support. The
> > argument is based on the need to keep alive debate.
>
> That was only one of several arguments.  Another was that the
> potentially-censored speaker might be right!  I don't remember

of course I'm right.

---

Dr.Dimitri Vulis KOTM
Brighton Beach Boardwalk BBS, Forest Hills, N.Y.: +1-718-261-2013, 14.4Kbps

{% endraw %}
```

## Thread

+ Return to [November 1996](/archive/1996/11)

+ Return to "[Bryce <bryce@digicash.com>](/authors/bryce_bryce_at_digicash_com_)"
+ Return to<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)](/authors/dlv_at_bwalk_dm_com_dr_dimitri_vulis_kotm_)"

+ 1996-11-07 (Thu, 7 Nov 1996 00:57:23 -0800 (PST)) - [[NOISE] [philosophypunks] [Vulis] Mills & Hallam-Baker](/archive/1996/11/7f201a4c62beee37669067f37c59a5cd11688d12f413deb470f4fef1c2e57a38) - _Bryce<EMAIL_ADDRESS>  + 1996-11-07 (Thu, 7 Nov 1996 11:31:12 -0800 (PST)) - Re: [NOISE] [philosophypunks] [Vulis] Mills & Hallam-Baker -<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)_


text:
# python_common
python_common contains a single script, common.py, with a number of python functions I find useful.
There are no dependencies outside the python3.6 or greater standard lib.

Functions by category are as follows, see the source for documentation:

-Stats and Math

    weighted_sampler

    choose

    sampler

    rank

    order

-Bioinformatics

    revcom

    get_fasta

    print_fasta

    get_fasta_buffer

-Misc

    get_file

    count_all

    pairwise

    sort_dict_by_val

    rank_list


text:
# Tag revisions to generate custom app URLs

What if we wanted to create URLs that are specific for each of the two revisions we created earlier? Maybe one of the revisions is for staging, and one is for production. You can automatically create a URL for a specific revision by using the --tag option.

## Tag revisions
1. Let's tag both of our revisions. We'll tag `fib-knative-zero` as `zero`, and `fib-knative-one` as `one`.

    ```
    kn service update fib-knative --tag fib-knative-zero=zero --tag fib-knative-one=one
    ```

2. When we tagged the revisions, Knative should have created two new URLs, one for each of the revisions. The new URLs will be the same format as your old URL, but with `zero-` or `one-` prepended before the service name in the URL. Let's get the old URL now, and then build the new URLs.

    ```bash
    echo $MY_APP_URL
    ```

    Your old URL will look something like this:
    ```
    http://fib-knative-default.bmv-dev-16-5290c8c8e5797924dc1ad5d1b85b37c0-0000.us-south.containers.appdomain.cloud
    ```

    Add `zero-` or `one-` before the service name to get your new URLs, and then save these as environment variables. The new URLs will look something like this:
    ```bash
    export ZERO_URL=http://zero-fib-knative-default.bmv-dev-16-5290c8c8e5797924dc1ad5d1b85b37c0-0000.us-south.containers.appdomain.cloud
    ```
    ```bash
    export ONE_URL=http://one-fib-knative-default.bmv-dev-16-5290c8c8e5797924dc1ad5d1b85b37c0-0000.us-south.containers.appdomain.cloud
    ```

3. Let's try out our URLs to confirm that we're getting the expected results!

    Try the URL for version 1 of the app:
    ```bash
    curl $ZERO_URL/4
    ```

    Example output:
    ```
    [0,1,1,2]
    ```

    Try the URL for version 2 of the app:
    ```bash
    curl $ONE_URL/4
    ```

    Example output:
    ```
    [1,1,2,3]
    ```

Congratulations! You've tagged each revision of your fib-knative application resulting in customized URLs for each version of our application.


text:
---
title: "Cisco Nexus 9000 training DCINX9K"
author: 'www.ifconfig.it/hugo'
date: '2014-11-27'
slug: cisco-nexus-9000-training-dcin
link: https://www.ifconfig.it/hugo/post/2014-11-27-dcinx9k/
categories:
- bloglink
tags:
  - python
  - ifconfigithugo
---

This week I attended a two days training of Cisco DCINX9K. The training is focused on Cisco Nexus 9000 switches in NX-OS mode. NX9K can run two different software images, the full ACI image with all the cool SDN stuff and the traditional NS-OX image with some cool features like Python, Rest API, VX-LAN and more[... <i class="fas fa-external-link-alt"></i>](https://www.ifconfig.it/hugo/post/2014-11-27-dcinx9k/)

repository: mkearney/data-scribers

repo_name: mkearney/data-scribers