text:
## Hurricane Michael Storm Report (AL142018)

------

This folder contains the data and code to run a storm surge simulation for Hurricane Michael

### Hurricane Michael

------

Hurricane Michael was a category 5 hurricane (on the Saffir-Simpson Hurricane Wind Scale) that made a catastrophic landfall near Mexico Beach and Tyndall Air Force Base, FL. It was directly responsible for 16 deaths and about $25 billion in damage in the United States. Hurricane Michael got a complex synoptic history, for details, you may refer to the NOAA report on Hurricane Michael [1]. Based on minimum pressure, Michael is the fourth most-powerful hurricane to hit the United States, behind the Labor Day Hurricane (1935), Hurricane Camille (1969) and Hurricane Andrew (1992), and the most powerful storm to impact the Florida Panhandle in recorded history. Hurricane Michael making landfall near Tyndall Air Force Base (AFB) in the Florida Panhandle, southeast of Panama City, near 1730 UTC that day. By that time, the maximum sustained winds had increased to an estimated 140 kt – category 5 on the SaffirSimpson Hurricane Wind Scale (SSHWS).

If running this example, download setrun.py, setplot.py, and Makefile to the appropriate directory. Execute `$ make all` to compile the code, run the simulation, and plot the results.

*Source: 1. National Hurricane Center Tropical Cyclone Report* (https://www.nhc.noaa.gov/data/tcr/AL142018_Michael.pdf)                                                                                *2. National Weather Service, NOAA Information Page* ([https://www.weather.gov/tae/HurricaneMichael2018](https://www.nhc.noaa.gov/data/tcr/AL142018_Michael.pdf))

### Storm Data

------

Data to run the simulation was retrieved from NOAA’s storm data archive: http://ftp.nhc.noaa.gov/atcf/archive/2018/bal142018.dat.gz

In setrun.py, data can be directly retrieved from the source by writing code similar to this:

```python
# Convert ATCF data to GeoClaw format
clawutil.data.get_remote_file(“http://ftp.nhc.noaa.gov/atcf/archive/2018/bal142018.dat.gz”)
atcf_path = os.path.join(data_dir, “bal142018.dat”)
```

For this example, Hurricane Harvey storm data should be placed in the scratch directory ($CLAW/geoclaw/scratch) that the simulation is run in.

### Topography/Bathymetry Data:

------

Topography data is provided in this folder as well in the name of North45_South0_West-105._East-35.tt3. The file should be downloaded and placed in the scratch directory as the Storm Data

### GeoClaw Parameters:

------

Time of landfall was set in the simulation to be 10 Oct, 1700 UTC. Simulation ran from 2 days before landfall to 1 days after.

Gauges were selected based on the National Hurricane Center Tropical Cyclone Report* (https://www.nhc.noaa.gov/data/tcr/AL142018_Michael.pdf)

The observed gauge data for sea level at each location was de-tided using the `fetch_noaa_tide_data()` method and plotted against the predicted storm surge by GeoClaw.

### Data Results:

------

The following chart gives the details of our simulation.

| Gauge  ID | Gauge Name                   | Original Location   | Simulation Location*     | Observed Data** (m) | GeoClaw Simulation** (m) | Difference (m)  |
| --------- | ---------------------------- | ------------------- | ------------------------ | ------------------- | ------------------------ | --------------- |
| 8728690   | APCF1, Apalachicola, FL      | 29.724N, 84.980W    | 29.724N, 84.980W         | 2.60                | 1.25                     | 1.35            |
| 8726724   | CWBF1, Clearwater Beach, FL  | 29.978N, 82.832W    | 27.9841164N, 82.8532264W | 1.00                | 0.24                     | 0.76            |
| 8729108   | PACF1, Panama City, FL       | 30.1517N, 85.6667W  | 30.1517N, 85.6667W       | 1.75                | 0.50 (0.37***)           | 1.25(1.37***)   |
| 8729210   | PCBF1, Panama City Beach, FL | 30.2133N, 85.87830W | 30.2095418N, 85.8808554W | 1.25 (1.13***)      | 0.51 (0.48***)           | 0.74(0.65***)   |
| 8726607   | OPTF1, Old Port Tampa, FL    | 27.86N, 82.55W      | 27.8602907N, 82.5518544W | 0.73                | 0.20                     | 0.53            |
| 8729840   | PCLF1, Pensacola, FL         | 30.40N, 87.21W      | 30.40N, 87.21W           | 1.00                | 0.25                     | 0.75            |
|           |                              |                     |                          |                     | Average Diff. (m)        | 0.897(0.902***) |

*The simulation location might be different from the original data due to the limitation of topography data precision level.

**Maximum Height of Storm Surge

***The data indicate the maximum storm surge water value after landfall, this value is lower than the data without the sign, which is the water level before landfall.

By adjusting the location, we avoided the discrepancies in results. As a CAT 5 Hurricane, the significant raindrop of Michael is a great contributor to the measured storm surge. This factor is not accounted for in the GeoClaw simulation.

### Conclusion:

------

Storm surge simulation we obtained from GeoClaw are generally inconsistent with the observed data. In most cases, the observed storm surge greatly exceeded the amount predicted by the GeoClaw model. The reason for this likely comes from the Michael's historic rains, which caused significant flooding. But this rainfall is not accounted in the model of GeoClaw Simulation. Adjustments to the GeoClaw model to incorporate rainfall may lead to more accurate results.

**This project was begun by Yusong Deng under the supervision of K. Mandli.**

repository: mandli/surge-examples

repo_name: mandli/surge-examples


text:
# **BUILD OF MATERIAL EXEMPLE**
**INFORMATION**
- lorem ipsum
  *lorem ipsum*
- lorem ipsum
  *lorem ipsum*
- No price, deal, sale are shown
  *any type of sale/deal are exclude of a user review*
- Store website are __not__ affiliate link
  *if affiliate link is used, disclaimer shall be include for those links*
  *whom benifit from this kickback/commmission shall be mention*
- lorem ipsum
  *lorem ipsum*
  *lorem ipsum*
- lorem ipsum
  *lorem ipsum*
  *lorem ipsum*

***
## **:exclamation: SECTION UNDER CONSTRUCTION :exclamation:**

---
## **Table of contents**
1. [v0](001BOMv0.md)
2. [v1.8](002BOMv18.md)
3. [v2.4](003BOMv24.md)
4. [vSW](004BOMvSW.md)

#### [Return Home](../README.md)

license: MIT

repository: Thanyth/voron-thing

branch_name: refs/heads/main

extension: md

license_type: permissive

repo_name: Thanyth/voron-thing


text:
# kubeyes
Data driven reliability of Kubernetes

Kubeyes can quantize all kinds of reliability indicator of Kubernetes and drive the improvement.

It bases on the List&Watch mechanism of Kubernetes to reflects latest status of resources and recorsd them to Elastic as history for trend analysis.

## Key Function
- Visual account book of k8s object
- Event based analysis for control plane health and performance
- Bin packing and utilization dashboard

## EBA
use event + FSM (eFSM) to analysis creation and termination of Kubernetes resource, which will support following functions:
1. Customized key path of creation and termination based on .dot language;
2. Measure time consumption of every keypath if it successes;
3. Diagnose reason which caused failure of creation and termination, which will indicate health status of related component;
4. Persistent to Elasatic for aggregation and trend;

repository: zhengyuxin/kubeyes

branch_name: refs/heads/master

repo_name: zhengyuxin/kubeyes


text:
#The Odin Project: Building Micro-Reddit

*Note: I started blogging a while after completing this project. This is my attempt to relearn what I learned.*

[The Odin Project](http://www.theodinproject.com/ruby-on-rails/building-with-active-record) entices programmers to learn by copying popular, real-world start-ups. In this case, [Reddit](http://www.reddit.com). Here's what I learned:

####The Easy
Database Modeling:  A User model (User.rb) `has_many` Posts, a Post (Post.rb) `belongs_to` a user. And Comments (Comment.rb) `belongs_to` a User and a Post.

####The Hard

Adding foreign keys is hard. I find that the easiest solution -- where the Post belongs to a User -- is this:

*	*Implementation*: `rails g model Post user:references [add_column]:[data_type]`

Keeping track of rails console. As the `create_posts.rb` migration references (has an index) the User model, this creates the `**:id** => 1`

*	*Implementation:* `User.create(:username => "jackjohnson", :id => 1)`

However, because Post belongs to a User, the correct way to match the id is `**:user_id** => 1`

*	*Implementation:* `Post.create(:title => "banana pancakes, :user_id => 1)`

####The Tidbits I Shouldn't Forget

When generating a model with, don't forget to add the columns (aka. the information associated with the User).

* *Implementation:* rails g model User **username:string password:string [column_name]:[data type]**

Validations occur within the model file `User.rb`. Start with `validates`, then list then attribute that needs validating.

* *Implementation:* **validates :username**, presence: true, length: { minimum: 6, maximum: 40}


text:
# CompositeImageBuilder

This is a builder which creates an ImageBuilder that lets you process composite
datasets. The implementation relies on a single off-screen canvas to generate the
resulting image of a composite structure (rgb.jpg + composite.json).

```js
var CompositeImageBuilder = require('paraviewweb/src/Rendering/Image/CompositeImageBuilder'),
    instance = new CompositeImageBuilder(qdm, pm);
```

## constructor(queryDataModel, pipelineModel)

Create an instance of a CompositeImageBuilder using the associated
__queryDataModel__ that should be used to fetch the data.

And the __pipelineModel__ that should be used for controlling the ImageBuilder.

Under the hood this will create an off-screen canvas for the image generation.
Then, depending if the method setPushMethodAsImage() has been called,
the 'image-ready' notification will not contain the same object.
By default we use the setPushMethodAsBuffer() configuration.

Below are the two event structures

```js
// setPushMethodAsBuffer()
var eventAsBuffer = {
    canvas: DOMElement,
    imageData: ImageDataFromCanvas,
    area: [0, 0, width, height],
    outputSize: [width, height],
    builder: this
};

// setPushMethodAsImage()
var eventAsImage = {
    url: 'data:image/png:ASDGFsdfgsdgf...',
    builder: this
};
```

## update() - inherited

Trigger the fetching of the data (composite.json + rgb.jpg).

## setPipelineQuery(pipelineQuery)

Should be called each time the pipeline setting is changed.

The __pipelineQuery__ is a string that encodes the pipeline configuration such as
which layer is visible or not and which field should be rendered for a given layer.

The __pipelineQuery__ is structured as follows:

```js
var pipelineQuery = "A_BBCAD_EA";

// In that example we have the following setting
var layerSettings = [
    "A_", // Layer A is invisible
    "BB", // Layer B is using field B
    "CA", // Layer C is using field A
    "D_", // Layer D is invisible
    "EA"  // Layer E is using field A
];
```

## render()

Process the current set of loaded data and render it into the background canvas.
Once done, an event gets triggered to let the application know that the image is
ready to be rendered/displayed somewhere.

## onImageReady(callback) : subscription - inherited

Allows the registration of a __callback(data, envelope)__ function when the
actual generated image is ready.

## destroy()

Free the internal resources of the current instance.

## * updateCompositeMap(query, composite)

Internal function used to update the composite map for faster rendering.

## _updateOffsetMap(pipelineQuery)

Internal function used to update the offset map based on the Pipeline configuration.
The __pipelineQuery__ is a String that encode the pipeline configuration such as
which layer is visible or not and which field should be rendered for a given layer.

## _pushToFront(width, height)

Trigger the event notification that the image is ready. This will call the proper
method to either send the ImageData or an ImageURL.

## _pushToFrontAsImage(width, height)

Called as __pushToFront__ when __setPushMethodAsImage()__ is used.

## _pushToFrontAsBuffer(width, height)

Called as __pushToFront__ when __setPushMethodAsBuffer()__ is used.

## getListeners - inherited

Returns a list of MouseHandler listeners.

## getControlWidgets - inherited

Returns a list of Widgets needed to drive the ImageBuilder.

## getControlModels - inherited

Returns a list of Model that can drive the ImageBuilder.

repository: Kitware/paraviewweb

gha_language: JavaScript

repo_name: Kitware/paraviewweb


text:
Simple Ajax Uploader
============================

Javascript plugin for AJAX-style file uploading with progress support.

Live demo: http://www.lpology.com/code/ajaxuploader/

### Overview ###
Simple Ajax Uploader allows developers to easily add AJAX-style file upload functionality to web applications. It attempts to make the development process more efficient by abstracting away common tasks (like calculating upload progress percentage) while maintaining wide latitude for customization.

This project began life as a rewrite of Andrew Valum's original Ajax Upload plugin. Continuing the simplistic design and customizable nature of Andrew's original plugin is a top priority.

### Features ###
* Uses XMLHttpRequest and HTML5 file API with fall back to iframe method for Internet Explorer.
* Use any HTML element as the upload button.
* Provides individual callback functions for XHR-supported browsers and for browsers that do not support XHR uploads. This allows for much greater control over user experience.
* Requires no external libraries.
* Fast and lightweight - only about 3.2KB when minified and gzipped.
* Tested in IE7+, Firefox 4+, Safari 4+, and Chrome.

### Getting Started ###
Include `SimpleAjaxUploader.js` into your page:

```html
	<script type="text/javascript" src="SimpleAjaxUploader.js"></script>
```

Initialize the uploader when the DOM is ready. There are three required parameters:

```javascript
var uploader = new ss.SimpleUpload({
	button: 'upload-btn',
	url: '/PathTo/UploadHandler.php',
	name: 'uploadfile'
});
```

### Using Uploader.php ###

Basic example of how to handle uploads on the server using the included PHP class:

```php
<?php
require('Uploader.php');

$upload_dir = '/img_uploads/';
$valid_extensions = array('gif', 'png', 'jpeg', 'jpg');

$Upload = new FileUpload('uploadfile');
$result = $Upload->handleUpload($upload_dir, $valid_extensions);

if (!$result) {
	echo json_encode(array('success' => false, 'msg' => $Upload->getErrorMsg()));
} else {
	echo json_encode(array('success' => true, 'file' => $Upload->getFileName()));
}
```

You can also save the uploaded file with a different name by setting the `newFileName` property:

```php
$Upload = new FileUpload('uploadfile');
$ext = $Upload->getExtension(); // Get the extension of the uploaded file
$Upload->newFileName = 'customFileName.'.$ext;
$result = $Upload->handleUpload($upload_dir, $valid_extensions);
```

To access the newly uploaded file, use the `getSavedFile()` method to get the file's path after the upload is completed:
```php
$Upload = new FileUpload('uploadfile');
$result = $Upload->handleUpload($upload_dir, $valid_extensions);

if ($result) {
  $path = $Upload->getSavedFile();
  $imgsize = getimagesize($path);
  // image resizing stuff...
}
```

### Settings for SimpleAjaxUploader.js ###

            Name
            Type
            Description

            button
Default: ''
            String, Element
            File upload button. Required.

            url
Default: ''
            String
            Location of the server-side file upload handler. Required.

            name
Default: ''
            String
            Upload parameter name. Required.

            data
Default: {}
            Object
            Additional data to be sent to the server.

            autoSubmit
Default: true
            Boolean
            By default, uploads commence as soon as a file is selected. Set to false to delay the upload and trigger manually.

            responseType
Default: 'text'
            String
            The type of data you're expecting back from the server. Default is plain text. Additional option is 'json'.

            debug
Default: false
            Boolean
            Setting debug to true will log progress messages and server response in the console.

            hoverClass
Default: ''
            String
            Class applied to upload button when mouse is hovered.

            focusClass
Default: ''
            String
            Class applied to upload button when focused.

            disabledClass
Default: ''
            String
            Class applied to button when disabled.

            onChange(filename, extension)
            Function
            Function to be called when user selects a file. The function gets passed two arguments: a string containing the filename; a string containing the file extension.

            onSubmit(filename, extension)
            Function
            Function to be called before file is uploaded. The function gets passed two arguments: a string containing the filename; a string containing the file extension. Return false stops upload.

            onProgress(pct)
            Function
            Function to be called on the progress event for browsers that support XHR uploads. The function gets passed one argument: an integer representing the upload completion percentage.

            onComplete(filename, response)
            Function
            Function to be called when the upload is completed. The function gets passed two parameters: a string containing the filename; the data returned from the server, formatted according to the responseType setting. If responseType is 'json', the response will be evaluated as JSON and will return a Javascript object.

            onError(filename, errorType, response)
            Function
            Function to be called if an error occurs during upload. The function gets passsed three parameters: a string containing the filename; a string containing the error type; a string containing the server response, if any.

            startXHR(filename, fileSize)
            Function
            Function to be called only in browsers that support XHR uploads (non-IE). Executes after onSubmit but prior to upload start. The function gets passed two arguments: a string containing the filename; a number that is the file size in kilobytes. Return false stops upload.

            endXHR(filename)
            Function
            Function to be called only in browsers that support XHR uploads (non-IE). Executes after upload is completed but prior to onComplete. The function gets passed one argument: a string containing the filename.

            startNonXHR(filename)
            Function
            Function to be called only in browsers that do not support XHR uploads (Internet Explorer). Executes after onSubmit but prior to upload start. The function gets passed one argument: a string containing the filename. Return false stops upload.

            endNonXHR(filename)
            Function
            Function to be called only in browsers that do not support XHR uploads (Internet Explorer). Executes after upload is completed but prior to onComplete. The function gets passed one argument: a string containing the filename.

### Instance Methods ###

            Name
			Parameters
            Description

            submit()
			none
            Begins the file upload process. Note that if autoSubmit is set to true (the default value), there is no need to manually call submit(). The upload process will begin immediately after the user selects a file.

            setData(data)
			data (Object)
            Replaces the data to be sent to the server. Note that all previously set data is entirely removed and replaced.

            disable()
			none
            Disables upload functionality.

            enable()
			none
            Restores upload functionality.

### License ###
Released under the MIT license.

repository: ChrisBuchholz/Simple-Ajax-Uploader

repo_name: ChrisBuchholz/Simple-Ajax-Uploader


text:
# AS3ToJava

A simple converter that convert as3 source code to java.It's has a simple gui based on the javafx.

To build this project,just run the build task in gradle.
open the shell,and type
```
gradlew -build
```
A simple test
# ![GitHub Logo](screenshot.PNG)


text:
# Stock Prices Visualisation

The three dashboards are **Available online** in the following links:

- Intuitive: http://stocks.ahci.work/series
- Detailed:  http://stocks.ahci.work/chart
- Compact:   http://stocks.ahci.work/dots

repository: DoubleBlindReviewsHCI/stockprices

repo_name: DoubleBlindReviewsHCI/stockprices


text:
# Class diagram

```sequence
Host -> Client: Game state (ur turn)
Client -> Host: Action (ok i buy this)
Host -> Host: Simulate clients' actions
Client -> Client: Simulate self action
Host -> Client: Updated game state
Client -> Client: "Reconcile game state \n with host's game state"
```
### class Action
+ gameId: Number
+ player: Player
+ timestamp: Number

### class TokenAction
+ tokens: Map<Token, Number>
+ discardedTokens: Map<Token, Number>

### class BuyAction
+ card: Card

### class ReserveAction
+ card: Card

### class PassAction

### class Game
+ id: Number
+ players: Player[]
+ timer: Timer
+ deck: Map<Number, Card[]>
+ market: Map<Number, Card[]>
+ tokens: Map<Token, Number>
+ combos: Combo[]
+ state: State
+ host: Player
+ winners: Player[]

### class Player
+ id: Number
+ name: String
+ boughtCards: Card[]
+ reservedCards: Card[]
+ boughtCombos: Combo[]
+ tokens: Map<Token, Number>
+ points: Number
+ isHost: Boolean

### class Timer
+ getRemainingTime(Player): Number

### class Card
+ tier: Number
+ color: Color
+ cost: Map<Token, Number>
+ points: Number

### class Combo
+ requirements: Map<Color, Number>
+ points: Number

### class Token
+ color: Color

### enum State
+ PreInit
+ Start
+ Round
+ FinalRound
+ End

### enum Color
+ Red
+ Green
+ Blue
+ White
+ Black
+ Wildcard
```javascript=
const Color = {
    RED:Symbol('Red'),
    BLUE:Symbol('Blue')
    //...
}

repository: openorclose/splendad

gha_language: HTML

gha_license_id: MIT

repo_name: openorclose/splendad


text:
Redex
===================

Realtime full text indexing powered by redis & node.js.

Redex can index JSON items and search through 5 million items within 70ms.

Redex is a great solution for MongoDB external full text indexing;-)

## Features

### Built-in Features

- Insanely fast searching
- Realtime indexing
- Fuzzy Query
- Automatic caching
- JSON input/output
- Sorting with options
- Levenshtein Distance or lexical closest gussing
- Flexible and simple APIs

### Extending

- Chinese 'Pin Yin' support: [PJPinyin](https://github.com/peakji/PJPinyin "PJPinyin")
- CJK word split / segmentation: [node-segment](https://github.com/peakji/node-segment "node-segment")

## Install

  npm install redex

Or from source:

  git clone git://github.com/peakji/redex.git
  cd redex
  npm link

## Usage

### init

Initialize Redis Connection.

```javascript
function init(config, callback)
```

Call this manually only if you want to set confs from your code, or your redis server requires password. Otherwise Redex will init it self with the default settings on the first add/search call.

- **config** is optional, same as conf.json
- **callback** is optional, it should be something like function(msg){...}

```javascript
// Default settings
redex.init();

// Password & port
redex.init({
	"redis_port":1234,
	"password":"foobar"
});
```

### add

Add Item

```javascript
add(json, indexKeyOrKeyowrds, callback)
```

Save a JSON item as a hash map into Redis and index it.

- **indexKeyOrKeyowrds** can be the key of the indexing attr, or an array of keyowrds.
- **callback** is optional, it should be something like function(err){...}

```javascript
var json1 = {word:"Peak Ji rocks",mongoID:1001,score:998};

// Index on the 'word' attribute
redex.add(json1,'word');

// Index by given keywords
redex.add(json1,['peak','sucks']);
```

### search

Search with Keywords

```javascript
search(keywords, options, callback)
```

Search and return matched records.

- **keywords** can be a keyword string or an array of keywords;
- **options** :

  - `fuzzy` (int) - redex can abandon [fuzzy] prefix & suffix keywords to make fuzzy query
  - `closest` (string) - sort by the closest guess on the key [closest]
  - `sort` (string) - sort on the [sort] key
  - `order` (string/int) - 'ASCE' = 1 or 'DESC' = -1
  - `leven` (string) - use Levenshtein Distance to determine the closest item on key [leven]
  - `expire` (int) - cache search result for [expire] secondes
  - `key` (string/array) - key string or an array of keys of the attribute(s) that you want
  - `limit` (int) - max items count
  - `start` & `end` (int) - sorting range

- **callback** : function to get the results `function(data){...}`

```javascript
// Search for items with 'peak' and 'rock', then sort by 'score'
redex.search(['peak','rocks'],{sort:'score'},function(data){
    console.log(data);
    redex.quit();
});
```

### quit

Disconnect from Redis

```javascript
function quit()
```

```javascript
redex.quit();
```

## TO-DO

- Namespace for Multiple Indexes (actually now I use multiple Redex instances...)
- OR searching
- API for rebuild index
- API for DELETE items
- Code is still dirty

## License

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

 Copyright (c) 2013 Yichao 'Peak' Ji

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

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

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

repository: sipims/redex

repo_name: sipims/redex


text:
# NetWitness Suite YARA Repository
> A collection of YARA rules aimed to share indicators of compromise amongst the NetWitness user community.

## kingslayer
> Kingslayer – A Supply Chain Attack

Read more...

## monsoon
> Monsoon – BADNEWS and RTF Dropper

Read more...

## terracotta-vpn
> Terracotta VPN: Enabler of Advanced Threat Anonymity

Read more...


text:
---
date: 2017-02-08T00:00:00+00:00
title: Helm
author: ipedrazas
tags: [ kubernetes, docker, helm ]
logo: kubernetes.svg
repo: ipedrazas/drone-helm
image: ipedrazas/drone-helm
---

This plugin allows you to run Kubernetes Helm as part of your pipeline.

```nohighlight
helm init
helm upgrade --install RELEASE CHART
```

The plugin initialises helm first, then it issues the install/upgrade command. There are a few settings that
map to the equivalent `helm` command.

Basic example:

```yaml
pipeline:
    helm_deploy:
        image: quay.io/ipedrazas/drone-helm
        skip_tls_verify: true
        chart: ./charts/my-chart
        release: ${DRONE_BRANCH}
        values: secret.password=${SECRET_PASSWORD},image.tag=${TAG}
        prefix: STAGING
        namespace: development
```

This block will execute the following command:

```
helm upgrade --install ${DRONE_BRANCH} ./charts/my-chart --namespace development --set secret.password=${SECRET_PASSWORD},image.tag=${TAG}
```

There are a few parameters that will help you to manage your deployment the way you want, like enabling debug output or specifying the namespace where you want to initiaise tiller.

```diff
pipeline:
    helm_deploy:
        image: quay.io/ipedrazas/drone-helm
+       skip_tls_verify: true
        chart: ./charts/my-chart
        release: ${DRONE_BRANCH}
+       values: secret.password=${SECRET_PASSWORD},image.tag=${TAG}
+       prefix: STAGING
+       namespace: development
+       debug: true
+       tiller_ns: system
```

# Parameter Reference

namespace
: namespace where you want to install your chart. If you don't specify this parameter, `default` namespace will be used.

chart
: chart that you want to install

release
: name used in the helm command to specify the release. If you don't specify the release, helm will generate a random name and you will not be able to upgrade that release.

values
: values injected in helm command. These are the values you want to overwrite.

prefix
: defines the prefix of all the secrets used in the plugin. If prefix is `DEV` and your secret should be named `DEV_PASSWORD` and the values would be `${PASSWORD}`. If `prefix` is `PROD` the secret should be defined as `PROD_PASSWORD`. This allows you to define different secrets for different

tiller_ns
: namespace where `tiller` will be installed. By default, `tiller` is installed in `kube-system`

debug
: very verbose output. it will display all the ENVVARS passed to the container. Very handy when debugging secrets.

skip_tls_verify
: if you create your own SSL certificates, youi will need this flag to be true to avoid having connectivity issues.

api_server
: kubernetes api server

kubernetes_token
: kubernetes token to connect to the api server

# Secret Reference

There are a few secrets that the plugin expects to be able to connect to a kubernetes cluster

: API_SERVER url to connect to the Kubernetes api server

: KUBERNETES_TOKEN Kubernetes token used to connect to the api server.

repository: therynamo/drone-plugin-index

repo_name: therynamo/drone-plugin-index


text:
---
layout: post
title: Predictive Modeling
subtitle: Squirrels of Central Park app
image: /img/squirrel_approach.png
---
## Squirrels of Fury
This app accuratley predicts if you can approach a squirrel and have it run away or not. It took around 40 hours to complete and
I am very happy with the end result. Up until this point this is the most intelligent thing I have ever created, a predictive model
with interactive capabilities. I hope you enjoy it as much as I do.

### Links
- [GitHub](https://github.com/ethanmjansen/Central_Park_Squirrels)
- [Squirrels of Central Park](https://squirrels-of-central-park.herokuapp.com/)
- [LinkedIn](https://www.linkedin.com/in/ethanjansen/)


text:
### RUNNING INSTRUCTIONS

Steps to take:

1. First, create necessary folders. Project structure should be as following:
	* final_code
	* data:
		* data_mat
		* transformed_data
2. Install full [Anaconda] (https://www.anaconda.com/download/). Alternatively, you can install [Miniconda] (https://conda.io/miniconda.html) (for Python 3.6) and run `conda env create -f environment.yml` in the root of the project.
3. Follow instructions on [Mathworks website] (https://nl.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html) to install MATLAB Engine API for Python.
4. Activate environment using `source activate cv2_icp`.
5. Run `pip install tqdm`
6. Run `conda install -c conda-forge opencv`
7. Run `cd final_code && jupyter notebook demo_notebook.ipynb`. It will activate jupyter notebook, which has all the necessary code for running the demo.

repository: askliar/computer-vision

repo_name: askliar/computer-vision


text:
---
layout: page
title: Welcome!
tagline: Just starting...
---
{% include JB/setup %}

I'm experienced in

* Data, look at [BEF-China data portal](http://china.befdata.biow.uni-leipzig.de), I did that for the [Department Functional Biodiversity, University of  Leipzig](http://uni-leipzig.de/spezbot)
* Statistics, especially R, for example [BEF-data R package](http://cran.r-project.org/web/packages/rbefdata/index.html)
* Ecology, [Publications](http://orcid.org/0000-0001-5358-5469)

Find me elsewhere at
* [Department Functional Biodiversity, University of  Leipzig](http://uni-leipzig.de/spezbot)
* [Orcid](http://orcid.org/0000-0001-5358-5469)
* [github](https://github.com/kej)
* [Bündnis 90/die Grünen in Berlin, Neukölln](http://www.gruene-neukoelln.de)

Starting with jekyll is not that difficult, but it's still step by step.
So here are my first posts, including the "how to" post jekyll bootstrap provided me with.

## Posts

  {% for post in site.posts %}

{{ post.date | date_to_string }} » {{ post.title }}

  {% endfor %}


text:
# Mx Home Button
Sample application showing how to disable the Home Button on Zebra Technologies' Android devices using UIManager included in Mx v4.3+.

You can find more information about this sample app at [this blog post](http://pietromaggi.com/2016/08/01/disabling-home-button-on-zebra-android-devices/).

~Pietro

repository: pfmaggi/MxHomeButton

repo_name: pfmaggi/MxHomeButton


text:
# fluent-bit-aggregator

![Version: 0.8.0](https://img.shields.io/badge/Version-0.8.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.1.8](https://img.shields.io/badge/AppVersion-2.1.8-informational?style=flat-square)

Helm chart for Fluent Bit running as an aggregation stateful set.

**Homepage:** <https://fluentbit.io/>

## Maintainers

| Name | Email | Url |
| ---- | ------ | --- |
| stevehipwell |<EMAIL_ADDRESS>| <https://github.com/stevehipwell> |

## Source Code

* <https://github.com/fluent/fluent-bit/>
* <https://github.com/stevehipwell/helm-charts/>

## Installing the Chart

To install the chart using the recommended OCI method you can use the following command.

```shell
helm upgrade --install fluent-bit-aggregator oci://ghcr.io/stevehipwell/helm-charts/fluent-bit-aggregator --version 0.8.0
```

Alternativly you can use the legacy non-OCI method via the following commands.

```shell
helm repo add stevehipwell https://stevehipwell.github.io/helm-charts/
helm upgrade --install fluent-bit-aggregator stevehipwell/fluent-bit-aggregator --version 0.8.0
```

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Affinity settings for pod scheduling. If an explicit label selector is not provided for pod affinity or pod anti-affinity one will be created from the pod selector labels. |
| args | list | `[]` | Extra args for the default container; `--workdir`, `--config` & `--enable-hot-reload` are managed by the chart. |
| autoscaling.behavior | object | `{}` | Behaviour configuration for the `HorizontalPodAutoscaler`. |
| autoscaling.enabled | bool | `false` | If `true`, create a `HorizontalPodAutoscaler` to scale the `StatefulSet`. |
| autoscaling.maxReplicas | int | `3` | Maximum number of replicas for the `HorizontalPodAutoscaler`. |
| autoscaling.metrics | list | `[]` | Metrics configuration for the `HorizontalPodAutoscaler`. |
| autoscaling.minReplicas | int | `1` | Minimum number of replicas for the `HorizontalPodAutoscaler`. |
| command | list | `["/fluent-bit/bin/fluent-bit"]` | Command for the default container |
| commonLabels | object | `{}` | Labels to add to all chart resources. |
| config.customParsers | string | `nil` | Custom parsers to configure. |
| config.extraFiles | object | `{}` | Extra files to mount to /fluent-bit/etc |
| config.luaScripts | object | `{}` | Lua scripts to configure, these will be created at /fluent-bit/scripts and need to be referenced by an absolute path. |
| config.pipeline | string | See _values.yaml_ | Fluent Bit pipeline configuration. |
| config.service | object | See _values.yaml_ | Fluent Bit service configuration. |
| config.storage | bool | `true` | If `true`, filesystem storage will be enabled. |
| dashboards.enabled | bool | `false` | If `true`, install the _Grafana_ dashboards provided by the chart. |
| env | list | `[]` | Environment variables for the default container. |
| extraVolumeMounts | list | `[]` | Extra volume mounts for the default container. |
| extraVolumes | list | `[]` | Extra volumes for the pod. |
| fullnameOverride | string | `nil` | Override the full name of the chart. |
| hotReload.enabled | bool | `false` | If `true`, enable [hot-reload](https://docs.fluentbit.io/manual/administration/hot-reload) via a sidecar container. |
| hotReload.image.digest | string | `nil` | Optional image digest for the hot-reload sidecar container. |
| hotReload.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the hot-reload sidecar container. |
| hotReload.image.repository | string | `"ghcr.io/jimmidyson/configmap-reload"` | Image repository for the hot-reload sidecar container. |
| hotReload.image.tag | string | `"v0.11.1"` | Image tag for the hot-reload sidecar container. |
| hotReload.resources | object | `{}` | Resources for the hot-reload sidecar container. |
| image.digest | string | `nil` | Optional image digest for the default container. |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the default container. |
| image.repository | string | `"cr.fluentbit.io/fluent/fluent-bit"` | Image repository for the default container. |
| image.tag | string | `nil` | Image tag for the default container, this will default to `.Chart.AppVersion` if not set and will be omitted if set to `-`. |
| imagePullSecrets | list | `[]` | Image pull secrets. |
| ingresses | list | `[]` | Ingresses, each input plugin will need it's own. |
| livenessProbe | object | See _values.yaml_ | Liveness probe configuration for the default container. |
| minReadySeconds | string | `nil` | Min ready seconds for the `StatefulSet`. |
| nameOverride | string | `nil` | Override the name of the chart. |
| nodeSelector | object | `{}` | Node labels to match for pod scheduling. |
| ordinals | object | `{}` | Ordinals configuration for the `StatefulSet`. |
| persistence.accessMode | string | `"ReadWriteOnce"` | Access mode for the `PersistentVolumeClaim`. |
| persistence.annotations | object | `{}` | Annotations for the `PersistentVolumeClaim`. |
| persistence.enabled | bool | `false` | If `true`, persistence should be enabled for the `StatefulSet`. |
| persistence.retainDeleted | bool | `true` | If `true`, keep `PersistentVolumeClaims` when the `StatefulSet` is deleted. |
| persistence.retainScaled | bool | `true` | If `true`, keep `PersistentVolumeClaim` when the `StatefulSet` is scaled down. |
| persistence.size | string | `"8Gi"` | Size of the `PersistentVolumeClaim`. |
| persistence.storageClass | string | `nil` | Storage class for the `PersistentVolumeClaim`, if not set the default will be used. |
| podAnnotations | object | `{}` | Annotations to add to the pod. |
| podDisruptionBudget.enabled | bool | `false` | If `true`, create a `PodDisruptionBudget` resource. |
| podDisruptionBudget.maxUnavailable | string | `nil` | Minimum number of unavailable pods, either a number or a percentage. |
| podDisruptionBudget.minAvailable | string | `nil` | Minimum number of available pods, either a number or a percentage. |
| podLabels | object | `{}` | Labels to add to the pod. |
| podManagementPolicy | string | `nil` | Pod management policy for the `StatefulSet`. |
| podSecurityContext | object | See _values.yaml_ | Security context for the pod. |
| priorityClassName | string | `nil` | Priority class name for the pod. |
| readinessProbe | object | See _values.yaml_ | Readiness probe configuration for the default container. |
| replicas | int | `1` | Number of replicas to create if `autoscalling.enabled` is `false`. |
| resources | object | `{}` | Resources for the default container. |
| securityContext | object | See _values.yaml_ | Security context for the default container. |
| service.additionalPorts | list | See _values.yaml_ | Additional ports to expose. |
| service.annotations | object | `{}` | Service annotations. |
| service.httpPort | int | `2020` | Fluent Bit HTTP port used for status and metrics. |
| service.type | string | `"ClusterIP"` | Service type. |
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account. |
| serviceAccount.automountToken | bool | `false` | If `true`, mount the `ServiceAccount` token. |
| serviceAccount.create | bool | `true` | If `true`, create a new `ServiceAccount`. |
| serviceAccount.labels | object | `{}` | Labels to add to the service account. |
| serviceAccount.name | string | `nil` | If this is set and `serviceAccount.create` is `true` this will be used for the created `ServiceAccount` name, if set and `serviceAccount.create` is `false` then this will define an existing `ServiceAccount` to use. |
| serviceMonitor.additionalEndpoints | list | `[]` | Additional `ServiceMonitor`endpoints, these are needed for metrics output plugins. |
| serviceMonitor.additionalLabels | object | `{}` | Additional labels for the `ServiceMonitor`. |
| serviceMonitor.enabled | bool | `false` | If `true`, create a `ServiceMonitor` resource to support the _Prometheus Operator_. |
| serviceMonitor.endpointConfig | object | `{}` | Additional endpoint configuration for the default `ServiceMonitor` endpoint. |
| terminationGracePeriodSeconds | string | `nil` | Termination grace period for the pod in seconds. |
| tolerations | list | `[]` | Node taints which will be tolerated for pod scheduling. |
| topologySpreadConstraints | list | `[]` | Topology spread constraints for pod scheduling. If an explicit label selector is not provided one will be created from the pod selector labels. |
| updateStrategy | object | `{}` | Update strategy for the `StatefulSet`. |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)

repository: stevehipwell/helm-charts

gha_language: Smarty

repo_name: stevehipwell/helm-charts


text:
# node.js-login

A signup and login functionality using Node.js alongside Express.js

## Installation and running project

 you need to have node.js installed on your system to be able to run this app functionality.
if you dont have node.js install at (<https://nodejs.org>)

### Install dependencies

* Clone the repository and change directory into:

```console
git clone https://github.com/humbejeff2116/node.js-login.git
 cd node.js-login

```

Install `dependencies` with [npm](https://www.npmjs.com/):

1. Run `npm install`

2. Run the server `npm run start`

Open your browser and go to [http://localhost:4000/](http://localhost:4000/)


text:
# Topic

> 人生課題：我不喜歡我的樣子，怎麼辦？ (Not Liking One's Look)

> Yet, you gaze in the bathroom mirror and think: Why? In my brief existence on this planet does this have to be me?

> 但當你在廁所看著鏡中的自己，不禁會想著：「為什麼？在我短暫存於這顆星球的期間，我一定要是這樣嗎？」

[![Image](https://cdn.voicetube.com/assets/thumbnails/DPiSFGrHCbE.jpg)](https://www.youtube.com/embed/DPiSFGrHCbE?rel=0&showinfo=0&cc_load_policy=0&controls=1&autoplay=1&iv_load_policy=3&playsinline=1&wmode=transparent&start=22&end=33&enablejsapi=1&origin=https://tw.voicetube.com&widgetid=1)

Host: Ingrid

Today issue: Do you think you are good-looking?

[Host record](https://cdn.voicetube.com/everyday_records/4809/1605004338.mp3)

## learning points
1. _
	* gaze [gez] (v./n.) 凝視，注視，盯著看 （一直持續的看的某人/某事，並且是長時間的。）
		- for the last exercise, I want you to gaze into your partner's eyes and tell them you love them.
	* stare [stɛr] (v./n.) 盯著看，凝視，注視 （眼睛睜大的、長時間的看著某人/某事，尤指驚訝、害怕或思考時。 瞥一眼，迅速地看一眼，掃視 （很快的看某樣東西，然後移開視線。 ）
		- that guy over at the tablescape glancing this way do you know him.
	* glare [glɛr] (v./n.) 怒視，瞪眼 （帶著怒氣的一直看著某人/某事。）
		- what's up with that glare(?) did I do something wrong?

2. _
	* brief [brif] (adj.) 短暫的；簡短的
		- the teacher asked us to give a brief 30-second self-introduction not an hour-long speech about yourself.

3. _
	* planet [ˋplænɪt] (n.) 行星
		- my friend Katie is such a unique person it's like she's from another planet sometimes.


text:
As part of this module you will deploy and configure the [Cross Account Manager](http://docs.aws.amazon.com/solutions/latest/cross-account-manager/architecture.html)

> This should be performed on Shared Services account in **Ireland (eu-west-1)** region.

**Table of Contents:**
-   [Launch the Cross Account Manager (master role) in Shared Services Account](#launch-the-cross-account-manager-master-role-in-shared-services-account)
-   [Configure sub accounts in Cross Account Manager](#configure-sub-accounts-in-cross-account-manager)
-   [Launch the Cross Account Manager (sub role)](#launch-the-cross-account-manager-sub-role)
-   [Onboard Policies and Roles](#onboard-policies-and-roles)
-   [Assign IAM Roles to your Active Directory Groups](#assign-iam-roles-to-your-active-directory-groups)
-   [Use the solution webpage to access a sub-account](#use-the-solution-webpage-to-access-a-sub-account)
-   [Expected Outcome](expected-outcome)

## Launch the Cross Account Manager (master role) in Shared Services Account

> Shared Services Account will act as the Cross Account Manager Master

1.  Login to "Shared Services Account" with **PayerAccountAccessRole** role created as part of account creation using the [cross account switch role](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) capability.

2.  Change the region to Ireland (eu-west-1) by [selecting the region](http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html#select-region) from the top right of Management Console.

3.  Navigate to [CloudFormation](https://eu-west-1.console.aws.amazon.com/cloudformation/home?region=eu-west-1#/stacks?filter=active) console and create a new stack using [aws-cross-account-manager-master.yml](../templates/aws-cross-account-manager-master.yml) template.

4.  Provide a Stack Name (E.g. CrossAccountManager), review the parameters ("AccessLinksBucket" & "ConfigBucket") and provide a valid name for S3 buckets following the [bucket naming rules](http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) (e.g. lz-cross-account-manager-access-links-<five random letters>).
    > NOTE: S3 bucket name should be unique.

5.  Select the checkbox under Capabilities in subsequent pages to allow CloudFormation to create IAM resources.

6.  Create the stack.

7.  It will take few minutes to complete the stack creation. Once it’s been completed save the following values from the output section of the stack.

    -   CAMConfigBucket
    -   AccessLinksBucket
    -   KMSKeyAlias

**Using CLI:**

1.  Open [aws-cross-account-manager-master-parameters.json](../templates/aws-cross-account-manager-master-parameters.json) in your favorite text editor and review the parameters.

2.  Update the ParameterValue of the following ParameterKeys.

    -   AccessLinksBucket - Provide a valid name for S3 buckets following the [bucket naming rules](http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) (e.g. lz-cross-account-manager-access-links-<five random letters>).
    -   ConfigBucket - provide a valid name for S3 buckets following the [bucket naming rules](http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) (e.g. lz-cross-account-manager-config-<five random letters>).

3.  Create the stack using following command.
    ```
    aws cloudformation create-stack --stack-name CrossAccountManager --capabilities CAPABILITY_NAMED_IAM --region eu-west-1 --profile sharedserv --template-body file://templates/aws-cross-account-manager-master.yml --parameters file://templates/aws-cross-account-manager-master-parameters.json
    ```
    ```json
    {
        "StackId": "arn:aws:cloudformation:us-east-1:321098987654:stack/CrossAccountManager/3d1abad2-ba80-11e7-93d4-28a3c090500c"
    }
    ```

4.  Once the stack got created successfully get the output values of the stack using the following command.
    ```
    aws cloudformation describe-stacks --stack-name CrossAccountManager --region eu-west-1 --profile sharedserv --query 'Stacks[0].Outputs[*].{Key:OutputKey,Value:OutputValue}' --output table
    ---------------------------------------------------------------------
    |                          DescribeStacks                           |
    +--------------------+----------------------------------------------+
    |         Key        |                    Value                     |
    +--------------------+----------------------------------------------+
    |  CAMConfigBucket   | lz-cross-account-manager-config-example      |
    |  KMSKeyAlias       | alias/CrossAccountManager-Key                |
    |  AccessLinksBucket | lz-cross-account-manager-access-links-example|
    |  UUID              | 78e55241-abcd-wxyz-stuv-df75eda35ae4         |
    |  AnonymousData     | No                                           |
    +--------------------+----------------------------------------------+
    ```

## Configure sub accounts in Cross Account Manager

1.  Open the file [account.yml](../CrossAccountManager/account.yml) which located inside CrossAccountManager directory in your favorite text editor.

2.  Update the 12 digit account id of your `Security` and `Application One` accounts in the appropriate field and save the file.

3.  Navigate to [Amazon S3 Console](https://s3.console.aws.amazon.com/s3/home?region=eu-west-1#) and open the 'ConfigBucket' bucket that was created in the previous procedure and open the `account` folder.

4.  Upload the account file. In the upload pop-up at 'Set Properties' stage, under 'Encryption' select the check box 'AWS KMS master-key' and use the solution-generated AWS KMS key (KMSKeyAlias output from the previous procedure) to encrypt the object during upload (see the [AWS KMS Developer Guide](http://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html) for detailed instructions).

    **Using CLI:**

    1.  Get the KMS Key Id using the below command. Make sure you search the correct KMS Key using the KMSKeyAlias obtained from the output of CFN stack from previous procedure and use that for '\[?AliasName==\`alias/CrossAccountManager-Key\`\]'

        ```
        aws kms list-aliases  --profile sharedserv --region eu-west-1 --query 'Aliases[?AliasName==`alias/CrossAccountManager-Key`].{KMSKeyId:TargetKeyId}' --output text

        b44a4526-abcd-0707-wxyz-e299c63423da
        ```

    2.  Upload the account.yml file inside CrossAccountManager directory to the 'account' directory in `CAMConfigBucket` S3 bucket. Update the S3 location & `--sse-kms-key-id` parameter to the value obtained in the above step 1.

        aws s3 cp account.yml --region eu-west-1 --profile sharedserv s3://lz-cross-account-manager-config-example/account/ --sse aws:kms --sse-kms-key-id b44a4526-abcd-0707-wxyz-e299c63423da

        ```
        upload: ./account.yml to s3://lz-cross-account-manager-config-example/account/account.yml
        ```

5.  If the upload is successful, the solution will remove the account file from the configuration bucket. Check the account folder to confirm the file was received and removed. (It will remain in the bucket’s version history.) You can also check [Amazon DynamoDB](http://docs.aws.amazon.com/solutions/latest/cross-account-manager/appendix-a.html#ddb-tables) to confirm the account record(s) were added successfully.

    **Using CLI:**
    -   Scan the accounts DynamoDB table to see whether the accounts got added.
    ```
        aws dynamodb scan --table-name CrossAccountManager-Accounts --region eu-west-1 --profile sharedserv --query 'Items[*].{AccountId:AccountId.S,AccountGroup:AccountGroup.S,Status:Status.S}' --output table
    ```
    ```text
        ---------------------------------------------
        |                   Scan                    |
        +---------------+----------------+----------+
        | AccountGroup  |   AccountId    | Status   |
        +---------------+----------------+----------+
        |  devops       |<PHONE_NUMBER>98  |  pending |
        |     *         |<PHONE_NUMBER>98  |  pending |
        +---------------+----------------+----------+
    ```
    > **Note:**
    >
    > You must successfully upload the account file to the configuration bucket before you continue to the next step.

## Launch the Cross Account Manager (sub role)

1.  Navigate to [CloudFormation StackSets](https://eu-west-1.console.aws.amazon.com/cloudformation/stacksets/home?region=eu-west-1#/stacksets) console and create a new StackSet using [aws-cross-account-manager-sub.yml](../templates/aws-cross-account-manager-sub.yml) template.

2.  Provide the StackSet Name `CrossAccountManager`, then enter 12 digit account Id of your Shared Services Account (Cross Account Manager Master) for `MasterAccountID` parameter and proceed by clicking 'Next'.

3.  Enter the 12 digit account ID of `Security`, and `Application One` accounts as comma separated under 'Deploy stacks in accounts' field.

4.  Add 'EU (Ireland)' in the 'Specify Regions' field.

5.  Proceed by clicking 'Next' and create the StackSet.

**Using CLI:**

1.  Create the StackSet named `CrossAccountManager` using following command. Update the ParameterValue for MasterAccountID to be 12 digit account Id of your Shared Services Account (Cross Account Manager Master).

    aws cloudformation create-stack-set --stack-set-name CrossAccountManager --capabilities CAPABILITY_NAMED_IAM --template-body file://templates/aws-cross-account-manager-sub.yml --region eu-west-1 --profile sharedserv --parameters ParameterKey=MasterAccountID,ParameterValue=321098987654

    ```json
    {
        "StackSetId": "CrossAccountManager:5c54daa1-9155-4d84-6cfc-9b1fdexample"
    }
    ```

2.  Create Stack Instance in `Security`, and `Application One` accounts by providing the 12 digit AWS account id of all the accounts in space separated format to `--accounts` parameter.

    aws cloudformation create-stack-instances --stack-set-name CrossAccountManager --regions eu-west-1 --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=4 --region eu-west-1 --profile sharedserv --accounts 987654321098<PHONE_NUMBER>98

    ```json
    {
        "OperationId": "666a05b3-adef-4692-356a-695bfexample"
    }
    ```

## Onboard Policies and Roles

1.  Navigate to [Amazon S3 Console](https://s3.console.aws.amazon.com/s3/home?region=eu-west-1#) and open the 'ConfigBucket' bucket that was created in the previous procedure and open the `custom_policy` folder.

2.  Upload the policies files (all files with .json extension) in the 'CrossAccountManager' directory to S3. In the upload pop-up at 'Set Properties' stage, under 'Encryption' select the check box 'AWS KMS master-key' and use the solution-generated AWS KMS key (KMSKeyAlias output from the previous procedure) to encrypt the object during upload (see the [AWS KMS Developer Guide](http://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html) for detailed instructions).

    **Using CLI:**

    Update the S3 location to `CAMConfigBucket` & `--sse-kms-key-id` parameter

    for pf in Administrator.json DBAdmin.json DevOps.json NetworkAdmin.json PowerUser.json ReadOnly.json; do echo "Uploading $pf to S3"; aws s3 cp --sse aws:kms --region eu-west-1 --profile sharedserv $pf s3://lz-cam-config-EXAPMPLE/custom_policy/ --sse-kms-key-id b44a4526-abcd-0707-wxyz-e299c63423da; done

    _Output:_
    ```
    Uploading Administrator.json to S3
    upload: ./Administrator.json to s3://lz-cross-account-manager-config-example/custom_policy/Administrator.json
    Uploading DBAdmin.json to S3
    upload: ./DBAdmin.json to s3://lz-cross-account-manager-config-example/custom_policy/DBAdmin.json
    Uploading DevOps.json to S3
    upload: ./DevOps.json to s3://lz-cross-account-manager-config-example/custom_policy/DevOps.json
    Uploading NetworkAdmin.json to S3
    upload: ./NetworkAdmin.json to s3://lz-cross-account-manager-config-example/custom_policy/NetworkAdmin.json
    Uploading PowerUser.json to S3
    upload: ./PowerUser.json to s3://lz-cross-account-manager-config-example/custom_policy/PowerUser.json
    Uploading ReadOnly.json to S3
    upload: ./ReadOnly.json to s3://lz-cross-account-manager-config-example/custom_policy/ReadOnly.json
    ```
    Execute the following command to check whether the files got uploaded successfully to the `CAMConfigBucket` bucket in the `custom_policy` directory.

    aws s3 ls --region eu-west-1 --profile sharedserv s3://lz-cross-account-manager-config-example/custom_policy/

    ```
    2017-11-12 12:53:12        132 Administrator.json
    2017-11-12 12:53:14       3578 DBAdmin.json
    2017-11-12 12:53:15       9044 DevOps.json
    2017-11-12 12:53:16       6536 NetworkAdmin.json
    2017-11-12 12:53:17        378 PowerUser.json
    2017-11-12 12:53:18       6561 ReadOnly.json
    ```

3.  Go back to the configuration bucket and choose the role folder.

4.  Upload the role.yml file. Use the solution-generated AWS KMS key to encrypt the object during upload.

    -   Upload the role.yml file inside CrossAccountManager directory to the 'role' directory in `CAMConfigBucket` S3 bucket. Update the S3 location & `--sse-kms-key-id` parameter to the value obtained in the earlier procedure.

        aws s3 cp role.yml --region eu-west-1 --profile sharedserv --sse aws:kms s3://lz-cross-account-manager-config-EXAMPLE/role/ --sse-kms-key-id b44a4526-abcd-0707-wxyz-e299c63423da

        ```
        upload: ./role.yml to s3://lz-cross-account-manager-config-example/role/role.yml
        ```

5.  If the upload is successful, the solution will remove the role file from the configuration bucket. Check the role folder to confirm the file was received and removed. (It will remain in the bucket’s version history.) You can also check [Amazon DynamoDB](http://docs.aws.amazon.com/solutions/latest/cross-account-manager/appendix-a.html#ddb-tables) to confirm the account record(s) were added successfully.

    **Using CLI:**

    -   Check the list of roles by scanning the roles DynamoDB table (update your table name appropriately).

        ```
        aws dynamodb scan --table-name CrossAccountManager-Roles --region eu-west-1 --profile sharedserv --query 'Items[*].{Role:Role.S,AccountGroup:AccountGroup.S,Status:Status.S}' --output table

        ----------------------------------------------------------------
        |                                 Scan                         |
        +--------------+------------------------------------+----------+
        | AccountGroup |                   Role             | Status   |
        +--------------+------------------------------------+----------+
        |  *           |  CrossAccountManager-Administrator |  active  |
        |  *           |  CrossAccountManager-PowerUser     |  active  |
        |  devops      |  CrossAccountManager-DevOps        |  active  |
        |  devops      |  CrossAccountManager-NetworkAdmin  |  active  |
        |  devops      |  CrossAccountManager-DBAdmin       |  active  |
        |  *           |  CrossAccountManager-ReadOnly      |  active  |
        +--------------+------------------------------------+----------+
        ```
    -   Check the list of roles that will be created in corresponding accounts.

        ```
        aws dynamodb scan --table-name CrossAccountManager-Account-Roles --region eu-west-1 --profile sharedserv --query 'Items[*].{AccountId:AccountId.S,Role:Role.S,Status:Status.S}' --output table

        ----------------------------------------------------------------
        |                                 Scan                         |
        +--------------+------------------------------------+----------+
        |   AccountId  |                   Role             | Status   |
        +--------------+------------------------------------+----------+
        |<PHONE_NUMBER>98|  CrossAccountManager-Administrator |  active  |
        |<PHONE_NUMBER>98|  CrossAccountManager-Administrator |  active  |
        |<PHONE_NUMBER>98|  CrossAccountManager-PowerUser     |  active  |
        |<PHONE_NUMBER>98|  CrossAccountManager-PowerUser     |  active  |
        |<PHONE_NUMBER>98|  CrossAccountManager-DevOps        |  active  |
        |<PHONE_NUMBER>98|  CrossAccountManager-NetworkAdmin  |  active  |
        |<PHONE_NUMBER>98|  CrossAccountManager-DBAdmin       |  active  |
        |<PHONE_NUMBER>98|  CrossAccountManager-ReadOnly      |  active  |
        |<PHONE_NUMBER>98|  CrossAccountManager-ReadOnly      |  active  |
        +--------------+------------------------------------+----------+
        ```

## Assign IAM Roles to your Active Directory Groups

1.  Create an Access URL following the instructions in [the documentation](http://docs.aws.amazon.com/directoryservice/latest/admin-guide/access_url.html). Follow the naming convention of arc325-team<number> (e.g. arc325-team15 by team 15) while creating the access URL.

2.  Enable AWS Management Console Access following the instructions in [the documentation](http://docs.aws.amazon.com/directoryservice/latest/admin-guide/aws_console_access.html#console_enable).

3.  Assign IAM Roles created by CrossAccountManager to the ActiveDirectory Groups created for AWS as instructed in [the documentation](http://docs.aws.amazon.com/directoryservice/latest/admin-guide/assign_role.html). (In step 9 of the documentation select on-premises trust)

    Make sure you map the IAM Role & AD Group as per the table below

|IAM Role|Active Directory Group|
|--------|----------------------|
|CrossAccountManager-Administrator|AWS-Administrator|
|CrossAccountManager-PowerUser|AWS-PowerUser|
|CrossAccountManager-DevOps|AWS-DevOps|
|CrossAccountManager-NetworkAdmin|AWS-NetworkAdmin|
|CrossAccountManager-DBAdmin|AWS-DBAdmin|
|CrossAccountManager-ReadOnly|AWS-ReadOnly|

## Use the solution webpage to access a sub-account

1.  Append '/console' to the access URL you have created as part of Step 1 of the previous procedure. (e.g. <https://lz-example.awsapps.com/console/>).

2.  Login using the domain username (e.g. AdminUser) & password (e.g. p@ssw0rd+).

3.  The login screen contains a drop-down field of all roles assigned to your user identity. Select the role you want to use to log in to solution. This role will determine the sub-accounts you can access.

4.  This takes you to the AWS Management Console. Open the Amazon S3 console.

5.  Select the Amazon S3 bucket that hosts the webpage of access links. ('AccessLinksBucket' that you created using CloudFormation in the beginning of this module).

6.  Choose the webpage (cross-account-manager-links.html) to go to the detail page, and choose Open. This will open a webpage that contains access links for all managed accounts.

7.  The webpage links are organized by role. Find the role you used to log in to the console, and choose a link under that role to access an approved sub-account. A window appears with relevant fields already populated.

    > **Note:**
    > The solution webpage will show all sub-accounts that the solution manages, not just the accounts your role(s) has access to. If you try to access a sub-account that is not authorized for your role, the switch role window will show an authorization error.

8.  Choose Switch Role to open the AWS Management Console for that sub-account. The account will switch automatically.

## Expected Outcome
*   Created CrossAccountManager(CAM) master in `Shared Services` account.
    -   Created the CAM config and access links S3 bucket.
    -   Created 3 DynamoDB tables named `CrossAccountManager-Accounts`, `CrossAccountManager-Roles`, and `CrossAccountManager-Account-Roles`.
    -   Created required lambda functions.
    -   Created KMS Key for S3.
*   Successfully uploaded account.yml and it get updated to `CrossAccountManager-Accounts` table appropriately.
*   Created CrossAccountManager sub role stack instances in `Security` and `Application One` account using CloudFormation StackSets.
*   Successfully uploaded all the policy files and role.yml to appropriate directory in S3.
*   Successfully processed the role.yml file which will be updated in `CrossAccountManager-Roles` and `CrossAccountManager-Account-Roles` DynamoDB tables.
*   Assigned the AD Group to correct IAM roles created by Cross Account Manager.
*   Created access URL in Directory service.
*   Enabled Management Console Access in Directory Service.
*   Successfully login to access URL using the AD User credentials.
*   successfully open the access links URL from the S3 bucket.
*   Successfully login to another account using the access links page based the appropriate privileges for the user that you have logged in.

![cross-account-manager-image](../images/cross-account-manager.png)


text:
# Santry-trace-extension
A little addon that tracks all your personal traces

## Preview
<img width="700" alt="preview" src="https://i.imgur.com/g9sg3K6.png">

## To Install

### For Firefox
1. Go to the [latest release](https://github.com/wmak/santry-trace-extension/releases/latest)
2. Click `firefox.xpi`

#### To Update Firefox
- Updates are automatic.

### For Chrome
1. Go to chrome://extensions/
2. Enable Developer Mode by clicking the toggle switch next to Developer mode.
3. Click *Load Unpacked*
4. Select the `manifest.json` from this repo

#### To Update Chrome
1. Go back to chrome://extensions/
2. Click reload
3. May need to click *Clear Traces* if the badge count doesn't match the transactions within

### For Brave
1. Go to brave://extensions
2. Enable Developer Mode by clicking the toggle switch next to Developer mode.
3. Click *Load Unpacked*
4. Select this folder

repository: wmak/santry-trace-extension

repo_name: wmak/santry-trace-extension


text:
# 03: Fibonacci numbers

This exercise will involve computation of the Fibonacci numbers.
See also <https://en.wikipedia.org/wiki/Fibonacci_number>.

Write a command line program that takes a variable number of
arguments that are intended to be whole numbers. These are
the `input`.

Write a `fibonacci` function that takes one `n` parameter, and
returns the appropriate Fibonacci number.

Hint: The `fibonacci` function may call itself recursively
as needed.

For each of the `input` numbers, the program should compute a
Fibonacci number, and print both the input number and the
computed result.

Expected outcome:

<pre>
03-fibonacci/$ node main.js 0 1 2 3 4 5 8 9 10
0  = 0
1  = 1
2  = 1
3  = 2
4  = 3
5  = 5
8  = 21
9  = 34
10 = 55
</pre>

repository: Krinkle/js-togo

repo_name: Krinkle/js-togo


text:
## 0.2.1 (19/Jan/2020)

- Added `Module.build({ ..., stateAsFunction: true })`, for [Nuxt.js](https://nuxtjs.org/guide/vuex-store#activate-the-store).

## 0.2.0 (20/Feb/2019)

- New mutation `xxx$unshift` added for array state by [@Yuhannaa](https://github.com/Yuhannaa)

## 0.1.19 (29/Jun/2018)

- You can map with variables now. => [See](https://github.com/eunjae-lee/vuex-dry/blob/master/DOCUMENT.md#mapping-with-variables)

## 0.1.18 (28/Jun/2018)

- You can use `get` and `action` in methods now.
- `commit` has been added as a component helper.

## 0.1.14 (21/Jun/2018)

- You can pass key, value for `$find`

```js
store.getters["myModule/posts$find"]("id", 3);
```

## 0.1.5 (14/Jun/2018)

- You can use `get` or `sync` mapper in your component to map nested path of object like the following:

```js
computed: {
  bio: get("myModule/user", "profile.bio");
  city: sync("myModule/user", "address.city");
}
```

## 0.1.3 (12/Jun/2018)

- You can pass `strict: false` when you set value to an object, then it won't check validation of your path.

```js
Module.build({
  state() {
    return {
      user: {}
    }
  }
})

...

store.commit("myModule/user$set", {
  key: "address.city",
  value: "Singapore",
  strict: false
});
```

This enables you can add keys dynamically.

## 0.1.0 (12/Jun/2018)

- Initial public release

repository: eunjae-lee/vuex-dry

gha_language: TypeScript

repo_name: eunjae-lee/vuex-dry


text:
EBFoundation is a framework that includes various generally-useful classes and utilities, described below.

## EBAssert

EBAssert contains various flavors of assertion macros that allow clients to print detailed assertion information (such as file name, line number, and asserted expression), handle assertion failures, and raise exceptions.

## EBObservation

EBObservation is an elegantly simple key-value observing (KVO) wrapper, which supports blocks and automatic de-registration of observers.

## EBSingleton

EBSingleton is an abstract class that implements singleton behavior. Subclasses implement their initialization by overriding `-initSingleton`, and clients retrieve the singleton instance via `-sharedInstance`.

## EBTime

EBTime contains a simple set of functions for measuring the difference between two instances in time, down to nanosecond resolution.

## EBUtilities

A set of generally-useful functions and macros.

## NSTimer+EBBlockTimer

An NSTimer category allowing a block to be executed instead of a method.

## Requirements

- Mac OS 10.8 or iOS 6. (Earlier platforms have not been tested.)

## Integration

1. Drag EBFoundation.xcodeproj into your project's file hierarchy.
2. In your target's "Build Phases" tab:
    * Add EBFoundation as a dependency ("Target Dependencies" section)
    * Link against libEBFoundation.a ("Link Binary With Libraries" section)
3. Add `#import <EBFoundation/EBFoundation.h>` to your source files.

## Credits

EBFoundation was created for [Lasso](http://las.so).

## License

EBFoundation is available under the MIT license; see the LICENSE file for more information.

repository: lassomedia/EBFoundation

repo_name: lassomedia/EBFoundation


text:
---
name: Leaflet.StyleEditor
category: edit-geometries
repo: https://github.com/dwilhelm89/Leaflet.StyleEditor
author: Dennis Wilhelm
author-url: https://github.com/dwilhelm89
demo: https://dwilhelm89.github.io/Leaflet.StyleEditor/
compatible-v0:
compatible-v1: true
---

Enables editing the styles of features (lines, polygons, etc) and markers with a GUI.

repository: CapeSepias/Leaflet

repo_name: CapeSepias/Leaflet


text:
[**Review #1072 | Bourbon Review #367 - Diageo Game of Thrones Series: Clynelish House of Tyrell**]( https://t8ke.review/review-1072-clynelish-house-of-tyrell-game-of-thrones-special-release/)

**The Schtick:** Admittedly, I dont, or at least havent sat down to yet, watch Game of Thrones. But I do like Clynelish, so I took a dive on this one. This bottling represents the house Tyrell in the storys fictional plotline. It is bottled at a higher proof than Clynelish 14, but does  not carry an age statement.

-----

**Distiller:** Clynelish

**Bottler:** Diageo

**Selection:** N/A

**ABV:** 51.2% ABV

**Age:** NAS

-----

**Nose:**  Rich honey, toffee, waxy fruits. Fresh baked bread. Sweet graham cracker, light brine. Faint pepper and smoke. Vanilla bean.

**Taste:** Thick, rich mouth feel. Muted heat despite the proof. Honey, sweet apples and pears. Faint fig, and currant. Dole fruit syrup. Infusion of smoke rolls in, present but reserved. Light brine and some clove. Nice pepper note, good oak body despite the relative youth. Syrupy plums.

**Finish:** Long, rich and filled with smoke, vanilla, pears and fig. Lots of tobacco, earthy richness and some sweetness.

**Overall:** Incredibly solid. I plan to not make this my last bottle.

Thanks for reading!

**Rank: 7**

-----

**7 Most Recent Clynelish Expressions I Have Reviewed:**

- [Review #1000. Clynelish 27yr Dun Bheagan/Ian MacLeod 1990]( https://t8ke.review/1000-clynelish-27yr-ian-macleod-dun-bheagan-1990/)

- [Review #816. Clynelish 21yr SMWS 26.119 - Dark and Dangerously Good]( https://t8ke.review/review-816-scotch-malt-whisky-society-26-119-clynelish-21yr-dark-and-dangerously-good/)

- [Review #325. Clynelish 14yr Gordon & MacPhail]( https://t8ke.review/review-325-clynelish-cask-blend-gordon-macphail/)

- [Review #1072. Diageo Game of Thrones Series: Clynelish House of Tyrell]( https://t8ke.review/review-1072-clynelish-house-of-tyrell-game-of-thrones-special-release/)

- [Review #482. Clynelish 14]( https://t8ke.review/review-482-clynelish-14yr-ob/)

- [Review #909. Clynelish 20yr Signatory Vintage 1996 Refill Sherry Butt #8789]( https://t8ke.review/review-909-clynelish-20yr-signatory-vintage-1995-8789/)

- [Review #300. Clynelish 29yr SMWS 26.105 - Bumblebees by the Sea]( https://t8ke.review/review-300-smws-26105-bumblebees-by-the-sea/)

-----

[WEBSITE](https://t8ke.review) | [SEARCHABLE ARCHIVE](https://t8ke.review/review-archive/) | [SUBREDDIT](https://reddit.com/r/t8kereviews)

-----

Decoded:

**1** | **Disgusting** | So bad I poured it out.

**2** | **Poor** | I wouldn't consume by choice.

**3** | **Bad** | Multiple flaws.

**4** | **Sub-par** | Not bad, but many things I'd rather have.

**5** | **Good** | Good, just fine.

**6** | **Very Good** | A cut above.

**7** | **Great** | Well above average

**8** | **Excellent** | Really quite exceptional.

**9** | **Incredible** | An all time favorite

**10** | **Perfect** | Perfect

----


text:
# LAB - 2

## About Me

* This is my About-me, It will let you know a little about myself

### Author: Zach Winterton

### Collaborators:

### Links and Resources

### Reflections and Comments
* Consider including the answers to your daily journal and submission questions here
* This is also a good place to reflect on the tools and resources used and learned

### lab 04 Pair Programming Collabiration
* Driver: Matt Miguel
* Navigator: Zach Winterton

repository: Zach-Winterton/about-me

repo_name: Zach-Winterton/about-me


text:
OneForm
==========================

OneForm was created for developers as a starting point for creating their own web forms. OneForm has simple clientside validation and hidden form field validation to help recognise human from bots and help spam filtering.

OneForm auto generates and validates content without the need for editing core js and php code.

It has been designed to be as light as possible with additional features such as a jQuery datepicker being seperated out from the main javascript and css files to keep the weight of the main package as light as possible. jQuery has been used for its simplicity and ease of use.

## Required
* jQuery(v.1.10.1) is required. (this is included in the package)

## How To Us
1. Upload all files to server maintaining directory structure.
2. Link to css and javascript files in header of html:

	```html
	<link rel="stylesheet" type="text/css" href="res/css/oneform.css">
	<script type="text/javascript" src="res/js/oneform.js"></script>
	```

3. Copy form into website
4. Before closing body tag call oneform method and pass specified parameters

	```html
	<script type="text/javascript">
		$(document).ready(function(){
			oneform({
				_id: 'contactform',
				_code: '12345',
				submit_id: 'submit-btn'
			});
		});
	</script>
	```

5. Set mailto and subject fields in the head of mailform.php

	```php
	$mailTo =<EMAIL_ADDRESS>//Email address to send form content to
	$subject = 'New Website Enquiry'; //Subject line for company email
	```

6. (optional) To change the form code, the code in the hidden form field MUST match ``` _code ``` in oneform method call

### Required fields
Include a blank 'required' attribute in the input field

```html
<input type="text" name="name" id="form-name" required>
```

Datepicker
==========================
A date picker has been included in the package. This has been seperated to keep the primary form as light as possible.

### To use

1. Include link to css and javascript files in head of html

	```html
	<link rel="stylesheet" type="text/css" href="res/css/jquery-ui-datepicker.css">
	<script type="text/javascript" src="res/js/jquery-ui-datepicker.js"></script>
	```

2. Initialise jQuery datepicker after oneform method before the closing body tag

	```html
	$('#form-datepicker').datepicker({ dateFormat: 'dd-mm-yy' }).val();
	```

Limitations
==========================
- Multiple forms can now be used on the same page, but the form tag must have unique ID's. oneform() must be called for each form.

## Author

Wayne Dunkley
www.waynedunkley.com

History
==========================

v1
 - OneForm has now been upgraded to VERSION 1!
 - Submit button text changes to 'sending...' upon successful submission to show form is processing
 - Form renamed from simpleform to OneForm
 - Form parameters now passed to oneform.js from html. oneform.js no longer needs editing
 - General coding improvements to make easier to use

v0.9.3
 - A datepicker widget has now been added to the default form, with Javascript validate if set as a required field

v<IP_ADDRESS>
 - Added fallback support for placeholder text for Internet Explorer (all versions)

v<IP_ADDRESS>
 - Code improvements, PHP form fields are initialised and included in email automatically. Core PHP no longer needs editing
 - Confirmation Email checkbox now works!

v<IP_ADDRESS>
 - Bug fixes

v0.9.2
 - Add dropdown select menu to form
 - Added optional validation for dropdown select menu
 - Error message added for unsuccessful form submission

v0.9.1
 - Add updateable fields in head of simpleform.js.
 - Now able to select which fields to validate in head of .js
 - Added company field
 - Now able to set whether confirmation email is sent or not
 - Added validation for phone number
 - Added styling for dropdown lists <select>

v0.9

repository: waynedunkley/OneForm

repo_name: waynedunkley/OneForm


text:
# Kata Containers image generation #

A Kata Containers image is generated by the script `image_builder.sh`
which uses a `rootfs` directory created by the script
`rootfs-builder/rootfs.sh`.

To create a guest OS image run:

```
$ ./image_builder.sh path/to/rootfs
```

Where `path/to/rootfs` is the directory pupulated by `rootfs.sh`. The
script will check for following required binaries:

- `/sbin/init` : The image must contain a `init` binary
- `/bin/kata-agent` : The image contain the Kata [agent]

More information about usage:

```
$ ./image_builder.sh -h
```

[agent]: https://github.com/kata-containers/agent  "Kata agent"


text:
# Cryptosquare

### Description
- A classic method for composing secret messages is called a square code.Write a program that outputs the encoded version of a given block of text.
 Mar 29th, 2018

By Adriana and Joy

### Specs
 - Write a program that outputs the encoded version of a given block of text.
  - Example input: "Don't compare yourself to others, compare yourself to the person you were yesterday"
  - Example output: "daeer leweo rlref rerne fsyts rdtyt coooe acooo utnyy ouomr hyemr tpseo spsha eput"

 - Downcase input string
  - Example input: "Don't compare yourself to others, compare yourself to the person you were yesterday"
  - Example out: "don't compare yourself to others, compare yourself to the person you were yesterday"

 - Remove non-albetical element in input string
  - Example input: "Don't compare yourself to others, compare yourself to the person you were yesterday"
  - Example output: "dontcompareyourselftootherscompareyourselftothepersonyouwereyesterday"

 - Calculate the square size according to the input length
  - Example input: 69
  - Example output: 9 * 8

 - Populate the square from left to right  - Example input: "Don't compare yourself to others, compare yourself to the person you were yesterday"
  - Example output:
    - d | o | n | t | c | o | m | p
    - .....
    - e | r | d | a | y |   |   |

 - Output string from top to bottom in groups of five letters
  - Example input: "Don't compare yourself to others, compare yourself to the person you were yesterday"
  - Example output: "daeer leweo rlref rerne fsyts rdtyt coooe acooo utnyy ouomr hyemr tpseo spsha eput"

### Setup/Installation Requirements
- clone to local `git clone url`
- run index.html under src

### Known Bugs
- N/A

### Support and contact details
- @Adrianacmy
- @Joy

### Technologies Used
- Html
- CSS
- bootstrap4
- jQuery
- javascript

### License
- MIT

Copyright (c) 2018


text:
---
layout: nodes.liquid
section: smartContract
date: Last Modified
title: "Finage Global Market Data Oracle"
permalink: "docs/finage-global-market-data-oracle/"
---

Finage is a leading real-time stock, forex, and cryptocurrency data provider. They offer market data for 60,000+ securities, and a broad selection of data such as financial statements, Ownership, News Sentiments, Earning Call Transcripts and Mergers and Acquisitions. This oracle will initially provide a given stock’s performance relative to its sector’s performance.

# Steps For Using This Oracle

- Write and deploy your [Chainlink](..//intermediates-tutorial/) contract using the network details below
- Fund it with [LINK](../link-token-contracts/)
- Call your [request method](./#chainlink-examples)

# Network Details

#### Ethereum Mainnet
Payment Amount: 1 LINK
LINK Token Address: `{{variables.MAINNET_LINK_TOKEN}}`
Oracle Address: `0xE98dFc0C36408b54326Fa11235D573574B1e8eC3`
JobID: `3e478404a3ca4cf5abd2820efe7c1913`

#### Ethereum Kovan Testnet
Payment Amount: 0.1  LINK
LINK Token Address: `{{variables.KOVAN_LINK_TOKEN}}`
Oracle Address: `0x56dd6586DB0D08c6Ce7B2f2805af28616E082455`
JobID: `955810d193e144abb85ae2edea65344d`

#### Binance Smart Chain Mainnet
Payment Amount: 0.1 LINK
LINK Token address:`{{variables.BINANCE_MAINNET_LINK_TOKEN}}`
Oracle Address: `0xa80bEAEBf1955D8AA9B5f741388e5A43Ba309935`
JobID: `55d23024c541439ca28b456044d01304`

# Create Your Contract

Import `ChainlinkClient.sol` into your contract so you can inherit the Chainlink behavior.

```solidity Solidity 4
pragma solidity ^0.4.24;

import<EMAIL_ADDRESS>
contract FinageChainlink is ChainlinkClient {

  uint256 oraclePayment;

  constructor(uint256 _oraclePayment) public {
    setPublicChainlinkToken();
    oraclePayment = _oraclePayment;
  }
  // Additional functions here:

}
```
```solidity Solidity 5
pragma solidity ^0.5.0;

import<EMAIL_ADDRESS>
contract FinageChainlink is ChainlinkClient {

  uint256 oraclePayment;

  constructor(uint256 _oraclePayment) public {
    setPublicChainlinkToken();
    oraclePayment = _oraclePayment;
  }
  // Additional functions here:

}
```
```solidity Solidity 6
pragma solidity ^0.6.0;

import<EMAIL_ADDRESS>
contract FinageChainlink is ChainlinkClient {

  uint256 oraclePayment;

  constructor(uint256 _oraclePayment) public {
    setPublicChainlinkToken();
    oraclePayment = _oraclePayment;
  }
  // Additional functions here:

}
```

    Deploy this contract using Remix ↗
    What is Remix?

# Tasks
* Finage Relative Stock Performance
* [Copy](../core-adapters/#copy)
* [Multiply](../core-adapters/#multiply)
* [EthInt256](../core-adapters/#ethint256)
* [EthTx](../core-adapters/#ethtx)

# Request Parameters
### `symbol`
- The symbol of the stock to query
#### Solidity Example
`req.add("symbol", "AAPL");`

# Chainlink Examples

The examples below show how to create a request for the Chainlink node.

### `requestData` function

```solidity
function requestData
(
  address _oracle,
  bytes32 _jobId,
  string memory _symbol
)
  public
  onlyOwner
{
  Chainlink.Request memory req = buildChainlinkRequest(_jobId, this, this.fulfill.selector);
  req.add("symbol", _symbol);
  sendChainlinkRequestTo(_oracle, req, oraclePayment);
}
```
### `fulfill` function

```solidity
int256 public data;

function fulfill(bytes32 _requestId, int256 _data)
  public
  recordChainlinkFulfillment(_requestId)
{
  data = _data;
}
```

# Documentation and Support
- The `Finage Relative Stock Performance` job depends on calls to the Finage Stock Market Aggregates API and the Stock Market Details API
- For assistance, reach out to Finage using this form

repository: lukeramsden/documentation

repo_name: lukeramsden/documentation


text:
# PSCPWM-and-LSCPWM-multi-level-inverter

Task 1
Based on your chosen values of both input voltage sources and load power,
determine the electrical ratings of all the switches and show them in tabular
form.

Task 2
Implement Phase Shifted Carrier Based PWM (PSCPWM) for the 5-level,
7-level and 9-level inverter, obtain the output voltage waveform at each stage
and then resultant voltage waveform. Do not forget to include the waveforms
of each gate pulse. Perform FFT analysis on the Simulink and determine
Total Harmonic Distortion (THD) of the voltage.

Task 3
Implement Level Shifted Carrier Based PWM (LSCPWM) for the 5-level, 7-
level and 9-level inverter, obtain the output voltage waveform at each stage
and then resultant voltage waveform. Do not forget to include the waveforms
of each gate pulse. Perform FFT analysis on the Simulink and determine
Total Harmonic Distortion (THD) of the voltage.

Task 4
Connect a resistive load and obtain the waveforms of output voltage and
output current.

Task 5
Connect an RL load and obtain the waveforms of output voltage and output
current.


text:
# Ryparobius sexdecimsporus (P. Crouan & H. Crouan) Sacc., 1889 SPECIES

#### Status
SYNONYM

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

#### Published in
Syll. fung. (Abellini) 8: 541 (1889)

#### Original name
Ascobolus sexdecimsporus P. Crouan & H. Crouan, 1858

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Ascomycota/Leotiomycetes/Thelebolales/Thelebolaceae/Coprotus/Coprotus sexdecimsporus/ Syn. Ryparobius sexdecimsporus/README.md

repo_name: mdoering/backbone


text:
# Pico Users

A hierarchical users and rights system plugin for [Pico CMS](http://pico.dev7studios.com). There is a port for [Phile CMS](https://github.com/PhileCMS/Phile) by [pschmitt](https://github.com/pschmitt) : [phileUsers](https://github.com/pschmitt/phileUsers).

Features login and logout system, unlimited users and hierarchical user groups, simple rights management.

* [Installation](#installation)
* [Settings](#users-and-groups)
  * [Users and groups](#users-and-groups)
  * [Rights](#rights)
* [Login and logout](#login-and-logout)
* [Error page](#error-page)

## Installation

Copy the `PicoUsers` directory to the `plugins/` directory of your Pico Project.

## Settings

Users, rights and others settings should be stored in Pico `config/config.php` file.

```php
$config['users'] = array(
    'john' => '$2a$08$kA7StQeZgyuEJnIrvypwEeuyjSqxrvavOBSf33n4yWSJFhbQAkO1W',
    'editors' => array(
        'marc' => '$2a$08$V/En.8vnZFWGOwXvDvFYsO8PTq.KSA5eYTehICnErFnd3V.zzsj.K',
        'admins' => array(
            'john' => '$2a$08$bCVTtxqH/VxWuHqrZQ/QiOEcvvbVjl9UD3mTf.7AnXhS90DXj5IZ6'
        )
    ),
    'family' => array(
        'mum' => '$2a$08$qYtklDGOy/cCK1K0Zh8qROkFW3/V7gFgve.0GQv/sPmLYHm0jEiTi',
        'dad' => '$2a$08$Eu7aKmOLz1Jme4iReWp6r.TfI2K3V3DyeRDV8oBS6gMtDPessqqru'
    )
);
$config['rights'] = array(
    'family-things' => 'family',
    'secret/infos' => 'editors',
    'secret/infos/' => 'editors/admins',
    'just-for-john' => 'john'
);
```

### Users and groups

The setting `users` is an array of user names and `bcrypt` hashed passwords.

You can create groups of users by using sub-arrays, and nest groups to create hierarchical systems.

Users are defined by their user path. In the previous example, the users `john` and `editors/admins/john` are two distinct users. "Admin John" will inherit the rights of its two groups, when "just John" don't have the rights of any group.

### Rights

The setting `rights` is a flat list of rules, associating an URL to a user or a group of users to whom this path is reserved.

You can target a specific page or all pages in a directory by using or not a trailing slash.

## Login and logout

You can include a basic login/logout form with the Twig variable :

    {{ login_form }}

Making a custom login form would simply require sending by *POST* a login and password or a logout order. The following variables may be used :

Twig | Example
---|---
`{{ user }}`|editors/john
`{{ username }}`|john
`{{ usergroup }}`|editors

For example :
```html
<form method="post" action="">
{% if user %}
    Logged as {{ username }} ({{ usergroup }})
    (<input type="submit" name="logout" value="logout" />)
{% else %}
    <input type="text" name="login" />
    <input type="password" name="password" />
    <input type="submit" value="login" />
{% endif %}
</form>
```

You may want a small login/logout in the site headers for example and a fancy login form in the [error page](#error-page).

## Error page

When a visitor try to access to a restricted page, a *403 forbidden* header is sent, and the file `content/403.md` is shown. If there is no 403 page, the 404 one will be shown instead (and there will be no obvious clue that the requested page exists).

repository: john-cheesman/pico-users

repo_name: john-cheesman/pico-users


text:
:steve

Unity3D Notes
----------------------

- prob should go with unity pro, but double check the costs associated
- start by researching useful assets and plugins and components from unity store

## What's new in 4.3
http://unity3d.com/unity/whats-new/unity-4.3

## Using Source Control
- obviously could use unity pro with asset server:  http://docs.unity3d.com/Documentation/Manual/AssetServer.html
- store code/config/assets in a separate repository, clone to working unity directory
- check for differences when building on Win/OSX/Linux
- one possibility is to store as file.ext.osx / file.ext.win (and then sym link or just copy the platform file to file.ext)
- Plastic SCM could be an option (caters more to binary files)
- http://docs.unity3d.com/Documentation/Manual/ExternalVersionControlSystemSupport.html

### Ignore Folders/Files
- obviously standard platform for C#/UnityScript/Win/OSX (e.g. ".DS_store")
- Library folder changes a ton, so setup project and ignore that folder
- possibly store heavy binary files (assets) in another repo, or even dropbox
- store all "final" assets used in the game of course
- look at using placeholders to limit number of times large binaries change
* may need to go and change "hidden meta files" to "visible meta files
- http://stackoverflow.com/questions/18225126/how-to-use-git-for-unity3d-source-control
- http://stackoverflow.com/a/21725152/415 (same as previous, linked to specific answer)

## Separate Asset process from Code/Script process and source control
- some advice, like SC:Mobile it makes sense to keep art development separate. manually, or automated clone with scripts by one dev into the project /assets/ folder once art is deemed ready. This doesn't mean that it must never change in the future, just that we should deem art files as ready with limited frequency. An even better idea is to use temp art in the same format, resolution, size, etc. Then swap in when it's ready in a similar manner that hopefully prevents a lot of incremental updates.
- see: http://www.bitsalive.com/unity-3d-and-version-control/

* Assets can continue to use dropbox or if desired or another solution as determined by the art team.

## Separate Core "game engine" from Scripts
- store scripts say in ./project/scripts/{paths,to,all,lua,json,scripts,config,etc}
- store unity project in ./project/unity/{Assets,Library,etc}
- create two repositories one for each of the two paths above
- probably use above remove library directory method
- check how well git or another dvcs works with ./project/unity/ repo
- compress ./project/unity/ and store checkpoints for backup purposes

## Sprite Packing
- for later on in polishing, but good to get workflow down now
- figure out texture formats (pixelated, but small as possible, even for desktop)
- asset serialization? I've read force text, but others use mixed
- sprite packing should be used to produce fewer texture atlases

## 2D code-first framework similar in design to cocos2d
https://github.com/MattRix/Futile

## The game event loop and core architecture info
http://docs.unity3d.com/Documentation/Manual/ExecutionOrder.html

## Unity Tutorials
- https://unity3d.com/learn/tutorials/modules

## Social Services
- http://prime31.com/

## Scripting Utility Classes or Libraries/Frameworks
https://github.com/mortennobel/UnityUtils

## Animation and Animator State Machine
- http://docs.unity3d.com/Manual/StateMachineBasics.html
- http://www.codeproject.com/Articles/813160/Mastering-Unity-D-Game-Development-AI-and-State-ma

## Asset Store
- NGUI http://www.tasharen.com/?page_id=140
- Sprite Manager http://www.anbsoft.com/middleware/sm2/
- A*: http://www.arongranberg.com/astar/
- RAIN AI (Behavior Trees/Nav): http://rivaltheory.com/rain/
- Simple Path: http://u3d.as/content/alex-kring/simple-path/1QM

- ex2d: http://ex-dev.com/ex2d/
- Othello2d: http://www.wyrmtale.com/products/unity3d-components/orthello
- 2dToolkit: http://www.unikronsoftware.com/2dtoolkit/unity2d.html
- SpriteManager1[free]: https://github.com/Dkendal/SpriteManager
- SpriteManager2[$150]: http://www.anbsoft.com/middleware/sm2/
- Tiled2Unity: http://www.seanba.com/introtiled2unity.html

### Importers
- TexturePacker importer: https://www.assetstore.unity3d.com/en/#!/content/16641
- Sparrow/Starling: othello2d has one, simple xml format
- Tiled Map: ?? tiled2unity

## Comparison of 2d frameworks
- http://www.thesecretpie.com/2012/07/comparison-of-2d-frameworks-for-unity-3d.html
- http://forum.unity3d.com/threads/sprite-manager-2-vs-2d-toolkit.110438/

# Unity Answers of possible Usefulness
http://forum.unity3d.com/threads/223030-Best-Easiest-way-to-change-color-of-certain-pixels-in-a-single-Sprite
http://forum.unity3d.com/threads/212307-How-to-change-sprite-image-from-script
http://forum.unity3d.com/threads/82265-Pixel-Perfect-and-Clean-Textures

repository: MikeSheward/labs-tilemaps

repo_name: MikeSheward/labs-tilemaps