text:
# InteractiveBookcase
Implemented by JavaScript & CSS3 3D Transform, featured with 3 demostration ways: spiral, linear, and ebook.
Created in 2014

![img](https://github.com/nizniz187/InteractiveBookcase/blob/master/demo.png)

---

### Techniques
HTML、JavaScript、CSS3 3D Transform

### Supported Browsers
Chrome

### How to Use
Drag to rotate/shift the bookcase.
Double-click to enter/exit each mode.
(Only the first few books contain pages to demo for now.)

### Online Demo
https://nizniz187.github.io/InteractiveBookcase/


text:
# Learn to CRUD with GET, POST and DELETE using RESTCONF

## "Gitting" the Code
All of the code and examples for this lesson is located in the `netprog_basics/network_device_apis/restconf` directory.  Clone and access it with the following commands:

```bash
git clone https://github.com/CiscoDevNet/netprog_basics
cd netprog_basics/network_device_apis/restconf
```

## Local Workstation Setup
Be sure to complete the [General Workstation Setup](https://github.com/CiscoDevNet/netprog_basics/blob/master/readme_resources/workstation_setup.md) instructions before beginning this lesson.

### Postman Setup
During this lesson the Postman client for making REST API calls is used.  For convenience we have included a `postman_collection.json` file that contains all the REST API calls leveraged in the different lessons, and `postman_environment.json` files for each of the DevNet Sandboxes leveraged across the lessons.  These files are all located in the [postman_config](https://github.com/CiscoDevNet/netprog_basics/tree/master/postman_config) directory in the code repository.

To leverage them, simply `Import` them into your Postman client.

1. Collections: Use the **Import** button in the upper left corner of the client.
2. Environments: Use the **Import** button from the `Manage Environments` interface of the client.

> Reminder: Many network devices leverage self-signed certificates for `https://` APIs.  Don't forget to turn **OFF** SSL certificate checking within Postman settings.

### Python Environment Setup
It is recommended that this lesson be completed using Python 3.8.  Other versions of Python 3 should also work.

> **Note about Python 2:** Python 2 was [sunset](https://www.python.org/doc/sunset-python-2/) by Python Software Foundation on January 1, 2020. This means that no more updates to Python 2 are being worked on, including security updates.  Python 3 is now the recommended version of Python for everyone to use. Most Python developers of software, packages, and scripts have migrated to Python 3 already, however you may find some older scripts and tools that are no longer maintained that only work with Python 2.
>
> You may see/hear references to Python 2 within the videos in this course from before January 2020, however all examples scripts and demos available in the GitHub repo to run have been updated to leverage Python 3.

It is highly recommended to leverage Python Virtual Environments for completing exercises in this course.

*There is no need to create independent venv for each lesson, but you can if you choose.*

Follow these steps to create and activate a venv.

***Note: If you are leveraging a shared venv across all lessons simply activate it.***

```bash
# OS X or Linux
python3 -m venv venv
source venv/bin/activate
```

```bash
# Windows
python -m venv venv
venv/Scripts/activate
```

#### Install Python Requirements for Lesson
With the Virtual Environment activated, use pip to install the necessary requirements.

```bash
# From the code directory for this lesson
pip install -r requirements.txt
```

## DevNet Sandbox
This lesson leverages the [IOS XE on CSR Recommended Code AlwaysOn](https://devnetsandbox.cisco.com/RM/Diagram/Index/27d9747a-db48-4565-8d44-df318fce37ad?diagramType=Topology) Sandbox.  This sandbox requires no reservation **or** VPN connection.

***Note: In the video, a different DevNet Sandbox is used***

Use host address of `sandbox-iosxe-recomm-1.cisco.com` and port `443` for all RESTCONF API connections rather than the address of `<IP_ADDRESS>` that is used in the videos. Log onto the devnetsandbox.cisco.com site to get the latest connection information including credentials.

## Download Slides

You can download the slides for this lesson [here](https://developer.cisco.com/fileMedia/download/1f4bd879-b892-3b8a-bbe8-3279d7c13c55).

> *Suggestion: Right click, "Open in new tab"*

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: Python

gha_license_id: MIT

license_type: permissive


text:
# Widget Loader

This is a skeleton for creating an embedded Javascript widget using
RequireJS, grunt and tightly controlled namespacing.

The idea is that this repository is for building the loader file - but
as a start, an example app is included as well.

# Getting started

```bash
$ npm install
$ grunt
$ grunt browser
```

This will start a web server in CWD and point your browser to it.  To
use this with your own widget - just copy the skeleton code. This
includes:

- `Gruntfile.js` - a very normal grunt file for a RequireJS project
- `vendor/` - monkeypatched AMD versions of `jQuery`, `underscore` and
`backbone`. Note that shim doesn't do since it will sitll expose global
variables.
- `app/js/app.js` - bootstrap file, you prolly want to leave
this pretty much untouched.
- `app/js/widget.js` - this is where your own code comes in.

Once built and minified - this software will expose only **one** variable in
the global namespace. The name of this can be set in `js/config.js`.
Note that the name must correspond to the one in your app.

# What's so good about it?
You have a fully namespaced RequireJS environment. Note how even
`define` and `require` reside under a global of your choice, by default
it's `WidgetGlobal`. All AMD modules will be loaded under this namespace
as well.

```javascript
define(['underscore', 'jquery'], function(_, $) {

  var Widget = function(params) {
    // Do magic
  };

  _.extend(Widget.prototype, {
    magic: function() {
      return 42;
    }
  };

  return Widget;
});
```

Our motivation for this hunt for globals and obsession with
self-containment is that the Shootitlive player is embedded on many
large newspapers, and we want to minimize the risk of interference.
This should be very important for anyone delivering Javascript to
someone else's site.

# Adding 3rd party libraries

Have a look in `vendor`. To make each library export only a
local variable, one has to perform various tricks.

```javascript
define('backbone', [ 'underscore', 'jquery' ], function(_, $) {

  var global = {
    _: _, $: $, jQuery: $
  };

  (function() {
    // Untouched Backbone source
  }).call(global);

  return global.Backbone;

});
```

The approach differs somewhat for each library - but most sane libraries
have their exports at the top or bottom of the source, and shouldn't be
too hard to figure out. Also there's a module for listing added globals
in `app/js/list_globals.js`.

# TODO
- Try to find a generic and automated way of wrapping libraries
- Make it easier to use this repository as a module, so one can pull
upgrades without manual copying.
- Convert `loader` to Grunt 0.4

# Authors
- [Emil Stenqvist](http://github.com/emilisto) at [Shootitlive AB](http://shootitlive.com)

# Licensing
This software is released under the [MIT license](http://mit-license.org).

repository: Morgantheplant/widget

repo_name: Morgantheplant/widget


text:
# homebrew-fusionauth
macOS [Homebrew](https://brew.sh/) tap for FusionAuth

Easy installation of FusionAuth via Homebrew.

Simply install and start the services. Then navigate to http://localhost:9011 and follow the setup prompts.

The following examples assume you will be installing both `fusionauth-app` and `fusionauth-search`.
If you have access to another instance of Elasticsearch that meets the minimum requirement, you may omit the `fusionauth-search` service.

## Install

```bash
brew tap fusionauth/fusionauth
brew install fusionauth-app fusionauth-search
```

## Start

```bash
brew services start fusionauth-search
brew services start fusionauth-app
```

## Upgrade

```bash
brew upgrade fusionauth-app
brew upgrade fusionauth-search
```

## Config

Logs: `/usr/local/var/log/fusionauth/`
Config file: `/usr/local/etc/fusionauth/fusionauth.properties`

## Release

Using Savant
```bash
sb publish
```

Without using Savant
```bash
./publish.sh <version>
```

repository: FusionAuth/homebrew-fusionauth

gha_language: Ruby

repo_name: FusionAuth/homebrew-fusionauth


text:
# server-planning (PHP)

This package provides you an easy-to-use vServer calculator which calculates how many bare-metal servers it would need to fit the vServer expectations.

### Requirements

- \>= PHP 7.0

### Install

> At the time of writing, I don't published it to packagist, but I have planned to do it.

You can use composer to use this library in your project.
```bash
composer require isikemre/server-planner
```

### How to use it?

It's very simple. You just need only one method.
Here is an example how you could use the server-planner.

```php
$yourBareMetalServer = new BareMetalServer(8, 32, 1000); //CPU, RAM, HDD
$virtualMachines = [
    new VServer(4, 16, 100),
    new VServer(2, 8, 100),
    new VServer(8, 32, 300)
];

$serverCount = ServerPlanning::calculate($resources, $virtualMachines); // the amount of how many bare metal servers you gonna need.
echo $serverCount; // or use it anywhere :)
```

### License

This library is open-source and licensed under the Apache License 2.0.

repository: isikemre/server-planning

repo_name: isikemre/server-planning


text:
# Phower Escaper

A PHP class which offers a way to escape output and defend from XSS and related vulnerabilities by introducing HTML, CSS and Javascript escaping context.

**Phower\Escaper** is inspired in [Zend's escaper component](https://github.com/zendframework/zend-escaper)
and both attempt to minimize the risks from the second most important [OWASP web security risk](https://www.owasp.org/index.php/Top_10_2010-Main).

## Instalation

This package uses [Composer](https://getcomposer.org/) tool for auto-loading and dependency management.
From your project root folder just run:

    composer require phower/escaper

## Usage

Simply instantiate your object as usual:

    ``` php
    use Phower\Escaper;

    $escaper = new Escaper();
    ```

Class constructor supports a argument which allows to specify a given encoding format.
E.g you can escape code from `iso-8859-1` using:

    ``` php
    use Phower\Escaper;

    $escaper = new Escaper('iso-8859-1');
    ```

This package is meant to be used for code output escaping only.
Looking the implemented interface there are five methods available for that:

*   **escapeHtml**: escape a string for the HTML Body context.
*   **escapeHtmlAttr**: escape a string for the HTML Attribute context.
*   **escapeJs**: escape a string for the Javascript context.
*   **escapeCss**: escape a string for the CSS context.
*   **escapeUrl**: escape a string for the URI or Parameter contexts.

repository: phower/escaper

repo_name: phower/escaper


text:
---
title: Touch Hold Directive
desc: Vue directive which triggers an event when the user touches and holds on a component or element for a specified amount of time.
keys: touch-hold
examples: TouchHold
related:
  - /vue-directives/touch-swipe
  - /vue-directives/touch-repeat
  - /vue-directives/touch-pan
---
Quasar offers full-featured Vue directives that can totally replace libraries like Hammerjs: `v-touch-pan`, `v-touch-swipe`, `v-touch-hold` and even `v-touch-repeat`.

> **These directives also work with mouse events, not only touch events**, so you are able to build cool functionality for your App on desktops too.

We will be describing `v-touch-hold` directive on the lines below.

<doc-api file="TouchHold" />

## Usage

<doc-example title="Basic" file="Basic" />

The default wait time is 600ms, but you can change it:

<doc-example title="Custom wait time" file="CustomTimer" />

::: tip
TouchHold also has a default sensitivity of 5px for touch events and 7px for mouse events, which means that it allows a slight movement of the finger or mouse without aborting, improving the user experience.
:::

However, you can change this sensitivity too (notice the directive argument below - `600:12:15` - 600ms wait time, 12px sensitivity for touch events, 15px sensitivity for mouse events):

<doc-example title="Custom sensitivity" file="CustomSensitivity" />

### Handling Mouse Events
When you want to also handle mouse events too, use the `mouse` modifier:

```html
<div v-touch-hold.mouse="userHasHold">...</div>
```

### Inhibiting TouchHold
When you want to inhibit TouchHold, you can do so by stopping propagation of the `touchstart` / `mousedown` events from the inner content:

```html
<div v-touch-hold.mouse="userHasHold">
  <!-- ...content -->
  <div @touchstart.stop @mousedown.stop>
    <!--
      TouchHold will not apply here because
      we are calling stopPropagation() on touchstart
      and mousedown events
    -->
  </div>
  <!-- ...content -->
</div>
```

However, if you are using `capture` or `mouseCapture` modifiers then events will first reach the TouchHold directive then the inner content, so TouchHold will still trigger.

## Note on HMR
Due to performance reasons, not all of the modifiers are reactive. Some require a window/page/component refresh to get updated. Please check the API card for the modifiers which are not marked as reactive.

repository: quasarframework/quasar

branch_name: refs/heads/dev

gha_language: JavaScript

repo_name: quasarframework/quasar


text:
# Bloc Jams

![Node Install](../master/screenshots/album.png)

Bloc Jams is a digital music player like [Spotify](https://www.spotify.com/us/). This is a  single-page application built on AngularJS framework.

## Pull Down the Code

Start by cloning the repository:

```
$ git clone https://github.com/duyhong/bloc-jams-angular.git <your-project-name>
```

## Reset Git

This will be your personal application. So all of the past commit history that I used to build this  app aren't needed. Also you will want to be able to push/pull code from your personal remote (Github) repository and NOT my remote (Github) repository.

Remove the existing local Git repository:

```
$ rm -r -f .git
```

## Configuration

The project uses Node to run a JS server in development. This will be important when we want to use urls /album or /collection instead of the basic album.html or collection.html.

### Install Node and NPM

NodeJS and NPM are installed together by [downloading an installer from the Node website](https://nodejs.org/). The install button should automatically detect your operating system, but if it doesn't, you can choose the proper version from the [downloads page](https://nodejs.org/download/).

![Node Install](../master/screenshots/node-install-button.png)

Install the project dependencies by running:

```
$ npm install
```

## Run the Application

Run the application server:

```
$ npm start
```

## Usage

Once the dependencies are installed, you can run npm start to start the application. You will then be able to access it at localhost:3000

![Bloc Jams](../master/screenshots/bloc_jams_angular.PNG)

The server will start up. To stop the server, press `cntrl + c`.

## Directory Structure

```
├── LICENSE
├── README.md
├── app
│   ├── assets
│   │   └── images
│   │       └── bloc-logo-white.png
│   ├── pages
│   │   └── index.html
│   ├── scripts
│   │   └── app.js
│   ├── styles
│   │   └── style.css
│   └── templates
│       └── home.html
├── package.json
└── server.js
```

repository: duyhong/bloc-jams-angular

repo_name: duyhong/bloc-jams-angular


text:
--------------------------------------------------------------------------------

## Treebank Statistics (UD_Arabic)

There are 3 `SYM` lemmas (0%), 3 `SYM` types (0%) and 343 `SYM` tokens (0%).
Out of 16 observed tags, the rank of `SYM` is: 16 in number of lemmas, 16 in number of types and 14 in number of tokens.

The 10 most frequent `SYM` lemmas: %، +، /

The 10 most frequent `SYM` types:  %، +، /

The 10 most frequent ambiguous lemmas: / ([PUNCT]() 699, [SYM]() 13)

The 10 most frequent ambiguous types:  / ([PUNCT]() 699, [SYM]() 13)

* /
  * [PUNCT]() 699: و يتوقع ان يعود الى الولايات المتحدة في 25 تموز / يوليو .
  * [SYM]() 13: عبر الجانب الصينى صباح اليوم الخميس عن ترحيب ه و تأييد ه ل الإعلان عن / / خريطة الطريق / / ل السلام فى الشرق الاوسط .

## Morphology

The form / lemma ratio of `SYM` is 1.000000 (the average of all parts of speech is 1.677757).

The 1st highest number of forms (1) was observed with the lemma “%”: %.

The 2nd highest number of forms (1) was observed with the lemma “+”: +.

The 3rd highest number of forms (1) was observed with the lemma “/”: /.

`SYM` does not occur with any features.

## Relations

`SYM` nodes are attached to their parents using 2 different relations: [ar-dep/nmod]() (301; 88% instances), [ar-dep/cc]() (42; 12% instances)

Parents of `SYM` nodes belong to 3 different parts of speech: [NUM]() (307; 90% instances), [X]() (25; 7% instances), [NOUN]() (11; 3% instances)

341 (99%) `SYM` nodes are leaves.

2 (1%) `SYM` nodes have one child.

The highest child degree of a `SYM` node is 1.

Children of `SYM` nodes are attached using 2 different relations: [ar-dep/ccomp]() (1; 50% instances), [ar-dep/nmod]() (1; 50% instances)

Children of `SYM` nodes belong to 2 different parts of speech: [NOUN]() (1; 50% instances), [VERB]() (1; 50% instances)

repository: PhyloStar/UDTelugu

repo_name: PhyloStar/UDTelugu


text:
---
category: Virtual Assistant
subcategory: Handbook
title: Manage cognitive models across environments
description: When trying to develop language models in a distributed team, managing conflicts can be difficult. Refer to the following guidance for some common scenarios when managing cognitive models for a team.

order: 7
toc: true
---

# {{ page.title }}
{:.no_toc}
{{ page.description }}

## I want to protect my production environment against conflicting changes made by multiple editors.
{:.no_toc}

It is recommended that for project being worked on by multiple developers that you protect your production cognitive models by only deploying changes through a build pipeline. This pipeline should run the various scripts/commands needed to update your LUIS models, QnA Maker knowledgebases, and Dispatch model automatically based on your source control. Individual developers should make their changes in their own versions of the models, and push their changes in to source control when they are ready to merge.

![]({{site.baseurl}}/assets/images/model_management_flow.png)

## I want to test changes to my LUIS models and QnA Maker knowledgebases in the portal.
{:.no_toc}

When you want to test changes to your LUIS models and QnA Maker knowledgebases in the portal, it is recommended that you deploy your own personal versions to develop with, and do not make changes directly in the production apps to prevent conflicts with the other developers. After you have made all the changes you want in the portal, follow these steps to share your changes with your team:

1. Run the following command from your project folder:

    ```
    .\Deployment\Scripts\update_cognitive_models.ps1 -RemoteToLocal
    ```

    > This script downloads your modified LUIS models in the `.lu` schema so it can be published to production by your build pipeline. If you are running this script from a Virtual Assistant project, it also runs [`dispatch refresh`](https://www.npmjs.com/package/botdispatch#refreshing-your-dispatch-model) and [`bf luis:generate:cs`](https://www.npmjs.com/package/@microsoft/botframework-cli#bf-luisgeneratecs) to update your Dispatch model and DispatchLuis.cs files.

1. Check in your updated `.lu` files to source control.
    > Your changes should go through a peer review to validate there will be no conflicts. You can also share your LUIS app and/or transcripts of the bot conversation with your changes to help in this conversation.

1. Run your build pipeline to deploy your updated files to your production environment.
    > This pipeline should update your LUIS models, QnA Maker knowledgebases, and Dispatch model as needed.

## I've changed my skill LUIS model. What's next?
{:.no_toc}

If you have added or removed an intent from your skill LUIS model, follow these steps to update your skill manifest:

1. Open the `manifest-1.1.json` file of your skill.
1. If you have added new intents, either add them to an existing `intents` or add a new action for the intent like this:

    ```json
    "intents": {
      "AddToDo": "#/activities/message",
      "ShowToDo": "#/activities/message",
      "MarkToDo": "#/activities/message",
      "DeleteToDo": "#/activities/message",
      "*": "#/activities/message"
    }
    ```

1. Once you have updated your manifest, run the following command from your project directory to update any Virtual Assistants that are using your skill:

    ```node
    botskills update --remoteManifest "http://<YOUR_SKILL_NAME>.azurewebsites.net/manifest/manifest-1.1.json" --cs --luisFolder "<PATH_TO_LU_FOLDER>"
    ```

    > This command updates the `botFrameworkSkills` property of your Virtual Assistant's `appsettings.json` file with the latest manifest definitions for each connected skill, and runs `dispatch refresh` to update your dispatch model.

repository: microsoft/botframework-solutions

gha_language: TypeScript

repo_name: microsoft/botframework-solutions


text:
# TODO

## Mechanics

- [ ] main character
  - [x] movement
  - [x] ghost light attack
  - [ ] violin attack
  - [x] death
  - [ ] perks on death after killing 7
- [ ] minions
  - [x] follow player
  - [ ] attacks
  - [ ] special attack
- [ ] fairy
  - [ ] summon minions
  - [x] follow player
  - [ ] taunt
- [ ] slot machine
  - [ ] teleport
  - [ ] mini game

## Art

- [ ] main character - ghost (+4 frames)
  - [x] shoot ghostly fire beam
  - [ ] violin bow attack
  - [ ] unlocks types of attacks
  - [x] idle/movement
- [ ] fairy (+4 per anim)
  - [x] movement
  - [x] idle
  - [x] casting
  - [ ] summoning
  - [x] taunting
- [ ] minions, designed after the prices
  - [ ] 7, one per environment (+4 per anim)
    - [ ] attacking
    - [ ] movement
    - [ ] idle
    - [ ] special
- [ ] slot machine
  - [ ] machine
  - [ ] close windows
  - [ ] spinning dial
    - [ ] 7 stills
    - [ ] we dont know how many inbetweens
- [ ] environment
  - [ ] ground (one per level)
  - [ ] background
  - [ ] rocks
  - [ ] grass
  - [ ] flower
  - [ ] tree
- [x] splash screen
- [ ] Game Start Cover
- [ ] Game End Cover

## Level order

- [X] Level 1 - Wrath
  - Lava
- [X] Level 2 - Lust
  - Molten
- [X] Level 3 - Greed
  - Ash
- [X] Level 4 - Sloth
  - Burned grass
- [ ] Level 5 - Envy
  - Grass
- [X] Level 6 - Gluttony
  - Grass + flowers
- [ ] Level 7 - Pride
  - Grass + flowers + trees

branch_name: refs/heads/main


text:
[![Build Status](https://travis-ci.org/bolt-project/bolt.svg?branch=master)](https://travis-ci.org/bolt-project/bolt)
[![Join the chat at https://gitter.im/bolt-project/bolt](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/bolt-project/bolt?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Bolt
----
Bolt provides a Python interface to local and distributed multi-dimensional arrays. Aims to optimize performance whether data are small, medium, or very, very large, all through a common and familiar ndarray interface. The core is 100% Python. Currently backed by NumPy (local) or Spark (distributed) and will expand to others in the future.

Read more at [bolt-project.org](http://bolt-project.org)

Try live notebooks at [try.bolt-project.org](http://try.bolt-project.org)

Requirements
------------
Bolt supports Python 2.7+ and Python 3.4+. The core library is 100% Python, the only primary requirement is numpy, and for Spark functionality it requires Spark 1.4+ which can be obtained [here](http://spark.apache.org/downloads.html).

Installation
------------
```
$ pip install bolt-python
```

repository: anirbanniara/bolt

repo_name: anirbanniara/bolt


text:
---
jupyter:
  jupytext:
    notebook_metadata_filter: all
    text_representation:
      extension: .md
      format_name: markdown
      format_version: '1.2'
      jupytext_version: 1.4.2
  kernelspec:
    display_name: Python 3
    language: python
    name: python3
  language_info:
    codemirror_mode:
      name: ipython
      version: 3
    file_extension: .py
    mimetype: text/x-python
    name: python
    nbconvert_exporter: python
    pygments_lexer: ipython3
    version: 3.7.7
  plotly:
    description: How to make scatter plots on maps in Python. Scatter plots on maps
      highlight geographic areas and can be colored by value.
    display_as: maps
    language: python
    layout: base
    name: Scatter Plots on Maps
    order: 11
    page_type: u-guide
    permalink: python/scatter-plots-on-maps/
    thumbnail: thumbnail/scatter-plot-on-maps.jpg
---

#### Base Map Configuration

Plotly figures made with [Plotly Express](/python/plotly-express/) `px.scatter_geo`, `px.line_geo` or `px.choropleth` functions or containing `go.Choropleth` or `go.Scattergeo` [graph objects](/python/graph-objects/) have a `go.layout.Geo` object which can be used to [control the appearance of the base map](/python/map-configuration/) onto which data is plotted.

### Geographical Scatter Plot with px.scatter_geo

Here we show the [Plotly Express](/python/plotly-express/) function `px.scatter_geo` for a geographical scatter plot. The `size` argument is used to set the size of markers from a given column of the DataFrame.

[Plotly Express](/python/plotly-express/) is the easy-to-use, high-level interface to Plotly, which [operates on a variety of types of data](/python/px-arguments/) and produces [easy-to-style figures](/python/styling-plotly-express/).

```python
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter_geo(df, locations="iso_alpha",
                     size="pop", # size of markers, "pop" is one of the columns of gapminder
                     )
fig.show()
```

#### Customize geographical scatter plot

```python
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter_geo(df, locations="iso_alpha",
                     color="continent", # which column to use to set the color of markers
                     hover_name="country", # column added to hover information
                     size="pop", # size of markers
                     projection="natural earth")
fig.show()
```

### Basic Example with GeoPandas

`px.scatter_geo` can work well with [GeoPandas](https://geopandas.org/) dataframes whose `geometry` is of type `Point`.

```python
import plotly.express as px
import geopandas as gpd

geo_df = gpd.read_file(gpd.datasets.get_path('naturalearth_cities'))

px.set_mapbox_access_token(open(".mapbox_token").read())
fig = px.scatter_geo(geo_df,
                    lat=geo_df.geometry.y,
                    lon=geo_df.geometry.x,
                    hover_name="name")
fig.show()
```

### U.S. Airports Map

Here we show how to use `go.Scattergeo` from `plotly.graph_objects`.

#### Simple U.S. Airports Map

```python
import plotly.graph_objects as go

import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_february_us_airport_traffic.csv')
df['text'] = df['airport'] + '' + df['city'] + ', ' + df['state'] + '' + 'Arrivals: ' + df['cnt'].astype(str)

fig = go.Figure(data=go.Scattergeo(
        lon = df['long'],
        lat = df['lat'],
        text = df['text'],
        mode = 'markers',
        marker_color = df['cnt'],
        ))

fig.update_layout(
        title = 'Most trafficked US airports<br>(Hover for airport names)',
        geo_scope='usa',
    )
fig.show()
```

#### Styled U.S. Airports Map

```python
import plotly.graph_objects as go

import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_february_us_airport_traffic.csv')
df['text'] = df['airport'] + '' + df['city'] + ', ' + df['state'] + '' + 'Arrivals: ' + df['cnt'].astype(str)

fig = go.Figure(data=go.Scattergeo(
        locationmode = 'USA-states',
        lon = df['long'],
        lat = df['lat'],
        text = df['text'],
        mode = 'markers',
        marker = dict(
            size = 8,
            opacity = 0.8,
            reversescale = True,
            autocolorscale = False,
            symbol = 'square',
            line = dict(
                width=1,
                color='rgba(102, 102, 102)'
            ),
            colorscale = 'Blues',
            cmin = 0,
            color = df['cnt'],
            cmax = df['cnt'].max(),
            colorbar_title="Incoming flights<br>February 2011"
        )))

fig.update_layout(
        title = 'Most trafficked US airports<br>(Hover for airport names)',
        geo = dict(
            scope='usa',
            projection_type='albers usa',
            showland = True,
            landcolor = "rgb(250, 250, 250)",
            subunitcolor = "rgb(217, 217, 217)",
            countrycolor = "rgb(217, 217, 217)",
            countrywidth = 0.5,
            subunitwidth = 0.5
        ),
    )
fig.show()
```

### North American Precipitation Map

```python
import plotly.graph_objects as go

import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv')

scl = [0,"rgb(150,0,90)"],[0.125,"rgb(0, 0, 200)"],[0.25,"rgb(0, 25, 255)"],\
[0.375,"rgb(0, 152, 255)"],[0.5,"rgb(44, 255, 150)"],[0.625,"rgb(151, 255, 0)"],\
[0.75,"rgb(255, 234, 0)"],[0.875,"rgb(255, 111, 0)"],[1,"rgb(255, 0, 0)"]

fig = go.Figure(data=go.Scattergeo(
    lat = df['Lat'],
    lon = df['Lon'],
    text = df['Globvalue'].astype(str) + ' inches',
    marker = dict(
        color = df['Globvalue'],
        colorscale = scl,
        reversescale = True,
        opacity = 0.7,
        size = 2,
        colorbar = dict(
            titleside = "right",
            outlinecolor = "rgba(68, 68, 68, 0)",
            ticks = "outside",
            showticksuffix = "last",
            dtick = 0.1
        )
    )
))

fig.update_layout(
    geo = dict(
        scope = 'north america',
        showland = True,
        landcolor = "rgb(212, 212, 212)",
        subunitcolor = "rgb(255, 255, 255)",
        countrycolor = "rgb(255, 255, 255)",
        showlakes = True,
        lakecolor = "rgb(255, 255, 255)",
        showsubunits = True,
        showcountries = True,
        resolution = 50,
        projection = dict(
            type = 'conic conformal',
            rotation_lon = -100
        ),
        lonaxis = dict(
            showgrid = True,
            gridwidth = 0.5,
            range= [ -140.0, -55.0 ],
            dtick = 5
        ),
        lataxis = dict (
            showgrid = True,
            gridwidth = 0.5,
            range= [ 20.0, 60.0 ],
            dtick = 5
        )
    ),
    title='US Precipitation 06-30-2015<br>Source: <a href="http://water.weather.gov/precip/">NOAA</a>',
)
fig.show()
```

#### Reference

See [function reference for `px.(scatter_geo)`](https://plotly.com/python-api-reference/generated/plotly.express.scatter_geo) or https://plotly.com/python/reference/scattergeo/ and https://plotly.com/python/reference/layout/geo/ for more information and chart attribute options!


text:
---
layout: post
title:  "Everything Is Awful and I’m Not Okay: questions to ask before giving up!"
date:   2016-12-16 01:43:39 -0600
tags: personal
---
The other day, this article on self care floated across my timeline. I took a look and it looks like a very useful tool for anyone struggling with depression.

**Everything Is Awful and I’m Not Okay: questions to ask before giving up** :

**Are you hydrated?**  If not, have a glass of water.

**Have you eaten in the past three hours?** If not, get some food — something with protein, not just simple carbs.  Perhaps some nuts or hummus?

**Have you showered in the past day?**  If not, take a shower right now.

**If daytime: are you dressed?**  If not, put on clean clothes that aren’t pajamas.  Give yourself permission to wear something special, whether it’s a funny t-shirt or a pretty dress.

**If nighttime: are you sleepy and fatigued but resisting going to sleep?**  Put on pajamas, make yourself cozy in bed with a teddy bear and the sound of falling rain, and close your eyes for fifteen minutes — no electronic screens allowed.  If you’re still awake after that, you can get up again; no pressure.

**Have you stretched your legs in the past day?**  If not, do so right now.  If you don’t have the spoons for a run or trip to the gym, just walk around the block, then keep walking as long as you please.

**Have you said something nice to someone in the past day?**  Do so, whether online or in person.  Make it genuine; wait until you see something really wonderful about someone, and tell them about it.

**Have you moved your body to music in the past day?**  If not, do so — jog for the length of an EDM song at your favorite BPM, or just dance around the room for the length of an upbeat song.

**Have you cuddled a living being in the past two days?**  If not, do so.  Don’t be afraid to ask for hugs from friends or friends’ pets.  Most of them will enjoy the cuddles too; you’re not imposing on them.

**Do you feel ineffective?**  Pause right now and get something small completed, whether it’s responding to an e-mail, loading up the dishwasher, or packing your gym bag for your next trip.  Good job!

**Do you feel unattractive?**    Your friends will remind you how great you look, and you’ll fight society’s restrictions on what beauty can look like.

**Do you feel paralyzed by indecision?**  Give yourself ten minutes to sit back and figure out a game plan for the day.  If a particular decision or problem is still being a roadblock, simply set it aside for now, and pick something else that seems doable.  Right now, the important part is to break through that stasis, even if it means doing something trivial.

**Have you seen a therapist in the past few days?**  If not, hang on until your next therapy visit and talk through things then.

**Have you been over-exerting yourself lately — physically, emotionally, socially, or intellectually?**  That can take a toll that lingers for days. Give yourself a break in that area, whether it’s physical rest, taking time alone, or relaxing with some silly entertainment.

**Have you changed any of your medications in the past couple of weeks, including skipped doses or a change in generic prescription brand?** That may be screwing with your head.  Give things a few days, then talk to your doctor if it doesn’t settle down.

**Have you waited a week?**  Sometimes our perception of life is skewed, and we can’t even tell that we’re not thinking clearly, and there’s no obvious external cause.  It happens.  Keep yourself going for a full week, whatever it takes, and see if you still feel the same way then.

You’ve made it this far, and you will make it through.  **You are stronger than you think.**

The author was kind enough to create a printable Google Doc that’s well-organized and can be found [here](http://drive.google.com/file/d/0B6A2F5ky9SELU0Zfd05YMEpyNUk/view). They also released it under Creative Commons, which is awesome.

extension: markdown


text:
# Finance
## [<- Back](../api.md)

# Get Current Period
Requires user performing request to be logged in
#### **Get** `/api/finance/current`

# Get Past Periods
Requires user performing request to be logged in
#### **Get** `/api/finance/past`

# Get Current Plan
Requires user performing request to be logged in
#### **Get** `/api/finance/plan`

# Insert transaction
Requires user performing request to be logged in
#### **POST** `/api/finance/log`
#### BODY
Key | Description | Required
--- | --- | ---
amount | amount of money | *
description | description for  transaction | *
dayOfWeek | dayOfWeek | *
date | date | *
isIncome | true if money in, false if money out | *

# Insert transaction
Requires user performing request to be logged in
#### **POST** `/api/finance/plan`
#### BODY
Key | Description | Required
--- | --- | ---
amount | amount of money | *
period | period for plan | *

# Start new period
Requires user performing request to be logged in
#### **POST** `/api/finance/period`

repository: Squomp/Spine-Express

repo_name: Squomp/Spine-Express


text:
# PSBG

PSBG is a PowerShell module for board game fans. The module provides commands to interact with
the [https://boardgamegeek.com](boardgamegeek.com) API.

## Current Status

This module is a work in progress. The following list shows what has been implemented already and what is
in progress:

* Get/list details for board games :heavy_check_mark:
* Return logged plays :heavy_check_mark:
* Log a new play :heavy_check_mark:
* Delete a logged play :heavy_check_mark:
* Search price information via [https://boardgameprices.co.uk](boardgameprices.co.uk) :rocket:
* Search price information via [https://boardgameprices.com](boardgameprices.com)
* Return full collection information
* Add/Remove items from collection
* Get version information for board games
* Get statistics for board games
* Get marketplace information for board games

Key

:heavy_check_mark: = Done

:rocket: = In Progress

repository: ryan-jan/PSBG

repo_name: ryan-jan/PSBG


text:
## FULL-FEATURED FRAMEWORK BASED ON ANGULAR

### What's included:

- Reusable UI Kit, customizable with hundreds of variables
- Flexibly configurable themes with **hot-reload**
- Theme bindings for 3rd party modules
- Authentication module with multiple providers
- Admin starter kit [ngx-admin](http://github.com/akveo/ngx-admin)
- Modular (dependencies available as npm modules)

### Documentation
Installation, customization and other useful articles: https://akveo.github.io/nebular

### Architecture

### Demo Application
Our beautiful [ngx-admin](https://github.com/akveo/ngx-admin) is built on top of Nebular.

### License
[MIT](LICENSE.txt) license.

### BrowserStack
This project runs its tests on multiple desktop and mobile browsers using [BrowserStack](http://www.browserstack.com).

### How can I support developers?
- Star our GitHub repo :star:
- Create pull requests, submit bugs, suggest new features or documentation updates :wrench:
- Follow us on [Twitter](https://twitter.com/akveo_inc) :feet:
- Like our page on [Facebook](https://www.facebook.com/akveo/) :thumbsup:

### Can I hire you guys?
Yes!  Visit [our homepage](http://akveo.com/) or simply leave us a message to [contact@akveo.com](mailto:contact@akveo.com). We will be happy to work with you!

### From Akveo
Made with :heart:  by [Akveo team](http://akveo.com/). Follow us on [Twitter](https://twitter.com/akveo_inc) to get the latest news first!
We're always happy to receive your feedback!

repository: kumar-d/nebular

repo_name: kumar-d/nebular


text:
[//]: # (NOTE: This Release template is for Admin-Use only. If you've reached this template in error, please select another template from the list.)

## Evergreen Releases - Prep Steps:

An `Evergreen` release process means we are _always_ releasing. We open a new release ticket as soon as we've completed the prior release. (It's therefore the final step in this checklist.)

## "Evergreen Prep" Checklist

- [x] Open this Issue
- [ ] Indicate the version to be released here in the issue's title and here: `vX.Y.Z`
    - If the release number changes (from minor to major or patch, for instance), update the version here and in the issue description.
- [ ] Provide the _planned_ release date: `yyyy-mm-dd`

### Release Readiness Checklist:

`Engineering` team, the Monday prior to the release:

1. [ ] Ensure all already-merged commits since the last release have changelog entries (excepting non-user-impacting commits, such as docs fixes).
2. [ ] Create a comment in this issue with pending-but-not-merged MRs potentially shipping.
    - Otherwise a comment that all known merge candidates are already merged.
3. [ ] Link issues to this issue which have already merged, or are expected to merge.

### Release Checklist

`Marketing` and `Product`, on the day prior to the release:

Leveraging the combination of linked issues

1. [ ] Review the changelog for [grokability](https://en.wikipedia.org/wiki/Grok), merging an update for clarity/readability/typos if needed.
2. [ ] Create summary readouts for any planned blog posts, optionally requesting clarification or additional exposition in the `#engineering-team` channel.

Rotating `assignee`, on the morning of the release:

1. [ ] Manual steps:
    1. [ ] Unlink any 'slipped' issues which are not being included in this release.
    2. [ ] Create a corresponding MR on a branch named `<issue>-release-vX-Y-Z` (the default name if your issue is titled correctly)
    3. [ ] The `release-vX.Y.Z` MR is ready when:
        1. [ ] Changelog includes all meaningful user-facing updates since the last release
            - [ ] Compare against `main` branch [commit history](https://gitlab.com/meltano/meltano/-/commits/main)
        2. [ ] Open the Changelog in preview mode, mouse over each link and ensure tooltip descriptions match the resolved issue. Check contributor profile links to make sure they are correct.
    4. [ ] Complete the [Version Bump Process](https://meltano.com/handbook/engineering/#meltano-version-bump-process) documented in the Meltano Engineering Handbook:
2. [ ] Automated [CD pipeline](https://gitlab.com/meltano/meltano/-/pipelines?scope=tags):
       - In response to new tag creation, these steps are performed automatically in Gitlab pipelines:
           - Abort if tag `vX.Y.Z` does not match output from `poetry version --short`
           - Publish to [PyPi](https://pypi.org/project/meltano/#history) and [Docker]
    4. [ ] Check this box when the CI pipeline status is **green** :white_check_mark:
    5. [ ] Merge the resulting MR to `main` with the merge commit message `Release vX.Y.Z`
3. [ ] Open the next `Release` issue, assign as appropriate, and provide that link here: `___`

### Announcements, Marketing, and Promotion

`Marketing` or `Product` team:

1. [ ] Post-release announcement steps:
    1. [ ] Post announcement to Meltano slack: `#announcements`
    3. Copy-paste to:
       - [ ] `Singer` slack: `#meltano`
       - [ ] `dbt` slack: `#tools-meltano`
    4. [ ] Blog post
    5. [ ] Tweet the blog post

----------------

/label ~Release ~"flow::Doing"

repository: GeneralCommission/meltano

repo_name: GeneralCommission/meltano


text:
# Listeners

> /resources/js/Listeners

The `Listeners` directory are auto-loaded classes which allow core event handlers to reside in a logical place.

This Http Listener is pre-configured for use by the `Http` service.

**Listener Source:**

[NotFound.js](https://raw.githubusercontent.com/bayareawebpro/laravel-micro-spa-boilerplate/master/resources/js/Listeners/Http/NotFound.js ':include :type=code')

gha_language: HTML


text:
# proxify-vercel

As long as Vercel (formerly Now) CLI does not support being run behind a proxy (see https://github.com/zeit/now/issues/255) you can do so with this small wrapper.

## Usage

Uninstall vercel!

```
npm r -g vercel
```

Install proxify-vercel:

```
npm i -g proxify-vercel
```

Set your http_proxy, https_proxy and no_proxy environment variables.

Start using Vercel (formerly Now) CLI with support for http_proxy, https_proxy and no_proxy:

```
vercel <any Vercel (formerly Now) CLI commands>
```

## How does it work?

proxify-vercel runs Vercel (formerly Now) CLI with ```global-agent``` preloaded. ```global-agent``` adds proxy support to any http agent running in the process.

## Credits

This is a fork of the [wrapper for Now that respects proxy environment variables](https://github.com/Horsed/proxify-now)  by Martin Knopf.

repository: jloewe/proxify-vercel

repo_name: jloewe/proxify-vercel


text:
# Zimbroski - the open-source zimbra backup and restore tool

## Description
Backup and restore zimbra users, passwords mailboxes, distribution lists.
This tool can be used also to migrate Zimbra from one server to another.
Run the script with backup argument '-b' on the source server, copy the backup folder on the target server and run the script with restore option '-r', everything will be configured as before.

## Installation

```
git clone https://github.com/aleksandarstojkovski/zimbroski
```

## Usage

```
Usage: ./zimbroski.sh [ -b <BACKUP_PATH> ] | [ -r <RESTORE_PATH> ]

      -b backup path, must exist, must be writable by zimbra user
      -r restore path, must exist, must be readable by zimbra user
```

### Backup Zimbra

`
./zimbroski.sh -b <BACKUP_PATH>
`

### Restore Zimbra

`
./zimbroski.sh -r <RESTORE_PATH>
`

## Test

The tool has been successfully tested on the following Zimbra versions:

```
8.8.X
8.7.X
8.6.X
8.5.X
```

## Donations

Donate: PayPal

repository: aleksandarstojkovski/zimbroski

repo_name: aleksandarstojkovski/zimbroski


text:
---
layout: post
title: How to evaluate a programmer?
date: '2015-08-31 12:31:31'
tags:
- development
- technology
- engineering
- software
---

Software engineering is not much different from any other discipline of engineering. You need to create designs that stand the test of time and performs well in conditions to which it is designed to.

Sometimes your design need to function well in conditions it is not designed for.

 Sooner or later, software will be making people too.

This can be a tool handy for managers trying hard to create a fine working environment in which people under him can create and innovate for peace.

https://michaelochurch.wordpress.com/2013/04/22/gervais-macleod-23-the-shodan-programmer/

Disclaimer: I find Micheal's classification interesting, but in no way endorse or suggest it as a reference to deploy it in your work environment.


text:
> I am currently a Ph.D. student in the Department of Computer Science, UCLA, advised by Prof. Songwu Lu. I obtained my M.S. degree from UCLA in 2018 and my B.S. degree from Shanghai Jiao Tong University (SJTU) in 2016.
>
> My research interests lie in edge computing, internet of things(IoT), augmented reality(AR), and network security. I am also passionate about digital art. I want to blend my expertise in computer networking systems with art to improve interactive media applications.

---

# Experience

Summer 2019 & 2020, Research Intern @ **IBM Research** - Yorktown NY\
*Implemented attention DNN models for multivariate time-series data classification.*

Summer 2017, Machine Learning Engineer @ **Sohu** - Beijing\
*Contributed to news recommendation system for the mobile platform.*

---

# Software & Project

### **MobileInsight**
[MobileInsight](http://www.mobileinsight.net/) spurs in-phone mobile network intelligence. It provides mobile and desktop versions for 4G/5G analysis. MobileInsight is free and publicly available on [GitHub](https://github.com/mobile-insight).

### **TinyGraphics.js**
[tiny-graphics.js](https://github.com/intro-graphics/tiny-graphics-js) is an open-source library that refactors common WebGL steps and provides a simple interface for students to learn graphics and WebGL. It is actively maintained and has been used by 1000+ CG students - V2 will be available by September 2021!

### **AceMap**
[AceMap](https://www.acemap.info/) is an academic search engine visualizing the relations of papers, topics, and authors based on large metadata. This search engine unfolds the trends in academia and scholar relations to the researchers.

---

# Publication & Patent

**Experience: a Five-Year Retrospective of MobileInsight [*MobiCom'21*]**\
Yuanjie Li, Chunyi Peng, Zhehui Zhang, Zhaowei Tan, Haotian Deng, Jinghao Zhao, Qianru Li, **Yunqi Guo**, Kai Ling, Boyan Ding, Hewu Li, Songwu Lu

**Towards Model-Centric Security for IoT Systems [*ICCCN'20 Invited paper*]**\
**Yunqi Guo**, Zhaowei Tan, Songwu Lu

**AceMap: A Novel Approach towards Displaying Relationship among Academic Literatures [*WWW'16 Workshop on Big Scholarly Data*]**\
Zhaowei Tan, Changfeng Liu, Yuning Mao, Jiaming She, **Yunqi Guo**, Xinbing Wang

**Determining Multivariate Time Series Data Dependencies [*US Patent App.*]**\
Xuan-Hong Dang, **Yunqi Guo**, Syed Yousaf Shan, Petros Zerfos

---

# Teaching

- **CS174 -** Introduction to Computer Graphics ([slides](https://github.com/luckiday/cs174a-1a-2021s), [tools](https://github.com/intro-graphics/tiny-graphics-js))
- **CS180 -** Introduction to Algorithms and Complexity
- **CS211 -** Network Protocol and Systems Software Design for Wireless and Mobile


text:
# Chaconia tectonae T.S. Ramakr. & K. Ramakr., 1949 SPECIES

#### Status
SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Indian Phytopath. 2: 19 (1949)

#### Original name
Chaconia tectonae T.S. Ramakr. & K. Ramakr., 1949

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Basidiomycota/Pucciniomycetes/Pucciniales/Chaconiaceae/Olivea/Olivea tectonae/ Syn. Chaconia tectonae/README.md

repo_name: mdoering/backbone


text:
# Raspberry Pi LED Controller in Python

### Use pinout command in terminal to see pin configuration

## Run Program
```bash
python3 main.py
```

repository: mborders/rpi-led-cycle

repo_name: mborders/rpi-led-cycle


text:
THEN term, short and long description MUST still be extracted, correctly.

GIVEN a term 'dense-definition-with-alias' whose term heading being formatted
AND being followed by HTML aliases
AND being followed by a description all without an intermediate empty line.
THEN occurrences of the term must still be linked, correctly.

repository: about-code/glossarify-md

repo_name: about-code/glossarify-md


text:
Spring Data on Javalin
======================

> A port of Spring Data concepts to Javalin.

1. JPA repositories for query abstractions
2. Auditing for `@CreatedBy` and `@CreatedDate`
3. CRUD handlers

#### References

- https://geowarin.github.io/using-spring-data-jpa-in-a-java-se-environment-and-run-tests-with-dbunit/
- https://docs.spring.io/spring-data/jpa/docs/current/reference/html/
- https://spring.io/blog/2011/02/10/getting-started-with-spring-data-jpa/

repository: sparkles-dev/sparkles

gha_language: Java

repo_name: sparkles-dev/sparkles


text:
---
{
  "title": "Learning the Latent “Look”: Unsupervised Discovery of a Style-Coherent Embedding from Fashion Images",
  "date": "2017-07-11",
  "authors": [
    "Wei-Lin Hsiao",
    "K. Grauman"
  ],
  "abstract": "What defines a visual style? Fashion styles emerge organically from how people assemble outfits of clothing, making them difficult to pin down with a computational model. Low-level visual similarity can be too specific to detect stylistically similar images, while manually crafted style categories can be too abstract to capture subtle style differences. We propose an unsupervised approach to learn a style-coherent representation. Our method leverages probabilistic polylingual topic models based on visual attributes to discover a set of latent style factors. Given a collection of unlabeled fashion images, our approach mines for the latent styles, then summarizes outfits by how they mix those styles. Our approach can organize galleries of outfits by style without requiring any style labels. Experiments on over 100K images demonstrate its promise for retrieving, mixing, and summarizing fashion images by their style.",
  "links": [
    {
      "resource": "PDF",
      "icon": "pdf",
      "url": "https://arxiv.org/pdf/1707.03376.pdf"
    },
    {
      "resource": "arXiv.org",
      "icon": "arxiv",
      "url": "https://arxiv.org/abs/1707.03376"
    },
    {
      "resource": "Semantic Scholar",
      "icon": "semanticscholar",
      "url": "https://www.semanticscholar.org/paper/a84f5df7e540b8038ea1c68398e514f7a6ee6486"
    }
  ],
  "supervision": [],
  "tasks": [],
  "methods": [],
  "thumbnail": "learning-the-latent-look-unsupervised-discovery-of-a-style-coherent-embedding-from-fashion-images-thumb.jpg",
  "card": "learning-the-latent-look-unsupervised-discovery-of-a-style-coherent-embedding-from-fashion-images-card.jpg",
  "s2_paper_id": "a84f5df7e540b8038ea1c68398e514f7a6ee6486"
}
---

repository: virtualgraham/unsupervisedpapers

repo_name: virtualgraham/unsupervisedpapers


text:
---
category: 'education'
university: 'Ton Duc Thang University'
degree: 'Bachelor'
startDate: 'Aug 2015'
endDate: 'Expected 2021'
---

I built an Android app called **AirMessenger** in 2018. Its main function is real time messaging. The source code is [here](https://github.com/fr0stf0x/Air-Messenger)

After an internship at FPT Software, along with Spring, I started to learn JavaScript, jQuery to make ajax call, or dynamic render.

I loved JS so much that decided to learn Angular (at that time, was version 6) at home with some courses at [PluralSight](https://PluralSight.com)

At the end of 2018, the school project was made of ReactJS, so I and my friends self taught it and made a *hotel management* app called **Bright Hotel**. The source code is [here](https://github.com/fr0stf0x/bright-hotel)

Two months later, next project was made of React-native, I again self taught and made an *ordering management* app called **Ruby**. The source code is [here](https://github.com/fr0stf0x/Ruby)


text:
---
DIP: 1
Title: Make Devcon carbon neutral
Status: Accepted
Themes: Ticketing, Environmental Sustainability
Tags: Event production, Software
Authors<EMAIL_ADDRESS>Resources Required: Tech support, Communication support
Discussion: https://forum.devcon.org/t/co2ken-carbon-neutral-devcon/27
---

## Summary of Proposal
Give Devcon participants a taste of a regenerative economy, by allowing them to offset the carbon emissions associated with the event, as part of the ticketing process.

## Abstract
We want to offer attendees the ability to offset the carbon emissions from Devcon. This includes both **direct** emissions that occur during the event—energy use, air conditioning, food, etc.—as well as **indirect** emissions that are tightly coupled to it—most importantly, accommodation and flights.

We have identified 2 ways of approaching offsetting, each with it's own advantages and disadvantages.  We will outline these options, and [engage the community](https://forum.devcon.org/t/co2ken-carbon-neutral-devcon/27) to find the most suitable option.

The user will be able to pay directly within the ticketing process. Offsetting contributions are destined for the highest quality local carbon projects in our host nation of Colombia.

## Motivation & Rationale
Most of us working on Ethereum are obsessed with building a "better future", and even though we're all focused on different building blocks, we understand that a radical shift is only possible if we combine these blocks into a global, interconnected, social and economic system.

We believe that any new system needs to learn from the shortcomings of previous systems and strive to be regenerative, forward thinking, keeping the best interests of future generations in mind. Internalising the cost of any negative social and environmental impact is tantamount to achieving this.

Devcon is where we discover, connect, and sync with the global ecosystem and where we set the foundations for future collaborations, and as such plays an essential role in this new system. We see this as an opportunity for Devcon to lead by example by taking action to minimize its negative impact on the natural world, and by doing so we have the opportunity to prompt participants to reflect on their own actions, and not only imagine a better future, but to immediately take action and be a part of that vision by internalizing one relatively well understood externality: the carbon emissions associated with their participation at Devcon. We also hope that this will inspire participants to build value on the potential of such a balanced eco-system.

```
Rough emissions estimates for 3500 attendees and 4 days:
→ Direct emissions = 150 t
→ Accommodation = 280 t
→ Transport = 1350 t

High quality carbon offset price per ton:
→ 10 – 20 USD
```

## Implementation
**Organizational**

- How the funds gathered during the ticketing process will be used to offset the event's carbon footprint will be discussed in a future DIP. This DIP should describe the governance and allocation of the funds and could be developed in collboration with other projects like [Terra0](https://terra0.org/) or the [Sovereign Nature Initiative](http://sovereignnature.com/). Inputs from the community are encouraged!
- Gather data to best estimate the carbon footprint of the event.

**Technical**

- Build a user-friendly front-end integration into Devcon's ticketing process.
- Users can pay with the same currencies as are accepted by the Devcon ticketing process.

**Previous experience**

- This will be the first time that we integrate carbon offsetting into the ticketing process of an event.
- We already have a running PoC which you can check out [here](https://www.co2ken.io/).

**Post-event**

- It will be very valuable for us to discover the offsetting appetite of the Ethereum community as well as seeing how people and other projects are using our product.
- The data we gather at Devcon 2021 will also help us make more accurate predictions about the carbon footprint of Devcon 2022 and other events. Let's improve data accuracy where possible!

## Operational Requirements & Ownership
1. *What actions are required to implement the proposal at Devcon?*
	- The only effort that is needed at Devcon would be including of any bracelet or swag at checkin. All other efforts are focused on the booking process integration.

2. *Who will be responsible for the proposal to be implemented effectively? (i.e. working on Day 0)*
	- CO2ken will be responsible for the successful implementation of this proposal.

3. *What other projects could this proposal be integrated with? (Bonus points for collaboration across teams :))*
	- Anyone who offsets their emissions will receive an NFT representing their contribution.
	- We would love to see other teams pick this up to create positive reinforcement, e.g. participants with the NFT get special swag, discounts, etc.
	- We will actively approach other projects where we see fun ways to collaborate as more DIPs appear.
	- We don't want to punish those who decided against (or simply missed the option to) offsetting their carbon footprint. But we want to reward those who did. Creating value around positive behavior is a simple, yet powerful way to change today's economics—carrots, not sticks!

## Links & Additional Information
**Questions we often get and possible answers:**

- *But we don't have the data to accurately calculate the carbon footprint of `X` ?*

	Unfortunately today, most things fall into the  **`X`** category where we would need more data to fully understand the climate impact of a certain action. But this data is often not measured, siloed or private.  We believe developing systems that can collect and aggregate carbon footprint data are amongst the most important things to focus on right now.

	But the lack of accurate data should not be used as an excuse for not starting to act in the first place. Let's not forget: we’re dealing with CO2 emissions. If we use the data we have, take the most conservative estimate, and start offsetting these emissions, we will at worst offset too much. Given the state of the planet, we need to do this anyway.

- *Aren't carbon offsets the new letters of indulgence?*

	We want to make it clear that offsetting is no silver bullet. Studies estimate that three quarters of circulating carbon credits are “hot air” and don’t lead to additional emission reductions. We should foremost aim to reduce our carbon footprint overall, and only compensate for those activities for which no good alternatives exist today.

	This is why a lot of research has to go into sourcing the right projects. Ultimately, our goal at CO2ken is to shed light into the opaque carbon offset value chain in order to unlock the rapid growth we need to see in climate finance.

**Links:**
* [Link to Devon Forum — CO2ken DIP](https://forum.devcon.org/t/co2ken-carbon-neutral-devcon/27)
* [CO2ken Website](https://www.co2ken.io/)
* [Medium post describing the project's Genesis (things have chaged since then)](https://medium.com/curve-labs/co2ken-genesis-74d7a1387ea1)
* [@CO2ken_io on Twitter](https://twitter.com/CO2ken_io)

repository: efdevcon/DIP-checker

repo_name: efdevcon/DIP-checker


text:
# ffplay-cli
Play only sound of sound or video files using [ffplay](https://www.ffmpeg.org/ffplay.html) as a CLI tool, without GUI.

## Build
Use [cmd/build-without-container](cmd/build-without-container.sh) script.

## Run
Use [cmd/run-without-container](cmd/run-without-container.sh.example) script.

- Interrupt process : Ctrl^C
- Play the next file : Ctrl^D

## Build container image
Use [build](build) script.

## Run container image
Use [run](run.sh.example) script.

## Synopsis
### Play 1 audio file

```
./ffplay-cli -media mediaPath [-volume num] [-loop num] [-ss str] [-t str]
```

### Shuffle play multiple files
Shuffle play multiple audio files written in `index` file.

```
./ffplay-cli -index indexPath [-volume num] [-loop num] [-t str] [-substr pathstring] [-ext extPath]
```

An index file example is [here](https://github.com/frost-tb-voo/media-explorer). This file would be generated by media-explorer tool.

An ext file example is [here](https://github.com/frost-tb-voo/media-explorer/blob/master/fileanalysis/media-indexer.video.ext).

[options](./cmd/main.go)
```go
        volume := flag.Int("volume", 50, "volume")
        loop := flag.Int("loop", 1, "loop")
        ss := flag.String("ss", "00:00", "[HH:]MM:SS[.m...]")
        t := flag.String("t", "", "[HH:]MM:SS[.m...]")
        mediaPath := flag.String("media", "", "media path")
        indexPath := flag.String("index", "", "index path")
        substr := flag.String("substr", "", "substr for strings.Contains")
        extPath := flag.String("ext", "", "ext path")
```

## Useful links

- https://awesome-go.com/
- https://github.com/3d0c/gmf/blob/master/examples/video-to-image.go
- https://github.com/mviereck/x11docker/wiki/Container-sound:-ALSA-or-Pulseaudio

repository: frost-tb-voo/ffplay-cli

repo_name: frost-tb-voo/ffplay-cli


text:
ridebuild
=========

RideBuild

Install Requirements
====================

1. npm install -g cordova ionic

run on device:

    ionic run ios

run on emulator:

    ionic emulate ios

(all commands work with android too - both SDKs must be installed)

  Run in Browser:

    cd in root directiony: node scripts/web-server.js

Should start local server on :8000 nav to www/index.html

If you want to run it on your iphone: see me for provisioning profile

Using the social plugin for phonegap found here

https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin

Other things
====================

Phonegap is a little weird when it comes to where files live. The root www folder is where our working directory is but they get copied to their Platform www directories at build/runtime. Sometimes you have to force the issue with a prepare command

cordova = phonegap

cordova prepare ios : a command that preps everything in your root/www folder

repository: pkane/ridebuild

repo_name: pkane/ridebuild


text:
# Ubernet
# Flexible networking library for Unity
Ubernet is a networking library for Unity that is built as an abstraction on top of other libraries, implemented as providers. Several providers are available to use and it’s easy to add custom providers.

A high level abstraction called the Network Entity Manager can be used with built-in and custom providers. The Network Entity Manager can synchronize variables and send Remote Procedure Calls (RPCs) on custom objects and Unity MonoBehaviours. Ubernet uses [UniRx](https://github.com/neuecc/UniRx) for all asynchronous operations.

The libraries [UniRx](https://github.com/neuecc/UniRx), [LiteNetLib](https://github.com/RevenantX/LiteNetLib) and the [Photon Realtime Unity SDK](https://www.photonengine.com/en-US/sdks#realtimeunity) are included.

Ubernet leverages modern C# features, so the scripting runtime version must be set to “.NET 4.x Equivalent” in Player Settings and enabling the Incremental Compiler in Package Manager is required.

![.NET 4](docs/img/Dotnet4.png)

![Incremental Compiler](docs/img/IncrementalCompiler.png)

# Philosophy
Compared to other networking libraries like Photon's PUN, Ubernet was designed to work with an unlimited number of
interchangeable providers. This prevents vendor lock-in since the implementations for all providers share the same interface.
There are also several practical benefits like a more elegant API designed around [UniRx](https://github.com/neuecc/UniRx)
and easier local testing (no connection to Photon is required when testing with several clients on the same machine or LAN).

# Platforms
At this time, Ubernet has been tested with on Mac and Windows with the Mono scripting backend. IL2CPP platforms have not been tested yet but will be supported in the future.

# Supported Providers
* Photon
* Mock provider (offline mode)

More providers will be supported in the future.

# Getting Started
This guide will show how to connect to Photon. Please refer to the [Photon documentation](https://doc.photonengine.com/en-us/realtime/current/getting-started/quick-start) for more information.

## Quick Start
You can use the following snippet to get started with Photon. It creates a matchmaker, connects to a game and initializes a Network Entity Manager for the connection. This workflow will be explained in detail below.

```csharp
public async Task Connect()
{
  try
  {
    PhotonMatchmaker matchmaker = await PhotonMatchmaker.NewContext()
      .WithAppId(appId) // Your Photon App ID
      .WithRegion(PhotonRegions.Europe)
      .WithAppVersion("0.1")
      .ConnectToCloud(); // Connect to the Photon cloud

    IGame game = await matchmaker.CreateGame(PhotonCreateGameOptions.FromRoomName("myRoom")); // Create the game
    IConnection connection = await game.ConnectWithPhoton(); // Connect with Photon

    connection.AutoUpdate(); // Automatically update 20 times/second
    connection.RegisterUnityDefaultTypes(); // Enable serialization for Vector3 etc.

    NetworkEntityManager entityManager = await _connection.CreateEntityManager()
      .SetLocalPlayer(new DefaultPlayer("foo"))
      .SetAsDefaultEntityManager()
      .Initialize(); // Create an Entity Manager
  }
  catch (UbernetException e)
  {
    // Handle the exception
  }
}
```

## Connecting to a matchmaker
First, you need to  [register a free Photon account and obtain your App ID from the dashboard](https://dashboard.photonengine.com/en-us). The App ID will be used to connect to Photon.

Since connecting to Photon is asynchronous, a UniRx Observable is returned. You need to subscribe to the observable to obtain the matchmaker.

```csharp
// Imports
using Skaillz.Ubernet.Providers.Photon;
using UniRx;

// Create a new Matchmaker
PhotonMatchmaker.NewContext()
  .WithAppId(appId) // Your Photon App ID
  .WithRegion(PhotonRegions.Europe) //US, Japan, Australia and more are available. See the PhotonRegions class for more options.
  .WithAppVersion("0.1") // Only players with the same version can connect to the same game
  .WithTickRate(20) // The number of times per second the matchmaker sends and receives updates over the network (20 by default)
  .ConnectToCloud() // Create the Matchmaker asyncronously
  .Subscribe(matchmaker => {
    // We're connected to the matchmaker
  },
  err => {
    // An error occured.
    Debug.LogException(err);
  });
```

### Note about using Observables

All asynchronous operations return UniRx Observables. You can subscribe to them as shown above, but you can also use it in other ways.

### Coroutines

```csharp
using UniRx;

public IEnumerator Connect()
{
  var matchmakerYield = PhotonMatchmaker.NewContext()
    ...
    .ConnectToCloud()
    .ToYieldInstruction(); // Convert to yield instruction

  yield return matchmakerYield;

  if (matchmakerYield.HasResult)
  {
    // Obtain the matchmaker
    PhotonMatchmaker matchmaker = matchmakerYield.Result;
  }
  else if (matchmakerYield.HasError)
  {
    // Handle error
    Debug.LogException(matchmakerYield.Error);
  }
}
```

### Async-Await

```csharp
using UniRx;

public async Task Connect()
{
  try
  {
    // Observables are awaitable
    PhotonMatchmaker matchmaker = await PhotonMatchmaker.NewContext()
      ...
      .ConnectToCloud();
  }
  catch (UbernetException e)
  {
    // Handle error
    Debug.LogException(e);
  }
}
```

Most of the examples in this guide use the `Subscribe()` method to subscribe to Observables.

## Using matchmakers
You can use the Matchmaker to create or join games.

### Creating Games

Use `matchmaker.CreateGame()` to find a create a new game. You can pass `ICreateGameOptions` for additional configuration. If using Photon, passing `PhotonCreateGameOptions` is mandatory.

```csharp
// Create a new game.
matchmaker.CreateGame(new PhotonCreateGameOptions {
    RoomName = "MyRoom" // Specify a room name. Leave empty to auto-generate.
})
  .Subscribe(game => {
    // Do something
  });
```

### Find a random game

Use `matchmaker.FindRandomGame()` to find a random game. You can pass `IJoinRandomGameOptions` for additional configuration. If using Photon, passing `PhotonJoinRandomGameOptions` is mandatory.

```csharp
// Find a random game.
matchmaker.FindRandomGame(new PhotonJoinRandomGameOptions())
  .Subscribe(game => {
    // Do something
  });
```

### Find an existing game

Use `matchmaker.FindGame()` to find a given game. You must pass `IGameQuery` to specify the game you want to find. If using Photon, you should pass a query of type `PhotonGameQuery`.

```csharp
// Find a game with the given room name.
matchmaker.FindGame(new PhotonGameQuery {
  RoomName = "MyRoom" // The name of the Photon room you want to join
})
  .Subscribe(game => {
    // Do something
  });
```

### Disconnect from the Matchmaker

Use `Disconnect()` to disconnect from the Matchmaker.

```csharp
matchmaker.Disconnect()
  .Subscribe(_ => {
    // Disconnected
  });
```

## Connecting to games
After you’ve found a game with a matchmaker, you can connect to it. When connecting, every client will be assigned a unique Client ID. Use the following code to connect with Photon:

```csharp
// Join a random game.
matchmaker.JoinRandomGame(new PhotonJoinRandomGameOptions())
  .Subscribe(game => {
    // The game has been created. Connect with Photon.
    game.ConnectWithPhoton().Subscribe(connection => {
      // Connected to the game
    });
  });
```

### Updating Connections

Connections only send and receive events when their `Update()` method is called. Make sure to call it periodically.

```csharp
public IEnumerator UpdateCoroutine()
{
  connection.Update();
  yield return new WaitForSeconds(0.1f);
}

StartCoroutine(UpdateCoroutine());
```

You can also use the helper method `AutoUpdate`, which will automatically update the connection until it disconnects.

```csharp
connection.AutoUpdate(20); // Update 20 times/second
```

### Disconnecting

Use `Disconnect()` to dispose the connection. Be vary that ending events after disconnecting causes errors.

```csharp
connection.Disconnect()
  .Subscribe(_ => {
    // Disconnected
    connection = null; // Make sure that we can't use the connection anymore
  });
```

### Sending and receiving events

When you’ve connected to a game, you can send and receive events.

```csharp
using UnityEngine;
using Skaillz.Ubernet;
using UniRx;

int eventCode = 20; // Choose a number between 0 and 239

// Send an event with code 20 and content "Hello, world!" to all other clients
connection.SendEvent(eventCode, "Hello, world!", MessageTarget.Others);

// Receive all events with code 20
connection.OnEvent(eventCode).Subscribe(evt => {
  // We received an event. Read its data.
  Debug.Log((string) evt.Data);
});
```

See [Serialization](#Serialization) for more information about what types of values you can send.

#### Message Targets

You can pass an `IMessageTarget` to `SendEvent()` to specify the clients the message should be sent to (or leave it empty to send it to all other clients).

The following message targets are available:

* `MessageTarget.Others`: Send to all remote clients (default)
* `MessageTarget.All`: Send to all clients, including the local client
* `MessageTarget.Server`: Send to the server (or master client depending on the provider)
*  `IPlayer` or `IClient` objects  (or any other object that implements `IClientIdResolvable`)
* A `ClientList` created with `ClientList.FromClients(player1, player2, client1, ...)`

### Handling client events

Subscribe to `OnClientJoin` or `OnClientLeave` to get notified when a client joins or leaves on a Connection.  The `Clients` list contains all clients that are currently connected.

# Network Entities
The Network Entity Manager is a high-level abstraction that can be used with all providers. The Network Entity Manager manages a number of Network Entities. Each Network Entity consists of multiple Network Components.

Usually, you may want to use GameObjects with a `GameObjectNetworkEntity`, but any C# class that implements `INetworkEntity` can also be used. Analogously, a Network Component maps to a Unity component that derives from `MonoNetworkComponent` (or C# classes that implement `INetworkComponent`).

Instead of using raw events, variables can be synchronised and RPCs (Remote Procedure Calls) can be sent on Network Entities.

## Getting started with the Matchmaker UI
The Matchmaker UI is a Unity component that can be used for development purposes. It provides menus for connecting to matchmakers, joining games and gathering in a lobby.

![The Matchmaker UI](docs/img/MatchmakerUI.png)

![Matchmaker UI Matchmaking](docs/img/MatchmakerUIMatchmaking.png)

The Game Scene is loaded after one of the players in the lobby clicks the “Start Game” button. The Lobby Scene will be loaded after the player disconnects. The “Auto Create Entity Manager” checkbox should be checked if the Network Entity Manager is used. If disabled, a button for initializing it is displayed in the lobby.

![Matchmaker UI Lobby](docs/img/MatchmakerUILobby.png)

## Creating the Entity Manager manually
A Network Entity Manager can be created for an existing connection (see   [Connecting to games](#Connecting%20to%20games)).

```csharp
_connection.CreateEntityManager()
  .SetLocalPlayer(new DefaultPlayer("foo"))
  .SetAsDefaultEntityManager()
  .Initialize()
  .Subscribe(entityManager => {
    // Entity Manager created.
  });
```

### Setting the local player

Calling `SetLocalPlayer` is mandatory before initializing the entity manager. The only argument is the `IPlayer` object that should be used. You can use `DefaultPlayer` for prototyping or use your own implementation. Refer to `DefaultPlayer` as a reference when implementing a custom player type. [SyncedValues](#SyncedValues) are supported.

### Keeping the Entity Manager reference

MonoBehaviours in your Game Scene must be able to register to the Entity Manager, so the reference should be saved somewhere. There are several approaches:

#### Using singletons (easier)

`SetAsDefaultEntityManager` will register the Entity Manager as a singleton. It must be called before any `GameObjectNetworkEntity` objects are loaded so that they can retrieve the singleton and register themselves.

This approach is recommended for beginners and smaller projects, but less flexible since only one Entity Manager can be used at the same time.

#### Using Dependency Injection (recommended)
TBD

## Using Network Entities
A Unity component called `Game Object Network Entity` is available. Attach it to a GameObject to register it with the default Entity Manager (created with `SetAsDefaultEntityManager()`) automatically.

Network Entities must have a unique ID that is used to synchronise it over the network. This ID is allocated automatically when adding an entity to a scene or instantiating it from a prefab. Components managed by an entity are identified by IDs that are unique per entity.

![Game Object Network Entity](docs/img/GameObjectNetworkEntity.png)

### Scene Entities

Game Object Network Entities that are placed in a scene are treated as scene entities. Scene entities are always owned by the server or “master player”.

### Instantiating Entities from Prefabs

When you first create a prefab of a Network Entity, you will notice that it asks you to add it to the prefab cache. This is required so that it can be created on all clients automatically. Click the “Add to Cache” button to proceed.

![Prefab Cache](docs/img/PrefabCache.png)

Instead of instantiating prefabs with `Instantiate`, use `entityManager.InstantiateFromPrefab()`. The passed prefab must be registered in the cache. This instantiates the prefab locally and allocates an entity ID.

```csharp
using Skaillz.Ubernet.NetworkEntities;
using Skaillz.Ubernet.NetworkEntities.Unity;

entityManager.InstantiateFromPrefab(prefab); // Instantiates at position (0, 0, 0) with no rotation

entityManager.InstantiateFromPrefab(prefab, position, rotation); // Instantiates at the given position and rotation
```

Alternatively, `entityManager.InstantiateFromResourcePrefab(path)` can be used to instantiate a prefab from the Resources folder.

## Network Components
Network Components are C# classes that implement `INetworkComponent`. When using MonoBehaviours, it is recommended to derive from `MonoNetworkComponent`.

### Basic serialization

The most basic way to synchronize a component over the network is deriving from `MonoNetworkComponent` and using the `Serialize` and `Deserialize` callbacks.

The number of times these callbacks are called depends on the `SerializationRate` of the entity manager. You can change the default value of 20 times per second by passing it as the second argument to `CreateEntityManager`, e.g. `_connection.CreateEntityManager(60)` to update 60 times per second.

`Serialize()` is used to convert the component into bytes that can be sent over the network. `Deserialize()` converts the byte representation back to the object presentation.

```csharp
using Skaillz.Ubernet.NetworkEntities.Unity;

public class MyComponent : MonoNetworkComponent
{
    public byte Data;

    public override void Serialize(Stream stream)
    {
        stream.WriteByte(Data);
    }

    public override void Deserialize(Stream stream)
    {
        Data = (byte) stream.ReadByte();
    }
}
```

`SerializationHelper` is a utility class that contains helper methods to convert more complex types:

```csharp
using Skaillz.Ubernet.NetworkEntities.Unity;

public class MyComponent : MonoNetworkComponent
{
    public string Data;

    public override void Serialize(Stream stream)
    {
        SerializationHelper.SerializeString(Data, stream);
    }

    public override void Deserialize(Stream stream)
    {
        Data = SerializationHelper.DeserializeString(stream);
    }
}
```

### Local and remote updates

You can check if the entity the component belongs to is owned by the local client with `IsLocal()`.

```csharp
// Override the Update method in MonoNetworkComponents
protected override void Update()
{
  // Make sure to call base.Update()!
  base.Update();

  if (Entity.IsLocal())
  {
    // The component can be controlled
  }
  else
  {
    // The component is owned by someone else
  }
}
```

Alternatively, you can override `OnLocalUpdate()`, which is called each update if owned by the local client or `OnRemoteUpdate()`, which is called if it’s owned by another client.

```csharp
// Calling the base method is not neccesary here.
protected override void OnLocalUpdate()
{
  // Called if the entity is local
}

protected override void OnRemoteUpdate()
{
  // Called if the entity belongs to someone else
}
```

### Remote Procedure Calls

RPCs (Remote Procedure Calls) can be used to invoke component methods on other clients. Derive from `MonoNetworkComponent.Rpc` to use RPCs.

RPCs can only be used on methods with the `[NetworkRpc]` attribute. Currently, overloads are not supported.

RPCs are sent with `SendRpc(string methodName, MessageTarget target, params object[] parameters)`. If the message target is omitted, it will be sent to all other players.  Instead of hardcoding the method name as a string, using the `nameof()` operator is highly recommended to avoid breaking your code after refactoring a method name.

```csharp
using Skaillz.Ubernet.NetworkEntities.Unity;

public class PlayerHealth : MonoNetworkComponent.Rpc
{
    public int Health = 10;

    [NetworkRpc]
    private void TakeDamage(int amount)
    {
        Health -= amount;
    }

    public void SendTakeDamage(int amount)
    {
        // Invoke the TakeDamage method on all other clients
        SendRpc(nameof(TakeDamage), MessageTarget.Others, amount);

        // Call the method on the local client (it does not receive the RPC since we use MessageTarget.Others)
        TakeDamage(amount);
    }
}
```

### SyncedValues

SyncedValues are variables that are synchronized over the network. **Changes to SyncedValues are only sent if they have been changed by the entity’s owner.**

Derive from `MonoNetworkComponent.Synced` to use SyncedValues. To use both SyncedValues and RPCs, inherit from `MonoNetworkComponent.SyncedRpc`.

SyncedValues are created by passing generic types. All serializable types are supported (see [Serialization](#Serialization)).

```csharp
// Initialize with default value
SyncedValue<int> val = new SyncedValue<int>();

// Initialize with custom value
SyncedValue<int> val = new SyncedValue<int>(1);
```

Shorter versions are available for common types. The following types can also be assigned from the inspector:

* `SyncedBool` for booleans
* `SyncedInt` for integers
* `SyncedByte` for bytes
* `SyncedShort` for shorts
* `SyncedFloat` for floats
* `SyncedString` for strings
* `SyncedVector2`,  `SyncedVector3`,  `SyncedQuaternion`,  `SyncedColor` for commonly used Unity types

You can read or change the current value with the `Value` property. SyncedValues are `IObservables`, so you can subscribe to changes.

Only the `Value` property of SyncedValues should be reassigned, not the SyncedValue object itself, so it’s highly recommended to declare them as `readonly`. SyncedValues are cached when the component is registered, so their references should not be changed after registration.

```csharp
using Skaillz.Ubernet.NetworkEntities;
using Skaillz.Ubernet.NetworkEntities.Unity;
using UniRx;

public class PlayerHealth : MonoNetworkComponent.Synced
{
    // SyncedInt is equivalent to SyncedValue<int>.
    private readonly SyncedInt _health = new SyncedInt(10);

    private void Start()
    {
        // Subscribe to changes and print them in the console
        _health.Subscribe(h => Debug.Log("Health: " + h));
    }

    public void TakeDamage(int amount)
    {
        // Check if the entity is local before modifying the value
        if (Entity.IsLocal())
        {
            _health.Value -= amount;
        }
    }
}
```

### Registration Callbacks

The `OnRegister` and `OnRemove` callbacks are called when a component is added or removed from an entity.  Override them to add your own event handling, but make sure to call `base.OnRegister()` and `base.OnRemove()` at the beginning.

# Serialization
Serialization is the process of converting an object or a value into a byte representation that can be sent over the network. The reverse process is called deserialization. Whether a value can be serialized depends on its type.

## Built-in types
The following types can be serialized by default:

* `null`
* byte
* bool
* short
* int
* long
* float
* double
* string
* byte[]
* object[]
* Typed arrays of any other supported type (e.g. `string[]`, `long[]`, etc.)

## Unity types
Ubernet is able to serialize some of the most used Unity types like `Vector3`and `Quaternion`.

The following types are supported right now:

* Vector2
* Vector3
* Quaternion
* Color

Call `RegisterUnityDefaultTypes()` to register them.

```csharp
using Skaillz.Ubernet.DefaultSerializers.Unity;

// If the same serializer is used, all samples lead to the same results
serializer.RegisterDefaultUnityTypes(); // Register on an ISerializer
connection.RegisterDefaultUnityTypes(); // Register on an IConnection
networkEntityManager.RegisterDefaultUnityTypes(); // Register on a NetworkEntityManager
```

## Registering custom types
TBD

repository: SkaillZ/ubernet

repo_name: SkaillZ/ubernet


text:
# OO UML Editor

![Java](https://img.shields.io/badge/with-Java-red?logo=Java)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/73adb956f8b5421d9e7df552d560cb29)](https://www.codacy.com/gh/N0Ball/NCU-UML/dashboard?utm_source=github.com&utm_medium=referral&utm_content=N0Ball/NCU-UML&utm_campaign=Badge_Grade)

## Screenshots

![screenshot-1.PNG](resource/screenshot-1.png)

## About

This is the term project of the course **Object-Oriented Analysis and Design** (2021, National Central University).

## Feature

This is a simple UML editor with:

- Objects
  - Class
  - Use Case

- Relation Lines
  - Association Line
  - Generation Line
  - Composition Line

- Behavior
  - Create a new object
  - Rename an object
  - Drag an object
  - Connect between objects
  - Replace the connections between objects
  - Group objects
  - UnGroup objects

For detailed spec, [see this file](resource/uml-spec.pdf).


text:
# Change Log

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

[Unreleased]: https://github.com/atomist-rugs/licensing-editors/compare/0.4.0...HEAD

## [0.4.0] - 2017-01-25

### Changed

-   Update to rug 0.10.0
-   Export vars as per new common-js module requirements

## [0.4.0]: https://github.com/atomist-rugs/licensing-editors/compare/0.3.0...0.4.0

## [0.3.0] - 2017-01-06

Updrade to rug 0.8.x release

### Changed

-   Updated rug to 0.8.x
-   Added manifest.yml as per new requirement in CLI

[0.3.0]: https://github.com/atomist-rugs/licensing-editors/compare/0.2.0...0.3.0

## [0.2.0] - 2016-12-16

[0.2.0]: https://github.com/atomist-rugs/licensing-editors/compare/0.1.0...0.2.0

Move to new Typescript programming model

### Changed

-  New Typescript programming model

## [0.1.0] - 2016-12-15

[0.1.0]: https://github.com/atomist-rugs/licensing-editors/compare/968a26f...0.1.0

Initial release

### Added

-   AddLicenseFile editor

repository: atomist-attic/licensing-editors

repo_name: atomist-attic/licensing-editors


text:
# {{cookiecutter.project_name}}

## Overview

## Updating from template

To check the diff from the template(run from the project root):

```bash
cruft check
```

To update the project from the template:

```bash
cruft update
```

## How to build and run

## To Do

repository: kris-hansen/cookiecutter-flask-restful

repo_name: kris-hansen/cookiecutter-flask-restful


text:
# Poisson

Realization of poisson distribution probability function that works for big numbers. Most known libraries don't work with expected value greater than 170 because of naive realization. This one works with really big numbers.

You can provide MAX number while importing this function to set up the cache size to optimal value. If it is not provided, it sets up to 1000.

Example of usage:

```javascript
const poisson = require('poisson');
poisson.setCacheSize(777);

let expected = 2.75;
let target = 3;

let probability = poisson(expected, target);
console.log(probability); // 0.22158328975554106

expected = 500;
target = 450;

probability = poisson(expected, target);
console.log(probability); // 0.0014137416119834906
```


text:
# Suspect in murder of three young brothers is found drowned 20 years later

Published at: **2019-11-04T11:06:18+00:00**

Author: **Dave Burke**

Original: [mirror](https://www.mirror.co.uk/news/uk-news/suspect-murder-three-young-brothers-20807115)

A man suspected of the sectarian murder of three children in Northern Ireland has been found dead in a river.
Raymond Parke was implicated in the killings of brothers Richard, Mark and Jason Quinn, aged 10, nine and eight respectively.
Parke, reportedly a member of the Ulster Volunteer Force (UVF), never stood trial over the brothers' deaths in a petrol bomb attack at their home in 1998.
A relative of the boys says he hopes the suspected killer "rots in hell".
He was identified by getaway driver Garfield Gilmour, who was later convicted of manslaughter.

Parke, a father-of-two, was found dead in Coleraine on Thursday, shortly after his worried family issued an appeal for help finding him.
Police are not viewing his death as suspicious.
The boys' uncle, Frankie Quinn - who had to identify their burned bodies - told the Sunday World: "I hope he rots in hell."
The three Catholic boys died after the bomb was thrown into the family home in Ballymoney, County Antrim, on July 12, 1998.

Their mum, Chrissie Quinn, survived after jumping out of an upstairs window, the Belfast Telegraph reports .
Brother Lee was not at home when the attack happened as he was staying with his grandparents.
The killings happened hours before a July 12 Orangemen parade in Portadown.
During the week it happened, there were 137 petrol bomb attacks on Catholic homes.
Gimour was jailed for 14 years for his role in the killings.
Giving evidence, he told the court that Parke and another man, Johnny McKay, had carried out the petrol bombing.
Parke was arrested, but never charged.
A spokesman from the Police Service Northern Ireland (PSNI) said: "A  post mortem has been carried out following the death of a man, whose body was discovered in the River Bann, Coleraine on Thursday 31st October.
"The death is not being treated as suspicious."

license: Unlicense

repository: dsadlollioygjmzvcxv/tdc-exported

repo_name: dsadlollioygjmzvcxv/tdc-exported


text:
### SUGGESTIONS

Following YouTube videos are the suggested example training data currently:

* [Learning Simple Color Chant Song Learn 11 Colours ...] - a video which aims to teach colors to kids.

[Learning Simple Color Chant Song Learn 11 Colours ...]: <https://youtu.be/a9zZCWleoQ4>

Following YouTube videos are the suggested examples for observing stimulant detection capabilities currently:

* [DNews - Can You Make Someone Fall In Love With You?] - a stationary camera example with closed captions.
* [BFvsGF - ARRESTED AT THE SUPER BOWL] - a non-stationary camera example with a lot of shaky shots.
* [MØ - Waste of Time] - a non-stationary camera example with steady shots.
* [Grip Nedir?] - a stationary camera example(video in Turkish Language).
* [MAKE AMERICA GREAT AGAIN (YIAY 240)] - a good episodic audio example.

[DNews - Can You Make Someone Fall In Love With You?]: <https://youtu.be/7_w_EA4u6oQ>
[BFvsGF - ARRESTED AT THE SUPER BOWL]: <https://youtu.be/8AbwqbnUgzk>
[MØ - Waste of Time]: <https://youtu.be/wFrth4NFogc>
[Grip Nedir?]: <https://youtu.be/VgCdbzY4eYU>
[MAKE AMERICA GREAT AGAIN (YIAY 240)]: <https://youtu.be/RcNIyvNKceI>

#### Tips

Install youtube-dl:

	sudo pip install --upgrade youtube_dl

For downloading video:

	youtube-dl -f 22 https://youtu.be/7_w_EA4u6oQ

For downloading Subtitles/CC(Closed Captions):

	youtube-dl --all-subs --skip-download https://youtu.be/7_w_EA4u6oQ

For generating .wav file:

	ffmpeg -i video.mp4 audio.wav

repository: Maxprofs/Cerebrum

repo_name: Maxprofs/Cerebrum


text:
##Computing an efficient metric between persistence diagrams

Matlab code to compute an extremely efficient metric between topological persistence diagrams by embedding them on to a Hilbert Sphere. If you use this code, please consider citing the following paper:

>Anirudh, R., Venkataraman, V., Ramamurthy, K.N. and Turaga, P.,
*A Riemannian Framework for Statistical Analysis of Topological Persistence Diagrams.*
[arXiv preprint arXiv:1605.08912](http://arxiv.org/abs/1605.08912)., 2016.

>Bibtex:
```
@InProceedings{AnirudhCVPRW2016,
author={Anirudh, Rushil and Venkataraman, Vinay and Ramamurthy, Karthikeyan Natesan and Turaga, Pavan},
title={A Riemannian Framework for Statistical Analysis of Topological Persistence Diagrams},
booktitle={IEEE Conference on Computer Vision and Pattern Recognition Workshops},
month = {June},
year = {2016}
}
```

repository: rushilanirudh/pdsphere

repo_name: rushilanirudh/pdsphere


text:
# ONVIF to OIC Converter

This is a prototype that simply convert ONVIF device - IP Camera - into OIC resource. Currently it support retrieve information from IP camera include rtsp url, and perform PTZ operation.

## How to Start

### Environment
The IoTFS-Adapters was built and tested under Ubuntu 14.04 amd64 system. Currently the ONVIF to OIC converter depends on Node.js so please make sure you have Node.js deployed and version >= 0.10.25.

### Build
1. Please make sure you have git clone iotfs-core project and successfully build it.
2. Execute ${IOTFSADAPTER}/onvif/buildall.sh. This script will install required packages for build the ONVIF to OIC converter, then trigger the build process to generate corresponding binary artifacts.
	 ```
	 cd ${IOTFSADAPTER}/onvif
	 ./buildall.sh
	 ```

### Run

1. Start ONVIF-Thrift Server. This server will discover the IP cameras which conform with ONVIF standard, and collect those informations like rtsp url to host in itself.
	 ```
	 cd ${IOTFSADAPTER}/onvif/deps/nodenvc
	 node ./onvif
	 ```

2. Start ONVIF-OIC Server. This server will connect to ONVIF-Thrift server to retrieve IP camera information, and create OIC resource correspondingly.
	 ```
	 cd ${IOTFSADAPTER}/onvif/bin
	 ./onvif_oic_server
	 ```

## Contributors
   | Name       | Email                     | Github id    |
	 |------------|---------------------------|--------------|
	 | Tianyou Li |<EMAIL_ADDRESS>  | TianyouLi    |
	 |            |                           |              |

repository: TianyouLi/iotfs-adapters

repo_name: TianyouLi/iotfs-adapters


text:
# CELLector: Genomics Guided Selection of Cancer in vitro models (Rshiny App)

Najgebauer, H., Yang, M., Francies, H., Pacini, C., Stronach, E. A., Garnett, M. J., Saez-Rodriguez, J., & Iorio, F. CELLector: Genomics Guided Selection of Cancer in vitro Models. http://doi.org/10.1101/275032

2020-03-03

CELLector App is a user friendly interface to [CELLector](https://github.com/francescojm/CELLector): a computational tool assisting experimental scientists in the selection of the most clinically relevant cancer cell lines to be included in a new in-vitro study (or to be considered in a retrospective study), in a patient-genomic guided fashion.

CELLector combines methods from graph theory and market basket analysis; it leverages tumour genomics data to explore, rank, and select optimal cell line models in a user-friendly way, through the [CELLector Rshiny App](https://github.com/francescojm/CELLector_app). This enables making appropriate and informed choices about model inclusion/exclusion in retrospective analyses, future studies and it makes possible bridging cancer patient genomics with public available databases froom cell line based functional/pharmacogenomic screens, such as [CRISPR-cas9 dependency datasets](https://score.depmap.sanger.ac.uk/) and [large-scale in-vitro drug screens](https://www.cancerrxgene.org/).

Furthermore, CELLector includes interface functions to synchronise built-in cell line annotations and genomics data to their latest versions from the [Cell Model Passports](https://cellmodelpassports.sanger.ac.uk/) resource. Through this interface, bioinformaticians can quickly generate binary genomic event matrices (BEMs) accounting for hundreds of cancer cell lines, which can be used in systematic statistical inferences, associating patient-defined cell line subgroups with drug-response/gene-essentiality, for example through [GDSC tools](https://gdsctools.readthedocs.io/en/master/).

Additionally, CELLector allows the selection of models within user-defined contexts, for example, by focusing on genomic alterations occurring in biological pathways of interest or considering only predetermined sub-cohorts of cancer patients.

Finally, CELLector identifies combinations of molecular alterations underlying disease subtypes currently lacking representative cell lines, providing guidance for the future development of new cancer models.

License: MIT

![alt text](www/Figure2.jpg)

## CELLector Running Modalities

CELLector can be used in three different modalities:
  - (i) as an R package (within R, code available at: https://github.com/francescojm/CELLector)
  [Package vignette](https://rpubs.com/francescojm/CELLector)

  - (ii) as an online R shiny App (available at: https://ot-cellector.shinyapps.io/CELLector_App/)

  - (iii) as a local R shiny App (within Rstudio, code available at: https://github.com/francescojm/CELLector_App)

[Shiny App tutorial and use cases](link to be added)

## R package: quick start (interactive vignette)

http://rpubs.com/francescojm/CELLector


text:
### [CVE-2019-20016](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20016)
![](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

libmysofa before 2019-11-24 does not properly restrict recursive function calls, as demonstrated by reports of stack consumption in readOHDRHeaderMessageDatatype in dataobject.c and directblockRead in fractalhead.c. NOTE: a download of v0.9 after 2019-12-06 should fully remediate this issue.

### POC

#### Reference
- https://github.com/hoene/libmysofa/issues/83
- https://github.com/hoene/libmysofa/issues/84

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

repository: trickest/cve

repo_name: trickest/cve


text:
api
===

Provides an open-source Python client for the PwnedList API services.

Requirements:
- Python 2.7+
- Python Requests Library - http://docs.python-requests.org/en/latest/index.html
- Python Crypto Module - https://www.dlitz.net/software/pycrypto/

This script allows users to easily run calls against the API without the cumbersome details of properly building
HTTP requests and handling the return data. All the user needs to provide (besides the credentials) is the --path
and --payload parameters. --path is the name of the method you want to call, such as "domains.info" or "accounts.query".
--payload parameter is a JSON encoded dictionary object representing a list of key-value pairs to be passed to the API.
These are the API method arguments.

Example usage:
python2.7 ./pl-api-client.py \
    --key="YOURKEY" \
    --secret="YOURSECRET" \
    --path="domains.info" \
    --payload='{"domain_identifier":"DOMAIN.COM"}'

# Result output:
# {
#   u'domain': u'gmail.com',
#   u'first_seen': u'2007-09-04 00:00:00',
#   u'last_seen': u'2012-10-17 00:00:00',
#   u'num_entries': 2155000
# }

repository: pwnedlist/api

repo_name: pwnedlist/api