text:
# Crawler

[![Travis](https://img.shields.io/travis/fredwu/crawler.svg)](https://travis-ci.org/fredwu/crawler)
[![Code Climate](https://img.shields.io/codeclimate/github/fredwu/crawler.svg)](https://codeclimate.com/github/fredwu/crawler)
[![CodeBeat](https://codebeat.co/badges/76916047-5b66-466d-91d3-7131a269899a)](https://codebeat.co/projects/github-com-fredwu-crawler-master)
[![Coverage](https://img.shields.io/coveralls/fredwu/crawler.svg)](https://coveralls.io/github/fredwu/crawler?branch=master)
[![Hex.pm](https://img.shields.io/hexpm/v/crawler.svg)](https://hex.pm/packages/crawler)

A high performance web crawler in Elixir.

## Usage

```elixir
Crawler.crawl("http://elixir-lang.org", max_depths: 2)
```

## Configurations

| Option          | Type    | Default Value | Description |
|-----------------|---------|---------------|-------------|
| `:max_depths`   | integer | `3`           | Maximum nested depth of pages to crawl.
| `:timeout`      | integer | `5000`        | Timeout value for fetching a page, in ms.
| `:save_to`      | string  | `nil`         | When provided, the path for saving crawled pages.

## Features Backlog

Crawler is under active development, below is a non-comprehensive list of features to be implemented.

- [x] Set the maximum crawl depth.
- [x] Save to disk.
- [x] Set timeouts.
- [ ] Crawl assets (CSS and images, etc).
- [ ] The ability to manually stop/pause/restart the crawler.
- [ ] Restrict crawlable domains, paths or file types.
- [ ] Limit concurrent crawlers.
- [ ] Limit rate of crawling.
- [ ] Set crawler's user agent.
- [ ] The ability to retry a failed crawl.
- [ ] DSL for scraping page content.

## Changelog

Please see [CHANGELOG.md](CHANGELOG.md).

## License

Licensed under [MIT](http://fredwu.mit-license.org/).

repository: zanjs/crawler

repo_name: zanjs/crawler


text:
# country-picker
[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/anandAbhi/country-picker)

A polymer element to select country code/dial code.

## Installation
bower install anandAbhi/country-picker

## Usage
 see _demo/index.html_
```
<template is="dom-bind">
    <button onclick="picker.open()">Select country</button>
    <p>[[country.dialCode]] [[country.name]]</p>
    <country-picker id="picker"
            country="{{country}}">
    </country-picker>
</template>
```

## Contributing
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3.  Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
# PrimaryButton

A primary button with a gradient hover / active state, with four available color themes: gold, blue, teal and green.

## Props

- `as` (string): The DOM tag or react component to use for the Grommet button element.
- `color` (string): Can be `gold` (default), `blue`, `teal` or `green`.
- `disabled` (boolean): Applied to button element.
- `href` (string): Attribute of the button's anchor element.
- `label` (string || component) - the label for the button.
- `onClick` (func): Called when button is clicked.

All other props supported by [Grommet's `Button` component](https://v2.grommet.io/button) are also supported.

## Example

```js
  function ComponentWithButton (props) {
    return (
      <PrimaryButton
        color='teal'
        label='Hello world!'
        onClick={() => props.onClick()}
      />
    )
  }
```

repository: zooniverse/front-end-monorepo

gha_language: JavaScript

repo_name: zooniverse/front-end-monorepo


text:
# Filter Pipeline

## Main Structure

The filter pipeline has internal format:

| **Field** | **Type** | **Description** |
| :--- | :--- | :--- |
| Max chunk size | `uint32_t` | Maximum chunk size within a tile |
| Num filters | `uint32_t` | Number of filters in pipeline |
| Filter 1 | [Filter](#filter) | First filter |
| … | … | … |
| Filter N | [Filter](#filter) | Nth filter |

## Filter

The filter has internal format:

| **Field** | **Type** | **Description** |
| :--- | :--- | :--- |
| Filter type | `uint8_t` | Type of filter \(e.g. `TILEDB_FILTER_BZIP2`\) |
| Filter metadata size | `uint32_t` | Number of bytes in filter metadata — may be 0. |
| Filter metadata | [Filter Metadata](#filter-metadata) | Filter metadata, specific to each filter. E.g. compression level for compression filters. |

## Filter Options

The filter options are configuration parameters for the filters that do not change once the array schema has been created.

### Main Compressor Options

For the compression filters \(any of the filter types `TILEDB_FILTER_{GZIP,ZSTD,LZ4,RLE,BZIP2,DOUBLE_DELTA}`\) the filter options have internal format:

| **Field** | **Type** | **Description** |
| :--- | :--- | :--- |
| Compressor type | `uint8_t` | Type of compression \(e.g. `TILEDB_BZIP2`\) |
| Compression level | `int32_t` | Compression level used \(ignored by some compressors\). |

### Bit-width Reduction Options

The filter options for `TILEDB_FILTER_BIT_WIDTH_REDUCTION` has internal format:

| **Field** | **Type** | **Description** |
| :--- | :--- | :--- |
| Max window size | `uint32_t` | Maximum window size in bytes |

### Positive Delta Options

The filter options for `TILEDB_FILTER_POSITIVE_DELTA` has internal format:

| **Field** | **Type** | **Description** |
| :--- | :--- | :--- |
| Max window size | `uint32_t` | Maximum window size in bytes |

### Other Filter Options

The remaining filters \(`TILEDB_FILTER_{BITSHUFFLE,BYTESHUFFLE,CHECKSUM_MD5,CHECKSUM_256}` do not serialize any options.

repository: sitedata/TileDB

branch_name: refs/heads/dev

gha_license_id: MIT

repo_name: sitedata/TileDB


text:
### Basic info

**This part is auto generated, add your details in Appendix**

* Model size/M: 16.69
* GPU info \[2\]
  * \[2\] Tesla P100-PCIE-16GB

### Appendix

* Based on CommonVoice Japanese VGGBLSTM model training

### WER
```
%WER 16.04 [ 723 / 4508, 128 ins, 57 del, 538 sub ] exp/VGG/decode_test/wer_16_1.0
```

### Monitor figure
![monitor](./monitor.png)

repository: ishine/CAT

repo_name: ishine/CAT


text:
# Vim Stealth Mode!
This plugin has purpose of maintain your files secures from sniches, spies or even from your cloud storage

My main reason for create this plugin is that I have some personal projects and I don't like the Idea that my content could be readed by some ramdom hacker or even the company behind your repository/CloudStorage.

### Installation
This plugin works only with vim8, neovim does not suport the vim blofish method.

It will work once that you have configured and installed with your own choice method, like:

###### vimplug
	call plug#begin('~/.vim/plugged')
	Plug 'carlos-cabgj/one-functions'
	Plug 'carlos-cabgj/vim-stealth-mode'
	call plug#end()

[TOC]
#### Configuration

###### Put in your .one-project this config, make shure that you have a .one-project in the root folder of your project

	"encryption": {
        "status"        : 0,
        "mode"          : 'fullDecrypt',
        "pathDecode"    : "/home/carlos/Desktop/stealth-dec/"
    }

- status : 0 for Off, 1 for On;
- mode : Defult 'fullDecrypt'. Work In Progress,
- pathDecode : Path to decode your project

### How
Every time that you enter in you project you will be requested to type the salt and after type your password and bang! you now can use this plugin in your project.

![diagram](https://raw.githubusercontent.com/carlos-cabgj/vim-stealth-mode/master/doc/saltpass.gif)

Every time the you open you a new file, your uncrypted content will be there, when you save you file the content will be encoded with blowfish2 ( vim blowfish ).

### Commands
- **OneProjectAddPassword**
	If you want to change your password.
	Caution if your actual content is already encrypted this will mess with you content.
- **OneProjectDecrypt**
	Use to decrypt your entire project to some other location defined in pathDecode.
- **OneProjectEncrypt**
	Use to encrypt your entire project with your actual salt and password, so you will not need to open every single file.

repository: carlos-cabgj/vim-stealth-mode

repo_name: carlos-cabgj/vim-stealth-mode


text:
---
id: Helper text
section: components
---

**Helper text** is text that often accompanies inputs and other form components. It can be static text that provides additional or clarifying information and will never change, or it can be dynamic text that gets rendered or updated based on user interaction or input.

**Keyboard users** should not be able to place focus on any helper text, as it is not an interactive element.

**Screen reader users** should have static helper text announced to them via the `aria-describedby` attribute when focus is placed on a form component, and they should also have dynamic helper text announced to them via the `aria-live` attribute when the text content gets updated.

## Accessibility application

To ensure helper text is used accessibly, follow these steps when applicable:

- When there is helper text that won't ever update based on user interaction or input, ensure that the helper text is linked to the form component's `aria-describedby` attribute. This can be accomplished by adding an `id` attribute to either the HelperText or HelperTextItem component.
    - Link the HelperText component when all of the helper text should be announced to users. Otherwise link the HelperTextItem component(s) if only specific helper text should be announced.

    ```noLive
    <TextInput aria-describedby="helper-text" />

    <HelperText id="helper-text">
      <HelperTextItem>
        This will be announced.
      </HelperTextItem>
      <HelperTextItem>
        This will also be announced.
      </HelperTextItem>
    </HelperText>
    ```
    ```noLive
    <TextInput aria-describedby="helper-text-item" />

    <HelperText>
      <HelperTextItem id="helper-text-item">
        Only this will be announced.
      </HelperTextItem>
      <HelperTextItem>
        This will will not be announced since it is not linked.
      </HelperTextItem>
    </HelperText>
    ```
- Pass in the `isLiveRegion` prop to the HelperText component when you expect or intend for any helper text items to dynamically update in some way. This can include text that only renders in a specific situation, or when the text itself will change.
    - Only content within the accessibility tree will be announced when updated. CSS updates and updates to text that is hidden via the `aria-hidden` attribute (such as any helper text icons) will not be announced.

The following props/attributes have been added for you or are customizable in PatternFly:

| React prop/attribute | React component that it should be applied to | Which HTML element it appears on in markup | Reason used |
| -- | -- | -- | -- |
| `aria-describedby` | TextInput or another form component |  | Used to pass in one or more `id`'s as a string, allowing assistive technologies to announce the helper text content to users. |
| `id` | HelperText \| HelperTextItem | .pf-v5-c-helper-text \| .pf-v5-c-helper-text__item | Used to pass into a form component's `aria-describedby` prop. |
| `isLiveRegion` | HelperText | .pf-v5-c-helper-text | Creates an `aria-live="polite"` live region, which allows assistive technologies to announce content updates within it. |

repository: patternfly/patternfly-org

branch_name: refs/heads/main

repo_name: patternfly/patternfly-org


text:
ContentaJS is a project that integrates with Contenta CMS to provide
an ultra high performing headless CMS. It also provides a nodejs application
where to host your Server Side Rendering and custom code integrations.

<!--emdaer-p
  - '@emdaer/plugin-image'
  - src: ./.emdaer/docs/assets/contentacms-node.png
    alt: Contenta Stack Architecture
    align: center
-->

**IMPORTANT:** this project is meant to be a starting kit for the node
integration of your application based on Contenta CMS. We **do not** provide
upgrade paths or backwards compatibility. The model for this is _Fork & Go_.

repository: ethnovode/contentajs

repo_name: ethnovode/contentajs


text:
# rpi

> Refined Problem Information, for Baekjoon

## TODO

- Model
  - [ ] Extract variable names from the main text
  - [ ] Extract restrictions for each variable from the main text
    - [ ] 1st approach: classifier
- Deployment
  - [ ] Convert PyTorch models to ONNX
  - [ ] Using ONNX Runtime Web for running inference without a backend
  - [ ] Create its own playground page
  - [ ] Provide pre-inferenced (and validated) information

## Considerations

- Format String like `hh:mm:ss`
- An empty line between each testcase

repository: boj-toolchain/rpi

repo_name: boj-toolchain/rpi


text:
# OpenVPN image on Scaleway

[![Build Status](https://travis-ci.org/scaleway-community/scaleway-openvpn.svg?branch=master)](https://travis-ci.org/scaleway-community/scaleway-openvpn)
[![Scaleway ImageHub](https://img.shields.io/badge/ImageHub-view-ff69b4.svg)](https://hub.scaleway.com/openvpn.html)
[![Run on Scaleway](https://img.shields.io/badge/Scaleway-run-69b4ff.svg)](https://cloud.scaleway.com/#/servers/new?image=b6f4edc8-21e6-4aa2-8f52-1030cf6d4dd8)

Launch your OpenVPN app on Scaleway servers in minutes.

<img src="https://store.silvenga.com/external/openvpntech_logo1.png" width="400px" />

# Quickstart

## Installation

The install process is fully automatic.
Once your server is booted up, run

```sh
scw-ovpn status
```

To check if your server is ready.

## Creating a new user

Run

```sh
scw-ovpn create your_user
```

To create a new user certificate.
You can now download it using `show` or `serve`.

## Downloading your user configuration

There are multiple way to download your configuration file, the simplest being to run

```sh
scw-ovpn serve your_user
```

This method starts an http server serving your client config: **This method does not use encryption to transfer your configuration.**

You can also download your configuration using the command line using either:

```sh
scw exec your_server scw-ovpn show your_user > your_user.ovpn
```

or

```sh
ssh root@your_server_ip scw-ovpn show your_user > your_user.ovpn
```

## Removing an user

In order to prevent a client from connecting again, its certificate has to be revoked.

It can be done using

```sh
$ scw-ovpn revoke your_user
```

Do not try to remove the client certificate from the easy-rsa keys directory, as it does not prevent the client from connecting again.

# Internals
## Services

By default, the server starts two openvpn instances running on tcp port 443 and udp port 1194.

You can list currently running instances using

```sh
$ # <protocol> <port> <subnet suffix> <service status>
$ scw-ovpn list-instances
udp    1194   0   active
tcp    443    1   active
```

Each instance is backed by a systemd service, for instance `openvpn@udp_1194_0` and `openvpn@tcp_443_1`.

You can play with instances using

```sh
$ scw-ovpn add-instance udp 4242 3
$ scw-ovpn del-instance udp 4242 3
```

`add-instance` checks if another service uses the same tcp and port or subnet id.

The `scw-ovpn-gen-server` hook generates the server configuration on instance start and reload.

## Networking

Instances have unbridged independant interfaces, running on separate subnets.

The subnet for each instance is made using a prefix and the instance subnet ID, for both ipv4 and ipv6.

You can configure this prefix in `/etc/openvpn/scw-vars.sh`.

The prefixes currently are `<IP_ADDRESS>/16` for ipv4, and `fd42:5ca1:e3a7::0/48` for ipv6 (see [rfc6598](https://tools.ietf.org/html/rfc6598) for ipv4 and
[rfc4193](https://tools.ietf.org/html/rfc4193) for ipv6).

The next 8 bit block for ipv4 and 16 bit block for ipv6 is the correct representation of the subnet ID, which makes up a `/24` subnet for ipv4 as well as a `/64` subnet for ipv6.

### NAT
Nat is configured using a service running at boot, which runs `scw-setup-nat` before the openvpn server starts.

This is a `SNAT` based setup, so the IP addresses of the machine are looked up at boot. The script assumes the name of the main interface is `eth0`.

IPv6 is also NATed.

### DNS
The image also runs an unbound powered DNS relay to the resolvers of the host (by default scaleway DNS servers).

This relays only accepts connections from the vpn server.

The unbound configuration is generated on each boot by the `setup-unbound` service, which runs `scw-setup-unbound`.

If you change the subnet prefixes in `/etc/openvpn/scw-vars.sh`, you should restart `setup-unbound` first, then `unbound`, or restart your server.

### IPv6
As previously stated, IPv6 is currently NATed.

In order to avoid IPv6 leaks out of the VPN, we always offers the client an IP, even if the server does not have any valid route to the internet. It also routes `2000::/3` (all currently assignable IPs) to the VPN.

This setup should make the client fallback to IPv4 if the scaleway server does not feature IPv6 connectivity.

## Crypto
The current setup uses:

 * the `AES-256-CBC` cipher
 * enforces a minimum TLS version of 1.2
 * the `SHA256` authentication message digest
 * the default TLS ciphers, for better compatibility
 * a static PSK for TLS auth

Certificates are generated using easy-rsa, and properly checked for revocation.

Some of these parameters can be changed in the `/etc/openvpn/scw-vars.sh` config file.

## How to hack

**This image is meant to be used on a Scaleway server.**

We use the Docker's building system and convert it at the end to a disk image that will boot on real servers without Docker. Note that the image is still runnable as a Docker container for debug or for inheritance.

[More info](https://github.com/scaleway/image-builder)

---

A project by [![Scaleway](https://avatars1.githubusercontent.com/u/5185491?v=3&s=42)](https://www.scaleway.com/)

repository: peterdenev/scaleway-openvpn

repo_name: peterdenev/scaleway-openvpn


text:
---
layout: post
title: "A Couple Things to Watch Out For Using PrivatePub"
date: 2012-02-12 20:38
comments: true
categories: [ruby]
---

[Private Pub](https://github.com/ryanb/private_pub) is a convinent gem wraps around [Faye](http://faye.jcoglan.com/ruby.html).

There are a few things to consider when using PrivatePub.

1. It does __not__ support ssl.
However, there is a [pull request](https://github.com/ryanb/private_pub/pull/33) for it.

2. You almost always want to add some sort of filtering on the server or client side, or maybe both.
For example, if you don't want your chat message to be received by everyone logged in, you will need to
publish to a channel uniquely identified by each session of the chat.

__UPDATE__ @rbates has merged this pull request.  I was able to verify ssl support indeed works!

repository: zlu/octopress

extension: markdown

repo_name: zlu/octopress


text:
# Small projects to learn C++ and Rust.

List from http://www.cplusplus.com/forum/beginner/3473/

## Beginner

1. [x] Write a programme which finds the factorial of a number entered by the user. (check for all conditions).
2. [x] Develop a programme to convert currency X to currency Y and vice versa.
3. [x] Write a programme that prints out a triangle from largest to smallest; user inputs the largest number. Eg:

```
*****
****
***
**
*
```

4. [x] Write a programme that prints out a triangle from smallest to largest; user inputs bottom number. Eg:

```
*
**
***
****
******
```

5. [x] Print out a triangle from smallest to largest, skipping even rows. User inputs largest number, eg:

```
*
***
*****
*******
```

6. [x] Develop a programme that uses a randomly generated number to select 1 of 3 (or more) functions to show the user.
7. [x] Guessing game. ask the user to guess a number between 1 and a 100. If you guessed correctly, it will say you win. If you're too high or too low it will also let you know.
8. [x] Create a programme which generates Fibonacci series til a number 'n', where 'n' is entered by the user. Eg if the user enters 10 then the output would be: `1 1 2 3 5 8`
9. [x] Given a string, determine how many of the characters are vowels and how many are consonants. Terminate the string when the input character encountered is non-alphabetic.
10. [x] Find the Fifth root of the sum of the squares of the first 100 ODD numbers only.
11. [x] List all possible combinations of letters in a 4-letter word. Eg 'TEST' can be unscrambled as TEST, TETS, TSET, TSTE, TTSE, TTES, etc.
12. [x] Make a programme that allows the user to input either the radius, diameter, or area of the circle. The programme should then calculate the other 2 based on the input.
13. [x] Read a line of text and write it out backwards using a recursive function.
14. [x] Write a programme to simulate a simple calculator. It should accept two numbers from the user along with the required operation to be performed. Addition, subtraction, division and multiplication are the basic operations that should be implemented. Feel free to implement other operations. Bonus points for splitting the calculation functions into a separate module.
15. [x] Determine how much money is in a piggy bank that contains several £2 coins, £1 coins, 50p coins, 20p coins, 10p coins and 5p coins. Use the following values to test your programme: one £2, three £1, five 50p  coins, two 20p coins, one 10p coin and fifteen 5p coins.
16. [x] Create a simple palindrome checker programme. The programme should allow the user to enter a string and check whether the given string is a palindrome or not. Only digits and alphabets should be considered while checking for palindromes - any other characters are to be ignored.
17. [x] Write a programme that allows you to input students' midterm, final and homework scores, and calculate a weighted score. Use the following weights: 20% midterm, 40% final, 40% median homework.

## Intermediate

18. [x] Simple file encryption (using something simple like ROT13).
19. [x] Write a programme which will print all the pairs of prime numbers whose sum equals the number entered by the user. Eg 10 = 5 + 5, 7 + 3; 12 = 11 + 1, 5 + 7
20. [x] Write a quiz which retrieves a question and answer from a file. Allow the user to take the quiz, count points total and show score.
21. [x] Read XHTML, remove the tags, then print out the remaining text.
22. [x] Write a programme which performs addition, subtraction, multiplication of matrices. The dimensions of both the matrices would be specified by the user (dynamic memory allocation required). Use of structure or a class to define the matrix would be a good idea.
23. [ ] Write a programme which will perform the job of moving the file from one location to another. The source and destination path will be entered by the user. Perform the required error checking and handle the exceptions accordingly.
24. [ ] Create a sophisticated linked list class. You should be able to insert and delete nodes anywhere in the list, and the linked list should be (doubly linked)[https://en.wikipedia.org/wiki/Doubly_linked_list].
25. [ ] Create a programme that implements a database. The fields are hard-coded, and the data is saved in a binary file. Although this isn't really flexibility, you aren't relying on any external libraries or functions.
26. [x] Create a command-line todo list.  Bonus: use a database (eg SQLite) to persist todo items between programme runs.

## Expert

- [ ] Write a programme which acted like a personal planner. A user can input an event, note things to-do on a certain date.
28. [x] Make a Markov chain generator. Read text from a source, create a histogram and allow different prefix lengths. See [Think Python](http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec159) for info.
29. [x] Noughts and crosses game.
30. [ ] Create a Youtube video downloader (actually really difficult cos Youtube tries to block everything)
- [ ] Write a phone/address book programme, with persistent data. The users should be able to add/delete/change the data.
- [ ] Write a simple payroll programme, that would include pay rates, and hours work for employees.
- [ ] Write a card game, eg blackjack
- [ ] Create a chess game.
- [ ] Create a binary tree which has search and sorting functions.
- [ ] Create a Quine, (a programme that prints out its own source code).
- [ ] [C++] Implement your own `strstr`.
- [ ] [C++] Implement your own version of the Standard Template Library.
- [ ] [Make a pokedex](http://codereview.stackexchange.com/questions/135293/basic-pokedex-in-c) - use a database, enums for types/gender etc
- [ ] Video format converter, eg .mov to .mp4 (ie frontend to ffmpeg)
- [ ] URL shortener service

## Graphics

- [ ] Write a programme to draw a rectangle, ellipse, square, circle, point and line based on user input.
- [ ] Create a paint programme. It should be possible to switch between different tools (circle, rectangle, eraser etc) using pre-defined key strokes.
- [ ] Plot a simple x-y graph for a hardcoded function (e.g. y=cos(x)). It should be possible to zoom in on any part of the graph.
- [ ] Write a programme to plot a graph of given equation of form y=f(x) and a range for x as command line arguments. (e.g. my_graph_plotter -eq="y=x*x" -xmin=-10, -xmax=10) (PS: more to do with equation solving than graphics)
- [ ] Write the classic brick break-out game (Arkanoid/Breakout)

fuzzy search (levenstein)
gui
generative art

Good resources for Rust:
- https://github.com/kud1ing/awesome-rust
- https://github.com/ctjhoa/rust-learning
- https://github.com/cis198-2016s
- http://fredrik.anderzon.se/2016/05/10/rust-for-node-developers-part-1-introduction/
- http://www.arewewebyet.org/#getting-started
- http://cglab.ca/~abeinges/blah/too-many-lists/book/
- https://www.reddit.com/r/rust/comments/5d4h8l/school_vacation_starts_tomorrow_i_want_to_know/da1zdiz/

repository: whostolemyhat/learning-projects

repo_name: whostolemyhat/learning-projects


text:
# vrp-gen-alg - Algorithms

Here are described the primary algorithms that the application uses.

## Table of Contents

- [GA](#ga)
- [Matrix Builder](#matrix-builder)
- [Parameter Builder](#parameter-builder)
- [Timer](#timer)

### GA

"genalg.py" file contains the core implementation of the GA. Briefly put, it does the following:
1. GA initialization (preparing instance variables, determining used extensions etc. See the code itself for specifics.)
2. Population initialization
3. Primary loop begins. One loop results in completion of one generation. Within the loop, the following is done:
   1. Perform the following subloop until new population is full (each subloop creates two offspring):
      1. Select two parents using the parent selection function.
      2. Perform crossover using selected crossover function..
      3. Perform mutation for the offspring.
      4. Validate offspring using selected evaluators.
      5. Replace invalid offspring with valid individuals using selected invalidity correction function.
      6. Evaluate offspring using selected evaluator function.
      7. Add offspring to the new population.
   2. Sort new population in ascending/descending order in terms of fitness.
   3. Conduct the filtration strategy (or removal of duplicates) if it is time for it.
   4. Mark new population as current population.
   5. Determine best overall individual.
4. Display best overall individual that has been discovered.
5. Plot figures from collected data.
6. Save collected data. **Routes are not saved!**
7. View plotted figures.
8. Terminate GA completely.

Primary loop is subject to termination via termination criteria. These are defined in instance object ParamsGENALG.

### Matrix Builder

"matrix_builder.py" file is in charge of the creation, (de)assignment and illustration of the matrix data that the application uses. These are cost matrices, coordinates, demands, service times, profits, time windows and penalties. The creation process includes a guided procedure, although the results are limited to randomly generated elements.

### Parameter Builder

"param_builder.py" file manages instance objects ParamsVRP and ParamsGENALG. Processes include guided initialization, saving and loading of both.

### Timer

This is simply a convenience implementation for CPU-time-based termination criteria.

repository: terratenff/vrp-gen-alg

repo_name: terratenff/vrp-gen-alg


text:
# UI Testing with Puppeteer

This is the code repository for [UI Testing with Puppeteer](https://www.packtpub.com/product/ui-testing-with-puppeteer/9781800206786?utm_source=github&utm_medium=repository&utm_campaign=9781800206786), published by Packt.

**Implement end-to-end testing and browser automation using JavaScript and Node.js**

## What is this book about?
Puppeteer is an open source web automation library created by Google to perform tasks such as end-to-end testing, performance monitoring, and task automation with ease. Using real-world use cases, this book will take you on a pragmatic journey, helping you to learn Puppeteer and implement best practices to take your automation code to the next level!

This book covers the following exciting features:
* Understand browser automation fundamentals
* Explore end-to-end testing with Puppeteer and its best practices
* Apply CSS Selectors and XPath expressions to web automation
* Discover how you can leverage the power of web automation as a developer
* Emulate different use cases of Puppeteer such as network speed tests and geolocation

If you feel this book is for you, get your [copy](https://www.amazon.com/dp/180020678X) today!

## Instructions and Navigations
All of the code is organized into folders. For example, Chapter02.

The code will look like the following:
```
class Cart {
constructor() {
this._cart = [];
}
total() {
return this._cart.reduce((acc, v) => acc + v.price, 0);
};
addToCart(item) {
this._cart.push(item);
};
}
module.exports = Cart;
```

**Following is what you need for this book:**

The book is for testing professionals, QA engineers, and test automation enthusiasts who want to perform end-to-end testing using Google's developer tools. Web developers who want to learn how to use Puppeteer for generating content, scraping websites, and evaluating website performance will find this book useful. Although knowledge of Node.js isn’t necessary, basic JavaScript knowledge will assist with understanding the concepts covered.

### Install steps

All chapters have its own NodeJS application. Make sure to run npm install before running each chapter.

From Chapter3. There is a website under the vuejs-firebase-shopping-cart directory. Make sure to run npm install under that directory. You will also need to run that website, running npm run server before running the tests.

With the following software and hardware list you can run all code files present in the book (Chapter 1-10).

### Software and Hardware List

| Chapter  | Software required                   | OS required                        |
| -------- | ------------------------------------| -----------------------------------|
| 1-10     | Node.js (10.18.1+)                 | Windows, Mac OS X, and Linux (Any) |
| 1-10     | Visual Studio Code                  | Windows, Mac OS X, and Linux (Any) |

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. [Click here to download it](https://static.packt-cdn.com/downloads/9781800206786_ColorImages.pdf).

## Errata

* **Preface**, Disclaimer (line 2): **We are going to test websites like GitHub.com, StackOverlow.com, The Weather Channel, and PacktPub.** _should be_ **We are going to test websites like GitHub.com, StackOverflow.com, The Weather Channel, and PacktPub.**

### Related products <Other books you may enjoy>
* End-to-End Web Testing with Cypress [[Packt]](https://www.packtpub.com/product/end-to-end-web-testing-with-cypress/9781839213854?utm_source=github&utm_medium=repository&utm_campaign=9781839213854) [[Amazon]](https://www.amazon.com/dp/183921385X)

* Modern Web Testing with TestCafe [[Packt]](https://www.packtpub.com/product/modern-web-testing-with-testcafe/9781800200951?utm_source=github&utm_medium=repository&utm_campaign=9781800200951) [[Amazon]](https://www.amazon.com/dp/1800200951)

## Get to Know the Author
**Dario Kondratiuk**
has been a web developer since 2001. He won the Microsoft MVP (Most Valuable Professional) award in 2020 for his contributions to the developer community. Dario has been working with Puppeteer since the beta versions, back in 2017. He is the author of Puppeteer-Sharp, a Puppeteer port to .NET, and Playwright-Sharp, a Playwright port to .NET. He writes about web automation on his blog, https://www.hardkoded.com, and he's active on Stack Overflow.

repository: pacohams/UI-Testing-with-Puppeteer

repo_name: pacohams/UI-Testing-with-Puppeteer


text:
# Remix Libraries

[![Join the chat at https://gitter.im/ethereum/remix](https://badges.gitter.im/ethereum/remix.svg)](https://gitter.im/ethereum/remix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![CircleCI](https://circleci.com/gh/ethereum/remix-project/tree/master.svg?style=svg)](https://circleci.com/gh/ethereum/remix-project/tree/master)
[![Documentation Status](https://readthedocs.org/projects/docs/badge/?version=latest)](https://remix-ide.readthedocs.io/en/latest/index.html)

**Remix libraries** are part of the Remix Project and provide tools that help smart contract development, compilation, testing & deployment. These tools also work as a core of native plugins of **Remix IDE**.

**Remix IDE** is an open source web and desktop application. It fosters a fast development cycle and has a rich set of plugins with intuitive GUIs. Remix is used for the entire journey of contract development as well as being a playground for learning and teaching Ethereum.

The Remix IDE repository is specifically available **[here](https://github.com/ethereum/remix-project/tree/master/apps/remix-ide)**, and an online version is available at https://remix.ethereum.org.

To start with Remix IDE, check out [official documentation](https://remix-ide.readthedocs.io/en/latest/index.html).

Here is the brief description of Remix libraries.

+ [`remix-analyzer`](remix-analyzer/README.md): Perform static analysis on Solidity smart contracts to check security vulnerabilities and bad development practices
+ [`remix-astwalker`](remix-astwalker/README.md): Parse solidity AST (Abstract Syntax Tree)
+ [`remix-debug`](remix-debug/README.md): Debug Ethereum transactions. It provides several controls that allow stepping over the trace and seeing the current state of a selected step.
+ [`remix-simulator`](remix-simulator/README.md): Web3 wrapper for different kind of providers
+ [`remix-solidity`](remix-solidity/README.md): Load a Solidity compiler from provided URL and compile the contract using loaded compiler and return the compilation details
+ [`remix-lib`](remix-lib/README.md): Common place for libraries being used across multiple modules
+ [`remix-tests`](remix-tests/README.md): Unit test Solidity smart contracts. It works as a plugin & as CLI both
+ [`remix-url-resolver`](remix-url-resolver/README.md): Provide helpers for resolving the content from external URL ( including github, swarm, ipfs etc.).
+ [`remix-ws-templates`](remix-ws-templates/README.md): To create a workspace using different templates on Remix IDE
+ [`remixd`](remixd/README.md): Allow accessing local filesystem from Remix IDE by running a daemon

Each library is an NPM package and has basic documentation about its usage in its own `README`.

## Contributing

Everyone is very welcome to contribute on Remix Project. Suggestions, issues, queries and feedbacks are our pleasure. Please reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any query.

For more information on the contributing in code, see our [contribution guidelines](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md).

repository: ethereum/remix-project

gha_language: TypeScript

repo_name: ethereum/remix-project


text:
# Calling for Pull Requests for these algorithms 📣📣📣

### Sort Algorithms:
- Selection Sort
- Bubble Sort ✔
- Insertion Sort
- Merge Sort
- Quick Sort ✔
- Bucket Sort
- Heap Sort
- Counting Sort

### Search Algorithms:
- Depth First Search
- Breadth First Search
- Binary Search

### Data Structures:
- Stack
  - push(x): Pushes element x onto stack.
  - pop(): Removes the element on top of the stack.
  - top(): Gets the top element.
  - empty(): Returns whether the stack is empty.

- Queue
  - push(x): Pushes element x to the back of queue.
  - pop(): Removes the element from in front of queue.
  - peek(): Gets the front element.
  - empty(): Returns whether the queue is empty.

- Singly Linked List
  - insertAtEnd(x): Inserts given element at the end of the linked list
  - insertAtHead(x): Inserts given element at the start/head of the linked list
  - delete(x): Deletes given element from the linked list
  - deleteAtHead(x): Deletes first element of the linked list
  - search(x): Returns the given element from a linked list
  - isEmpty: Returns true if the linked list is empty

- Doubly Linked List
  - insertAtEnd(x): Inserts given element at the end of the linked list
  - insertAtHead(x): Inserts given element at the start/head of the linked list
  - delete(x): Deletes given element from the linked list
  - deleteAtHead(x): Deletes first element of the linked list
  - search(x): Returns the given element from a linked list
  - isEmpty: Returns true if the linked list is empty

- Priority Queue
  - insert(item, priority): Inserts an item with given priority.
  - getHighestPriority(): Returns the highest priority item.
  - deleteHighestPriority(): Removes the highest priority item.

- Balanced Binary Search Tree (AVL/ Red Black Tree)
  - search(x): Returns the given element in the tree
  - max(): Returns maximum element of the tree
  - min(): Returns minimum element of the tree
  - insert(x): Inserts given element into the tree
  - delete(x): Deletes given element of the tree

- Trie
  - insert(word) - Inserts a word into the trie.
  - search(word) - Returns if the word is in the trie.
  - startsWith(prefix) - Returns if there is any word in the trie that starts with the given prefix.
  - *Related Leetcode Question: https://leetcode.com/problems/implement-trie-prefix-tree*

- Least Recently Used Cache
  - get(key) - Gets the value (will always be positive) of the key if the key exists in the cache, otherwise return -1.
  - put(key, value) - Sets or inserts the value if the key is not already present. When the cache reached its capacity, it should invalidate the least recently used item before inserting a new item.
  - *Related Leetcode Question: https://leetcode.com/problems/lru-cache/*

repository: nugit/LYANL

gha_language: Scala

repo_name: nugit/LYANL


text:
# GSoC'21 RoboComp project: Sign language recognition

14th Aug 2021

## Installation:
This component requires the same environment as HandPose and ImageBasedRecognition component,
please check this [link](/web/gsoc/2021/posts/trung_ngo_tan/post03).

## Usage:
### Pose based Sign language recognition:
The pose detector component is in robocomp-robolab/components/detection/BodyHandJointsDetector/ .
The recognized component is in robocomp-robolab/components/detection/poseBasedGestureRecognition .
and its client is in robocomp-robolab/components/detection/test/poseBasedGestureRecognitionClient/

Copy pretrained model from this [link](https://drive.google.com/file/d/1noNAokd8a39a1_DbOjLn5Hdi9LsI4snr/view?usp=sharing)
to src/_model/ in the detector component folder.

Steps:
1) Follow the introduction in the README.md to cmake the folder, and run the component.
2) Run the detector and recognizer before the client.

This client will get image from camera and send to detector and get back the body pose + hand joints.
Then these poses are collected and send to recognizer to get the class of gesture.

Currently, this component is still debugging.

## WLASL dataset:

As mentioned, we use WLASL dataset to recognize sign language. For demonstration, we just use the 100 classes WLASL models.
Therefore, if users want to apply for larger range of classes in WLASL (1000 or 2000). Please follow these links:
+ [I3D weights pre-trained](https://drive.google.com/file/d/1jALimVOB69ifYkeT0Pe297S1z4U3jC48/view).
+ [Pose-TGCN](https://drive.google.com/file/d/1dzvocsaylRsjqaY4r_lyRihPZn0I6AA_/view).

Please clone this [git](https://github.com/dxli94/WLASL) for testing and converting pretrained pytorch model. The convert code can be found here:
+ [PoseTGN code to export onnx model](https://gist.github.com/rongtuech/2c0b7d500403f5a82560ad547f130941)
+ [I3D code to export onnx model](https://gist.github.com/rongtuech/a88a5448e4234d404ba5ef498f02f8f8)
Copy these code to relative folders (I3D and PoseTGN) in cloned repo from WLASL.

## Demo:

HandBodyPoseDetector component/client:

[![handbody demo](images/handbodyPoseYoutube.png)](https://youtu.be/qpOU7or_zx8 "Video Title")

ImageBasedRecognition component/client:

[![image based recognition demo](images/imagebasedRecognitionYoutube.png)](https://youtu.be/aAywMZqqlVw "Video Title")

repository: robocomp/web

gha_language: SCSS

repo_name: robocomp/web


text:
# Changelog

- [Changelog](#changelog)
  - [1.0.11: Moar Minor Updates](#1011-moar-minor-updates)
  - [1.0.10: Minor Updates](#1010-minor-updates)
  - [1.0.9: Minor Updates](#109-minor-updates)
  - [1.0.7: Fix Broken Installer](#107-fix-broken-installer)
  - [1.0.5: Bug Fixes](#105-bug-fixes)
  - [1.0.4: Bug Fixes](#104-bug-fixes)
  - [1.0.3: Prettier Sets](#103-prettier-sets)
  - [1.0.2: Visuals and bug fixes](#102-visuals-and-bug-fixes)
  - [1.0.1: Magic rebalance, new CGO and bug fixes](#101-magic-rebalance-new-cgo-and-bug-fixes)
  - [1.0.0: Initial Release](#100-initial-release)

## 1.0.11: Moar Minor Updates

**Released at**: `31-10-2020`

**Info**:

Various bug fixes and a few mods updated/added.

This update is ***SAFE*** for your existing save file.

**Changes**:

- Mods - Added
  - Blind Miner's Axe Replacer
  - Enderal Apothekarii Monastery
  - Enderal Outposts
  - GIST - Genuinely Intelligent Soul Trap
  - Jail of Riverville
  - Official EGO Content Addons
  - Sting of the Blue Islands Replacer
  - Tharael's Blades Replacer
  - Unique Enderal Uniques
  - Yero's Cave Full

- Mods - Removed
  - Disenchanted

- Mods - Updated
  - DynDOLOD
  - DynDOLOD Resources
  - Enderal Gameplay Overhaul
  - Enderal Gameplay Overhaul Patches
  - Enhanced Ore Veins
  - Practical Armor Replacers
  - Refracting Ice Form Debris
  - Rudy ENB for ENDERAL Forgotten Stories

- Issues - Fixed
  - [Add GIST](https://github.com/jdsmith2816/emw/issues/72)
  - [Enhanced Ore Veins](https://github.com/jdsmith2816/emw/issues/98)
  - [Enhanced Ore Veins - unable to download](https://github.com/jdsmith2816/emw/issues/79)
  - [Fix broken installer](https://github.com/jdsmith2816/emw/issues/75)
  - [Hashing Error on Enhanced Ore Veins](https://github.com/jdsmith2816/emw/issues/100)
  - ["Lb" sprint won't work (PC controller xbox)](https://github.com/jdsmith2816/emw/issues/69)
  - [Please add EGO compatibility patches](https://github.com/jdsmith2816/emw/issues/91)
  - [Remove "Magic Cow" Loadscreens from DynDOLOD](https://github.com/jdsmith2816/emw/issues/73)
  - [Tracker Cloak and Garb of the Keeper use 2 different slots](https://github.com/jdsmith2816/emw/issues/47)
  - [Wabbajack Installation fail](https://github.com/jdsmith2816/emw/issues/86)

- Issues - Invalid
  - [Equipment HUD - Shields getting unequipped when using Cycler](https://github.com/jdsmith2816/emw/issues/94)
  - [Graphical Glitch: Colored vertical (high)lighting (random) / ENB fade-out?](https://github.com/jdsmith2816/emw/issues/83)
  - [Option for Headgear toggle on Player, NPC's, Dolls](https://github.com/jdsmith2816/emw/issues/90)
  - [Reduce Mana Cost for "Send Items Home" Spell](https://github.com/jdsmith2816/emw/issues/74)
  - [Secure chest disappeared after update](https://github.com/jdsmith2816/emw/issues/84)
  - [Set of the Tracker - Chest part: Two item ID's / wrong Armor model](https://github.com/jdsmith2816/emw/issues/89)
  - [Veil of the Ash Warrior clipping through head](https://github.com/jdsmith2816/emw/issues/88)

- Issues - Won't Fix
  - [Please add "Difficult archery" and "Proper Aiming"](https://github.com/jdsmith2816/emw/issues/66)
  - [Please add "Mortal Enemies - Vatyr's Fleeing fixed version"](https://github.com/jdsmith2816/emw/issues/92)
  - [Please add "Realistic Humanoid Movement Speed" + Horse Speed #compatible](https://github.com/jdsmith2816/emw/issues/97)
  - [Remove EGO Patches](https://github.com/jdsmith2816/emw/issues/77)
  - [Set boni don't get dded when equipping Setarmor directly from a container!](https://github.com/jdsmith2816/emw/issues/99)

## 1.0.10: Minor Updates

**Released at**: `15-09-2020`

**Info**:

Improved performance due to ini change suggestions from kratore.. Thanks!
Various bug fixes and a few mods updated/added.

This update is ***SAFE*** for your existing save file.

***Before installing the update you need to remove everything from your secure chests or risk losing it all.***

**Changes**:

- Mods - Added
  - Auto Hide Ammo
  - Sometimes Pick Up Books
  - Waterspouts

- Mods - Removed
  - Detect Dead
  - Disenchanted

- Mods - Updated
  - Enderal Gameplay Overhaul
  - Enhanced Ore Veins
  - High Poly Head
  - Official EGO Patches
  - Paper UI Sounds

- Issues - Fixed
  - [Arcanist blueprints (robes, gauntlets, boots)](https://github.com/jdsmith2816/emw/issues/68)
  - [Fix BethINI ini direction path](https://github.com/jdsmith2816/emw/issues/67)
  - [Please add "Auto Equip Ammo"](https://github.com/jdsmith2816/emw/issues/61)
  - [Please add "Sometimes Pick Up Books"](https://github.com/jdsmith2816/emw/issues/64)

- Issues - Won't Fix
  - [Please add "D13 Faster Get up Stand up animation"](https://github.com/jdsmith2816/emw/issues/65)
  - [Please add "Wildcat" (just Injuries-mechanics)](https://github.com/jdsmith2816/emw/issues/63)

## 1.0.9: Minor Updates

**Released at**: `18-08-2020`

**Info**:

Update to fix broken installer and some minor mod updates.

***This update is 100% save file safe.***

**Changes**:

- Mods - Added
  - Paper UI Sounds

- Mods - Removed
  - Undiscovered Means Unknown

- Mods - Updated
  - Dear Diary
  - Cobb Bug Fixes
  - Practical Armor Replacer

## 1.0.7: Fix Broken Installer

**Released at**: `23-07-2020`

**Info**:

Update to fix broken installer.  Updated Dear Diary has prettier enderal specific ui pieces. Fixes possible nudity on Captain Rocio during opening scene.

***Make sure to copy the game folder files again to get the updated enb binaries.***

***This update is 100% save file safe.***

**Changes**:

- Mods - Added

- Mods - Updated
  - Dear Diary
  - ENBSeries
  -

- Issues - Fixed

- Issues - Unable to Reproduce

## 1.0.5: Bug Fixes

**Released at**: `16-06-2020`

**Info**:

Fixed more bugs and updated some of the vanilla tierred armor. Please doublecheck your MCM settings from the readme.  I adjusted Ultimate Combat settings for this release to address a stagger related bug.  In previous releases I adjusted the settings without mentioning it.

I merged the magic balance and race patch into the main EMW patch... You can ignore the warning about missing plugins.

***Make sure to copy the game folder files again to get the updated enb binaries.***

***This update is 100% save file safe.***

**Changes**:

- Mods - Added
  - Run Sprint and Jump
  - Vanilla Armor Replacer (Starling - Righteous Path - Rune - Aeterna)

- Mods - Updated
  - BDOR Pack
  - ENBSeries
  - Rudy ENB for ENDERAL Forgotten Stories

- Issues - Fixed
  - [Arcanist's Backpack: wrong carry capacity](https://github.com/jdsmith2816/emw/issues/58)
  - [Effects of "Blessing of Life" tier 2 and 3 mixed up](https://github.com/jdsmith2816/emw/issues/54)
  - [Gloves of Mysterious Nomad can be disenchanted](https://github.com/jdsmith2816/emw/issues/49)
  - [Nimbus of the Mysterious Nomad still has (Set of the Mysterious Nomad) in the name](https://github.com/jdsmith2816/emw/issues/46)
  - [Replace "Realistic Animation Project - Movement" with "Run Sprint and Jump"](https://github.com/jdsmith2816/emw/issues/57)
  - [Soul Gem Merger doesnt use any skill, so still OP (in marketplace house)](https://github.com/jdsmith2816/emw/issues/48)
  - [Suggestion: Balancing: Remove Fire/Frost/Shockshield spells introduced by Katapumb](https://github.com/jdsmith2816/emw/issues/52)
  - [Ultimate Combat seems to break the stagger system](https://github.com/jdsmith2816/emw/issues/56)

## 1.0.4: Bug Fixes

**Released at**: `04-06-2020`

**Info**:

Fixed most of the issues relating to the new set appearances and fixed the ENB situation.  Make sure to delete your `enbseries` folder from the Enderal game directory and then copy the contents of `Game Folder Files` again.

**Changes**:

- Mods - Added
  - 360 Movement Behavior
  - Amnesia Shrine
  - HQ Puddles
  - Rally's Instruments HQ
  - Realistic Animation Project - Movement

- Issues - Fixed
  - [Quick Loot and Marketplace house cause CTD](https://github.com/jdsmith2816/emw/issues/36)
  - [Quivers should be on belt](https://github.com/jdsmith2816/emw/issues/42)

- Issues - Unable to Reproduce
  - [Occasionally crashing in the Player Owned house in the Ark Marketplace.](https://github.com/jdsmith2816/emw/issues/10)
  - [Starling and Order of the Righteous Path SHield have the same Armor rating](https://github.com/jdsmith2816/emw/issues/35)
  - [Weird texture issue in ARK](https://github.com/jdsmith2816/emw/issues/24)

## 1.0.3: Prettier Sets

**Released at**: `03-06-2020`

**Info**:

This update primarily focuses on making Enderal's unique armor sets look amazing.  Along the way
many bugs were fixed, mage balance was tweaked again, Ultimate Combat was added to help with NPC
AI and crossbows were removed.

Note on the armor sets... They are designed to be worn as a set.  Mixing and matching them may
result in visual anomalies such as wrist gaps and such.  A few of the sets have additional pieces
that are required for them to look as intended and male/female have alternate helms in many cases.

  Other bits and bobs that might be needed to complete your set have
similar conditions at the forge.  Any additional pieces beyond the originals give NO STATS, NO VALUE
and cannot be enchanted; they exit only to visually complete your set.

This update ***is*** save file safe if you perform a standard clean save procedure.  You may be ok
without cleaning but... who knows.

**Changes**:

- Mods
  - Added
    - 9204 Bless MD0101 by Team TAL
    - 9204 BO HV0201M by Team TAL
    - 9204 MBO 0016 by Team TAL
    - 9204 MBO 0006 by Team TAL
    - 9204 MBO 0010 by Team TAL
    - 9204 MBO 0027 by Team TAL
    - Apachii Divine Elegance Store - UUNP Bodyslides
    - Bijin Skin
    - BDO Complete Pack by Team TAL
    - BDOR Gierach by Team TAL
    - BDOR Mueburus by Team TAL
    - Cute Eyes
    - Deadly Trio
    - DIMONIZED UNP Female Body
    - DM BDOR Lemoria by Team TAL
    - DM Bless HV0102 by Team TAL
    - DM Bless MS0102 by Team TAL
    - Edwarrs Spell Tome Books
    - HDT Physics Extensions
    - Hedge Mage Armor
    - High Poly Head
    - KS Hairdos - HDT Physics
    - MAMMOTH.by.Kajuan
    - Master of Beasts Armor
    - MiniMods Cooking Place
    - MiniMods Resting Place
    - NetImmerse Override
    - NiOverride High Heels - NIOVHH Fixes
    - Recolored Edwarr's spell tomes
    - Restored Vatyr Variants
    - Rudy ENB for Enderal WIP
    - Rudy HQ - Enderal Mesh and Texture Fixes
    - Sithis Armour and Blades
    - Ultimate Combat
    - Unplayable Faction Armors
    - YY Mystic Knight
  - Removed
    - Animation Package
    - Calia NPC Replacer
    - CBBE
    - Tribunal Masks
    - Vanilla Look ENB

- Issues
  - Fixed
    - [AllGUD not functioning with certain races](https://github.com/jdsmith2816/emw/issues/31)
    - [Animation glitch with bow bash](https://github.com/jdsmith2816/emw/issues/12)
    - [Balance issue: Soul gem and Potion combiner in Marketplace House mod](https://github.com/jdsmith2816/emw/issues/28)
    - [Balancing: 'Black Mage' set from katapump spell package](https://github.com/jdsmith2816/emw/issues/34)
    - [Can't install v1.0.2 - Error with Kids of Enderal download](https://github.com/jdsmith2816/emw/issues/16)
    - [Dagger of Despair is invisible](https://github.com/jdsmith2816/emw/issues/4)
    - [Displays in basement of the Marketplace house don't work properly](https://github.com/jdsmith2816/emw/issues/38)
    - [Inconsistent perk "back" button language](https://github.com/jdsmith2816/emw/issues/27)
    - [Minor graphical bug: Floating grass](https://github.com/jdsmith2816/emw/issues/30)
    - [Trolls are too big to fit through some doorways](https://github.com/jdsmith2816/emw/issues/22)
    - [Two handed blocking animation bugged](https://github.com/jdsmith2816/emw/issues/18)
    - [Urns are missing textures](https://github.com/jdsmith2816/emw/issues/17)
    - [Wolf Blood and Chymicum not spawning](https://github.com/jdsmith2816/emw/issues/33)

  - Won't Fix / Invalid / Duplicate
    - [Adding 'Mortal Enemies' to modlist](https://github.com/jdsmith2816/emw/issues/15)
    - [Adding 'Smart Cast' to modlist](https://github.com/jdsmith2816/emw/issues/11)
    - [Graphical bug, weird water textures](https://github.com/jdsmith2816/emw/issues/26)

## 1.0.2: Visuals and bug fixes

**Released at**: `24.05.2020`

**Info**:

This release has a bit of everything in it.  It's primarily focused around
visuals but also includes some UI tweaks, bug fixes, etc.

This update is **SAVE GAME SAFE** provided that you go into an interior *BEFORE*
updating and follow the DynDOLOD update procedure.

**Changes**:

- Mods
  - Added
    - Ancient Dwemer Metal
    - Arctic Frost Effects Redux
    - Animation Package
    - Ancient Pottery
    - Better Dynamic Snow
    - Better than Nando's
    - Bijin Skin CBBE
    - Blended Roads Redone
    - Boreal Boats
    - Burn Freeze Shock Effects Custom
    - Cathedral - Plants
    - CBBE
    - BodySlide and Outfit Studio
    - CC's Enhanced Ore Veins
    - CC's HD Dwemer Automatons
    - Double Sided Vertex Human Mouth Fix
    - EGO Patches
    - Embers HD
    - ENB Eyebrow Fix
    - ENB Lights
    - ENB Particle Lights - Dwemer Lanterns
    - Enderal Animation Fix
    - Enhanced Blood Textures - LIGHT
    - Enhanced Camera
    - Enhanced Vanilla Trees
    - Ethereal Clouds
    - Expressive Facial Animation - Female Edition
    - Expressive Facial Animation - Male Edition
    - Expressive Facial Animation - Mouth Mesh
    - Eye Normal Map Fix
    - Eyes AO Clipping Fix - Ruhmastered
    - Fair Skin Complexion - Mouth Textures
    - Falmer Ear 512
    - Farmhouse Wooden Fence
    - Finally First Person Magic Animation
    - Fire Halo Remover
    - Forgotten Retex Project
    - Frankly HD Dragonbones
    - Gecko's Dwarven Ruins Textures
    - GORECAP
    - HD Animal and Creature Drops
    - HD Goat
    - HD Rabbit
    - HD Skeevers
    - HD LODs
    - High Poly Project
    - Hyperborean Snow
    - Ice Cave Parallax Improved
    - Improved Dragonfly
    - JS Shrines of the Divines
    - KD - Realistic Fireplaces
    - KD - Realistic Fireplaces - Charred Logs
    - Little Things
    - MD's Farmhouses
    - Medieval Candlehorns and Sconces
    - Medieval Spirits
    - Medieval Silverworks
    - Metallurgy - Ingots and Ore HD
    - MultiLayer Parallax Soul Gems
    - Night Skies - Milky Realism
    - Noble Skyrim
    - No More Laser-Printed Text
    - OH GOD BEES
    - ONE MOUNTAIN RELOADED
    - Peltapalooza
    - Quick Loot
    - Quick Loot - Dialogue Style Interface
    - Realistic HD Mushrooms Remastered
    - Realistic Paper
    - Reduced Glow FX
    - Refracting Ice Form Debris
    - Revamped Assets Skyrim
    - Reverb and Ambiance Overhaul - Enderal
    - Rudy HQ - Falling Leaves and Needles for ENB
    - Rudy HQ - Hay
    - Rudy HQ - Misc - The Rest
    - RUDY HQ - More Lights for ENB - Bthardamz
    - RUDY HQ - More Lights for ENB - Chaurus Eggs and Sacs
    - RUDY HQ - More Lights for ENB - Deathbells and Nirnroots
    - RUDY HQ - More Lights for ENB - Moths
    - Rudy HQ - Nordic Ruins
    - Ruins Cutter Improved - Subliminal Traps
    - Rum Induced Mountains
    - Rustic Animated Potions and Poisons
    - Rustic Clutter Collection
    - Rustic Windows
    - Simple Lock-On
    - Skygazer Moons
    - SkyHUD
    - Skyrim 3D Cooking
    - Skyrim Landscape Overhaul - Stone Walls
    - Skyrim Landscape Overhaul - Stone Walls - Dave's Retexture
    - Skyrim Realistic Overhaul
    - Skyrim Textures Redone - Enhanced Night Sky
    - Skyrim Ultimate Eye Meshes Ruhmasterred
    - Smaller Vanilla Cursors
    - Smoking Torches and Candles
    - Smooth Sky Mesh
    - Sound Hammer Sounds
    - Tree Bark in High Definition
    - True Wolves of Skyrim
    - VioLens
    - WoodElf - MaleHair - Fix
    - Ultimate HD Fire Effects
    - Ultimate HD Candle Flames
    - Ultra Realistic Snowfall
    - Undead summons emerge from the ground
    - Undiscovered Means Unknown
    - Wonders of Weather
    - Wonders of Weather - Less Opaque Rain Splashes for ENB
  - Removed
    - A Gentleman's Flintlock Pistol Armoury
    - Dynamic Fast Travel
    - Enderal Faster Mining
    - Horizon of Dreams
    - Pride of Valhalla
    - Rustic Potions and Poisons
    - Skyrim 3D Trees & Plants
    - UNP Textures for Vanilla Body
  - Updated
    - DynDOLOD
    - High Quality Food and Ingredients

- Issues
  - Fixed
    - [Can't craft Flintstock pistols](https://github.com/jdsmith2816/emw/issues/9)
    - [Compass missing](https://github.com/jdsmith2816/emw/issues/8)
    - [Fast travel and other economy related issues.](https://github.com/jdsmith2816/emw/issues/13)
    - [Translation issues](https://github.com/jdsmith2816/emw/issues/14)

## 1.0.1: Magic rebalance, new CGO and bug fixes

**Released at**: `21.05.2020`

**Info**:

First pass at a massive magic balance adjustment.  Thanks Total!

**Changes**:

- Mods
  - Updated
    - CGO

- Issues
  - Fixed
    - [Arcane Enchanter missing texture](https://github.com/jdsmith2816/emw/issues/7)
    - [Highwayman doesn't attack](https://github.com/jdsmith2816/emw/issues/6)
    - [Loading screens have the original skyrim smoke on the bottom (16:10 resolution)](https://github.com/jdsmith2816/emw/issues/2)
    - [Please upgrade Combat Overhaul to the latest version](https://github.com/jdsmith2816/emw/issues/3)

  - Invalid
    - [Tarhutie Leklerk is invisible](https://github.com/jdsmith2816/emw/issues/1)

## 1.0.0: Initial Release

**Released at**: `18.05.2020`

**Info**:

This is the initial release of Enderal - My Way

**Changes**:

- Added **everything**

repository: DigitalMichel/emw

repo_name: DigitalMichel/emw


text:
---
title: Building a Serverless Status Page Solution
date: 2020-03-05
profile: false
image:
  placement: 3
tags: ["chatops", "devops", "communication", "collaboration", "stakeholders", "serverless", "status"]
editable: true
---

[![](https://jhandcdn.blob.core.windows.net/blob/UpdateFromTeams.gif)](https://jhandcdn.blob.core.windows.net/blob/UpdateFromTeams.gif)

### Tech Used

The brains behind this solution is an Azure Function (running Node.js) that is triggered via outgoing webhook (from Microsoft Teams). The function modifies an index.html file stored in a "web server" served from a serverless SMB file share in Azure Storage.

Users can `open`, `update`, and `close` "status updates" by invoking them from within a chat channel.

The text that follows the command will be stored and displayed on the site below the colored (Red or Green) header.

In addition to the website files, an Azure Table will be used for storing the history of each status update.
>**NOTE:** The table is not provisioned with the deployment script. It needs to be manually created in Step 2 below.

SignalR manages refreshing the client so that changes made to the HTML are immediately visible without any end user interaction.

Application Insights is used to provide observability on the operation, behavior, and usage of the solution and is "best practice" for building highly available and reliable system... which we expect from any Status Page solution.

### Prerequisites

You will need an account with the following services:

- [Microsoft Azure](https://jhand.dev/40)
- [Microsoft Teams](https://jhand.dev/41)

---

### Deployment Instructions

The blue button below will deploy all resources needed for this solution in to the Resource Group and Azure region of your choice. The name you choose also determines the URL used to view the Status Page as well as the incoming URL used to trigger updates.

#### Steps To Deploy

**1.** Create the Azure Function app, Storage account, and SignalR Service with this button: [![Deploy to Azure](https://azuredeploy.net/deploybutton.png)](https://azuredeploy.net/)

>This will begin deploying everything needed for the solution and will provide a link to the public facing URL of the Status Page as well as a link to your new resource group where you will continue with step 2.

---

**2.** In the Azure portal, open the Storage account and add a table named `statuses`. You do not need to set any properties or add records.

![Create table](https://jhandcdn.blob.core.windows.net/blob/CreateStatusesTable.gif)

---

**3.** Navigate to the function app, and open the `teams-webhook` function. Click "Get Function URL" and copy the URL.

**4.** Open the URL of the Function in a new tab. This is "Status Page" that will change automatically when updated. It is NOT the same as the "Get Function URL" used in the next step.

![](https://jhandcdn.blob.core.windows.net/blob/ReindeerGuidanceSystemURL.png)

---

**5.** Open Microsoft Teams and navigate to the "Apps" page of the team in which you want to create the bot. Click "Create outgoing webhook".

- Use `StatusPage` as the bot name (this is hardcoded, for now).
- Paste in the function URL, and enter a description and press the create button.

> You will be prompted with a secret code for validating webhook calls from Teams. We currently do not use this. Close the dialog box.

[![](https://jhandcdn.blob.core.windows.net/blob/WebhookStatic.png)](https://jhandcdn.blob.core.windows.net/blob/Webhook.gif)

**6.** In Microsoft Teams, update the status page by typing `@StatusPage` to summon the bot followed by `open We are experiencing a problem. Standby for more information`

Available commands are:

```bot
        @StatusPage open [message]
        @StatusPage update [message]
        @StatusPage close [message]
        @StatusPage help`
```

---

This solution is based on the on-stage demonstrations built for Microsoft Ignite The Tour.

To learn more about the full demonstration, view the repo for "[OPS20 - Responding To Incidents](https://jhand.dev/42)". Huge Thanks to [Anthony Chu](https://github.com/anthonychu) in bringing this to life.

Now, let's move on to
[Understanding Why We Learn From Incidents](/post/understanding-why-we-learn-from-incidents/).

repository: jasonhand/on-call-life

repo_name: jasonhand/on-call-life


text:
pslogger
========

A package for asynchronous db-based logging in the Oracle-based PeopleSoft installations.

Installation
============
1. run the sql in the target database
2. Create Application Packages - manually based on the folder structure found in src/peoplecode/APPLICATION_PACKAGE

   for instance:
        a. Create Application Package UTILTITIES
        b. Create Application Class - TextUtils and add the code found in TextUtils.OnExecute.peoplecode

        a. Create Application Package - LOGGER
        b. Create Application Class - BaseDBLogger and add the code found in BaseDBLogger.OnExecute.peoplecode
        c. Repeat for all the other files from that folder

        Note: UTILITIES package and classes must be created first
              In The LOGGER pcakage BaseDBLogger must be created before any other class

              This is to avoid app designer save errors

Usage
=====

TBA

repository: swiatczak/pslogger

repo_name: swiatczak/pslogger


text:
# Table of Contents

- [crinkle](#crinkle)
- [Basic Usage](#basic-usage)
  * [Asynchronous Functions](#asynchronous-function)
  * [Global Variable Before](#global-variable-before)
  * [Purity Check](#purity-check)
  * [Optimizability](#optimizability)
- [Limitations](#limitations)
- [Half-Baked Plans](#half-baked-plans)

# crinkle

Annotate your code with a block comment of test cases, and `crinkle`
will run your code in the background give you back:
* Output
* Runtime

With the `--optimize` flag, `crinkle` will also give you:
* Whether V8 was able to optimize your function
* If not, our best guess as to why (currently only a few guesses implemented)

All without leaving the comfort of atom!

Coming soon:
* Automatic generation of unit tests
* Garbage collector and memory usage information
* De-optimization notice (discarding an inline cache due to a hidden class change)

# Installation

I haven't published this to `apm` yet, sorry. It's still a bit buggy. If you want
to use it while it's in development, make sure you have Atom installed and then
run
```
git clone https://github.com/ben-pr-p/crinkle.git
cd crinkle
apm link
```
To be published soon!

# Basic Usage

Suppose you write a function ...

```
function factorial (n) {
  return (n == 1) ? 1 : factorial(n-1) * n
}
```

and you'd like to run it. Simply include a comment with an `@crinkle` directive
and some basic test cases...

```
/*
 * @crinkle
 *
 * Tests: {
 *  three -> factorial(3)
 *  twenty -> factorial(20)
 *  forty -> factorial(40)
 * }
 */

function factorial (n) {
 return (n == 1) ? 1 : factorial(n-1) * n
}
```

press `Ctrl-Alt-O`...

```
/*
 * @crinkle
 *
 * Before: {
 *  var a = 5
 * }
 * Tests: {
 *  three -> factorial(3)
 *  twenty -> factorial(20)
 *  forty -> factorial(40)
 * }
 * Results: {
 *  three -> 6 in 1 ms
 *  twenty -><PHONE_NUMBER>176640000 in 1 ms
 *  forty -> 8.159152832478977e+47 in 0 ms
 * }
 */
function factorial (n) {
  return (n == 1) ? 1 : factorial(n-1) * n
}
```

and voila! Results!

## Optimization Check

To make sure you're function is optimizable by the V8 Javascript engine that powers
Node, Chrome, Chromium, Opera, Vivaldi, ChromeOS, etc...

Add the `--optimized` flag and...
```
/*
 * @crinkle
 *
 * Before: {
 *  var a = 5
 * }
 * Tests: {
 *  three -> factorial(3)
 *  twenty -> factorial(20)
 *  forty -> factorial(40)
 * }
 * Results: {
 *  three -> 6 in 1 ms -- ✔ optimizable
 *  twenty -><PHONE_NUMBER>176640000 in 1 ms -- ✔ optimizable
 *  forty -> 8.159152832478977e+47 in 0 ms -- ✔ optimizable
 * }
 */
function factorial (n) {
  return (n == 1) ? 1 : factorial(n-1) * n
}
```

If it can't be optimized, we'll give you our best guess why V8 bailed.
```
/*
 * @crinkle --optimized
 *
 * Before: {
 *  var five = 5
 * }
 * Tests: {
 *  basic ->  addFive(3)
 *  bigger -> addFive(25)
 *  biggest -> addFive(100)
 * }
 * Results: {
 *  basic -> 8 in 0 ms -- ✘ un-optimizable
 *  bigger -> 30 in 0 ms -- ✘ un-optimizable
 *  biggest -> 105 in 0 ms -- ✘ un-optimizable
 * }
 * Unoptimizable: eval leaves code unknown at runtime
 */
function addFive (n) {
  return eval(`five + ${n}`)
}
```

Fore more information on V8 and bailing out, read https://github.com/vhf/v8-bailout-reasons.

## Purity Check

To verify that a function you wrote is pure*, add the `--pure` flag.
```
/*
 * @crinkle --pure
 *
 * Before: {
 *  var a = 5
 * }
 * Tests: {
 *  three -> factorial(3)
 *  twenty -> factorial(20)
 *  forty -> factorial(40)
 * }
 * Results: {
 * three -> 6 in 0 ms  -- ✔ pure
 * twenty -><PHONE_NUMBER>176640000 in 0 ms  -- ✔ pure
 * forty -> 8.159152832478977e+47 in 0 ms  -- ✔ pure
 * }
 */

var s = 10

function factorial (n) {
  return (n == 1) ? 1 : factorial(n-1) * n
}
```

Great job, you wrote a pure* function! Now let's mess up!

```
/*
 * @crinkle --pure
 *
 * Before: {
 *  var a = 5
 * }
 * Tests: {
 *  three -> factorial(3)
 *  twenty -> factorial(20)
 *  forty -> factorial(40)
 * }
 * Results: {
 *  three -> 6 in 1 ms  -- ✘ impure
 *  twenty -><PHONE_NUMBER>176640000 in 0 ms  -- ✔ pure
 *  forty -> 8.159152832478977e+47 in 0 ms  -- ✔ pure
 * }
 */

var s = 10

function factorial (n) {
  s = 11
  return (n == 1) ? 1 : factorial(n-1) * n
}
```

(the first call was impure, but the successive ones weren't because `s` was `11`
before and after they were called.)

For extensive limitations on purity in Javascript and this method of evaluating
purity, read [this](./WRITE-UP.md##purity-checking)

## Asynchronous Functions

Support for callbacks is handled with a `--callback` or `-c` flag.

```
/*
 * @crinkle --callback --optimized
 *
 * Tests: {
 *  basic -> asyncFn(10, cb)
 *  bigger -> asyncFn(100, fn)
 *  huge -> asyncFn(1000, hi)
 * }
 * Results: {
 *  basic -> 20 in 112 ms -- ✔ optimizable
 *  bigger -> 110 in 113 ms -- ✔ optimizable
 *  huge -> 1010 in 113 ms -- ✔ optimizable
 * }
 */
function asyncFn(num, fn) {
  setTimeout(() => {
    return fn(null, 10 + num)
  }, 100)
}
```

And promises with a `--promise` or `-p` flag.

```
/*
 * @crinkle --promise --optimized
 *
 * Tests: {
 *  basic -> promiseFn(10)
 *  bigger -> promiseFn(100)
 * }
 * Results: {
 *  basic -> 20 in 129 ms -- ✔ optimizable
 *  bigger -> 110 in 127 ms -- ✔ optimizable
 * }
 */
function promiseFn(num) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      return resolve(num + 10)
    }, 100)
  })
}
```

## Global Variable Before

Does your function depend on something in the global namespace? Include whatever
you'd like in a `Before:` block and you're good to go.

Note: any definitions part of the current file such as other function definitions
or `require` statements do not need to be specified in a `Before:` – this is ONLY
for statements that, aside from testing, should not be part of your actual
code execution.

```
/*
 * @crinkle --optimized
 *
 * Before: {
 *  var five = 5
 * }
 * Tests: {
 *  basic ->  addFive(3)
 *  bigger -> addFive(25)
 *  biggest -> addFive(100)
 * }
 * Results: {
 *  basic -> 8 in 0 ms -- ✘ un-optimizable
 *  bigger -> 30 in 0 ms -- ✘ un-optimizable
 *  biggest -> 105 in 0 ms -- ✘ un-optimizable
 * }
 */
function addFive (n) {
  return eval(`five + ${n}`)
}
```

Complicated test case input? Use a `Before:` block to load it from a file.

```
/*
 * @crinkle --optimized
 *
 * Before: {
 *  const obj = require('./test-data.json')
 * }
 * Tests: {
 *  t1 -> objIsBig(obj)
 * }
 * Results: {
 *  t1 -> true in 1 ms -- ✔ optimizable
 * }
 */
const objIsBig = obj => {
  return Object.keys(obj).length > 40
}
```

# Limitations
* Code must be able to run simply in a node environment without transpilation or
require hooks
* Use of the `--pure` flag requires the file's namespace be free of circular references
* See more limitations of the purity check in [WRITE-UP.md](./WRITE-UP.md)

# Half-Baked Plans

* Support for transpilation before execution
* Another command that takes all of the crank-inspector test cases and results
in the file and generates unit-tests.
* Collect information about the heap and memory usage.
* Collect information about the produced bytecode.
* Determine if any inline caches had to be discarded and suggest a fix.

repository: ben-pr-p/crinkle

repo_name: ben-pr-p/crinkle


text:
# Network Programmability Foundation

## Overview

This section of the exam topics focuses on the skills that will want to be very comfortable with before you can effectively study for the remaining, product-specific exam topics (in sections 2.0, 3.0, and 4.0).

In our exam preparation, we didn't spend a ton of dedicated time on the topics in this section because these particular topics are quite familiar to us from previous DevNet exam study work (DEVASC, ENAUTO, & DEVCOR), we help teach these topics in our free, ongoing, open-to-the-public [DevNet Study Group](https://www.wwt.com/community/cisco-devnet-study-groups "WWT DevNet Study Group Community"){target=_blank} meetings, and because we work with many of the topics, daily.

We do, however, remember exactly how we felt when these topics were new to us and we have plenty of resources to share.  Also, we included some general Ansible references that we found helpful in this section, since the exam topics in each of the subsequent sections have an Ansible automation element.

???+ note "Section 1.0 Topic Details"
    - 1.1 Utilize common version control operations with git: add, clone, push, commit, diff, branching, merging conflict
    - 1.2 Describe characteristics of API styles (REST and RPC)
    - 1.3 Describe the challenges encountered and patterns used when consuming APIs synchronously and asynchronously
    - 1.4 Interpret Python scripts containing data types, functions, classes, conditions, and looping
    - 1.5 Describe the benefits of Python virtual environments
    - 1.6 Explain the benefits of using network configuration tools such as Ansible and Puppet for automating data center platforms

---

## Resources

### :material-code-json: Cisco DevNet

??? abstract "Learning Labs"
    - [Introduction to DevNet Learning Path](https://developer.cisco.com/learning/tracks/devnet-beginner "Introduction to DevNet Learning Path"){target=_blank}
        - **Programming Fundamentals** Module, All Labs
        - **REST API Fundamentals** Module, All Labs

---

### Videos on Demand

#### :fontawesome-solid-laptop-code: WWT Digital Platform

??? abstract "Individual Topics"
    - [Version Control 101](https://www.wwt.com/video/introduction-to-version-control "Version Control 101"){target=_blank}

---

#### :fontawesome-solid-dollar-sign: Pluralsight

??? abstract "[Cisco Certified DevNet Associate Certification Path](https://www.pluralsight.com/paths/cisco-certified-devnet-associate-devasc-200-901 "Cisco Certified DevNet Associate Certification Path"){target=_blank}"
    - [Introduction to the Cisco Certified DevNet Associate Certification](https://www.pluralsight.com/courses/introduction-cisco-certified-devnet-associate-certification "Introduction to the Cisco Certified DevNet Associate Certification"){target=_blank}
    - [Getting Started with Software Development Using Cisco DevNet](https://www.pluralsight.com/courses/getting-started-software-development-cisco-devnet "Getting Started with Software Development Using Cisco DevNet"){target=_blank}
    - [Managing Cisco Networks via Infrastructure as Code](https://app.pluralsight.com/library/courses/managing-cisco-networks-infrastructure-as-code/table-of-contents "Managing Cisco Networks via Infrastructure as Code"){target=_blank}

??? abstract "Individual Courses"
    - [Provisioning and Managing Networks Using Common Automation Tools](https://www.pluralsight.com/courses/provisioning-managing-networks-common-automation-tools "Provisioning and Managing Networks Using Common Automation Tools"){target=_blank}

---

### :fontawesome-regular-keyboard: Hands-On Learning

??? abstract "Guided Walkthroughs"
    - [WWT Git Foundations Git Repository](https://wwt.github.io/git-foundations/ "WWT Git Foundations Git Repository"){target=_blank}
    - [WWT Docker Foundations Git Repository](https://wwt.github.io/docker-foundations/ "WWT Docker Foundations Git Repository"){target=_blank}

??? abstract "Hands-On Labs"
    - [WWT Programmability Foundations Lab](https://www.wwt.com/lab/programmability-foundations-lab "WWT Programmability Foundations Lab"){target=_blank}

??? abstract "Practice Tools"
    - [Git Visualizer](http://git-school.github.io/visualizing-git/ "Git Visualizer"){target=_blank}

---

## :material-file-document-outline: Documentation

??? abstract "Code Formatting"
    - [Code Beautifier Tool for JSON, XML, YAML, etc.](https://codebeautify.org "Code Beautifier Tool for JSON, XML, YAML, etc."){target=_blank}

??? abstract "Python"
    - [RealPython Virtual Environments Primer](https://realpython.com/python-virtual-environments-a-primer/ "RealPython Virtual Environments Primer"){target=_blank}
    - [RealPython Working With JSON Data in Python](https://realpython.com/python-json/#serializing-json "RealPython Working With JSON Data in Python"){target=_blank}

??? abstract "Ansible"
    - [Ansible Configuration Files](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#ansible-configuration-settings-locations "Ansible Configuration Files"){target=_blank}
    - [Ansible Inventory](https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html){target=_blank}
    - [Ansible Variables](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html "Ansible Variables"){target=_blank}

---

## :fontawesome-solid-lightbulb: Insights

- Force yourself to use the skills you learn in this section frequently as you study the remaining exam topic sections.  Lots of repetition will help you build and retain these skills and we think it is important that these skills be second-nature to you, as you prepare for a certification exam.

- The Cisco DevNet learning labs and WWT guided walkthroughs are excellent, repeatable learning tools which present you content in small chunks.  You can repeat any or all of this content as many times as you like.

- Our favorite resource to learn this material is Pluralsight.  The author of the courses we recommend, Nick Russo, does an absolutely fantastic job of explaining core concepts in a way that we could easily consume.  Yes, Pluralsight is a paid resource and we have our own subscriptions.  In our opinion, the monthly cost is well worth the price.

---

## On to Section 2.0

:thumbsup:  Nice work on the foundational topics!  Keep up the good work and click [this link](section_2.md "Section 2.0") to check out **Section 2.0** exam topics and resources.

repository: aearrudacisco/dcauto-study-resources

repo_name: aearrudacisco/dcauto-study-resources


text:
SurfStack WAMP
==============
Welcome! You've stumbled upon one of the quickest ways to get a full HTML and
PHP web development environment up and running in seconds on a Windows machine.

No installation required. Just download, extract, and run SSWamp.exe to gain
access to the most widely used applications on the web.

You deserve a suite of tools that works as efficiently as you do so we've
designed a rock solid environment for use on your next endeavour.

Screenshots are available in the [Wiki](https://github.com/josephspurrier/surfstack-wamp/wiki/SurfStack-WAMP-Screenshots).

SurfStack WAMP allows HTML websites and PHP applications to run on a Windows
computer. SurfStack WAMP is a package of open source software that includes:
- Apache v2.4.7 (Web Server)
- Nginx v1.4.4 (Web Server)
- MySQL v5.6.15 (Database)
- MongoDB v2.4.8 (Database)
- PHP TS and NTS v5.5.7 (Web Language)
- Memcached v1.2.6 (Object Caching System)
- Adminer v4.0.3 (Database Manager)
- Subversion v1.8.5 (Version Control System)
- msysGit Net Install v1.9.0 (Version Control System)

One-click setup of popular PHP tools:
- Composer
- PHPUnit
- PEAR
- phpDocumentor

Download
------------
The latest release is [v1.0.7](https://github.com/josephspurrier/surfstack-wamp/releases/tag/1.0.7) (2014/04/11).

The repository does not contain any binaries. Be sure to download the latest
release which includes the binaries for Apache, PHP, etc.

Instructions
------------
1. Extract the contents to any folder
2. Run SSWamp.exe
3. Place a check next to each server you want to start
4. Click Turn On
5. Test the configuration by clicking Browse HTTP

Popular Application Testing (Drupal, WordPress, SQL Buddy, phpMyAdmin, etc.)
----------------------------------------------------------------------------
1. Download the files from Drupal or WordPress
2. Delete the file: \webroot\localhost\public\index.php
3. Extract the Drupal or WordPress files to the \webroot\localhost\public directory
4. Run SSWamp.exe
5. Place a check next to the Apache and MySQL options
6. Click Turn On
7. Test the configuration by clicking Browse HTTP

Default MySQL Database Settings
-------------------------------
- Database Name: test
- Username: root
- Password: (blank)

Folders
-------
- \amp\app: contains binaries for applications
- \amp\config: contains custom configurations for the applications
- \amp\doc: contains CHANGELOG, LICENSE, README
- \amp\src: contains C# source code for SSWamp.exe
- \webroot\localhost\public: default location for all web files

Notes
-----
- MySQL binaries are unmodified, but exclude files to make the distribution smaller
- Nginx binaries are unmodified
- PHP binaries are unmodified, but exclude files to make the distribution smaller
- Apache binaries are unmodified, but exclude files to make the distribution smaller

Compatibility
-------------
- The \amp\app folder holds official binaries so the contents of each folder
can be replaced with binaries downloaded from original vendor (manually
configuration may need to take place after replacing the files)
- The \amp\config folder holds custom configurations for the applications
- Each configuration has variables which are replaced by values provided by
SSWamp.exe
- Any changes made to the configurations will apply the next time MySQL, Nginx,
PHP, Apache are started

Technical Notes
---------------
- Nginx uses a highly dynamic configuration which supports multiple websites

Website Simulation
------------------
To resolve any domain like www.example.com on your local system, add the domain
name to your system hosts file:

1. Copy C:\windows\system32\drivers\etc\hosts to your desktop
2. Open the hosts file in Notepad
3. Add the following lines to the bottom of the hosts file:
4. <IP_ADDRESS>  example.com
5. <IP_ADDRESS>  www.example.com
6. Save the modified hosts file
7. Copy the modified hosts file back to: C:\windows\system32\drivers\etc\hosts
8. Close your web browser if open
9. Run SSWamp.exe
10. Place a check next to the Apache option
11. Click Turn On
12. Test the configuration by opening your web browser to: http://example.com

Quick Solutions
---------------
- Unblock all files on Windows Vista or Windows 7 if prompted
- Allow Apache, Nginx, MySQL, MongoDB, Memcached, and SSWamp.exe through the
firewall if prompted

repository: achoy/surfstack-wamp

repo_name: achoy/surfstack-wamp


text:
---
layout: default
title: LDF Parser - Frames
---

## Using frames

### Retrieving frame information

After parsing the LDF into objects the properties of frames defined in the LDF
will be accessible.

```python
ldf = parseLDF('network.ldf')

lsm_frame1 = ldf.frame('LSM_Frm1')
print(lsm_frame1.frame_id)
>>> 2
print(lsm_frame1.name)
>>> 'LSM_Frm1'
print(lsm_frame1.length)
>>> 2
print(lsm_frame1.publisher)
>>> LinSlave(..)
```

---

### Encoding frames

Encoding is the process of the converting the provided LIN Signals into a
complete frame.

When encoding there are two options, you can encode raw values
and pack them into a frame, or alternatively you can pass the logical values
through the signal encoders before packing.

```python
ldf = parseLDF('network.ldf')

lsm_frame1 = ldf.frame('LSM_Frm1')
encoded_frame = lsm_frame1.raw(
    {'LeftIntLightsSwitch': 100}
)
```

When encoding through signal encoders you have to pass a list of value converters,
you can either provide a custom map or pass the one provided by the LDF object.

```python
ldf = parseLDF('network.ldf')

lsm_frame1 = ldf.frame('LSM_Frm1')
encoded_frame = lsm_frame1.data(
    {'LeftIntLightsSwitch': 'Off'},
    ldf.converters
)
```

---

### Decoding frames

Decoding is the process of unpacking a LIN frame into the signal values.

Similarly to encoding, you can decode frames into raw signal values or decode
them through the signal encoders.

```python
ldf = parseLDF('network.ldf')

lsm_frame1 = ldf.frame('LSM_Frm1')
decoded_frame = lsm_frame1.parse_raw(bytearray([0x00]))
```

When decoding through signal encoders you have to pass a list of value converters,
you can either provide a custom map or pass the one provided by the LDF object.

```python
ldf = parseLDF('network.ldf')

lsm_frame1 = ldf.frame('LSM_Frm1')
decoded_frame = lsm_frame1.parse(bytearray([0x00]), ldf.converters)
```

repository: raghavendarvattipally/ldfparser

repo_name: raghavendarvattipally/ldfparser


text:
# Flattening a Linked List

## Given a linked list where every node represents a linked list and contains two pointers of its type

```txt
(i) Pointer to next node in the main list (we call it ‘right’ pointer in below code)
(ii) Pointer to a linked list where this node is head (we call it ‘down’ pointer in below code).
All linked lists are sorted. See the following example

       5 -> 10 -> 19 -> 28
       |    |     |     |
       V    V     V     V
       7    20    22    35
       |          |     |
       V          V     V
       8          50    40
       |                |
       V                V
       30               45
```

## Write a function flatten() to flatten the lists into a single linked list. The flattened linked list should also be sorted. For example, for the above input list, output list should be 5->7->8->10->19->20->22->28->30->35->40->45->50

https://www.geeksforgeeks.org/flattening-a-linked-list/

repository: abhaydhiman/Pyalgo

repo_name: abhaydhiman/Pyalgo


text:
# Challenge Summary
Write a function that, given a 2D array and coordinates, "flood fills" the image with a new color.

## Challenge Description
- Given a 2D array with integers. Coordinates are also given as integers.
- New color is also an integer. Change the 'color' at the coordinates to the new color (one integer to the new integer).
- Also change all adjacent 'pixels' next to the starting coordinate to the new color, if the adjacent pixels are of the same color as the starting integer.
- Continue to change all adjacent pixels to the changed pixels, until all the adjacent pixels of the same color are changed.

## Approach & Efficiency
- Depth first search: O(n) time, as we may have to search every single pixel, O(n) space, as call stack may be the total number of pixels if each pixel must be changed.

## Solution
Final solution has been changed from original whiteboard solution.
![Whiteboard](../../assets/flood_fill.jpg)


text:
# USE CASE: 3 Produce a report on the top N populated countries (categorized by the world, their region, their continent) where N is provided by the user

## CHARACTERISTIC INFORMATION

### Goal in Context

As a *user*, I want to be able to produce a report on the top N populated countries (categorized by the world, their region, their continent) where N is provided by the user so that the exact number of countries on the top of the list can be extracted.

### Scope

Organisation.

### Level

Primary Task.

### Preconditions

Database contains information about the countries.

### Success End Condition

A report is available for users.

### Failed End Condition

No report is produced (or) the system produces a false report.

### Primary Actor

User

### Triggers

A request for countries information is sent to the user.
The user needs the report for work.

## MAIN SUCCESS SCENARIO

1. A request for top *N* populated countries information is sent to the user.
2. The user captures parameter (e.g. region, continent, the world) and top *N* populated countries to produce the report.
3. The user extracts information of the countries based on the given parameter and *N*.
4. The report is produced.

## EXTENSIONS

3. **Parameter doesn't exist**

## SUB-VARIATIONS

none

## SCHEDULE

**DUE DATE**: Release version-0.1-alpha-0.6

gha_language: TSQL


text:
# Contact form PHP - Telegram Bot
![](https://i.imgur.com/b1kWUB7.gif)

PHP Form contact to Telegram Bot based on the official [Telegram Bot API](https://core.telegram.org/bots/api "Telegram Bot API")

## Instructions
1. Message [@BotFather](https://telegram.me/BotFather "@BotFather") with the following text: `/newbot`

	![](https://i.imgur.com/mLRQFoP.gif)

	[@BotFather](https://telegram.me/BotFather "@BotFather") replie:
	> Alright, a new bot. How are we going to call it? Please choose a name for your bot.

	Continue with the next steps *(look at the image above)*:
	- Assign a name
	- Continue with the username finished in _bot that is available. example: `juantest_bot `

2. Once the previous steps have been carried out, [@BotFather](https://telegram.me/BotFather "@BotFather") responds with its respective **HTTP TOKEN API.**

3. Save your respective **HTTP TOKEN API **

4. Insert your TOKEN

	```php
	<?php
	date_default_timezone_set('America/Bogota');

	# Enter your **token** here:
	define('BOT_TOKEN', '**API-KEY**');
	define('API_URL', 'https://api.telegram.org/bot'.BOT_TOKEN.'/'); #Do not modify
	```

5. Next we have to know our telegram ID, there are different ways to do it. I recommend knowing, through this bot. It is much faster. [GET ID - TELEGRAM](https://telegram.me/get_id_bot "GET ID - TELEGRAM")

6. Already obtained our ID. We go to the code and put our ID
	```php
	# Enter your Telegram ID here:
	define('TLG_ID', 'YOUR-ID');
	```

repository: SrDri/contact-php-telegram-bot

repo_name: SrDri/contact-php-telegram-bot


text:
# A6 - Copy-on-write mapping
We map a file in memory (RAM) using three different methods: One of them being Copy-on-write (COW).

Copy on write will not transfer the actual data until an actual write request is made.

"Aangezien de file initieel gevuld wordt met gegevens vanaf locatie 0 en vanaf locatie 8192, neemt de file minstens 2 pages in beslag. Daardoor is duidelijk het effect van COW waar te nemen: bij een update van de Copy-on-Write mapping, wordt enkel de gewijzigde pagina gecopieerd; van de ongewijzigde pagina is er nog altijd maar één copy aanwezig. Tot op het ogenblik dat ook van de tweede pagina een update gebeurt in de COW mapping."

```java
public class CopyOnWrite
{
    public static void main(String[] argv) throws Exception
    {
        // create a temp file and get a channel connected to it
        File tempFile = File.createTempFile("mmaptest", null);
        RandomAccessFile file = new RandomAccessFile(tempFile, "rw");
        FileChannel channel = file.getChannel();
        ByteBuffer buffer = ByteBuffer.allocate(100);

        // put something in the file, starting at location 0
        buffer.put("This is the file content".getBytes());
        buffer.flip();
        channel.write(buffer, 0);

        // put some more in the file, starting at location 8192
        buffer.clear();
        buffer.put("This is more file content".getBytes());
        buffer.flip();
        channel.write(buffer, 8192);

        // create three types of mappings to the same file
        MappedByteBuffer ro = channel.map(
                FileChannel.MapMode.READ_ONLY, 0, channel.size());//read-only mapping
        MappedByteBuffer rw = channel.map(
                FileChannel.MapMode.READ_WRITE, 0, channel.size());//read-write mapping
        MappedByteBuffer cow = channel.map(
                FileChannel.MapMode.PRIVATE, 0, channel.size());//private mapping: COW

        // show buffers before any modifications
        System.out.println("Begin");
        showBuffers(ro, rw, cow);
/**
Begin
R/O: 'This is the file content | [8168 nulls] | This is more file content'
R/W: 'This is the file content | [8168 nulls] | This is more file content'
COW: 'This is the file content | [8168 nulls] | This is more file content'
**/

        // modify the Copy-On-Write buffer
        cow.position(8);
        cow.put("COW".getBytes());
        System.out.println("Change to COW buffer");
        showBuffers(ro, rw, cow);
//The first page is copied over, the second page remains linked
/**
Change to COW buffer
R/O: 'This is the file content | [8168 nulls] | This is more file content'
R/W: 'This is the file content | [8168 nulls] | This is more file content'
COW: 'This is COW file content | [8168 nulls] | This is more file content'
**/

        // modify the Read/Write buffer
        rw.position(8);
        rw.put("R/W ".getBytes());
        rw.position(8205);
        rw.put(" R/W ".getBytes());
        rw.force();
        System.out.println("Change to R/W buffer");
        showBuffers(ro, rw, cow);
//Proof that the second page is still linked:
/**
Change to R/W buffer
R/O: 'This is R/W file content | [8168 nulls] | This is more  R/W content'
R/W: 'This is R/W file content | [8168 nulls] | This is more  R/W content'
COW: 'This is COW file content | [8168 nulls] | This is more  R/W content'
**/
        // modify the Copy-On-Write buffer again
        cow.position(8205);
        cow.put(" COW ".getBytes());
        System.out.println("Second change to COW buffer");
        showBuffers(ro, rw, cow);
//Now the second page is also copied-on-write and is no longer linked to the original file

/**
Second change to COW buffer
R/O: 'This is R/W file content | [8168 nulls] | This is more  R/W content'
R/W: 'This is R/W file content | [8168 nulls] | This is more  R/W content'
COW: 'This is COW file content | [8168 nulls] | This is more  COW content'
**/

        // modify the Read/Write buffer again
        rw.position(0);
        rw.put(" R/W2 ".getBytes());
        rw.position(8210);
        rw.put(" R/W2 ".getBytes());
        rw.force();
        System.out.println("Second change to R/W buffer");
        showBuffers(ro, rw, cow);
//Proof that the COW buffer is no longer linked:
/**
Second change to R/W buffer
R/O: ' R/W2 s R/W file content | [8168 nulls] | This is more  R/W  R/W2 t'
R/W: ' R/W2 s R/W file content | [8168 nulls] | This is more  R/W  R/W2 t'
COW: 'This is COW file content | [8168 nulls] | This is more  COW content'
**/

/**
By adding the following code we can show that there are still links in the internal nulls
        rw.position(5000);
        rw.put(" R/W3 ".getBytes());
        rw.force();
        System.out.println("Second change to R/W buffer");
        showBuffers(ro, rw, cow);
If the position was fe. 1000, the cow buffer would probably not contain this R/W3 because this page was already copied.
**/
        // cleanup
        channel.close();
        file.close();
        tempFile.delete();
    }

    // show the current content of the three buffers
    public static void showBuffers(ByteBuffer ro, ByteBuffer rw, ByteBuffer cow)
            throws Exception
    {
        dumpBuffer("R/O", ro);
        dumpBuffer("R/W", rw);
        dumpBuffer("COW", cow);
        System.out.println("");
    }

    // dump buffer content, counting and skipping nulls
    public static void dumpBuffer(String prefix, ByteBuffer buffer) throws Exception
    {
        System.out.print(prefix + ": '");

        int nulls = 0;
        int limit = buffer.limit();

        for(int i = 0; i < limit; i++)
        {
            char c =(char) buffer.get(i);

            if(c == '\u0000')
            {
                nulls++;
                continue;
            }

            if(nulls != 0)
            {
                System.out.print(" | [" + nulls + " nulls] | ");
                nulls = 0;
            }
            System.out.print(c);
        }
        System.out.println("'");
    }
}

```

repository: toonsevrin/Systemsoftware

repo_name: toonsevrin/Systemsoftware


text:
---
title: External repositories within your GitHub page
---
Using git submodules you can include external repositories into your repository.
I'm using this technique to include demos of some of my projects into my GitHub page.
Here's a quick overview on how to manage this.

> Make sure you use the <samp>https://</samp> read-only URL for your submodules, including nested submodules. You can make this change in your *.gitmodules* file.
> Submodules must also be served from public repositories, as the Pages server cannot access private repositories.
> <cite>[GitHub Help: Using submodules in pages](https://help.github.com/articles/using-submodules-with-pages)</cite>

Add a submodule in `demo/` directory:

```bash
git submodule add https://github.com/user/repo.git demo/repo
```

Update all submodules:

```bash
git submodule foreach git pull origin master
```

More info:
- [Git Docs: Submodules](http://git-scm.com/book/en/Git-Tools-Submodules)
- [Stackoverflow: Update git submodules](http://stackoverflow.com/a/5828396/962027)


text:
# BankID Wrapper
A spring boot wrapper for swedish bank-id Api V5

##### Requirements:
- Java10
- Test BankID
- Maven

##### Run:
start the servie with:
` mvn spring-boot:run
`

Once the app has started navigate to:<br />
`http://localhost:8080/swagger-ui.html
`

##### Notes:
* Only test server is implements in this version and tested against
file version of BankID

repository: rastitalabani/bankid-wrapper

repo_name: rastitalabani/bankid-wrapper


text:
---
title: toc-app-running-gpx
tags: [app, gpx, running, toc]
created: 2022-02-23T18:57:58.521Z
modified: 2022-02-23T18:59:51.587Z
---

# toc-app-running-gpx

# guide
- 导出nike run club的数据
  - [n+exporter](https://nexporter.bullrox.net/)
  - 支持导出gpx和tcx，部分数据只有tcx而没有gpx格式
  - 支持直接将数据上传到 strava和runkeeper

- nike问题数据记录，由tcx转换得到的pgx经纬度全为0，需要寻找新的有效的转换工具
  - 20170114.gpx
  - 20170110.gpx
  - 20170107.gpx
  - 20161004-0.3km.gpx
  - 20160902-3km.gpx
  - 20160904.gpx
  - 20160822.gpx
# popular
- https://github.com/erik/derive
  - https://erik.github.io/derive/
  - Generate a heatmap from GPS tracks.
  - No data is ever uploaded, everything is done client side.

- https://github.com/gpxstudio/gpxstudio.github.io
  - https://gpx.studio/
  - The online GPX file editor

- https://github.com/yihong0618/running_page
  - https://running-page.vercel.app/
  - Make your own running home page
  - GitHub Actions manages automatic synchronization of runs and generation of new pages.
  - Gatsby-generated static pages, fast
  - Support for Vercel (recommended) and GitHub Pages automated deployment
  - Mapbox for map display
  - Supports most sports apps such as nike strava...
  - If you don't want to make the data public, you can choose strava's fuzzy processing, or private repositories.
# utils for gpx/fit
- https://github.com/sports-alliance/sports-lib
  - Sports Lib tries to achieve a common domain model and lib for sport activity formats such as GPX, TCX, FIT and other popular formats.
  - Currently the support is limited to the main formats: GPX, TCX, FIT and JSON*
  - 提供了转换示例
    - Example converting a FIT file to GPX

- https://github.com/mapbox/togeojson
  - converts KML & GPX to GeoJSON, in a browser or with Node.js.
  - Dependency-free

- https://github.com/Luuka/GPXParser.js
  - parse .gpx file and get or compute various data

- https://github.com/stefanocudini/gpx-simplify-optimizer
  - Online Simplifier and Optimizer for GPX / GeoJSON / KML tracks.

- https://github.com/mpetazzoni/leaflet-gpx
  - allows for the analysis and parsing of a GPX track in order to display it as a Leaflet map layer

- https://github.com/tumic0/GPXSee
  - https://www.gpxsee.org/
  - GPS log file viewer and analyzer with support for GPX, TCX, KML, FIT, IGC, NMEA, SLF, SML, LOC, GPI, GeoJSON and OziExplorer files.
# running
- https://github.com/flopp/GpxTrackPoster
  - Create a visually appealing poster from your GPX tracks

- https://github.com/jedie/django-for-runners
  - Store your GPX tracks of your running (or other sports activity) in django.
# more-repos