text:
# AWS Unused ECS Clusters

## What it does

This policy checks all ECS clusters to determine if any are unused (no registered instances, no running tasks, no pending tasks, no active services) and offers the option to delete the cluster after manual approval.

## Functional Details

The policy leverages the AWS API to determine if the ECS cluster is in use.

When an unused ECS cluster is detected, an email action is triggered automatically to notify the specified users of the incident. Users then have the option to delete the cluster after manual approval if needed.

## Input Parameters

- *Email addresses of the recipients you wish to notify* - A list of email addresses to notify
- *Ignore tags* - ECS clusters with any of these tags will be ignored

## Policy Actions

- Send an email report

## Prerequisites

This policy uses [credentials](https://docs.rightscale.com/policies/users/guides/credential_management.html) for connecting to the cloud -- in order to apply this policy you must have a credential registered in the system that is compatible with this policy. If there are no credentials listed when you apply the policy, please contact your cloud admin and ask them to register a credential that is compatible with this policy. The information below should be consulted when creating the credential.

### Credential configuration

For administrators [creating and managing credentials](https://docs.rightscale.com/policies/users/guides/credential_management.html) to use with this policy, the following information is needed:

Provider tag value to match this policy: `aws`

Required permissions in the provider:

```javascript
{
  "Version": "2014-11-13",
  "Statement":[{
  "Effect":"Allow",
  "Action":["ecs:ListClusters",
            "ecs:DescribeClusters",
            "ecs:DeleteCluster"],
    "Resource":"*"
    }
  ]
}
```

## Supported Clouds

- AWS

## Cost

This Policy Template does not incur any cloud costs.

## Limitation

This policy generates a report of upto 100 clusters.


text:
# old-ne-operator (E1607)
*Use of the \<\> operator* Used when the deprecated \"\<\>\" operator is
used instead of \"!=\". This is removed in Python 3. This message can\'t
be emitted when using Python \>= 3.0.

branch_name: refs/heads/master

extension: md

gha_language: Python

gha_license_id: NOASSERTION

license_type: permissive


text:
# electron-git-cherrypick

This is an Electron application that displays a list of git commits for a branch and allows you to cherry pick one or
more of them and merge them to another branch.

## License

[Apache License Version 2.0](LICENSE.md)

repository: settipalli/electron-git-cherrypick

gha_language: JavaScript

repo_name: settipalli/electron-git-cherrypick


text:
---
date: 2021-02-13
title: "First Day of Instructions"
linkTitle: "Start of Course"
description: "..."
author: Thomas Girke ([@tgirke](https://girke.bioinformatics.ucr.edu/))
---

## Welcome to GEN242 - Spring 2021

+ Due to COVID-19 restrictions, this class will be instructed entirely online via Zoom. The Zoom URLs for lectures, discussion sections and office hours will be provided shortly before the class starts.
+ First Lecture: 02:00-03:20 PM, Tue, March 30, 2021

branch_name: refs/heads/main


text:
#Aspects
Aspects are commonly used extensions of events and entities that have rich support in Activity Stream with regard to processing and representation. They offer a normalized/structured way to store common information in a way that makes it possible for us to build rich functionality and a ui that meet common needs without restricting customization.

## AB Testing
```shell
Sent when the AB test starts
{
  "action": "as.ec.cart.shopping",
  "entities": [
    {"ACTOR":"Customer/311068"}
  ],
  "aspects": {
    "ab_test": {
      "id":"checkout_process",
      "variant":"no-captcha",
    }
  }
}
A partial purchase-message illustrating the use of the ab_testing aspect (AB test ends):
{
  "action": "as.ec.cart.purchased",
  "entities": [
    {"ACTOR":"Customer/311068"}
  ],
  "aspects": {
    "ab_test": {
      "id":"checkout_process",
      "variant":"no-captcha",
      "outcome":"sale",
      "metric":"7",
      "amount":"730",
      "properties":{"some":true}
    }
    ...
  }
  ...
}
```
The ab_test aspect is used to store AB Test results. Analytics for AB Tests are immediately available as well as real-time dashboards tailored for AB testing.

Field | Type | Description | Default
----- | ---- | ----------- | -------
**id** | String | The AB Test ID. Valid ids contain lowercase strings and “_” only. (much like a field-name in a database table)
**variant** | String | What variant of the test led to this event. Valid variants contain lowercase strings and "_" only.
outcome | String | What was the outcome of the test. Valid outcomes contain lowercase strings and "_" only.
metric | Double | Additional/generic metric information for the test outcome
amount | Double | Additional/generic amount information for the test outcome
properties | JSON | Free format JSON structure with additional information.

**Applies to:** [`Events`](#introduction-to-events)

**Enhanced by:** [`Dimensions*`](#dimensions-metricsfacts), [`Timed**`](#timed)

*\*Use the dimensions aspect to add dimensions to the AB_Test outcome.*

*\*Use the timed aspect to report how long the AB test took.*

### Additional queries and interfaces
* See [Events](#events) for information on sending the event to AS.
* See [Analytic queries](/analytics.html#ab-testing-analytics) for information on fetching ab-testing analytics.
* See [Streaming updates]() for information on how to subscribe to streaming ab-testing events.

## Address

List of attachments associated with the event.

Field | Type | Description
----- | ---- | -----------
address | String | First line of address
address2 | String | Optional second line of address
city | String | City
country_code | String | Country code
zip_code | String | Zip code

**Applies to:** [`Entities`](#introduction-to-entities)

## Attachments
```shell
A partial email-sent-message illustrating the use of the attachments aspect:
{
  "action": "as.crm.email.sent",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.003Z",
  "entities": [
    {"ACTOR":"User/311068"}
  ],
  "aspects": {
    "attachments": [
      {
        "url":"http://www.mbl.is/tncache/frimg/dimg_cache/e370x247/7/34/7343072.jpg",
        "description":"John and Suzie doing math",
        "size":3445,
        "properties":{"smu":"fleh"},
        "metadata":{"width":800, "height":600},
      }
    ]
  }
}
```
List of attachments associated with the event.

Field | Type | Description
----- | ---- | -----------
**url** | String | An external URL pointing to a softly-attached document
fingerprint | String | A file id for file stored in Activity Stream
filename | String | An alternative filename for the file (Ignoring filename in URL).
description | String | Content description
size | Double | File size in Bytes  (Used to warn of large content)
created | DateTime | ISO Date Time when the file was created (Used if missing from file information)
updated | DateTime | ISO Date Time when the file was updated (Used if missing from file information)
metadata | JSON | Fixed list of file-type-specific information (width, height, bitrate etc)
properties | JSON | Free format JSON structure with custom information

**Applies to:** [`Events`](#introduction-to-events) [`Entities`](#introduction-to-entities)

**Enhances:** [`Messaging`](#messaging-email)

### Additional queries and interfaces
* See [Events](#events) for information on sending the event to AS.

## Classification
```shell
Entity snippet showing the Classification aspect
{
  "entity_ref": "Product/290209092",
  "aspects": {
    "classification": {
      "type":"Mobile Phone",
      "variant":"iPhone 6+ Gold",
      "categories":["Apple","iPhone","iPhone 6"]
    }
  }
}
```
Used to classify entities (e.g. product, customers, suppliers etc.)

Field | Type | Description
----- | ---- | -----------
type | String | Type of entity (e.g. product, email, etc.)
variant | String | The version/variant of the entity
rating | Double | Rating of the object
outlook | Long | Indicating possible rating changes and the direction of (-5 ... +5)
weight | Double | Weight of the rating used when combining/aggregated rating for collapsed entities
categories | String[]| Categories to which the entity belongs
tags | String[]| Tags describing the entity
active_since | Timestamp| When did the entity become active (or rated for the first time)
last_updated | Timestamp| When was the rating last updated

**Applies to:** `Entities`

## Client Device
```shell
A partial login-message illustrating the use of the client_device aspect:
{
  "action": "as.auth.login",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.000Z",
  "entities": [
    {
      "ACTOR":"Session/S434F4K223J",
      "PROXY_FOR":"Customer/311068"
    }
  ],
  "aspects": {
    "client_device": {
      "user_agent":"Mozilla/5.0 ..."
    }
  }
}

Same partial message showing the use of the client_device shorthand:
{
  "action": "as.auth.login",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.000Z",
  "entities": [
    {
      "ACTOR":"Session/S434F4K223J",
      "PROXY_FOR":"Customer/311068"
    }
  ],
  "aspects": {
    "client_device": "Mozilla/5.0 ..."
  }
}
```
Based on user_agent string and is only used for web/browser originated events.

Field | Type | Description
----- | ---- | -----------
user_agent | String | The user agent (browser) used by the ACTOR when causing the parent event to be produced
track_for* | String | Common or long-lived information, like this, may be moved to the ACTOR entity if it applies to all events from the actor.
In web context then this is used to apply certain redundant information to the Session entity. There it would be stored only once per session or a few time if it changes during the section. Multiple entries are stored for slow changing aspects to keep complete auditing log.
 | |  **Following are read-only properties**
*\_device_vendor* | String |
*\_device_type* | String |
*\_device_pname* | String |
*\_brower_vendor* | String |
*\_browser_type* | String |
*\_browser_version* | String |
*\_os_type* | String |
*\_os_version* | String |
*\_is_input_device* | Boolean |
*\_is_tablet* | Boolean |
*\_is_wireless* | Boolean |
*\_display_width* | Integer
*\_display_height* |Integer

**Applies to:** `Events`

### Additional queries and interfaces
* See [Events](#events) for information on sending the event to AS.

## Client IP
```shell
A partial login-message illustrating the use of the client_ip aspect:
{
  "action": "as.auth.login",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.000Z",
  "entities": [
    {
      "ACTOR":"Session/S434F4K223J",
      "PROXY_FOR":"Customer/311068"
    }
  ],
  "aspects": {
    "client_ip": {
      "ip":"<IP_ADDRESS>"
     }
  }
}

Same partial message showing the use of the client_ip shorthand:
{
  "action": "as.auth.login",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.000Z",
  "entities": [
    {
      "ACTOR":"Session/S434F4K223J",
      "PROXY_FOR":"Customer/311068"
    }
  ],
  "aspects": {
    "client_ip": "<IP_ADDRESS>"
  }
}

```
If the event is originated over public Internet and the IP address is provided then Activity Stream supplies the specifics that can be resolved from the IP address.

Field | Type | Description
----- | ---- | -----------
ip | IP Address | The IP address used by the ACTOR when causing the parent to be produced
track_for* | String | Common or long-lived information, like this, may be moved to the ACTOR entity if it applies to all events from the actor.
 In web context then this is used to apply certain redundant information to the Session entity. There it would be stored only once per session or a few time if it changes during the section. Multiple entries are stored for slow changing aspects to keep complete auditing log.
 | |  **Following are read-only properties**
*\_isp* | String | Name of the ISP if it could be resolved for the IP
*\_organization* | String | Name of the Organization the IP if it could be resolved for the IP
*\_reverse_dns* | String | Reverse DNS Name for the IP if it could be resolved
*\_geolocation* | Map | GeoLocation entry if existed for the IP (See GeoLocation)
*\_locale* | Map | Locale entry if existed for the IP (See Locale)

* Needs updating

**Applies to:** [`Events`](#introduction-to-events)

### Additional queries and interfaces
* See [Events](#events) for information on sending the event to AS.

## Customer Experience Index (CEI)
```shell
A partial password-changed-message illustrating the use of the cei aspect:
{
  "action": "as.auth.password.change",
  "source": "com.activitystream.www",
  "entities": [
    {"ACTOR":"Customer/311068"}
  ],
  "aspects": {
    "cei": {
      "engagement":1.5
    }
  }
}
```
Each event can have synthesized/imagined effect on the entities affected by it. When applicable it can, for example, be used to estimate the current state of a customer based on the things in his activity stream.

The defaults can be stored for each Event-Type but they can also be explicitly defined for individual events using this aspect.

Field | Type | Description
----- | ---- | -----------
engagement | Float | Is the target entity engaged
inactive <-> active (-5 … +5)
happiness | Float | Is the target entity experiencing good or bad things
frustrated <-> happy (-5 … +5)
care | Float | Is the target entity being attended to
neglected <-> pampered (-5 … +5)
rating | Float | customer rating liability <-> asset (-5 … +5)
intent | Float | Is the target entity doing good or bad things
evil <-> good (-5 … +5)
affects* | String[] | List of the entities that should be affected by this. (ACTOR/AFFECTS etc.)
\* ACTOR is the default target for profiling values.
duration | Long | For how long does this affect the target (days)

**Applies to:** [`Events`](#introduction-to-events), [`Entities`](#introduction-to-entities) (via Event-Types and Events), [`Event-Types`]()

### Additional queries and interfaces
* See [Events](#events) for information on sending the event to AS.
* See [Analytic queries](/analytics.html#cei-analytics) for information on fetching CEI analytics.
* See [CEI calculations and analytics]() for more information on the Customer Experience Index.

## Demography
```shell
A incomplete entity-message showing use of the demography aspect:
{
  "entity_ref": "Customer/311068",
  "aspects": {
    "demography": [
      {
        "gender":"Male",
        "birth_year":1968,
        "marital_status":"Married",
        "education":"No diploma"
      }
    ]
  }
}
```

Field | Type | Suggested values (but you can certainly use your own)
----- | ---- | -----------
gender | String | `Male`, `Female`, `Unknown`, `Trans Female`, `Trans Male`, `Trans Person`, `Gender Variant`, `Gender Questioning`, `Bigender`, `Androgynous`, `Pangender`, `Transsexual`.
birth_year | Integer | 19+ ... 2014
ethnicity | String | `White`, `Hispanic` / `Latino`, `Black` / `African American`, `Native American` / `American Indian`, `Asian` / `Pacific Islander`, `Multiracial`, `Other`
marital_status | String | `Single` (never married), `Married` or `In-Partnership`, `Widowed`, `Divorced`, `Separated`, `Other`
education | String | `No schooling`, `Nursery school`, `Primary school` (up to 11th grade), `No diploma` (12th grade), `High school` (graduate/GED), Some `College credit` (No degree), `Associate degree` (AA, AS), `Bachelor's degree` (BA, AB, BS), `Master's degree` (MA, MS, MEng, MEd, MSW, MBA), `Professional degree` (MD, DDS, DVM, LLB, JD), `Doctorate degree` (PhD, EdD)
family_size | String | 1 .. XX
employment | String | `Employed`, `Self-employed`, `Out of work and looking`, `Out of work not looking`, `A homemaker`, `A student`, `Military`, `Retired`, `Unable` to work, `Other`
disability | String |
income | String | XXX Range
housing | String | `Partially Owned`, `Fully Owned`, `Rent`, `Rent-Free`, **Other**
properties | JSON | Free format JSON structure with custom information

**Applies to:** [`Entities`](#introduction-to-entities)
**Enhanced with:** [`Locale*`](#locale)  [`Timed*`](#timed)

### Additional queries and interfaces
* See [Entities](#entities) for information on updating entities in AS.

## Dimensions
```shell
A incomplete login-message showing use of the dimensions aspect:
{
  "action": "as.auth.login",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.000Z",
  "entities": [
    {"ACTOR":"User/311068"}
  ],
  "aspects": {
    "dimensions": {
      "method":"facebook",
      "custom":true
    }
  }
}
```
All values in dimensions are added to all time-series that are created for the event.
In that way AB test results, page-views, purchases or any other aspect that automatically generated time-series do get extra dimensions for slicing and dicing.

Field | Type | Description
----- | ---- | -----------
key   | String | The key in the "{**key**}":{value} pair
value | String | The value in the "{key}":{**value**} pair

**Applies to:** [`Events`](#introduction-to-events), [`Time-Series Data`](), [`Event-Types`]()

**Enhances:** [`TS Data`](#ts-data-data-points)

### Additional queries and interfaces
* See [Entities](#entities) for information on updating entities in AS.
* See [TS Data](#ts-data-data-points) for an example showing use with timeseries data.

## Entities
Generic entity information and entity lifecycle. Event sourcing

Field | Type | Description
----- | ---- | -----------
action | String | CREATES, UPDATES, REMOVES, VERIFIES, REVIVES
entity | <entity_ref> | entity_ref = "Product/2989282"
aspects | <Aspects> | Entity Aspects
links | <Links> | Entity Links
properties | JSON | JSON containing customer specific information

**Applies to:** [`Events`](#introduction-to-events)

## Grouped
```shell
A incomplete email-sent-message showing use of the grouped aspect:
{
  "action": "as.msg.email.sent",
  "source": "com.activitystream.www",
  "entities": [{"ACTOR":"Username/stefanb"}],
  "aspects": {
    "grouped": {
      "group":"Regarding the collapsed emails",
      "scope":"email"
    }
  }
}

Shorthand example:
{
  "action": "as.msg.email.received",
  "source": "com.activitystream.www",
  "involves": [{"ACTOR":"Username/stefanb"}],
  "aspects": {"grouped":"Regarding the grouped/collapsed emails"}
}
```
Events spanning a wide time range can be pulled together and collapsed into a group and placed in the stream according to the most recent event in the group. This behaviour is common in email programs where an email thread is grouped together and collapsed, showing only the latest email.

To achieve this the messages in the group must have the same group value. If the grouped events are of different actions then they also need to specify a scope. That way all the different email event messages can specify “email” as their collapse group and the main subject, without RE:/FWD: prefixes, as their value.

Field | Type | Description
----- | ---- | -----------
group | String | The common value used to group and collapse all found events of this same event type. (see type for grouping different event types together)
scope | String | To group events of multiple event-types into the same group then put a common scope here.

Make sure all messages meant to be collapsed together share the same group and scope settings.

Please note that “re:”, “fwd:” etc. are removed from the group string if found.

**Applies to:** [`Events`](#introduction-to-events)

### Additional queries and interfaces
* See [Events](#events) for information on updating entities in AS.

## Inventory (xCommerce)

Information regarding inventory status of sold goods or services.

Field | Type | Description
----- | ---- | -----------
in_stock | Double | Quantity of goods or service in stock
reserved | Double | Quantity of goods or service that has been reserved

**Applies to:** [`Entities`](#introduction-to-entities)

## Items (xCommerce)
```shell
A fairly complete purchase message:
{
    "type": "as.commerce.purchase.completed",
    "origin": "ticketsales.web",
    "occurred_at": "2016-04-25T10:42:45.986Z",
    "involves": [
        {
            "role": "ACTOR:BUYER",
            "entity": {
                "entity_ref"<EMAIL_ADDRESS>                "aspects": {
                    "presentation": {
                        "label": "Stefan B"
                    }
                }
            }
        },
        {
            "role": "INVOLVES",
            "entity_ref": "Order/4232182"
        }
    ],
    "aspects": {
        "items": [
            {
                "involves": [
                    {
                        "role": "TRADE:PURCHASED",
                        "entity": {
                            "entity_ref": "Event/234427",
                            "relations": [
                                {
                                    "type": "SUPPLIED_BY",
                                    "entity_ref": "Organizer/2"
                                }
                            ],
                            "aspects": {
                                "presentation": {
                                    "label": "<Name_of_event>"
                                },
                                "timed": {
                                    "begins": "2016-05-10T21:00:00.000Z"
                                }
                            }
                        }
                    },
                    {
                        "CREATES": "Ticket/5226477"
                    },
                    {
                        "CREATES": "Ticket/5446478"
                    },
                    {
                        "role": "ACTOR:SOLD_BY",
                        "entity_ref": "Reseller/1"
                    }
                ],
                "commission_fixed": 5.0,
                "currency": "USD",
                "item_price": 25.0,
                "item_count": 2
            }
        ]
    }
}
```
Generic purchase information. Items in the list will get the appropriate relations to the ACTOR entity specified in the relations section.

Field | Type | Description
----- | ---- | -----------
\<type\> | \<entity\> | (SKU)  Line item information
 \<type\>: PURCHASED, RENTED, LEASED, GOT, RETURNED, WON, CARTED, UN_CARTED, RESERVED, CANCELLED, UNAVAILABLE, PURCHASE_USED, PROCESSING_ONLY, INVENTORY_ONLY
 \<entity\>: Entity reference(s) (can be a list for composite products)
associates| \<entity\> | Associated entities that are responsible for the sale or the product. Entity reference or references
variant | String | Product variant when/if applicable
item_count | Double | Number of items
item_price | Double | Price of individual item (Use the [localize](#locale) aspect to control currency)
serial_numbers | \<entity\> | Serial numbers of purchased items (when/if available) like: Ticket/198198918 or Serial/AS-198198918
commission_fixed | Double | Fixed per-item cost, added on top of the item price
(item price + item fees - discount = total item price)
commission_percentage | Double | Variable per-item cost added on top of total price
(item price + item fees - discount = total item price)
discount_percentage | Double | Discount % to be subtracted from the total-item-price
(item price + item fees - discount = total item price)
tax_percentage | Double | Tax % to be added to the item price
total_in_stock | Double | How many items still in stock
total_for_sale | Double | How many items were (max) for sale
valid_from | DateFrom | Valid/Active from date
valid_until | DateFrom | Valid/Active until date
accounting_key | String | The accounting key to use for accounting based analytics
description | String | Text description of the "line item" (summary)
dimensions | MAP | MAP containing additional dimensions for analytics
properties | JSON | JSON containing customer specific information
currency | String | The currency for the amounts (defaults to the value in the locale aspect)
\_total | Double | N/A
\_fees | Double | N/A
\_tax | Double | N/A
\_discount | Double | N/A

**Applies to:** [`Events`](#introduction-to-events)

**Enhanced by:** [`Locale`](#timed), [`transaction`](#transaction)

## Locale
```shell
{
  "action": "as.auth.failed",
  "source": "com.activitystream.www",
  "entities": [
    {"ACTOR":"Username/stefanb"}
  ],
  "aspects": {
    "locale": {
      "locale": "en-US",
      "currency": "USD",
      "timezone": "America/Phoenix"
    }
  }
}
```
Use the locale aspect if the content of the event message is or needs to be localized.  If used then all amounts, dates, times etc., for the associated event, will be reported using the provided locale.

Requesting an event with different locale then used when reporting the event will cause the content of the event to be converted*.

* Please note that automatic conversion of amounts relies on international currency index (see link) and may not conform with the currency valuation you use internally.

Field | Type | Description
----- | ---- | -----------
locale | String | Java locale addressing both language and country. Language: ISO 639 alpha-2/3 Location/country: ISO 3166 alpha-2/3 Sample language tag: en-GB
currency | String | 3 letter currency code (ISO 4217).  Sample currency code: “USD”
timezone | String | The time zone ID. (time zones in the tz database) Sample timezone ID: “America/Phoenix”

**Applies to:** [`Events`](#introduction-to-events) [`Entities`](#introduction-to-entities)

**Enhances:** [`items`](##items-xcommerce) [`transaction`](#transaction) [`gelolocation`](#gelo-location)

## LocalWeather

The Local Weather aspect contains information on environmental conditions relating to weather

Field | Type | Description
----- | ---- | -----------
**predicted_at** | String | ISO Date for when forecast was made
**conditions_at** | String | ISO Date for when in time this information applies
**duration** | String | ISO period for how long from conditions_at the information applies
**temperature** | Double | Average temperature for period in Celcius degrees
**min_temperature** | Double | Minimum temperature for period in Celcius degrees
**max_temperature** | Double | Maximum temperature for period in Celcius degrees
**pressure** | Double | Athmospheric pressure in hPa
**humidity** | Double | Humidity in %
**description** | String | Main description of conditions
**description_detail** | String | Detailed description of conditions
**cloud_level** | Double | Cloudiness, %
**wind_speed** | Double | Wind speed in meters/second
**wind_direction** | Double | Direction of wind in degrees
**rain** | Double | Rain volume in millimeters
**snow** | Double | Snow volume in millimeters

## Geo Location
```shell
A incomplete login-failed-message showing use of the location aspect:
{
  "action": "as.auth.failed",
  "source": "com.activitystream.www",
  "entities": [{"ACTOR":"Username/stefanb"}],
  "aspects": {
    "geo_location": {
      "latlong":"64.135338,-21.895210",
      "track_for":"ACTOR"
    }
  }
}

A incomplete route-set-message showing use of the location aspect with multiple values:
{
  "action": "as.fleet.route.set",
  "source": "com.activitystream.www",
  "entities": [{"ACTOR":"Username/stefanb"}],
  "aspects": {
    "geo_location": [
    {
      "latlong":"64.135338,-21.895210",
      "track_for":"ACTOR",
      "type":"from"
    },
    {
      "latlong":"-21.895210,64.135338",
      "track_for":"ACTOR",
      "type":"to"
    }
    ]
  }
}
```
If an event specifies a (geo) location then Activity Stream resolves it and provides additional information for it.

After enrichment* the aspect returns location specific information.

Field | Type | Description
----- | ---- | -----------
**latlong**| String | "double,double" with "latitude,longitude"
track_for* | String | Common or long-lived information like this may be associated with linked entities, especially if it applies to all events related to that entity (usually the actor). In web context then this is used to apply certain redundant information to the Session entity. There it would be stored only once per session or a few time if it changes during the session. Multiple entries are stored for slow changing aspects to keep complete location log.
type | String | Presentation/processing  tags: **from** (location), **to** (destination), **residence**, **work**, **temporary**
accuracy | Integer | A 0..10 rating for the accuracy of this location.  This is not the geolocation-accuracy (resolution) but how reliably the bound entity can be associated with that location. 10 means that it/he was positively there. 0 mean that it’s a vague guess.
 | |  **Following are read-only or resolved properties**
*\_street*|String|
*\_street_no*|String|
*\_postal_code*|String|
*\_city*|String|
*\_dma_code*|String|
*\_metro_code*|String|
*\_region*|String|
*\_region_code*|String|
*\_area*|String|
*\_area_code*|String|
*\_country*|String|
*\_country_code*|String|
*\_continent*|String|
*\_organization*|String|

**Applies to:** [`Events`](#introduction-to-events), [`Entities`](#introduction-to-entities)

**Enhanced by:** [`Timed`](#timed), [`Locale`](#timed)

*It depends on subscription whether location is enriched or not and is always quantity based *

### Additional queries and interfaces
* See [Events](#events) for information on updating entities in AS.

## Messaging (Email)
```shell
A complete email-sent-message showing the use of the messaging aspect:
{
  "action": "as.msg.email.sent",
  "source": "com.activitystream.exchange",
  "entities": [
    {"ACTOR":"Username/stefanb"}
  ],
  "aspects": {
    "messaging": {
      "subject":"Some title #3983#", <- notice the tracking token
<EMAIL_ADDRESS>      "to":[
<EMAIL_ADDRESS>"belongs_to":"Customer/181271"},
<EMAIL_ADDRESS>"belongs_to":"Username/stefanb"}
      ],
      "dated": "2014-01-29T12:00:00.001Z",
      "url": "%some-url-pointing-to-a-server-copy-of-the-email$"
    },
    "attachments": [
      {
        "url":"car-proposal.doc",
      }
    ],
    "dimensions": {
      "action":"proposal",
    },
    "properties": {
      "some":true,
    },
    "payload": "<-base 64 email content->"
  }
}
```

Events that represent emails, or similar communications, can provide recipient and sender details in the Message aspect.

Field | Type | Description
----- | ---- | -----------
subject | String |
**from** | String | The event will be linked with the entities with the role set to "MESSAGE_FROM"
**to** | String[] | The event will be linked with all listed entities with the role set to "MESSAGE_TO"
cc | String[] | The event will be linked with all listed entities with the role set to "MESSAGE_CC"
bcc | String[] | The event will be linked with all listed entities with the role set to "MESSAGE_BCC"
url | String | A fully qualified URL pointing to the email on the email server.
properties |  for |  for containing additional, customer specific, information
group | Boolean | Add grouping/collapsing information for the event (default is true)
content | Base64 | The email contents***

**Enhance by:** [`Attachments`](), [`Locale`](), [`Dimensions`](#dimensions-metricsfacts), [`**Collapsable`](), [`Access Control`]()

*All emails are created using the entity type Email.  Relations between email addresses and business entities (employees, customer, partners etc.) can be explicitly created using the Entity API.

** Messages are automatically treated like collapsable. It means that the subject is used to create a group of messages that can be collapsed to show only the latest message.

*** Email contents, as well as document contents, depends on AS subscription

This aspect has not been implemented

**Applies to:** [`Events`](#introduction-to-events)

## Metrics
```shell
A incomplete login-message showing use of the dimensions aspect:
{
  "action": "as.auth.login",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.000Z",
  "entities": [
    {"ACTOR":"User/311068"}
  ],
  "aspects": {
    "metrics": {
      "weight":32.0
    }
  }
}
```
All values in metrics are added to all time-series that are created for the event.

Field | Type | Description
----- | ---- | -----------
key   | String | The key in the "{**key**}":{value} pair
value | Double | The value in the "{key}":{**value**} pair

**Applies to:** [`Events`](#introduction-to-events), [`Time-Series Data`](), [`Event-Types`]()

**Enhances:** [`TS Data`](#ts-data-data-points)

## Page View
```shell
A simple pageview message:
{
  "action": "as.web.page.view",
  "source": "www.activitystream.com",
  "entities": [
    {"ACTOR":"Session/32948429384239", "PROXY_FOR": "Customer/311068"}
  ]
  "aspects": {
    "pageview": "/cat/prod-cat/product?event=2928293"
  }
}

A complete web-page-viewed-message showing the use of the messaging aspect:
{
  "action": "as.web.page.browse",
  "source": "www.activitystream.com",
  "entities": [
    {"ACTOR":"Session/32948429384239", "PROXY_FOR": "Customer/311068"}
  ],
  "aspects": {
    "pageview": {
      "path":"/cat/prod-cat/product#section?event=2928293",
      "referrer":"http://www.somesite.com/page/ad?campaign=2928293",
      "page_content": [
        {"FEATURED":"Event/2928293"},
        {"FEATURED":"Artist/232222"},
        {"RELATED":"Venue/2424232"}
      ]
    }
  }
}
```

The pageview aspect is handy when reporting web based events but they can also be read from access logs or reported from the browser using a simple as-tracking library.

**please note:** This, server based, event-message can contain details not available in the browser and does not require web-crawling to discover page content (Explicit vs. Implicit). Sending such events from the server side can be more accurate and is certainly more discrete.

Field | Type | Description
----- | ---- | -----------
**path** | String | A required path (last part of url or the whole URL if the source attribute is not used to specify that. (Mapped to a Page Entity). Please note: Everything after ? will be removed and added to path_properties.
path_properties | JSON | Custom request properties for the page path
referrer | String | (id) The referrer URL (Where the request is originated/redirected from) (Mapped to a Page Entity) Please note: Everything after ? will be removed and added to the reference  properties (not pageview properties).
referrer_properties | JSON | Custom request properties of the referrer URL
keywords | String | Search terms
method | String | **GET**, POST, PUT, DELETE, PATCH (Defaults to GET)
response_code | Integer | HTTP Response code (Defaults to 200)
duration | Integer | Seconds spent on page
size | integer | Size of response in bytes
protocol | String | Defaults to HTTP
page_content | Relations[] | List of content Items/Entities types: FEATURED, LISTED, RELATED, ADVERTISED, TEASED

**Applies to:** [`Events`](#introduction-to-events)

**Enhance by:** [`Timed`](#timed), [`Dimensions`](#dimensions-metricsfacts)

## Presentation
```shell
Simple event that includes simple presentation information
{
  "action": "as.ecom.product.browse",
  "source": "com.activitystream.www",
  "involves": [
    {"ACTOR":"User/stefanb"}
  ],
  "aspects": {
    "presentation": {
      "label":"Stefán Baxter",
      "details_url":"%or.etru%/customers/stefanbaxter",
      "thumbnail":"http://activitystream.com/employees/stefanbaxter.png"
    }
  }
}
Simple event that includes the update aspect to set presentation information for an entity
{
  "action": "as.entity.update",
  "source": "some.internal.system.process",
  "involves": [
    {"ACTOR":"User/stefanb"},
    {"AFFECTS":"Customer/311068"}
  ],
  "aspects": {
    "update": {
      "aspects": {
        "presentation": {
          "label":"Stefán Baxter",
          "details_url":"%or.etru%/customers/stefanbaxter",
          "thumbnail":"http://activitystream.com/employees/stefanbaxter.png"
        }
      }
    }
  }
}
```
Commonly used fields to display human-readable entity information but applies to events as well.

Field | Type | Description
----- | ---- | -----------
label | String | Name or human readable label for the event/entity
description | String | A short description of the entity
details_url | String | Home URL for the entity. Pointer to entity details.*
thumbnail | String | URL pointing to a default thumbnail/image used to represent the entity*
icon | String | URL pointing to a default icon/logo used to represent the entity* (css classsname)

* All URLs can, with use of  templating, be based on values from the source or the event_type record.

**Applies to:** [`Events`](#introduction-to-events), [`Entities`](#introduction-to-entities), [`Event-Types`](), [`Entity-Types`]()

## Pricing

Pricing settings for products or services. Used for dynamic pricing.

Field | Type | Description
----- | ---- | -----------
minimum_price | Double | Minimum price to sell product or service at.
maximum_price | Double | Maximum price to sell product or service at.

**Applies to:** [`Entities`](#introduction-to-entities)

## Resolvable
```shell
{
  "action": "as.auth.failed",
  "source": "com.activitystream.www",
  "involves": [
    {"ACTOR":"User/stefanb"}
  ],
  "aspects": {
    "resolvable": {
      "external_id":"342",
      "batch_id":"sfds"
    }
  }
}
```
If the originating system already has an ID for the event that it must to use to resolve the event in the activity stream then an external_id can be supplied.

The batch_id is used to tag a whole batch of events so that they can be invalidated later on if, for example, a transaction fails. The batch_id is always resolved for a specific/single source but many events can have the same batch_id.

This can, for example, be used to rollback external transaction. As the activity stream is a append-only event store then the events are rolled-back by invalidating them (which leaves them in the stream but hides them).

Field | Type | Description
----- | ---- | -----------
external_id | String | When external systems need to find individual events based on their own event ID then they can supply it using this aspect.
*external_id is unique within the source and needs source information to be resolved.
batch_id | String | External batch id which can be used, when supplied with source, to resolve a whole batch of events.
*batch_id is resolved with source information.

**Applies to:** [`Events`](#introduction-to-events)

## Sentiment

Used to store results of sentiment analysis.

Field | Type | Description
----- | ---- | -----------
score | Double | Sentiment analysis score (<0 is negative, >0 is positive)
confidence | Double | Confidence value for sentiment score. (0.0 is no confidence, 1.0 is maximum confidence)
range | String | Range of sentiment score (e.g. "Very negative", "Negative", "Slightly negative",  "Neutral", "Slightly Positive", "Very Positive")

## Settings
```shell
{
  "action": "as.settings.changed",
  "source": "com.activitystream.www",
  "involves": [
    {"ACTOR":"User/stefanb"}
  ],
  "aspects": {
    "settings": {
      "volume":"3",
      "active_channel":"32",
      "active_profile":"family"
    }
  }
}
```
Use the Setting aspect to track changes for configuration/settings. Multiple settings can attached to a single event and you can always ask for the settings as they were at a specific time for the associated entity.

\**Please note that the settings are associated with the “AFFECTS” entity if available or the “ACTOR" entity if no ‘track_for’ target is specified.*

"setting"="new_value"
Name of the setting that is affected and the new/current value for the setting.

**Applies to:** [`Events`](#introduction-to-events), [`Entities`](#introduction-to-entities) (Indirectly via events)

## Summary
```shell
{
  "action": "as.rewards.unlocked",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.001Z",
  "involves": [
    {"ACTOR":"Session/9fa660bb-9c43-4214-b603-882453ccf088"}
  ],
  "aspects": {
  "summary": {
    "title":"Stefán has now unlocked the 'Ignorant dude' trophy",
    "subtitle":"by answering 30 questions incorrectly",
    "content":"One awesome dry spell!"}
  }
}
```
Used to store customized title & summary information.

Field | Type | Description
----- | ---- | -----------
title | String
subtitle | String
content | String
properties | JSON | JSON containing additional, customer specific, information

Please note that the action (“as.app.reward.unlocked” in this case) can also have title information attached to it and that storing a common template there can be more efficient than storing redundant strings with every event.

**Applies to:** [`Events`](#introduction-to-events), [`Entities`](#introduction-to-entities)

**Compliments:** [`Presentation`]()

## Tags
```shell
{
  "action": "as.auth.failed",
  "source": "com.activitystream.www",
  "involves": [
    {"ACTOR":"Username/stefanb"}
  ],
  "aspects": {
    "tags": ["Severe","Red"]
  }
}
```
An array of strings used to further classify events in the activity stream. You can use any tag you like but keep in mind that a small set (low cardinality) of tags is commonly more useful than a large set of tags.

**Applies to:** [`Events`](#introduction-to-events), [`Entities`](#introduction-to-entities)

## Timed
```shell
//With began and ended (explicit):
{
  "action": "as.session.ended",
  "source": "com.activitystream.www",
  "occurred_at": "2014-02-23T12:00:00.000Z",
  "involves": [
    {"ACTOR":"Session/9fa660bb-9c43-4214-b603-882453ccf088", "PROXY_FOR":"User/311068"}
  ],
  "aspects": {
    "timed": {"begins":"2014-02-23T11:50:00.000Z", "ends":"2014-02-23T12:00:00.000Z"}
  }
}

//With began and duration (explicit using duration):
{
  "aspects": {
    "timed": {"begins":"2014-02-23T11:50:00.000Z", "duration":600000}
  }
}

//With began only (Implicit: using occurred_at as ended):
{
  "aspects": {
    "timed": {"begins":"2014-02-23T11:50:00.000Z"}
  }
}

//With duration only (Implicit: using occurred_at as ended and occurred_at-duration as began):
{
  "aspects": {
    "timed": {"duration":600000}
  }
}
```
If the action that the event is based on has duration the it can be represented here. This can, for example, be the time a AB Test took or the duration of a session reported at the end of the session.

**Please Note**: It it’s unclear to which part of your event message the timed aspect applies to then it’s a good sign of your event message becoming too bloated. Creating two separate events, even of two different event types, is recommended in such cases.

Field | Type | Description
----- | ---- | -----------
begins | ISO Date |
ends | ISO Date |
duration | Long | Milliseconds
type | String | **`valid`**, `due`, `duration`, `total_duration` or any custom type

**Applies to:** [`Events`](#introduction-to-events) [`Entities`](#introduction-to-entities)

**Enhances:** [`Pageview`](), [`AB_Test`]()

## Transaction

Field | Type | Description
----- | ---- | -----------
**type** | String | Payable/Receivable or Debit/Credit
**medium** | String | Cash, Card, Check, Transfer, Other
**amount** | Double | The transferred amount (The [Locale](#locale) aspect is used to specify currency)
invoice_nr | String |
reference_no | String |
account_out | String |
account_in | String |
accounting_key | String |
card_number  | String | Obfuscated only (Meta card numbers only)
card_exp  | String | Expiration data
properties | JSON | Any JSON structure containing customer/transaction specific information

**Enhanced by:** [`dimensions`](#dimensions-metricsfacts)

repository: activitystream/slate

repo_name: activitystream/slate


text:
Studio Browser Plugin
=========

<img src="http://ericholiveira.com/studio/images/STUDIO_logo.png" align="right" width="300px" />

Studio Browser is a plugin for [Studio](https://github.com/ericholiveira/studio) which enables browser direct access (rpc) to your services.

If you dont know Studio, you will need to read about it [here](https://github.com/ericholiveira/studio) to unleash the REAL power of micro services in node,
it is really easy to use, enforces good practices, and as advantage lets you cluster your application without ANY configuration,
real time metrics, and even more. Your services are built to scale since thay one.

To use Studio Browser you also need to add [Studio Browser Client](https://github.com/ericholiveira/studio-browser-client) as a dependency to your html.

This plugin is really simple to use as it lets you access your server the exact same way you do on server-to-server Studio service call.

Are using [Studio](https://github.com/ericholiveira/studio) or any related project. Let us know, we would love to hear your feedback.

Wants to learn more???? Click here to join our slack channel

[![Join the StudioJS chat](https://studiojs.herokuapp.com/badge.svg)](https://studiojs.herokuapp.com/)

[![Build Status](https://travis-ci.org/ericholiveira/studio-browser.svg?branch=master)](https://travis-ci.org/ericholiveira/studio-browser)
[![npm version](https://badge.fury.io/js/studio-browser.svg)](http://badge.fury.io/js/studio-browser)
[![Dependency Status](https://david-dm.org/ericholiveira/studio-browser.svg)](https://david-dm.org/ericholiveira/studio-browser)

[![NPM](https://nodei.co/npm/studio-browser.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/studio-browser/)

Table of contents
========

- [Install](#install)
- [Intro](#intro)
- [Getting Started](#getting-started)
- [Examples](#examples)
- [Documentation](#documentation)
- [Build](#build)
- [Test](#test)
- [License](#license)

Intro
========

You probably already know [Studio](https://github.com/ericholiveira/studio) and how it can help you to create and manage micro services without even
thinking about it. You probably already know how to clusterize [Studio](https://github.com/ericholiveira/studio-cluster) your services without configuration
and all the advantages you can take from a micro services created to be easy to use since they one.

Now its time to take one step further and use a really simple interface to access your services from the browser. Now is time to Studio Browser.

Getting Started
========

To use Studio browser you will need to install it on your server Studio based application, to do this, just run

```
npm install studio-browser --save
```

You will also need to add [Studio Browser Client](https://github.com/ericholiveira/studio-browser-client) as a dependecy on your html.
You can do this installing from npm with browserify or downloading the full file from [here](https://cdn.rawgit.com/ericholiveira/studio-browser-client/master/browser/studio-browser-client-with-dependecies.js). Now you're ready to acess your server services from browser.

Examples
========

Here is a hello world example using Studio Browser:
To run this example you will need to install [Studio](https://github.com/ericholiveira/studio) ,[Studio Browser](https://github.com/ericholiveira/studio-browser),
[socket io](https://github.com/socketio/socket.io) and [express](https://github.com/expressjs/express) . Im using express ONLY to deliver the html file.

On your server:
```js
var Studio = require('studio');
var StudioBrowser = require('studio-browser');

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});
/*
Usually you dont need to pass your own socketIO reference, if you dont pass any, Studio Browser creates it to you
on port 3000. But as we want to deploy everything together we are just sharing the http server between socket io and express.
*/
Studio.use(StudioBrowser({socketIO:io}));

Studio(function sayHello(){
  return 'Hello World From Server';
}).browserPublic();
/* Calling .browserPublic() makes your service available for direct access from browser*/

Studio(function somePrivateFunction(){
  return 'foo';
});
/* If you dont call .browserPublic() your service cant be accessed directly from browser*/
```

And on your browser you can create the followind index.html file:
```html
<html>
<head>
<title>Studio Browser example</title>
</head>
<body>
  <h1 id="result"></h1>
  <script src="https://raw.githubusercontent.com/ericholiveira/studio-browser-client/master/browser/studio-browser-client-with-dependecies.js"></script>
  <script type="text/javascript">
    Studio.use(Studio.plugin.client({ip:'http://localhost:3000/'}));//the server address
    var sayHelloService = Studio('sayHello');
    sayHelloService().then(function(message){
      document.getElementById('result').innerHTML = message;
    });
  </script>
</body>
</html>
```
Now you just have to run your server with node, and open your browser on http://localhost:3000

Thats it... Is that simple to access your services from the browser... You dont even need to understand what is a request nor anything related.
We just handle it to you.

Build
========

For those interested on contributing or undenstand how the code works checkout our [documentation](https://github.com/ericholiveira/studio-browser/tree/master/.documentation) folder.

Build
========

To build the project you have to run:

    npm install
    npm test

This is going to install dependencies, lint and test the code

Test
========

Run test with:

    npm test

License
========

The MIT License (MIT)

Copyright (c) 2016 Erich Oliveira [ericholiveira.com](http://ericholiveira.com)

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

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

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

license: MIT

repository: ericholiveira/studio-browser

repo_name: ericholiveira/studio-browser


text:
### Clear and reset continuity counters with re_cc.py

* use like:
```
        python3 re_cc.py video.ts

```

![image](https://user-images.githubusercontent.com/52701496/154814807-5d222b59-ada9-4600-9226-1af297f58314.png)

repository: futzu/threefive

repo_name: futzu/threefive


text:
# Repo Management strategy

This page outlines the vision, strategy, and goals of the [Repository Management team](../../../../engineering/enablement/repo-management/index.md).

---

# Mission & Vision

## Mission

Our mission is to maintain and evolve the methods by which code is pulled into Sourcegraph from code hosts, in a way that supports all required functionality while maximizing performance, reliability, and ease of use.

We also have temporary custody of Authentication, with the aspiration being to split the team to give auth a dedicated team to own it. As a result, unless otherwise specified, the rest of this page relates to Repo Management and code host work.

## Vision

### 1 Year vision

Sourcegraph provides the means to simply, easily, and reliably connect to all common code management systems, allowing you to use any of Sourcegraph’s brilliant functionality with any of your code, regardless of its storage system. Our support of different code hosts scales to the biggest companies with minimal customizations.

Sourcegraph’s own engineers are able to interact with the components that facilitate access to code in a consistent and simple way, enabling new functionality to be built to support all code management systems with little-to-no customization.

### 3 Year vision

Sourcegraph is easily set up to access any code management system, regardless of type. Sourcegraph functionality works with any code, from anywhere.

### 10 year vision

> A sentence or two on your ten year vision is where you can really go wild and describe the problems you want to solve and solutions you want to deliver unbound by limitations of technology or scope. Be inspiring and look to the our 10 and 30 year strategies for ideas.

TODO

## Guiding principles

- We aim to provide consistent support for the code hosts we support
- We cannot cater to every customer’s wants and needs, and trying to would undermine our ability to serve all of Sourcegraph’s current and future customers
- As a result, we prioritize work that will best support that majority (current and future), sometimes compromising what we can offer to individual customers whose needs are not aligned with our strategic decisions
- Our work underpins almost every feature Sourcegraph offers, and so our work is of value to all users of Sourcegraph
- More directly our work is utilized by any user setting up code host connections - this can be any kind of Sourcegraph user, ranging from IC developers to central administrators (often called “site admins”)
- Many customers will utilize more than one code management system and so oftentimes have more than one code host to set Sourcegraph up with
- Customers do not want to have to take code host differences into account, so we aim to make the setup, management, and capabilities of our code host support consistent, despite the technical differences between them
- We aim to ensure our setup of code hosts is simple enough for any engineer but also ensure that we provide documentation that is sufficiently clear that any user could follow it to set up code hosts
- Many customers have a large number of repos and a number of large repos, and so performance, scalability, reliability, and resilience are as important as the ease of setup
- We also serve the rest of the Sourcegraph engineering team, who use the code host connections and replicated code to provide their own functionality
- As a result, we aim to make sure that the support of code hosts is as consistent as the different code hosts allow in terms of facilitating the functionality Sourcegraph offers

---

# Where we are now

> - Where is the team's area of ownership in terms of its maturity? Is it new and basic, or complete and lovable? Are different features at different levels?
> - What did we achieve in the last few months?
> - What key learnings did we recently make?
> - What is on the critical path for growth?
> - How does the product fit within Sourcegraph as a whole?

TODO

## Top customer, support, sales and marketing issues

> ⚠ Please see below in [Strategy and plans](#strategy-and-plans) for more information on which problems are actually in scope of the team.

Note that these are order by approximate known revenue impacted - but that the figures are likely not to be representive of the total value, and so the order in which these get address may not correlate with the order here.

#### Perforce support

- **Approximate revenue impacted:** $1.6m
- [Salesforce Product Gap](https://sourcegraph2020.lightning.force.com/lightning/r/a1B3t00000IkT1nEAF/view)

#### Gerrit Permissions syncing

- **Approximate revenue impacted:** $110k
- **Problem:** Lack of support for Gerrit permissions
- [Salesforce Product Gap](https://sourcegraph2020.lightning.force.com/lightning/r/a1B3t00000Il6IFEAZ/view)

#### [Phabricator support](https://github.com/sourcegraph/sourcegraph/issues/25111)

- **Approximate revenue impacted:** $100k
- **Problem:** Phabricator support within Sourcegraph was never properly implemented, resulting in limited support.
- [Salesforce Product Gap](https://sourcegraph2020.lightning.force.com/lightning/r/a1B3t00000IkxK8EAJ/view)

#### [Bitbucket Cloud permission syncing](https://github.com/sourcegraph/sourcegraph/issues/19782)

- **Approximate revenue impacted:** $90k
- **Problem:** Atlassian are ending support for BitBucket Server and staring moving all customers to the Cloud. But Sourcegraph doesn't currently support native permission syncing for BitBucket Cloud.
- [Salesforce Product Gap](https://sourcegraph2020.lightning.force.com/lightning/r/a1B3t00000IkxMkEAJ/view)

#### Monorepo support

- **Approximate revenue impacted:** $80k
- **Problem:** A major priority is to start supporting repositories that are massive in scale. Today, this does not work simply because the machines take too long to process unindexed searches, even with a MASSIVE machine.
- [Salesforce Product Gap](https://sourcegraph2020.lightning.force.com/lightning/r/a1B3t00000IkxLlEAJ/view)

# Strategy and plans

## Goals

TODO

🎯 Goal 1

🎯 Goal 2

🎯 Goal 3

## Themes

TODO

## What's next and why

> More detailed plans related back to the themes and goals. If your time frame covers more than a quarter, it would be valuable to give some indication of time within the plans in this section, to help others appreciate the likely ETA of value.

> ℹ The plans for this team are currently being worked out and the following summarizes the current plans.

Note that the time periods are rolling time periods and the plans here are reviewed and updated monthly.

### Short term (3m)

#### Monorepo support

- **Current status:** In progress
- **Expected effort:** <5% team time
- **Why:** Monorepos are commonplace but exert a huge toll on systems like ours - so much so that customers feel a significant ammount of pain and with
- Most of the previously considered work actually resides with other teams, so our role in this will largely be support.

#### GitServer HA

- **Current status:** In progress
- **Expected effort:** ~50% team time
- **Why:** Code host connectivity, scalability and reliability is at the heart of our product, underpinning literally all other features. As we scale the size of customers we’re trying to win and delight, we cannot avoid tactical work to expand our functional coverage (which code hosts we support and how completely), but we also need to ensure Sourcegraph can handle the current and future challenges that the largest customers will throw at it with regards to the size of their repos, number of repos and performance required.

- This is partially in aid of monorepo support, and partly system resilience.
- More information and problem context available [here](https://docs.google.com/document/d/1U5KmrVRezD1wjs1g2dBkeCJIfGTJ4dzZ8zXudJaDNNU/edit#).

1. Current work is related to replacing the hashing algorith to prevent the redistribution (rebalancing) of repos across the available Gitservers when a Gitserver is added or removed.
2. Next step is to trial repo duplication (copies on more than one Gitserver) in Sourcegraph.com
3. After that, making control of the replication factor customer editable (likely not in Q3)
4. Future work (Not within Q3) - sharding monorepos across multiple Gitservers

#### Perforce support

- **Current status:** In progress
- **Expected effort:** ~10% team time
- **Why:** Support our largest customers in a robust and reliable way, no matter how many repos and what size.

- [x] Support Perforce wildcard permission syncing (completed by the Distribution team - [docs](https://docs.sourcegraph.com/admin/repo/perforce#wildcards))
- [ ] Improved git-p4 repo syncing performance
  - Close collaboration between Distribution team and [large customer](https://github.com/sourcegraph/accounts/issues/6716)
  - We were able to make massive headway updating git-p4, but the customer have produced an even faster C++ version
  - Currently in the process of adopting this into our product for use behind a feature flag - [GH Issue](https://github.com/sourcegraph/sourcegraph/issues/25583)

### Mid term (6m)

#### GitServer HA Cont.

Continued from [above](#gitserver-ha)

**What:**

1. Better support for monorepos, likely through better utilization of ability to replicate or shard monorepos across multiple GitServer instances within Sourcegraph

**Why:**
Support our largest customers in a robust and reliable way, no matter how many repos and what size.

#### Gerrit Permissions syncing

**What:**
Gerrit supports permissions more granular than just repo-level. Since this is needed to properly (in a long term way) support Perforce too, we're expecting to do work to change our internal model to support more granualr permissions, then add Gerrit support properly on top of this.

**Why:**
Needed to unblock at least 1 [customer](https://github.com/sourcegraph/accounts/issues/246).
Currently [investigating](https://github.com/sourcegraph/sourcegraph/issues/23563) the value to other customers who are known Gerrit users, and the depth of support needed.

1(With the exception of Perforce which utilizes a hack where directories with more graunlar permissions appear as repos within Sourcegraph).

#### BB Cloud permissions

**What:**
Support permissions syncing for BitBucket Cloud.

[GitHub Issue](https://github.com/sourcegraph/sourcegraph/issues/19782)

**Why:**
Currently blocking expansion for at least [one large customer](https://github.com/sourcegraph/customer/issues/288) as well as being strategically valuable as Atlassian have announce EOL for BB Server, meaning many other BB Server customers will likely move to BB Cloud and want this support.

### Long term (12m)

TODO

## What we're not working on

> What are we explicitly not working on? Are there frequent requests from customers or other teams we are choosing not to take on? Making that explicit makes other teams understand the strategy and reduces back and forth.
If there is a time component (e.g. “We’re not working on this this Q but likely to pick it up next Q”), call it out.

TODO

#### Phabricator support

- **Current status:** Under investigation
- **Expected effort:** TBD
- Currently under investigation to try and ID customer need in light of upcoming Phabricator deprication.

repository: glitchwizard/handbook

repo_name: glitchwizard/handbook


text:
# Elcrc16

An Erlang NIF for generating CRC-16 (polynomial 0x8005).

This NIF requires the very fine CRC code (in C) written by Michael Barr.
See http://www.barrgroup.com/Embedded-Systems/How-To/CRC-Calculation-C-Code
for more information. The code can be downloaded from
[here](http://www.netrino.com/code/crc.zip).

Note: You can change the CRC standard used by changing the macro near the
top of the crc.h file - this NIF wants CRC16 (polynomial 0x8005), and the
crc.h file included here has been changed accordingly. The original code
uses the CRC_CCITT standard.

## Installation

1. Add crc to your list of dependencies in `mix.exs`:

        def deps do
          [{:elcrc16, "~> 0.1.0"}]
        end


text:
#### Integrations

##### Palo Alto Networks PAN-OS

- Fixed an issue in the command **pan-os-apply-security-profile** where it failed with the error `argument of type 'NoneType' is not iterable` when no profile types were found.
- Updated the Docker image to: *demisto/pan-os-python:<IP_ADDRESS>924*.

repository: demisto/content

gha_license_id: MIT

repo_name: demisto/content


text:
---
title: "Blackbird nest & rPi cam"
modified:
categories:
excerpt: Now I'm concerned about small critter privacy issues.
tags: []
image:
  feature: blackbird-nestcam.jpg
date: 2015-12-05T06:45:00+13:00
comments: true
---

Outside our bedroom window and beside the front door, a blackbird has nested in the rose bushes. After watching her for a few days at breakfast and saying hello out the bedroom window, we added a nest cam for a better viewpoint.

<iframe width="560" height="315" src="http://www.youtube.com/c/ChrisBurgess/live" frameborder="0" allowfullscreen style="border: 1px solid #666; margin-bottom: 20px;"></iframe>

*[nest cam on YouTube](https://youtu.be/JKlW9DHOFYg)*

I was cautious about installing the camera, as I thought there were no eggs and had read that birds are more likely to abandon their nesting if they aren't invested fully. Turned out there were four eggs but the nest was quite deep and they weren't visible when holding a camera out the window to get a view.

If making any changes near the nest, I'll watch her from the breakfast table, and get to work with any changes when she breakfasts soon after dawn. She knows we're here as she can see us in the bedroom window, so I think she's decided we're mostly harmless, if noisy.

There was a bit of crawling around in the roof to get a Raspberry Pi within range of the nest, and some small holes drilled - yay for being a homeowner, I can drill where I like! Have to go back up there and wire the Pi power off the porch light so I can remove the extension cable snaking into the laundry ceiling.

The rPi is running Raspbian Jessie, and the camera is a Microsoft HD-3000. From the feel of the base I thought I'd be able to drill mounting holes into the camera, but it turns out the base was steel and broke a drill bit. I make a small wooden mount that the base slots into, so I can affix that to the underside of the eave.

Initially I used [Motion](http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome) to capture the stream, which worked pretty much out of the box. For security & bandwidth reasons I decided to push the stream out to a CDN for viewing, so after a day of Motion I swapped to `avconv` last night, and am now pushing it to YouTube (hence the embed above).

Since night is too dark to see activity, I'm deactivating the stream from dark (10pm) until dawn (5:30am). Running the `avconv` stream inside a `tmux` session to observe output - expected to have to do more to keep it running TBH, since video encoding, but so far it's fine.

There's not really a lot of "how to" to this, since it worked out of the box after installing `libav-tools`. Still I can share the successful results of some trial and error :)

<script src="https://gist.github.com/xurizaemon/e338363d550016bcc8d6.js"></script>

*Cron entries to start & stop a named tmux session for the stream.*

<script src="https://gist.github.com/xurizaemon/795f1f8fab9dab448f74.js"></script>

*Shell script to run the actual encode.*

* YouTube seems to ignore streams without audio, so this adds silent audio channel.
* Submits FLV - YouTube grumbles about "unsupported codec" occasionally in the video manager, but `-c:v libx264` doesn't encode efficiently on the Pi. Need to play with this.

Pushing off to CDN and back for viewing introduces a short delay, so if I need to adjust the camera I swap back to Motion for a few minutes - it's much faster for local only delivery. It's probably possible to run the two side by side.

Quite impressed with what the rPi and cheap camera can do here, and happy that YouTube appear to be offering unlimited free rtmp:// broadcast. I did check out Twitch.tv and Ustream, but found it easier to navigate YouTube's live broadcast setup than the others.


text:
You can view the answers submitted by others as well.
# Features!

  - View all the question
  - Submit your answers
  - View submitted answers

### Installation

Ptest requires [Docker] And [Docker-compose] (and only those ;)).  You can find install instructions [here](https://www.digitalocean.com/comamunity/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04) and [here](https://docs.docker.com/compose/install/)

After that, you will need to configure a couple of parameters. Open docker-compose.yml
- Update **API_HOST** to IP of your machine
- update **API_PORT** to the port your backend is running (defaults to 3000)
- Update **PORT** to port on which you wanna run the backend
- Update **MONGO_HOST** to IP where you Database is bound to
- Update **MONGO_PORT** to port which your Database is bound to

and it just couple of commands
```sh
$ cd ptest
$ docker-compose build
$ docker-compose up
```

If everthing went well, you should be able to access the application [here](http://localhost:8085)

### Todos

 - Write MORE Tests
 - Make UI better

License
----

MIT

**Free Software, Hell Yeah!**

[//]: # (These are reference links used in the body of this note and get stripped out when the markdown processor does its job. There is no need to format nicely because it shouldn't be seen. Thanks SO - http://stackoverflow.com/questions/4823468/store-comments-in-markdown-syntax)

   [Docker]: <https://www.docker.com/>
   [Docker-compose]: <https://docs.docker.com/compose/>

repository: laroi/ptest

repo_name: laroi/ptest


text:
# TZBase

[![CI Status](http://img.shields.io/travis/wjc/TZBase.svg?style=flat)](https://travis-ci.org/wjc/TZBase)
[![Version](https://img.shields.io/cocoapods/v/TZBase.svg?style=flat)](http://cocoapods.org/pods/TZBase)
[![License](https://img.shields.io/cocoapods/l/TZBase.svg?style=flat)](http://cocoapods.org/pods/TZBase)
[![Platform](https://img.shields.io/cocoapods/p/TZBase.svg?style=flat)](http://cocoapods.org/pods/TZBase)

## Example

To run the example project, clone the repo, and run `pod install` from the Example directory first.

## Requirements

## Installation

TZBase is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
pod 'TZBase'
```

## Author

wjc<EMAIL_ADDRESS>
## License

TZBase is available under the MIT license. See the LICENSE file for more info.

repository: CityFire/CFUIKit

repo_name: CityFire/CFUIKit


text:
# Cross-Task Instance Representation Interactions and Label Dependencies for Joint Information Extraction with Graph Convolutional Networks

```
@inproceedings{fourie_naacl21,
    title = {Cross-Task Instance Representation Interactions and Label Dependencies for Joint Information Extraction with Graph Convolutional Networks},
    author = {Minh Van Nguyen and Viet Dac Lai and Thien Huu Nguyen},
    booktitle = {Proceedings of the North {A}merican Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT)},
    year = {2021}
}
```

links
- [arXiv](https://arxiv.org/abs/2103.09330)


text:
# T1553.005 - Subvert Trust Controls: Mark-of-the-Web Bypass

Adversaries may abuse specific file formats, such as ISO, to evade Mark-of-the-Web (MOTW) controls.

1. Copy the ISO file in the VFS folder to your SCYTHE server VFS:/shared/ISO
2. Inport and tag the imported Compound Action in your Threat Catalog as T1553.005
3. Create a new campaign and select the T1553.005 compound action

## ISO Deployment of SCYTHE (Windows) Payload

The below procedure uses the Folder2Iso project to build an ISO that can be mounted on a Windows system. If the ISO was downloaded from the Internet, it will bypass the Mark of the Web warning. Opening the Reports shortcut will execute the SCYTHE DLL payload.

1. Set up Command and Control (C2) using HTTPS and TCP 443 and generate DLL payload. If you are a SCYTHE user, create a new SCYTHE campaign, download a 32-bit or 64-bit DLL with the entry-point function name of `Open`
2. Copy the src folder from our GitHub to a working directory on your Windows system. Note we are using the Folder2Iso project to create the ISO.
3. Copy and rename the SCYTHE DLL to `DOCUMENTS.dll` and put it in the Folder2Iso of the working directory
4. In the Folder2Iso directory, create a shortcut called Reports and set the Target to: `C:\Windows\System32\rundll32.exe "DOCUMENTS.DLL",Open`
5. Open a Windows command prompt and cd to the working directory.
6. Run `Folder2Iso.exe "Folder2Iso" "%USERPROFILE%\Downloads\T1553.005.iso" "DECLASS" 0 0 0 "None"` This will take all the content of the Folder2Iso folder and create an ISO of it.
7. Email the ISO file, host it on a web server and send a phishing link, double click it on your host, and/or execute from command line with `powershell Mount-DiskImage -ImagePath "%USERPROFILE%\Downloads\T1553.005.iso"`
8. In the newly mounted drive, double clicking the Reports shortcut which will launch the DOCUMENTS.dll SCYTHE Campaign.

repository: ericchauvette/community-threats

path: /CompoundActions/T1553.005 - Mark-of-the-Web Bypass/README.md

repo_name: ericchauvette/community-threats


text:
---
layout: default
---

# 1996-08-28 - (flatulence): Reply-to loops

## Header Data

From: Robert Hettinga<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 41c652d3443d13daa23893dcb1539080df7cf28373ada24ce7cb8bc147a1dc26

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1996-08-28 06:15:47 UTC

Raw Date: Wed, 28 Aug 1996 14:15:47 +0800

## Raw message

```
{% raw  %}From: Robert Hettinga<EMAIL_ADDRESS>Date: Wed, 28 Aug 1996 14:15:47 +0800
To<EMAIL_ADDRESS>Subject: (flatulence): Reply-to loops
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

At 2:57 AM -0000 8/28/96, SCN User wrote:
> BTW: When is this list/listserver going to convert the reply-to fields to
>      point to<EMAIL_ADDRESS>
Never.

We don't do it because of reply-to loops.

Only idiots, or charitably, those with very low traffic, run their mail lists any other way.

Accidentally sending private e-mail to the list is bad enough without bringing the listserver to its knees...

Cheers,
Bob Hettinga
([probationary] former idiot)

-----------------
Robert Hettinga<EMAIL_ADDRESS>e$, 44 Farquhar Street, Boston, MA 02131 USA
"'Bart Bucks' are not legal tender."
                -- Punishment, 100 times on a chalkboard,
                       for Bart Simpson
The e$ Home Page: http://www.vmeng.com/rah/

{% endraw %}
```

## Thread

+ Return to [August 1996](/archive/1996/08)

+ Return to<EMAIL_ADDRESS>(SCN User)](/authors/bf578_at_scn_org_scn_user_)"
+ Return to "[Rick Campbell <campbell@c2.org>](/authors/rick_campbell_campbell_at_c2_org_)"
+ Return to "[Robert Hettinga <rah@shipwright.com>](/authors/robert_hettinga_rah_at_shipwright_com_)"

+ 1996-08-28 (Wed, 28 Aug 1996 13:32:06 +0800) - [Re: Microsoft Explorer security hole (fwd) MSoft's reply...](/archive/1996/08/338078a109ebd84fd946984c2c3457cd6dfc9ba523f6b0fb8b33762c307f23ca) -<EMAIL_ADDRESS>(SCN User)_
  + 1996-08-28 (Wed, 28 Aug 1996 14:15:47 +0800) - (flatulence): Reply-to loops - _Robert Hettinga<EMAIL_ADDRESS>  + 1996-08-28 (Wed, 28 Aug 1996 23:49:31 +0800) - [Re: Microsoft Explorer security hole (fwd) MSoft's reply...](/archive/1996/08/7ccb639d6bca9ecab3cda048fdf00ea5799231734eb9a18bb11e5bedefd648e5) - _Rick Campbell<EMAIL_ADDRESS>


text:
# eval.gradle_composite

>This repository contains an evaluation if product variants  and flavours could be realized using [gradle composite builds](https://docs.gradle.org/current/userguide/composite_builds.html).

gha_language: Kotlin


text:
Zepto conditional loading wrapper
=================================

Merging Zepto with other scripts
------------------------------

Use this wrapper when you need to merge your scripts at build time, and you need Zepto but full-jQuery is not required.

This wrapper optimistically loads Zepto.js inline, but then suppresses its execution and lazily loads jQuery from a CDN (Google Ajax API) if the environment is unsupported.

All versions of Internet Explorer are officially not supported by Zepto. Unfortunately, IE8 and earlier throw exceptions if it is even loaded.

Environment
-----------

This is just a simple bash script and has only really been tested on Mac OS X using Homebrew for Node.
In other environments, YMMV. Commented out is a test/auto-install for Node.js/NPM.
Ideally, I'd put it into something more portable, or use Zepto's setup, but this did the trick for me.
As it is, the README is larger than the script.

Alternate jQuery CDN
--------------------

If you want to modify where jQuery is loaded from, just tweak [`unsupported.js`](https://github.com/mckamey/zepto-wrapper/blob/master/src/unsupported.js#files). It should be easy to find.

Custom Modules
--------------

If you want a different set of build modules than the default Zepto builds, just edit the `MODULES` varible in [`build.sh`](https://github.com/mckamey/zepto-wrapper/blob/master/build.sh#files). For example, I prefer to remove `detect` and `fx`.

By default these are the included modules:

- [**intro**](https://github.com/mckamey/zepto-wrapper/blob/master/build.sh#files) - start of the wrapper
- [**unsupported**](https://github.com/mckamey/zepto-wrapper/blob/master/src/unsupported.js#files) - supported test and jQuery lazy loader
- [**zepto**](https://github.com/madrobby/zepto)
- [**event**](https://github.com/madrobby/zepto)
- [**detect**](https://github.com/madrobby/zepto)
- [**fx**](https://github.com/madrobby/zepto)
- [**ajax**](https://github.com/madrobby/zepto)
- [**form**](https://github.com/madrobby/zepto)
- [**outro**](https://github.com/mckamey/zepto-wrapper/blob/master/build.sh#files) - end of the wrapper

Minification
------------

I prefer to use minification / obfuscation mechanisms, so I don't bother to keep my variables short or hang onto `zepto.min.js`.
If you subscribe to idiomatic Zepto formatting, you probably won't like my work.
Feel free to tweak to your needs, just don't expect me to accept a pull request to remove semicolons, etc.

License
-------

Zepto-wrapper is licensed under the terms of the MIT License.

repository: mckamey/zepto-wrapper

repo_name: mckamey/zepto-wrapper


text:
# Hype BlendModes

![43%402x|690x513](https://forums.tumult.com/uploads/db2156/optimized/3X/7/0/70bec569dd389d074f3b2efbbc3b907cbe5836ad_2_1380x1026.png)

This is a full extension offering blendmodes. You can assign them by using the attribute `data-blendmode` (assigning MODENAME) or by class `blendmode-MODENAME`.

*MODENAME* are color, color-burn, color-dodge, darken, difference, exclusion, hard-light, hue, lighten, luminosity, multiply, overlay, saturation, screen, soft-light.

**Demo:**\
[HypeBlendModes.html](https://playground.maxziebell.de/Hype/BlendModes/HypeBlendModes.html)

**Version history**\
`1.0  Initial release under MIT-license`\
`1.2 Converted into full IDE plugin`\
`1.3 Fixed IDE support, added dataset variation`

<small>PS: there is an [older version](https://forums.tumult.com/t/hypeblendmodeenabler-1-1-with-thumbnail-preview-in-ide/12637) of this project using an symbol but this take is much more versatile, in my opinion.</small>

Content Delivery Network (CDN)
--
Latest version can be linked into your project using the following in the head section of your project:
```html
<script src="https://cdn.jsdelivr.net/gh/worldoptimizer/HypeBlendModes/HypeBlendModes.min.js"></script>
```

Optionally you can also link a SRI version or specific releases.
Read more about that on the JsDelivr (CDN) page for this extension at https://www.jsdelivr.com/package/gh/worldoptimizer/HypeBlendModes

Learn how to use the latest extension version and how to combine extensions into one file at
https://github.com/worldoptimizer/HypeCookBook/wiki/Including-external-files-and-Hype-extensions

repository: worldoptimizer/HypeBlendModes

repo_name: worldoptimizer/HypeBlendModes


text:
# DemoGram

### Description:

Full-featured Instagram client built with SproutCore 2.0 and the Browser Package Manager (BPM) tools.

A simplified client can be found at: http://github.com/luissala/demogram-basic

### Features / Problems:
Touch gesture support on iOS.

* Tap an image to view details.
* Pinch and pan to zoon on the image in the details view.

### Requirements:

BPM - http://getbpm.org or http://sproutcutter.heroku.com

	$ gem install bpm

Strobe - http://home.strobeapp.com

    $ gem install strobe

### Configure:

Obtain a Client ID from http://instagram.com/developer then copy lib/config.sample.js to config.js and edit config.js to insert your Client ID.

	CONFIG.INSTAGRAM_CLIENT_ID="CLIENT ID GOES HERE"

### Run:
This app makes use of the Strobe proxy and Strobe Social Addon.

From your project directory run:

	$ strobe preview

Open http://localhost:9292 in your browser.

repository: LuisSala/demogram

repo_name: LuisSala/demogram


text:
---
description: Learn how to manage users in a role-based access control (RBAC) system using the Auth0 Management Dashboard. For use with Auth0's API Authorization Core feature set.
topics:
  - authorization
  - dashboard
  - rbac
  - users
  - user-profile
  - permissions
  - roles
contentType:
    - how-to
useCase:
  - build-an-app
  - call-api
  - secure-api
---
# Manage Role-Based Access Control Users

This guide will show you how to manage users in a [role-based access control (RBAC)](/authorization/concepts/rbac) system using Auth0's Dashboard.

<%= include('../_includes/_enable-authz-core') %>

We provide various functions to help you manage your users, which you can access through either the Auth0 Dashboard or the Auth0 Management API.

Using the Dashboard, you can:
- [Assign roles to users](/authorization/guides/dashboard/assign-roles-users)
- [View roles assigned to users](/authorization/guides/dashboard/view-user-roles)
- [Remove roles assigned to users](/authorization/guides/dashboard/remove-user-roles)
- [Assign permissions to users](/authorization/guides/dashboard/assign-permissions-users)
- [View permissions assigned to users](/authorization/guides/dashboard/view-user-permissions)
- [Remove permissions assigned to users](/authorization/guides/dashboard/remove-user-permissions)

Using the Management API, you can:
- [Assign roles to users](/authorization/guides/api/assign-roles-users)
- [View roles assigned to users](/authorization/guides/api/view-user-roles)
- [Remove roles assigned to users](/authorization/guides/api/remove-user-roles)
- [Assign permissions to users](/authorization/guides/api/assign-permissions-users)
- [View permissions assigned to users](/authorization/guides/api/view-user-permissions)
- [Remove permissions assigned to users](/authorization/guides/api/remove-user-permissions)

## Keep reading

- [Role-Based Access Control (RBAC)](/authorization/concepts/rbac)
- [Create Roles](/authorization/guides/dashboard/create-roles)
- [Register APIs with Auth0](/architecture-scenarios/mobile-api/part-2#create-the-api)
- [Define Permissions for APIs](/scopes/current/guides/define-api-scopes-dashboard)
- [Troubleshooting: Role-Based Access Control and Authorization](/authorization/concepts/troubleshooting)

repository: adamlaska/docs

repo_name: adamlaska/docs


text:
# Simple Todo App with MongoDB, Express.js and Node.js
The ToDo app uses the following technologies and javascript libraries:
* MongoDB
* Express.js
* Node.js
* express-handlebars
* method-override
* connect-flash
* express-session
* mongoose
* bcryptjs
* passport

## What is this?
A simple todo app. Based on the tutorial session of Brad Traversy.

## What are the features?
You can register with your email address, and you can create ToDo items. You can list ToDos, edit and delete them.

## What are Future Plans for this Project?
* Enhancing with ToDo item statuses such as new, in progress, completed, blocked
* Sharing ToDo items with other users
* Commenting ToDo items
* Storing and managing history of ToDo items

###### This project is licensed under the MIT Open Source License

repository: sarfraja/ToDo-List

repo_name: sarfraja/ToDo-List


text:
# Reflections

## Description of the Model

The model consists of a state vector that consists of 6 elements, these are:

* x (vehicle x position)
* y (vehicle y position)
* psi (vehicle heading)
* v (vehicle velocity)
* cte (cross track error)
* epsi (heading error)

We have control over this system with two inputs :

* delta (steering)
* a (throttle)

The motion model of the system is described with the following equations:

    x   [t + 1] = x[t] + v[t] * cos(psi[t]) * dt;
    y   [t + 1] = y[t] + v[t] * sin(psi[t]) * dt;
    psi [t + 1] = psi[t] + v[t]/LF*psi[t] * delta[t] *dt;
    v   [t + 1] = v[t] + a[t] * dt;
    cte [t + 1] = f(x[t]) - y[t] + v[t] * sin(epsi[t]) * dt;
    epsi[t + 1] = psi[t] - psi_dest[t] + v[t]/Lf *delta[t] *dt;

Where f(x[t]) is the polynomial fitted to the waypoints evaluated at 'x[t]'.

Tho adjust the system I tuned the cost function and added weights. I also modified the cross track error component so as to increase weight for the future errors, because I thought would give a better result.

In addition, I saw large throttle and steering values decreased the stability. So I heavily penalized the use of large steering values and changes in both steering and throttle values.

Cost function formulation is as follows.

	  // Initial element is the cost function
	  fg[0] = 0;

	  for (int t = 0; t<N; t++)
	  {
		  // Penalize Cross track error and psi error
		  // penalize future cte more than the current.
		  fg[0] += 10*t*CppAD::pow(vars[cte_start + t],2);
		  fg[0] += 1000*CppAD::pow(vars[epsi_start + t],2);
		  // Penalize speed error
		  fg[0] += 10*CppAD::pow(vars[v_start + t]-ref_v,2);
	  }

	  for (int t = 0; t<N-1; t++)
	  {
		  // Penalize over use of throttle and steering
		  fg[0] += 60000*CppAD::pow(vars[delta_start + t],2);
		  fg[0] += 20*CppAD::pow(vars[a_start + t],2);
	  }

	  for (int t = 0; t<N-2; t++)
	  {
		  // Penalize sharp movements
		  fg[0] += 100 * CppAD::pow(vars[delta_start + t] - vars[delta_start + t + 1],2);
		  fg[0] += 50*CppAD::pow(vars[a_start + t] - vars[a_start + t + 1],2);
	  }

## Timestamp Length and Duration

For timestamp length I chose 10 elements, separated with 0.5 seconds. This forsees far enough into future to be useful but not too far to slow down the computations.

## Polynomial Fitting and Waypoint Preprocessing

Before polynomial fitting I translated the waypoints to vehicle coordinates. Which will be useful for projecting into future as will be described in the next heading.

After that, I fit a polynomial of 2nd order to the converted waypoints using `folyfit()` function.

## Dealing with Latency

In order to deal with latency I projected the vehicle x, y coordinates 100 miliseconds into the future and and then converted the waypoints to the future coordinates where the actuation will begin.

I projected only x, and y points into the future. I also experimented with projecting the psi value into the future but I did not get better results, so I decided not to project this value. I never projected velocity at the moment. However projecting the velocity might increase the performance.

## Simulation - Result
Here is a result of the MPC simulation doing two complete laps around the track that I recorded on my system:
[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/IOvOYyKB6b4/0.jpg)](https://youtu.be/IOvOYyKB6b4)
(Clicking on the image will take you to the youtube video.)

Please note that, I optimized the system for my own cpu. If you have a more recent cpu you might get different results due to cpu time constraint of the optimizer. You might need to reduce the cpu time of the optimizer to get a similar result.


text:
# Virtual Card Numbers

With the experimental Virtual Card Numbers API, you can simulate creating virtual credit card numbers for your customers who have a Capital One card. It helps merchants reduce friction associated with web and mobile shopping by eliminating declined payment transactions resulting from card reissuance. Use this link to access the Virtual Card Numbers documentation

**https://developer.capitalone.com/api-products/virtual-card-numbers**


text:
# Neighbourhood Watch

Project Name: Neighborhood Watch

Developer: Elizabeth Ichang'a

## Description
Website that allows users living in the same neighborhood communicate and share stories and experiences they have had.

## Setup and Installation
Clone project repository

Install virtual environment

Install pip

Open requirements.txt file to your project

Install all the packages in there

## Requirements
Browser

Good internet connection

## Technologies Used
DJANGO(PYTHON)

BOOTSTRAP

HTML

CSS

## Link to deployed site
https://hood34.herokuapp.com/

## Licence and copyright
This project is licensed under the MIT License

© Elizabeth Ichang'a | Credits Moringa School

repository: leezichanga/NeighbourhoodWatch

repo_name: leezichanga/NeighbourhoodWatch


text:
# Baked Mac and Cheese

## Ingredients

- 8 oz elbow macaroni
- 1 tbsp cornstarch
- 1 tsp salt
- ½ tsp dry mustard
- ¼ tsp black pepper
- 3 cups milk
- 2 tbsp butter
- 8 oz cheddar cheese, shredded

## Directions

Preheat oven to 375° F. Cook pasta 6 minutes and drain. Combine cornstarch,
salt, mustard, pepper in a sauce pan. Whisk in milk slowly, until smooth. Add
butter. Bring to a boil and boil for 1 minute. Remove from heat. Stir in 6 oz
of cheddar cheese. Stir in pasta. Pur into a 13x9 baking pan. Sprinkle top
with remaining 2 oz of cheese. Bake 25 minutes.

path: /recipes/Baked Mac and Cheese.md

filename: Baked Mac and Cheese.md

gha_language: Ruby


text:
# Large-scale image classification networks

Collection of large-scale image classification models on TensorFlow, pretrained on the ImageNet-1k dataset.

## Installation

To install, use:
```
pip install tensorflowcv tensorflow-gpu>=1.11.0
```
To enable/disable different hardware supports, check out TensorFlow installation [instructions](https://www.tensorflow.org/).

Note that the models use NCHW data format. The current version of TensorFlow cannot work with them on CPU.

## Usage

Example of using the pretrained ResNet-18 model:
```
from tensorflowcv.model_provider import get_model as tfcv_get_model
from tensorflowcv.model_provider import init_variables_from_state_dict as tfcv_init_variables_from_state_dict
import tensorflow as tf
net = tfcv_get_model("resnet18", pretrained=True)
x = tf.placeholder(dtype=tf.float32, shape=(None, 3, 224, 224), name='xx')
y_net = net(x)
with tf.Session() as sess:
    tfcv_init_variables_from_state_dict(sess=sess, state_dict=net.state_dict)
```

repository: earhian/imgclsmob

repo_name: earhian/imgclsmob