text:
---
title: Spinnaker GitOps with Halyard
aliases:
  - /docs/spinnaker-install-admin-guides/halyard-gitops/
description: >
  Create a workflow to store Spinnaker configuration files in GitOps and automate deployment.
---

## Spinnaker GitOps workflow

This approach enables the following workflow:

1. Spinnaker configurations are stored under source control.
2. Users have two options for updating configurations:
    * Clone the repo, make changes to the config files and commit the changes.
    * Clone the repo, run halyard container locally to update configurations using `hal` commands, and commit the changes.
3. A job in your existing CI tool automatically runs `hal deploy apply` to deploy Spinnaker changes.

## Step 1: Remove secrets from your Halyard configuration

Since we'll be storing Halyard configuration under source control, you need first to remove any secrets from it. Make sure to follow [these instructions]({{< ref "secrets" >}}).

## Step 2: Store your current configuration in source control

Create a new repository under source control with the following structure, copying your current Spinnaker configuration files:

```bash
README.md
<spin-installation-1>/
  hal/
    config
    ...
<spin-installation-2>/
  hal/
    config
    ...
<spin-installation-n>/
```

There are some files that you can safely ignore from source control, because they are auto generated when running some `hal` commands.

*.gitignore*
```bash
staging/
history/
```

You can manage multiple Spinnaker installations from a single repository.

## Step 3: Create helper scripts to run Halyard and deploy Spinnaker

Halyard needs to be run as a Docker container for portability across machines.

Here is a sample script to be put in the repo's root. It runs Halyard as a container, execs into it, and issues halyard commands. This example assumes AWS credentials present at `~/.aws` and `AWS_PROFILE` environment variable used to select the right profile from those credentials, but you can mount any authentication files or environment variables needed to run your Halyard commands.

*run-halyard.sh*
```bash
#/bin/bash

set -ex

ENVIRONMENT=$1

[[ "x$ENVIRONMENT" = "x" ]] && echo "Usage: $0 <spin installation>" && exit 1

export HALYARD_VERSION=x.x.x
export HAL_HOME=`pwd`/$ENVIRONMENT/hal
export AWS_HOME='~/.aws'

# Run container
docker run --name armory-halyard --rm \
    -v $HAL_HOME:/home/spinnaker/.hal \
    -v $AWS_HOME:/home/spinnaker/.aws \
    -e AWS_PROFILE \
    -d docker.io/armory/halyard-armory:$HALYARD_VERSION

# Wait for container to start
sleep 30

# Connect to the running conainer
docker exec -it armory-halyard bash
sleep 3

docker stop armory-halyard
```

This other script is used for your CI tool to automatically deploy Spinnaker changes after a commit is pushed to the repo. It's basically the same as the previous one but it only executes `hal deploy apply`. You need to account for this script being run in your CI environment; provide any authentication credentials needed by your environment.

*apply-configs.sh*
```bash
#/bin/bash

set -ex

ENVIRONMENT=$1

[[ "x$ENVIRONMENT" = "x" ]] && echo "Usage: $0 <spin installation>" && exit 1

# Delete dangling halyards
EXISTING=`docker ps -q -a -f name="halyard"`
if [ "x$EXISTING" != "x" ]
then
    docker stop $EXISTING && sleep 5
    EXISTING=`docker ps -q -a -f name="halyard"`
    if [ "x$EXISTING" != "x" ]
    then
        docker rm $EXISTING
    fi
fi

export HALYARD_VERSION=x.x.x
export HAL_HOME=`pwd`/$ENVIRONMENT/hal
export AWS_HOME='~/.aws'

# Run container
docker run --name armory-halyard --rm \
    -v $HAL_HOME:/home/spinnaker/.hal \
    -e AWS_ACCESS_KEY_ID \
    -e AWS_SECRET_ACCESS_KEY \
    -d docker.io/armory/halyard-armory:$HALYARD_VERSION

# Wait for container to start
sleep 30

# Apply the configurations
docker exec armory-halyard hal deploy apply

sleep 3

docker stop armory-halyard
```

Finally, this is a sample Jenkins pipeline that executes the above script.

repository: dev-chulbuji/docs

repo_name: dev-chulbuji/docs


text:
# Facial Emotion Recognition using CNN :
[![LICENCE.md](https://img.shields.io/github/license/PrudhviGNV/py-automl)](https://github.com/PrudhviGNV/py-automl/blob/master/LICENCE.md)[![Ask Me Anything !](https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg)](https://GitHub.com/PrudhviGNV)[![Open Source Love svg2](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/PrudhviGNV/open-source-badges/)
[![Awesome Badges](https://img.shields.io/badge/badges-awesome-green.svg)](https://github.com/PrudhviGNV/badges)

This is completely a deep learning project entirely based on neural networks and I think Facial emotion recognition(FER) project is one of the classical projects in deep learning.

We all know facial emotions play a vital role in our day-to-day life. so, we need a system which is capable of recognising our  facial emotions and able to act accordingly.

This project is the first step in that system.

![me emotion](https://user-images.githubusercontent.com/39909903/86574626-f8af6f80-bf2a-11ea-93f2-c58bd08bb871.PNG) --
![ntr emotion](https://user-images.githubusercontent.com/39909903/86574777-2f858580-bf2b-11ea-8aee-597f89f2b6b9.PNG)

Here I trained the convolution neural network with kaggle facial emotion dataset. so that it learns patterns for each facial expression and able to detect facial emotions

-------
### I wrote a medium blog on this project. you can find [here](https://medium.com/@prudhvi.gnv/ultimate-guide-for-facial-emotion-recognition-using-a-cnn-f9239fdc63ad?source=---------2------------------) for quick understanding and insights.

-----
_Feel free to download, clone , fork the project._

## Installation of python libraries:
  * keras with tensorflow as backend
  * OpenCV
  * numpy
  * pandas
  * matplotlib

## DataSet:
In this project I used kaggle dataset i.e

  https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition-challenge/overview

    we can use a kaggle API to access and download that dataset.

## Usage:
This project is in notebook format. I wrote the program in google colabs.

**Google colabs** is a cloud based notebook IDE which offers a free GPU and allows us to write python code snippets with ease.
It is almost similar to jupyter notebook but slight variations.
Some of the code snippets in the program is specific to google colabs. Dont get confuse.

In the notebook, I  explain all the concepts, pipeline , terminology , functions which is involved in the program in a clear and concised manner.
Even I also mention some of my insights , intuitions and observations in the project.

I document almost everything  that is used in the  program.

This notebook file is a complete wrapout  of practical exposure, understanding and theory.

  * facial_Emotion_Recognition_using_cnn.ipnb -->  main file
  * images folder --> consists of images to be tested and also contains screenshots of results of that images.
  * model.h5 --> saved weights of the model which is trained with 200 epochs
  * model.json --> saved architecture of the neural network.
  * haarcascade classifiers --> higly pretrained classifiers to detect faces.

The following is the results of the images. I also add the number of persons in the image and the relevant emojis to their emotions of the persons to create sense of feel.

![multistar_emotion](https://user-images.githubusercontent.com/39909903/86573388-33180d00-bf29-11ea-844a-09c8cea77467.PNG)
![mb_emotion](https://user-images.githubusercontent.com/39909903/86573436-41febf80-bf29-11ea-9f47-76a62f6a6a8e.PNG)
![khans_emotions](https://user-images.githubusercontent.com/39909903/86573368-2c899580-bf29-11ea-8588-3600004d7b77.PNG)

  Thanks, Hope you enjoy the project! :)

  ## Contributing:
  all pull requests are welcome. I felt glad if you give me any suggestions. (^_^)
 [![GitHub issues](https://img.shields.io/github/issues/PrudhviGNV/Facial-emotion-recognition-using-CNN)](https://github.com/PrudhviGNV/Facial-emotion-recognition-using-CNN/issues)

  ## Licence & copyright:
  © Prudhvi GNV, _Computer Science

  Licensed under the [MIT License](LICENSE)_
  [![GitHub license](https://img.shields.io/github/license/PrudhviGNV/Facial-emotion-recognition-using-CNN)](https://github.com/PrudhviGNV/Facial-emotion-recognition-using-CNN/blob/master/LICENSE)

  --------
## Contact:
         <a<EMAIL_ADDRESS>src="https://github.com/PrudhviGNV/PrudhviGNV/blob/master/logos/google-plus.png" width="40" />

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
## Build 24259
- **Build result:** `failed`
- **Build queued:** 12/15/2017 3:53:50 PM
- **Build duration:** 0.72 minutes
### Details
Build [24259](https://winappstudio.visualstudio.com/web/build.aspx?pcguid=a4ef43be-68ce-4195-a619-079b4d9834c2&builduri=vstfs%3a%2f%2f%2fBuild%2fBuild%2f24259) failed

+ PowerShell exited with code '1'.

Find detailed information in the [build log files](https://uwpctdiags.blob.core.windows.net/buildlogs/24259_logs.zip)

repository: delacruzjl/ServicesTemplateStudio

branch_name: refs/heads/sts-master

gha_language: C#

gha_license_id: NOASSERTION

repo_name: delacruzjl/ServicesTemplateStudio


text:
---
hrs_structure:
  division: '2'
  volume: '8'
  title: '23'
  chapter: 421J
  section: 421J-12
type: hrs_section
tags:
  - Business
menu:
  hrs:
    identifier: HRS_0421J-0012
    parent: HRS0421J
    name: 421J-12 Amendment of association documents when no procedure provided
weight: 42085
title: Amendment of association documents when no procedure provided
full_title: 421J-12 Amendment of association documents when no procedure provided
---
**§421J-12 Amendment of association documents when no procedure provided.** (a) Whenever an association document provides that it may be amended by the vote of association members at a meeting, the association document may also be amended by the written consent of the same percentage of association members without a meeting.

(b) Whenever neither an association document nor any applicable law provide procedures for amendment of that document, the association document may be amended by the vote or written consent of association members representing three-fourths of the votes which association members are entitled to cast with respect to a declaration and two-thirds of the votes which association members are entitled to cast with respect to other association documents; provided that this section shall not apply to articles of incorporation or any association documents which by their terms or as a matter of law may be adopted or amended by the board of directors. Nothing in this section shall be deemed to supersede or override any provision of any association documents related to amendments, or any provision of any law pertaining to associations or corporations.

(c) For purposes of this section, a requirement in any association document that an owner must sign an amendment to that document shall be satisfied by the receipt of a written consent signed by the owner. [L 1997, c 132, pt of §1; am L 2008, c 70, §4]

repository: SamMade/BlueAndKrabby

repo_name: SamMade/BlueAndKrabby


text:
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Linux Foundation prepares for disaster, new anti-tracking data set, Mozilla goes back to mobile OSes, and more open source news)
[#]: via: (https://opensource.com/article/20/3/news-march-14)
[#]: author: (Scott Nesbitt https://opensource.com/users/scottnesbitt)

Linux Foundation prepares for disaster, new anti-tracking data set, Mozilla goes back to mobile OSes, and more open source news
======
Catch up on the biggest open source headlines from the past two weeks.
![][1]

In this edition of our open source news roundup, we take a look at the Linux Foundation's disaster relief project, DuckDuckGo's anti-tracking tool, open textbooks, and more!

### Linux Foundation unveils Project OWL

When a disaster happens, it's vital to keep communications links up and running. One way to do that is with [mesh networks][2]. The Linux Foundation [has unveiled][3] Project OWL to "help build mesh network nodes for global emergency communications networks."

Short for _Organisation, Whereabouts, and Logistics_, OWL is firmware for Internet of Things (IoT) devices that "can quickly turn a cheap wireless device into a ‘DuckLink’, a mesh network node". Those devices can connect to other, similar devices around them. OWL also provides an analytics tool that responders can use for "coordinating resources, learning about weather patterns, and communicating with civilians who would otherwise be cut off."

### New open source tool to block web trackers

It's no secret that sites all over the web track their visitors.  To help web browser developers better protect their users, the team behind search engine DuckDuckGo is "[sharing data it's collected about online trackers with other companies so they can also protect your privacy][4]."

That dataset is called Tracker Radar and it "details 5,326 internet domains used by 1,727 companies and organizations that track you online". Browser Radar is different from other tracker databases in that it "annotates data with other information, like whether blocking a tracker is likely to break a website, so anyone using it can pick the best balance of privacy and convenience."

Tracker Radar's dataset is [available on GitHub][5]. The repository also links to the code for the [crawler][6] and [detector][7] that work with the data.

### Oregon Tech embracing open textbooks

With the cost of textbooks taking an increasingly large bite out of the budgets of university students, more and more schools are turning to open textbooks to cut those costs. By embracing open textbooks, the Oregon Institute of Technology has [save students $400,000][8] over the last two years.

The school offers open textbooks for 26 courses, ranging "from chemistry and biology, to respiratory care, sociology and engineering." Although the textbooks are free, university librarian John Schoppert points out that the materials are of a high quality and that faculty members have been "developing lab manuals and open-licensed textbooks where they hadn’t existed before and improved on others’ materials."

### Mozilla to help update feature phone OS

A few years ago, Mozilla tried to break into the world of mobile operating systems with Firefox OS. While that effort didn't pan out, Firefox OS found new life powering low-cost feature phones under the name KaiOS. Mozilla's [jumping back into the game][9] by helping "modernize the browser engine that's core to the software."

KaiOS is built upon a four-year-old version of Mozilla's Gecko browser engine. Updating Gecko will "improve security, make apps run faster and more smoothly, and open [KaiOS to] more-sophisticated apps and WebGL 2.0 for better games graphics." Mozilla said its collaboration will include "Mozilla's help with test engineering and adding new low-level Gecko abilities."

#### In other news

  * [CERN adopts Mattermost, an open source messaging app][10]
  * [Open-source software analyzes economics of biofuels, bioproducts][11]
  * [Netflix releases Dispatch for crisis management orchestration][12]
  * [FreeNAS and TrueNAS are merging][13]
  * [Smithsonian 3D Scans NASA Space Shuttle Discovery And Makes It Open Source][14]

Thanks, as always, to Opensource.com staff members and [Correspondents][15] for their help this week.

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

via: https://opensource.com/article/20/3/news-march-14

作者：[Scott Nesbitt][a]
选题：[lujun9972][b]
译者：[译者ID](https://github.com/译者ID)
校对：[校对者ID](https://github.com/校对者ID)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

[a]: https://opensource.com/users/scottnesbitt
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/weekly_news_roundup_tv.png?itok=tibLvjBd
[2]: https://en.wikipedia.org/wiki/Mesh_networking
[3]: https://www.smartcitiesworld.net/news/news/linux-announces-open-source-project-to-aid-disaster-relief-5102
[4]: https://www.cnet.com/news/privacy-focused-duckduckgo-launches-new-effort-to-block-online-tracking/
[5]: https://github.com/duckduckgo/tracker-radar
[6]: https://github.com/duckduckgo/tracker-radar-collector
[7]: https://github.com/duckduckgo/tracker-radar-detector
[8]: https://www.heraldandnews.com/news/local_news/oregon-tech-turns-to-open-source-materials-to-save-students/article_ba641e79-3034-5b9a-a8f7-b5872ddc998e.html
[9]: https://www.cnet.com/news/mozilla-helps-modernize-feature-phones-powered-by-firefox-tech/
[10]: https://joinup.ec.europa.eu/collection/open-source-observatory-osor/news/cern-uses-mattermost
[11]: http://www.biomassmagazine.com/articles/16848/open-source-software-analyzes-economics-of-biofuels-bioproducts
[12]: https://jaxenter.com/netflix-dispatch-crisis-management-orchestration-169381.html
[13]: https://liliputing.com/2020/03/freenas-and-turenas-are-merging-open-source-operating-systems-for-network-attached-storage.html
[14]: https://www.forbes.com/sites/tjmccue/2020/03/04/smithsonian-3d-scans-the-nasa-space-shuttle-discovery-and-makes-it-open-source/#39aa0f243ecd
[15]: https://opensource.com/correspondent-program

url: https://raw.githubusercontent.com/messon007/TranslateProject/bc508fdbd04843a9f300570e378f5578ba89c72e/sources/news/20200314 Linux Foundation prepares for disaster, new anti-tracking data set, Mozilla goes back to mobile OSes, and more open source news.md

gha_language: Shell


text:
[x] Add Readme file.

[X] Include many to many relationship.
    - User has many projects.  Project belongs to User.  User has many clients through projects.
    - Client has many projects.  Client belongs to User.  Client has many users through projects.

[X] Include on has_many and belongs_to relationship.
    - Project has many comments.  Comment belongs to a Project.

[X] You must include a nested new route with form that relates to the parent resource
  client/1/project/1/new
[X] You must include a nested index or show route
  client/1/project/1

[X] Include Authenticationsystem
    -Bcrypt

[X] Include Omniauth

[X] Include validations
    User - validates presence and uniqueness of username and email.
    Client - validates presence and uniqueness of company_name.
    Project - validates presence of name, description and client.
    Comment - validates presence of content.

[X] Include one scope method

[X] Perform CRUD actions on the following models
    - Client
    - Project
    - Comment
    - User, only create and read.

repository: nicoledag/rails-project-manager

gha_language: Ruby

repo_name: nicoledag/rails-project-manager


text:
---
title: Just came back from a little holiday
categories: Personal
tags: Travel
date: 2005-01-27 01:22:00 +10:00
---

I have just come back from a little holiday up in the mountains. It seems that Australia has found some new species of Kangaroos and Wombats. Be on the lookout if you are driving on Australia's rural roads.

![PhotoKanga][0]

![PhotoWombatKanga][1]

![PhotoKangaSki][2]

These ones gave me a bit of a giggle too:

![PhotoRocket][3]

![PhotoIcy][4]

[0]: /files/WindowsLiveWriter/Justcamebackfromalittleholiday_128A4/PhotoKanga_1.jpg
[1]: /files/WindowsLiveWriter/Justcamebackfromalittleholiday_128A4/PhotoWombatKanga_1.jpg
[2]: /files/WindowsLiveWriter/Justcamebackfromalittleholiday_128A4/PhotoKangaSki_1.jpg
[3]: /files/WindowsLiveWriter/Justcamebackfromalittleholiday_128A4/PhotoRocket_1.jpg
[4]: /files/WindowsLiveWriter/Justcamebackfromalittleholiday_128A4/PhotoIcy_1.jpg

license: MIT,Unlicense

detected_licenses: MIT Unlicense

gha_language: SCSS

gha_license_id: MIT


text:
---
name: Public API Feedback
about: Feedback about the netCDF-Java Public API.
title: ''
labels: 'public api'
assignees: ''
---

To provide feedback about the netCDF-Java Public API, please list:

* the fully qualified class or classes, including methods
* a description of the issues or concerns

If you have a general question about the software or API, please view our [Suggested Support Process](https://www.unidata.ucar.edu/support/#process).

repository: Unidata/netcdf-java

gha_language: Java

repo_name: Unidata/netcdf-java


text:
[> Bare Metal Demo App
----------------------

This directory provides a minimal bare metal demo app that demonstrates how to easily create a bare metal C application and load it/run it on the CPU of a SoC.

[> Build and Load over LiteX-Term
---------------------------------

To build a LiteX SoC for the Arty board (available in LiteX-Boards) and build the demo app for it, execute the following commands:
```
python3 -m litex_boards.targets.digilent_arty --build --load
litex_bare_metal_demo --build-path=build/digilent_arty
```
Where `--build-path` is the build path to the Arty build directory. The Arty board is used here but almost any another board supported in LiteX-Boards could be used. When no external RAM is provided directly by the board, `--integrated-main-ram-size` argument could be used to add some integrated RAM in the SoC and be able to execute the demo from it. (ex `--integrated-main-ram-size=0x8000` will add 32KB of integrated RAM).

Loading the compiled demo app can be done in different ways as explain in LiteX's wiki:
https://github.com/enjoy-digital/litex/wiki/Load-Application-Code-To-CPU

Since our app is small and for simplicity we'll just load it over serial here:
 `$ litex_term /dev/ttyUSBX --kernel=demo.bin`

You should see the minimal demo app running and should be able to interact with it:

    --============== Boot ==================--
    Booting from serial...
    Press Q or ESC to abort boot completely.
    sL5DdSMmkekro
    [LITEX-TERM] Received firmware download request from the device.
    [LITEX-TERM] Uploading demo.bin to 0x40000000 (9264 bytes)...
    [LITEX-TERM] Upload complete (9.8KB/s).
    [LITEX-TERM] Booting the device.
    [LITEX-TERM] Done.
    Executing booted program at 0x40000000

    --============= Liftoff! ===============--

    LiteX minimal demo app built Dec 10 2020 17:13:02

    Available commands:
    help               - Show this command
    reboot             - Reboot CPU
    led                - Led demo
    donut              - Spinning Donut demo
    litex-demo-app> led
    Led demo...
    Counter mode...
    Shift mode...
    Dance mode...
    litex-demo-app> donut
    Donut demo...

                                          $$$$$@@@@@
                                      $##########$$$$$$$$
                                   ###*!!!!!!!!!***##$$$$$$
                                 ***!!====;;;;===!!**###$$$$#
                                **!===;;;:::::;:===!!**####$##
                              !*!!==;;:~-,,.,-~::;;=!!**#######!
                              !!!!=;:~-,.......-~::==!!***#####*
                             !!!!==;~~-.........,-:;==!!***###**!
                             !**!!=;:~-...     ..-:;=!!!********!
                            ;!*#####*!!;.       ~:;==!!!******!!=
                            :!*###$$$$#*!      :;==!!!!!****!!!=;
                            ~=!*#$$$@@@$$##!!!!!!!!!!!!****!!!!=;
                             ;=!*#$$$@@@@$$#*******!*!!*!!!!!==;~
                             -;!*###$$$$$$$###******!!!!!!!===;~
                              -;!!*####$#####******!!!!!!==;;:-
                               ,:=!!!!**#**#***!!!!!!!====;:~,
                                 -:==!!!*!!*!!!!!!!===;;;:~-
                                   .~:;;========;=;;:::~-,
                                      .--~~::::~:~~--,.
    litex-demo-app>

[> Replace the LiteX BIOS with the Demo App
-------------------------------------------
In some cases, we'll just want to replace the LiteX BIOS with our custom app. This demo can be used as a basis to create a such custom app.

The demo will be recompiled to target the ROM of the SoC:
```
litex_bare_metal_demo --build-path=build/arty/ --mem=rom
```

The SoC can then be re-compiled to integrate the demo app in the ROM with:
```
python3 -m litex_boards.targets.digilent_arty --integrated-rom-init=demo.bin --build --load
```

When loading the bitstream, you should then directly see the demo app executed:
```
    LiteX minimal demo app built Dec 10 2020 17:13:02

    Available commands:
    help               - Show this command
    reboot             - Reboot CPU
    led                - Led demo
    donut              - Spinning Donut demo
    litex-demo-app>
```

[> Going further
----------------
To create more complex apps, feel free to explore the source code of the BIOS or other open source projects build with LiteX at https://github.com/enjoy-digital/litex/wiki/Projects.

repository: enjoy-digital/litex

gha_language: C

repo_name: enjoy-digital/litex


text:
# Get Prometheus metrics from CSI driver

## Metrics description

The metrics emitted by the Azure Disk CSI Driver fall broadly into two categories: CSI and Azure Cloud operation latency metrics. The CSI metrics record the latency of the CSI calls made to the driver, e,g, `ControllerPublishVolume`. The Azure Cloud metrics record the latency of Azure Cloud operations perform as part driver operation, e.g. `attach_disk`. The individual operation metrics are recorded in two different [histogram](https://prometheus.io/docs/concepts/metric_types/#histogram) metrics using the labels `request` and/or `source` to differentiate among the operations. The table below describes the values of the individual operation metrics.

| Name | `request` | `source` | Description |
|------|-----------|----------|-------------|
| `cloudprovider_azure_op_duration_seconds` | | | Records the CSI operation metrics |
| | `azuredisk_csi_driver_controller_create_volume` | `disk.csi.azure.com` | `ControllerCreateVolume` latency |
| | `azuredisk_csi_driver_controller_delete_volume` | `disk.csi.azure.com` | `ControllerDeleteVolume` latency |
| | `azuredisk_csi_driver_controller_expand_volume` | `disk.csi.azure.com` | `ControllerExpandVolume` latency |
| | `azuredisk_csi_driver_controller_create_snapshot` | `disk.csi.azure.com` | `ControllerCreateSnapshot` latency |
| | `azuredisk_csi_driver_controller_delete_snapshot` | `disk.csi.azure.com` | `ControllerDeleteSnapshot` latency |
| | `azuredisk_csi_driver_controller_publish_volume` | `disk.csi.azure.com` | `ControllerPublishVolume` latency |
| | `azuredisk_csi_driver_controller_unpublish_volume` | `disk.csi.azure.com` | `ControllerUnpublishVolume` latency |
| `cloudprovider_azure_api_request_duration_seconds` | | | Records the Azure Cloud operation metrics |
| | `disks_create_or_update` | | `create_disk` latency |
| | `disks_delete` | | `delete_disk` latency |
| | `disks_update` | | `resize_disk` latency |
| | `snapshot_create_or_update` | | `create_snapshot` latency |
| | `snapshot_delete` | | `delete_snapshot` latency |
| | `vmssvm_updateasync` (VM Scale Set) or `vm_updateasync` (VM Availability Set) | `attach_disk` | Initiation latency of an asynchronous `attach_disk` operation |
| | `vmss_wait_for_update_result` (VM Scale Set) or `vm_wait_for_update_result` (VM Availability Set)  | `attach_disk` | Completion wait latency of an asynchronous `attach_disk` operation |
| | `vmssvm_update` (VM Scale Set) or `vm_update` (VM Availability Set)  | `detach_disk` | `detach_disk` latency |

## Prometheus integration

To enable Prometheus to discover the Azure Disk CSI Driver and scrape its metrics, run the following commands. This assumes you have already installed [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator) or [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) to your cluster.

```console
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/metrics/csi-azuredisk-controller-svc.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/metrics/csi-azuredisk-controller-monitor.yaml
```

The first creates a `Service` object that exposes the default Azure Disk CSI Driver's controller metric port through a `ClusterIP`. The second creates a `ServiceMonitor` object that allows Prometheus to discover the controller's metrics server and begin to scrape metrics from it.

## Direct scraping

To scrape metrics directly from the Azure Disk CSI Driver controller, first get the leader node for one of the CSI sidecars depending on the metrics you wish to observe:

| Sidecar | Lease Lock Name | CSI Metrics | Azure Cloud Metrics |
|---------|-----------------|-------------|---------------------|
| `external-provisioner` | `disk-csi-azure-com` | `ControllerCreateVolume` & `ControllerDeleteVolume` | `create_disk` & `delete_disk` |
| `external-attacher` | `external-attacher-leader-disk-csi-azure-com` | `ControllerPublishVolume` & `ControllerUnpublishVolume` | `attach_disk` & `detach_disk` |
| `external-resizer` | `external-resizer-disk-csi-azure-com` | `ControllerExpandVolume` | `resize_disk` |
| `external-snapshotter` | `external-snapshotter-leader-disk-csi-azure-com` | `ControllerCreateSnapshot` & `ControllerDeleteSnapshot` | `create_snapshot` & `delete_snapshot` |

The leader sidecar communicates with the Azure Disk CSI Driver on the same node to manage Azure Managed Disks. Once you determine which set of metrics you want to scrape, use the leader election lease name to find the current leader and set up a local port forwarder to the Azure Disk CSI Driver's metrics port. For example, run the following commands to set up port forwarding to the Azure Disk CSI Driver metrics server in the pod with the `external-attacher` leader:

```console
LEADER_LEASE=external-attacher-leader-disk-csi-azure-com
LEADER_NODE=$(kubectl get lease -n kube-system "${LEADER_LEASE}" --output jsonpath='{.spec.holderIdentity}')
LEADER_POD=$(kubectl get pod -n kube-system -l app=csi-azuredisk-controller --output jsonpath="{.items[?(@.spec.nodeName==\"${LEADER_NODE}\")].metadata.name}")
kubectl port-forward -n kube-system "pods/${LEADER_POD}" 29604:29604 &
PORTFORWARDER=$!
```

This example gets the name of the node holding the CSI `external-attacher` leader election lease lock, finds the name of the Azure Disk CSI Driver pod containing the leader and sets up port forwarding to the metrics server on localhost port 29604. After waiting for the port forwarder to initialize and begin serving requests, you can then get the metrics.

The format of the data returned by the Azure Disk CSI Driver metrics server is described in [Prometheus Exposition Formats](https://prometheus.io/docs/instrumenting/exposition_formats/).

### Example: Get `ControllerPublishVolume` and `ControllerUnpublishVolume` metrics

Once you have set up port forwarding, you can use the following command to get the `ControllerPublishVolume` and `ControlUnpublishVolume` metrics.

```console
curl http://localhost:29604/metrics | grep -E "cloudprovider_azure_op_duration_seconds_(sum|count)" | grep -E "request=\"azuredisk_csi_driver_controller_(un)?publish_volume\""
```

We can calculate the average latency of each operation by dividing its `*_sum` by `*_count` metric. The `*_sum` value is in seconds. The following output shows an average `ControllerPublishVolume` latency of 9.5s and `ControllerUnpublishVolume` of 13.7s.

```
cloudprovider_azure_op_duration_seconds_sum{request="azuredisk_csi_driver_controller_publish_volume",resource_group="edreed-k8s-failover-rg",source="disk.csi.azure.com",subscription_id="d64ddb0c-7399-4529-a2b6-037b33265372"}<PHONE_NUMBER>3399998
cloudprovider_azure_op_duration_seconds_count{request="azuredisk_csi_driver_controller_publish_volume",resource_group="edreed-k8s-failover-rg",source="disk.csi.azure.com",subscription_id="d64ddb0c-7399-4529-a2b6-037b33265372"} 19
cloudprovider_azure_op_duration_seconds_sum{request="azuredisk_csi_driver_controller_unpublish_volume",resource_group="edreed-k8s-failover-rg",source="disk.csi.azure.com",subscription_id="d64ddb0c-7399-4529-a2b6-037b33265372"}<PHONE_NUMBER>8299998
cloudprovider_azure_op_duration_seconds_count{request="azuredisk_csi_driver_controller_unpublish_volume",resource_group="edreed-k8s-failover-rg",source="disk.csi.azure.com",subscription_id="d64ddb0c-7399-4529-a2b6-037b33265372"} 17
```

### Example: Get `attach_disk` and `detach_disk` metrics

```console
curl http://localhost:29604/metrics | grep -E "cloudprovider_azure_api_request_duration_seconds_(sum|count)" | grep -E "source=\"(attach_disk|detach_disk)\""
```

To calculate the average `attach_disk` latency, we must sum the initiation and completion wait latencies. These are 3.6363432579999997 and<PHONE_NUMBER>93, respectively, in the output below. The sum is<PHONE_NUMBER>509999997. We then divide by the count from either `attach_disk` metric since the two latencies represent one total operation. We see 14 `attach_disk` operations, so the average latency is 12.9s.

repository: kubernetes-sigs/azuredisk-csi-driver

gha_language: Go

repo_name: kubernetes-sigs/azuredisk-csi-driver


text:
# CreateAccountResponse

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Account** | Pointer to [**Account**](Account.md) |  | [optional]
**ResponseContext** | Pointer to [**ResponseContext**](ResponseContext.md) |  | [optional]

## Methods

### NewCreateAccountResponse

`func NewCreateAccountResponse() *CreateAccountResponse`

NewCreateAccountResponse instantiates a new CreateAccountResponse object
This constructor will assign default values to properties that have it defined,
and makes sure properties required by API are set, but the set of arguments
will change when the set of required properties is changed

### NewCreateAccountResponseWithDefaults

`func NewCreateAccountResponseWithDefaults() *CreateAccountResponse`

NewCreateAccountResponseWithDefaults instantiates a new CreateAccountResponse object
This constructor will only assign default values to properties that have it defined,
but it doesn't guarantee that properties required by API are set

### GetAccount

`func (o *CreateAccountResponse) GetAccount() Account`

GetAccount returns the Account field if non-nil, zero value otherwise.

### GetAccountOk

`func (o *CreateAccountResponse) GetAccountOk() (*Account, bool)`

GetAccountOk returns a tuple with the Account field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetAccount

`func (o *CreateAccountResponse) SetAccount(v Account)`

SetAccount sets Account field to given value.

### HasAccount

`func (o *CreateAccountResponse) HasAccount() bool`

HasAccount returns a boolean if a field has been set.

### GetResponseContext

`func (o *CreateAccountResponse) GetResponseContext() ResponseContext`

GetResponseContext returns the ResponseContext field if non-nil, zero value otherwise.

### GetResponseContextOk

`func (o *CreateAccountResponse) GetResponseContextOk() (*ResponseContext, bool)`

GetResponseContextOk returns a tuple with the ResponseContext field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetResponseContext

`func (o *CreateAccountResponse) SetResponseContext(v ResponseContext)`

SetResponseContext sets ResponseContext field to given value.

### HasResponseContext

`func (o *CreateAccountResponse) HasResponseContext() bool`

HasResponseContext returns a boolean if a field has been set.

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

repository: outscale/osc-sdk-go

repo_name: outscale/osc-sdk-go


text:
# Examples

The best way to get a feel for the Style language is to take a look at the many working examples in the [example gallery](https://penrose.cs.cmu.edu/examples). The [tutorial](/docs/tutorial/welcome) also walks through several examples.

repository: penrose/penrose

branch_name: refs/heads/main

gha_language: TypeScript

repo_name: penrose/penrose


text:
# Project Files Directory
Main Project Directory. for use in Godot 3.23+.

## Use:
This directory rganizes the file structure that runs Godot.

Godot is a game engine that organizes trees of nodes into reusable scenes, wiring said nodes with signals that interact with GDScript.

## Information:
_This is meant to be a dummy template repository for basic learning and git version control.
I will comment frequently as I work on this and other similar projects._

### - [Assets](./assets) Directory
Directory of media.

### - [SRC](./src) Directory
Directories of nodes.

### - [Icon](./icon.png)
[![logo](icon.png)](./icon.png) **icon.png**

One can change **icon.png** to be the logo for any project. It will display here, in Godot, and in the root [README](../README.md) file.

### - project.GODOT file
What Godot will have to open to make sens of these files.

### - LICENSE file
Godot's Copyright and MIT License information

### - Addons
The addons directory is ignored by root `.gitignore`.
Include needed addons either in the main Project Files Directory, or in a subfolder other than addons.
This is mainly a personal preference by me to avoid uploading unecessary copies of [Wakatime For Godot](https://github.com/thomazthz/godot-wakatime),
A useful tool but extraneous and unecessary to share(especially when considering security).

### - Post Scriptum
If you're reading this,

👋Thank You for taking a peek! More to come.

#
## Contributing
[Jackson Goodman](https://github.com/jacksonrgoodman)
## License
[MIT](https://choosealicense.com/licenses/mit/)

repository: jacksonrgoodman/Dummy-Godot-Project

gha_language: GDScript

repo_name: jacksonrgoodman/Dummy-Godot-Project


text:
# Deep Java Library examples

The repository contains the source code of the examples for [Deep Java Library](http://djl.ai) (DJL) - an
framework-agnostic Java API for deep learning.

## [Malicious URL Detector](malicious-url-detector/README.md)

An example application detects malicious urls based on a trained Character Level CNN model.

repository: timmattison/djl-demo

repo_name: timmattison/djl-demo


text:
Elcano Vision Subsystem
=======================

This is the subcomponent of the Elcano project that uses a Raspberry Pi
to scan the area for obstacles with OpenCV.

Dependencies
------------

- [meson](http://mesonbuild.com) and [ninja](https://ninja-build.org) (building)
- [bison](https://gnu.org/software/bison) and [flex](http://flex.sf.net) (generating the serial parser)
- [opencv](http://opencv.org) (object detection)
- [raspicam](https://github.com/cedricve/raspicam) (raspberry pi camera interface)
- [wjwwood/serial](https://github.com/wjwwood/serial) (serialization over usb)
	- This is included in-tree in `serial-1.2.1/`
- [taywee/args](https://github.com/taywee/args) (argument parser)
	- This is included in-tree in `args.hh`

Note that raspicam lacks a pkgconf file, so we manually create the
dependency in `meson.build`. Also, the serial dependency has a custom
`meson.build` file because the original project uses a bizare system
that I was having problems with. It may be a good idea to try and
upstream the build file.

Build Instructions
------------------

	mkdir build
	meson.py build
	cd build
	ninja

Usage
-----

The main executable file is called `elcano-pi`, and it uses these options:

	--help     -h   Display the help dialouge
	--scale    -s   The scale of the images
	--cascade  -c   Location of the cascade classifier file
	--device   -d   The output device to send to
	--baudrate -b   The baudrate of the output device to send to

Developer Overview
------------------

- `main.cc`: The driver function
- `detect.cc`: Uses OpenCV to detect objects with the camera
- `transform.cc`: Computes transformations between the world and a photo
- `arduino.*`: Oversees the communication between the Pi and the arduino(s)
	- `arduino.cc`: Code for writing data
	- `arduino.l`: Lexical scanner for the Elcano_Serial format
	- `arduino.y`: Semantic parser for the Elcano_Serial format
- `test-*.cc`: Test code for the specified file

Todo
----

- Generate a classifier file for a cone (`detect.cc`)
- The exact transformation between the input from localization and the output to the driver (`transform.cc`)
- Write a test suite for `detect.cc`


text:
# Documentation Summary

[◂ Back to readme](../../readme.md) | [Event Prospection ▸](01-event-prospection.md)
-- | --

## Introduction

Welcome to the Iquety Prospection library documentation. Here you will find the necessary information to use the available functionalities and make the most of the library.

### Contents

- [Event Prospection](01-event-prospection.md)
- [Event Store](02-event-store.md)
- [Entities](03-entities.md)

repository: iquety/prospection

repo_name: iquety/prospection


text:
# Scripts to set up data for crowdevaluation

Results of the scripts in this folder, scripts in the folder c*code*

##Requirements

- wikidata-triples.csv: all triples of Wikidata from a dump in csv format
- wikidata-labels-XX.csv: all labels for Wikidata items in a specific language in csv format
- wikidata-labels-en.csv: English labels in csv format for fallback if no label exists in specified language

##Run in the following order:

1. get-random-sentences.py
2. get-triples.py
3. get-labels.py
4. get-copy-paste.py

##Will produce the following output files (XX for the language code, in the case of Esperanto eo, for Arabic ar):

- *get-random-sentences.py*: XX-sentences.csv
- *get-triples.py*: folder (XX-triples) and file for each sentence called <entity-id>-XX.csv
- *get-labels.py*: folder (XX-triples-labels) and file for each sentence called <entity-id>-XX.csv
- *get-copy-paste.py*: a file in folder results called final-file.txt with a formatting for copy pasting the data

repository: pvougiou/Mind-the-Language-Gap

repo_name: pvougiou/Mind-the-Language-Gap


text:
# System

The container of all system components is `System`.

This Section is under construction, refer to the [# Constructing a System from raw dat](@ref Constructing a System from raw dat) section.

```@docs
System
```


text:
Android Unit and Integration test sandbox
===================================

This sandbox provides examples of using an espresso-based tests to probe the
internal state of an Activity and new android unit tests which are run on local JVM (Like robolectric).

Pre-requisites
--------------

- Android SDK v22
- Android Build Tools v22
- Android Support Repository

Getting Started
---------------

This sample uses the Gradle build system. To build this project, use the
"gradlew build" command or use "Import Project" in Android Studio.

Misc
-------

Author: Konst Kolesnichenko (mr_const)

License
-------

This code is distributed under the terms and conditions of the MIT license.

repository: mr-const/testing-sandbox

repo_name: mr-const/testing-sandbox


text:
## Vue itemfinder

A Vue.js project using firebase (for Auth & CRUD) to allow students at the University of Maryland to mark locations using google maps, and post information about items they may have lost or found around campus and where they may have left them. The main need for this site is that UMDPD, although effective, sometimes has a delay of when they can get to each building to collect the found items and enter them into their own database/website. With that, I made a simple app where people can post what they found or lost, and where they left it.

## [Preview is live](https://cricketthomas.github.io/vuefinder/)
## login with:
user<EMAIL_ADDRESS>password: 123456
## Notes:
 - Just testing out an idea with this

# Future Plans:
1.[ Offer the option to view the locations address rather than a pin](https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse#try-it-yourself)

<img src="./screenshots/main.png" width="600">

## Build Setup

``` bash
# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build
```

For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).

repository: cricketthomas/vuefinder

gha_language: Vue

repo_name: cricketthomas/vuefinder


text:
# Test Instructions

The instructions will show you how to set up Conctr so that the tests can be run.

## Setting up a Conctr model
1. Go to [Conctr](https://staging.conctr.com/signin) if you have an account login otherwise sign up
1. Navigate to the Dashboard and click "Create Application"
1. Enter "Test" in the Application Name box then press the "Create" button
1. You will be returned to the Dashboard. Click on the "Test" application
1. Click on the "Models" tab
1. Click on the "Create Model" button
1. In the model Name box write "testModel"
1. In the "Add Standard Field" dropdown box select temperature
1. In the "Add Standard Field" dropdown box select humidity
1. Click "Create Model"
1. Navigate to the View Models Tabs
1. Click "Example" next to your "testModel" model
1. In the Payload Example Click the "Squirrel" tab
1. In the agent section note you APP_ID, API_KEY and MODEL

Within the agent.test.nut there are 3 constants that need to be configured.

Parameter      | Description
-------------- | -----------
APP_ID         | Your Conctr application id
API_KEY        | Your Conctr api key
MODEL          | Your Conctr Application model name

## Agent and device files
The agent and device files for imptest are located in the build_files folder.

# License

The Conctr library is licensed under the [MIT License](../LICENSE).

repository: Conctr/squirrel

gha_language: Squirrel

repo_name: Conctr/squirrel


text:
# Calcultor
![App icon](https://github.com/im-arjun/Calculator/blob/master/Art/app_icon.png "App icon")
### This is a simple calculator android application with basic functions. This app has similar interface of normal pocket calculator we use in daily life.

![Display screen 1](https://github.com/im-arjun/Calculator/blob/master/Art/Screen1.png "Screenshot 1")
![Display screen 2](https://github.com/im-arjun/Calculator/blob/master/Art/Screen2.png "Screenshot 2")

<pre>

</pre>

[Click here to download the latest release](https://github.com/im-arjun/Calculator/releases)

>Special Note : I made this app just after learning the basics of android development and this is my first android app, Here i used my own logic and there may be better way. I will update this app as i'm going forward in the android development jouney. Any feedback and comment are always appreciated.
---

repository: arjun-sasidharan/Calculator

repo_name: arjun-sasidharan/Calculator


text:
---
title: "Deploy Helm"
chapter: true
weight: 63
draft: true
---

# Deploy Helm

In this Chapter, we will deploy [Helm](https://helm.sh/) the Kubernetes Package Manager.

[Helm](https://helm.sh/) is a tool for managing Kubernetes charts. Charts are packages of pre-configured Kubernetes resources.

[Helm](https://helm.sh/) is a tool that streamlines installing and managing Kubernetes applications. Think of it like apt/yum/homebrew for Kubernetes.

![Helm Logo](/images/helm-logo.svg)

repository: mperi/eks-workshop

repo_name: mperi/eks-workshop


text:
# healthcheck

A simple CLI tool to health check a Minecraft server inside a Docker container.

This tool is based on the package [minepong](https://github.com/andrewtian/minepong) from [andrewtian](https://github.com/andrewtian). We are just using our fork for API and availability consistency reasons.

repository: evolvedpacks/healthcheck

repo_name: evolvedpacks/healthcheck


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

### Description

The make_indexed_dir function in fs/ext4/namei.c in the Linux kernel 2.6.27 before <IP_ADDRESS> and 2.6.28 before <IP_ADDRESS> does not validate a certain rec_len field, which allows local users to cause a denial of service (OOPS) by attempting to mount a crafted ext4 filesystem.

### POC

#### Reference
- http://www.vmware.com/security/advisories/VMSA-2009-0016.html

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

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
## Class to calculate increment of variables based on time (units per seconds)
Originally published: 2008-08-16 19:29:40
Last updated: 2008-08-18 16:29:08
Author: nosklo

A simple calculation of small increments to be applied to a variable, given the variable time that has passed since last update, to make a linear increase over time (in units per second).

gha_language: Python


text:
[![Build status](https://ci.appveyor.com/api/projects/status/si40sx6k2lkfc7w0?svg=true)](https://ci.appveyor.com/project/anupkumarsharma/jinga)
[![Latest version](https://img.shields.io/nuget/v/jinga.svg)](https://www.nuget.org/packages?q=jinga)
Jinga
=======
Jinga pronounced as Zynga provides a solution to handle the **file transformations using simple YAML file as input**.
YAML provides the best way to maintain different variables and maintain values of those, for a different type of environment or setting.
Variables can be defined to be substituted by any of the following mechanism.
- String Replacement
- XPath Replacement
- Regex Replacement

Developer Scenario
-------------
Developers often work with configuration files locally like web.config, app.config  and during build/release process, these files need to be transformed as per the environment values.
This becomes a tedious process for continuous integration. Idea is to replace this step with a simple script, which can handle the substitutions of the variable at any point in time
and can transform the file with correct values.

A Jinga Invocation
-------------
```powershell

Invoke-Jinga  -yamlFile$yamlFilepath -backup $backupfilePath -environmentType 'development' -scriptPath $relativePathOfYaml
```

Example
-------------
```powershell
..\packages\jinga.0.0.4-beta\Jinga.ps1 -yamlFile 'jinga.yaml'  -backup '.\backup\' -environmentType 'development' -scriptPath .
..\packages\jinga.0.0.4-beta\Jinga.ps1 -yamlFile 'jinga.yaml'  -backup '.\backup\' -environmentType 'development' -scriptPath 'c:\MySolution'

```

YAML Configuration
-------------
```YAML
Configuration:
 - Define:
    TypeXpath:
      host:  /file/foo[@attribute='bar']/@attribute
    TypeRegEx:
      regexpression:  '\.\d{2}\.'
 - RuleSet:
    File: 'web.config'
    Substitute:
     development:
      database: myapp_development
      adapter:  postgres
      host:     AnupHost
      regexpression: 10
     test:
      database: myapp_test
      adapter:  postgres
      host:     localhost
 - RuleSet:
    File: 'app.txt'
    Substitute:
     development:
      database: myapp_development
      adapter:  postgres
      host:     localhost
      regexpression: 1010
     test:
      database: myapp_test
      adapter:  postgres
      host:     localhost
```

Known Scenarios
-------------
- When invoking the script invocation path should be location of jinga.ps1, while scriptPath should be path where yaml file is located. Any target files
 that needs to be transformed should be relative to scriptPath.

This is still in active development and stable release will be out by Jan 2017

repository: anupkumarsharma/Jinga

gha_language: PowerShell

repo_name: anupkumarsharma/Jinga


text:
---
layout: default
---

# 1995-12-01 - Re: key for Alice as promised (not)

## Header Data

From: "Thomas C. Allard"<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: a65873b6f2beb985cbe27cdf55084f78bd6d0386e2b741f5e095fbfa3aeac412

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1995-12-01 20:26:40 UTC

Raw Date: Sat, 2 Dec 1995 04:26:40 +0800

## Raw message

```
{% raw  %}From: "Thomas C. Allard"<EMAIL_ADDRESS>Date: Sat, 2 Dec 1995 04:26:40 +0800
To<EMAIL_ADDRESS>Subject: Re: key for Alice as promised (not)
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

-----BEGIN PGP SIGNED MESSAGE-----

If Alice is so afraid of using PGP, then he's sending his messages through
the remailer chain unencrypted (if it even goes through a chain).  In that
case, the FIRST remailer knows who Alice is... it sees his message, the final
destination, and Alice's real address.

rgds-- TA<EMAIL_ADDRESS>                                           +-+
I don't speak for the Federal Reserve Board, it doesn't speak for me.   |X|
pgp fingerprint: 10 49 F5 24 F1 D9 A7 D6  DE 14 25 C8 C0 E2 57 9D       +-+

-----BEGIN PGP SIGNATURE-----
Version: 2.7

iQCVAwUBML9awKAudFplx0TNAQFUZAQAqjrSOlgy7erUi8eDqdWUNkuVgDBLiJk8
dkxaiTU4pbw+hpQzfydMipxJi3VxVuDiL54k7jEM8NoTPFZTQWPB1NuzOGIvBHPy
FvxX3ojlk53/1ZYJBQaoy5eiYaGpyS/KgmLI0XCitT4h3LHNcVk6UrM7PQNURLWK
DETslOeBykM=
=A3Vf
-----END PGP SIGNATURE-----

{% endraw %}
```

## Thread

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

+ Return to "["Thomas C. Allard" <m1tca00@FRB.GOV>](/authors/thomas_c_allard_m1tca00_at_frb_gov_)"

+ 1995-12-01 (Sat, 2 Dec 1995 04:26:40 +0800) - Re: key for Alice as promised (not) - _"Thomas C. Allard"<EMAIL_ADDRESS>


text:
You can also easily customize actions for each censored word.

***Features:***

- *Word censor:* block censored words on chat or even on commands!
- *URL/IP censor:* prevent players from sending IP addresses or URLs on chat
- *Anti-caps:* remove caps from messages or block them
- *Anti-spam:* advanced anti-spam check which will prevent players from sending the same message twice or spamming on chat
- *Mute/Unmute players:* temporarily or permanently mute players on chat
- *Maximum message length:* prevent players from sending long messages
- *Allowed/Unallowed characters:* limit allowed characters on messages
- Customizable user-side messages

**EvolSoft Website:** https://www.evolsoft.tk

***This Plugin uses the New API. You can't install it on old versions of PocketMine.***

## Donate

Please support the development of this plugin with a small donation by clicking [:dollar: here](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=flavius.c.1999@gmail.com&lc=US&item_name=www.evolsoft.tk&no_note=0&cn=&curency_code=EUR&bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted).
Your small donation will help me paying web hosting, domains, buying programs (such as IDEs, debuggers, etc...) and new hardware to improve software development. Thank you :smile:

## Documentation

**Configuration (config.yml):**

```yaml
---
# Censor settings
censor:
 # Enable censor
 enabled: true
 # Let players with chatcensor.bypass.censor permission bypass this restriction
 allow-bypassing: false
 # Check bad words inside words (may slightly slow down your server)
 advanced-mode: false
 # Check commands
 check-commands: false
 # Log message to player
 log-to-player: true
 # Block messages containing URLs (a message will be sent to the player if log-to-player is enabled)
 block-urls: true
 # Block messages containing IP addresses (a message will be sent to the player if log-to-player is enabled)
 block-ips: true
# Anti-caps settings
anti-caps:
 # Enable anti-caps
 enabled: true
 # Let players with chatcensor.bypass.anti-caps permission bypass this restriction
 allow-bypassing: false
 # Log message to player
 log-to-player: true
 # Block the message (if block-message is disabled, the message will be converted to lower case)
 block-message: true
# Anti-spam settings
anti-spam:
 # Enable anti-spam
 enabled: true
 # Let players with chatcensor.bypass.anti-spam permission bypass this restriction
 allow-bypassing: false
 # Log message to player
 log-to-player: true
 # Spam checking mode (0 = the same message can't be repeated, 1 = delayed spam checking, 2 = both)
 mode: 1
 # Delay (in seconds)
 delay: 5
# Mute/Unmute settings
mute:
 # Log the mute message to the player
 log-mute: true
 # Log the unmute message to the player
 log-unmute: true
 # Log message to player
 log-to-player: true
 # Default mute time
 time: "30m"
# Characters/Message checking settings
char-check:
 # Enable characters/message checking
 enabled: true
 # Let players with chatcensor.bypass.char-check permission bypass this restriction
 allow-bypassing: false
 # Log message to player
 log-to-player: true
 # Maximum message length (set to 0 to disable this feature)
 max-length: 0
 # Allow backslash in messages
 allow-backslash: false
 # Allowed characters in messages (set to "" to disable this feature)
 allowed-chars: "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890.:,;-_|!/?"
 # Unallowed characters in messages (set to "" to disable this feature)
 unallowed-chars: ""
...
```

**Messages (messages.yml):**

```yaml
---
# No URLs message
no-urls: "{PREFIX} &cYou can't send URLs on messages!"
# No IP addresses message
no-ips: "{PREFIX} &cYou can't send IP addresses on messages!"
# No swearing message
no-swearing: "{PREFIX} &cPlease don't swear!"
# No caps message
no-caps: "{PREFIX} &cUppercase characters are not allowed on messages"
# Invalid/Unallowed characters message
invalid: "{PREFIX} &cYou can't send this message because it contains invalid characters"
# Message too long message
too-long: "{PREFIX} &cYou can't send this message because it's too long"
# No spam message
no-spam: "{PREFIX} &cPlease don't spam"
# Spam delay message
spam-delay: "{PREFIX} &cPlease wait &e{DELAY} seconds&c before sending another message"
# Muted message (when the muted player tries to send a message)
muted-error: "{PREFIX} &cYou can't send message because you are muted"
# Muted message
muted: "{PREFIX} &cYou have been muted for &e{DURATION}&c by &e{PLAYER}&c!"
# Unmuted message
unmuted: "{PREFIX} &cYou have been unmuted by &e{PLAYER}&c!"
...
```

**Add and configure a denied word:**

1. Run the command "/addword <word>"

2. Go to ChatCensor plugin directory and open "words.yml" file

3. Find the world in the list and customize its settings

These are the censored word settings:

```yaml
---
# Delete the message containing the word
delete-message: false
# Replace the censored word
enable-replace: true
# The text which will replace the censored word
replace-word: "****"
# List of commands to execute
# Available tags:
#  - {PLAYER}: Player name of the player who sent the message containing the censored word
# Example:
#  commands:
#  - "tell {PLAYER} Do not swear please!"
#  - "ban {PLAYER}"
commands: []
...
```

**Commands:**

/chatcensor - ChatCensor commands (aliases: [cc, chatc, censor])

/addword <word> - Add a censored word

/removeword <word> - Remove a censored word

/mute <player> - Mute player

/unmute <player> - Unmute player

/listmuted - Get the list of muted players

**Permissions:**

-
chatcensor.* - ChatCensor permission tree.

-
chatcensor.bypass.* - Bypass ChatCensor features.

-
chatcensor.bypass.censor - Bypass ChatCensor word censor feature.

-
chatcensor.bypass.anti-caps - Bypass ChatCensor anti-caps feature.

-
chatcensor.bypass.char-check - Bypass ChatCensor char-check feature.

-
chatcensor.bypass.anti-spam - Bypass ChatCensor spam-check feature.

-
chatcensor.commands.* - ChatCensor commands permission tree.

-
chatcensor.commands.help - Let player read ChatCensor commands help.

-
chatcensor.commands.info - Let player read info about ChatCensor.

-
chatcensor.commands.reload - Let player reload ChatCensor configuration.

-
chatcensor.commands.addword - Let player add a censored word.

-
chatcensor.commands.removeword - Let player remove a censored word.

-
chatcensor.commands.mute - Let player mute a player.

-
chatcensor.commands.unmute - Let player unmute a player.

-
chatcensor.commands.listmuted - Let player show the list of muted players.

## API

Almost all our plugins have API access to widely extend their features.

To access ChatCensor API:

*1. Define the plugin dependency in plugin.yml (you can check if ChatCensor is installed in different ways):*

```yaml
depend: [ChatCensor]
```

*2. Include ChatCensor API in your plugin code:*

```php
//ChatCensor API
use ChatCensor\ChatCensor;
```

*3. Access the API by doing:*

```php
ChatCensor::getAPI()
```

repository: EvolSoft/ChatCensor

gha_language: PHP

repo_name: EvolSoft/ChatCensor


text:
## Core Java Concurrency Basic

This module contains articles about basic Java concurrency.

### Relevant Articles:

- [How to Handle InterruptedException in Java](https://www.baeldung.com/java-interrupted-exception)
- [Thread.sleep() vs Awaitility.await()](https://www.baeldung.com/java-thread-sleep-vs-awaitility-await)
- [Is CompletableFuture Non-blocking?](https://www.baeldung.com/java-completablefuture-non-blocking)
- [[<-- Prev]](../core-java-concurrency-basic-2)


text:
# Graphis dendritica var. smithii Leight. VARIETY

#### Status
SYNONYM

#### According to
Index Fungorum

#### Published in
Lich. -Fl. Great Brit. 367 (1871)

#### Original name
Graphis dendritica var. smithii Leight.

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Ascomycota/Lecanoromycetes/Ostropales/Graphidaceae/Phaeographis/Phaeographis smithii/ Syn. Graphis dendritica smithii/README.md

repo_name: mdoering/backbone


text:
# Bidirectional_LSTM_model_for_lyric_generation

[Tensorflow LSTM](https://www.tensorflow.org/api_docs/python/tf/keras/layers/LSTM)

## Project Overview

Based on my experience working in the music industry, one of the most serious problems that artists face is not be stuck in a stalemate where they cannot come up with new content, which is more commonly known as "writer's block".
I realized that this issue could be alleviated with the help of LSTM models that are trained based on their past lyrics.

## Packages and Frameworks that were used

*   Keras (2.4.3)
*   Tensorflow (2.3.0)
*   Django (3.1.7)
*   Python (3.8.5)

## Reasons for using Bidirectional LSTM

There is no doubt that the field of NLP studies has improved dramatically after the introduction of BERT.
However, the downside of BERT when generating lyrics of poetry is that it is attention based and does not learn all aspects of a sentence equally.
Since there are many cases in song lyrics where words or grammar is butchered intentionally for poetic purposes, I believed that the implementation of a LSTM model which learns all aspects of a given sentence equally would be more effective.

## Artists

The lyrics of the songs that are used to train the models are based on the following artists

*   Drake
*   BTS
*   Cardi B
*   Bad Bunny
*   Eminem

## Limitations

The models were trained on a single GPU environments.
Consequently, the models are trained on a limited amount of data and epochs.
The accuracy of the BTS model is especially low as BTS tends to mix Korean and English in their songs.

## References

*   [Tensorflow-Irish songs generator Colab](https://colab.research.google.com/github/lmoroney/dlaicourse/blob/master/TensorFlow%20In%20Practice/Course%203%20-%20NLP/Course%203%20-%20Week%204%20-%20Lesson%202%20-%20Notebook.ipynb)
*   [ Harrison Gill, Daniel (Taesoo) Lee, Nick Marwell; Deep Learnining in Musical Lyric Generation: An LSTM_Based Approach(Sept.2020) ](https://yurj.yale.edu/sites/default/files/deep_learning_in_musical_lyric_generation_an_ltsm_based_approach.pdf)
*   [Cheng-Zhi, Anna Huang; Deep Learning for Music Composition: Generation, Recommendation and Control (April. 2019) ](https://dash.harvard.edu/bitstream/handle/1/42029468/HUANG-DISSERTATION-2019.pdf?sequence=1&isAllowed=y)
*   [Deborah Liske; Lyric Generation with Deep Learning (August. 2019) ](https://www.youtube.com/watch?v=T7NEwx_dLRU&ab_channel=DebbieLiske)

## Authors

*   Adam Lee<EMAIL_ADDRESS>[github](https://github.com/yoonhoelee)


text:
## Fluent Bit and AWS App Mesh

In this example, we will showcase how to parse the Envoy access logs for AWS App Mesh in an Amazon EKS cluster. To achieve this, we will deploy Fluent Bit as a DaemonSet to tail /var/log/containers/*.log on the EKS cluster and forward to CloudWatch.

#### Prerequisites

* An EKS Cluster with the appropriate IAM Roles attached to the worker nodes for App Mesh and CloudWatch. This can easily be achieved by standing up a cluster with [eksctl](https://eksctl.io/usage/iam-policies/) and adding the appropriate IAM add-on policies.

* Enable [App Mesh Integration](https://docs.aws.amazon.com/app-mesh/latest/userguide/mesh-k8s-integration.html) on the cluster.

* Set up the [Color App](https://docs.aws.amazon.com/app-mesh/latest/userguide/deploy-mesh-connected-service.html) as described in the AWS App Mesh Documentation. We will edit deployment below.

#### Instructions

* To get started, create the Namespace that's needed for the the Fluent Bit components.
```
kubectl apply -f logging-ns.yaml
```
* Deploy the Fluent Bit DaemonSet.
```
kubectl apply -f fluent-bit/
```
* Deploy the Color App.
1. There is a file called [color.yaml](color-app/color.yaml) which is the same manifest that's used in the [Color App](https://docs.aws.amazon.com/app-mesh/latest/userguide/deploy-mesh-connected-service.html) from the AWS App Mesh Documentation in the prerequisites. However, it's been slightly modified to emit the colorteller-black Envoy access logs to `/dev/stdout` and also adds an annotation of `fluentbit.io/parser: envoy` to the colorteller-black container. This annotation suggests that the data should be processed using the pre-defined parser called envoy which is defined in the [fluent-bit-configmap.yaml](fluent-bit/fluent-bit-configmap.yaml). This configuration is how we will wire up Fluent Bit to parse the Envoy access logs for App Mesh. Please see this [link](https://docs.fluentbit.io/manual/filter/kubernetes) for more info on pre-defined parsers in Fluent Bit.
```
kubectl apply -f color-app/color.yaml
```
2. You should already have a curler container if you followed the Color App instructions from the prerequisites. Exec into the curler container and rerun the below:
```
for i in {1..100}; do curl colorgateway:9080/color; echo; done
```
3. View the colorteller-black logs in CloudWatch. The Envoy access logs should now be parsed like the example below:
```
{
    "kubernetes": {
        "annotations": {
            "fluentbit.io/parser": "envoy",
            "kubernetes.io/psp": "eks.privileged"
        },
        "container_hash": "b10687cb4b94ef7aecc0c6e815efb56c8d8889db5316bafc42477acd908a0e91",
        "container_name": "envoy",
        "docker_id": "3be97d47d717ae3ba9937d1bd58b683cdb8b24bd5c66cf7fefeb2ee47c808b08",
        "host": "ip-192-168-10-112.ec2.internal",
        "labels": {
            "app": "colorteller",
            "pod-template-hash": "d868b5bc9",
            "version": "black"
        },
        "namespace_name": "appmesh-demo",
        "pod_id": "42336070-4796-11ea-ac15-0278ee4c2031",
        "pod_name": "colorteller-black-d868b5bc9-zwz28"
    },
    "log": "[2020-02-05T16:37:27.958Z] \"GET / HTTP/1.1\" 200 - 0 5 0 0 \"-\" \"Go-http-client/1.1\" \"6c6ae4b8-60ac-98b6-ba32-a3a4a5c938bf\" \"colorteller.appmesh-demo:9080\" \"<IP_ADDRESS>:9080\"\n",
    "log_processed": {
        "authority": "colorteller.appmesh-demo:9080",
        "bytes_received": "0",
        "bytes_sent": "5",
        "code": "200",
        "duration": "0",
        "method": "GET",
        "path": "/",
        "protocol": "HTTP/1.1",
        "request_id": "6c6ae4b8-60ac-98b6-ba32-a3a4a5c938bf",
        "response_flags": "-",
        "start_time": "2020-02-05T16:37:27.958Z",
        "upstream_host": "<IP_ADDRESS>:9080",
        "user_agent": "Go-http-client/1.1",
        "x_envoy_upstream_service_time": "0",
        "x_forwarded_for": "-"
    },
    "stream": "stdout",
    "time": "2020-02-05T16:37:33.976469719Z"
}
```

branch_name: refs/heads/mainline


text:
# Xibo for Android

You can list out Xibo for Android licence pools and licenses using the API.  You should always ensure that you use the `apiRef` provided when your customer purchased the licences so that you do not show different customers each others data.

The API will allow operations to be performed on all Android Licence Pools that your account has permissions to view/edit/delete and it is your responsibiliy to ensure you only show the correct items to the correct customers.

There are 3 operations:

- View Licence Pools
- View Licence Entries
- Delete Licence Entries

## View Licence Pools

Make a GET request to `/android` to see all your android licence pools.

```bash
curl --location --request GET 'https://test.xibo.org.uk/api/android' \
--header 'Authorization: Bearer access_token'
```

Returns an array of Android Licence Pools with Version information (one per version)

```json
[
    {
        "uid": "1362_1720",
        "companyId": 3650,
        "androidId": 1362,
        "versionId": 1720,
        "email"<EMAIL_ADDRESS>        "version": "2",
        "numberOfLicences": 6,
        "numberOfUpgrades": 0,
        "onPremise": 0,
        "renewalDate": 0,
        "isRenew": 0,
        "isMonthly": 0,
        "numberOfPlayers": 0,
        "numberOfRenewals": 0,
        "lastPing": null,
        "company": "Test Company",
        "upgradesAvailable": true
    }
]
```

You can filter the response using query params:

- `includeChildCompanies`: show only your own pools (0) or pools from your child companies (1)
- `companyApiRef`: when `includeChildCompanies=1` filter by the company API reference used to purchase the licences.

Or using PHP

```php
$android = (new Android($provider));

// To get all pools
$pools = $android->getPools();

// To get by VersionId
$pools = $android->getByVersionId(1);
```

## View Licence Entries

To get a list of devices linked to a Pool and Version you use the following GET request with the Version Id substituted:

```bash
curl --location --request GET 'https://test.xibo.org.uk/api/android/devices/{versionId}' \
--header 'Authorization: Bearer access_token'
```

Returns an array of devices:

```json
[
    {
        "licenceId": 1,
        "uid": "00:00:00:00:00:00",
        "pingDate": "2020-03-02 13:03:47",
        "blocked": 0,
        "versionCode": 204,
        "versionId": 13472,
        "name": "Name",
        "model": "DSCS9",
        "manufacturer": "DSDevices",
        "version": "2",
        "isRental": 0
    }
]
```

Or with PHP

```php
$provider->get('/android/devices/' . $versionId);
```

## Delete Licence Entries

To delete a licence entry you make a DELETE request:

```bash
curl --location --request DELETE 'https://test.xibo.org.uk/api/android/devices/{versionId}/{licenceId}' \
--header 'Authorization: Bearer access_token'
```

Or with PHP

```php
// To delete
$provider->delete('/android/devices/' . $versionId . '/' . $licenceId);
```

repository: xibosignage/platform-api-php

repo_name: xibosignage/platform-api-php


text:
---
layout: default
---

# 1994-08-27 - Re: Online cash, Internet, Pizza Hut

## Header Data

From<EMAIL_ADDRESS>(Timothy C. May)

To<EMAIL_ADDRESS>(Jim choate)

Message Hash: 1806432b1445d13b6cf552a36cda94d46c2709f794170978adbfecb0037a7dae

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1994-08-27 03:56:59 UTC

Raw Date: Fri, 26 Aug 94 20:56:59 PDT

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Timothy C. May)
Date: Fri, 26 Aug 94 20:56:59 PDT
To<EMAIL_ADDRESS>(Jim choate)
Subject: Re: Online cash, Internet, Pizza Hut
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Jim Choate writes:

> You sound jaded to me Tim.
>
> As I have alluded in another post, seems the perfect oportunity for doing
> some building if one considers it a base system. I have worked on some

Go to it, then. I'm not jaded, just well-aware that most of what is
now floating around the suddenly-trendy idea of the Digital
Superduperway is little more than hype.

Misplaced zeal, confusing tangential developments with real progress.
Much like libertarians assuming the space program is something they
should somehow be working on.

Pizza Hut is merely taking orders a slightly different way. Nothing
more, and nothing to build on.

But don't let me discourage any others from putting on a chef's hat,
slicing up some pepperoni, and helping them get "on-line."

--Tim May

> fries you would never eat there again!). At the present time they use the
> systems for record keeping only. But knowing the big boys as I do (take that
> one as you want) I suspect they will want to crawl before they walk.
>
> First get folks used to using it for order only, then later on add some
> form of 'shell' where a limited form of credit (purchased off-line) can
> be used (minimizes if not eliminates spoofing of credit). As the  folks
> get more used to it then add even more features. Sounds a lot like fishing...:)
>
> Take care.
>
>
>

--
..........................................................................
Timothy C. May         | Crypto Anarchy: encryption, digital money,
<EMAIL_ADDRESS>     | anonymous networks, digital pseudonyms, zero
408-688-5409           | knowledge, reputations, information markets,
W.A.S.T.E.: Aptos, CA  | black markets, collapse of governments.
Higher Power: 2^859433 | Public Key: PGP and MailSafe available.
"National borders are just speed bumps on the information superhighway."

{% endraw %}
```

## Thread

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

+ Return to "[Dr. D.C. Williams <dcwill@ee.unr.edu>](/authors/dr_d_c_williams_dcwill_at_ee_unr_edu_)"
+ Return to "[Jim choate <ravage@bga.com>](/authors/jim_choate_ravage_at_bga_com_)"
+ Return to<EMAIL_ADDRESS>(Mike Duvos)](/authors/mpd_at_netcom_com_mike_duvos_)"
+ Return to "[Rick Busdiecker <rfb@lehman.com>](/authors/rick_busdiecker_rfb_at_lehman_com_)"
+ Return to<EMAIL_ADDRESS>(Timothy C. May)](/authors/tcmay_at_netcom_com_timothy_c_may_)"

+ 1994-08-27 (Fri, 26 Aug 94 18:19:53 PDT) - [Online cash, Internet, Pizza Hut](/archive/1994/08/86fe1e2537247f91b5cf8ab2d7c649d798edcc6afcdf22705126a07cf645eb4d) - _Jim choate<EMAIL_ADDRESS>  + 1994-08-27 (Fri, 26 Aug 94 18:38:12 PDT) - [Re: Online cash, Internet, Pizza Hut](/archive/1994/08/c8c7660f9399d1c93b6013b48c71e3001021a4b5aacbeb50d34e9389870a1643) - _Dr. D.C. Williams<EMAIL_ADDRESS>  + 1994-08-27 (Fri, 26 Aug 94 18:38:21 PDT) - [Re: Online cash, Internet, Pizza Hut](/archive/1994/08/c07c74c4a40416981839a796fa7d06563ceb01a4760bb1295b8fce85569eb9d5) -<EMAIL_ADDRESS>(Timothy C. May)_
    + 1994-08-27 (Fri, 26 Aug 94 20:44:27 PDT) - [Re: Online cash, Internet, Pizza Hut](/archive/1994/08/0cda72287f0faa8d2a3d164e0355bdfe9653ceceda8855133e591e46f075da4c) - _Jim choate<EMAIL_ADDRESS>      + 1994-08-27 (Fri, 26 Aug 94 20:56:59 PDT) - Re: Online cash, Internet, Pizza Hut -<EMAIL_ADDRESS>(Timothy C. May)_
        + 1994-08-27 (Sat, 27 Aug 94 07:22:00 PDT) - [Re: Online cash, Internet, Pizza Hut](/archive/1994/08/859505d758e0472a1314cd8d7d7aff32deba56cdbd7bd35b40bd9543445594fb) - _Rick Busdiecker<EMAIL_ADDRESS>  + 1994-08-27 (Fri, 26 Aug 94 20:24:20 PDT) - [Re: Online cash, Internet, Pizza Hut](/archive/1994/08/a39ba7e262fab2fca00ccd67e97f782174721301472395a6ff3f28d924d2eb12) -<EMAIL_ADDRESS>(Mike Duvos)_
    + 1994-08-27 (Fri, 26 Aug 94 20:40:02 PDT) - [Re: Online cash, Internet, Pizza Hut](/archive/1994/08/c3fcb0bf02d1c5dc40eb5045ab0ffc8db414518846906bd88e78eafd7c88ef9d) - _Jim choate<EMAIL_ADDRESS>


text:
# Add worker nodes

If the workload of your cluster increases, the cluster resources may be insufficient. In this case, we recommend that you add resources to your cluster. For example, if your cluster contains more than 10 nodes, you can add worker nodes to improve resource utilization and reduce O&M complexity. This topic describes how to add worker nodes to a cluster.

A Kubernetes cluster is created. For more information, see [Create a managed Kubernetes cluster](/intl.en-US/User Guide for Kubernetes Clusters/Cluster/Create Kubernetes clusters/Create a managed Kubernetes cluster.md).

1.  Log on to the [Container Service for Kubernetes \(ACK\) console](https://cs.console.aliyun.com).

2.  In the left-side navigation pane of the ACK console, click **Clusters**.

3.  Purchase new nodes or add existing nodes as needed.

    -   Perform the following steps to purchase new nodes and add them to the cluster. For more information, see [Expand an ACK cluster](/intl.en-US/User Guide for Kubernetes Clusters/Cluster/Expand an ACK cluster.md).
        1.  Find the cluster to which you want to add nodes, and choose **More** \> **Expand** in the **Actions** column.
        2.  Configure the new worker nodes.

            ![Expand a cluster](https://static-aliyun-doc.oss-accelerate.aliyuncs.com/assets/img/en-US/5771279951/p50574.png)

        3.  Set the number of worker nodes to add.

            ![Expand a cluster](https://static-aliyun-doc.oss-accelerate.aliyuncs.com/assets/img/en-US/5771279951/p10905.png)

        4.  Set the logon type.

            ![Expand a cluster](https://static-aliyun-doc.oss-accelerate.aliyuncs.com/assets/img/en-US/3246858951/p9041.png)

        5.  Set RDS Whitelist.

            ![Expand a cluster](https://static-aliyun-doc.oss-accelerate.aliyuncs.com/assets/img/en-US/4246858951/p21270.png)

        6.  Attach labels to new nodes.

            ![Expand a cluster](https://static-aliyun-doc.oss-accelerate.aliyuncs.com/assets/img/en-US/4246858951/p50326.png)

        7.  After the configuration is complete, click **Submit**.
    -   To add existing nodes to a cluster, perform the following steps:
        1.  Find the cluster to which you want to add nodes, and choose **More** \> **Add Existing Node** in the **Actions** column.

            On the Add Existing ECS Instance page, you can select the **Auto** or **Manual** mode to add ECS instances. For more information, see [Add existing ECS instances to an ACK cluster](/intl.en-US/User Guide for Kubernetes Clusters/Node management/Node/Add existing ECS instances to an ACK cluster.md). In this example, the Auto mode is selected.

        2.  Set Mode to **Auto** and select instances from the ECS instance list. Then click **Next Step**.

            ![Auto mode](https://static-aliyun-doc.oss-accelerate.aliyuncs.com/assets/img/en-US/6635359951/p10826.png)

        3.  Specify instance information, including the CPU policy, logon password, and labels, and click **Next Step**.

            ![Instance information](https://static-aliyun-doc.oss-accelerate.aliyuncs.com/assets/img/en-US/6635359951/p10827.png)

        4.  In the message that appears, click **Confirm**. The selected ECS instances are automatically added to the cluster.

            ![ ECS instances](https://static-aliyun-doc.oss-accelerate.aliyuncs.com/assets/img/en-US/6635359951/p10828.png)

4.  On the management page of the cluster, click **Nodes** in the left-side navigation pane to view the status of the added nodes.

    If the added nodes are in the **Running** state, the operation is successful.

To remove a node from a cluster, find the node that you want to remove on the Nodes page, and choose **More** \> **Remove** in the **Actions** column. In the message that appears, click **OK**.

**Note:**

-   To ensure the stability of your applications, we recommend that you add nodes to the cluster before you remove unnecessary nodes.
-   You can also configure [PodDisruptionBudget \(PDB\) objects](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/) to ensure application stability when you remove nodes.

url: https://raw.githubusercontent.com/sidealice/csk/95a5f3f4ab5d556406cccb1e2ad74bb7aec57ff0/intl.en-US/User Guide for Kubernetes Clusters/Node management/Node/Add worker nodes.md

repository: sidealice/csk

filename: Add worker nodes.md

repo_name: sidealice/csk


text:
# CADA2020
2nd place solution to the MICCAI CADA 2020 Segmentation Challenge.

## How to infer the testing set?

- Install the [nnU-Net](https://github.com/MIC-DKFZ/nnUNet)

- Download the trained models ([pw: rct8](https://pan.baidu.com/s/17pwM6Xt7S_5aRrbj7ePAqA)) and put them in `CADA2020/nnUNet-CADA/nnunet/TrainedModels/nnUNet/3d_fullres`

- Run

```python
nnUNet_predict -i INPUT_FOLDER -o OUTPUT_FOLDER -t Task201_CADA32G -m 3d_fullres
```

## Citation


text:
## Server waiting
We wish to make the server wait until a player has joined before the pre-match countdown begins.

The first change is to track whether or not a player has joined yet (in the [`ShooterGameMode` class](../Source/ShooterGame/Public/Online/ShooterGameMode.h)) and update it when a player connects.
```c++
// Source/ShooterGame/Public/Online/ShooterGameMode.h

class AShooterGameMode : public AGameMode
{
 	// ...
	/** Tracks if a game has joined the server at least once */
	bool bHasPlayerConnected = false;
	// ...
}
```

```c++
// Source/ShooterGame/Public/Online/ShooterGameMode.cpp

void AShooterGameMode::PostLogin(APlayerController* NewPlayer)
{
	Super::PostLogin(NewPlayer);

	bHasPlayerConnected = true;
	// ...
}
```

Lastly, we can use this variable in the timer, to specify whether to decrement the timer, or not.
```c++
// Source/ShooterGame/Public/Online/ShooterGameMode.cpp

void AShooterGameMode::DefaultTimer()
{
    // ...
    if (MyGameState && MyGameState->RemainingTime > 0 && !MyGameState->bTimerPaused)
	{
		// If we are waiting for match to start (MatchState::WaitingToStart) and there has not yet been a connected
		// player, do not decrement the counter
		if (GetMatchState() == MatchState::WaitingToStart && !bHasPlayerConnected)
		{
			return;
		}

		MyGameState->RemainingTime--;
    // ...
    }
    // ...
}
```

repository: snakesn/zeuz-unreal-demo

repo_name: snakesn/zeuz-unreal-demo


text:
# BlazorGoogleMaps
Blazor interop for GoogleMap library

**Breaking change from 2.0.0**
LatLngLiteral constructor's parameters order changed #173

**Breaking change from 3.0.0**
Migrate from Newtonsoft.Json to System.Text.Json. Could be some issue so please register anything which is suspicious #254

[![NuGet version (BlazorGoogleMaps)](https://img.shields.io/nuget/v/BlazorGoogleMaps)](https://www.nuget.org/packages/BlazorGoogleMaps/)

## Usage
1. Add google map script HEAD tag to wwwroot/index.html in Client side or _Host.cshtml in Server Side.
How to get key follow https://developers.google.com/maps/documentation/javascript/get-api-key

Do not forgor addition libraries if required *&libraries=places,visualization,drawing*

If you got 'Loading the Google Maps JavaScript API without a callback is not supported' then add *&callback=Function.prototype*
```
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY_GOES_HERE&v=3"></script>
```
Add path to project javascript functions file in wwwroot/index.html in Client side or _Host.cshtml in Server Side.
```
<script src="_content/BlazorGoogleMaps/js/objectManager.js"></script>
```
If you want to use marker clustering in a Server Side project then add the following script to _Host.cshtml.
```
<script src="https://unpkg.com/@@googlemaps/markerclusterer/dist/index.min.js"></script>
```
If you want to use marker clustering in a Client Side project then add the following script to wwwroot/index.html.
```
<script<EMAIL_ADDRESS>```

2. Use component in client and server side same
```
@page "/map"
@using GoogleMapsComponents
@using GoogleMapsComponents.Maps

<h1>Google Map</h1>
<div style="height:@Height">
<GoogleMap @ref="@map1" Id="map1" Options="@mapOptions" Height="100%"></GoogleMap>
</div>
@functions {
	private GoogleMap map1;
	private MapOptions mapOptions;

	protected override void OnInitialized()
	{
		mapOptions = new MapOptions()
		{
			Zoom = 13,
			Center = new LatLngLiteral()
			{
				Lat = 13.505892,
				Lng = 100.8162
			},
			MapTypeId = MapTypeId.Roadmap
		};
	}
}
```

## Known Issues
Adding map in razor page without _Host.cshtml use  RenderComponentAsync<T> to render componenent or/and try changing the Rendermode to Server in the host file

Server Side issue with Route DirectionsResult when using DirectionsRequestOptions all paths are included (all set to false). MaximumReceiveMessageSize reaches limit of 32kb. Then limit should be increased or set to null (unlimited)
```
In Startup.ConfigureServices
services.AddServerSideBlazor().AddHubOptions(config => config.MaximumReceiveMessageSize = 1048576);
```

## Samples
 Please check server side samples https://github.com/rungwiroon/BlazorGoogleMaps/tree/master/ServerSideDemo which are most to date

 ClientSide demos. Just a few and missing code, but will be updated little by little
 https://rungwiroon.github.io/BlazorGoogleMaps/mapEvents

repository: rungwiroon/BlazorGoogleMaps

repo_name: rungwiroon/BlazorGoogleMaps


text:
This README includes the instruction on how to run CBIG_RF unit test. Notice that all filenames and directories in this unit test **work for CBIG lab only**

----

## Reference

Jianxiao Wu, Gia H. Ngo, Alexander Schaefer, Douglas Greve, Bruce Fischl, Simon B. Eickhoff, B.T. Thomas Yeo. **Accurate Nonlinear Mapping between MNI152/Colin27 Volumetric and FreeSurfer Surface Coordinate Systems**. Under review.

----

## Data

The unit test script uses the Brain Genomics Superstruct Project (GSP) data. The preprocessed (by `recon-all`) structural MRI data are in the folder:
```
/mnt/eql/yeo1/data/GSP_release
```
where each subject folder is named by subject id + `_FS` (e.g. `Sub0001_Ses1_FS`)

In total, 5 subjects were used in the unit test, corresponding to the first 5 subjects using the default subject id list in `CBIG_RF` scripts (`$CBIG_CODE_DIR/stable_projects/registration/Wu2017_RegistrationFusion/bin/GSP_subjectid.csv`).

In addition, the `warp/` folder contains the ANTs registration warps between those 5 subjects and MNI152 space.

----

## Code

The codes for unit test are in the folder:

`/mnt/eql/yeo1/CBIG_private_unit_tests_data/stable_projects/registration/Wu2017_RegistrationFusion`

- MNI152-to-fsaverage test

To run the unit test, call `CBIG_RF_unit_test_vol2surf.sh`, using the `-o` option to specify where the results should be put.

The final projection results (in left hemisphere) will be compared to the default results in `data/` folder. The unit test is successful if the screen prints `The two volumes are identical`.

You can also check the right hemisphere results by comparing your projected result with `data/rh.projected_central_sulc.nii.gz`

- fsaverage-to-MNI152 test

To run the unit test, call `CBIG_RF_unit_test_surf2vol.sh`, using the `-o` option to specify where the results should be put.

The final projection results will be compared to the default results in `data/` folder. The unit test is successful if the screen prints `The two volumes are identical`.

repository: KirstenHilger/CBIG

repo_name: KirstenHilger/CBIG


text:
---
layout: post
title: Setting Up a New Mac
date:   2018-05-12 12:45:00 -0800
---

My Macbook Air was acting up and I decided I had enough and proceeded to do a fresh install. This will be a step-by-step walkthrough on how I set up a new Mac. I plan to write up a nicer version to store on Github. Don't forget most of these will be a matter of **personal preference**.

1. Install updates. Best to do this first as there may be critical security patches waiting to be installed. And the fact that the notification number on the AppStore icon will bother me for eternity.
2. Hide the dock. Because I need the screen real estate!
3. Change scroll direction. `System Preferences -> Trackpad -> uncheck Scroll direction: Natural`. Because it's *not* natural at all, especially if you've been using Macs (or even PCs) for a decade.
4. Organize the dock. Let's get rid of the following apps that I don't use:
	- Siri
	- Contacts
	- iTunes (it'll open on it's own if I really need it!)
	- Maps (does anyone actually use this?)
	- iBooks
I'll come back to this later once I have all my apps installed.
5. Right click on the Dock and click on `Dock Preferences`. I turn the size down just a bit and turn on magnification to be slightly larger. It helps distinguish which app my mouse cursor is over.
6. Install Xcode from the Mac AppStore and then download the Xcode Command Line Tools. I develop web and iOS applications so this is essential. I like to let it download in the background while I set up  everything else.
7.  Turn off notifications by scheduling 24/7 Do Not Disturb mode. I don't need more distractions. `System Preferences -> Do Not Disturb`, I set mine from 3:00AM to 2:59AM.
8.  Also turn off notifications in apps that I don't use or want notifications from - Photos, Safri, Games. Set Calendar to only show notifications on the lock screen and turn off Badge app icon for FaceTime.
9.  I don't use the sidebar so I'm going to remove the default apps.
10. I use `cmd+shift+f` for searching Spotlight, so I will set that now.
`System Preferences -> Keyboard -> Shortcuts -> Spotlight`.
11. I just found out System Preferences are supposed to sync via iCloud so let's get that set up.
 Let's start fixing that.
12. `Finder -> View -> Show Path Bar` and `Finder -> View -> Show Status Bar`
13. Next, get rid of the useless *All My Files*.
14. Now let's find the hard drive. Luckily I have another Mac on my network so I can open `Show in Enclosing Folder` to get to the folder. Otherwise, I'd probably have to use Finder's "Go To" menu option.
My sidebar now looks like this:
	- Macintosh HD
	- AirDrop
	- Desktop
	- Applications
	- Documents
	- Downloads
	- iCloud Drive
15. Next add the `Library` folder from `Macintosh HD` to the sidebar, under Applications.
16. Open up `Macintosh HD -> Users` and add my user's home directory to the sidebar, between *Desktop* and *Applications*. Quick note. I don't think iCloud properly synced my System Preferences, at least not yet. I'll have to set up the keyboard shortcuts and what not later.
17. Meanwhile, let's download Google Chrome.
18. Actually let's set up Hot Corners first.
*Note*: 227.8GB free right now. Xcode 9.2 is roughly 5.1GB and I had to download from the Apple Developer's website since the newest version on the MacAppStore (9.3.1) isn't supported on Sierra. Still too scared to update to High Sierra though.
19. I normally use HyperDock for windows management but since I already bought it, I'm going to try and use *Magnet* exclusively. I don't like how it's a menu bar item though. One feature it seems to be missing is scrolling at the top to toggle between the current and last window sizes, and filling the screen (essentially becoming fullscreen without using that dreaded green icon in the corner).
20. I'm emptying the trash a lot since I'm trying to keep things nice and organized clicking yes to that warning is getting annoying. Let's disable it in the Finder's advanced settings.
21. Let's start downloading all the apps I use. I will download the essentials first and reconsider others later.
	- Backblaze - for cloud backup
	- Bartender - because I like a nice and clean menu bar
	- DaisyDisk - because it's 2018 and I still only have 256 GB, granted it's a SSD but still
	- Dropbox - see ^
	- Focus - because it's hard to focus sometimes with so many distractions
	- itsy calendar - replacing the default date & time in the menu bar with something more useful
	- Jumpcut - last update was almost a decade ago (2009) but it still works
	- licecap - for recording gifs, great for demoing projects
	- Pixelmator - basic image editing
	- RescueTime - because the Internet is an endless pit and I want to be aware of where my time is going
	- Sketch - vector-based program similar to Adobe Illustrator, great wireframing
	- Slack - because everyone is obsessed with it
	- Soulver - it's a calculator + notepad and it's awesome!
	- Sublime Text - my preferred text editor
	- Synergy - 2 macs, 1 mouse + keyboard.
	- VLC - for all my media playback. so versatile!
22. Set up Dropbox and Backblaze. I am paying for Dropbox Professional exclusively for the Smart Sync feature (I was previous paying for 1TB of storage). Dropbox will take a few days and a lot of CPU but at least now I can go on to the next step.
23. Set up Hot Corners:
	- Top left: Application Windows
	- Top right: Desktop
	- Bottom left: Dashboard
	- Bottom right: Mission Control
24. Set up keyboard shortcuts
	- Google Chrome - Task Manger: `⌘ + esc`
	- Preview - Adjust Size...: `⌥⌘I`
	- Notepad - Font...: `⌘T`
25. Install two more apps
	- OneNote - since Evernote got greedy and started charging PER device, not to mention it's a resource hog.
	- Evernote - despite the above, I still have at least 5 years worth of notes in here.
26. Set up Chrome. Because I use Gmail and all the other Google services it now comes with, I just have to sign in and wait for everything to sync. Yes, that means the mess that is my Chrome set up (bookmarks & extensions) is coming to my fresh Mac install. Sad but true (and also necessary).
27. Set up Terminal. I use the default app because it *works*. I just like to change the background color to something more Matrix/Hollywood like - aka the *homebrew* theme.
### Now for the fun part - setting up the dev environment!
But first, I'm going to make a DMG backup of this setup so I don't have to do it again in the near future. Of course, in a couple years it'll all be irrelevant as macOS will probably have changed significantly by then, along with my workflow and the apps I use. But worst case scenario, it's a good starting point.

28. Create a custom Sublime Text command to use in Terminal
`ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/`
Official instructions [here](http://www.sublimetext.com/docs/3/osx_command_line.html)

29. Customize Sublime Text. I have my settings back up to Github using git version control, so it's simple as setting up the repo locally.
30. Install *Homebrew* - a package installer for macOS. Must have for developers. *Macports* is a pouplar alternative.
31. Set up Python*:
	- Add `export PATH=/usr/local/bin:/usr/local/sbin:$PATH` to your bash profile.
	- Then install Python 3 using Homebrew, `brew install python`
	- http://docs.python-guide.org/en/latest/starting/install3/osx/
32. Update Ruby. Until I need multiple Ruby versions, I will just use Homebrew to install the latest one. Then, following the instructions here, I can update my bash profile to point to the new directory: https://stackoverflow.com/questions/38194032/how-to-update-ruby-version-2-0-0-to-the-latest-version-in-mac-osx-yosemite
33. Install node.js using Homebrew or the provided installer on the website. Note that Homebrew installed the *Latest Version* by default while the installer provides both *LTS* and *Latest Version* options.
34. Install the JDK from the website. As of this writing, it's version 1.8.x for Java 8.
35. I think that's it! At the end I ran the following to double check the version numbers:
```
python --version
ruby --version
java -version
```

I got the following values:
```
Python 3.6.3
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin16]
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
```

###  Mission accomplished!

I went back and set up a few more things like keyboard input, [Bartender](https://www.macbartender.com/), installing and setting up a few other apps, and other small things that came up. Now just waiting for Dropbox and OneDrive to sync!

*Originally I followed the steps below but since I used `virtualenv` before, I will stick to it for now. Note there is a pyenv wrapper for `virtualenv` but I found it unnecessary as I don't actually use `pyenv`.
- install `pyenv` using Homebrew: `brew install pyenv`
- use `pyenv install --list` to see which versions are available for install
- install the latest version of Python 3
- set Python 3 to be the default global version ([helpful blogpost](http://sourabhbajaj.com/mac-setup/Python/README.html))
- install pyenv-virtualenv using Homebrew: `brew install pyenv-virtualenv `
- [Helpful blog post part 1](https://medium.com/@jordanthomasg/python-development-on-macos-with-pyenv-2509c694a808)
- [Helpful blog post part 2](https://medium.com/@jordanthomasg/python-development-on-macos-with-pyenv-virtualenv-ec583b92934c)